|
|
# CSAN
|
|
|
|
|
|
## Auteurs
|
|
|
|
|
|
* Alexandre Dehne Garcia
|
|
|
* Remy Dernat
|
|
|
* Jérôme Pansanel
|
|
|
* Richard Randriatoamanana
|
|
|
* Martin Souchal
|
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
Le but du projet CSAN (Comprehensive Software Archive Network) est de proposer à la communauté de la recherche et de l'enseignement supérieur un catalogue d'applications scientifiques prêtes à l'emploi et optimisées pour les mésocentres Français. Le projet est composé d'une vingtaine de membres issus de divers instituts de l'ESR et de mésocentres.
|
|
|
|
|
|
Dans le cadre de leurs analyses/simulations, les chercheurs et ingénieurs sont souvent obligés d’installer manuellement les programmes dont ils ont besoin. Les sources de ces programmes se trouvent dans une forêt de sites web ou de dépôts publics et privés. Quelques programmes sont packagés via des outils (comme Brew, Conda, Guix, etc) facilitant leur installation. Mais cette diversité d’outils ajoute finalement des difficultés pour les utilisateurs et du travail supplémentaire pour les équipes de développement qui doivent se soumettre aux exigences diverses de ces outils et au suivi sans fin de leurs dernières versions au risque de laisser des brèches de sécurité et de négliger l’optimisation des codes. Cette étape chronophage fait que chaque programme supporte rarement plus de deux outils de packaging. Bien entendu, ce packaging peut être fait par de tierces personnes. Les programmes peuvent également être mis à disposition via des conteneurs sur des "Marketplace". Se pose alors un problème de qualité et de sécurité de ces solutions.
|
|
|
|
|
|
Ces problèmes sont bien connus depuis des années par la communauté informatique. Une solution éprouvée réside dans les Comprehensive Network Archive (CPAN pour Perl, CTAN pour Tex ou CRAN pour R). Dans ce contexte, une nouvelle archive, la Comprehensive Software Network Archive (CSAN), pourrait émerger. Cette proposition part du constat que les applications scientifiques dans les différents mésocentres sont souvent les mêmes selon les secteurs (bio-info, physique, etc.). Le CSAN permettra aux auteurs de logiciels d’y déposer les releases de leurs sources (ou de pointer vers des dépôts versionnés), charge alors au groupe d’experts de CSAN de traiter ce code, via des méthodes d’intégration et de développement continu, afin de le rendre accessible et installable sans effort sur différents systèmes d’exploitation (Linux, Mac et Windows).
|
|
|
Pour construire cette nouvelle archive, celle-ci doit se baser sur un système de conteneurisation (Singularity ou Docker par exemple) et un outil de packaging (Guix ou Nix par exemple). En effet, la conteneurisation seule ne peut apporter le principe reproductibilité indispensable dans la science. Le choix d’un outil de packaging comme Guix est donc motivé par le fait qu’il est l’un des rares à répondre au besoin de reproductibilité. Concernant Singularity, nous avons pu voir qu’il est à ce jour la technologie de conteneurisation la plus répandue dans le monde des sciences et du HPC.
|
|
|
|
|
|
L’archive CSAN pourra se présenter sous la forme d’un portail de catalogue d’applications dont chaque version renseigne des spécifications matérielles et logicielles (options de compilation, type de processeur, etc...) ainsi que les coordonnées d’un ou des mainteneur·s et toutes les sources et recettes pour reproduire le package de zéro. Les paquets pourront être consultés et évalués via une plateforme web et un "Hub" (type Docker ou Sregistry). Chaque paquet du catalogue devra être testé et validé par un groupe d’experts composé d’un ou plusieurs référents scientifiques et techniques de manière à proposer à la communauté des applications vérifiées et validées dans des environnements de calcul scientifique identifiés.
|
|
|
|
|
|
Un premier démonstrateur basé sur le logiciel "Harbor" a été mis en place, il propose d'ores et déjà le partage de conteneurs entre utilisateurs et équipes informatiques. Il est accessible à l'adresse https://apccsan.in2p3.fr. Un premier partenariat a été conclu avec le Mésocentre de Montpellier pour l'hébergement du service.
|
|
|
|
|
|
Le portail CSAN offrira donc un service stratégique aux développeurs, aux utilisateurs finaux et aux administrateurs système. Ce service permettra d’aboutir à un gain de temps substantiel pour tous. Il permettra aussi une meilleure diffusion des logiciels produits tout en favorisant la notion de reproductibilité et de partage dans la communauté.
|
|
|
|
|
|
## Partenaires
|
|
|
|
|
|
* CNRS (IN2P3 - INS2I)
|
|
|
* INRAE
|
|
|
* Mésocentre de Montpellier
|
|
|
* Université de Montpellier
|
|
|
* IFB
|
|
|
* Guix |