Actualités
|
![]() |
Emploi
|
![]() |
Start-up
|
![]() |
Evénements 01 | ![]() |
Vidéos | ![]() |
Indicateurs
|
![]() |
Distribution
|
![]() |
Telecharger Pro
|
![]() |
Livres blancs | |||||||||||||||||||||||||












J'expliquais dans mon dernier billet comment le logiciel libre, par sa transparence, offrait de meilleures garanties de qualité, tout simplement parce qu'on pouvait regarder le code plutôt que de se fier au sourire du commercial qui vous vend une boîte noire.
Mais il y a aussi la possibilité d'utiliser des méthodes de développement du logiciel libre qui, conjuguées aux bénéfices de la transparence du projet et de l'ouverture du code, mènent à un niveau de qualité supérieur.
Dans le cas des gros projets libres, il y a un problème à résoudre, qui tient au fait que chacun peut suggérer un changement du code pour résoudre un problème sans nécessairement avoir passé un entretien d’embauche pour cela. Lorsqu'une rustine logicielle est proposée, comment peut-on s'assurer que le code ajouté corrige bien le problème et qu'il n'en crée pas d'autres ? Les processus et outils mis en place pour répondre à cette question ont permis à certains projets libres d’atteindre de nouveaux niveaux de qualité.
• Suivi des bugs
Une application de suivi des bugs sera l'épine dorsale de cet effort de qualité. On pensera en particulier à Launchpad, pour Ubuntu, à Bugzilla, utilisé par Mozilla et par bien d'autres projets comme le noyau Linux, ou encore à Trac. De tels systèmes gèrent le workflow autour des bugs : leur signalement, leur confirmation, la proposition d'un correctif jusqu'à leur correction effective lors de l'intégration dans le produit fini. Une telle application Web permet la collaboration à grande échelle.
• Revue de code
Chacun pouvant proposer un correctif au logiciel, comment s'assurer que celui-ci est de bonne qualité ? La relecture du code par une personne compétente dans ce module est une bonne façon de faire. Certains projets proposent de même une “ super-relecture ” ou “ super-revue ” du code. Les relecteurs ont la possibilité de demander des modifications du code proposé de façon à respecter les règles de codage. Dans ce processus, la rustine proposée est jointe à un rapport de bug, et l'on sait donc pourquoi ces modifications sont demandées. Cette traçabilité est essentielle pour l'étape suivante, une fois que le code est accepté et intégré dans le système de gestion de version (du type CVS, SVN ou Mercurial).
• Tests automatiques
Une fois la rustine acceptée, la nouvelle version du logiciel est compilée, puis des tests unitaires sont exécutés. Ces tests sont destinés à vérifier que le dernier correctif ajouté ne provoque pas de régression dans les autres fonctions du logiciel. Il n'est pas rare que les tests unitaires se comptent par milliers dans un projet d'envergure. Des tests de performance sont alors exécutés. On y mesure par exemple la consommation du CPU et l'occupation de la mémoire. L'évolution de ces paramètres est suivie tout au long de la vie du projet. En cas de régression des fonctions ou de la performance, on retire immédiatement le code incriminé.
• Test manuels
Si les tests sont positifs, le logiciel résultant est proposé en téléchargement aux membres de la communauté qui travaillent à l’assurance-qualité. Jusqu'à plusieurs milliers de personnes vont le télécharger puis exécuter cette nouvelle version, soit en utilisation normale soit pour suivre une procédure manuelle de test, fournissant ainsi un feed-back sur le système de gestion des rapports de bug. Ainsi, un développeur qui vient de finir un correctif aura un retour dans les heures qui suivent.
Grace au processus que je viens de décrire et à la traçabilité qu’il permet, on dispose en fin de compte d’un produit d’une qualité à la fois prévisible et de haut niveau ainsi que d’une masse de documentation sur l’évolution du logiciel. Ce dernier aspect est important car, on le sait, “ ceux qui ignorent les leçons de l’histoire sont condamnés à en répéter les erreurs ”, y compris en entreprise !

Tristan Nitot est une personnalité emblématique du monde de l'open source. Il est le fondateur et l'actuel président de Mozilla Europe, connu pour son navigateur Web, Firefox. Il est également l'un des initiateurs du projet de documentation libre Openweb.eu.org, qui vise à promouvoir les standards du Web et son accessibilité pour le rendre utilisable par tous.
Tristan Nitot, qui a mené une partie de sa carrière chez Netscape, anime également depuis 2002 un blog sur Standblog.org.
















