Du Lundi 11/03/2024 14:00 au Mardi 12/03/2024 17:00
Développement open source: Simplifions-nous la vie !
Le développement de logiciels open source en simulation numérique prend une part de plus en plus importante dans le processus de recherche. Il permet de valider les méthodes numériques, de développer de nouveaux algorithmes et de permettre à n’importe qui de s’approprier les méthodes et de les enrichir. Ouvrir nos codes de recherche fait également partie de la démarche de science ouverte et il ne s’agit pas de “juste” mettre une archive avec les sources sur une page web.
La philosophie et la structure d’un logiciel émanent de ses précurseurs et évoluent avec le temps au fil des différentes contributions. Néanmoins, pour que cette architecture ne s’effondre pas au moindre changement, un cadre est nécessaire. La mise en place d’un tel cadre est une contrainte. Il s’agit d’accompagner les contributeurs dans ces nouvelles pratiques et de trouver le compromis entre cadre contraignant et laisser libre cours à la créativité.
Lors du processus de développement, de nombreuses tâches sont répétitives et peuvent être source d’erreurs ou de régressions de l’application. On peut parler ici des tests unitaires, mais également du formatage de code, des erreurs pouvant être révélées lors de l’analyse statique, de la génération de la documentation, de la création de nouvelles versions avec la distribution de l’application via des systèmes de packaging (pypi, conda, vcpkg, spack, nix, guix, …).
La première demi-journée sera dédiée à la définition de ce qui fait qu'un logiciel est de qualité, visible et pérenne. Il s'agira d'identifier les actions à mettre en oeuvre pour obtenir un tel logiciel ainsi que les freins qui empêchent d'y parvenir. La seconde journée sera plus en mode TP où il sera proposé aux participants de manipuler les github actions pour l’automatisation de ces tâches répétitives. La mise en place et l'exécution d'un processus similaire sur un serveur gitlab couplée à une infrastructure d'exécution de tests seront également proposés sous forme de démonstration.
Objectifs
- Améliorer et sécuriser son processus de développement
- Diffuser son travail de manière semi automatique et l’ouvrir au plus grand nombre
- Comprendre le fonctionnement de github actions
- Acquérir une autonomie pour mettre en place ses propres workflows
Pré-requis
- Connaissance de base de l'utilisation de git
- Un compte sur github
Mercredi 13 mars 9:00 à 17:00
Mercredi matin : session Calcul-Mathrice
Renforcer les liens entre ASR et Calcul
La plupart des laboratoires de mathématiques ont au moins un ou une ITA ASR et un ou une ingénieure calcul. Ces deux métiers ont un lien fort avec l'informatique allant de l'installation et l'utilisation de logiciels ou de services, à l'usage de la programmation, à la création de logiciels en passant par la mise en place d'infrastrucures de type cloud ou cluster de calcul. Même si ils ont leurs spécificités propres, il n'en reste pas moins que ces deux métiers ont des intérêts communs. Deux entités du CNRS accompagnent les communautés ASR et Calcul et favorisent, entre autres, les échanges et la montée en compétence: Mathrice pour les ASR et le Groupe Calcul pour les ingénieures et ingénieurs calcul.
Nous proposons dans cet atelier de réfléchir collectivement à la spécificité de chacun de ces métiers, d'identifier les intersections et les interactions possibles. Nous ferons ensuite un état des lieux de l'existant et nous réfléchirons ensemble à comment renforcer les liens entres ces deux communautés.
Mercredi après-midi : session Calcul-Mathrice-RNBM
- Introduction : présentation des 3 réseaux Calcul, Mathrice, RNBM : ce qu’on fait + la façon dont on s’organise (15 mn par réseau = 45 mn)
- Software Heritage et HAL : référencement de codes (1h)
- Visibilité sur les pages des laboratoires des publications et autres produits de recherche : codes et données (1h)
- Droits d'auteurs et licences sur les logiciels et les données (1h)
A noter que la direction de l'INSMI sera présente Jeudi matin. C'est l'occasion de rencontrer Christophe Delaunay en particulier si vous êtes dans un laboratoire de maths.