Come-back et Big Data

La finale de l’Australian Open de tennis 2022 était plutôt mal partie pour Rafael Nadal contre Daniil Medvedev. Sans surprise: Medvedev était favori (en tout cas, c’est ce que disait Justine Hénin, qui s’y connaît certainement mieux en tennis que moi!)

Mené 2 sets à 0, et avec trois balles de break au milieu du troisième set en faveur du Russe, l’affaire semblait pliée. Puis Nadal a décidé que, finalement, il avait quand même envie de le gagner, ce tournoi. La victoire, arrachée en 5h24, fait de Nadal le premier homme à avoir 21 titres de Grand Chelem au palmarès, soit 21 de plus que moi (à ce jour), s’approchant ainsi du record de 23 titres de Serena Williams (ou des 24 de Margaret Court, selon la définition qu’on donne aux Grands Chelems).

L’exploit tennistique est certainement impressionnant, mais il y a un autre aspect du match qui a attiré l’attention: le “win predictor” qui est apparu à l’écran alors que Medvedev avait l’ascendant pour annoncer que les chances de Nadal de remporter la partie s’étaient écroulées à 4%. Un mauvais jugement de la part de l’intelligence artificielle?

Win predictor en action. Image partagée par @Hectorg_F1 sur Twitter.

Avant même que le tournoi débute, la machine d’Infosys avait déjà dérapé, donnant Djokovic largement favori:

Championship predictor. Image partagée par @AustralianOpen sur Twitter

L’IA n’était visiblement pas au courant des déboires de Djoko avec les services d’immigration australiens.

Ce n’est pas la première fois que ce genre de “prédictions” montre de sérieuses limites. Lors du dernier Grand Prix de Formule 1 de la saison 2021 à Abu Dhabi, alors que Lewis Hamilton pourchassait Sergio Perez pour reprendre la tête de la course, une prédiction d’AWS était apparue à l’écran:

Hamilton contre Perez. Image partagée par Friar16 sur Reddit.

AWS prédisait un dépassement particulièrement facile. Mais Perez n’était pas de cet avis, et il réussit à tenir Hamilton en échec pendant de longs, très longs moments, permettant à son coéquipier Max Verstappen de revenir dans la course. À nouveau, l’homme (dans sa machine) défiait la machine (programmée par l’homme).

Big Data = Big Loser?

Alors, toutes ces intelligences artificielles nourries à coup de “Big Data” sont-elles pour autant à jeter à la poubelle? Après tout, 4%, ce n’est pas 0%: le modèle n’a pas dit que Nadal n’avait aucune chance. Mais… on ne peut pas rejouer la fin de match 100 fois dans les mêmes conditions pour vérifier l’exactitude de la prédiction. Alors… quel intérêt?

Le problème majeur de ces systèmes est dans leur présentation. “Win predictor”, “Battle forecast”… le message indique clairement une prédiction. Mais le problème d’un modèle prédictif, c’est que c’est très compliqué à faire.

Tous ces modèles sont basés sur un principe relativement simple: on regarde une série de données sur les événements passés, et on regarde qu’est-ce qui est généralement associé à une certaine performance.

Par exemple, Infosys utilise les classements Elo des joueurs, ajustés en fonction de leurs performances sur des surfaces similaires (ausopen.com). Probablement que, pour les prédictions en cours de match, ils ajustent en fonction du nombre de fois où des joueurs ont gagnés à partir de situations similaires.

AWS, de son côté, utilise certainement des données sur les fraîcheurs relatives des gommes de pneus des voitures, sur les temps réalisés lors des tours précédents, et sur les performances passées des pilotes et des voitures. Et selon ces données, AWS avait parfaitement raison: Hamilton était le meilleur pilote, dans (sans doute) la meilleure voiture. Il avait des pneus tous frais et roulait beaucoup plus vite que Perez, abandonné par son équipe sur des pneus usés dont il aurait déjà du se débarrasser depuis longtemps… si son objectif avait été de faire la meilleure course possible.

Mais c’est là où AWS se retrouve perdu: l’objectif de Perez n’était pas de faire une bonne course pour lui, comme dans l’écrasante majorité des situations dans la base de donnée du modèle. Son objectif unique était de ralentir Hamilton aussi longtemps que possible pour permettre à Verstappen de revenir. Hamilton, de son côté, ne cherchait pas juste à dépasser Perez. Il savait aussi qu’il devait le dépasser sans incident. En Formule 1, la moindre touchette peut amener à une crevaison, ou à des pertes de performances aérodynamiques, ou à un crash pur et simple, et Hamilton devait absolument finir devant Verstappen pour gagner le championnat. Hamilton devait dépasser en douceur, Perez pouvait prendre tous les risques nécessaires quitte à mettre sa propre course en l’air.

De même, Infosys ne pouvait pas savoir que Djokovic n’allait même pas participer au tournoi. Infosys ne dispose pas non plus dans son modèle d’informations sur l’état mental des joueurs, sur leur état de fatigue, sur ce qu’ils ont mangés la veille au soir, sur l’effet que la météo peut avoir sur leurs performance, sur l’effet du public, ni plus généralement sur la stratégie que chaque joueur a décidé d’utiliser pour le match, sur l’entraînement spécifique suivit pour le tournoi, sur la qualité de leur préparation physique.

Où est ma boule de cristal, alors?

Pour qu’un modèle prédictif fonctionne vraiment, il faut qu’il dispose de variables qui ont un lien de cause à effet avec ce qu’on cherche à prédire. Ce qui ne veut pas dire, d’ailleurs, qu’un modèle comme ceux d’AWS ou d’Infosys ne va pas, en général, donner de bons résultats. Mais ces résultats sont “généralement” bons parce que, “généralement”, il n’y a pas de surprises. Sinon ce ne serait plus des surprises.

Est-ce que ça existe seulement, un modèle prédictif, alors? Oui, même s’ils ont toujours des limitations (et les meilleurs modèles prédictifs sont ceux qui identifient au mieux ces limitations). Par exemple, si je passe à un sujet que je connais un peu mieux que le tennis ou la Formule 1, on a pour l’instant beaucoup d’applications de l’intelligence artificielle au diagnostic médical. Des modèles peuvent chercher à prédire, par exemple, l’évolution d’une tumeur sur base d’images prises dans une IRM. Fondamentalement, le principe de ces modèles va être le même: prendre une série d’images de patients dans le passé, et chercher le lien entre ce qu’on voit sur les images et la survie des patients.

La différence avec les modèles d’Infosys ou d’AWS, c’est que “ce qu’on voit sur les images” va (quand tout va bien) avoir un lien direct avec l’évolution future de la tumeur. La densité des tissus dans le cerveau peut être reliée à des phénomènes biologiques, pas toujours compris à 100%, mais dont on sait qu’ils sont liés à la diffusion des cellules cancéreuses. Réussir à comprendre si le modèle se base bien sur quelque chose de biologiquement cohérent, ou s’il a trouvé dans l’image quelque qui n’a rien à voir*, c’est un des challenges majeurs de l’intelligence artificielle aujourd’hui.

Tout ce que le “win predictor” peut dire, c’est que Nadal sortait d’une moins bonne série de matchs que Medvedev, et que c’est très rare qu’un joueur revienne lorsqu’il est aussi fort mené.

Le modèle n’est pas nécessairement mauvais, dans le sens où il a sans doute raison plus souvent qu’il n’a tort. Mais au final, ce qu’il apporte est avant tout une connaissance encyclopédique de l’historique des joueurs. Et cette connaissance se retrouve bien mal exploitée lorsqu’elle est résumée à un pauvre “4%” dénué de son contexte.

