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.
-
Les principes FAIR4RS : les ressources essentielles
Blog de l'Institut Pasteur, "Comment rendre son logiciel FAIR ?"
Le blog de l'Institut Pasteur met à disposition un article synthétique et introductif sur les enjeux des principes FAIR pour les logiciels.DoRANum, "Les principes FAIR adaptés aux logiciels"
L'Inist-CNRS propose un guide interactif sur les principes FAIR adaptés aux logiciels : enjeux et questionnements, bonnes pratiques et recommandations, checklist d'autoévaluation.Blog de l'Institut Pasteur, "Comment évaluer la conformité d’un logiciel avec les principes FAIR ?"
Le blog de l'Institut Pasteur propose un article synthétique et introductif sur l'autoévaluation des principes FAIR pour les logiciels. Sont ainsi présentées, sous forme de checklist, 17 questions issues de la traduction de la documentation produite dans le cadre du projet FAIR-IMPACT.RDA, "FAIR Principles for Research Software : FAIR4RS Principles"
Pour aller plus loin, le texte de référence autour de l'application des principes FAIR pour les logiciels, produit par Research Data Alliance (RDA), répertorie en détail enjeux et recommandations FAIR4RS.
Concevoir son Plan de gestion de logiciel (PGL) ou Software Management Plan (SMP)
Document essentiel permettant de décrire un logiciel de recherche et "la façon dont il est géré tout au long de son cycle de vie" (de la conception à la maintenance), le Plan de gestion de logiciel (PGL) ou Software Management Plan (SMP) "centralise les informations sur un logiciel". A ce titre, le PGL est tout à la fois "un outil d'aide à la réflexion et à la planification", offrant la possibilité d'anticiper les actions et pratiques à mettre en place tout au long du projet de recherche, œuvrant ainsi à le rendre plus réutilisable et durable. Les ressources sélectionnées vous permettront d'appréhender les enjeux du PGL, de vous inspirer de modèles existants, ou encore de découvrir les liens entre plan de gestion de données (PGD) et PGL.
Le texte est adapté de l'article "Le plan de gestion de logiciel" du Blog de l'Institut Pasteur. Les citations sont issues de cette même ressource.
-
Le plan de gestion de logiciel : les ressources essentielles
Blog de l'Institut Pasteur, "Le plan de gestion de logiciel"
Ce court article proposé par l'Institut Pasteur revient sur la définition et les attendus du Plan de gestion de logiciel (PGL), sur son insertion dans le contexte d'un projet de recherche, sur les principaux éléments à y faire figurer.Blog de l'Institut Pasteur, "Comment mettre en place un plan de gestion de logiciel"
En quelques paragraphes, l'Institut Pasteur revient sur les options disponibles actuellement pour la mise en place pratique du PGL : modèles et outils pour l'élaboration du PGL, recommandations pour la rédaction.INRAE et sa synthèse sur les PGL, issu du module "Gestion et partage des algorithmes, codes et logiciels" (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 sur les 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. Le chapitre "Gérer" de ce module aborde en particulier les PGL (définitions et enjeux, présentation de modèles).Projet PRESOFT, "Presentation of the Research Software Management Plan template"
Ce modèle de PGL (Gomez-Diaz T., Romier G.) a pour objectif "de fournir un document avec les éléments nécessaires pour élaborer un Plan de Gestion de Logiciel pour un logiciel de la recherche et améliorer ainsi les conditions de sa préservation". Développés pour servir d'inspiration, les templates doivent être adaptés et retravaillés pour correspondre à vos besoins dans le cadre de votre projet de recherche.Grazia Santangelo M. et al., "Développement d’un formulaire machine-actionnable pour la gestion FAIR des logiciels de recherche dans les plans de gestion de projet"
Cette synthèse (Grazia Santangelo M. et al., 2026) présente le formulaire dédié aux codes sources et logiciels de recherche, intégré dans la plateforme DMP OPIDoR dédiée à la rédaction des plans de gestion de données (PGD). Ce formulaire permet de "décrire les logiciels et les données de recherche associés au sein d'un même plan" (description générale du logiciel, outils de développement et environnements d'exécution, préservation, questions juridiques, valorisation). Pour plus d'informations sur DMP OPIDoR et le PGD, consulter la rubrique "Planifier la gestion des données de son projet".
Deux exemples de PGL
Pour aller plus loin, il est possible de consulter ces deux exemples de PGL : un PGL autour du web scrapping de réseaux sociaux (Olivier Barić, "Opportunities for improving the social media marketing for the ParAqua COST Action", 2023), ou encore un PGL sur l'intérêt de Gentoo Linux pour les recherches en neurosciences (Horea-Ioan Ioanas, Bechara John Saab, Markus Rudin, "Gentoo Linux for Neuroscience - a replicable, flexible, scalable, rolling-release environment that provides direct access to development software", 2017).
Documenter son code et son logiciel
Documenter un code ou un logiciel consiste à expliciter son fonctionnement, ses dépendances, sa structure et son contexte de création afin d'en garantir la compréhension, la réutilisabilité et la pérennisation. Pour l'ensemble des disciplines, et tout particulièrement en sciences humaines et sociales, la documentation constitue une étape fondamentale permettant de transformer un travail personnel en un matériau scientifique exploitable, vérifiable et citable.
Plusieurs standards, normes et outils permettent de renforcer la documentation et la citabilité des codes et logiciels de recherche : standards de métadonnées logicielles, formats de fichiers intégrant les instructions de citation, ou encore documents computationnels (notebooks) associant description, analyse et valorisation.
-
Décrire son logiciel de recherche et son code : métadonnées, format d’échange CodeMeta, format de fichier Citation File Format
Quels sont les standards de métadonnées couramment utilisés et reconnus pour les logiciels de recherche ? Quels dispositifs permettent de rendre son code citable ? Les ressources sélectionnées vous permettront d'appréhender plusieurs grands principes et outils de description et de citation des codes et logiciels : normes européennes de métadonnées préconisées pour les logiciels de recherche, standard international du format d'échange des métadonnées logicielles (CodeMeta), format de fichier Citation File Format (CFF).
Le projet FAIR-IMPACT d'EOSC et son guide "The Research Software MetaData Guidelines for End-Users"
Conçu dans le cadre du projet FAIR-IMPACT de l'European Open Science Cloud (EOSC), ce guide présente les métadonnées essentielles permettant de documenter un logiciel de recherche afin d'en faciliter la compréhension, la citation, la réutilisation et la pérennisation. Il s'adresse principalement aux chercheurs et développeurs souhaitant améliorer la qualité de la documentation de leurs logiciels.Les métadonnées pour les logiciels de recherche : focus sur CodeMeta
Standard international reconnu, CodeMeta est un format d'échange pour les métadonnées logicielles, permettant de fournir plusieurs types d'informations : les "informations générales sur un logiciel (nom, URL, date de création, date de mise à disposition, etc)", les "informations techniques, juridiques ainsi que des éléments sur le processus de développement lui-même". CodeMeta permet de "créer un vocabulaire conceptuel qui peut être utilisé pour normaliser l’échange de métadonnées logicielles entre les référentiels et les organisations".
Citations extraites du rapport du Collège Codes sources et logiciels du Comité pour la science "Normaliser l'échange de métadonnées et la citation des logiciels".
Comité pour la science ouverte et le rapport "Normaliser l'échange de métadonnées et la citation des logiciels"
Cette documentation proposée par le Collège Codes sources et logiciels du Comité pour la science ouverte détaille les perspectives nationales pour valoriser la production logicielle académique. Elle explicite l'intérêt d'adopter CodeMeta comme format d'échange de métadonnées intrinsèques, ainsi que le format descriptif Citation File Format (CFF) pour simplifier les workflows de citation des codes et garantir le crédit scientifique aux chercheurs.Le tutoriel sur CodeMeta de la revue The Programming Historian à destination des SHS : "CodeMeta Generator : Générateur de métadonnées pour les logiciels de recherche"
Proposé dans l'article de Sabrina Granger, Baptiste Mélès et Frédéric Santos dans la revue The Programming Historian, spécialisée dans les humanités numériques, ce tutoriel sur CodeMeta Generator permet de prendre en main cet outil pour produire des fichiers CodeMeta. Une synthèse des avantages de ce standard en matière de description, d'identification, de partage et de valorisation des logiciels est également proposée.Rendre son code citable : le standard Citation File Format (CFF)
Le standard Citation File Format (CFF) est un format de fichier (CITATION.cff) en texte brut permettant aux développeurs et aux chercheurs de fournir les instructions de citation de leurs codes de recherche. Intégré nativement dans des plateformes comme GitHub et Zenodo, il garantit que les auteurs du logiciel reçoivent le crédit académique approprié lorsque leur outil est réutilisé dans des publications scientifiques.
Rendre son code citable : le standard Citation File Format (CFF)
Site officiel du standard Citation File Format, intégrant documentations et outils. -
Les notebooks
Les notebooks (ou documents computationnels) constituent un outil de documentation incluant, dans un même document, du texte, du code informatique, ainsi que le résultat de ce code. Grâce à cet outil de description, d'analyse et de valorisation, les notebooks participent activement à renforcer la transparence et la reproductibilité de la recherche.
Blog de l'Institut Pasteur, "Les documents computationnels ou notebooks"
Cet article synthétique mis à disposition par le blog de l'Institut Pasteur offre une introduction aux notebooks, permettant de définir et comprendre les enjeux de ces outils singuliers.DoRANum et son guide sur le notebook
Conçu par Hugues Pecout (Géographie-Cités UMR 8504) et l'Inist-CNRS, ce guide interactif permet de comprendre les enjeux et le fonctionnement des notebooks. Sont ainsi abordés l'importance de cet outil pour la reproductibilité de la recherche, la structuration et les composants des notebooks, les différents systèmes de notebooks à disposition, ainsi que leurs articulations avec les forges logicielles.Focus sur les notebooks Jupyter, un outil utilisé en SHS
Parmi les différents outils de documents computationnels à disposition des communautés scientifiques, les usages et avantages des notebooks Jupyter pour les SHS sont particulièrement documentés. Les ressources sélectionnées vous permettront d'appréhender les objectifs et avantages de cet outil.
Digit_Hum et sa fiche pratique sur Jupyter, "un carnet numérique au service des SHS"
Cette fiche pratique proposée dans le cadre de l'Atelier Digit_Hum de 2023 ("Manipuler des données en SHS : R, Python et les carnets interactifs") offre une introduction aux notebooks Jupyter dans la recherche en SHS.Maxime Popineau et son article sur l'utilisation des Jupyter Notebooks en sciences humaines et sociales
Cet article rédigé par Maxime Popineau dans le cadre de ses activités à Digit_Hum propose une réflexion ciblée sur l'usage des notebooks Jupyter en sciences humaines et sociales, en présentant le fonctionnement de l'outil, ses bénéfices et ses limites sans se réduire à un simple tutoriel technique. Sont également proposés quelques exemples concrets d'applications pour plusieurs disciplines des SHS (linguistique, géographie, sociologie).