Au vu du scope du projet et de sa spécificité franco-française, il est décidé que le readme, les issues, pull requests et messages de commit sont à écrire en français.
Le code et les commentaires sont à écrire en anglais.
Minima:
L'installation de node@>=8
est nécessaire avant de continuer.
Il faut (forker et) cloner ce dépôt pour procéder à l'installation des dépendances du projet :
npm install
La commande suivante reconstruit les builds en continu, dès qu'un fichier source est modifié :
npm run watch
Enfin, les composants web sont visualisables dans un navigateur web :
npm start
Deux adresses sont ensuite accessibles : [http://localhost:3000/]() et [http://localhost:3000/public/]().
L'intégration continue est automatise les éléments suivants :
Le suivi des builds est assuré par une github action
Remarque : les étapes de la section Installer le projet
doivent avoir été suivies au préalable.
Il existe 3 environnements :
build/gironde-fr-integration.html
. Le fichier JavaScript dataviz-finance-gironde-fr-bundle.script
est à ajouter indépendamment.
npm run build-production
pour gironde.fr, la production (media id 2459
)npm run build-demo:public
mais cette commande est seulement faite par github actions)npm run watch
)Les artéfacts de build sont rendus créés dans le dossier ./build
.
Github actions est configuré pour builder automatiquement les artefacts des 2 environnements et les pousser sur les branches :
gh-pages
pour l'environnement de démogironde.fr
pour le déploiement en production sur gironde.frCette action requiert ImageMagick et est à effectuer à chaque fois que l'image images/Map-v1.jpg
est mise à jour.
$ convert images/Map-v1.jpg -interlace Plane -resize 1300 -strip images/map-optimised.jpg
L’outil créé est une application 100% front-end chargée à partir de fichiers statiques HTML, CSS, JS, images, etc. Cette application utilise la bibliothèque React.js. Le code source de référence est actuellement sur github à l’adresse suivante : https://github.com/datalocale/dataviz-finances-gironde/
Les actions nécessaires à la mise à jour des contenus sont de plusieurs nature :
Actuellement les labels des articles de la norme comptable M52 sont stockés dans un fichier csv. Ce fichier est mis à disposition via l'outil google spreadsheet afin d'en faciliter l'édition collaborative. En complément un fichier contient des textes conjoncturels permettant d'expliciter l'évolution d'une recette ou d'une dépense significative sur la période couverte par l'outil. Ce fichier est géré de la même manière que le fichier de définition.
Pour mettre à jour l'exercice budgétaire rendu visible dans la page d'accueil les étapes suivantes sont actuellement nécessaires
Par ailleurs la référence à la localisation de l'environnement de démo est listé dans ce fichier. https://github.com/datalocale/dataviz-finances-seinesaintdenis/blob/master/src/public/js/constants/resources.js
Il faut le modifier si l'emplacement de l'environnement de démo est modifié.
La dataviz finances est basé sur plusieurs éléments contribuant à son interopérabilité et à sa réutilisabilité :
En plus des présentations par fonctions ou nature M52, le Département de la Gironde présente ses comptes sous un format dit “agrégé”. Ils s’agit d’une centaine de catégories. Il existe (à une petite exception près) une association qui permet de passer d’un document budgétaire en M52 à un document agrégé.
Pour faciliter la gestion actuelle, un tableur numérique collaboratif permet l'écriture des formules en langage métier
Cette association est encodée en JavaScript dans les deux fichier suivants :
https://github.com/datalocale/dataviz-finances-gironde/blob/master/src/shared/js/finance/m52ToAggregated.js https://github.com/datalocale/dataviz-finances-gironde/blob/master/src/shared/js/finance/hierarchicalAggregated.js
Par ailleurs, il a été découvert début octobre 2017 que dans de rares cas, un montant associé à une même ligne M52 (fonction/article) se découpe dans 2 agrégats différents. Pour résoudre ce cas, un fichier de “correction” a été ajouté. Il peut être trouvé ici : https://github.com/datalocale/dataviz-finances-gironde/blob/master/data/finances/corrections-agregation.csv
Dans ce fichier CSV, chaque ligne correspond à l’assignation d’une ligne M52 à un agrégat pour un exercice donné
Pour réduire la charge de travail nécesaire, un prototype d'outil permettant de visualiser le résultat des formules a été développé
https://davidbruant.github.io/formule-doc-budg/
Avec quelques évolutions, il pourrait permettre d'enregistrer les formules saisies directement dans le code de l'application.
L’outil contient des pages dites “focus” qui permettent au Département de créer du contenu plus éditorialisé pour mettre en valeur ses actions et parler un peu moins de finance et un peu plus de l’action qui en découle.