Blog > Tech

Chronique Data - Assemblée Nationale

Posted by Florian Breton | Apr 06, 2020

Card image cap

Bonne nouvelle ! L'équipe technique de Stackadoc a terminé l'importation et la mise en place du flux de données en provenance de l'Assemblée Nationale.

C'est l'occasion pour nous de revenir sur les étapes que nous avons suivies et ainsi signer notre première chronique data !

 


Codes d’acteurs parlementaires, numéros de siren, identifiants uniques de dossiers législatifs, codes postaux, sont autant de variables permettant d’établir les liens existants entre les élus et leur activité parlementaire ou leur parcous professionnel. Pour récolter ces informations, nous avons utilisé les data ouvertes de l’assemblée nationale, mais également récupéré certaines données en provenances d'autres sites pour compléter l’information ouverte.

Le portail d'Open Data de l'Assemblée Nationale est disponible ici : http://data.assemblee-nationale.fr/

 L’objet de ce bulletin est de faire un bilan de l’importation de cette source de données afin de recueillir certains enseignements. 


Découverte des données de l'Assemblée Nationale 

L’Assemblée Nationale diffuse des checksum MD5 censées refléter les mises à jour des fichiers open data. Très fréquemment, les MD5 sont modifées sans qu’aucun apport ni modification ne soient constatés.

Les fichiers JSON de sources différentes utilisent souvent les mêmes structures.

Notre défi
Etant donnée la multitude de liens possibles entre chaque élément indexé, un challenge de taille nous attend, c’est celui de permettre une recherche simple et épurée tout en fournissant les facettes de filtrage les plus judicieuses pour nos utilisateurs, en fonction des thématiques.

Des développements annexes et la construction d’un cadre d'importation


Le projet d’importation des données ouvertes de l’Assemblée Nationale a permis de formaliser peu à peu la démarche d’importation.


Nous avons mis en place un versioning des données importées pour faciliter la gestion des indexes et ne pas impacter la production. Ce versioning va se matérialiser par un fichier configuration Django exposant des variables d’environnement « stackadoc_version » disponible en consultation et modification sur S3. Chaque type de donnée a sa version courante associée.


Pour visualiser ces différentes versions et en guise de documentation, nous affichons des tableaux de bord de monitoring de nos indexes afin de maitriser le flot de données entrant.
Au fur et à mesure de l’utilisation du site de l’assemblée nationale, l’utilisation de checksum pour vérifier l’intégrité et la fraîcheur des données est devenu une constante. A partir de là tous les flux fonctionnent sur même principe: récupération de la md5 affichée sur le site, si elle est modifiée par rapport à la précédente (enregistrée sur S3) alors téléchargement du zip et calcul des sous md5 par document, si les sous md5 diffèrent des précédentes (également enregistrées sous S3 sous forme de dict pickelisé) alors importation des éléments nouveaux ou ayant variés.


Un cadre de rédaction de la documentation a également été mis en place au service de la diffusion des informations à l’équipe Stackadoc.

Contactez-nous pour en savoir plus ! contact@stackadoc.com

 


  Florian Breton est CTO chez Stackadoc et il est responsable de l'acquisition des données Open Data sur le Web, de leur enrichissement  et de leur indexation sur ElasticSearch ! 



Categories