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:
- 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; - 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;
- 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;
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.
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.
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 |
Un compte twitter a été mis en ligne à l’adresse https://twitter.com/CompteurADP pour suivre cette évolution de manière régulière.