Forge (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En informatique, une forge désigne un système de gestion de développement collaboratif de logiciel.

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.

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).

On peut par exemple citer SourceForge.net, qui est la première forge (historiquement) à 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.

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.)

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 ».

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/
    • Basés sur le dernier code source libre de Sourceforge
      • Codendi (ex Codex)
      • FusionForge (reprise du code sous GPL de GForge)
      • NovaForge : (en) http://www.bull.com/integration/novaforge.html
      • Savane (logiciel utilisé par GNU Savannah et Gna)
    • CodingTeam
    • InDefero : http://www.indefero.net
    • Launchpad : développé par Canonical
    • LibreSource
    • PicoForge : (en) http://www.picoforge.org/
    • RedMine
    • Trac
    • Retrospectiva : (en) http://retrospectiva.org, met l'accent sur les équipes de développement agiles
    • VHFFS (logiciel utilisé par TuxFamily)
  • en logiciel propriétaire
    • CodePlex (en) : (en) http://www.codeplex.com de Microsoft
    • GForge AS (en)
    • TeamForge (logiciel utilisé par SourceForge.net)
Page générée en 0.135 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise