Actualités Emploi Start-up Evénements 01 Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

Les leçons de l'open source en matière de qualité

Des méthodes de développement du logiciel libre, 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…
laisser un avis
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

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

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.

débat
28 avis d'internautes
Les leçons de l'open source en matière de qualité
Intervention lamentable
par Camille Degorge
le 26/01/2009 21:27:50
STOP
par Jacques Marcelin
le 26/01/2009 21:36:19
Mais quel est la différence?
par Robertoz
le 27/01/2009 07:36:57
Gnu
par Deb66
le 27/01/2009 10:20:59
Que tu crois
par Sv1 le pingouin(2)
le 27/01/2009 15:26:05
Différence FF/IE
par Réactionnaire
le 27/01/2009 08:14:40
Pfff
par Jacques43
le 27/01/2009 08:32:56
Désinformation, volontaire ?
par littletux
le 27/01/2009 08:52:47
Non justement…
par jmphi
le 27/01/2009 11:34:10
ah bon ?
par DarkVenoM
le 27/01/2009 12:28:01
rep
par berlioz77
le 27/01/2009 14:12:41
Ajoutons
par Sv1 le pingouin(2)
le 27/01/2009 15:31:29
Ajoutons aussi que ...
par Capitaineee Caverneee
le 27/01/2009 23:07:23
Oui, bien sur
par Sv1 le pingouin(2)
le 27/01/2009 23:59:58
UML...
par berlioz77
le 27/01/2009 09:47:33
bien vu
par perenono69
le 27/01/2009 12:48:15
rep UML
par berlioz77
le 27/01/2009 13:54:39
arf ...
par berlioz77
le 27/01/2009 14:04:39
UML?=code propre
par Nono1974
le 30/01/2009 15:14:43
UML ?
par Traroth2
le 27/01/2009 16:06:44
Avis réactionnaires
par JRo_
le 27/01/2009 13:19:26
rep
par berlioz77
le 27/01/2009 13:58:25
Audience du commercial...
par Nono1974
le 30/01/2009 15:49:09
publicité
débat
28 réactions
 
Audience du commercial...
posté le 30/01/09 à 15:49 par Nono1974
UML?=code propre
posté le 30/01/09 à 15:14 par Nono1974
Oui, bien sur
posté le 27/01/09 à 23:59 par Sv1 le pingouin(2)
Ajoutons aussi que ...
posté le 27/01/09 à 23:07 par Capitaineee Caverneee
UML ?
posté le 27/01/09 à 16:06 par Traroth2
à lire aussi
SUR LES MÊMES THÈMES
IBM va commercialiser sa première suite d'applications en ligne
5/5 - Des mesures de sécurité pour profiter au mieux des applications en ligne
Microsoft Silverlight 3 : la bataille des RIA est relancée
Google Docs partage un peu trop les documents
Revendiquer la paternité d'un site Web, grâce à Whobuilt.it
Les services en ligne de Microsoft sont disponibles en France
Les marques et les entreprises apprivoisent timidement Twitter
Opera compresse l'Internet mobile pour l'accélérer
Novell lance la première version Linux de Silverlight
Twitter deviendra-t-il payant pour les entreprises ?
Les Google Apps coupent le cordon avec le Web
L'outil de publication open source Alfresco devient graphique
Microsoft va fusionner Office Live et Windows Live
IBM se lance dans le cloud et se lie avec LinkedIn, Salesforce et Skype
Salesforce dévoile une offre pour les SAV fondée sur les communautés d'utilisateurs
Cisco se lance dans la gestion de contenus Web 2.0
Pepita veut transformer les internautes en revendeurs
Quarante minutes de panne générale chez Salesforce, un leader du cloud computing
La bataille des clients Internet riches fait rage
Le microblogging fait ses premiers pas en entreprise
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.