datalocale / dataviz-finances-gironde

https://www.gironde.fr/un-budget-au-service-des-solidarites-humaine-et-territoriale
MIT License
11 stars 19 forks source link

Simplifier la mise à jour des données #451

Closed DavidBruant closed 5 years ago

DavidBruant commented 6 years ago

L'écriture de la documentation pour la mise à jour dans #450 révèle quelques endroits où un tout petit peu de code pourrait simplifier le process de mise à jour

Mettre le bon plan de compte dans data/finances/planDeComptes. On trouve typiquement ces fichiers dans le dossier en ligne : http://odm-budgetaire.org/composants/normes/

Il serait facile de faire un outil qui va chercher le bon fichier et le met dans le bon dossier tout seul genre npm run plan-de-compte

Modifier le tableau lignes 40-44 du fichier tools/make-public-data.js pour qu'il liste seulement les CA souhaités dans la dataviz

Le code pourrait lister tous les fichiers du dossier et tous les inclure, comme ça, pas besoin de les lister dans le code

Modifier le tableau lignes 15-19 du fichier tools/make-public-data.js pour qu'il liste seulement les fichiers de plans de compte souhaités

Le code pourrait lister tous les fichiers du dossier et tous les inclure, comme ça, pas besoin de les lister dans le code

Modifier les lignes 103 et 104 du fichier src/public/js/main.js pour mettre l'année la plus récente

Quand les données des CA arrivent côté client, on pourrait mettre à jour currentYear, explorationYear en trouvant l'année la plus récente qui existe dans les données. Comme ça, plus besoin de toucher à ce code

DavidBruant commented 5 years ago

Après réflexion, je pense qu'on peut aller un pas plus loin avec la même quantité de travail : 1) npm run build:public:data:finance-data (la commande actuelle) liste les fichiers <DocumentBudgetaire> valides du bon dossier 2) De chacun de ces fichiers, on récupère l'année, le type de nomenclature (M52, M14, etc.) et la sous-nomenclature L'outil affiche dans la console ces infos (comme confirmation des fichiers trouvés dans le dossier) 3) Maintenant qu'on a toutes les années et toutes les nomenclatures, on peut vérifier qu'on a les plans de compte en local. Si on ne les a pas, on va les télécharger automatiquement (l'URL est toujours de la forme http://odm-budgetaire.org/composants/normes/<année>/<nomenclature>/<sous-nomenclature>/planDeCompte.xml) On tient au courant l'utilisateur dans la console des plans de comptes trouvés, des pas trouvés, des téléchargés et des échecs de téléchargements (et expliquer à l'utilisateur de se débrouiller pour trouver le plan de compte manuellement parce que l'outil a échoué)

Avec cette manière de fonctionner, il n'y a pas de commande en plus, on s'inscrit dans le workflow existant de manière transparente et il y a moins de travail manuel\ Le seul travail manuel qu'il reste, c'est mettre à jour le dossier qui contient les CA

Point bonus : tout ceci est générique et marcherait pour tous les types de collectivités

akakeronos commented 5 years ago

Cool. J'ai oublié de faire une issue sur l'anonymisation des données des CA qui devrait être intégré à l'outil de publication. je la rajoute

DavidBruant commented 5 years ago

Il existe un outil qui télécharge les bons plans de comptes à partir de fichiers xml <DocumentBudgetaire>

Cet outil semble fonctionner pour les besoins de la Ville de Montreuil\ Je vais utiliser ce projet pour finir de valider que ça répond bien au besoin

Dans un premier temps, dans une branche/Pull Request dédiée :

Ceci permettra de valider que l'outil répond aux besoins de ce projet. A partir de ce moment, une version de l'outil sera publiée sur npm

Ensuite :