Die Trac ! Die !
Par Laurentj le mardi, avril 1 2008, 11:58 - Logiciels - Lien permanent
Pour le projet Jelix, j'utilise Trac pour le suivi et la gestion des bugs (il est hebergé sur http://developer.jelix.org/). Au départ, je l'avais trouvé sympa : simple à utiliser, avec des rubriques utiles comme la gestion et la visualisation des roadmap, la timeline pour être au courant de toutes les dernières modifications, le wiki intégré, la navigation dans les sources plus "sexy" que websvn.
Par contre à l'usage, Trac commence sérieusement à me gonfler :
- Contenu des tickets vraiment minimal. Certes on peut ajouter des champs via le trac.ini (très facile), mais on ne peut définir aucune règle de gestion, sauf à développer un plugin (et le python n'est pas encore ma tasse de thé), ou alors à faire du javascript dans tout les sens pour cacher la misère (le plugin des dépendances de tickets est un bel exemple en la matière).
- Les plugins parlons-en : du fait du minimalisme dans les tickets, on est obligé d'en installer un minimum afin d'avoir un truc décent. Par exemple, pour pouvoir créer des dépendances entre tickets (tel ticket bloque tel autre ticket), pouvoir gérer certaines choses "basiques" (liste des composants des versions etc), Ou encore avoir une authentification un peu mieux foutu. Cependant, le problème avec les plugins, c'est que la plupart sont soit incomplets, soit buggés, soit obsolètes ou utilisables seulement pour une version supérieure (et instable) de trac.
- Il en découle un autre problème : la complexité de mettre à jour trac ou d'installer les plugins. Faut avoir les droits d'admin pour installer trac, modifier la conf apache et cie. Il y a des dépendances de partout. Il faut taper des lignes de commandes dans tout les sens, dont on ne se rappelle jamais la syntaxe. Bref, par rapport à une appli PHP traditionnelle, c'est l'horreur.
- Impossible de rajouter des informations sur les pièces jointes. La gestion des pièces jointes est finalement trop pauvre pour mes besoins.
- L'affichage des pièces jointes : buggé tout simplement. Quand on attache un patch par exemple. Pour certains, on peut les visualiser directement dans trac (avec coloration syntaxique et tout), pour d'autre, obligation de les télécharger pour les voir. Je soupçonne un problème de reconnaissance du mime type du fichier lors de l'upload, ou un truc dans le genre. Toujours est-il que c'est très énervant.
- Bon et puis c'est pas super réactif, dû peut-être au fait que c'est en Python (pas taper :-) ), mais aussi certainement dû à la base de donnée : les concepteurs de trac sont vraiment des newbies en modélisation de base de données. Le schéma fait vraiment peur à voir. Un exemple : ils ne connaissent pas varchar, et vas-y que je te met tout les champs textuel en type "TEXT", des champs contenant uniquement des valeurs numériques en type "TEXT" également... Bien sûr, j'ai tenté d'améliorer tout ça, en changeant certains types, en ajoutant des indexes (primaire ou pas) là où il devait y en avoir etc.. Mais ça n'a que vaguement améliorer les choses.
- Je ne parle pas des templates super lourdingues à modifier. J'en ai passé des heures à intégrer le design "jelix.org"...
J'utilise une version 0.10, je sais que la 0.11 est en préparation et corrige certains points (le langage des templates, l'admin par ex). Mais j'envisage sérieusement de changer de gestionnaire de projet. J'en ai déjà regardé quelques-uns : Bugzilla, Mantis, Redmine. Cependant, ils ne me conviennent pas forcément.
- La gestion des tickets dans bugzilla est tout à fait ce qu'il faut. Mais l'interface est austère, et il n'y a pas de rubriques annexes comme la vue des roadmaps, de la timeline, la navigation dans les sources, ni de wiki intégré.
- Redmine : ça a l'air sympa, mais un peu simpliste quand même. Et j'ai eu des retours comme quoi c'était plutôt lent, même sur une machine dédiée (rails oblige ?)
- Mantis : l'interface est tout simplement une horreur. Pas seulement le design, mais aussi la façon dont elle est organisée. Et c'est lent.
Je suis en train de regarder une autre solution, mais je vous en dirais plus un autre jour.
Mise à jour : autres produits vus
- phpBugTracker : trop simpliste, moche
- Jira : ça a l'air complet et semble y avoir tout ce qu'il faut. Mais faut installer un serveur java, et puis c'est pas libre, bien que la licence soit gratuite pour les projets libres.
Commentaires
Mantis est peut-être pas parfait, mais l'interface se personnalise assez simplement. C'est le choix que l'on a retenu (pour l'instant) pour le bug manager de Brick CMS
Sur la lenteur, je pense que ça dépend essentiellement du serveur, et vu qu'un bug manager n'a jamais 6000 connections en même temps, ce n'est pas bien grave...
Je te rejoins complètement sur ton avis sur Trac. Je ne comprends pas comment un outil aussi mal conçu a pu arriver jusque là ... Je n'ai pas étudié tes autres propositions mais j'ai été voir Redmine, ça ne semble pas si lent que ça sur leur demo ? (pourtant très très remplie !) Y'a pas d'alternative en PHP ?
J'utilise Redmine régulièrement et c'est vrai que même si dans l'ensemble il est relativement rapide, il rame un peu pour quelques opérations mais c'est un manque d'optimisation à mon avis. Sinon toujours en Rails il y a http://retrospectiva.org/blog qui est plutôt sympa et très rapide.
@cedsib : un truc que je n'aime pas du tout dans mantis, c'est qu'il faille absolument s'identifier pour visiter le site. Ça ne fait pas du tout "développement ouvert". Qu'il faille s'identifier pour modifier, créer un ticket, je le conçois (à mort les spams !), mais qu'on ne puisse pas voir simplement les tickets et autres informations, ça me gène beaucoup.
pour l'histoire des "6000 connections en même temps", tu oublie que peu de monde peuvent se permettre d'avoir un serveur dedié uniquement à un bug tracker. Et donc il arrive souvent que le bug tracker soit installé sur une machine plus ou moins chargée. Donc le fait qu'il soit mal conçu et lent par nature, ça peut être "grave", car la charge des autres sites à coté le ralenti encore plus, mais aussi il participe à la charge générale (au niveau proc, base de donnée etc).
@kilgore
Je pense que c'est parce qu'il faut tout de même avouer qu'il a certaines fonctionnalités sexy que n'ont pas les autres cf les points positifs en début de billet). Moi c'est ce qui m'a séduit. Et le fait aussi que les informations sont présentées de façon claire en général.
@ LaurentJ:
Trac sur du mutualisé ça passe ? :-) pas sûr ^^
Pour le côté ouvert, c'est vrai. mais ça évoluera peut-être ?
Cela me fait bien plaisir de voir que je ne suis pas le seul à penser cela de Trac. Il y a 2 ou 3 ans quand je disais cela j'étais un hérétique. Aujourd'hui la hype est retombée et cela fait du bien.
@cedsib : ça ne veut pas dire qu'on dédie un serveur entier à trac. Ce n'est pas le cas pour moi par exemple. Il n'y a pas que trac, il y a aussi d'autres sites sur le serveur où est jelix.
T'as testé Jira? Je crois qu'ils filent des licences gratuites aux projets open sources.
@OI ça à l'air pas mal Jira. Mis à part qu'il faut installer java, tomcat, et avoir un serveur potable...
Cher Jyjy, j'utilise Jira depuis un petit moment déjà... C'est de la balle atomique... Il ne lui manque juste qu'un browser de source svn (j'utilise pour cela WebClient for SVN ou si t'as les moyens fisheyes).
Si t'arrives à te faire offrir jira+confluence+fisheye... Je peux te dire que t'as un truc solide, et pas trop lent!!! Moi je me suis fais offrir tout ça par ma boite... Franchement c'est autre chose que bugzilla, redmine, trac ou mantis... Je pense franchement que le gain à utiliser un tel outil, justifie grandement son prix (en tout cas pour ma boite actuelle!)
M'enfin, si jamais tu trouves un autre truc, aussi complet et sympa, et free (parce que Jira, confluence ou fisheyey est open source, pour peu que tu te sois offert une licence). Je veux bien que tu me mettes au courant! Histoire d'avoir chez moi autre chose que ces horreurs que tu as cité...
Il y a quelque-chose que j'adore dans Trac (à vrai dire, je ne l'ai jamais utilisé que pour ça...), c'est le browser de dépôt SVN, et en particulier la visualisation des diffs. Ça surligne les morceaux d'une ligne qui ont vraiment changé, et... ça change la vie.
Des browsers du type ViewVC sont pas mal, mais à mon avis largement moins biens que le browser de Trac.
Moi j'utilise flyspray comme bugtracker et suivie de roadmap. moins de possiblité que trac mais il fonctionne pas mal
Ce qui a fait le succès de Trac, c'est son intégration de la gestion de configuration logicielle (bug et sources sont liées). Ce qui fait qu'il s'essouffle c'est qu'il a peu évolué depuis ses origines et que ses défauts deviennent pénibles à l'usage.
Sinon, j'aime beaucoup Jira également (qui n'est d'ailleurs pas si cher).
Je comprends ton agacement vis-à-vis de trac mais avec quelques plugin (non buggés!!) tu te facilites la vie. Je parle du plugin admin (iniadmin) qui te permet d'installer de nouveau plugin, de gérer la conf.
Pour la gestion des templates, je n'ai pas trouvé de solutions magiques.
ben je plussoie fortement pour redmine, qui est vraiment bien gaulé !
jamais constaté de lenteur, mais utilisé uniquement en interne pour une vingtaine d'utilisateurs donc j'ai pas de bench vraiment réaliste...
en revanche, je fuierai retrospectiva comme la peste désolé.. :-/ c'est un fork de collaboa, ces deux projets ont des bases pourrites (ca copie Trac, et franchement c'est pas terrible)
Je trouve pas Redmine simpliste, tu peux configurer les trackers que tu veux, etc... Tu devrais ptet l'installer Laurent, c'est plus complet que sur la démo.
Sinon la seule raison (mais essentielle) pour laquelle Trac est populaire, c'est bien parce qu'il intègre des outils indispensables... comme dit plus haut.
si t'as des questions sur redmine je veux bien répondre ...
@Jardin> Je suis assez surpris de ton retour parce que la seule expérience que j'ai de Jira/Confluence/Fisheye est liée au Zend Framework qui les utilise et c'est très instable. Ces outils sont tout le temps en vrac.
Après, ce sont peut-être les admins de Zend qui ne savent pas les faire tourner. ;)
Trac s'installe très bien sans droits d'administrateur.
Et le Python/PHP/Ruby, c'est à peu près pareil. Si tu sais programmer dans l'un tu sais programmer dans l'autre.
@loufoque : faudra alors que tu m'expliques comment modifier la conf apache sans droits d'admin que ce soit en mode cgi, fcgi, mod_python etc. (surtout en hebergement mutualisé où tu ne peux en général pas faire grand chose dans le .htaccess).
Et comment installer les dépendances aussi. Premières lignes qu'on voit sur http://trac.edgewall.org/wiki/TracInstall : sudo easy_install.
Et je ne parle même pas de l'installation d'un dépot subversion, pour lequel il faut déjà avoir accés à une console, avoir accès à svnadmin etc.. (trac ne fonctionne pas avec un depot svn distant)
note: pour jelix, je m'en fou qu'il faille les droits d'admin ou pas, je suis sur un dédié sur lequel on m'a donné le sudo. Mais j'aurais bien aimé pouvoir m'installer un trac sur mon site perso qui est sur un mutu, pour mes petits projets perso par ex.
Pour le bugtracking, on utilise Eventum au taf : http://dev.mysql.com/downloads/other/eventum/
Apres en avoir testé une demi douzaine, je suis tombé presque par hasard dessus et c'est... vraiment tres bien :)
my 2 cents de lecteur fidèle
http://www.beanstalkapp.com/
je n'ai pas testé mais c'est joli ;D
@oov : ça ne semble pas un truc à installer chez soi, et ça a l'air d'être plus un browser de dépôt subversion qu'un tracker complet.
@pyg: ok merci je regarderais
@pyg
Ho mon dieu eventum... bon je ne dis pas que c'est pas bien, mais devant le modifier pour le boulot c'est une vrai horreur haha ;)
flyspray me semble pas mal en effet, il est utilisé par ovh pour le suivi de ses serveurs : http://travaux.ovh.com
Je plussoie pour flyspray.