Skip to content

dtc-innovation/agregation-document-budgetaire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

agregation-document-budgetaire

Outil permettant de définir une agrégation d'un document budgétaire

Présentation du problème - contexte

Le travail avec le Conseil Départemental de la Gironde a révélé que ces derniers ont plusieurs vues sur leur budget (Budget Prévisionnel ou Compte Administratif). Il y a la vue M52 brute qui est utilisée pour la communication avec l'État Français à vue de contrôles et vérifications
La vue M52 nécessite que chaque dépense ou recette soit classée dans une nature ("quoi ?", par exemple, les dépenses de salaires, carburants, etc.) et dans une fonction ("pourquoi ?", par exemple, l'éducation, la sécurité, etc.). On peut ainsi faire des totaux pour chaque nature et pour chaque fonction

Il y a aussi la vue dite "agrégée" où chaque "élément" peut être un mélange de lignes budgétaires de natures et de fonction différentes, mais qui est plus cohérente avec la manière dont les services de Département fonctionnent, dont l'argent est réellement dépensé. Cette vue agrégée est aussi conçue avec une vision plus "politique" avec des (~80) ensembles plus facilement compréhensibles que la nomenclature M52 par les élus et le grand public

Cette vue agrégée existait depuis quelques années et a servi de base de présentation pour le travail de transparence du Département. A des fins de transparence, ces formules font partie du travail livré, transparent et auditable comme le reste

Toutefois, nous avons découvert que la traduction en JavaScript de cette vue agrégée était un processus long et difficile. Le problème à résoudre est de créer une partition avec les (~1200) lignes budgétaires. Initialement, chaque sous-ensemble de lignes était défini indépendamment et donc il n'était pas facile de vérifier la cohérence de l'ensemble (chaque ligne sans exception est dans un seul sous-ensemble)
Un outil a été développé pour aider à découvrir rapidement ces problèmes de cohérence. Toutefois, même avec cet outil, le process restait le suivant :

  • une personne du métier des finances propose une définition de chaque sous-ensemble
  • une personne traduit ces définitions en JavaScript
  • on lance l'outil pour voir s'il reste des problèmes de cohérence
  • on recommence s'il reste des problèmes

La personne du métier et celle traduisant en JavaScript n'étant pas la même, la boucle de feedback était assez lente

Ce projet a pour objectif de réduire drastiquement cette boucle de feedback

Description de la solution

Une personne connaissant les deux métiers (finances d'administration française et développement JavaScript) d'un coup n'aurait pas besoin d'outil supplémentaire, mais ces personnes n'existent pas ou pas en nombre suffisant pour le moment

Une solution consisterait donc à créer un outil une seule fois qui permette aux personnes du métier des finances d'exprimer les sous-ensembles dans un langage compréhensible par une machine de manière à ce que la machine puisse faire rapidement les vérifications. Ce langage devrait être facile à comprendre et à apprendre

Un prototype d'un tel langage a déjà été créé

Il n'est pas encore vérifié que ce langage convient à des personnes métier, même s'il existe des traces anecdotiques d'intérêt

Utilisation

  • installer node.js+npm
  • npm install
  • npm start

Aller sur http://localhost:5000/

Pour les choses spécifiques à Montreuil : http://localhost:5000/?montreuil

Dev

npm run watch

Releases

No releases published

Packages

No packages published

Languages