scieee AI-readable full text Open interactive document viewer

Préserver et diffuser ses codes sources

Lentretien, Celia; Sadowska, Jozefina

Abstract

Atelier en ligne dans le cadre de la Love Data Week 2025 à l'Université de Lorraine et portant sur la valorisation des logiciels de recherche aux côté de publications et données - exemple d'archivage via HAL et Software Heritage.

Full text

Préserver et diffuser ses codes sources Celia Lentretien (Univ. Lorraine) Jozefina Sadowska (Inria) Love Data Week 2025 14/03/2025 Sommaire ➢Contexte ➢Définitions ➢Software Heritage ➢Dépôt dans HAL Contexte 1. Généraliser l’accès ouvert aux publications 2. Structurer, partager et ouvrir les données de la recherche 3. Ouvrir et promouvoir les codes sources produits par la recherche 4. Transformer les pratiques pour faire de la science ouverte le principe par défaut Contexte Comité de pilotage Science ouverte Lorrain Comité opérationnel Publications Ouvertes Comité opérationnel Données Comité opérationnel Codes et logiciels Logiciels de recherche ➢Les logiciels de recherche sont développés pour répondre à des besoins spécifiques de la science. Ils sont conçus, maintenus, et utilisés par des scientifiques (chercheurs et ingénieurs) et institutions de recherche, éventuellement dans une dimension internationale. ➢Ils peuvent découler de travaux de recherche comme ils peuvent les favoriser, notamment par des publications avant/sur/autour/avec le logiciel. Ceux-ci peuvent se formaliser de différentes façons (une plateforme, un intergiciel, un workflow ou une bibliothèque, module ou greffon d’un autre logiciel) et être ainsi en interaction dans un écosystème ou au contraire plus autonomes. Source : collège Logiciels du COSO Quelques définitions Algorithme : procédure par étapes, ensemble de règles à suivre pour résoudre un problème ou effectuer une tâche. Code source : mise en œuvre et formalisation de l’algorithme dans un langage informatique (par exemple python, C++, java...). C’est un (ou plusieurs) fichier(s) texte. Seul le code source permet d’accéder aux informations techniques et scientifiques. Exécutable : traduction du code source (en général via un compilateur ou un interpréteur) en code binaire compréhensible par l’ordinateur. Logiciel : ensemble qui comprend le code source et/ou l’exécutable, et le plus souvent la documentation, des exemples d’utilisation… Les codes sources sont-ils des données ? ➢Les codes sont intrinsèquement vivants alors que les données sont plutôt statiques : •Les codes sont associés à une/des) action(s) : création de connaissances, transformation d’informations, visualisation… •On ne change pas les données, généralement collectées dans un contexte défini •Les codes sont le plus souvent modifiés/adaptés/enrichis ➢Les codes s’appuient sur des dépendances et tout un environnement logiciel et matériel. ➢Les codes sont le résultat d’une création, ce sont des «œuvres de l’esprit » alors que les données sont des résultats d’une observation ou de faits. Reproductibilité Cadre juridique ≠ Pourquoi préserver les codes sources ? ➢Ils sont un des piliers des processus de recherche, au côté des publications et des données. ➢Enjeu pour la reproductibilité. Pourquoi préserver les codes sources ? Déposer un logiciel dans HAL en lien avec SWH ➢Le code source d’un logiciel (ne pas déposer les exécutables) ➢Le logiciel qui est développé dans un milieu académique ➢Seuls les créateurs/auteurs du logiciel ou leurs représentants déposent un logiciel sur HAL Je développe mes logiciels localement et je les partage sur mon site web personnel ou institutionnel Je développe mes logiciels sur une plateforme collaborative (type GitHub, GitLab, Bitbucket...) Dépôt source: déposer .zip /.tar.gz Dépôt SWHID: déposer métadonnées et SWHID Cas d'utilisations Liens utiles : Extension Firefox : https://addons.mozilla.org/enUS/firefox/addon/updateswh/ et mode d’emploi Exemple de projet sur GitHub : https://github.com/moranegg/deposittemplate Gitlab de l’Université de Lorraine : https://gitlab.univ-lorraine.fr/ Save Code Now - Software Heritage : https://archive.softwareheritage.org/save/ HAL Université de Lorraine : https://hal.univ-lorraine.fr/ ou Bac à Sable HAL de l’Inria : https://inria.halpreprod.archivesouvertes.fr/ 17 Déposer un logiciel dans HAL - Démo 18 Dans HAL - sélectionner le type : Logiciel Déposer un logiciel dans HAL - Démo dépôt source 19 Déposer un logiciel dans HAL - Démo dépôt source 20 Si l’option de transfert vers Software Heritage est cochée, un identifiant unique et pérenne est automatiquement ajouté dans la notice HAL et dans le format de citation. Cet identifiant, appelé SWHID permet d’accéder directement au code source archivé sur Software Heritage. Déposer un logiciel dans HAL - Démo dépôt source 21 Cliquer sur Save code now sur SWH et récupérer le SWHID complet d’un directory https://github.com/DmxLarchey/Kruskal-Fan Déposer un logiciel dans HAL - Démo SWHID 22 Déposer un logiciel dans HAL - Démo SWHID Sélectionner le SWHID correspondant au dépôt sur l’archive Software Heritage 23 Sélectionner le SWHID correspondant au dépôt sur l’archive Software Heritage Déposer un logiciel dans HAL - Démo SWHID 24 Dans Hal - sélectionner le type : Logiciel Déposer un logiciel dans HAL - Démo SWHID 25 Dans Hal - ajouter le SWHID Déposer un logiciel dans HAL - Démo SWHID