Makina Blog

Le blog Makina-corpus

[Inside] Les municipales : un projet pas comme les autres à Makina Corpus.


Comment partir d'une idée et arriver rapidement à un produit minimal fonctionnel.

La naissance de l'idée

Vendredi 21 mars, veille du week-end des municipales (1er tour), 9h. Comme souvent, tout part d'une discussion informelle. En ce début de journée, j'évoque le nouveau studio de télévision créé par un ami de longue date, Guillaume Truilhé, directeur du site d'information toulousaine ToulouseInfos.

Vendredi 21 mars, 9h10 : L'idée naît rapidement : pourquoi ne pas faire une carte interactive des (futurs) résultats de votes des élections municipales et la publier sur le site ToulouseInfos en début de semaine ?

La cartographie est l'un des domaines de prédilection de Makina Corpus. Mais que présenter d'intéressant et d'original ? Frédéric Bonifas (un de nos experts de cartographie, déjà auteur des cartes historiques de Toulouse (en 1680 et en 1830) et de l'application Moodwalkr), et moi-même tombons d'accord : faire une carte représentative des élections au niveau le plus fin possible, soit par bureau de vote !

Après quelques recherches rapides sur les précédentes élections, nous constatons que cette présentation des résultats par bureau est peu habituelle ; cela pourrait donc être un vecteur de visibilité intéressant.

Nouvelle mission de la journée : tout préparer pour dimanche soir pour qu'il ne reste qu'à rentrer les résultats du premier tour afin de générer la carte correspondante.

Il est désormais 11h, l'idée est validée, nous nous lançons dans la réalisation qui nécessite de résoudre les problèmes suivants :

  • Comment récupérer les données des bureaux de vote ?

  • Comment récupérer le découpage des bureaux de vote ?

  • Que va-t-on choisir techniquement pour avoir un résultat rapide ?

La réalisation du socle technique

Les choix techniques sont rapidement arrêtés : nous reprendrons un socle déjà utilisé dans de précédents projets cartographiques (expliqué dans des articles de blogs, utilisé dans les projets vuduciel de Loire Atlantique, CAUE Dordogne, …) : créer un site statique sur GitHub pages et afficher la carte grâce à Leaflet. Nous visons une simplicité maximale en un minimum de temps !

Frédéric trouve rapidement le découpage des bureaux de vote sur le site open data de Toulouse. Au format KML, il est rapidement converti en geoJSON grâce à QGIS et allégé via une technique.

Trouver le décompte des voix par bureau de vote est plus délicat. Mon contact journaliste m'explique la procédure archaïque de récupération des données électorales le dimanche soir à la préfecture : les villes où les résultats sont tombés sont énoncées, chaque journaliste intéressé lève la main, et autant de photocopies contenant les résultats de cette ville sont imprimées sur le moment. Et pas de logique par bureau de vote…

J'essaie donc d'anticiper le pire scénario où il n'y aurait pas de moyens de récupérer les informations de manière automatisée. J'initialise donc un fichier CSV permettant de saisir les résultats bureau par bureau pour chaque liste.

Un script Python le convertira en un fichier JSON qui sera utilisé par Leaflet pour afficher les résultats dans chaque zone/bureau de vote.

Une fois le code produit, il est déployé sur GitHub, accessible directement par les GitHub Pages : le site n'attend plus que les données des élections.

On en profite pour intégrer Google Analytics afin de suivre l'impact de cette carte électorale.

Il est 17h45, mission accomplie pour la phase 1.

La récupération des résultats

Lundi 24 mars. Le décompte des résultats du premier tour s'est achevé tard hier dans la soirée.

Bonne nouvelle en arrivant ce matin, les résultats sont disponibles via un format numérique. Je suis ravi de ne pas devoir taper les 2500 résultats (250 bureaux de vote x 10 listes) mais… il faut tout de même gérer une URL par bureau de vote

J'écris un script appelant chacune de ces URL à partir des identifiants des bureaux déjà récupérés dans le fichier KML : espérons que le site de toulouse.fr ne croit pas à une agression avec les 250 requêtes exécutées en quelques secondes depuis la même adresse IP… Ça passe \o/

Les données ainsi récupérées sont converties au format JSON prévu et mises à disposition du site statique.

