Accueil / Exploration / Scrutins de l'Assemblée nationale

Exploration · Données publiques

Qui vote quoi, et qui vote avec qui.

8 434 scrutins publics de la XVIIe législature, d'octobre 2024 à juillet 2026, ramenés à deux questions vérifiables : la position de chaque groupe politique, et le taux d'accord entre groupes. Les chiffres viennent de l'open data de l'Assemblée nationale, sans intermédiaire éditorial.

Ouvrir l'application

Page autonome : aucun compte, aucun serveur, aucune requête vers un tiers. Le premier chargement transfère les données une fois, puis tout est calculé dans le navigateur.

Ce que la page montre

Cumul par groupe

Pour, contre et abstention de chacun des 12 groupes, dans l'ordre de l'hémicycle, en nombre ou en pourcentage — sur toute la législature ou sur n'importe quelle sélection.

Qui vote avec qui

Une matrice 12 × 12 du taux d'accord entre groupes, calculé sur leur position majoritaire scrutin par scrutin. Les proximités réelles, indépendamment des discours.

Filtres

Recherche plein texte, résultat, type de scrutin — ordinaire, solennel, motion de censure — et 14 sujets. Tous les blocs se recalculent sur la même sélection.

Explorateur

Chaque scrutin est consultable individuellement : numéro, date, intitulé officiel, détail par groupe, et une adresse partageable qui l'ouvre directement.

Ce que la page ne fait pas. Elle ne commente pas, ne classe pas, ne note personne. Elle affiche des décomptes officiels et le calcul qui en découle. La seule couche ajoutée est le rattachement de chaque intitulé à un sujet, et elle est signalée comme indicative.

Comment les données sont fabriquées

  1. Téléchargement. Le fichier Scrutins.json.zip de l'open data de l'Assemblée nationale, un JSON par scrutin. Le zip est lu directement en mémoire : les 170 Mo décompressés ne touchent jamais le disque.
  2. Agrégation. Pour chaque scrutin, on retient le numéro, la date, l'intitulé, le résultat, le type, et le décompte officiel par groupe issu de la ventilation des votes.
  3. Classification. Chaque intitulé est rattaché à l'un des 14 sujets par listes de mots-clés ordonnées. Environ 98 % des scrutins sont classés, le reste tombe en « Autres ».
  4. Compactage. Tout est écrit en tableaux plats plutôt qu'en objets nommés : 2,5 Mo bruts, environ 500 Ko une fois compressés par le serveur.
  5. Rendu. Rien n'est pré-agrégé. Cumuls, matrice et compteurs sont recalculés dans le navigateur à chaque changement de filtre, donc n'importe quelle combinaison reste exacte.

Choix de méthode, et leurs limites

  • Taux d'accord — on retient la position majoritaire de chaque groupe sur ses seuls exprimés, puis la part des scrutins où les deux groupes d'une paire coïncident, parmi ceux où les deux se sont exprimés. L'effectif de comparaison est affiché dans l'infobulle.
  • Groupes — l'UDR a deux enregistrements administratifs successifs, fusionnés ici en une seule série ; les votes hors groupe sont rattachés aux non-inscrits.
  • Motions de censure — l'Assemblée n'enregistre que les votes « pour » : la lecture d'une motion n'est pas celle d'un scrutin ordinaire.
  • Écarts résiduels — les totaux par groupe peuvent différer marginalement de ceux annoncés en séance, du fait des mises au point.
  • Sujets — la classification lit l'intitulé, pas le fond du texte. Elle sert à filtrer, pas à conclure.

Ce que nous en avons tiré

Le coût est dans la méthode, pas dans le code

L'agrégation et l'affichage se sont écrits vite. Ce qui a demandé du temps, c'est de décider ce qu'on compare et de savoir le défendre — un taux d'accord mal défini produit un chiffre présentable et faux.

Un jeu de données officiel n'est pas propre pour autant

Deux identifiants pour un même groupe, des votes hors groupe, des motions comptées différemment : chaque anomalie est une décision à prendre et à écrire quelque part, sinon elle se transforme en erreur silencieuse.

Calculer côté navigateur évite une infrastructure

500 Ko compressés transférés une fois remplacent une base de données, une API et leur maintenance. Le plafond est connu : cette approche tient tant que le jeu de données tient en mémoire.

La chaîne de rafraîchissement fait partie de l'objet

Une seule commande retélécharge, recalcule et régénère le fichier de données. Sans elle, la page aurait été juste le jour de sa publication et fausse trois mois plus tard.

Source : données publiques de l'Assemblée nationale (« Votes — Scrutins »), XVIIe législature.

Vous avez un jeu de données qui dort ?

Fichiers d'export, tableurs partagés, historiques d'outil métier : la méthode est la même. Dites-nous ce que vous aimeriez pouvoir lire.

Nous écrire