Bonjour,
Votre question porte sur Elyze, l’application mobile dédiée à l’élection présidentielle 2022, qui veut «permettre à un maximum de citoyens de découvrir de façon ludique et accessible les propositions des différents candidats». Son lancement a fait un carton, avec 1,2 million de téléchargements en moins de deux semaines, mais également suscité un nombre de critiques croissant.
L’initiative a été évoquée dans tous les médias, y compris Libération qui expliquait son fonctionnement dans cet article. En résumé : sur l’écran, des promesses de campagne – ou simples déclarations à la presse – de candidats s’affichent sans que l’on sache auquel elles appartiennent. Un swipe à droite si vous êtes pour, à gauche si vous êtes contre. Like, dislike. Après avoir répété l’opération quelques dizaines de fois, un classement apparaît, révélant quel candidat ou candidate est faite pour vous, théoriquement par affinité avec les mesures qu’il ou elle propose.
L’intention : réconcilier la jeune génération avec la politique pour lutter contre l’abstention. Mais la réalisation n’est visiblement pas au niveau des aspirations de ses co-créateurs, les étudiants Grégoire Cazcarra, 22 ans, et François Mari, 19 ans, qui ont vite été attaqués les réseaux sociaux. Sur Twitter, plusieurs threads ont montré, captures d’écran à l’appui, que l’application avait de sérieux dysfonctionnements. D’abord, en cas d’égalité entre les candidats, Emmanuel Macron arrivait en premier par défaut. Ensuite, certains candidats ayant pourtant reçu plus de likes, arrivaient plus bas dans le classement. Jean-Luc Mélenchon, candidat de La France Insoumise, a immédiatement épinglé Elyze à ce sujet.
Encore un coup tordu l'appli #Elyze... À qui profite ce mauvais coup ? Devinez... https://t.co/QMvXaL2LTF
— Jean-Luc Mélenchon (@JLMelenchon) January 12, 2022
D’autres internautes ont par ailleurs souligné que des candidats avaient plus de propositions que d’autres, ce qui biaisait tout le processus. Sans compter que les quinze personnalités politiques sélectionnées – sur la quarantaine actuellement en lice – n’ont pas toutes de programme officiel, rendant la comparaison difficile.
Classement incohérent
Les fondateurs se sont depuis exprimés, dans Numerama puis d’autres médias, sur ces principales accusations. Revendiquant une idéologie apolitique, ils assurent qu’il n’y a aucun traitement de faveur volontaire, mais seulement quelques erreurs sur ce projet tout récent qui leur a explosé entre les doigts du fait de leur inexpérience. L’explication ? Quand plusieurs candidats avaient un niveau d’affinité de 100%, l’algorithme privilégiait Emmanuel Macron car il avait été inscrit en premier dans le code informatique de l’application. Pourquoi, alors qu’il n’est même pas encore candidat ? «Nous nous sommes basés sur les intentions de votes, pour choisir les candidats puis les entrer dans la base de données», justifie Grégoire Cazcarra, contacté par CheckNews en fin de semaine. Donné en tête, Emmanuel Macron aurait donc eu l’identifiant n°1.
Mathis Hammel, expert en programmation et cybersécurité qui cherchait à identifier d’où venaient ces problèmes de classement, confirme que les explications techniques du co-fondateur sur la position de Macron arrivant toujours en haut du palmarès sont crédibles : «Le langage de code choisi (JavaScript) utilise un algorithme de tri stable, donc en cas d’égalité, les candidats s’affichent selon l’ordre original», commente-t-il pour CheckNews. Pour en avoir le cœur net, il a réussi à infiltrer le code d’Elyze et a publié le début de la liste sur Twitter. Emmanuel Macron a bien l’identifiant n°1, mais Anne Hidalgo a le n°2 et Yannick Jadot le n°3… Alors que ces derniers sont bien loin du podium dans les sondages. Le choix de l’ordre initial semble donc plutôt arbitraire, mais le reste tient.
En faisant des recherches, on tombe rapidement sur la liste qui nous permet de trouver le bug mettant toujours Macron en premier sur les ex-aequo : comme JavaScript utilise un algorithme de tri stable, en cas d'ex-aequo c'est l'ordre original dans la liste qui est retenu. pic.twitter.com/yLToB6xINb
— Mathis Hammel (@MathisHammel) January 15, 2022
Questionné à propos de la fiabilité du niveau d’affinité, Grégoire Cazcarra insiste : «On a eu beaucoup de remarques avec des captures d’écran où les gens n’avaient passé qu’une cinquantaine de propositions. Or quand vous commencez à swiper, elles arrivent aléatoirement et le classement se génère et s’actualise au fur et à mesure. Le résultat ne devient donc fiable qu’à plus d’une centaine de swipes.» A part cette réserve, les critiques ont été entendues et selon lui, tout est corrigé : «Jusqu’à maintenant, seul le pourcentage comptait. Si Emmanuel Macron n’avait qu’un like, donc 100%, il passait avant Poutou qui avait quinze likes et un dislike. Désormais, c’est le nombre de likes qui prédomine. Et en cas d’égalité parfaite entre likes et dislikes, les candidats seront maintenant triés par ordre alphabétique, le meilleur moyen d’être neutre». Ils devraient donc être classés comme suit : Arthaud, Asselineau, Dupont-Aignan, Hidalgo, Jadot, Lassalle, Le Pen, Macron, Mélenchon, Montebourg, Pécresse, Philippot, Poutou, Roussel, Zemmour.
«Les candidats ont désormais autant de propositions dans chacune des onze thématiques, elles sont toutes précisément sourcées et un outil “en savoir plus” permet d’avoir des informations complémentaires», explique Grégoire Cazcarra lorsqu’on souhaite le faire réagir sur les autres points soulevés. «Nous serons évidemment très réactif jusqu’en avril pour en ajouter autant que nécessaire. Mais nous invitons les candidats a révéler leurs programmes, nous ne sommes plus qu’à quelques mois de la présidentielle et peu ont des mesures concrètes.»
Problèmes non résolus
Malheureusement, plusieurs tests effectués par CheckNews ce lundi montrent que les problèmes n’ont pas été résolus. Sur Android, l’application n’a même pas été mise à jour, la dernière version (1.1.95) date d’il y a plus d’une semaine. Le fonctionnement est donc le même qu’au moment où les bugs ont été relevés. Résultat, si Elyze est toujours n°1 des téléchargements, les notes des utilisateurs dégringolent, affichant ce lundi deux étoiles sur cinq pour un total de 2450 avis sur Google Play Store. Les commentaires se suivent et se ressemblent : «Le classement ne fonctionne tout simplement pas» ; «Ne tient aucun compte des réponses données» ; «Macron arrive toujours premier».
Sur IPhone, malgré une mise à jour récente (version 1.1.96), si Mélenchon et Arthaud partagent exactement le même nombre de likes et dislikes, la candidate de Lutte Ouvrière arrive toujours derrière son homologue LFI. De même, Lassalle arrive devant Asselineau, et Philippot devant Montebourg. Le tri par ordre alphabétique en cas d’égalité n’a donc pas été mis en œuvre. En revanche, l’algorithme a bien été modifié pour que le nombre de likes prédomine, comme l’expliquait Grégoire. Mais cela a fait naître un autre problème : un candidat avec un ratio de 75% (neuf likes, trois dislikes) passe désormais devant une concurrente avec un ratio de 78% (sept likes, deux dislikes). Par ailleurs, alors que des swipes négatifs ont été enregistrés pour tous les candidats, le score affiche toujours «100% d’accord» avec certains. Résultat, après avoir répondu à plus de 200 propositions (indice de fiabilité recommandé par les fondateurs) pas moins de treize candidats sont donnés comme 100% compatibles.
A lire aussi
Ensuite, plusieurs soucis subsistent concernant les propositions. D’abord, leur nombre n’est pas toujours égal pour chaque thématique et chaque candidat, contrairement à ce qu’annonçait Grégoire Caztarra. Par exemple, seulement trois mesures économiques sont enregistrées pour Jean-Luc Mélenchon (qui a pourtant un programme de 150 pages), contre six pour Eric Zemmour (qui à ce jour n’a publié que huit slides PDF sur son site). Enfin, malgré une base de données fixe, le nombre total de propositions soumises à l’appréciation de l’utilisateur est complètement aléatoire. Sur trois tests successifs (en réinitialisant les résultats à chaque fois) l’application indique : «Tu as passé toutes les propositions» au bout de 150 swipes, 227 swipes puis 104 swipes.
Un seul développeur dans l’équipe
Sur ce dernier point, François Mari, le profil «tech» du duo, explique à CheckNews : «C’est un petit bug qu’on a identifié en effet, la première fois que l’on se sert de l’appli, on accède à toutes les propositions, soit environ 500. Mais si on réinitialise les résultats sans la relancer complètement, il y a un problème d’affichage.» A la mention de toutes nos remarques, il reste calme (ou épuisé), mais très conscient de la situation. «On a été dépassé par le succès de l’application, je suis le seul à coder dans l’équipe, j’essaye de prendre en compte tous les retours, qui sont normaux, mais la surcharge de travail est énorme», confie le jeune homme, peiné par les critiques parfois violentes sur Twitter. «Concernant le nombre de propositions par candidat, on a rédigé toutes celles à ajouter et identifié celles à enlever, pour que chacun en aient 29 au total. Mais quand j’ai fait la mise à jour ce week-end, les swipes ne s’affichaient plus, donc j’ai dû rétropédaler. J’essaye de voir comment les intégrer et égaliser d’une autre manière.»
«Dans la nuit de samedi à dimanche, j’ai aussi changé les identifiants des candidats pour les mettre par ordre alphabétique mais l’application a planté, donc j’ai remis comme avant en attendant de trouver une solution.» Il travaille à mettre en place une fonctionnalité ex-aequo, «mais ça prend énormément de temps». François Mari espère pouvoir proposer une nouvelle version dans les prochaines quarante-huit heures, mais aussi, être aidé par un deuxième développeur. Suite aux demandes répétées sur les réseaux sociaux, le code de l’application va être rendu public dans la semaine. «Ne serait-ce que pour être transparent sur l’algorithme, ce qui est assez logique», précise-t-il. Passer en Open Source lui permettra aussi de s’appuyer sur une communauté d’experts qui passeront les bugs au crible et l’aideront à les solutionner plus rapidement. C’est en tout cas la vision défendue par Mathis Hammel, qui a déjà mis son savoir (et ses bonnes intentions) à disposition d’Elyze, après avoir observé une faille majeure dans la sécurité de l’application.
Base de données «hackée»
Comme mentionné plus haut, l’expert en programmation s’est d’abord penché sur Elyze pour y voir plus clair sur les bugs de classement. Pour ses recherches, il a simulé un piratage pour obtenir le code source de l’application, et s’est rapidement rendu compte qu’il était possible d’entrer dans la base de données centrale. En effet, l’application et les serveurs communiquent en permanence, pour permettre à l’algorithme de mettre à jour le classement. Mais cette connexion était mal sécurisée : «Je me suis rendu compte qu’il y avait un souci sur la configuration des permissions, on pouvait accéder et modifier, ajouter ou supprimer des propositions de candidats sur le serveur central, donc ce qui s’affiche sur le téléphone de tous les utilisateurs», précise-t-il.
Si lui est bien intentionné – il a rapidement effacé ses tests et a contacté François Mari pour l’aider à résoudre le problème – quelqu’un de malveillant avec les mêmes compétences aurait facilement pu manipuler les programmes électoraux, et donc l’opinion publique d’un million d’utilisateurs.
Hier soir, j'ai découvert un problème de sécurité sur l'app Elyze (numéro 1 des stores en France cette semaine) qui m'a permis d'apparaître comme candidat à la présidentielle sur le téléphone de plusieurs centaines de milliers de français.
— Mathis Hammel (@MathisHammel) January 15, 2022
Je vous explique ce qui s'est passé ⤵️ pic.twitter.com/0a4LqZUPjL
«Heureusement, les autres parties de la base de données n’ont pas été affectées : ça aurait été vraiment terrible d’avoir une fuite des données utilisateurs», ajoute Mathis Hammel plus loin dans son thread. Comme d’autres, il se questionne sur l’avenir réservé aux précieuses informations récoltées par les co-créateurs de l’appli. «Ils ont une mine d’or entre les mains», estime l’expert.
Revente de données personnelles
Plus l’application s’est fait connaître, plus les internautes sont allés décortiquer son fonctionnement. Plusieurs Twittos découvrent alors que les conditions générales d’utilisation (CGU) d’Elyze prévoient «la revente des données d’utilisation, toujours anonymisées, à des tiers». Certains s’inquiètent de ne pas savoir ce qu’il sera fait de leurs données personnelles : genre, date de naissance, code postal, intentions de vote aux élections de 2017 et 2018, et affinités avec chaque proposition. D’autres n’arrivent pas à supprimer leurs données et la méfiance monte encore d’un cran. Elyze affirme publiquement «qu’aucune donnée ne sera vendue à un parti politique ou à une équipe de campagne».
Même son de cloche au téléphone : «Quand on a rédigé les CGU au tout début, on l’a juste mis au cas où, si on devait vendre non pas les données brutes mais des résultats», explique François Mari, qui répète dans ses interviews ne pas gagner d’argent avec ce projet. «On est conscients des enjeux, non on ne va pas filer des données sur une clé usb à une organisation politique. En revanche ce qu’on envisage – et on mettra à jour les CGU si besoin – ça pourrait être de vendre les résultats à un observatoire d’études», assume-t-il. «Mais ce serait anonymisé : on donnera uniquement l’année de naissance et le début du code postal (juste le département).»
Merci @malopedia pour ton retour critique ! Au-delà des enjeux techniques, sur lesquels nous sommes mobilisés, que les choses soient claires (et écrites ici de façon 100% transparente) : aucune donnée ne sera vendue à un parti politique ou à une équipe de campagne.
— ELYZE - Présidentielle 2022 (@ElyzeApp) January 15, 2022
Pire, un thread publié sur Twitter par une autre experte en cybersécurité, explique que les données personnelles des utilisateurs sont déjà exploitées. «C’est une information mal remise dans son contexte», déplore François Mari, «aucune donnée n’est envoyée à Facebook, Google ou Amazon, c’est simplement que l’application Elyze est développée avec Expo [une infrastructure logicielle qui permet de publier la même appli sur Android et iOS sans avoir à la coder deux fois, ndlr] qui envoie automatiquement des statistiques sur les utilisateurs qui installent l’application». Impossible à désactiver selon lui.
Or, selon l’article 9 du règlement européen sur les données personnelles (RGPD), «le traitement des données à caractère personnel qui révèle les opinions politiques» est interdit, sauf si le consentement explicite est récolté et lié à une finalité précise. La Commission nationale de l’informatique et des libertés (Cnil) a annoncé ce lundi à l’AFP qu’elle allait vérifier si l’application Elyze respecte bien la règlementation sur ces «données sensibles». Le gendarme français des données personnelles «ne peut se prononcer en l’état sur la conformité de cette application». Grégoire Cazcarra et François Mari ont également fait savoir qu’ils étaient en train de consulter des avocats spécialisés pour voir comment structurer le projet juridiquement pour traiter et conserver les données.