Index ¦ Archives ¦ Atom

Comment compter le nombre de voix du Referendum ADP en respectant la vie privée?

Le Référendum d’Initiative Partagée (RIP) concernant la privatisation du groupe Aéroports de Paris (ADP) est en ligne depuis le 13 juin 2019. Ce référendum permet d’apporter son soutien à une proposition de loi visant à affirmer le caractère de service public national de l’exploitation du Groupe aéroports de Paris, en « signant » un équivalent de pétition en ligne.

La problématique

Le site de soutiens ne comporte pas de compteur de signatures, tel que rappelé par CheckNews, ce qui peut poser problème aux soutiens de la proposition de loi. Il n’est en effet pas possible de savoir si l’on approche du seuil de 10% des inscrits sur les listes électorales, qui correspond à un total de 4 717 396 voix.

Comment alors faire un compteur, en respectant la vie privée des personnes ayant signé cette pétition, c’est-à-dire en évitant de récupérer les noms et prénoms de l’ensemble des participants? Cet article présente une méthode simple qui permet d’avoir une première estimation.

Données disponibles et mécanismes de protection

Le site permet cependant à chacun de consulter les noms, prénoms et départements des personnes ayant apportée leurs soutiens à ce référendum, et certains utilisent du micro-travail pour automatiser la récolte de données. Ce micro-travail est nécessaire car plusieurs mécanismes empêchent la prospection automatique à l’aide de robots de ces données, qui sont des données à caractère personnel:

  1. La présence d’un fichier robots.txt interdisant la consultation automatique du site, situé à l’adresse https://www.referendum.interieur.gouv.fr/robots.txt. Ce mécanisme est purement cosmétique, puisqu’il est simplement possible d’ignorer les directives de ce fichier;
  2. L’utilisation d’une solution anti-ddos de la société Imperva Incapsula, comme relevé par Célestin Matte, qui utilise notamment une captcha ReCaptcha de Google, visible sur l’image ci-dessous;
  3. L’utilisation d’une captcha « fait maison » mis en place par le ministère de l’intérieur, qui semble cependant simple à résoudre automatiquement;

Solution anti-ddos mise en place par Imperva Incapsula Captcha « fait maison » mis en place par le ministère de l'intérieur Gauche: Solution anti-ddos de Imperva Incapsula - Droite: Captcha « fait maison » du ministère de l’intérieur

Une solution possible

Pour obéir au fichier robots.txt, la solution doit être manuelle: il n’est pas question d’utiliser du crawling automatique, puisque ce dernier est « interdit » (tout du moins, très très fortement déconseillé). Par suite, il n’est pas nécessaire d’automatiser de la résolution de captchas, d’autant plus que les services utilisés reposent sur l’exploitation de précaires à travers le monde, et en France.

On remarque que sur le site web, les signatures sont organisées alphabétiquement selon les deux premières lettres du nom de famille: AA, AB, AC, AD, etc. Par ailleurs, les participations sont regroupées par pages contenant 200 signatures, avec en bas de page des liens permettent d’accéder aux différentes pages contenant ces participations.

Ainsi, étant donné deux lettres (par exemple, “GR”), en utilisant un nombre réduit de résolutions de captchas, il est possible de savoir combien de pages de participation sont disponibles, c’est-à-dire savoir combien de personnes ont participé, à plus ou moins 200 participations.

Calcul du nombre de signatures

Il est possible de combiner cette information avec les statistiques de l’Insee sur les noms par années de naissance, disponibles en Open Data, pour obtenir une estimation du nombre de « votes ». Ainsi, si l’on considère les noms commençant par “G” pour les personnes nées entre 1950 et 2000, la distribution des secondes lettres est visible sur la figure suivante.

Distribution de la seconde lettre des noms commençant par G entre les années de naissance 1950 et 2000

Sous des hypothèses d’indépendance entre le patronyme et le pourcentage de participation à ce référendum (donc sur l’inscription sur des listes électorales), on peut à partir de ces données obtenir une image de la participation globale. On peut aussi choisir quelles paires de lettres choisir en priorité, pour avoir le plus de votes (et réduire ainsi l’erreur relative à l’incertitude sur le nombre de vote de la dernière page, inconnu et situé entre 1 et 200).

Ainsi, il est possible de calculer une participation, extrapolée à partir des données liées aux noms de famille. La dernière colonne du tableau suivant correspond à cette participation extrapolée.

Premières lettres Pourcentage (INSEE) Nombre de page (Referendum) Nombre de participation (extrapolé)
LE 4,78% 29 121338
MA 4,3039% 28 130114
DE 3,8845% 25 128716
BO 3,521% 18 102243
LA 3,0816% 21 136292

En bref

