Toutes les données essentielles de la commande publique agrégées et converties
Ce document décrit la manière dont les données essentielles de la commande publique sont consolidées techniquement. Vous trouverez davantage d'information sur les données essentielles de la commande publique sur https://139bercy.github.io/decp-docs/.
Version 1.15.1
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 (jeu de données sur data.gouv.fr) au formats JSON et XML réglementaires.
La procédure standard est la suivante :
/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)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 nous en informer.
./scripts/bin
)xmllint
(disponible dans les dépôts Ubuntu)Vous trouverez les code
possibles dans le tableau plus bas.
Le script process.sh
permet de lancer une étape de traitement ou toutes les étapes de traitement pour une source ou toutes les sources configurées.
Les sources configurées sont visibles dans sources/metadata.json
.
Les étapes de traitement et leur code respectif sont les suivantes, dans l'ordre :
get
(téléchargement des données de la source)fix
(correction des anomalies pour optimiser l'utilisabilité des données et tendre vers la conformité aux schémas, si besoin)convert
(conversion des données XML en JSON, si besoin)package
(création d'un seul fichier JSON pour la source et archivage sous forme de ZIP)Le script process.sh
prend trois paramètres, dans cette ordre :
code
de la source à traiter, ou all
pour traiter toutes les sourcescode
de l'étape de traitement à effectuer sur la ou les sourcesmode
de sélection de l'étape : only
ou rien pour n'éxecuter que l'étape sélectionnée, ou sequence
pour sélectionner toutes les étapes jusqu'à l'étape sélectionnée.Si la source sélectionnée n'a pas de script pour une étape donnée, cette étape sera ignorée.
Exemples :
# Lancer toutes les étapes de traitement sur toutes les sources
./process.sh all package sequence
# Ne lancer que l'étape de conversion XML > JSON pour la source data.gouv.fr_pes
./process.sh data.gouv.fr_pes convert only
# Ne lancer que l'étape de téléchargement des données, pour toutes les sources configurées
./process.sh all get
# Lancer toutes les étapes jusqu'à convert (get, fix, convert) pour toutes les sources configurées
./process.sh all convert sequence
./process.sh all package sequence
export API_KEY=eyJhbGciOkJIUzI1NiJ9.eyJfc2VyIjoiNTM0ZmZmM2xhO2E3MjkyYzY0YTc3NTI2IiwidGltZSI6...
publish-decp.sh
permet de publier les fichiers produits sur le jeu de données../publish-decp.sh
Se reporter au fichier sources/metadata.json
.
Le code source de ce projet est publié sous licence MIT.