Orateurs
Description
Il existe une grande diversité parmi les auteurs de logiciels dans nos instituts : scientifiques, chercheurs, électroniciens, ingénieurs logiciel, etc. Même au sein du corps des ingénieurs informaticiens, les spécialités sont très pointues et nombreuses : expert en calcul, développement web, contrôle-commande, acquisition de données, systèmes embarqués, science des données, apprentissage automatique... Chaque discipline a des besoins spécifiques et utilise souvent des outils dédiés, indispensables à ses activités. Les problèmes apparaissent lorsque les différentes disciplines doivent collaborer pour développer la suite logicielle complète d'un détecteur : outils redondants ou incompatibles, fonctionnalités dupliquées, conversions en cascade pour s'adapter à différents formats... Ces problèmes nuisent considérablement à la portée des logiciels produits : ils limitent la taille des communautés qui les développent et les utilisent, et entravent les utilisations transverses des solutions produites.
Aujourd'hui, des solutions existent pour permettre à chacun de travailler avec ses outils de prédilection, tout en standardisant les pratiques de développement et en assurant une livraison homogène des logiciels afin de faciliter la collaboration. La présentation couvrira l'ensemble de la chaîne de production logicielle, de l'architecture logicielle et la gestion des interfaces à l'intégration et la livraison continue. Grâce au gestionnaire de paquets Pixi et à l'intégration continue de GitLab, nous verrons comment, partant d'un prototype unique, faire émerger un écosystème de solutions utilisant plusieurs technologies, sans imposer de contraintes aux utilisateurs. Nous prendrons pour exemples les bibliothèques Phoenix et l'école Gray Scott, qui illustrent concrètement la mise en place de ces pratiques.