Closed DavidBruant closed 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
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
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 :
package.json
pour ajouter une commande qui appelle cet outil avant tools/make-public-data.js
et le truc des chaînes de caractèrestools
pour qu'ils lisent dans un dossier les fichiers nécessaires (plutôt que d'avoir à les lister à la main dans le code)docs/nouveau-CA.md
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 :
package.json
pour utiliser la version disponible sur npm
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
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
Le code pourrait lister tous les fichiers du dossier et tous les inclure, comme ça, pas besoin de les lister dans le code
Le code pourrait lister tous les fichiers du dossier et tous les inclure, comme ça, pas besoin de les lister dans le code
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