Des forges, il y en a un paquet : Sourceforge.net voire Github.com. La communauté Ubuntu doit aussi avoir entendu parler de Launchpad.net, un utilitaire développé par Canonical. Mais toutes soulèvent un même problème : elles sont propriétaires (ou privatrices, sauf Launchpad depuis peu). Existe-t-il une alternative libre valable ?
Dans ce billet, j'ai choisi de vous faire découvrir Codingteam, une forge ouverte, d'apparence simple mais avec un nombre assez impressionnant de fonctionnalités. Elle est développée par Erwan Briand avec l'aide de quelques contributeurs, et met à disposition de ses utilisateurs un service officiel, Codingteam.net. Je l'utilise quotidiennement dans le développement du projet Jappix, et celle-ci m'a permis de travailler bien plus vite, et de mieux entrer en contact avec la communauté intéressée par le projet.
Présentation de la forge
Codingteam, forge issue du Logiciel Libre, a vu le jour le 22 juin 2007 et peut être considérée comme équivalente aux grosses forges commerciales connues. Celle-ci est annoncée comme robuste et entièrement personnalisable, développée en PHP et publiée sous les termes de la licence GNU AGPL v3.
Au tout début, Erwan souhaitait juste créer un outil lui permettant d'héberger ses projets personnels, qui est progressivement devenu une forge qu'il qualifie de "normale" et utilisable de tout le monde. Codingteam était née.
Aussi bien utilisable dans un cadre professionnel que particulier, voire même communautaire (je pense notamment à la mise en place de Codingteam pour un gros projet), le forge a le particulier intérêt d'être décentralisée et donc installable n'importe où. D'ailleurs, quelques entreprises listées en bas de la page du site du projet l'utilisent.
Pour le moment relativement jeune, la forge est très stable et complète : elle est tout à fait utilisable en production !
Évolution des versions
La toute première version publique de Codingteam fut la 0.42, introduisant des fonctionnalités de base, par la suite améliorées.
Ensuite vint la 0.9, un tournant majeur pour le projet, car le code de la 0.42 fut entièrement réduit car considéré comme "trop difficile à maintenir". C'est à ce moment-ci que XMPP a été introduit, ainsi que l'API OpenForge.
Puis, la version 0.9.1 vit le jour, avec un moteur de templates, permettant d'utiliser, de créer et de modifier simplement des thèmes différents que celui proposé par défaut.
Enfin, la dernière version stable à ce jour, la 0.9.2, fut publiée. Elle réintroduisit l'internationalisation de la 0.42, enlevée à la suite de la réécriture du code dans la 0.9, et proposa quelques nouvelles options pour rendre des projets plus privés.
Fonctionnalités proposées
Codingteam propose un nombre conséquent de fonctionnalités, toutes aussi utiles que les autres.
Ainsi, pour les projets, nous trouverons (cliquez pour voir les exemples, tirés du projet Jappix) :
- Des statistiques détaillées ;
- Une chronologie de l'activité du projet ;
- Un espace de téléchargement (dépôt de fichiers) ;
- Un dépôt Subversion (SVN) avec explorateur de code et retour dans le temps ;
- Un gestionnaire d'anomalies avec feuille de route ;
- Un module d'internationalisation (traduction) ;
- Un wiki (ou documentation) ;
- Un blog (ou actualités) ;
- Un forum public ;
- Des salles de discussion XMPP avec archivage possible
Pour ce qui est des comptes utilisateurs :
- Un profil utilisateur complet ;
- Possibilité de récupérer son avatar et sa présence sur XMPP ;
- Un porte-documents pour déposer simplement des fichiers ;
- Un bloc-notes pour publier des morceaux de code (comme Pastebin) ;
- Un tableau de bord pour suivre l'activité de tous ses projets
Que demander de mieux ? De plus, avec le service officiel, vous ne serez pas limité en taille sur le dépôt SVN ainsi que le dépôt de fichiers d'un projet (dans la limite du raisonnable tout de même !).
Liens externes
- Codingteam.org : le site du projet
- Codingteam.net : le service officiel
- Wikipedia.org : informations sur Codingteam
14 juin 2010 à 16:03
Autre forge libre moins connu mais tout aussi puissante :
http://www.indefero.net
14 juin 2010 à 16:03
J'aime beaucoup Codingteam mais sans le support de Git je ne l'utiliserai pas malheureusement.
14 juin 2010 à 16:12
« Des forges, il y en a un paquet […] Mais toutes […] sont propriétaires (ou privatrices, sauf Launchpad depuis peu). »
Euh… ah ? FusionForge est propriétaire ? Codendi est propriétaire ? RedMine est propriétaire ?
En tant que développeur de FusionForge, j'accueille la « concurrence » à bras ouverts (et on aurait certainement du code à partager si l'AGPLv3 de Codingteam était compatible avec la GPLv2+ de FusionForge), mais c'est pas une raison pour raconter des vannes.
14 juin 2010 à 16:16
J'ai eu un peu de mal à comprendre la phrase donc je pense qu'il faudrait faire un petit :
s/n'en demeure pas pour autant instable et incomplète/n'est pas pour autant instable ou incomplète/
Merci.
14 juin 2010 à 16:19
: je parlais des grosses forges très connues. Je n'ai pas dû être assez clair, désolé !
14 juin 2010 à 16:27
interessant, je ne connaissais pas
à part git il a vraiment tout ce qu'il faut mais bon de toute façon svn c'est déjà très bien
je l'utiliserai pour mon prochain projet
14 juin 2010 à 16:33
Très intéressant, malheureusement, j'aurais apprécié une introduction à l'installation de codingteam, car la dernière fois que j'ai essayé la chose, cela m'a semblé particulièrement complexe.
Le fait qu'on ne puisse pas l'installer en 100% PHP est aussi problématique, car on ne peut pas l'utiliser sur les hotes mutualisés. Je cherche toujours la forge qui me permettra de faire cela, mais sans succès.
14 juin 2010 à 20:34
4All > Il y a aussi The Bug Genie qui est pas mal foutu du tout. Il manque quelques trucs mais la version 3 que les développeurs préparent s'annonce vraiment géniale. En plus c'est du 100% PHP/MySQL, donc ça s'installe sans problème sur un mutu (j'ai essayé).
Je vous invite tous à tester la Technical Preview 6 de la version 3 ici > http://www.thebuggenie.com/
PS : ce n'est pas de la publicité ... enfin si, un peu mais je trouve que la direction prise avec cette nouvelle version 3 mérite qu'on en fasse un peu
15 juin 2010 à 16:43
Effectivement Codendi n'est pas propriétaire mais bien 100% open source en php y compris la version Pro. Pour ceux que GIT intéresse, vous pouvez jeter un coup d'oeil à la version 4.2 béta de Codendi qui comprend justement GIT en nouveauté. https://codendi.org/forum/forum.php?forum_id=97
19 juin 2010 à 12:14
Comme Etenil j'aurai aimé avoir l'installation détaillée de la dernière version (0.93 voir nouvelle sur Da Linux Fr)
Integre(ra)-t-elle un outil pour creer des paquets (comme celui de launchpad) ?
Quelle est la difference avec la célèbre TuxFamilly ?
19 juin 2010 à 17:06
: non, elle n'intègre pas ce genre d'outil pour le moment, mais tu peux aller sur http://codingteam.net/project/codingteam/bugs/add pour demander l'ajout de cette fonctionnalité
TuxFamily propose des outils d'hébergement, sans avoir vraiment d'outils graphiques derrières, alors que Codingteam fourni plus des outils graphiques que de l'hébergement (pas d'hébergement mail et web pour le moment).