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
, CVS...
- Outils à fonctionnement plus décentralisé : mercurial,
git...
Le mot clé
"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é
outils de diffusion de l'information.