Interfaces de donnees
Etat des lieux des formats de donnees constates par reverse-engineering des fichiers bruts livres par la Direction du Budget (2023-2026)
Les 4 sources de donnees constatees
L'analyse des ZIP livres revele 4 types de fichiers distincts, avec des niveaux de stabilite variables :
1. Nomenclature XLS
- 8 colonnes, ~2 600 lignes par annee
- Hierarchie complete : TTR/CAT/MIN/MSN/PGM/ACT/SSA
- Codes normalises : PGM-NN (actions), PGM-NN-NN (sous-actions)
- Disponible pour : PLR 2023, PLF 2024, PLF 2025, PLRG 2024, PLF 2026
2. Credits XLS
- 12 colonnes, 2 300 a 3 600 lignes selon exercice
- Granularite : action × categorie × titre
- Montants AE et CP
- Disponible pour : PLR 2023, PLF 2024, PLF 2025, PLRG 2024, PLF 2026
3. CSV open data
- Granularite plus fine : sous-action × categorie + FdC/AdP
- Inclut les libelles (missions, programmes, actions)
- Disponible pour : PLF 2014-2025, LFI 2019-2023, PLR 2018
- Encodage variable : latin-1 (2019), utf-8-sig (2020+)
4. Documents PDF
- ~230 PDF par exercice (missions + programmes)
- Nommage:
FR_{annee}_{exercice}_{mission}_PGM_{code}.pdf - HTML structures en complement pour 2023-2024 uniquement
- Disponible pour : PLR 2023, PLF 2024, PLF 2025, PLRG 2024, PLF 2026
Schema de la nomenclature XLS
Le fichier MiS_PGM_ACT_SSA.xls est la source la plus fiable pour la nomenclature. Son schema est rigoureusement identique depuis au moins 2022 :
| Colonne | Type | Description | Exemple |
|---|---|---|---|
Type ligne | string | Type d'entite : TTR, CAT, MIN, MSN, PGM, ACT, SSA | PGM |
Type Budget | string | Type de budget (vide pour MIN, TTR, CAT) | BG |
code | string/int | Code : entier pour PGM/MIN, PGM-NN pour ACT, PGM-NN-NN pour SSA | 178, 178-01, 178-01-03 |
Mission | string | Code mission 2 lettres (pour PGM, ACT, SSA) | DA |
Ministere | int | Code ministere numerique (pour PGM) | 6 |
Libelle | string | Libelle complet de l'entite | Preparation et emploi des forces |
Libelle abrege | string | Libelle court pour dataviz | Prep.&empl.forces |
commentFP | string | Commentaire (souvent vide) |
Les types de lignes forment une hierarchie :
Schema des credits XLS
12 colonnes dans tous les cas, mais avec 2 variantes de nommage selon l'exercice :
| Role | Format PLF | Format PLR | Type | Description |
|---|---|---|---|---|
| Annee | exercice | exercice | int | Annee budgetaire |
| Exercice | loi | loi | string | "PLF" ou "PLR" |
| Type budget | typeBudget | typeBudget | string | BG, BA, CAS, CCF |
| Ministere | ministere | ministere | int | Code numerique ministere |
| Mission | mission | mission | string | Code 2 lettres |
| Programme | programme | programme | int | Code 3 chiffres |
| Action | action | action | string | Format PGM-NN |
| Sous-action | sous-action | sous_action | string | Format PGM-NN-NN (souvent vide) |
| Categorie | categorie | categorie | int | Code categorie (21, 31, 51...) |
| Titre | titre | titre | int | Code titre (2-7) |
| AE | ae | AE EXEC | float | Autorisations d'engagement |
| CP | cp | CP EXEC | float | Credits de paiement |
Les 3 lignes surlignees sont les seules differences entre les 2 variantes. Les fichiers PLR contiennent ~50% de lignes en plus (detail d'execution plus fin).
Fichiers concernes :
- Format PLF : PLF 2024 (
PLF2024-credits.xls), PLF 2025, PLF 2026 (Credits_Destination_Nature_YC_RetD.xls) - Format PLR : PLRG 2023, PLRG 2024 (
Credits_Destination_Nature_YC_RetD.xls)
Schema des CSV open data
Les CSV publies sur data.gouv.fr ont un schema plus riche mais variable selon les annees. Voici les 3 grandes generations constatees :
| Generation | Annees | Colonnes | Particularites |
|---|---|---|---|
| Generation 1 | 2014, 2019 | 7-12 | Colonnes variables, encodage latin-1 (2019), pas de sous-action ni categorie |
| Generation 2 | 2020-2023 | 12 | Format stabilise, nombres avec espaces (460 459), pas de FdC/AdP |
| Generation 3 | 2024-2025 | 16 | Ajout sous-actions, FdC/AdP, ministere, libelles complets |
Colonnes du format generation 3 (le plus complet, 2024-2025) :
Convention de nommage des documents PDF
Deux conventions coexistent selon le type d'exercice et le niveau hierarchique :
| Niveau | Convention PLF (PAP) | Convention PLR (RAP) |
|---|---|---|
| Mission | PAP{annee}_{type}_{nom}_{code}.pdfEx: PAP2025_BG_Defense_DA.pdf |
FR_{annee}_PLR_{type}_MSN_{code}.pdfEx: FR_2023_PLR_BG_MSN_DA.pdf |
| Programme | FR_{annee}_PLF_{mission}_PGM_{code}.pdfEx: FR_2025_PLF_DA_PGM_178.pdf |
FR_{annee}_PLR_{mission}_PGM_{code}.pdfEx: FR_2023_PLR_DA_PGM_178.pdf |
L'arborescence des dossiers est stable :
Les HTML structures (_CREDITS, _JPE, _STRAT, _PERF, _OPE) ne sont disponibles que pour le PLR 2023 et le PLF 2024. Ce sont les memes donnees que les PDF mais en format parsable (tableaux HTML avec CSS FARANDOLE).
Articulation des sources
Le diagramme ci-dessous montre comment les differentes sources se combinent dans la pipeline :
Regle de priorite : quand les CSV open data existent pour une annee, ils sont preferes aux XLS dataviz car ils ont une granularite plus fine (sous-actions) et des colonnes supplementaires (FdC/AdP, libelles). Les XLS dataviz sont la source de repli pour les annees sans CSV open data, et la source primaire pour la nomenclature complete (avec libelles abreges et commentaires, absents des CSV).
Matrice de couverture par annee
| Annee | Exercice | Nomenclature XLS | Credits XLS | CSV open data | Documents PDF | HTML structures |
|---|---|---|---|---|---|---|
| 2014 | PLF | — | — | oui (7 cols) | — | — |
| 2019 | PLF | — | — | oui (latin-1) | — | — |
| 2019 | LFI | — | — | oui | — | — |
| 2020 | PLF | — | — | oui (espaces) | — | — |
| 2020 | LFI | — | — | oui | — | — |
| 2021 | PLF | — | — | oui (espaces) | — | — |
| 2021 | LFI | — | — | oui | — | — |
| 2022 | PLF | CSV equivalent | — | oui (espaces) | — | — |
| 2022 | LFI | — | — | oui | — | — |
| 2023 | PLF | — | — | oui (16 cols) | — | — |
| 2023 | LFI | — | — | oui | — | — |
| 2023 | PLR | oui | oui (PLR) | — | 209 PDF | 694 HTML |
| 2024 | PLF | oui | oui (PLF) | oui (16 cols) | 217 PDF | 665 HTML |
| 2024 | PLR | oui | oui (PLR) | — | 229 PDF | — |
| 2025 | PLF | oui | oui (PLF) | oui (16 cols) | 229 PDF | — |
| 2026 | PLF | oui | oui (PLF) | — | 224 PDF | — |
Les lignes vertes correspondent aux donnees nouvellement ajoutees. Les annees 2014-2022 ne disposent que de CSV open data (sans documents PDF ni XLS dataviz dans le perimetre actuel).
Observations cles du reverse-engineering
- La nomenclature XLS est la source la plus stable — memes 8 colonnes, memes conventions de codes, meme format binaire .xls sur toutes les annees constatees. C'est le pivot naturel du systeme.
- Les credits XLS ont 2 variantes previsibles — PLF (minuscules, tiret) et PLR (majuscules EXEC, underscore). La difference est purement cosmetique (noms de colonnes), pas structurelle.
- Les CSV open data sont plus riches mais instables — 3 generations de schemas en 10 ans, encodages variables, noms de colonnes variables. Chaque annee necessite sa propre config YAML.
- Les HTML structures ont disparu a partir du PLF 2025 — les 694 HTML du PLR 2023 et 665 du PLF 2024 sont les derniers. L'information equivalente n'est plus accessible que via les PDF.
- Le nommage des fichiers credits varie —
PLF2024-credits.xls(specifique) vsCredits_Destination_Nature_YC_RetD.xls(generique). Les patterns glob dans les configs YAML absorbent ces variations. - Le PLRG est range par annee budgetaire — le PLRG 2024 est dans
entrants/2024/PLRG/, aux cotes du PLF 2024 dansentrants/2024/PLF/. Le sous-dossierPLF/ouPLRG/distingue l'exercice, l'annee du dossier parent identifie l'annee budgetaire.