InDefero est à l’origine un clone de GoogleCode. Loïc d’Anterroches à démarré ce projet en juillet 2008 pour se libérer de GoogleCode. Le projet est clairement un clone, l’interface, quoique simplifiée a été reprise dès le début.
Le projet a commencé comme un simple bug tracker, le parcours d’un dépôt git arrivant très rapidement. Aujourd’hui, toutes les fonctionnalités du GoogleCode de l’époque ont été implémentées, il manque maintenant la revue de code pour être l’égal de ce dernier.
La dernière version inclut donc le support de Mercurial et un wiki pour la documentation.
Les principales fonctionnalités implémentées :
- Projets multiples avec une installation.
- Une page d’accueil pour chaque projet.
- 3 modules : Tracker de bug, parcours de dépôt (git, subversion, mercurial) et wiki.
- La configuration du dépôt est indépendante pour chaque projet, vous pouvez avoir l’un utilisant subversion et l’autre git.
- Gestion de droits d’accès sur chacun des modules et ceci par projet (utilisateurs anonymes, authentifiés, membres du projet et administrateurs du projet). Vous pouvez donner accès au code uniquement aux membres par exemple.
- Projets privés, pratique pour votre todo list ou les projets internes de votre entreprise. Ainsi vous n’avez qu’une seule forge à gérer.
- Une ligne du temps qui déroule l’activité du projet.
- Utilisation importante des étiquettes pour classer les tickets, téléchargements ou pages de la documentation.
- Un moteur de recherches.
- Localisé en Anglais et Français.
Plus en détails, le tracker offre :
- Étiquettes pour les tickets.
- Commentaires sur les tickets avec liens entre les tickets et les commits réalisés automatiquement.
- Liste de tickets par étiquette ou status.
- Liste personnelle des tickets soumis ou assignés.
- Pourcentage des tickets fermés pour chaque étiquette permettant de réaliser une étiquette “milestone” et ainsi voir le travail restant à effectuer avant la sortie.
- Suivi de certains tickets avec une étoile pour avoir la notification de l’évolution du ticket via email.
- Notifications par email.
- Fichiers attachés aux tickets pour des patchs ou autre.
- Moteur de recherches (classement par score avec stemming pour de meilleurs résultats).
- Une API pour soumettre des tickets et lister les tickets (REST et réponse JSON).
Le parcours du code offre :
- Support de git, subversion et mercurial (peut-être bientôt bazaar).
- Changelog du code par branche.
- Diff d’un commit avec une jolie visualisation.
- Téléchargement de chaque fichier à n’importe quel révision/commit.
- Téléchargement d’une archive zip de tout le dépôt à n’importe quel commit/révision.
- Visualisation du code en ligne avec coloration syntaxique.
- Liens des messages de commit vers les tickets.
InDefero utilise Pluf, un framework PHP5 ayant l’esprit et la forme de Django. C’est ce framework qui a permis le développement très rapide d’InDefero.
L’installation reste un peu difficile, il n’y a pas un script qui fait tout, il faut avoir accès à PHP en ligne de commande et comprendre un peu les chemins d’inclusion de PHP pour avoir le code du framework Pluf (dont il faut utiliser la dernière version) dans l’include_path de PHP.
Article librement adapté de l’article publié sur LinuxOrg (InDefero, Wiki et support de Mercurial dans la version 0.4.0) par Loïc d’Anterroches.
Site Internet : InDefero
Licence : GPL