Site Tools


decpjson
DECP JSON
Toutes les données essentielles de la commande publique converties en JSON.

Version 1.2.0

Rappel de ce que sont les données essentielles de la commande publique (ou DECP) sur le blog de data.gouv.fr.

L'objectif de ce projet est d'identifier toutes les sources de DECP, et de créer des scripts permettant de produire des fichiers utilisables (exemple fictif sur le dépôt officiel) au format JSON réglementaire.

La procédure standard est la suivante :

J'agrège toutes les données possibles dans leur format d'origine, XML ou JSON (les DECP n'existent pas dans d'autres formats)
Je les stocke dans /sources dans un répertoire spécifique à la source des données. En effet, selon la source, les données n'ont pas besoin des même traitements pour être utilisables (nettoyage, réparation de la structure, correction de l'encodage, conversion depuis XML)
Je les convertis au format JSON réglementaire, en rajoutant un champ source. Certaines données sources n'étant pas valides (par exemple si certains champs manquent), les données JSON ne seront pas non plus valides. Je prends le parti de les garder.
Je crée une archive ZIP avec le JSON converti. Ces archives ZIP sont sauvegardées dans le dépot Git, vous les trouverez dans /json
Si vous avez connaissance de données essentielles de la commande publique facilement accessibles (téléchargement en masse possible) et qui ne sont pas encore identifiées ci-dessous, merci de m'en informer.

À terme, les données converties seront principalement mises à disposition sur https://sireneld.io/data.

Pré-requis
xml2json pour la conversion de XML vers JSON
jq pour la conversion JSON vers JSON (disponible dans les dépôts Ubuntu)
une instance MongoDB et mongoimport pour le chargement
pouvoir exécuter des scripts bash
Mode d'emploi
Vous trouverez les code possibles dans le tableau plus bas.

Pour commencer, vous devez faire une copie de config/config_template.sh en config/config.sh.

cp config/config_template.sh config/config.sh
Puis éditez le contenu de config/config.sh pour configurer l'accès à votre base de données MongoDB.

(Ré)initialiser la base de données MongoDB
La base de données configurée dans config/config.sh et l'utilisateur doivent être créés par vos soins.

Ensuite, vous pouvez initialiser la base de données (suppression/création des collections, création de l'index textuel) :

./dbInit.sh
Télécharger les données
./get.sh [code]
Convertir les données
Les données doivent avoir été téléchargées.

./convert.sh [code]
Créer une archive ZIP des données JSON converties
Les données doivent avoir été converties.

./package.sh [code]
Charger des données JSON converties dans MongoDB
Les données doivent avoir été converties.

./load-in-db.sh [code]
Supprimer les données JSON converties (mais pas les ZIP)
Les données doivent avoir été converties. Il est recommander de créer une archive ZIP auparavant, au cas où.

./clean.sh [code]
Sources de données
Code	Description	URL	Statut
data.gouv.fr_pes	Données des collectivités issues du PES Marché	https://www.data.gouv.fr/fr/datasets/5bd0b6fd8b4c413d0801dc57	Intégrée
Données de l'État publiées par l'AIFE	https://www.data.gouv.fr/fr/datasets/5bd789ee8b4c4155bd9a0770	Intégrée prochainement
DECP publiées par achatpublic.com	https://www.achatpublic.com	Téléchargement compliqué
marches-publics.info	DECP publiées par marches-publics.info (AWS)	https://www.marches-publics.info/mpiaws/index.cfm	Intégrée
decpjson.txt · Last modified: 2019/03/14 13:58 (external edit)