* Un exemple fictif (autant que je sache): si je fais des scans de pleins de biopsies, mais que les biopsies de patients décédés sont conservés dans un autre service que celles des patients encore vivants, et que je les scanne à chaque fois sur place dans des machines différentes, peut-être que ces deux machines auront un réglage légèrement différent qui fera que la couleur des images sera, par exemple, un peu plus bleues d’un côté que de l’autre. Mon super modèle va être très fort pour prédire la mortalité sur base de la couleur de l’image… mais uniquement sur ce jeu de données particulier. Le jour où j’essaie de l’utiliser pour du diagnostic sur des nouveaux patients, je vais avoir de sérieux soucis.

SpaceX : à qui appartient le ciel ?

Le 24 mai, le Dr Marco Langbroek (chercheur en archéologie paléolithique, météorites, astéroïdes et “satellites espions”) pointait son télescope vers le ciel nocturne et réussissait à capturer une vidéo impressionnante, publiée sur son blog et reprise par de nombreux médias :

Starlink, c’est quoi ?

Ce “train” de lumières est constitué de 60 satellites. Il s’agit de la deuxième vague de la “constellation” Starlink, rejoignant deux satellites lancés en février 2018. Starlink est un projet de SpaceX, l’entreprise aérospatiale d’Elon Musk. Il s’agit d’un “réseau de satellites capable de connecter le globe, et particulièrement les régions actuellement non-connectées, avec des services Internet haut-débit fiable et abordable.” (Starlink Press Kit, PDF)

Si 60 satellites se baladant en rang d’oignon impressionnent, ce n’est rien par rapport à ce qui est prévu pour la suite : d’ici 2027, près de 12.000 satellites devraient être déployés. Pour contextualiser, on recensait début 2019 un total de 4.987 satellites en orbite autour de la Terre. Si on ajoute les projets certes moins ambitieux d’Amazon, Telesat ou OneWeb, on parle ici de quadrupler le nombre de satellites en orbite sur les dix prochaines années.

Le débat déclenché par la vidéo du Dr Langbroek fait des vagues dans tous les médias. Le noyau de ce débat est simple : le projet d’Elon Musk (et des autres) va bien au-delà d’un simple projet de télécommunication. Il s’agit d’un changement radical de notre paysage orbital. Les conséquences exactes sont difficiles à prévoir. Estimer l’effet qu’auront ces milliers de nouveaux satellites sur le ciel nocturne est compliqué, et dépend de nombreux paramètres pas toujours disponibles : forme exacte des satellites (et de leurs éléments réfléchissants), altitude et position finales, position de l’observateur…

Dans le meilleur des cas, l’effet à l’oeil nu sera quasi nul. Dans le pire des cas, le ciel nocturne dans dix ans sera radicalement transformé. Quoi qu’il en soit, l’impact sera en tout cas directement visible pour les télescopes basés sur Terre.

Elon a dit

Au-delà du débat technique sur l’impact de ces nouvelles “constellations”, c’est une conversation Twitter (comme souvent avec Elon Musk) qui soulève à mon avis une question plus fondamentale. Interrogé par Varun Ramesh sur la “pollution lumineuse du ciel”, Elon Musk répond :

“Il y a déjà 4900 satellites en orbite, que les gens remarquent ~0% du temps. Starlink ne sera vu par personne sauf s’ils regardent avec beaucoup d’attention & l’impact sur les avancements en astronomie sera de ~0%. De toute façon, les télescopes devraient être mis en orbite. L’atténuation atmosphérique est terrible.”

Fraser Cain, éditeur du site Universe Today, fait remarquer que “s’ils aident des milliards de gens dans des lieux reculés à avoir un accès bon marché à Internet, c’est un prix que je suis prêt à payer.

Elon Musk :

“Exactement, potentiellement aider des milliards de gens économiquement désavantagés est pour le plus grand bien. Cela étant dit, nous nous assurerons que Starlink n’a aucun effet matériel sur les découvertes en astronomie. Nous nous soucions beaucoup de la science.

Voilà. Problème réglé, discussion close : Elon Musk a pesé le pour et le contre, a écouté nos arguments, et a tranché. À nous pauvres mortels d’accepter Sa décision. Le fait que le plus grand bien de l’humanité coïncide avec un revenu potentiel de “30 milliards par an” n’est bien sûr qu’un heureux hasard.

La question fondamentale, donc : SpaceX, Amazon & co peuvent-ils juste ignorer les critiques et faire ce qu’ils veulent ?

Qui a le droit ?

Petit moment “droit spatial” (désolé, ça m’a un peu fasciné de lire tout ça alors je partage). Donc, la réglementation autour de l’exploitation de l’espace pour les télécommunications est globalement le domaine de l’Union Internationale des Télécommunications, une agence des Nations Unies fondée en 1865 lors de la convention télégraphique internationale. Celle-ci fonctionne selon des principes énoncés dans une constitution (PDF) dont le préambule commence :

En reconnaissant pleinement à chaque Etat le droit souverain de réglementer ses télécommunications…

En terme de satellites, sa préoccupation principale est l’allocation des positions orbitales géostationnaires, et de coordonner les positions et les fréquences d’émission pour éviter les interférences.

Starlink n’occupe pas d’orbite géostationnaire : son lancement n’a donc besoin que de se référer à son État souverain, c’est-à-dire les États-Unis. SpaceX a donc requis l’autorisation de deux agences fédérales américaines : la FCC (pour l’utilisation des fréquences) et de la FAA (pour les lancements).

Et… c’est tout ?

Il n’y a pas de mécanisme prévu qui se préoccupe d’une quelconque manière (autant que j’aie pu trouver en tout cas) de l’impact des satellites ni sur la recherche scientifique, ni sur les astronomes amateurs (qui ne peuvent pas vraiment suivre la suggestion d’Elon Musk de mettre leur télescopes en orbite), ni sur cette ressource tellement banale qu’est le “ciel nocturne”.

Si par hasard un conflit survenait, et des tribunaux internationaux se retrouvaient impliqués dans l’affaire, et devaient donner leur avis face à cette brusque invasion du ciel par des sociétés privées, ils devraient sans doute faire un retour aux sources : le “Traité de l’Espace” de 1967, qui entérine les principes fondamentaux de l’utilisation de l’espace extra-atmosphérique [4]. Notons que celui-ci concerne les États, pas les sociétés privées, mais qu’il stipule que “les activités des entités non gouvernementales dans l’espace extra-atmosphérique (…) doivent faire l’objet d’une autorisation et d’une surveillance continue de la part de l’État approprié partie au Traité.” (Art. VI)

L’article I nous dit :

L’exploration et l’utilisation de l’espace extra-atmosphérique, y compris la lune et les autres corps célestes, doivent se faire pour le bien et dans l’intérêt de tous les pays, quel que soit le stade de leur développement économique ou scientifique ; elles sont l’apanage de l’humanité tout entière.

L’argument d’Elon Musk que Starlink est “pour le plus grand bien” n’est donc pas anodin. En insistant sur l’objectif de fournir des moyens de télécommunication à tous les pays, il place son projet commercial dans le cadre généralement admis des “bons projets” spatiaux, inattaquables.

Et si certains ne sont pas d’accord, il semblerait que pour l’instant, ce soit tant pis pour eux. Et que l’on peut s’estimer heureux si la pollution lumineuse reste un “dommage collatéral”. Car pour l’instant, rien dans le droit international n’empêcherait une société d’utiliser la visibilité des satellites à “orbite basse” dans un but plus ouvertement commercial… comme le proposerait une start-up Russe (honnêtement, en voyant leur site, je ne suis pas tout à fait convaincu que ce n’est pas une satire, mais en tout cas ils sont pris au sérieux par divers médias).

Capture d’écran : “the orbital display”, Vlad Sitnikov (https://vimeo.com/309893059)

Voir passer un satellite lors d’une belle nuit d’été à la campagne était jusqu’à présent un bref moment d’émerveillement en regardant les étoiles. Il s’agira peut-être bientôt d’une inévitable nuisance.

Les leçons de “Wanna Cry”

Vendredi 12 mai, vers 9h du matin heure belge, le ransomware WannaCry” faisait son apparition sur les réseaux mondiaux.

Sa diffusion se passe en plusieurs étapes :

  1. Quelqu’un se laisse convaincre de l’installer sur sa machine (par exemple, en exécutant un programme reçu par mail).
  2. Le virus encrypte les données du disque dur et demande une “rançon”, a verser en utilisant la crypto-monnaie Bitcoin, en échange du décryptage. En cas de non paiement, le message menace de supprimer les données.
  3. Le virus scanne le réseau local et, en utilisant une faille de Windows XP/Vista/7 (dans les machines qui n’ont pas été mises à jour), s’installe automatiquement sur les autres machines du réseau.

Cette étape d’auto-réplication est ce qui a permis à WannaCry de se diffuser aussi vite. La plupart des ransomwares nécessitent, pour chaque machine, de convaincre l’utilisateur d’installer le virus. WannaCry n’a besoin que d’un utilisateur par réseau, ce qui facilite la propagation dans les grandes sociétés qui ont de vastes réseaux internes, et qui ont tendance à ne pas mettre à jour leurs machines par peur de voir des vieux programmes indispensables à leur business ne plus fonctionner.

WannaCry permet d’illustrer et de remettre en question un certain nombre de choses : sur les comportements des utilisateurs au sujet des mises à jour ; sur le plan de la lutte contre les infections, avec la façon dont l’infection a été contenue ; et sur la responsabilité de la NSA et les questions de politique de lutte contre le terrorisme et la cybercriminalité.

Le dilemme des mises à jour forcées

Je hais les mises à jour forcées de Windows 10.

Elles semblent toujours arriver au mauvais moment. J’ai systématiquement l’impression (probablement fausse) qu’elles ne font qu’ajouter des nouveaux bugs à un système d’opération qui en a déjà bien assez. Et j’ai une réaction épidermique à leur caractère inévitable : il s’agit de mon ordinateur, et je devrais pouvoir décider de quand il est mis à jour ! Arriver le matin à mon bureau pour voir que mon ordinateur a redémarré, alors que j’avais lancé dessus la veille au soir une série de calculs, et que je dois maintenant découvrir s’ils ont eu le temps d’être exécutés avant la mise à jour où si je peux tout recommencer est frustrant.

Pourtant, le cas de Wanna Cry montre que ces mises à jour forcées ont un intérêt non négligeable. Il s’agit, en fait, du même débat (avec de moindres conséquences) que celui de la vaccination obligatoire. Le choix de ne pas se vacciner – ou de ne pas mettre à jour son système d’opération, et se rendre vulnérable aux virus informatiques – n’est pas seulement un choix personnel, car il affecte aussi tous ceux avec qui l’on est en contact. Il suffit aux virus biologiques qu’un certain pourcentage de la population soit non-vacciné pour pouvoir continuer à se propager. Il suffit aux virus informatiques qu’un certain pourcentage des ordinateurs soit vulnérable pour potentiellement faire tomber tout un réseau.

Il y a je pense de la part de Microsoft un gros problème de communication par rapport à ses mises à jour, un travail pédagogique, et de présentation, qui devrait être fait pour éviter que ces mises à jour ne soient aussi énervantes et perturbatrices. Chaque cyberattaque à grande échelle comme WannaCry leur donne cependant raison sur l’idée de base : retarder les mises à jour met en danger tout les autres ordinateurs.

La responsabilité de la NSA

À l’heure actuelle, on ne peut plus parler de cybercriminalité sans entrer dans des questions de géopolitique. Les Russes sont souvent pointés du doigt pour leurs piratages politiques (comme celui du parti démocrate américain, ou du mouvement En Marche en France). Dans le cas de Wanna Cry, certains soupçonnent la Corée du Nord.

Ce qui est sûr à l’heure actuelle, c’est que la méthode utilisée par le virus pour se propager sur tous les ordinateurs d’un réseau utiliser une faille de sécurité de Windows qui a été détectée par la NSA il y a plus de dix ans… et n’a pas été communiquée à Microsoft, qui ne l’a donc pas réparée avant que les documents de la NSA ne fuitent, permettant à la fois à Microsoft de corriger ses systèmes, et aux hackers d’exploiter la faille.

La NSA n’a pas communiqué à Microsoft l’existence de la faille parce qu’elle voulait pouvoir l’utiliser à ses propres fins. Il est évidemment impossible de savoir dans quelle mesure ils l’ont utilisée, et quelle genre d’information ils ont pu gagner grâce à elle. Il est certain, par contre, que si la NSA avait communiqué avec Microsoft, l’attaque de ces derniers jours n’aurait pas pu avoir lieu.

Et c’est là le problème fondamental avec toutes les backdoors et vulnérabilités exploitées en secret par les différents organes de renseignement aux systèmes informatiques. On peut débattre du fait qu’ils partent d’une “bonne” intention. C’est le débat “perdre de la vie privée pour gagner de la sécurité”, qui est une question fondamentalement idéologique, à laquelle chacun peut avoir sa réponse. Le fait est que, invariablement, ces failles se retrouvent exploitées par des pirates. Le choix devient donc : “perdre de la vie privée pour peut-être gagner de la sécurité dans un domaine, et certainement perdre de la sécurité dans un autre”. C’est un jeu dangereux, où les risques dépassent sans doute les bénéfices. La NSA et autres agences gouvernementales protégeraient mieux les citoyens (de leur pays et du reste du monde) en collaborant avec les sociétés informatiques pour les aider à protéger leurs logiciels.

Comment l’infection a été contenue

MalwareTech est un site qui fournit des informations diverses sur les différentes attaques informatiques : virus, malware, botnets, etc… Ils analysent leur fonctionnement, et fournissent des outils, comme le “Botnet Tracker“, pour observer en temps réel la propagation des différentes attaques.

Dans un article publié samedi 13 mai, ils expliquent comment ils ont “accidentellement” arrêtés (temporairement, en tout cas) l’attaque WannaCry.

Lorsque l’attaque a commencé à prendre de l’ampleur vendredi, ils ont installés le virus sur une machine de test, et observés son fonctionnement. Le virus cherchait d’autres ordinateurs sur le réseau local, mais essayait aussi de contacter un nom de domaine inexistant sur Internet. MalwareTech a directement acheté ce nom de domaine, et l’a redirigé vers l’un de ses serveurs pour voir ce que le virus voulait communiquer (et aussi pour traquer sa propagation). Après que le domaine ait été enregistré, cependant, le virus a cessé de fonctionner. Il n’encryptait plus les données, et ne demandait plus de rançon.

En analysant le code, MalwareTech s’est rendu compte que le virus testait l’existence du domaine, et ne s’exécutait que s’il ne le trouvait pas. Pourquoi ? Il s’agit en fait d’une procédure relativement courante, apparemment, pour ce genre de virus. Il s’agit d’un moyen de détecter si le virus se trouve sur machine de test utilisée pour analyser son comportement (et qui aura tendance à simuler une connexion Internet en redirigeant toutes les requêtes vers une machine connue), ou sur une machine qu’il est intéressant d’infecter. Si le virus trouve le domaine, il suppose qu’il est sur une machine qui veut l’analyser, et ne s’exécute pas (pour ne pas fournir d’informations sur son comportement).

En achetant le nom de domaine, MalwareTech a donc accidentellement stoppé l’épidémie. Pas définitivement : il est clair que de nouvelles versions du virus vont faire leur apparition, sans cette faiblesse. Mais MalwareTech a évité de sérieux dégâts à beaucoup de sociétés, et de particuliers.

OneCoin : suite (et sans doute bientôt fin)

Mise à jour 19 octobre 2022: pour une rétrospective complète sur l’affaire OneCoin, je ne peux que conseiller l’excellent Podcast de Jamie Bartlett et Georgia Catt, “The Missing Cryptoqueen“, qui enquêtent toujours sur la disparition de Ruja Ignatova.

Mise à jour 2 décembre 2021: où en est OneCoin aujourd’hui? Après avoir engrangé 4 milliards de dollars de revenus, la fondatrice Ruja Ignatova a disparu de la circulation et son co-fondateur Sebastian Greenwood est en prison. Son frère, Konstantin Ignatov, a également été arrêté (source: investopedia.com). Aux États-Unis, ceux qui blanchissaient l’argent récolté par l’arnaque ont également été arrêtés (source: Bloomberg). Le site onecoin.eu est dorénavant inaccessible. Laurent Louis s’est temporairement reconverti dans Kuailian (source: Facebook), une autre arnaque similaire principalement active en Espagne et qui s’est déjà écroulée depuis (source: behindmlm.com). Son compte Facebook aujourd’hui est surtout occupé par du complotisme anti-vaccination, mais il semble toujours proposer des investissements en cryptomonnaie, sans que ce soit très clair à quelle arnaque il s’est attaché pour l’instant, ou s’il s’est simplement mis à son propre compte…

Mise à jour 9 février 2018: à lire aussi, l’enquête assez détaillée de StreetPress, qui semble assez bien faire le tour de la question.

Mise à jour 24 janvier 2018: une descente de police a eu lieu dans les bureaux de OneCoin en Bulgarie. “Interpol suspecte que du crime organisé, du blanchiment d’argent, et peut-être même du financement de terroristes sont liés à la monnaie.”

En avril dernier, j’ai écris un article sur l’arnaque OneCoin, une fausse “crypto-monnaie” à laquelle, de façon tout à fait improbable, l’ex-député Laurent Louis s’est retrouvé lié. Cet article est sans doute le plus lu de ce blog, et tous les jours quelques personnes tombent dessus en cherchant sur Google des informations sur OneCoin. J’espère avoir pu dissuader l’une ou l’autre d’entre elles de tomber dans le panneau.

Si je reparle de OneCoin, c’est parce qu’ils semblent entrer dans la phase finale de leur arnaque, et redoublent donc pour l’instant leurs efforts de promotion dans l’espoir d’attraper quelques derniers pigeons. Et il faut leur reconnaître quelque chose : en tant qu’arnaqueurs, ils sont assez forts.

Leur grande annonce, faite sur YouTube par leur “guru” Ruja Ignatova, et diffusée sur des sites de marketing de réseau et sur les réseaux sociaux : OneCoin va être cotée en bourse au second trimestre 2018, et une boutique en ligne va ouvrir très bientôt où l’on pourra dépenser ses OneCoins pour de vrais chez des vendeurs, prouvant ainsi aux vils détracteurs qui osent l’appeler une “fausse crypto-monnaie” (oups) qu’ils ne sont que des jaloux.

Tout à la fin de la vidéo, après que Mme Ignatova nous ait dit au revoir, un message annonce par ailleurs ceci :

Ce message bien lourd en jargon, comme la plupart des communications OneCoin, est la clé pour comprendre l’arnaque qui est en train de se dérouler. Tout le bazar est assez bien expliqué dans cet article sur le site behindmlm.com, mais voilà l’idée en gros :

OneCoin a un problème. Comme la monnaie n’existe pas (on peut l’assimiler à juste des points sur leur site web), sa valeur est donnée de façon purement arbitraire par la société OneLife qui gère le truc. OneLife ne gagne des sous que si les gens continuent à acheter des points, et ils en perdent si les gens échangent leurs points contre de l’argent réel. Pour pousser les gens à garder leurs points, OneLife en augmente régulièrement la valeur, comptant sur le fait que c’est difficile de quitter tant qu’on est sur la “pente ascendante”.

La valeur a atteint un point où elle devient dangereusement haute pour OneLife : si trop de gens décident de “retirer leur mise” d’un coup, ça va leur coûter des sous. Le seul endroit où il est possible d’échanger ses points contre de l’argent est le site xcoinx.com.

Solution, donc : fermer ce site d’échange. C’est fait : il est maintenant “en maintenance”. Plus personne, pour l’instant, ne peut donc échanger ses OneCoins (c’est à dire ses points sans valeurs) contre des euros ou des dollars. Évidemment, juste faire ça ce serait suspect. Arrive donc la phase 2 : l’IPO.

L’Initial Public Offer, c’est la mise en bourse d’actions pour la société. Mettre la société en bourse n’est pas vraiment quelque chose qu’une société pas-très-légale comme OneLife peut vraiment faire. Ils donnent donc une date éloignée (fin 2018).

Le coup de génie : proposer aux gens qui “possèdent” des OneCoins de les échanger contre des OFC : des certificats qui leur donneront droit à des actions quand la société sera en bourse. Autrement dit : échanger des points sans valeurs contre d’autres points sans valeur, en donnant l’impression qu’il s’agit d’un pas en avant vers un futur pactole. En réalité, avoir ces certificats au lieu des OneCoin ne sert absolument à rien… si ce n’est que c’est autant de OneCoin qui ne pourront pas être dépensés dans le “nouveau site d’e-commerce”.

C’est la deuxième partie de l’annonce, celle qui est supposée vraiment légitimer le tout : enfin, le OneCoin pourra être utilisé pour acheter des vraies choses ! Ils ont déjà, disent-ils, des milliers de vendeurs prêts à l’accepter sur cette boutique en ligne qui va “rivaliser Groupon” : DealShaker. Les deals seront payés dans une combinaison de OneCoin et… d’euros. Et OneCoin prend en commission 50% de la valeur en euros (bizarrement, ils ne prennent rien sur la valeur en OneCoin). Vu que les vendeurs n’ont pas d’autre choix pour utiliser les OneCoin ainsi reçus que de les réinjecter dans ce réseau fermé, le résultat est assez exceptionnel (pour OneLife) : si ce système est un jour activé, les propriétaires de OneCoin vont juste pouvoir s’acheter des trucs entre eux, en versant à chaque fois une commission à OneLife. Et pendant qu’ils font ça, ils ne se plaignent pas de ne pas pouvoir les échanger contre des euros.

Évidemment, c’est aussi sans doute le début de la fin. Ils trouveront certainement une excellente raison pour retarder l’IPO, mais ils finiront par devoir faire ce que toutes les arnaques du même genre finissent par faire : prendre l’argent, fermer tout, et se barrer en courant. En laissant derrière eux des pauvres gens ruinés, et des riches gens prêt à découvrir que “gagner de l’argent sans devoir payer de taxe via du marketing de réseau” n’est pas vraiment un concept très bien reconnu par la justice.

COP21 : Le Monde s’attaque aux mythes climato-sceptiques

En préparation de la COP21, la conférence de Paris sur le climat qui aura lieu du 30 novembre au 11 décembre, Le Monde publie une série d’articles sur les mythes propagés par les “climato-sceptiques” et autres conspirationnistes pour nier l’évidence du réchauffement climatique.

Comme quoi, des journalistes qui font du travail de fond, ça existe encore !

Les trois articles déjà publiés :

Un bon rappel de toutes les raisons pour lesquelles le réchauffement climatique rassemble un consensus presque total dans la communauté scientifique. Il devrait y avoir un article par semaine d’ici la COP21.

soleilImage : NASA / REUTERS via Le Monde

Santé et Nutrition : le business de la peur

Je suis tombé récemment sur le site sante-nutrition.org. Ses articles circulent régulièrement sur Facebook, et il a environ un million de visiteurs mensuels, ce qui est suffisant pour payer en revenus publicitaires le salaire de son administateur Yann Soinard et celui de deux autres personnes (d’après une interview avec Rue89). Le site publie quatre ou cinq articles par jour, avec pour thème général la gestion de la santé par les remèdes naturels et l’alimentation. “Que ton aliment soit ton médicament”, annonce la bannière.

sante-nutrition.org est aussi une arnaque dangereuse qui fournit au public une marée de désinformation. Il prône la méfiance et la peur envers les médicaments et les remèdes “chimiques”, et prodigue des conseils qui, si ils sont appliqués à la lettre, vont de l’inutile au léthal.

On trouve principalement deux types d’articles sur le site. Il y a ceux qui, d’un titre accrocheur, promettent des miracles avec un minimum d’efforts. “Comment se débarrasser des vergetures naturellement et rapidement”. “Voici comment régénérer votre cartilage du genou!” “Faites cette seule chose tous les matins pour stimuler la perte de poids!” “Jetez vos lunettes! Des milliers de personnes ont amélioré leur vision avec cette méthode!” “Comment perdre du poids rapidement et facilement avec le régime banane”.

sante-nutritionComplot !

Et puis il y a ceux qui annoncent qu’une maladie (généralement le cancer) peut être guérie à l’aide soit d’un ingrédient naturel, soit d’une technique connue depuis longtemps mais dont les scientifiques refusent de parler, parce qu’ils sont aux ordres de l’industrie pharmaceutique qui veut continuer à vendre ses médicaments chers et inefficaces. L’article “Le Plus Lu” du site d’après le menu est l’exemple-type : “Un homme a trouvé un « remède pour toutes les maladies » et a la décision du tribunal pour le prouver!

Ce remède ? Une “Thérapie détoxifiante intra-cellulaire Bio-Minerale” qui “supprime des années d’accumulation de produits toxiques dans l’organisme, en restaurant les cellules à leur état le plus pur”. Le Dr Sebi, l’homme en question, soigne les gens avec des remèdes à base “d’aliments électriques” qui “suppriment toute acidité qui peut être la cause de la maladie dans le corps.” Quand à la décision de tribunal qui prouve que ça marche… Il s’agit d’une victoire dans un procès pour exercice illégal de la médecine en 1988. Il a été acquitté car personne n’a pu prouver qu’il avait présenté ses remèdes comme des vrais médicaments, ni qu’il avait prétendu poser de vrais diagnostics médicaux. Le tribunal n’a bien entendu rien dit quand à la validité ou non de ses théories médicales… Il continue maintenant à vendre en ligne des mélanges naturels à 200 dollars le litre, par pure bonté d’âme.

Ce mélange de demi-vérités, de paranoïa (le héros de l’histoire est toujours persécuté par le système) et d’exagérations est typique des histoires de sante-nutrition.org.

Royal Rife avait Trouvé comment guérir le cancer en 1934“, nous dit un autre article, qui commence bien en déclarant que douter de Rife est un “négationnisme, [qui] n’aura pour égal que la négation des camps de la mort”. Quel est le remède ? Rife aurait construit une “machine tueuse de cancer avec un tube à plasma” qui va “« casser » les VIRUS de la même manière qu’un verre peut être brisé par un accord en résonance”. Pourquoi les virus ? Parce qu’ils sont “responsables formellement du cancer selon lui”. Comment se fait-il que sa merveilleuse invention n’ait pas survécu jusqu’à nous ? Mystère et complots… Des sombres histoires d’assassinats et de machines détruites par la semble-t-il toute puissante Association Médicale Américaine. Toutes les tentatives de reproduire ses résultats depuis ont malheureusement échouées, mais c’est sûrement parce que l’AMA reste vigilante !

Persil. Da weiss man, was man hat. Besser denn je.
Pas le même persil

sante-nutrition.org n’est pas le seul. Il y a à l’heure actuelle une foison de sites similaires sur le marché, qui généralement se copient les uns les autres, et surtout pompent des articles de sites américains. Certains se focalisent plus sur la perte de poids, d’autre sur le cancer.”Cette plante tue 86% des cellules du cancer du poumon” est un exemple des “remèdes naturels miracles” souvent mis en avant par le site, et un modèle de mauvaise interprétation de résultats scientifiques. À la base, il y a un article scientifique chinois qui trouve qu’une molécule présente dans le persil et le céleri a la capacité, à haute dose, de tuer les cellules cancéreuses du poumon. Par quelques tours de passe-passe, sante-nutrition.org en conclut que boire de l’infusion au persil (ils donnent même une recette) 3 fois par jour permet de prévenir le cancer du poumon. Oh, c’est aussi un remède qui “supprime le sable et les calculs rénaux, traite avec succès les infections urinaires et est un diurétique puissant.” Tout ça.

Ces sites sont dangereux. Yann Soinard n’est pas médecin. Il admet lui-même n’avoir aucune formation médicale (et se vante de ne pas être “formaté”). Lorsqu’il donne des conseils sur la santé, et que des gens décident de suivre ses conseils au lieu d’aller voir un professionnel, il va potentiellement les priver de soins dont ils ont besoin.

Se méfier de “trop de médicaments”, d’accord. Critiquer les pratiques parfois douteuses de l’industrie pharmaceutique, pourquoi pas. Mais jeter entièrement des siècles de progrès médicaux qui ont permis de réduire le taux de mortalité, d’éradiquer des maladies autrefois mortelles, et d’améliorer grandement la qualité de vie de toute la population pour les remplacer par des tisanes et des théories du complot, c’est irresponsable. Mais tant que des millions de visiteurs continueront à visiter ces sites et à payer les salaires de leurs administrateurs, il y a peu de chance qu’ils disparaissent.

UFO du Soir, bonsoir…

Le Soir, dans un grand moment de haut journalisme (ou parce qu’un stagiaire s’ennuyait), nous publie un superbe article (archivé ici pour si ils pensent à le retirer…) sur une découverte incroyable du robot “Curiosity”, en mission sur Mars depuis 2012 : il aurait découvert une femme ! Là, comme ça, qui se balade.

Comment se fait-il que tous les journaux n’en font pas leurs premiers titres ? Est-ce que Le Soir est simplement mieux informé ? Ont-ils des sources secrètes à la NASA ? Ou bien tout cela n’est-il que de la connerie réchauffée ?

ufo-proofLa preuve par l’image

Puisque Le Soir semble décidé à traiter le sujet avec sérieux, et à se demander si il s’agit “d’un humain ou d’une statue”, en concluant que “Ce n’est pas la première fois que Curiosity rapporte des photos qui laissent planer le doute sur la vie sur Mars”… Prenons le sujet au sérieux, et voyons ce que disent vraiment les images…

Première chose : quelle est la source ? Le Soir cite le très sérieux blog journalistique “UFO Sightings Daily” (sûrement une filiale méconnue du New York Times), lequel, il y a quatre jours, publiait la même information. On peut y lire “Date de découverte: Juillet 2015” et “Lieu de la découverte: Mars”, donc on sait directement que c’est confirmé. En plus, eux aussi sont sérieux et citent leurs sources : “This was discovered by UFOovni2012 of Youtube”. Si M. UFOovni2012 le dit…

La vidéo en question date du 20 juin 2015. Merde, voilà qui rend déjà plus difficile la théorie du “Découvert en Juillet 2015”. À moins que les Martiens ne puissent remonter dans le temps ? Que nous cache-t-on réellement ?

Heureusement, l’article accompagnant la découverte fournit même le lien vers l’image originale, publiée par la NASA. En fouillant un peu sur le site de la NASA, on finit même par trouver la vraie référence : il s’agit d’une photo prise par une caméra montée sur le “mât” de Curiosity. Sur ce schéma, c’est la “Left Mastcam”. La photo a été prise au “Sol 1001”, c’est à dire le 1001ème “jour martien” de la mission, ce qui correspond au 31 juin 2015, à 20h38min14s UTC. Bon, ça fait presque juillet, donc on va dire que c’est bon 31 mai 2015, à 20h38min14s UTC, ce qui nous change encore le mois de la découverte… [Corrigé : merci Ben!]

ufo-original-nasaL’original (NASA)

Ce qui est intéressant avec l’image originale, c’est qu’on voit assez vite que le contraste n’est pas du tout le même que sur la “preuve” montrée dans l’article du Soir (et dans les vidéos des Ufologues, mais eux ont l’excuse de ne pas être tenus à des standards journalistiques…). C’est donc un signe que la preuve, gasp, pourrait être falsifiée ? Impossible ! Si on découpe l’image originale de la NASA de la même manière que l’image “preuve” du Soir, on arrive à ceci :

nasa-croppedLa preuve par l’image ?

Alors, qu’est-ce qu’il se passe dans cette image ? Zoomons un peu :

nasa-cropped-big Tout s’éclaire !

Bon, qu’est-ce qui peut causer cette apparition fantomatique ? On voit ici plusieurs choses : premièrement, beaucoup d’artefacts de compression. Qu’est-ce que c’est ? Quand Curiosity envoie ses données sur Terre (ou quand la NASA les mets en ligne), elles sont “compressées” en format JPG. La connexion vers Mars est assez lente (pire que Belgacom), donc il vaut mieux économiser la bande passante quand ce n’est pas absolument nécessaire. Et quand on compresse une image en JPG, on obtient une image qui, vue de loin, correspond à peu près correctement à l’image originale (les “basses fréquences” de l’image sont préservées), mais est toute pourrie quand on zoom (les “hautes fréquences” sont dégommées). Du coup, on a pleins de pixels groupés bizarrement, et de manière générale on ne peut jamais être trop sûr de ce qu’on voit. Si on va vraiment à fond dans le zoom :

nasa-cropped-bigger Enhance !

Les artefacts sont beaucoup plus clairement visible que la fameuse femme mystérieuse. Bon, mais qu’est-ce que c’est, finalement, ce truc ? Je suis quasiment sûr que les “seins” de la demoiselle sont un rocher, et que la chevelure est l’ombre du rocher. Le “corps” est possiblement la combinaison des ombres de petits rochers autour et d’artefacts de compression.

Quand au phénomène très humains qui fait que l’on a tendance à voir dans n’importe quelle image de caillou des visages ou des silhouettes, il est bien connu et bien documenté, et s’appelle Paréidolie, et est du au fait que le cerveau humain est super fort pour reconnaître des objets connus dans des formes inconnues et aléatoires. Une théorie est que, d’un point de vue sélection naturelle, celui qui voit un tigre ou un ennemi humain dans les fourrés alors qu’il n’y avait que des ombres et des tâches survit, alors que celui qui dit “ah, c’est juste une ombre” alors qu’il y avait un tigre se fait bouffer la gueule. Du coup, on a tendance à être prudent et à dire “Tigre!” partout. (Ou dans ce cas-ci : “fille à moitié à poil!”, parce que les préoccupations humaines ont visiblement changé entre temps).

Tout ça pour dire : merci au Soir de faire du grand journalisme, je n’ai même plus besoin d’aller voir sur des sites de théorie du complot pour trouver des bêtises pareilles, ça arrive directement dans le journal !

Windows 10 : premières impressions

Un grand sage a dit : “si tu installe une version de Windows avant le premier Service Pack, tu vas avoir des emmerdes.”

Un an passé sur Windows 8 m’a convaincu d’ignorer le grand sage et de lancer la mise à jour. J’utilise Windows 10 depuis maintenant une semaine, et pour l’instant c’est globalement une bonne expérience. Globalement.

Windows 10 répond à sa promesse principale : un retour à la dernière version qui marchait (Windows 7), sur lesquelles viennent se greffer des petites améliorations d’interface, et quelques fonctionnalités plus ou moins utiles. Le menu “Démarrer” est bien revenu, et il est plutôt bien, avec des accès rapides aux documents et applications récents et souvent utilisés, et des fonctionnalités de recherche plutôt efficaces. Il paraît que le nouveau navigateur, Edge, est bien aussi, mais je n’ai pas encore vraiment testé. La mise à jour était facile à effectuer. La stupide interface “Metro” a disparu.

Le premier problème auquel je me suis heurté, c’est la fourberie de la “Configuration Express” de Windows 10 lors de la mise à jour. Par défaut, Windows 10 envoie tout ce qu’on tape au clavier et tous nos clics de souris à Microsoft. Google fait pareil sur les téléphones Androïd, mais ils ont un peu plus l’excuse de vouloir améliorer les fonctions “auto-correct” et autres qui rendent l’utilisation d’un GSM nettement plus facile. Pour un ordinateur… Le besoin est moindre, et le risque de dérive nettement plus important. Bref : désactivé. Windows remplace aussi toutes les applications “par défaut” : Edge comme navigateur, leur lecteur média pour les vidéos, etc… Tout ça peut être changé en trouvant le petit bout de texte “custom configuration” planqué en bas de l’écran de configuration express…

Ça, c’est pour les problèmes qui n’en sont pas vraiment, puisqu’ils sont voulus par Microsoft. Depuis la mise à jour, je me suis aussi retrouvé avec des bugs plus traditionnels : problème de driver pour mon “touchpad”, DLL manquante pour Visual C++ qui empêche une partie des programmes de s’exécuter, gestion un peu bizarre de la mise en veille / verrouillage de l’ordinateur…

Des problèmes assez vite réglés par une recherche Google, mais qui sont toujours un peu pénibles.

En conclusion : est-ce que je suis satisfait de Windows 10 ? Plutôt, oui. Je ne regrette en tout cas pas de laisser Windows 8 derrière moi, et cette version semble prometteuse. Est-ce que je recommande la mise à jour ? Pas encore, sauf si vous aimez jouer à chipoter dans des panneaux de configuration pour que tout fonctionne comme il faut.

Pluton enfin dévoilée

Pluton a beau avoir été éjectée du club sélect des huit “vraies” planètes du système solaire, on pourrait penser qu’un objet aussi important, aussi proche de la Terre à l’échelle cosmique, serait déjà bien connu. Pourtant, ce n’est que maintenant, avec le passage de la sonde New Horizons, que l’on découvre les premières photos détaillées de sa surface.

La découverte “officielle” de Pluton date de 1930. Les astronomes se doutaient depuis quelques temps déjà de sa présence : des anomalies dans les orbites d’Uranus et de Neptune montrait que “quelque chose” se trouvait dans cette région de l’espace. Cet objet mystérieux, appelé “Planète X”, était avidement recherché par de nombreux observatoires, qui tentaient de prédire sa localisation pour pouvoir capturer une preuve photographique. En 1930, cette preuve arrive :

pluto_discoveryPluton, en 1930.

La méthode utilisée était assez simple sur le principe : prendre une photo du même bout de ciel où l’on s’attend à la voir passer à quelques jours d’intervalle, et regarder si il y a quelque chose qui a bougé entre les deux observations. Les étoiles, “infiniment” lointaines, restent au même endroit. Les planètes, plus proches, bougent. À l’heure actuelle, ce genre d’observation peut être effectué automatiquement très facilement. À l’époque, ça impliquait de donner à un nouveau pleins de photos “avant-après” et de lui demander de jouer aux sept différences.

Pendant les années qui ont suivi, des calculs divers permettent de se faire une meilleure idée de sa taille, sa masse et sa composition, mais il faut attendre les années 80 pour avoir la première idée de ce à quoi ressemble la surface :

pluto_charon_surfacePluton et Charon. D’après Buie, Tholen & Horne, Albedo Maps of Pluto and Charon: Initial Mutual Event Results, Icarus 97, 1992 [PDF].

Ce n’est toujours pas une photo. Cette image est calculée à partir d’une série d’observations : lorsque Charon, la lune de Pluton, passe devant la surface de celle-ci, elle y porte son ombre. Depuis la Terre, on observe alors une baisse de la luminosité de Pluton (puisque sa surface est en partie masquée). Lorsque Charon masque une zone plus brillante de Pluton, la diminution de luminosité est plus forte ; lorsqu’elle masque une zone plus sombre, la diminution est moindre. En combinant les observations de luminosité sur de multiples passages, on peut ainsi constituer une carte grossière des zones sombres et lumineuses de Pluton.

Jusqu’à aujourd’hui, c’est globalement tout ce qu’on avait. Des observations du télescope Hubble au début du XXIème siècle ont permis d’améliorer nettement le niveau de détail… mais toujours sans photo directe de la surface.

En 2006, la NASA a lancé la sonde New Horizons pour remédier au problème. Ce 14 juillet 2015, après neuf ans de voyage, la sonde est passée en coup de vent à proximité de Pluton et de ses lunes. Le temps de prendre quelques photos avant de continuer son chemin dans le vide de l’espace. Pas question en effet de revenir : New Horizons se déplace à prêt de 14 km/s, et laissera bien vite Pluton et l’ensemble du système solaire derrière elle, avant de s’éteindre entièrement d’ici 2030.

pluto_new_horizonsSurface de Pluton vue par New Horizons, 14 juillet 2015

New Horizons est incapable de communiquer avec la Terre en même temps qu’elle prend des photos : pendant de nombreuses heures, pendant qu’elle récupérait les précieuses données pour lesquelles elle a quitté notre planète il y a dix ans, elle est restée silencieuse. Elle a ensuite pu tourner à nouveau son antenne vers nous et a envoyé son statut. La NASA estimait à 2/10.000 ses chances d’être détruite durant son passage : à la vitesse où elle se déplace, un contact avec un caillou ou un débris de glace est fatal. Le signal qui est revenu disait en substance : “tout va bien”. La position, la vitesse, le niveau d’énergie, le nombre d’images prises, la position des capteurs, tout semble correspondre aux prédictions. Dans les jours et les mois qui viennent, les images et mesures détaillées devraient être transmises (la connexion n’est pas hyper rapide à cette distance…), et les astronomes pourront enfin travailler sur des images de bonne qualité.

Pluton rejoint donc la courte liste des astres explorés. Seules la Terre et la Lune ont été touchées par l’homme ; des sondes se sont posées sur Mars, Vénus, Titan et une comète ; d’autres sont passées à proximité de Mercure, Jupiter et ses lunes, Saturne, Uranus, Neptune, quelques astéroïdes, et maintenant Pluton. À l’échelle cosmique, nous n’avons donc en réalité rien vu, rien découvert. Nous avons exploré un grain de sable sur la plage. On ne sait pas encore si le reste de la plage contient un trésor enfoui, ou si elle est couverte de crottes de chiens. L’ère spatiale ne fait que commencer…

Vote électronique : vote démocratique ?

Le 25 mai 2014, les belges se rendaient aux urnes pour un triple scrutin législatif, régional et européen. Dans 17 des 19 communes bruxelloises, le système de vote utilisé est électronique, et fonctionne depuis 1994 sans accrocs. Cette fois-ci, cependant, il y a un bug. Les résultats se font attendre, les explications aussi. Quelques jours plus tard, les informations commencent à sortir : environ 2000 votes ont du être annulés car le logiciel comptabilisait mal les voix lorsque l’utilisateur était revenu en arrière pour changer son choix.

Le nouveau journal coopératif “Médor” en a fait le sujet son premier dossier d’investigation. Je n’aime pas trop ce dossier, qui en cherchant à présenter les faits d’une manière plus ludiques, sous forme d’enquête, perd je trouve beaucoup en clarté. Le fait qu’une grande partie de leurs informations techniques viennent d’un “hacker” non-identifié n’aide pas non plus à apporter la crédibilité requise. Mais avec leurs informations, celles publiées par l’association PourEVA (Pour une Éthique de Vote Automatisé), et aussi le code source du système de vote ainsi que l’explication du bug publié par le Ministère de l’Intérieur, on peut se faire une bonne idée de ce qui s’est passé.

  1. Partie technique : le Code et le Bug
  2. Un vote démocratique et sécurisé, c’est quoi ?
  3. Vote électronique, stop ou encore ?

1. Partie technique : le Code et le Bug

L’application de vote automatisé JITES a été développée par la société Stésud, rachetée depuis par le groupe NRB via sa filière Civadis. Ils ne sont pas les seuls en cause : le code est contrôlé de manière indépendante avant chaque élection par PricewaterhouseCooper, qui valide que tout est fonctionnel.

En jetant un coup d’oeil sur le code, on comprend très vite pourquoi l’erreur n’a pas pu être détectée : c’est le bordel complet. Fonctions mal ou pas documentées, conventions inexistantes, et surtout manque total de contrôle de la cohérence des données : avant d’enregistrer le vote sur la carte, rien ne vérifie si il y a un problème potentiel, si il n’y a bien qu’une seule liste sélectionnée, si il n’y a pas de candidats de listes différentes sélectionnés… Bref, que tout est en ordre.

Autre manquement majeur : le code tel qu’il est présenté ne permet pas de facilement créer la batterie de tests automatisés qui seule pourrait garantir qu’un changement effectué dans le code ne change rien au comportement du programme. Ce manque de rigueur peut fonctionner pour des programmes où ce n’est pas grave si une partie des utilisateurs tombent sur des bugs, corrigés au fur et à mesure qu’ils sont trouvés. Pour un système de vote, c’est tout simplement impardonnable. Et c’est ce manque de rigueur qui, visiblement, à permis au fameux bug d’apparaître.

Le bug, donc. Il se situe dans la partie du programme permettant de désélectionner un candidat. Lors des élections précédentes, cela ne pouvait se faire que en appuyant sur le bouton “Annuler”. Nouveauté de 2014 : on peut le faire en ré-appuyant sur la case à côté du nom du candidat. Le ministère de l’intérieur nous explique les circonstances dans lesquelles le problème se produit :

  • un électeur sélectionne une liste ;
  • il sélectionne un ou plusieurs candidat(s) ;
  • ensuite il désélectionne ce ou ces candidat(s) ;
  • il revient au menu des listes ;
  • il choisit une autre liste de parti;
  • il poursuit le processus de vote normal.

jites_candL’écran incriminé (image prise dans le manuel d’utilisation fourni avec les sources)

Le code gérant cet écran se trouve dans un fichier appelé mod_cand.c. On y retrouve une fonction qui, chaque fois qu’on appuie avec le stylo optique sur l’écran, va vérifier l’action à effectuer. Je mets le code ci-dessous pour ceux que ça intéresse.


static int Cand_Check_Selection(int _iX, int _iY)
{
  int i, x1, x2, y1, y2;
  

  if(_iY > 452) /* At the bottom (Validate/Cancel or
                   go back tho the lists) */
  {
    if(giNbCandidSel != 0) /* Almost one candidate selected */
    {
#ifdef EL2014
      if((_iX > 10) && (_iX < 310)) /* Cancel */ { giNbCandidSel = 0; swpas = 0; swnoir = 0; swconf = 0; Cancel_Selection(giCurrentScr,giCurrentList,1); return(0); } if((_iX > 330) && (_iX < 630)) /* Validation */ { if((gshScrutin[giCurrentScr].nom_s == '4') && (Choix_RLg == 'F')) swVLR = 0; ++giCurrentScr; ptfunct = Scrut_Loop; return(1); } #else if((_iX > 10) && (_iX < 310)) /* Validation */ { ++giCurrentScr; ptfunct = Scrut_Loop; return(1); } if((_iX > 330) && (_iX < 630)) /* Cancel */ { giNbCandidSel = 0; swpas = 0; swnoir = 0; swconf = 0; Cancel_Selection(giCurrentScr,giCurrentList,1); return(0); } #endif return(0); } else /* No candidate selected -> go back to the list selection */
    {
      if((_iX > 110) && (_iX < 530))
      {
#ifdef EL2014
        ptfunct = les_listes;
#else        
        ptfunct = List_Display;
#endif      
        return(1);
      }
      else /* Not managed */
        return(0);
    }
  }
  else /* Candidate's areas */
  {
    for(i=0;i<=giCurrentCandid;i++) /* Who has been selected ? (LightPen) */ { x1 = gaiPosc[i][0]; x2 = gaiPosc[i][1]; y1 = gaiPosc[i][2]; y2 = gaiPosc[i][3]; if(i) /* A specific candidate (not the "head of the list") */ { x1 += giXCapture; x2 -= giYCapture; y1 += giYCapture; y2 -= giYCapture; } if((_iX>=x1) && (_iX<x2)) { if((_iY>=y1) && (_iY<=y2)) /* This area */ { if(arcMemoCandid[giCurrentScr][giCurrentList][i] == 0) /* Unselected -> Selected */
          {
            ++giNbCandidSel; /* cfr iSWDeselectC */
            Cand_Select(giCurrentScr,giCurrentList,i);
            Cand_Update(i);
            Cand_Circle(i);
            Cand_Switch(i);
            return(0);
          }
#ifdef EL2014         
          else /* Selected -> Unselected */
          {
            --giNbCandidSel; /* cfr iSWDeselectC */
            if (giNbCandidSel == 0) {
                swpas = swnoir = swconf = 0;
            }
            Cand_Unselect(giCurrentScr,giCurrentList,i);
            Cand_Update(i);
            Cand_Circle(i);
            Cand_Switch(i);
            return(0);
          }
#endif        
        }
      }
    }
    return(0);
  }
}

En français, ça donne :

  • Si on appuie en bas de l’écran et que l’on a déjà sélectionné au moins un candidat : soit on est sur le bouton “Annuler” et on exécute la fonction “Cancel_Selection”, soit on est sur le bouton “Valider” et on passe au scrutin suivant.
  • Si on appuie en bas de l’écran et qu’aucun candidat n’est sélectionné, on revient à l’écran de choix de la liste pour laquelle on veut voter.
  • Si on appuie sur un des candidats et qu’il n’est pas encore sélectionné : on exécute la fonction “Cand_Select” et on ajoute “1” au compteur de nombre de candidats sélectionnés.
  • Si on appuie sur un des candidats et qu’il est déjà sélectionné : on exécute la fonction “Cand_Unselect” et on retire “1” au même compteur.

C’est donc cette fonction Cand_Unselect qui a été rajoutée pour l’élection de 2014. Ce n’est pas une fonction très compliquée, elle ne fait que quelques lignes :


void Cand_Unselect(int _x, int _y, int _z)
{
  arcMemoCandid[_x][_y][_z] = 0;
  //280613 arcMemoList[_x][_y] = 0;
  //280613 arcMemoScrutin[_x] = 0;
}

La fonction reçoit donc trois chiffres, qui correspondent au scrutin, à la liste, et au candidat à désélectionner. Dans le tableau arcMemoCandid, qui contient pour chaque candidat de chaque liste de chaque scrutin un 0 si le candidat est sélectionné, un 1 sinon, on met la case choisie à 0. C’est simple et direct. Les deux lignes suivantes sont commentées, et ne sont donc pas exécutées : elles désélectionnaient également la liste et le scrutin.

Et c’est là que se situe le problème. Si l’utilisateur désélectionne tous les candidats de la liste, le compteur sera bien mis à zéro. Lorsque l’utilisateur appuie ensuite sur le bas de l’écran pour quitter la liste des candidats, il sera ramené à l’écran des listes sans appeler la fonction Cancel_Selection, et la liste ne sera jamais marquée comme non sélectionnée. Lorsque l’utilisateur sélectionne une autre liste et valide son vote, il y a donc deux listes indiquées comme sélectionnées dans la mémoire. Le bulletin de vote est donc nul.

2. Un vote démocratique et sécurisé, c’est quoi ?

Pour qu’une élection soit réellement démocratique, il faut que chaque citoyen puisse être assuré que son vote est comptabilisé, et que son vote est secret. Pour que ces conditions soient respectées, il importe que, à chaque étape du scrutin, des observateurs puissent contrôler l’absence de fraude. Il y a différents points clés où des erreurs (ou des fraudes) peuvent mettre en doute le résultat des élections :

  • Dans l’isoloir : si le bulletin de vote n’est pas clair ou favorise un ou plusieurs candidats (c’est le cas par exemple aux USA, où les candidats des partis autre que Démocrates et Républicains n’apparaissent pas sur le bulletin de vote, dans beaucoup d’Etats : leur nom doit être rajouté à la main par l’électeur si il veut leur donner une voix).
  • Dans l’urne : si quelqu’un rajoute ou retire des bulletins de l’urne (ou si les données sont modifiées, dans le cas électronique)
  • Lors du comptage au bureau de vote : en ne comptant pas des voix valides, ou en les comptabilisant pour le mauvais partis.
  • Lors du décompte final : en additionnant mal les votes des différents bureaux, pour arriver à un mauvais résultat.

Plus les problèmes apparaissent tard dans le processus, plus il est facile d’y remédier. Si le décompte final est mauvais, on peut refaire les additions. Si le décompte du bureau de vote est mauvais, on peut recompter. Les choses deviennent plus difficiles si ce qui se trouve dans l’urne n’est pas valide. Dans le meilleur des cas, on peut alors identifier les bulletins problématiques et les annuler (c’est ce qui s’est produit avec le bug de 2014). Dans le pire des cas, il faut revoter.

3. Vote électronique, stop ou encore ?

En se basant sur les critères ainsi définis, le vote électronique tel qu’il se passe dans 17 des communes bruxelloises n’est pas démocratique. Il a en effet une lacune énorme et impardonnable : il n’y a aucun moyen pour l’électeur de vérifier que le contenu de la carte magnétique correspond bien à son vote. Il ne peut pas savoir si la machine n’a pas été trafiquée, ou si les données n’ont pas été corrompues entre le moment où il a pu voir son vote sur la machine et le moment où la carte a été éjectée. Les observateurs non plus n’ont aucun moyen de vérifier, pendant le dépouillement, que les bulletins sont correctement comptabilisés. Même si le code était bon (ce qui n’est pas le cas), même si en pratique tout se déroulait parfaitement comme prévu, ce système resterait par nature non-démocratique.

Faut-il alors jeter le vote électronique à la poubelle ? Non ! La solution est simple, et elle est déjà appliquée dans les communes qui ont choisi de mettre en place un système plus moderne. Il s’agit de ne pas stocker le vote sur une carte magnétique, mais sur un papier, sur lequel sera indiqué le vote en toutes lettres de manière lisible, accompagné d’un code barre permettant à un ordinateur de le comptabiliser automatiquement. L’électeur peut vérifier, au moment de son vote, qu’il glisse bien dans l’urne un papier portant le(s) nom(s) qu’il a choisi. Les observateurs peuvent vérifier facilement que le système qui scanne les votes donne bien la même information que celle inscrite en toutes lettres sur le papier. Et en cas de doute ou de problème, on peut toujours tout recompter à la main.

On peut ainsi combiner les avantages du vote électronique (rapidité de comptage, clarté du bulletin de vote…), et la sécurité du vote papier. Il serait dommage que, après le bug de 2014, Bruxelles décide de revenir entièrement en arrière, et retourne au vote papier. Mais si le choix est le vote papier ou le système actuel, c’est le vote papier qui doit primer : le système actuel n’est pas sécurisé, il n’est pas démocratique. Le meilleur choix serait évidemment de passer à un système de vote électronique moderne. Je ne l’ai jamais essayé, mais le système utilisé à Woluwe-Saint-Lambert et Watermael semble un bon candidat…