La majeure partie du travail est achevée, nous préparons désormais l'affichage spécifique du site sur des écrans de taille plus petite, notamment pour être intégré dans des posts de news / blogs via une iframe à largeur limitée (entre 650 et 700 pixels).

La communication autour du projet

Tout est prêt, ToulouseInfos publie donc un article montrant la carte.

L'effet est quasi-immédiat : La Dépêche du Midi nous contacte et intègre notre carte dans un article. Aussitôt après, France3 Midi-Pyrénées se manifeste, toujours pour intégrer cette carte très probablement pour le second tour !

La carte est reprise dans un article dans Toul'Eco, sur le site de la Mêlée…

Nous avons même été contactés par des têtes de listes pour leur générer une carte similaire indiquant leur pourcentage dans chaque bureau, ce qu'Eric Bréhault et Simon Geoges réalisent dans la foulée.

Le développement du concept

Constatant l’engouement pour ce type de représentation, un collègue nantais, Sébastien Corbin décide de réutiliser le socle technique pour réaliser la carte de Nantes. Les cartes de Rennes et Caen arrivent dans la foulée grâce à Julien Marinescu et Sylvain Beorchia.

Le journaliste Bertrand Enjalbal (un contact de Simon Georges) est intéressé par une carte des résultats de Marseille ; il possède les données brutes sans pouvoir les traiter. Nous voilà donc partis sur la déclinaison de notre carte pour Marseille également. 

La carte pour Montpellier sera aussi réalisée un peu plus tard dans la semaine.

Toutes ces adaptations sont possibles car les données pour les découpages de bureaux de votes et leurs résultats sont mises à disposition par beaucoup de villes, parfois même sur des plates-formes open data dédiées.

Toutefois, les formats de ces données ne sont pas du tout homogènes d'une ville à l'autre, ce qui oblige à écrire un script spécifique pour chaque cas afin de générer correctement les fichiers des résultats. Mais c'est encore plus compliqué pour les villes qui ne fournissent qu'un format difficilement exploitable (PDF par exemple). Cela a déjà été le sujet de plusieurs posts, dont un sur lemonde.fr.

La conclusion

La structure de la première carte a été réalisée assez rapidement (une demi-journée à 2 personnes) afin d'arriver à un résultat présentable au plus vite. Ce n'est qu'après les premiers retours et les demandes des visiteurs que nous avons envisagé les déclinaisons (autres villes, carte par candidat…).

Le ROI a été de ce fait maximisé : si la carte n'avait pas eu de succès, nous n'aurions passé que très peu de temps dessus.

Nous avons ainsi adapté avec succès le concept de MVP (Minimum Viable Product), cher aux Lean Startups, dans un cadre très restreint, soit un projet de quelques jours.

Formations associées

Formations Front end

Formation Angular

Nantes Du 22 au 24 mai 2024

Voir la formation

Formations Outils et bases de données

Formation PostgreSQL

Nantes Du 29 au 31 janvier 2024

Voir la formation

Formations IA / Data Science

Formation Initiation au Python scientifique

Toulouse Du 28 au 30 mai 2024

Voir la formation

Actualités en lien

Image
Encart article DrupalCamp 2024
06/03/2024

Makina Corpus, parte­naire du Drupal­Camp 2024

Nous sommes fiers d’an­non­cer que Makina Corpus est le spon­sor du Drupal­Camp à Rennes. Notre expert vous y propose une confé­rence « migrer de Drupal 7 à Drupal 10 ».

Voir l'article
Image
AFUP Meet-up DBToolsBundle
15/02/2024

Meetup AFUP Nantes de février : parlons anony­mi­sa­tion avec le DbTools­Bundle Symfony

Notre expert Symfony/PHP prend la parole au Meet-up de l’AFUP pour présen­ter le nouveau bundle Symfony déve­loppé par Makina Corpus : le DbTools­Bundle !

Voir l'article
Image
Encart référence Prospective
10/01/2024

Connaissez-vous la "Prospective" ?

Lors de l'Assemblée Générale du réseau MFQM au mois de juin dernier, nous avons eu la chance d'assister à une intervention de Pamela Bellier et Emmanuel Turbé sur la définition même de la Prospective et de ses enjeux.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus