La bonne et la mauvaise qualité en informatique - Décryptualité du 29 avril 2019
Titre : Décryptualité du 29 avril 2019 - La bonne et la mauvaise qualité en informatique
Intervenants : Nolwenn - Nico - Manu - Luc
Lieu : April - Studio d'enregistrement
Date : 29 avril 2019
Durée : 15 min
Écouter ou télécharger le podcast
Revue de presse pour la semaine 17 de l'année 2019
Licence de la transcription : Verbatim
Illustration : ISO Certification - Licence Creative Commons Attribution 4.0 International.
NB : transcription réalisée par nos soins, fidèle aux propos des intervenant·e·s mais rendant le discours fluide.
Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l'April, qui ne sera en aucun cas tenue responsable de leurs propos.
Description
La qualité est une composante incontournable d'un projet informatique entre autre chose. De l'ISO 9001 aux crashs récents du Boeing 737 Max, en quoi la qualité peut être utile ou une pure illusion.
Transcription
Luc : Décryptualité.
Voix off de Nico : Le podcast qui décrypte l’actualité des libertés numériques.
Luc : Semaine 17. Salut Manu.
Manu : Salut Nolwenn.
Nolwenn : Salut Nico.
Nico : Salut Luc.
Luc : Sommaire.
Nolwenn : Semaine 17. GinjFo, « Distribution Scientific Linux, c’est la fin après 14 ans d’existence, détails », par Jérôme Gianoli.
Manu : Vie et mort des distributions, c’est-à-dire l’empaquetage, l’emballage de plein de logiciels qui sont distribués pour être utilisés, eh bien il y en a une qui vient, en tout cas officiellement, de mourir, une distribution scientifique comme son nom l’indique, Fermilab, donc un gros truc, important, et effectivement vie et mort : après 14 ans d’existence ils arrêtent le développement.
Nolwenn : TF1 news, « Immobilier: on a testé la nouvelle appli qui vous donne les prix de vente réels à côté de chez vous », par Laurence Valdés.
Manu : C’est bizarre de parler de TF1 dans la revue de presse sur du logiciel libre.
Luc : Je crois que c’est la première fois.
Manu : Ce n’est pas sûr mais c’est possible. En tout cas ils ont testé une application qui utilise des données qui sont ouvertes et des données liées au cadastre et aux ventes de biens immobiliers. C’est un gros sujet, c’est un sujet important parce que tout le monde, d’une manière ou d’une autre, paye son logement. Eh bien on peut, un peu, mieux comparer ces prix-là parce qu’il y a des choses qui sont ouvertes. Enfin !
Nolwenn : ZDNet France, « L’UE vote pour créer une gigantesque base de données biométriques», par Catalin Cimpanu,.
Manu : Ça ce n’est pas cool du tout, c’est le Parlement européen qui a donné un feu vert là-dessus pour constituer une grande base de données, au début qui ne serait remplie que de touristes, de migrants et autres gens qui sont en train de transiter, de criminels aussi, mais on sait que ça peut assez facilement déborder, devenir une base de données des citoyens comme il y en a dans d’autres pays, l’Inde par exemple.
Luc : La France.
Manu : Pas tout à fait, pas encore, mais il y a des choses qui sont en place.
Luc : Déjà si on a un passeport biométrique ou une carte identité où on a pris nos empreintes digitales, la base est là.
Manu : Il y a déjà des bases effectivement. Là ils veulent grossir cela et ça va être une grosse base de données, un vrai trésor pour les hackers et les Boulbi hackers qui vont pouvoir tomber dessus ; ça va être terrible.
Nolwenn : Le Monde Informatique, « Les licences open source sont-elles aussi importantes qu’avant ? » par Matt Asay.
Manu : Ça parle de licences open source dans le sens de licences qui permettent de protéger les développeurs et les entreprises qui développent des logiciels libres. Et justement, il y a certaines entreprises qui ne sont pas contentes parce que leurs logiciels sont utilisés sans que les autres logiciels qui les appellent soient eux-mêmes libres et c’est le cas notamment par Amazon. Dans le cadre d’Amazon il y a une base de données MongoDB qui était utilisée sans que les logiciels d’Amazon soient eux-mêmes libres. Ils se sont révoltés contre cet état de fait, ils ont demandé à utiliser une nouvelle licence et ils utilisent une nouvelle licence. Ils ont demandé à ce que les organismes qui vérifient les licences libres puissent leur garantir que oui c’était bien accepté comme une licence libre parmi les autres ; ça a été refusé, en tout cas l’instant. Donc il y a une sorte de débat dans la communauté : est-ce qu’une licence qui ne permet pas à n’importe quel autre logiciel de se connecter peut être libre ? C’est un sujet qui est en pleine discussion.
Luc : france bleu, « Vendée : le potager extraordinaire vend ses curieux légumes avant de fermer pour l’année », par Marc Bertrand.
Manu : Ça se passe à la Mothe-Achard. On parle vraiment de tout et n’importe aujourd’hui dans la revue de presse. C’est intéressant parce qu’ils parlent de légumes innovants, notamment des tomates bleues qui sont libres : tout le monde pourra les reprendre et les replanter.
Luc : Je sens qu’ils vont nous sortir des légumes digitaux.
Manu : Numériques, il faut voir ! En tout cas voilà, il y a des choses intéressantes, c’est extraordinaire parce qu’il y a des gens qui sont vraiment en train de bosser de manière intelligente et de répandre les informations qu’ils sont en train de mettre au jour.
Nolwenn : korii., « Lexiconomy, le dictionnaire en ligne qui privatise le langage », par Thibault Prévost.
Manu : C’est un projet absurde, c’est directement dans le chapô de l’article. En gros une sorte de dictionnaire qui vous propose d’y remplir tous les mots que vous voulez protéger, vous voulez indiquer qu’ils sont vos mots. Et ensuite, eh bien si quelqu’un veut les utiliser, soi-disant il faudra payer dans le cadre du dictionnaire en tout cas. C’est fait pour être absurde et pour montrer un peu l’ineptie d’un droit d’auteur qui irait partout.
Nolwenn : Forbes France, « Que Savons-Nous De Satoshi Nakamoto, L’Inventeur Du Bitcoin ? », par Olivier Bossard.
Manu : Je vous réponds tout de suite, on ne sait pas grand-chose !
Luc : C’était pareil la dernière fois !
[Rires]
Manu : C’était pareil la dernière fois ! Ce qui est intéressant, c’est que Forbes, il y a vraiment plein de choses intéressantes dans la revue de presse aujourd’hui, ça va dans tous les sens, donc Forbes se pose la question, parce que ce gars-là est milliardaire mine de rien. Il a miné les premiers bitcoins qui n’ont jamais existé et ces premiers bitcoins ont aujourd’hui des valeurs considérables. On ne sait toujours pas qui il est. Ses premiers bitcoins n’ont pas encore été utilisés, ça, ça se trace, on peut le voir normalement. Il est même possible qu’il soit mort, le gars. On ne sait pas trop.
Nico : Sur les premiers bitcoins il avait quand même dit qu’il avait détruit la clef privée ; il protégeait ces bitcoins-là justement parce qu’il ne voulait pas spéculer dessus. On n’a que sa parole, on ne sait pas ce qu’il a fait en réalité, mais normalement ceux-là sont perdus à jamais.
Luc : On n’est pas sûr qu’il existe. C’est peut-être un collectif, on n’en sait rien. Très bien. On parle de quoi cette semaine ?
Nico : On va parler de qualité logicielle.
Luc : La qualité, mais oui, c’est important : touchez ce logiciel, c’est de la bonne qualité, allez-y, regardez !
Nolwenn : Il est mûr mon logiciel, il est mûr !
Luc : C’est quoi la qualité, parce que cette notion ratisse large ?
Nico : Pour moi la qualité, c’est ce qui va déjà permettre à un logiciel de fonctionner correctement, c’est le minimum qu’on lui demande, donc de répondre aux besoins, de faire ce qu’on attend de lui. Il y a aussi la partie maintenance : qu’on soit capable, en cas de problème, de comprendre comment ça marche et de le réparer relativement vite et ne pas se dire « ça ne marche plus ».
Manu : Il faut qu’il soit performant, sécurisé, il ne faut pas qu’il fasse fuiter les données à tout et n’importe qui, en tout cas pas aux gens destinés.
Luc : Sécurité ça va, c’est bon, on ne va pas te tomber dessus !
Nico : Il y a aussi besoin d’évolutivité parce qu’un logiciel c’est amené à changer dans le temps. Si on a besoin de rajouter quelque chose et qu’il faut tout péter, eh bien ce n’est pas un logiciel de qualité.
Manu : Traçabilité. Il faut être capable de voir ce qui s’est passé dans le logiciel au fur et à mesure du temps.
Luc : Comme la viande.
Manu : Exactement. C’est la même idée. Il faut qu’il soit autant que possible résistant aux pannes, parce que des pannes il y en a, un disque dur qui tombe eh bien oui, il faut qu’on puisse le récupérer. Un logiciel de qualité est capable de se remonter, de continuer à fonctionner malgré tout.
Nico : Après il y a plein d’autres possibilités. On vous invite à voir la page Wikipédia1 qui énumère une litanie de critères de ce qui fait un logiciel de qualité ou pas.
Luc : OK ! Merci Nicolas, on arrête l’émission. Dans un projet informatique il y a ce qu’on appelle un plan d’assurance qualité, il y a des gens qui ont des formations, c’est un métier à part entière, qui s’appellent des qualiticiens, des qualiticiennes2. Qu’est-ce que ça recouvre concrètement ?
Nico : Des gens qui remplissent de la paperasse !
Luc : Je sens la critique poindre !
Nolwenn : Moi je suis un très mauvais exemple, parce que je fais surtout du script dans le cadre de la recherche. Moi des logiciels, je n’en vends pas.
Luc : Il peut y avoir de la qualité dans n’importe quel projet en disant on veut tous les critères que vous avez listés, on veut s’assurer que ça se passe comme ça, donc on va se donner les moyens de développer le plus proprement possible et le plus efficacement possible.
Manu : J’aurais tout de suite tendance à dire : il y a la bonne qualité et la mauvaise qualité !
Luc : Je le sentais!
[Rires]
Nico : Il y a la bonne qualité qui est la qualité que nous, en tant que techniciens, on va plutôt apprécier qui est la qualité vraiment technique, qu’on est capable de mesurer pour le coup. Il y a vraiment des outils qui permettent de mesurer si un code est complexe, pas complexe, maintenable, évolutif. Ça va être compter le nombre de lignes, compter le nombre de méthodes, de fonctionnalités dans un logiciel. Ça, ça permet de savoir si un logiciel est maintenable ou de bonne qualité. Quelque chose qui va être rempli avec des fichiers qui font 10 000 lignes, 100 000 lignes, on ne saura même pas le relire au bout d’un moment ! Ça ce sont des métriques qui sont techniques, qui sont mesurables, qui sont automatisables. On est capable à chaque fois que quelqu’un va changer quelque chose de recalculer tout ça et de voir si on évolue dans le bon sens ou dans le mauvais sens et de réagir en conséquence, quitte à faire ce qu’on appelle de la re-factorisation. C’est-à-dire on se rend qu’on a de la dette technique ou une qualité pas assez correcte, donc on va modifier le code sans ajouter de fonctionnalités mais juste en améliorant la qualité, faciliter la maintenance, etc.
Nolwenn : Quand tu parles du nombre de lignes, il faut aussi voir que c’est en fonction de la complexité du projet et du besoin du logiciel. Un logiciel comme GIMP3 ne va pas va avoir le même nombre de lignes qu’un logiciel comme Blender4 par exemple.
Nico : C’est pour ça qu’on calcule ça par rapport au nombre de classes ou une méthode. On s’en fout un peu de la quantité de lignes, au global, sur le programme. Effectivement, une centrale nucléaire ou un Boeing, on en parlera certainement plus tard, aura certainement plus de lignes qu’un éditeur de texte lambda. Mais si on se retrouve avec une fonction qui a 100 000 lignes, on aura certainement un problème quelque part.
Manu : On a constaté de grosses évolutions dans ce qu’on considère comme les procédures de qualité. Il y a encore 15 ans l’essentiel de la qualité se faisait par des procédures papier, bien décrites en amont avec ce qu’on appelle l’ISO 90015.
Nico : La fameuse ISO 9001 !
Manu : Oui, l’enfer, le truc qui a constitué des armoires de paperasse tamponnée.
Luc : Ça existe toujours !
Nico : C’est toujours là et bien ancré, pour encore très longtemps.
Nolwenn : Personne n’a vraiment envie d’en faire à part, en fait, les qualiticiens, qualiticiennes.
Luc : Eh bien oui. C’est un métier. Dans mon expérience professionnelle, j’étais dans une boîte où on cherchait à obtenir ce truc ISO machin parce que ça permettait de gagner des appels d’offres.
Manu : J’aurais tout de suite tendance à te sauter dessus à pieds joints en disant « mauvaise qualité » et c’est cette mauvaise qualité que je n’apprécie pas du tout et je pense qu’on est plusieurs autour de la table, qui se base sur l’apparence, la mise en forme : est-ce que ça a l’air de suivre les bonnes procédures ? Est-ce que ce sont des bonnes personnes qui sont là ? Est-ce que tu étais à ton bureau à la bonne heure, bien habillé, que tu as dit « oui, merci, patron » au bon moment ? C’est vraiment donner l’apparence extérieure, mais en fait ça ne montre pas ce qui se passe à l’intérieur, est-ce que le logiciel va vraiment être de qualité ?
Luc : Concrètement, ça consiste en quoi cette apparence de qualité ?
Nico : C’est remplir des procédures, en fait, qui sont là soi-disant pour garantir la qualité. Un exemple que j’aime bien donner, c’était un cahier des charges qui avait rédigé dans mon ancienne entreprise, ça fait 1200 pages, c’est un truc « imbouffable », etc., mais il fallait absolument que ce soit signé par le client, le responsable de projet, le chef de projet, le développeur, qu’il y ait tous les tampons y compris des qualiticiens justement, qu’il y ait tous les tampons dessus. Que la spécification soit correcte ou pas correcte, complexe ou incohérente, on s’en foutait complètement ; ce qu’ils voulaient c’est la première page où il devait y avoir le joli titre, les jolis numéros avec la bonne référence, enregistrés dans la base de données, avec la signature ; ça c’était super important. Mais la veille de l’audit quand on se rendait compte qu’il manquait la signature du chef de projet, eh bien on courait vers son bureau en lui disant « signe là, vite, tout de suite parce que demain on a l’audit ». On avait l’ISO 9001 à la fin. La procédure n’avait pas du tout été respectée, le truc était incohérent au possible et le logiciel n’a jamais été livré, ne fonctionnait pas, mais on avait ISO 9001.
Nolwenn : Donc en fait tu es juste en train de nous dire que si on a un beau document avec une belle couverture, pleine de paillettes et d’arcs-en-ciel et que ça pétille de partout, il faut se méfier.
Manu : Voilà, c’est ça ; en tout cas on sera ISO 9001.
Nico : Et c’est pour ça que d’autres normes se sont créées, qui ont tendance à éviter la paperasse et à s’intéresser vraiment au fond : est-ce que la doc est correcte, vérifier que ce qu’on a signé est correct et que ce n’est pas juste la signature qui fait qu’on est conforme ou pas.
Luc : Effectivement des exemples avec des trucs où il y a la norme et où il y a le tampon et où ça clashe pas mal il y en a plein, en dehors de l’informatique également puisque l’assurance qualité n’est pas une spécificité de l’informatique. Personnellement j’ai eu des embrouilles avec un fournisseur d’énergie ; ça a duré huit mois, ils étaient pourtant avec la norme machin et à la fin ils m’ont donné de l’argent parce que je suis allé voir le médiateur de l’énergie et ce sont eux qui m’ont filé pognon. C’est dire à quel point on était loin.
Manu : On peut aborder un cas récent qui a touché des dizaines et des centaines de vies, le cas de Boeing où là il y a des processus qualités qui sont drastiques, en tout ça c’est ce qu’on pensait.
Nico : Dans l’aviation c’est censé être très, très poussé.
Manu : Et là il y a de la paperasse et ce sont des paperasses qui sont maintenues pendant des dizaines d’années, qui sont stockées et vérifiées, mais pour le coup il y a eu dans la procédure du dernier Boeing des aléas qui sont devenus criminels, notamment les tests faits par Boeing auraient dû être faits par le FAA, l’administration américaine qui s’occupe de l’aviation.
Luc : Federal…
Manu : Federal Aviation Administration, oui probablement
Luc : Un truc du genre.
Manu : Il semblerait que cette agence n’avait pas le moyen et le temps de vérifier, de valider tout, et a demandé à Boeing d’auto-valider les éléments de l’avion.
Luc : On parle pas mal de cette histoire dans l’actualité aujourd’hui et on en apprend de nouvelles un peu toutes les semaines. C’est un cas intéressant parce que Boeing a une pression économique qui est forte. Le 737 est un avion qui a un design assez ancien, plus vieux que l’A320 qui est son concurrent chez Airbus.
Manu : Mais l’A3230 vient d’avoir une nouvelle version qui vient de sortir.
Luc : L’A320neo qui a des moteurs beaucoup plus performants, mais d’un diamètre plus important. Le 737 est un avion qui est très bas sur pattes, du coup mettre des moteurs de plus gros diamètre ce n’est pas possible, il n’y a pas la place.
Manu : Ce n’est pas possible sauf…
Luc : Sauf à changer complètement la façon de les coller à l’aile, mais ça change l’équilibrage de l’avion, donc ils ont mis, vous en avez sans doute entendu parler, des systèmes pour compenser ça et faire baisser le nez de l’avion en cas d’altitude anormale.
Manu : C’est un système qui s’appelle MCRS, on ne va pas donner l’acronyme, ce n’est peut-être pas la peine d’aller là-dedans.
Luc : Sans rentrer dans tout le détail de ce qui s’est passé, etc., Boeing avait cette contrainte de vouloir coller aux fesses de son concurrent, donc de faire comme lui. C’est un, sortir cet avion plus performant et qui consomme moins ; deux, le sortir en disant que c’est un avion qui ne nécessitait pas d’entraînement supplémentaire pour les pilotes parce que ça coûte beaucoup d’argent, ce que l’A320neo faisait et, en plus de ça, ils ont poussé la cupidité encore plus loin, c’est-à-dire que ce système est invisible pour les pilotes, c’est-à-dire qu’ils ne les ont pas informés.
Manu : C'est-à-dire qu'en gros ils ont rajouté dans leur avion un système informatique qui allait compenser le déplacement du moteur.
Luc : Voilà. Et ils n’en ont pas parlé. Ils ont dit : « Puisque ça se pilote tout pareil il n’y a pas besoin de les informer ». Ça été jusqu’au point où il y avait un système d’alerte qui pouvait lancer une alarme dans certaines circonstances et a posteriori, on l’a appris aujourd’hui, ils ont décidé de désactiver ce système-là en disant « on va plutôt le vendre en option ». Donc on a un peu plus de 300 morts à cause de leurs conneries. La FAA a perdu de la crédibilité dans l’affaire parce que normalement au niveau international c’est l’autorité ultime là-dedans. Tout le monde les regarde de travers en disant, en gros, vous avez favorisé votre constructeur national qui est à la ramasse sur ce créneau d’avion-là.
Nolwenn : Quelque part ils ont un peu fait confiance, sauf que là ils ont un petit peu mis la sécurité en option.
Luc : Oui.
Nico : Ça fait partie du fameux théorème qui dit que entre qualité, coûts, délais et fonctionnalités il faut faire un choix, on n’aura pas tout. Là ils avaient fixés les fonctionnalités parce qu’il fallait que le moteur rentre dans l’avion. Ils ont fixé les coûts parce qu’ils voulaient avoir le même coût que le concurrent.
Luc : Et ils ont fixé les délais parce qu’il fallait vendre l’appareil tout de suite.
Nico : Les délais parce qu’il fallait le vendre, eh bien il ne restait qu’un seul truc à sacrifier, c’était la qualité et on voit bien le résultat à la porte.
Nolwenn : La qualité et la sécurité.
Manu : Ça en fait partie. Pour le coup on pourrait dire que la FAA a fait confiance bien à tort, c’est ce qu’on appelle la capture du régulateur. Le régulateur ne travaillait plus à l’encontre des gens qui étaient régulés, il travaillait pour les gens régulés et ça arrive dans plein de domaines, on a pu le voir dans l’automobile par exemple.
Luc : Il y avait cette vieille histoire de Renault avec les premiers régulateurs de vitesse où il y a eu des accusations comme quoi les bagnoles partaient à fond et on ne pouvait plus les arrêter. Ça a été très compliqué de savoir ce qui s’est passé en vrai puisque Renault a nié.
Manu : Tu n’as aucune preuve ! Tu n’as aucune preuve ; constructeur national ! Alors !
Luc : De fait, il n’y a pas des masses de preuves. Moi je peux faire circuler une rumeur. J’ai un très vieil ami qui bossait dans le milieu de l’automobile et des tests de bagnoles, etc., et qui m’a assuré qu’effectivement le régulateur de vitesse ne marchait pas et que le machin avait été gentiment étouffé le temps de mettre à jour toutes les bagnoles. Mais ce n’est qu’une rumeur.
Nolwenn : Oui. Pendant tout ce temps ils disaient aux gens qu’ils ne savaient pas s’en servir !
Luc : Dans le cas de Boeing on n’a aucun doute sur le fait que Boeing a des procédures qualité dans tous les sens, que ce sont des gens hyper-sérieux et qu’ils ont de l’ISO 9000, 12 000, je ne sais pas combien, jusqu’à combien on peut monter.
Manu : Ils font ça sur le long terme.
Luc : Voilà. Et pourtant on voit que ça foire, ce qui démontre que, eh bien si on n’a pas envie, on peut mettre toutes les procédures du monde, ça ne résoudra pas le problème.
Manu : On aura la forme, mais il manquera le fond.
Nolwenn : Donc en conclusion, qualité logicielle ? Oui ? non ? Bonne ou mauvaise idée ?
Nico : La bonne qualité oui, la mauvaise qualité non. Ne faites pas de la paperasse juste pour de la paperasse !
Luc : N’exigez pas nécessairement aussi tous ces machins de normalisation en pensant que ça va vous protéger de quoi que ce soit. Éventuellement on va dire « ah oui, mais moi j’avais demandé le meilleur, ils étaient ISO, donc je ne pouvais pas savoir que ça allait mal marcher ! » Tout ça c’est de l’hypocrisie, ce sont des gens qui se cachent derrière des étiquettes et des marques. Il faut mettre le doigt dedans et on voit que l’humain est important. C’est pour ça que nous on s’intéresse au Libre c’est parce que c’est du logiciel où il y a de l’éthique, où il y a de l’humain.
Nolwenn : Et tout est une question de bon sens, au final.
Manu : Sur ce, à la semaine prochaine.
Luc : Eh oui.
Nico : Bonne semaine à tous.
Nolwenn : Bonne semaine.
Luc : Salut.