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

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 14/09/09
  • Correction mineure : 04/03/11
Mots-clés

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

  • Type de ressource : référentiel, résumé
  • Date de publication du document ou de l'événement : Septembre 2009

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 :

  • système de gestion des versions,
  • gestionnaire de listes de discussion (et/ou de forums),
  • outil de suivi des bugs,
  • gestionnaire de documentation (souvent sur le principe du wiki),
  • gestionnaire de tâches,
  • gestionnaire des traductions en ligne.

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 :

  • la présentation de copies d'écrans,
  • l'écriture de nouvelles,
  • la mise à disposition d'un hébergement ou de quelques pages descriptives,

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

  • Cible : SourceSup est destinée aux établissements d'enseignement supérieur (universités, écoles d'ingénieurs, ...) et aux organismes de recherche français.

La forge INRIAGForge : INRIA

  • Cible : l'objectif de InriaGForge est de fournir à toutes les personnes travaillant à l'INRIA une infrastructure pour leurs collaborations scientifiques avec les partenaires internes ou extérieurs à l'institut.
  • Contraintes : tout projet hébergé sur InriaGForge doit donc être ouvert par un membre de l'INRIA. Pour plus d'informations, se reporter à la charte d'utilisation

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

  • Cible : toute personne peut ouvrir un compte, et proposer un projet, si celui-ci présente un intérêt pour la sphère du domaine public au sens large, c'est-à-dire principalement les administrations centrales ou territoriales.
  • Contraintes : ADULLACT est l'Association des Développeurs et des Utilisateurs de Logiciels Libres pour l'Administration et les Collectivités Territoriales. Adullact.net est un service d'hébergement et de travail collaboratif consacré au développement de logiciels libres métiers. L'Adullact se réserve le droit de refuser l'hébergement d'un projet qui ne serait pas sous une licence GPL-compatible ou reconnue par l'OSI.

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

  • Cible : Mulcyber est destinée aux membres du département MIA (Mathématiques et Informatique Appliquée) de l’INRA (Institut National de la Recherche Agronomique) et à leurs collaborateurs.
  • Contraintes : tout projet hébergé sur Mulcyber doit donc être porté par un membre du département MIA de l'INRA.

La forge de l'Ifremer

  • Cible : destiné aux membres de l'IFREMER.
  • Contraintes : les projets hébergés sur cette forge sont internes à 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)

  • http://forge.osor.eu/
    OSOR.eu est une sorte de méta-forge de forges nationales en Europe, créant ainsi une fédération européenne de référentiel de logiciels open-source financés par de l'argent public (comprenant la forge Adullact.net, l'Adullact a inspiré ce projet à IDABC).
  • Cible : la forge OSOR.eu forge est ouverte aux projets de logiciels libres open-source à destination des administrations publiques, permettant ainsi le partage et la ré-utilisation de ces logiciels dans d'autres administrations publiques à travers toute l'Europe.
    Cette forge est donc réservée aux projets ayant un intérêt particulier pour les administrations publiques européennes et/ou développés dans ou pour le secteur public.
  • Contraintes: la forge OSOR.eu et l'ensemble de ses services sont exclusivement réservés aux échanges et collaborations sur des logiciels libres et open-source. Cette forge concerne les logiciels liés aux Systèmes d'Information des administrations.

Forge Sourceforge : Open source international

  • Cible : tout projet de développement. Cette forge est certainement la plus connue au niveau international.
  • Contraintes : le développement doit être OpenSource.

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 :

  • Actuellement le CNRS n'a donné aucune directive à ses laboratoires, donc le choix est ouvert. PLUME envisage de proposer un projet de forge au CNRS en s'associant avec plusieurs partenaires.
  • Les forges correspondent généralement à une communauté (métier...) où les processus et les outils sont adaptés aux pratiques de cette communauté. Donc tournez-vous plutôt vers des environnements proches de vous.
  • Assurez-vous des services rendus par la forge, pas uniquement sur les outils techniques disponibles mais aussi sur l'équipe en place pour la gérer, à la garantie de service, aux délais de réponses...
  • Assurez vous de la pérennité de la forge. Si le projet est d'envergure, il sera très difficile de le migrer d'une forge à une autre.
  • Si votre développement est intégré dans un projet hors laboratoire, avec des partenaires (industriels, européens...), il est évident que le choix va être guidé par l'ensemble de ces partenaires.

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 :

  • Installer un logiciel complet de forge qui va permettre de déployer une plateforme importante. La page http://wiki.planetforge.org/index.php/Forges recense une liste non exhaustive de ces logiciel de forge, forge pris au sens d'outil de déploiement d'une forge.
  • Evitez d'installer un logiciel complet de forge mais très complexe, en ciblant précisément vos besoins et n'installez unitairement que les logiciels nécessaires. L'installation et l'administration seront beaucoup plus simples. Plume référence un certain nombre de ces outils (cf les liens ci-dessous), les plus utilisés dans notre communauté.

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 :

  • Outils à fonctionnement centralisé : subversion Fiche Plume , CVS...
  • Outils à fonctionnement plus décentralisé : mercurial, Fiche Plume git...

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.

Commentaires

Projets d'Etudiants.net

http://forge.projetsdetudiants.net

est une plate-forme d'hébergement de projets pour étudiants, proposée en tant que service gratuit par la société Enaean (http://enalean.com, éditeur open-source).

Initialement ouverte pour résoudre le besoin d'une forge pour les projets étudiants de Polytech'Grenoble, elle est ouverte aux étudiants, stagiaires et enseignants pour des projets d'études, travaux en groupe et supports de cours.

Projet Forge Ens Sup Recherche

Un projet de forge Ens Sup - Recherche a été lancé début 2010, avec dans un premier temps une enquête sur les besoins : http://www.projet-plume.org/fr/ressource/projet-fo...

Présentation avec video

Ce document a été présenté lors d'une journée PLUME avec transparents et vidéo disponibles

Fonctionnement de SourceForge

SourceForge a fait passer le 6 octobre 2009 un message à tous ses abonnés. En voici un extrait intéressant et révélateur des limites de cette forge :

8<----
1. Terms of Service changes:

In connection with ongoing improvements to SourceForge.net, we are in
the process of updating our terms and conditions of use,
https://sourceforge.net/apps/trac/sitelegal/wiki/T.... We
believe that the new terms are better organized and simpler than the
current terms. The new terms will not take effect until October 19,
2009, so there is ample time to correct errors, and we therefore
encourage input from our users. Send all feedback to
sfnet_ops [at] corp [dot] sourceforge [dot] com with
"ToS" as the message summary.

  1. Feature removal notice: Document Manager and Task Manager:

We are announcing the planned removal of a couple of aging tools we have
on the site, Document Manager (DocMan) and Task Manager. Our Hosted Apps
offerings of Trac, MediaWiki (for documentation), and TaskFreak! (tasks)
replace these nicely. These two facilities will be removed from the site
on October 19.

We will make a dump of your data available at that time as well as
offering a migration process to one of the Hosted Apps
(https://sourceforge.net/apps/trac/sourceforge/wiki...)
facilities (Trac, MediaWiki [for docs], and TaskFreak! [tasks]). This
data will also be portable.
8<----

12 jours pour accepter de nouvelles conditions d'usage lorsque celles-ci doivent être avalisées par une entité administrative et plus encore 12 jours pour porter son système de gestion de tâches vers un nouvel outil, c'est quand même cavalier...

Sans parler du détail des conditions d'usage de SourceForge dont certaines restent vraiment discutables (interdiction d'usage du service pour certains pays, déclaration obligatoire au gouvernement américain de certains types de code, ...).

Mise en place d'un FORGE au CNRS

Un groupe FORGE est en cours de constitution au travers de DEVLOG (le réseau des informaticiens développeurs du CNRS : devlog [at] services [dot] cnrs [dot] fr). Une rédaction collaborative est en cours sur : http://www.laas.fr/forge. Ce projet doit être présenté à la MRCT début 2010. Contact : fcamps [at] laas [dot] fr