En se contentant de faire une simple règle de proportionalité sur le nombre de pages des listes de participation disponibles, il est possible d’obtenir une estimation de la participation au référendum. Le 18 juin, à 14h30, l’estimation était d’environ 123 000 voix. Cette estimation s’obtient sans avoir besoin de passer par un service de résolution de captcha, et sans contournement des protections mises en place par le ministère de l’Intérieur. Par ailleurs, la méthode est suffisamment simple pour pouvoir être répétée régulièrement. Cette estimation se base cependant sur une hypothèse qui peut être critiquée, celle que les participations au référendum sont suffisamment bien réparties selon les premières lettres du nom de famille (i.e. quelqu’un dont le nom commence par “LE” n’a pas plus de chance de voter que quelqu’un dont le nom commence par “ZX”).

Ajout du 1er juillet 2019: Le conseil constitutionnel a communiqué de manière officielle sur le décompte. Un coefficient correcteur (multiplication de ~ 1.08) a donc été ajouté pour faire correspondre la valeur du 01 juillet 2019 à celle du conseil constitutionnel qui fait référence. Cette différence s’explique par la prise en compte par le conseil constitutionnel de signatures n’apparaissant pas en ligne pour des raisons de « bugs » d’affichage (par exemple, les noms à une lettre n’aparaissent pas, de même que certains noms accentués). De même, le nombre de signatures présent sur le site web n’est pas forcément le nombre de soutiens validé, puisque cette communication peut prendre jusqu’à 5 jours. Il n’est pas certain que la communication du conseil constitutionnel concerne le nombre de soutiens communiqués en ligne (et pas uniquement les validés).

Annexe et données

Les données brutes sont disponibles sur data.gouv.fr, la plateforme Open Data du Gouvernement Français.

Ce tableau présente l’évolution au cours du temps de l’estimation du nombre de participations:

Date Participation Participation
après correction
Déviation Standard Pourcentage Gain
13 juin 2019 0 0 0 0.0 % 0
18 juin 2019 123 741 130 535 13 863 2.77 % 130 535
19 juin 2019 216 722 228 621 9 413 4.85 % 98 086
20 juin 2019 256 451 270 533 10 386 5.73 % 41 912
21 juin 2019 278 147 293 420 12 072 6.22 % 22 887
22 juin 2019 300 793 317 309 11 109 6.73 % 23 889
23 juin 2019 329 868 347 981 12 122 7.38 % 30 672
24 juin 2019 354 699 374 175 12 254 7.93 % 26 194
25 juin 2019 369 829 390 135 12 397 8.27 % 15 960
26 juin 2019 387 870 409 167 14 972 8.67 % 19 032
27 juin 2019 400 622 422 619 16 634 8.96 % 13 452
28 juin 2019 412 060 434 685 15 581 9.21 % 12 066
29 juin 2019 420 259 443 334 16 959 9.4 % 8 649
30 juin 2019 433 197 456 983 16 669 9.69 % 13 649
01 juillet 2019 441 650 465 900 16 655 9.88 % 8 917
02 juillet 2019 449 021 473 675 16 827 10.04 % 7 775
03 juillet 2019 454 708 479 675 17 924 10.17 % 6 000
04 juillet 2019 460 921 486 230 18 287 10.31 % 6 555
05 juillet 2019 474 504 500 558 18 691 10.61 % 14 328
06 juillet 2019 481 874 508 333 18 847 10.78 % 7 775
07 juillet 2019 487 519 514 288 19 055 10.9 % 5 955
08 juillet 2019 492 185 519 210 18 876 11.01 % 4 922
09 juillet 2019 497 830 525 165 19 140 11.13 % 5 955
10 juillet 2019 502 727 530 331 19 918 11.24 % 5 166
11 juillet 2019 507 774 535 655 20 382 11.35 % 5 324
12 juillet 2019 511 412 539 493 19 463 11.44 % 3 838
13 juillet 2019 515 241 543 532 20 842 11.52 % 4 039
14 juillet 2019 519 581 548 110 21 224 11.62 % 4 578
15 juillet 2019 522 612 551 307 21 012 11.69 % 3 197
16 juillet 2019 525 269 554 110 22 194 11.75 % 2 803
17 juillet 2019 529 905 559 001 19 564 11.85 % 4 891
18 juillet 2019 533 954 563 272 21 814 11.94 % 4 271
19 juillet 2019 538 150 567 699 21 597 12.03 % 4 427

Évolution du nombre de participation au réferendum ADP

Un compte twitter a été mis en ligne à l’adresse https://twitter.com/CompteurADP pour suivre cette évolution de manière régulière.

© Rémy Grünblatt 🍃. Built using Pelican. Theme by Giulio Fidente on github.