Qu’est-ce qu’un flux XML?
Définition d’un flux
Le terme flux désigne le document budgétaire au format informatique XML. Ce format est indispensable à l’intégration des données budgétaires de la collectivité dans TotEM.
Définition du langage XML
Le format XML est un langage informatique structuré qui regroupe les données budgétaires du progiciel de la collectivité. Ce format est commun avec l’application Hélios. Les informations sont traitées successivement à l’aide de balises. Toute donnée est ainsi encapsulée entre une balise ouvrante <balise> et une balise fermante </balise>.
Définition d’une balise
En informatique, les balises désignent les constructions entre deux chevrons <…> dans un fichier au format XML. Elles permettent de délimiter des éléments.
Avec quel logiciel lire un flux XML ?
Les flux XML sont lisibles dans votre navigateur internet (Internet Explorer, Google Chrome, Mozilla Firefox, etc.). Il existe cependant des logiciels gratuits spécifiques pour lire et modifier les flux XML tels que : Bloc Note ou Notepad. Nous vous recommandons cependant l’usage de Notepad++ qui est en téléchargement gratuit et propose une visualisation plus intuitive.
A partir d’un outil de lecture des flux XML tel que Notepad++, on peut obtenir une visualisation du contenu du flux tel que présentée ici :
Aide à la lecture d’un flux XML
Un document XML doit suivre scrupuleusement les conventions de notation XML et faire référence à un schéma de définition décrivant l'imbrication des éléments possibles. Vous trouverez ce schéma sur le site http://odm-budgetaire.org/, dans l’onglet « Documents éditeurs » - « Schémas ».
Dans le flux budgétaires on peut différentier deux parties distinctes :
- En-tête
Informations générales du flux contenues au sein des balises <VersionSchema>, BlocEditeur, <VersionOutil>, <EnTeteDocBudgetaire>…
- Corps
Encapsulé par la balise <Budget> et composé essentiellement des lignes budgétaires (données saisies dans votre progiciel) et des états annexes (données saisies dans TotEM) : <LigneBudget>, <Annexes>…
Le corps du flux budgétaire est constitué essentiellement de deux types de balises :
- Balises principales
Encapsule les données relatives à un compte au sein d’un état particulier :
Ex : les balises <CONCOURS> et </CONCOURS> permettent d’identifier la ligne comme faisant partie de l’annexe "Concours attribués à des tiers en nature ou en subvention" :
- Balises descriptives
Ces balises contiennent des données concernant la ligne budgétaire à laquelle elles se rapportent. Elles correspondent aux données saisies dans votre progiciel financier ou TotEM.
Ex : <Siret V="XXXXXXXXXXXXXX"/>
- <Siret V=" "/> : la balise
- Siret : le nom de la balise
- V=" " : contient la valeur de la balise
- XXXXXXXXXXXXXX : donnée de la balise qui est ici le numéro de SIRET
Structure type d’un flux budgétaire
<DocumentBudgetaire>
<VersionSchema V=’’ ‘’/>
<BlocEditeur>
<VersionOutil outil=’’DSC_COMMON’’ version=’’ ‘’/>
<VersionOutil outil=’’REMAT’’ version=’’ ‘’/>
<EnTeteBudgetaire>
<Budget>
<EnTeteBudget>
<BlocBudget>
<InformationsGenerales>
<LigneBudget>
<LigneBudget>
<LigneBudget>
…
<LigneBudget>
<LigneBudget>
<Annexes>
<DATA_TIERS>
<DATA_CONCOURS>
<DATA_CONSOLIDATION>
<DATA_PATRIMOINE>
<DATA_VENTILATION>
<DATA_APCP>
<DATA_SOMMAIRE>
</Annexes>
</Budget>
</DocumentBudgetaire>
Balise |
Signification |
Exemple |
<Document Budgetaire> |
Encapsule l’ensemble du flux budgétaire.
En début de flux, on trouvera <DocumentBudgetaire>. A la fin du flux sera inscrit </DocumentBudgetaire>. |
|
<VersionSchema V=’’ ‘’/> |
Permet de renseigner la version du schéma de définition décrivant l'imbrication des éléments possibles.
Ce schéma est accessible sur le site |
|
<BlocEditeur> |
Bloc réservé à l'éditeur.
Peut contenir tout type d'information, du simple texte comme des informations structurées. |
|
<VersionOutil outil=’’DSC_COMMON’’ version=’’ ‘’/> |
Permet d'identifier la version de l’outil de totalisation utilisé lors de la rematérialisation du document budgétaire. |
|
<VersionOutil outil=’’REMAT’’ version=’’ ‘’/> |
Permet d'identifier la version de l’outil de rematérialisation utilisé pour obtenir une visualisation du document budgétaire. |
|
<EnTeteDocBudgetaire> |
Bloc décrivant le poste comptable et la collectivité émettrice du document budgétaire. |
|
<Budget> |
Bloc regroupant toutes les informations liées au budget. Il contient les blocs suivant : <EnTeteBudget>, <BlocBudget>, <LigneBudget>, <InformationsGenerales>, <Annexes> |
|
<EnTete Budget> |
Bloc contenant les informations liées à la collectivité et le type de budget. |
|
<BlocBudget> |
Bloc contenant les informations liées au budget (ex : Exercice). |
|
<InformationsGenerales> |
Bloc contenant les lignes budgétaires hors annexes |
|
<LigneBudget> |
Encapsule l’ensemble des données relatives à un compte. Ici, on retrouve la nature 60631 avec la référence fonctionnelle ainsi que les montants s’y rapportant. Toutes les informations que vous observerez entre ces balises sont renseignées depuis votre progiciel financier et non TotEM. |
|
<Annexes> |
Bloc contenant les lignes budgétaires relatives aux états annexes |
|
<DATA_TIERS> |
Bloc contenant les lignes budgétaires relatives à l’annexe « Opérations pour compte de tiers » |
|
Retrouver des informations saisies dans TotEM à partir du flux XML
Voici une extraction Excel, depuis TotEM, de l’annexe "Concours attribués à des tiers en nature ou en subvention".
Dans le fichier Excel, on a :
Dans le flux XML, on retrouvera:
1ère ligne :
2ème ligne :
Cas d’un flux scellé
Pour les utilisateurs expérimentés, il est possible de vérifier directement dans la composition du flux XML que ce dernier est correctement scellé (c’est-à-dire autrement que par filtrage des flux affichés dans la fenêtre principale de TotEM).
En effet, lors du scellement par TotEM d’un document budgétaire, une balise < Scellement > est ajoutée au début du flux et formalisée comme suit :
<Scellement md5="empreinte numérique du fichier" sha1="identifiant cryptographié" date="date + heure" />
On trouvera par exemple :