Les logiciels principalement utilisés à Lyon par l’expérience Eros – outre le C/C++ standard – sont Java et Python.
Python
Python est géré par le Centre. Les versions disponibles sont la 2.7.5 et la 3.6.8.
La commande python correspond à la version 2.7.5. La version 3.6.8 est accessible via la commande python3. C’est un peu bizarre mais c’est peut-être standard.
Il convient de rappeler que les versions 2 et 3 sont réputées incompatibles – pour de sombres raisons de conversion de type dans des opérations numériques – je crois que le problème est particulièrement sensible lors de divisions impliquant des entiers.
Java
Java est plus ou moins en déshérence au CC depuis les origines. La version installée en standard est la 1.8.
Pour cette raison, Java est géré depuis fort longtemps directement par les expériences. L’environnement est installé dans /sps/eros/softs/Java. La version installée est la version Open JDK 16, qui offre différents avantages programmatiques et est supposée plus efficace.
Java 16 est accessible grâce au script /sps/eros/softs/Java/setup.sh
Ce script doit être « sourcé » puisqu’il doit définir des variables d’environnement au niveau du processus de l’utilisateur.
La définition du contexte Java est supportée pour Bash et les différentes mouvances de Sh :
source /sps/eros/softs/Java/setup.sh
ou
. /sps/eros/softs/Java/setup.sh
L’opérateur « . » est l’équivalent « officiel » de source. Sous certaines versions de Linux, il est imposé. Autant s’y habituer …
ErosDb
L’environnement ErosDb utilise Java 16 et le définit automatiquement. Il définit également l’environnement Irods.
Pour mémoire, ErosDb existe sous deux formes à Lyon. La version II a été mise en place pour les migrations de masse des données Eros 2 vers Irods. Elle contenait des applications destinées aux opérations en batch et assez peu d’outils pour les utilisateurs – souvent dans un état assez basique (les outils bien sûr…)
La version III est plus orientée utilisateur – les grandes migrations étant terminées. Cette version reprend les principaux outils de la version II avec plus de possibilités. En particulier, la version III supporte les nouveaux entêtes FITS astronomiques calés par Jean-Baptiste et les images et suivis Eros 1 CCD. Elle propose également des outils donnant accès aux suivis Eros 2 et Eros 1 CCD.
Les versions II et III sont disponibles dans /sps/eros/softs. Le contexte d’utilisation doit être défini par l’invocation du script setup.sh. Ce script permet de choisir le numéro de version du logiciel soit en indiquant son numéro, soit en utilisant les alias old, pro, ou new – l’alias dev existe également pour la version III mais n’est pas recommandé.
La version par défaut est pro.
Le script est disponible pour Bash et ses variantes et doit être « sourcé ».
Afin de préparer l’abandon de la version II, un alias a été mis en place sous le nom ErosDb. Cet alias pointe sur la version III mais ne supporte que old, pro et new.
Exemples de définition du contexte
source /sps/eros/softs/ErosDb/setup.sh
ou pour accéder à la version new.
source /sps/eros/softs/ErosDb/setup.sh new
Configuration Irods et Oracle
ErosDb utilise intensivement Irods et la base de données Oracle.
L’accès à ces environnements est protégé par des droits d’accès. Le site web ErosDb explique comment configurés les accès pour permettre leur accès via ErosDb.
- configuration générale Irods : http://eros.lal.in2p3.fr/ErosDB/ErosDb/erosdb-configuration/#parametres-dacces-a-irods
- configuration Irods pour ErosDb : http://eros.lal.in2p3.fr/ErosDB/ErosDb/erosdb-configuration/#declaration-irods-pour-erosdb
- configuration de la base de données pour ErosDb : http://eros.lal.in2p3.fr/ErosDB/ErosDb/erosdb-configuration/#acces-a-la-base-de-donnees
Groovy
Groovy est un langage de scripting basé sur la machine virtuelle Java. L’interpréteur Groovy génère du bytecode exécuté par la Machine Virtuelle Java. Comme il s’agit d’un langage de scripting, le cycle de développement est plus court. Et comme le code généré s’appuie sur la JVM, les scripts ont accès à toutes les librairies Java – dont les librairies du projet ErosDb.
La version 3.0.8 de Groovy est installée dans /sps/eros/softs/Groovy. Le contexte d’utilisation doit être défini par l’invocation du script setup.sh qui doit être « sourcé ». Le script erosdb_setup.sh définit Groovy et intègre les librairies ErosDb.
Ces scripts définissent automatiquement l’environnement Java Open JDK 16.
Le point Wikipédia
Machine virtuelle Java : elle n’est pas spécifique au langage Java et de nombreux développeurs l’utilisent pour faire tourner des programmes écrits dans bien d’autres langages que Java (Scala, Groovy, Jython, JRuby, Kotlin, Clojure…). Dans ce cas, un compilateur spécifique traduit les fichiers sources rédigés dans un de ces langages et produit un fichier .class, lequel pourra être exécuté dans une machine virtuelle Java (JVM).
WCS Tools
Pour mémoire, les outils WCS Tools sont installés à Lyon dans /sps/eros/softs/wcstools. Comme pour les autres environnements, le contexte d’utilisation est défini par un script setup.sh qui doit être « sourcé ».