02 · CivicTech · Données publiques
Programmes Candidats : rendre les votes parlementaires consultables
Les scrutins publics de l'Assemblée nationale existent, mais restent difficiles à relier aux députés, aux textes, aux amendements et aux étapes qui leur donnent du sens. Programmes Candidats transforme ces sources officielles en parcours consultables : qui a voté quoi, sur quel texte et à quelle étape. Les publications du Sénat complètent le chemin lorsqu'un texte change de chambre. Plus de 137 000 pages sourcées rendent cet ensemble accessible et indexable.

// sous le capot
Architecture et décisions techniques
J'ai séparé l'application publique Laravel du worker Go qui collecte, audite et normalise les sources officielles. MySQL sert les pages et la recherche, tandis que R2 conserve chaque archive source et son manifeste avant l'import.
- 01
Isoler l'ingestion du trafic public
Laravel répond aux visiteurs pendant que le worker Go absorbe les volumes de données parlementaires. Une importation lourde ne ralentit donc ni une fiche de député ni une page de scrutin.
- 02
Auditer avant de publier
Chaque archive reçoit une empreinte de contenu. Si elle est identique, l'import est ignoré. Sinon, la source est archivée dans R2, sa structure est auditée et les données sont vérifiées avant la promotion atomique du manifeste d'ingestion.
- 03
Réunir des sources officielles hétérogènes
Les ZIP structurés de l'Assemblée sont complétés par les textes et rapports publiés par le Sénat. Les domaines sont autorisés explicitement et le HTML est traité avec un parseur dédié.
- 04
Rendre 137 000 pages traçables et pilotables
Députés, scrutins, dossiers, textes et amendements partagent un même contrat d'indexabilité. Chaque page distingue les faits officiels, les calculs, les rapprochements automatiques et les synthèses relues. Les sitemaps sont découpés et leur date suit les données réellement modifiées.