Les élections municipales de 2026 ont ceci de particulier qu’elles génèrent une masse de données publiques considérable — et largement sous-exploitée. Le ministère de l’Intérieur publie les fichiers de candidatures en open data, accessibles à tous. Mais un CSV brut de 888 000 lignes reste, pour l’essentiel, illisible sans les outils adaptés.
C’est de ce constat qu’est né l’Explorateur des Municipales 2026, un outil d’analyse et de visualisation interactif développé en interne, disponible librement à l’adresse suivante : municipales2026.manufacture-osint.fr
La donnée brute : un gisement ouvert, mais dense
Les fichiers sources proviennent directement des publications officielles du ministère de l’Intérieur. Le périmètre couvert pour ce premier tour est le suivant :
- 34 904 communes
- 49 961 listes de candidatures
- ~888 000 lignes de candidats
Ces données encodent, pour chaque commune, chaque liste et chaque candidat : le nom, la famille politique déclarée, le sexe, le rang sur la liste, et diverses métadonnées administratives (code INSEE, département, population).
La richesse de ces données est réelle — mais leur exploitation directe est fastidieuse. C’est précisément là qu’intervient le travail de préparation.
Stack technique : des choix assumés
L’architecture retenue répond à une contrainte simple : produire un outil performant, déployable sans infrastructure serveur lourde, et accessible depuis n’importe quel navigateur sans installation.
Preprocessing : Python + DuckDB → Parquet
Le traitement initial des données brutes est réalisé en Python, avec DuckDB comme moteur de requêtes SQL en mémoire. DuckDB présente l’avantage d’être extrêmement rapide sur des volumes de données moyens (de l’ordre du million de lignes), sans nécessiter de serveur de base de données dédié.
Le résultat du preprocessing est exporté en format Parquet — un format colonnaire binaire, compressé et optimisé pour les lectures analytiques. Les deux fichiers Parquet produits pèsent au total environ 5 Mo, contre plusieurs centaines de Mo pour les CSV d’origine.
Frontend : Vite + Vanilla JS + DuckDB-WASM
Le choix le plus structurant est celui de DuckDB-WASM : une version compilée en WebAssembly de DuckDB, qui s’exécute directement dans le navigateur de l’utilisateur. Concrètement, cela signifie que les requêtes SQL analytiques sont exécutées côté client, sans aucun appel à un serveur backend. Aucune donnée n’est transmise à un tiers.
Cette approche a plusieurs avantages :
- Déploiement simplifié (hébergement statique)
- Confidentialité des requêtes utilisateur
- Performances satisfaisantes pour des agrégations sur ~50 000 lignes filtrées
La carte est rendue via Leaflet avec un fond TopoJSON des 35 000 communes et un Canvas renderer pour maintenir les performances sur un tel volume de polygones. Les graphiques sont produits avec Chart.js.
L’interface est entièrement en dark theme, responsive sur quatre breakpoints (1280 / 1024 / 768 / 480 px).
L’outil : trois espaces d’analyse
1. Dashboard
La vue d’entrée présente les indicateurs globaux (nombre de communes, de listes, de candidats) et deux graphiques de synthèse : la répartition des listes par famille politique à l’échelle nationale, et le classement des dix départements concentrant le plus grand nombre de listes.
2. Carte & Explorateur
C’est le cœur opérationnel de l’outil. La carte affiche l’ensemble des communes, colorées selon une métrique choisie par l’utilisateur : nombre de listes, présence d’une famille politique donnée, communes à liste unique, etc.
Les filtres combinables permettent d’isoler des sous-ensembles précis : par département, par tranche de population (via slider), par nombre de listes, par présence ou absence d’une famille politique. Un raccourci « liste unique » filtre directement les communes sans opposition.
Le tableau associé est paginé et permet une recherche par nom de commune ou code INSEE. Un clic sur une commune ouvre une fiche détaillée : listes en présence, candidats, indicateur de parité, et gestion spécifique des communes PLM (Paris, Lyon, Marseille sont traitées à l’échelle de leurs arrondissements, avec agrégation de la population).
3. Analyses — 12 graphiques thématiques
La troisième vue regroupe douze graphiques d’analyse, chacun accompagné d’un tooltip explicatif sur la méthode de calcul et d’un range slider pour zoomer sur une plage de valeurs.
Les thématiques couvertes sont les suivantes :
- Couverture par famille politique : combien de communes chaque famille a-t-elle au moins une liste ?
- Taille moyenne des listes : nombre moyen de candidats par liste, par famille
- Matrice de co-occurrence : combien de communes partagent simultanément deux familles politiques données ?
- Fragmentation selon la taille de commune : corrélation entre population et pluralisme politique
- Communes à liste unique : compteur global, top 10 des plus grandes communes sans opposition, répartition par famille
- Bastions par département : top 10 départements par famille, exprimé en % de communes couvertes
- Pluralisme par département : top 10 et bottom 10 en diversité politique
- Top 20 communes les plus disputées : communes concentrant le plus grand nombre de listes concurrentes (secteurs PLM inclus)
Un toggle global permet d’exclure les listes « Sans étiquette » de l’ensemble des calculs — particulièrement utile pour les communes de moins de 3 500 habitants, où cette catégorie est structurellement dominante.
Ce que les données révèlent
Au-delà de la technique, ce sont les résultats qui retiennent l’attention.
68 % des communes élues sans opposition
Le chiffre est net : 23 750 communes sur 34 904 — soit 68,0 % — ne présentent qu’une seule liste. Dans ces communes, le résultat du scrutin est connu avant même l’ouverture des bureaux de vote.
La plus grande commune dans cette situation est Beaupréau-en-Mauges (Maine-et-Loire), avec 23 887 habitants — une ville de taille significative, élue sans concurrent.
Une Haute-Marne presque monolithique
En Haute-Marne, 422 communes sur 426 (99,1 %) ne présentent que des listes classées « Sans étiquette ». Ce taux exceptionnel illustre une dynamique locale très particulière, où l’appartenance partisane est quasi absente de la compétition municipale.
Le fait écologiste, concentré en un point
Sur l’ensemble du territoire national, une seule commune présente deux listes se réclamant de la famille écologiste. Un indicateur parmi d’autres de la fragmentation et de la concentration géographique de certaines offres politiques.
Open data : des données publiques, une responsabilité d’usage
Cet outil repose intégralement sur des données ouvertes, publiées par une institution publique dans le cadre de la transparence électorale. Sa démarche s’inscrit dans une vision simple : rendre ces données accessibles et interprétables ne devrait pas nécessiter de compétences techniques avancées.
L’outil sera mis à jour à l’issue du second tour pour intégrer les résultats définitifs.
Les données sont également référencées sur data.gouv.fr.

