Je vous parlais précédemment d’une étude que je mène dans le cadre de mon stage sur des logiciels de bugtracking et suivi temporel. Un de ceux que j’ai le plus étudiés est Mantis Bug Tracker, et je vais donc en parler rapidement.
Mantis Bug Tracker est un logiciel libre sous licence GPL, gratuit et développé en PHP. Il en est actuellement à sa version 1.2.1.
Il présente une interface simple. Un menu permet d’accéder rapidement aux principales pages, qui présentent les informations dans des tableaux. L’interface n’est pas très belle, mais après un moment de prise en main parfois déroutant le temps de trouver les contrôles pertinents, s’avère fonctionnelle. On regrette que la confirmation des différentes actions soit une page dédiée qui oblige ensuite à retourner à la page d’origine, ce qui occasionne une perte de temps ennuyeuse quand on fait par exemple un grand nombre d’opérations répétitives.
Mantis offre les fonctionnalités de base d’un bugtracker. Il permet de gérer les bugs simplement. Le workflow (enchainement des états d’une demande) est paramétrable par projet pour l’ajuster aux besoins. On peut ajouter toute sorte de champs personnalisés, à un ou plusieurs projets, pour ajouter les informations manquantes. Bien qu’ils puissent être de différents types (dates, boutons radio, liste déroulante, etc.), leur valeur est toujours stockée dans la base de données sous la forme d’une chaine de caractères et affichée telle que, empéchant par exemple de stocker un timestamp UNIX pour l’afficher sous forme de date.
On obtient donc une bonne flexibilité et une utilisation agréable.
La finesse de réglage des permissions (par fichier de configuration notamment) permet de coller aux besoins et aux différentes utilisations du logiciel. La configuration de la plupart des options avancées se fait par un fichier de configuration qui, s’il est long et offre une déroutant variété d’options, est également très bien documenté.
Un gros point faible de Mantis est qu’il n’y a quasiment aucune fonctionnalité de suivi des charges de travail sur les demandes. Un module est disponible mais malheureusement offre peu de choses : on peut uniquement entrer du temps écoulé sur une demande, et chaque entrée sera affichée dans l’affichage de la demande. On ne pourra pas obtenir de statistiques sur ces informations directement, bien qu’elles soient enregistrées sous forme numérique dans la base. De même, il y a peu de statistiques et présentés d’une forme peu agréable.
Ainsi, l’aspect gestion de projet est faible malgré la présence d’une feuille de route qui, en choisissant la version dans laquelle sera corrigé un bug, d’afficher l’avancement de cette version.
Un gros point fort est l’extensibilité de Mantis. Le système de plugin est très simple à utiliser. Il suffit d’implémenter quelques méthodes pour pouvoir effectuer des actions lors de la réception d’un évènement déclenché lors de la consultation d’une page, configurer le plugin et afficher des pages. Le principal problème réside dans un certain manque de documentation, le guide du développeur étant largement incomplet et les fichiers pas toujours bien documentés. Néanmoins, une convention de nommage bien respectée permet de trouver rapidement ce dont on a besoin dans les différentes API de gestion des objets. Ainsi, développer un plugin pour ajouter des fonctionnalités et l’intégrer à l’ensemble est très pratique !
En conclusion, on a un logiciel qui souffre de certains manques, mais qui sont compensés par une agréable simplicité, de la configuration et un système de plugins puissant. La document laisse à désirer mais malgré la perte de temps que cela occasionne cela ne bloque pas le développement. Il est également toujours possible de s’inspirer de plugins existants, assez nombreux bien que pas toujours adaptés à la dernière version, pour avoir des exemples de code. Ces plugins sont diffusés sous licence GPL. Une note correcte donc pour ce bugtracker libre et gratuit.
N’hésitez pas à me contacter à l’adresse leneurone_point_eu _at_ gmail_point_com pour toute question sur le développement pour Mantis, je me ferai un plaisir d’utiliser mon expérience acquise pendant ce stage pour essayer d’y répondre !