FAQ : hébergement des développements logiciels de laboratoire : forges

Ressource Plume
Mots clés

 

Cette FAQ est destinée à informer de manière pratique sur les questions liées à l'hébergement des projets logiciels.
Elle est destinée aux développeurs de logiciels dans les laboratoires de recherche (CNRS, universités, INRA…). Elle peut aussi s’appliquer aux développeurs dans les services de ces organismes (services informatiques, CRI, DSI…).

Cette FAQ n’est pas un document officiel d’un organisme ou d’un autre.

L'auteur principal est Violaine Louvet (ICJ). Elle a été relue et complétée par Jean-Luc Archimbaud (UREC), Matthieu Herrb (LAAS), Sébastien Campion (INRIA), François Elie (ADULACT).
Elle va évoluer avec d’autres contributions. Si vous voulez contribuer, contactez l’auteur. 

Autres documents PLUME

Ce document est une des fiches d'information et de recommandations rédigées par des responsables thématiques PLUME et destinées aux développeurs (et personnes en charge de la valorisation) dans les laboratoires de recherche et les universités. Les autres sont :

Qu'est-ce qu'une forge (informatique) ?

Définition

Une forge ou plate-forme d'hébergement de projets logiciels désigne un environnement Web constitué d'un ensemble d'outils du travail coopératif et du génie logiciel pour le développement collaboratif et distribué de logiciels.

Objectifs

L'objectif d'une forge est d'offrir un espace d’échange permanent et de collaboration en ligne aux développeurs de logiciels, et un espace de distribution (versions publiques des logiciels développés : paquets sources, pages web) pour les utilisateurs (pour tout un chacun si la forge est publique). Elle permet ainsi de rassembler des projets et des développeurs, mais aussi d'autres personnes travaillant sur ces projets (utilisateurs, traducteurs...).

Quels sont les services potentiellement disponibles dans une forge ?

Les outils offerts par une forge sont principalement :

La forge rassemble ces outils en un seul ensemble cohérent facilement accessible. Elle peut aussi permettre de présenter les projets grâce à des outils comme :

qui peuvent être organisés comme une page de présentation du projet, rassemblant aussi la licence, les technologies utilisées, la compatibilité...

Sur quelle forge puis-je héberger mon projet?

Dans la communauté Enseignement Supérieur et Recherche en France, il existe un certain nombre de forges permettant d'héberger des projets logiciels. En voici quelques unes, sans être exhaustif. Attention, cela ne veut pas dire que toutes les forges ci-dessous acceptent tous les projets. Chacune a ses règles que nous avons essayé de résumer, mais il faut s'adresser au gestionnaire de la forge pour avoir une réponse claire.

La forge SourceSup : Ens Sup - Recherche

La forge INRIAGForge : INRIA

La forge Adullact.net : administrations et collectivités françaises

La forge AdmiSource : n'existe plus

http://admisource.gouv.fr/
était une forge créée pour l'administration dans le cadre du projet Adèle. Elle n'existe plus, tous les projets ont été transférés sur Adullact.net (par convention DGME-ADULLACT).

La forge Mulcyber : INRA

La forge de l'Ifremer

Espace de discussion sur les forges francophones : PlanetForge

Ce n'est pas une forge mais le wiki de PlanetForge est un espace de collaboration documentaire sur les forges.

Forge OSOR : administrations européennes (Open Source Observatory and Repository)

Forge Sourceforge : Open source international

Autres forges internationales

(qui méritent peut être d'être mieux connues mais que nous n'avons pas étudiées)

Il existe un tableau comparatif sur wikipedia des principaux hébergeurs de projets open source.

Quelle forge choisir ?

Le choix doit être fait en concertation avec votre direction (du laboratoire, de l'université...) car ce n'est pas uniquement un choix technique, les aspects stratégiques et de visibilité peuvent aussi être importants dans le cas de développements majeurs.

Quelques réflexions :

Aucune de ces solutions ne me convient, que dois-je faire?

Si les hébergements existants ne conviennent pas, vous pouvez monter une forge (tout ou partie) au niveau de votre laboratoire, université... Deux choix :

Outils de gestion de versions

Si votre besoin est essentiellement de gérer des versions successives de sources ou de documents, l'utilisation d'un outil de gestion de version peut suffire. Il en existe deux grandes classes : les outils traditionnels complètement centralisés et les outils décentralisés :

Le mot clé Fiche Plume "gestion de versions" permet d'identifier sur le serveur Plume les ressources liées à cette problématique.
Une liste non exhaustive des logiciels de gestion de versions est aussi accessible sur wikipedia

.

Outils de suivi de bogues et de tâches

Si votre besoin correspond plutôt à du suivi de problèmes (bug tracking) sur un logiciel ou du suivi de tâches sur un projet, des logiciels spécifiques existent.
Les plus connus sont :

Redmine et TRAC sont plus complets qu'un simple outil de suivi de bugs.
Une liste non exhaustive de ces logiciels est aussi accessible sur wikipedia

.

Outils de communication

Si vos besoins se limitent à la communication autour des logiciels, il existe de nombreux outils à finalités un peu différentes qui permettent d'y répondre :

Et plus globalement sur PLUME, une liste de fiches avec le mot-clé Fiche Plume outils de diffusion de l'information.