Pas pratique, moche, encombrant

Mar 02 novembre 2004

Cet article est le deuxième volet d'une série d'articles concernant l'utilisabilité des logiciels.
Voir l'article précédent.
Pour la petite histoire, cet article n'était pas du tout prévu dans mon plan initial, mais en testouillant WAMP5 aujourd'hui au boulot, j'ai eu l'impulsion de ce râlage en bonne et dûe forme.

J'arriverai jamais à comprendre certains trucs. PhpMyAdmin est une application "front-end" pour MySQL, écrite en PHP.
Quand j'ai commencé à me mettre à PHP, c'est à dire vers l'été 2001, phpMyAdmin pesait quelques centaines de Ko, moins d'un méga, en tous cas. C'était une appli rapide et sûre, brute de fonderie, certes, au design peu attrayant, re-certes.

Mais on n'a jamais demandé à un marteau d'être séduisant, après tout. Sa seule fonction, c'est d'enfoncer un clou. Qu'il soit peint en rose ou en vert ne changera pas son mode d'emploi, ni son efficacité.
Le logo du phpMyAdmin que je reconnais, c'est celui-ci :
vieux logo de
phpmyadmin
Et voici le nouveau :
nouveau logo de
phpmyadmin
Berk. Il encombre complètement l'écran, bouleverse la mise en page de l'application, n'a rien à voir avec la choucroute (un voilier ? un rapport avec le dauphin MySQL ?).
L'application s'est également "enrichie" d'une foultitude de petites icônes qui font "zouli" (un feu rouge pour "état du serveur", un crayon pour "modifier"). Si tu ne me crois pas, va donc faire un tour sur l'espace de démo.
Quand j'étais chez i-wam, le front-end utilisé était eSKUeL (sic) :

Parce que c'est plus joli.

La démo est ici
Ben je peux te dire qu'à l'usage, eSKUeL a largement moins de fonctions et représente une perte de temps considérable - essaie donc de faire des modifications manuelles sur l'ensemble d'une table, un vrai bonheur de complication. Sans parler du temps de chargement des pages, largement alourdi par l'interface graphique. Pour rien.
Ah, si, pardon, pour faire joli.

Maintenant, phpMyAdmin pèse plus de 2Mo (oui ! oui ! Deux mégas), dispose de bidules purement cosmétiques (dessin des relations entre tables, génération en PDF du dictionnaire de données - incluant fpdf, une gestion des skins - ah ! la bonne blague). Et attention ! je n'appelle pas la traduction en 47 langues une fonctionnalité cosmétique, l'internationalisation d'un logiciel est largement plus importante que toutes les icônes de la terre.

Je comprends pas. Où s'est donc situé le virage ? On partait d'un simple marteau destiné à enfoncer un clou le mieux possible, et une fois que la tête du marteau a pu bénéficier de tous les avancées des technologies en terme de matériau, on se met à peinturlurer le manche dans tous les sens, pour le rendre plus "convivial", ce qui l'alourdit, le rend glissant, limite inutilisable.
Faire évoluer une application, c'est bien, mais la surcharge des dernières versions de phpMyAdmin ressemble à du tirage à la ligne, du raccroc. Il faudrait que les développeurs des logiciels (libres ou non) se rendent bien à l'évidence. Quand une appli remplit à 100% son but initial, ça ne sert vraiment à rien de rajouter quoi que ce soit de plus. Ca fait partie du cycle de la vie d'un programme, même si les analystes à la MERISE ne l'admettent que rarement : une application meurt. Il faut s'y faire. Et il faut y penser même quand on commence à la développer. C'est pas moi qui le dit, c'est Kent Beck. Et ce n'est pas parce que le développement de l'application est terminé qu'on ne peut plus s'en servir. C'est même mieux. Une fois l'outil performant et stabilisé, il peut servir pendant des années sans soucis. Les seuls ajouts qu'on pourrait admettre seraient des patches de sécurité ou des mises à niveau de certaines bibliothèques externes.
Je suis intiment persuadé qu'un marteau n'a pas besoin de servir de machine à café.