- Forge (informatique)
-
Pour les articles homonymes, voir Forge.
En informatique, une forge désigne un système de gestion de développement collaboratif de logiciel.
Sommaire
Objectifs
L'objectif d'une forge est de permettre à plusieurs développeurs de participer ensemble au développement d'un ou plusieurs logiciels, le plus souvent à travers le réseau Internet.
De fait, une forge permet de rassembler des projets et des développeurs. Mais la plupart des forges permettent aussi à des personnes ne pratiquant pas la programmation de participer, par exemple les traducteurs ou les graphistes, ou les utilisateurs qui s'entraident dans des forums ou soumettent des rapports de bogues. Une forge permet donc de rassembler tous ces gens autour du développement de projets de logiciel.
Les forges représentent donc un bon moyen d'assurer la transparence du développement d'un projet et de trouver des contributeurs afin que le projet soit actif.
Fonctions disponibles
Les outils offerts par une forge sont principalement :
- système de gestion des versions (via Subversion ou CVS, par exemple)
- gestionnaire de listes de discussion (et/ou de forums)
- outil de suivi des bugs
- gestionnaire documentation (souvent sur le principe du wiki)
- gestion des tâches
- traduction en ligne
L'avantage d'une forge est de rassembler tous ces outils en un seul ensemble intégré et cohérent, et de les mettre à disposition de plusieurs personnes afin qu'elles puissent développer ensemble leurs projets. En effet, avant l'apparition des forges, les développeurs souhaitant collaborer pour le développement d'un projet devaient installer chaque application séparément, ce qui demande bien plus de travail et de temps.
Ensuite, la forge peut aussi permettre de présenter son projet (ce qui peut être utile pour attirer des contributeurs potentiels) grâce à des outils comme :
- la présentation de copies d'écrans
- l'écriture d'actualités
- la mise à disposition d'un hébergement ou de quelques pages descriptives
Cela peut être organisé sur une page de présentation du projet, qui rassemble aussi la licence du projet, les technologies utilisées, la compatibilité...
Plus largement, les forges tendent à intégrer de plus en plus d'outils également présents dans d'autres plates-formes collaboratives facilitant le travail de groupe, l'organisation et la synchronisation dans les projets, mais aussi des outils plus spécifiques au développement de logiciels (outils d'intégration continue : de tests, packaging etc.)
Services en ligne d'hébergement de projets
Il existe plusieurs forges actuellement disponibles sur le Web dans lesquelles des développeurs peuvent faire héberger gratuitement leurs projets.
Souvent, ces forges sont dédiées à l'hébergement de projets de développement de logiciel libre, parfois elles acceptent des projets développant des logiciels non-libres (mais dont les sources sont accessibles)[réf. nécessaire].
On peut par exemple citer SourceForge.net, qui est historiquement la première forge à proposer ce type de service à grande échelle. Des forges comme GNU Savannah sont dédiées à l'hébergement exclusif de projets de logiciels libres.
Logiciels intégrés pour le déploiement d'une forge
Il est également possible de déployer sa propre plate-forme de forge pour y héberger ses projets. La plupart des grands projets collaboratifs ont aujourd'hui adopté cette stratégie plutôt que d'utiliser les services externes d'hébergement.
Différentes forges sont disponibles sous forme intégrée pour ce faire. Elles reprennent en général des fonctions similaires à celles des services d'hébergement. Par rapport à l'utilisation d'un service externe, elles apportent une certaine indépendance aux projets qui s'en dotent, mais aux dépens d'un coût de mise en place et d'administration pour l'organisation qui met la forge en ligne.
Forges libres pour développer du logiciel libre
Les plates-formes de forges ne fonctionnent pas toutes elles-mêmes à base de logiciels libres, ou dans un cadre bénévole, ce qui pose évidemment la question de l'utilisation et du stockage des données des projets déposés sur ces forges. Un article de la Free Software Foundation Europe résume cette question en s'intéressant à la « dérive de SourceForge »[1].
De même, le fait que le logiciel SourceForge soit devenu un logiciel propriétaire a poussé la création de nombreux « forks ». Ainsi, plusieurs forges libres sont basées sur une version antérieure de SourceForge, il s'agit de :
- Gforge, qui a ensuite donné naissance à sa propre variante propriétaire GForge AS et dont le code libre a été renommé FusionForge
- Savane, qui a été développé pour faire fonctionner GNU Savannah
- Berlios
Liste de logiciels de forges
- en logiciel libre
- BerliOS (en) : http://developer.berlios.de/
- ChiliProject : https://www.chiliproject.org/ (fork de RedMine)
- Codendi (anciennement CodeX)
- CodingTeam
- FusionForge (reprise du code sous GPL de GForge)
- InDefero : http://www.indefero.net
- JasForge : (en) http://www.jasforge.com/
- Launchpad : développé par Canonical
- LibreSource
- PicoForge : (en) http://www.picoforge.org/
- RedMine
- Retrospectiva : (en) http://retrospectiva.org, met l'accent sur les équipes de développement agiles
- Savane (logiciel utilisé par GNU Savannah et Gna)
- Trac
- Tuleap
- VHFFS (logiciel utilisé par TuxFamily)
- en logiciel propriétaire
- CodePlex (en) : (en) http://www.codeplex.com de Microsoft
- GForge AS (en)
- NovaForge : (en) http://www.bull.com/integration/novaforge.html . Cette offre propriétaire contient des produits propriétaires associés à d'autres composants open source. La partie forge est basée sur le dernier code source libre de Sourceforge.
- TeamForge (logiciel utilisé par SourceForge.net)
Notes et références
- FSF France : (fr) http://www.france.fsfeurope.org/news/article2001-10-20-01.fr.html Article de la
Voir aussi
Liens externes
- (en) PlanetForge, Communauté d'intérêt autour des forges logicielles
- (fr) Comparatif de LibreSource, Trac, GForge et Savane
Catégories :- Outil de développement logiciel
- Logiciel de gestion de projets
Wikimedia Foundation. 2010.