Données à jour au 8 octobre 2026
Notre mission

La démocratie mérite
des données en clair.

MonÉlu ingère, transforme et sert les données de vote de l'Assemblée nationale à tous les citoyens — sans jargon, sans filtre politique, sans abonnement.

Plateforme en chiffres
Députés suivis en temps réel577
Scrutins publics indexés1 200+
Chunks RAG indexés3 741
Mise à jour (jours ouvrés)Quotidien
Mise à jour continue · flux officiel AN
Pourquoi MonÉlu

« Les données parlementaires existent — elles sont publiques, officielles, riches. Mais elles sont éparpillées, peu structurées, et inaccessibles au plus grand nombre. »

MonÉlu est né de ce constat. Nous agrégeons les flux bruts de l'Assemblée nationale, les transformons via un pipeline de données de production, et les restituons sous une forme lisible — pour les citoyens, les journalistes, les chercheurs et les développeurs.

Chaque donnée affichée est traçable jusqu'à sa source officielle. Aucune interprétation, aucune inférence non documentée. Les votes sont des votes. Les absences sont des absences.

Nos engagements

Ce qui nous guide

Transparence totale
Chaque donnée est accompagnée de sa source, de sa date d'ingestion et du lien vers le document officiel.
Sources officielles uniquement
Aucune donnée issue de scraping non autorisé. Flux XML de l'Assemblée nationale, portail open data officiel.
Mise à jour continue
Pipeline automatisé via GitHub Actions, actif chaque jour ouvré à 06h00 UTC. Délai d'ingestion inférieur à quelques minutes.
Open data & open source
Code source public sur GitHub. Données redistribuées sous licence Etalab 2.0. Réutilisation libre, attribution requise.
Zéro interprétation
Nous ne commentons pas, n'annotons pas, n'infèrons pas. Les votes sont des votes. Les absences sont des absences.
Accessibilité universelle
Interface citoyenne, documentation développeur, API ouverte. Un seul jeu de données, trois portes d'entrée.
Architecture

Une infrastructure de production,
pas un prototype.

Code source ouvert · audit indépendant possible · aucune donnée personnelle collectée
01 · Ingest
Collecte
Scripts Python téléchargent les exports ZIP de l'AN et insèrent les données via des upserts idempotents.
PythonGitHub ActionsXML
02 · Store
Stockage
PostgreSQL géré via Supabase avec pgvector pour la recherche sémantique. Idempotent, sans suppression.
SupabasePostgreSQLpgvector
03 · Transform
Transformation
Les tables brutes alimentent un projet dbt (staging → intermédiaire → marts), testé automatiquement à chaque PR.
dbtSQLMarts
04 · Serve
Exposition
API REST FastAPI avec requêtes SQL directes, rate-limiting et CORS. Déployée sur Railway.
FastAPIRailwayOpenAPI
05 · UI
Interface
Application Next.js App Router avec RAG (Groq llama-3.3-70b) pour les questions en langage naturel.
Next.jsRAGGroq
Ingestion
Python scripts
Fetch + upsert quotidien des ZIPs officiels de l'AN avec retry exponentiel.
Transformation
dbt Core
Modèles SQL documentés, tests de qualité, lignage de données complet.
Recherche IA
Groq llama-3.3-70b
Inférence RAG rapide sur le corpus législatif, temperature=0.2.
Embeddings
OpenAI text-embedding-3-small
3 741 chunks, 1 536 dimensions, ~0,006 $ par ré-indexation complète.
API
FastAPI
API asynchrone, OpenAPI 3.1, psycopg2 direct, rate-limiting slowapi.
Hébergement
Railway + Supabase
Déploiement automatique sur push master. Postgres 15 géré avec pgvector.
CI/CD
GitHub Actions
Ruff, pytest, dbt compile + test sur chaque PR. Ingestion cron quotidienne.
Frontend
Next.js App Router
SSR + streaming, Tailwind, Newsreader/DM Serif, déployé sur Vercel.
Transparence des données

