577 577députés 17ᵉ législature

À propos & méthodologie

577députés est un explorateur indépendant de l'activité parlementaire de la 17ᵉ législature de l'Assemblée nationale (depuis juillet 2024). Tout est local : pas de service tiers, pas de tracker, pas d'analytics. Données ouvertes officielles uniquement, ré-utilisées sous Licence Ouverte (Etalab).

Les commandes en ligne ci-dessous (anqp …) sont celles du paquet Python qui propulse le site, à l'usage des personnes qui auto-hébergent l'instance.

Indépendance & neutralité

Sources de données

Toutes les données proviennent du portail data.assemblee-nationale.fr, publié par les services de l'Assemblée nationale. Licence Licence Ouverte v2.0 — Etalab.

DomaineSourceFormatVolume actuel
Députés en exerciceAMO10 (acteurs / mandats / organes — actifs)JSON ZIP, ~5 MB577 députés
Députés historiquesAMO50 (acteurs / mandats / organes — historiques)JSON ZIP, ~14 MB+48 ex-députés indexés
Questions écritesQuestions_ecrites.json.zipJSON ZIP, ~38 MB17 159 questions toutes catégories confondues
Questions oralesQuestions_orales_sans_debat.json.zipJSON ZIP, ~3 MB
Questions au GouvernementQuestions_gouvernement.json.zipJSON ZIP, ~4 MB
Dossiers législatifsDossiers_Legislatifs.json.zipJSON ZIP, ~9 MB2 744 dossiers
AmendementsAmendements.json.zipJSON ZIP, ~251 MB107 938 amendements
Scrutins publics nominatifsScrutins.json.zipJSON ZIP, ~21 MB6 490 scrutins · 1 043 305 votes individuels
Réunions / agendaAgenda.json.zipJSON ZIP, ~7 MB6 669 réunions
Comptes rendus de séancesyseron.xml.zipXML ZIP, ~45 MB507 comptes rendus, ~3 700 interventions extraites
Population par circonscriptionINSEE — Populations légales 2021 (republiées 25/06/2024)XLSX, ~32 KB566 circos métropole + DOM, mise à jour annuelle
Inscrits / votants par circonscriptionMinistère de l'Intérieur — Législatives 2024 1er tour (résultats définitifs)CSV, ~330 KB577 circos, mise à jour à chaque scrutin législatif

Tous les jeux de données sont distribués sous Licence Ouverte 2.0 (Etalab).

Fréquence de mise à jour

Comment chaque indicateur est calculé

Statut d'un texte législatif

Déduit du type d'acte de la navette parlementaire (champ type_xsi du dump dossiers). Règles, par ordre de priorité :

Statut d'une question parlementaire

avec_reponse si un texte de réponse ministérielle est publié, cloturee si l'état de clôture est explicite, sans_reponse sinon. Le champ delai_reponse_jours est la différence en jours calendaires entre la date de publication de la question et celle de la réponse.

Sort d'un amendement

Lu dans cycleDeVie.sort en priorité (texte clair : Adopté, Rejeté, Retiré, Tombé, Non soutenu, En traitement, Discuté, Effacé). Si le champ est nul (cas xsi:nil), le sort est déduit de etatDesTraitements.etat.libelle (ex : « Irrecevable 40 » → Irrecevable). Aucune autre inférence n'est faite.

Discipline de groupe (votes)

Pour chaque scrutin et chaque groupe, on identifie la position majoritaire du groupe (champ positionMajoritaire de la donnée source AN). La discipline d'un député est définie comme :

discipline(d) = (votes alignés sur sa majorité de groupe)
              ÷ (votes exprimés du député)
              × 100

Seuls les votes pour, contre, abstention (votes exprimés) entrent dans le calcul. Les non-votants sont exclus du dénominateur. Important : ces calculs ne portent que sur les scrutins publics nominatifs (~6 500). Les votes à main levée (largement majoritaires en hémicycle) ne laissent aucune trace exploitable et n'apparaissent jamais. La discipline affichée est donc celle observée sur un sous-ensemble représentatif mais pas exhaustif.

Détection d'amendements quasi-identiques

Algorithme MinHash + LSH :

  1. Le texte du dispositif est nettoyé (HTML retiré, accents pliés, ponctuation supprimée).
  2. Découpé en shingles de 5 mots consécutifs.
  3. 64 signatures MinHash sont calculées (BLAKE2b 64-bit avec graines déterministes).
  4. 16 bandes de 4 signatures bucketent les amendements ; les paires en collision sont vérifiées par le coefficient de Jaccard exact sur les shingles.
  5. Seuil retenu : Jaccard ≥ 0,80. Deux amendements au-dessus de ce seuil sont considérés comme « quasi-identiques » et regroupés via union-find.

Les amendements de moins de 8 shingles (texte court) sont exclus du calcul. Re-calculable via anqp cluster-amendements. Voir /clusters.

Score d'activité (cumul)

Sur la page /tops et certaines fiches, le score d'activité d'un député est la simple somme : questions posées + amendements déposés + votes exprimés. Aucune normalisation, aucune pondération : trois actions parlementaires différentes comptent à équivalent. Cette simplicité est volontaire pour rester transparent ; un « score parlementaire » pondéré serait subjectif.

Population & électeurs par circonscription

Sur la carte, chaque circonscription affiche au survol : le nombre d'habitants (résidents tous âges confondus) et le nombre d'inscrits sur les listes électorales. La légende additionne ces deux chiffres par groupe parlementaire.

Recherche full-text

SQLite FTS5 avec le tokenizer unicode61 remove_diacritics 2 (insensible à la casse et aux accents). Sur les questions et les amendements. La syntaxe accepte : phrases entre guillemets, opérateurs AND/OR/NOT/NEAR, recherche par champ (titre:retraite), négation (-mot).

Limitations connues

API publique

Tous les listings et fiches sont exposés en JSON sur /api/*. La spécification OpenAPI est publiée et naviguable :

L'API est en lecture seule, sans authentification ni quota côté local (mais bien sûr local-first : pas de service hébergé public).

Code source & contact