Mantis

From AleikoumWiki

Jump to: navigation, search

Petit retour d'expérience et howto sur l'outil de bug tracking et de ticketing : Mantis.


Contents

L'Approche

Qu'est ce ?

Mantis est un outil de ticketing et de tracking.
Ce type d'interface est de plus en plus utiliser pour avoir un suivi de la résolution de bugs mais aussi pour pouvoir suivre l'évolution d'un produit et de ses features.

Pourquoi lui ?

Il existe vraiment beaucoup de solution de ce genre : Request Tracker, Eventum, Trac, OneOrZero...
J'ai pu entre autre testé un Flyspray avec le thème Clean qui correspond pas mal à mes besoins excepté qu'il reste moins complet que Mantis (à mon goût).
Mais au dela du fait que le logo soit sympa, je trouve que Mantis est l'outil idéal quand on a pas envie d'avoir un outil trop rigide (comme peut l'être Request Tracker) et exigent en prérequis...

De plus je trouve que Mantis répond parfaitement aux besoins suivants :

  • les prérequis sont très limités, il faut avoir une base de données (MySQL fera amplement l'affaire) un web-server (Apache par exemple) et PHP (4.0.6 ou plus)
  • il est très simple à installer et à configurer comme on va pouvoir le voir
  • la gestion des notifications par mail peut être bien tunnée
  • interface simple : pour la lecture des tickets, la création ou la mise à jour... tout se fait facilement on est pas perdu et il n'y a pas de contraintes fortes pour la création des tickets et ca c'est agréable
  • tout un tas d'exports et formats printables c'est plutôt sympa
  • flux rss
  • une bonne communauté !

Cependant il est dommage de ne pas avoir les features suivantes :

  • envoyer des bugs par mail : avec un script qui tournerait en cron pour POPer un compte mail, parser les mails et remplir les champs de bugs automatiquement... Il existe cependant des scripts répondant à ce besoin (comme celui ci) mais bon faudrait les reprendre afin de les rendre plus efficaces.
  • themes : en effet, le design de Mantis est très rigide (il y a juste un fichier CSS pour les polices et certains background) et donc le modifier pour le "charter" n'est pas forcément évident... Mais dans les prochaines versions se sera à priori plus un soucis comme on peut le lire ici.

Liens

Voici quelques liens utils pour cet outil :


Le Test

Mes prérequis

Le test a été réalisé dans l'environnement suivant :

  • PHP v4.3.11 (pour le savoir lancer la commande php -v)
  • MySQL v4.0.24
  • Apache v1.3.33

L'installation

(largement inspiré de http://www.mantisbt.org/manual/manual.installation.php)

Tout d'abord il faut récuperer la dernière archive sur http://www.mantisbt.org/download.php
Pour ma part, j'ai travaillé avec la version 1.0.8 de Mantis que j'ai récupéré ainsi :

wget http://downloads.sourceforge.net/mantisbt/mantis-1.0.8.tar.gz?modtime=1183278873&big_mirror=0
tar -xvzf mantis-1.0.8.tar.gz && mv mantis-1.0.8 mantis && cd mantis


Ensuite rien de plus simple il suffit de faire un lien dans votre htdocs (ou sinon créer un alias dans votre conf Apache)

ln -s mantis /usr/local/httpd/htdocs/mantis

C'est fou mais il reste déjà presque plus rien à faire
Maintenant il faut vous assurer que vous avez un user MySQL qui puisse créer des tables les mettres à jours and so on. Puis il suffit de se rendre à l'aide de votre navigateur à l'adresse suivante http://votre-domaine/mantis/admin/install.php
Et il ne reste plus qu'à suivre les instructions (serveur de base de données, login et password du user MySQL pour créer les tables...)

Normalement si vous avez fait comme moi, tout est vert et s'est bien passé sauf qu'il manque le fameux fichier de config qui sera nécessaire d'avoir pour passer à l'étape suivante !
Créez le fichier de conf comme le recommande l'appli puis vous pourrez le tunner à votre convenance par la suite.
Ensuite vous pouvez vous logger normalement sachant qu'un compte admin est créer avec par défaut comme login/password : administrator/root
Ne pas oublier de changer ce password
Et ne pas oublier de changer les droits sur le répertoire d'admin :

chmod 600 /usr/local/httpd/htdocs/mantis/admin/


La Configuration

Sur ce lien vous avez toutes les variables avec lesquelles vous pouvez jouer afin de configurer le soft selon vos besoins !

Et voici mon fichier de conf : config_inc.php

<?php

// --- database variables ---
$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'bugtracker';
$g_db_username = 'ouech';
$g_db_password = 'tinkietes';

// --- email variables ---
$g_administrator_email = 'admin@plop.fr';               // This is mainly prompted to the user in case of errors
$g_webmaster_email = 'admin@plop.fr';                   // This address is displayed in the bottom of all Mantis pages.
$g_from_email = 'no-reply@plop.fr'  ;                   // The email address to be used as the source of all emails sent by Mantis.
$g_enable_email_notification = ON;
$g_email_receive_own = OFF;                             // This defines whether users should receive emails for their own actions.

// --- language variables ---
$g_default_language = 'french';

// --- display variables ---
$g_window_title = 'Mantis - Plop';                      // This is the browser window title (<TITLE> tag).
$g_show_report = SIMPLE_ONLY;                           // type of report : simple, advanced or both
$g_show_update = SIMPLE_ONLY;                           // type of update : simple, advanced or both
$g_show_view = SIMPLE_ONLY;                             // type of view : simple, advanced or both
$g_show_attachments_indicator = ON;                     // In view all bug page, show a clip icon next to bugs that has one or 
                                                        // more attachments.

// --- date variables ---
$g_short_date_format = 'Y-m-d';
$g_normal_date_format = 'Y-m-d H:i';
$g_complete_date_format = 'Y-m-d H:i T';

// --- misc variables ---
$g_allow_signup = OFF;                                  // disable anonymous user to create an account


?>
Personal tools