D'où viennent les données ?

Toutes les informations affichées sur MonÉlu proviennent de sources publiques officielles. Nous ne produisons pas de données — nous les structurons, les enrichissons et les rendons accessibles. Chaque entrée est horodatée et traçable.

Assemblée nationale — flux XML
Scrutins, positions par député, comptes rendus de séance
Actif · J+0
data.gouv.fr — open data
Données électorales, mandats, circonscriptions
Actif · J+1
Légifrance — textes officiels
Lois adoptées, Journal officiel, textes en navette
Actif · J+0
Registre des représentants d'intérêts
Déclarations HATVP, conflits d'intérêts, patrimoine
Actif · hebdomadaire
Fraîcheur des données
Votes en séanceQuotidien
Fiches députésQuotidien
Corpus RAGQuotidien
Textes de loiJ+1
Données patrimonialesHebdomadaire
Pipeline actif tous les jours ouvrés :
06h00 UTC · GitHub Actions cron
Licence ouverte Etalab 2.0
Toutes les données redistribuées sont sous licence ouverte. Réutilisation libre, attribution requise.
Pour les développeurs

Une API REST pensée pour être utilisée.

Accédez à l'intégralité des données MonÉlu par programme. Députés, votes, scrutins — tout est exposé, documenté, versionné.

Accès complet à 577 fiches de députés avec historique de votes
Tous les scrutins de la XVIIᵉ législature, filtrables par date et groupe
Ventilation des votes par groupe parlementaire
Recherche sémantique en langage naturel sur le corpus législatif
Rate-limiting transparent · 30 req/min global · documentation OpenAPI
Documentation complète →
Terminal
# Votes d'un député
GET /deputies/PA722990/votes
{
"total": 1248,
"pour": 892,
"contre": 198,
"derniere_sync": "2025-06-25T06:14:00Z"
}
Questions fréquentes

L'essentiel sur la plateforme, ses sources et ses conditions de réutilisation.

Qu'est-ce que MonÉlu ?

MonÉlu est une plateforme de transparence civique qui publie le dossier de vote complet de chaque député de l'Assemblée nationale française. Les flux bruts de l'Assemblée sont ingérés, transformés par un pipeline de données de production, puis restitués sous une forme lisible pour les citoyens, les journalistes, les chercheurs et les développeurs.

D'où viennent les données ?

Toutes les données proviennent du portail open data de l'Assemblée nationale : les exports officiels des scrutins, des positions de vote de chaque député, des fiches d'acteurs et de l'agenda des séances publiques. MonÉlu ne produit aucune donnée : la plateforme les structure, les horodate et les rend traçables jusqu'au scrutin d'origine.

Qui est derrière la plateforme ?

MonÉlu est développée et maintenue par Walid Elkhoukh, data engineer et responsable de la plateforme. Le code source est public sur GitHub, ce qui rend un audit indépendant possible par n'importe qui.

MonÉlu est-il gratuit ?

Oui. La consultation du site et l'accès à l'API REST documentée sont gratuits, sans abonnement ni création de compte. Les données redistribuées le sont sous licence ouverte Etalab 2.0 : la réutilisation est libre, l'attribution est requise.

À quelle fréquence les données sont-elles mises à jour ?

Le pipeline s'exécute automatiquement chaque jour ouvré à 06h00 UTC via GitHub Actions : les nouveaux scrutins, les fiches de députés, l'agenda des séances et le corpus de recherche sémantique sont réingérés, puis les statistiques agrégées (présence, alignement, scorecards) sont recalculées.

Contact

Une question, un bug, une proposition de partenariat ? La page contact indique quoi écrire selon le cas, et à qui.

Walid Elkhoukh
Walid Elkhoukh
Data Engineer · responsable de la plateforme
Temps de réponse
Bugs & questions techniques
sous 48 h
Partenariats
sous une semaine

Prêt à explorer les données ?

Données ouvertes · API documentée · Code source public