Panorama des outils et plateformes pour déposer ses codes

Semaine Data-SHS Paris 2022

Timothée Giraud

Dec 6, 2022

Pourquoi déposer ses codes de recherche ?

Pour soi-même, pour les autres, pour la science !

  • Réutilisation

  • Traçabilité

  • Collaboration

  • Transparence et vérifiabilité

Que déposer ?

Des fragments de code

Un pense-bête sur une opération spécifique.

Exemple de gist

Des analyses completes

Le code utilisé pour créer les analyses, les figures d’un article.

Des logiciels

Code construit pour la réutilisation, généricisé.

Les plateformes et les outils

Les logiciels de gestion de versions

Git, GitHub, GitLab

Git est un logiciel de gestion de versions distribué pour

  • suivre les changements dans les fichiers texte,
  • gérer l’historique du code source,
  • partager le code avec des dépots distants.

GitHub et GitLab hébèrgent des dépots distants + des services pour gérer des projets (issue tracking, collaboration, hébergement web, CI/CD).

GitHub, GitLab

GitHub est une entreprise de Microsoft qui produit et héberge un logiciel non libre (ou privateur) sur le site github.com.

GitLab est une entreprise qui produit un logiciel libre (GitLab CE) et un logiciel non libre (GitLab EE & gitlab.com).

GitLab

GitHub

GitHub est un peu le réseau social des développeurs.
Sa centralisation et la masse de ses utilisateurs sont deux éléments qui facilitent les collaborations et donnent une bonne visibilité aux projets.

Git, GitHub, GitLab

Ces plateformes sont spécifiquement dédiées au developpement de logiciels.

Ce sont des services, parfois commerciaux, sans aucune garantie de perénité.

Il ne s’agit en aucun cas de services d’archivage.

Les services d’archivage

Ici l’objectif est bien d’archiver les codes, les bases de données, les figures…

Zenodo

Un service développé et hébergé par le CERN.

Figshare

Un service commercial de l’entreprise qui possède le groupe Nature Publishing.

D’autres services

Les répertoires d’extensions de logiciel

Différents languages ou logiciels proposent des répertoires pour la mise à disposition d’extensions.

Les extensions sont proposées de manière plus ou moins harmonisée.

Un accès est souvent donné aux versions anciennes.

Les répertoires d’extensions de logiciel

Pour les librairies R, les packages : le CRAN (Comprehensive R Archive Network).

Les répertoires d’extensions de logiciel

Pour les librairies Python : PyPi (Python Package Index).

Les répertoires d’extensions de logiciel

Pour les librairies Javascript : npm (npm is not a package manager).

Exemple

Un (data) paper

Thibault Le Corre. (2021). Une base de données pour étudier vingt années de dynamiques du marché immobilier résidentiel en Île-de-France, In Cybergeo: European Journal of Geography, Data papers, document 992. https://doi.org/10.4000/cybergeo.37430

portant sur une base de données

Thibault Le Corre. (2020). CASSMIR [Data set]. In Cybergeo (2.0.0). Zenodo. https://doi.org/10.5281/zenodo.4497219

dont la construction technique est décrite par un site web / notebook

hébergé sur une forge.

Merci de votre attention