Dévélopper, collaborer
Bonnes pratiques et outils pour le développement du logiciel

Maintenir, organiser et développer un logiciel, quelle que soit la taille du code, nécessite la mise en œuvre des bonnes pratiques pour faciliter le travail scientifique pendant toute la durée de vie du logiciel.
Enjeux des sistèmes de contrôle de version
Les enjeux des forges logiciels
Pour le travail collaboratif, il est conseillé d'utiliser des forges logicielles. Les forges logicielles sont des plateformes web de développement logiciel facilitant le travail collaboratif pour un projet logiciel. Une forge contient ainsi des outils tels que le dépôt versionné de code source, les forums de discussion, un environnement de test automatisé, etc. Lorsque vous travaillez dans le cadre d'un projet de recherche, certaines recommandations sont à prendre en compte pour le choix de votre forge logicielle :
- Utiliser préférentiellement une forge logicielle institutionnelle. Dans le périmètre LORD vous pouvez trouver l'instance Gitlab de l'Université de Lille, laboratoire CRISTAL, ICARE, CNRS, INRIA, INRAE.
- À défaut, privilégier les forges logicielles auto-hébérgées publiquement dans les établissements français de l'Enseignement supérieur et de la recherche. Vous pouvez utiliser l'outil
- A défaut d’utiliser la forge de l’Université de Lille ou les forges logicielles auto-hébergées publiques dans les établissements français de l’Enseignement supérieur et de la recherche, privilégier les forges communautaires libres aux forges commerciales à services équivalents
Des logiciels comme GIT, Mercurial ou Subversion vous permettent d'avoir un système de contrôle de versions en local dans votre ordinateur. Ils permettrent de retracer les différentes manipulations dans vos données et votre script d'analyse grâce à un système de branches.
Pensez à l'archivage de votre code source !
Les forges logicielles ne sont pas des archives pérennes : les projets qu'elles contiennent peuvent être modifiés ou effacés. Assurez vous du bon archivage de vos codes sur le long terme dans les archives dédiées aux logiciels comme Software Heritage.
Consultez la section "Archiver, référencer et décrire" pour aller plus loin