Codes, algorithmes, logiciels et calculs

Les données ne constituent pas les seuls résultats de recherche pour lesquels une gestion anticipée doit être mise en place. En tant que produits de recherche à part entière et en raison de leur importance dans le traitement informatisé et, par extension, dans l'analyse, le partage ou encore la valorisation des données, il est en effet important de planifier la gestion des codes, algorithmes, logiciels et calculs développés ou mobilisés dans le cadre des projets de recherche, particulièrement pour assurer la reproductibilité de la recherche.


Les ressources sélectionnées par l’équipe de CoDataSorb vous permettront de comprendre, pas à pas, comment mettre en œuvre une gestion vertueuse des codes, logiciels, algorithmes et calculs de recherche tout au long de leur cycle de vie dans le cadre de votre projet.

Grâce à ces ressources, vous serez en mesure de mobiliser pour votre projet un ensemble de préconisations, pratiques et outils, qui pourront être mis en œuvre tout au long du cycle de vie de ces matériaux de recherche singuliers : pratiques et outils d'anticipation (Plan de gestion de logiciel (PGL) / Software Management Plan (SMP)) de documentation (notebooks, métadonnées), de partage (forges logicielles, licences), de valorisation (software papers) ou encore recommandations pour renforcer leur découverte et leur réutilisation (principes FAIR4RS (FAIR for Research Software)).

Vous pourrez aussi poursuivre votre autoformation via des sites de référence ou encore solliciter des personnes-ressources pour vous accompagner au mieux sur les enjeux de la gestion des codes, logiciels, algorithmes et calculs de recherche.

Le cycle de vie du logiciel de recherche

Comme tout produit de recherche, les codes et logiciels développés dans le cadre de projet de recherche nécessitent "la mise en place d'une gestion de projet spécifique au domaine de l'ingénierie logicielle", aussi "communément appelé cycle de vie du logiciel". Ce cycle de vie est constitué de différentes phases et étapes, de la conception du logiciel à sa fin de vie, "rendant compte du cycle complet de développement".

Citation extraite du chapitre "Gérer" du MOOC de l'INRAE "Gestion et partage des algorithmes, codes et logiciels".

  • Le cycle de vie des logiciels : les ressources essentielles

    Recherche Data Gouv et son poster "Des outils et des ressources pour faciliter la gestion des codes et logiciels de recherche"
    Ce poster conçu par le groupe de travail "Codes et logiciels" de l'écosystème Recherche Data Gouv offre une synthèse des enjeux de la gestion des codes et logiciels de la recherche. Il détaille en particulier "six outils principaux en cours de développement" accompagnés de préconisations : Plan de gestion de logiciel (PGL), typologie de logiciels, ressources de formation à la gestion de logiciels, outil d'aide à la sélection d'une forge souveraine, mapping sur les correspondances entre PGL et formats standards, guide sur la réplicabilité. 

    DoRANum et le diaporama interactif "Cycle de vie du logiciel"
    L'Inist-CNRS et le GT "Code source et logiciel" de Recherche Data Gouv et son sous-groupe "Accompagnement et formation" mettent à disposition ce diaporama interactif abordant différentes questions soulevées tout au long du cycle de vie du logiciel, ainsi que les différentes étapes qui constituent ce cycle (rédaction de Plan de gestion de logiciel (PGL), notebooks et forges logicielles, licence, réutilisation, archivage, etc). 

    INRAE et le module "Gestion et partage des algorithmes, codes et logiciels" de sa formation e-learning OSCAR
    Conçu par l'INRAE, le parcours d'auto-formation OSCAR (Ouvrir la Science, Connaissances à AcquériR) permet de se former à son rythme aux enjeux de la science ouverte. L'un des 9 modules développés s'intéresse spécifiquement à la gestion et au partage des algorithmes, codes et logiciels (durée : 3h). Sont ainsi abordés les thèmes suivants : les cadres (définition, protection juridique), la gestion (cycle de vie, PGL, versioning et release), l'ouverture (gouvernance, principes FAIR), le partage (forge logicielle, licences, autorat), l'archivage (Software Heritage, HAL), la valorisation. Son chapitre "Gérer" aborde en particulier les étapes et les phases du cycle de vie de logiciel, ainsi que l'importance que ce cycle revêt pour le développement des logiciels de recherche. 

    GTSO Données de Couperin et son webinaire "Logiciels et données de la recherche, même combat ? Accompagner à la documentation, à la pérennisation et à la valorisation"
    Pour aller plus loin, ce webinaire proposé par le Groupe Données du GT Science ouverte du Consortium Couperin (GTSO Données) aborde les pratiques de gestion des codes et logiciels, permettant de découvrir différentes étapes du cycle de vie du logiciel. Trois présentations rendent ainsi compte de plusieurs outils pour documenter, pérenniser et valoriser les codes et logiciels (décrire la gestion des codes et logiciels dans DMP OPIDoR, préserver et valoriser les logiciels avec Software Heritage, le catalogue des logiciels de l'ESR).

    Le MOOC de l'Inria "Reproducible Research II: Practices and tools for managing computations and data"
    Pour aller plus loin, l'Inria met à disposition un MOOC permettant de s'autoformer afin d'améliorer ses pratiques pour la gestion de données, la gestion de logiciels ainsi que la gestion de calculs, tout en intégrant la question centrale de la reproductibilité. D'une durée totale de 35h et dispensé en anglais, le MOOC se structure en 5 chapitres thématiques. Sur demande, un "Open badge" peut être délivré aux participants ayant validé la formation (score global de 50% de bonnes réponses à l'ensemble des quizz et exercices). 

Les principes FAIR4RS

Parce qu'ils constituent des résultats de recherche à part entière, il est apparu essentiel que les principes FAIR (Facile à trouver, Accessible, Interopérable, Réutilisable) puissent être adaptés aux logiciels et codes développés dans le cadre de projets de recherche. Les préconisations pour ces matériaux de recherche singuliers sont appelées les FAIR4RS (FAIR for Research Software). A ce titre, les caractéristiques spécifiques des logiciels (exécutabilité, nature composite, évolution et versionnement continus*) sont ainsi intégrées aux principes FAIR4RS.

*Exemples issus de la ressource "Les principes FAIR adaptés aux logiciels" de DoRANum.