Beaucoup d’entre nous pensent que les ordinateurs donnent toujours des résultats exacts. Quand un problème d’informatique est invoqué, on a tendance à penser que c’est un humain qui a rentré les mauvaises informations dans la machine. Ou alors on imagine une panne genre coupure de courant. Bref, l’ordinateur reste infaillible. Heureusement, le contact régulier avec des PC capricieux ébranle ces certitudes.
La vérité est que la majorité des problèmes viennent de défauts dans les logiciels (appelés bugs). Un programme qui laisse son utilisateur y entrer de mauvaises informations peut souvent être considéré comme mal conçu. C’est à l’ordinateur de s’adapter à l’humain, pas l’inverse. La principale propriété d’un ordinateur n’est pas de fournir un résultat toujours exact, mais de faire exactement ce qu’on lui demande. Mais lui demande-t-on toujours avec suffisamment de précision ?
Déjà une simple addition...
Même faire des additions n’est pas si simple qu’il n’y parait... Car il y a un espace limité pour stocker un nombre. Par exemple, il sera stocké sous forme de 32 zéros ou uns (chacun de ces zéros ou uns est appelé un bit [1], c’est pour cela que l’on parle d’ordinateur 32 bits), ce qui donne 2 puissance 32 possibilités, soit un peu plus de 4 milliards. Donc seul un nombre valant entre 0 et 4 milliards peut être mémorisé. Si on additionne 2 milliards et 3 milliards, on entre en terre inconnue :
un logiciel conçu à la va-vite ne s’apercevra de rien, et trouvera 1 milliard (il tronçonne sauvagement ce qui dépasse).
un logiciel sérieux affichera un message d’erreur.
un logiciel plus sophistiqué contournera les limitations de l’ordinateur, et trouvera bien 5 milliards.
Et d’autres problèmes avec les nombres avec virgule [2].
Alors la navette spatiale...
Le logiciel faisant des additions dont nous venons de parler pourrait être celui d’une calculatrice. Eh oui, même les calculatrices contiennent un logiciel ! Imaginez maintenant la navette spatiale... ou mieux lisez cet admirable texte[eng] (traduction en cours). Il est assez long, il mérite d’être imprimé et ensuite lu confortablement installé. Rien ne vaut le papier... Qui disait ça, déjà ? Ooups, c’est nous ;-)
Vous y apprendrez que les logiciels proches de la perfection (tel celui de la navette) ne sont pas écrits par des adolescents attardés nourris de pizzas et travaillant jusqu’à point d’heure... Ni dans des compagnies soumises à des délais stressants. Que pour une grande part, l’industrie du logiciel devrait plutôt s’appeler artisanat... Que les programmeurs de la fusée Ariane ont certainement essayé de faire aussi bien que leurs homologues américains, mais qu’un bug a conduit à l’explosion de la première Ariane 5...
Et les machines à voter ?
Revenons à nos moutons. Et les logiciels des machines à voter, comment se classent-ils ? Pourquoi les cachent-ils ? Pas beau à voir ? Y a des taches de sauce tomate ? Une anchois est restée coincée dans une boucle ?
Jugeons plutôt aux résultats. Des militants américains ont mis sur pied un recensement d’incidents (de toute nature) lors d’élections : l’EIRS (Election Incident Reporting System). 42760 incidents y sont répertoriés dont 2396 liés aux machines [3]. C’est très varié : cela va de files d’attente de plusieurs heures dûes à un nombre d’appareils insuffisant, jusqu’à des machines qui plantent ou pire perdent des votes (voire en génère spontanément), en passant par des électeurs qui choisissent Kerry et voient Bush s’afficher [4].
(à compléter)