Schéma du processus de mise à jour des paramètres OpenFisca-France
Vue d’ensemble du processus
flowchart TD
Start([Objectif: Maintenir à jour les paramètres OpenFisca-France])
Start --> Phase1[Phase 1: Extraction et Analyse]
Start --> Phase2[Phase 2: Données Légales]
Start --> Phase3[Phase 3: Mise à jour assistée par IA]
Phase1 --> Extract
Phase2 --> LegiDB
Phase3 --> Tool
subgraph Extract[Extraction des paramètres]
Script1[notebooks/check_last_value_still_valid_on.ipynb]
Script2[update_openfisca_ai/analyze_all_parameters.py]
Script3[ui_find_outdated_parameters/find_outdated_parameters.py]
Script1 --> |Lit| JSON1[raw_processed_parameters.json]
JSON1 --> DS1[datasets/last_ref_manquante.csv]
JSON1 --> DS2[datasets/actifs_avec_ref.csv]
JSON1 --> DS3[datasets/no_ref.csv]
Script2 --> |Analyse| Params[openfisca_france/parameters]
Script2 --> |Analyse| Model[openfisca_france/model]
Script2 --> DS4[datasets/of-fr-parameters.csv]
Script3 --> |Lit| Decomp[decompositions.json]
Script3 --> |Parcourt| UI[UI socio-fiscal.leximpact.an.fr]
Script3 --> DS5[datasets/outdated_parameters.csv]
end
subgraph LegiDB[Base de données légale]
Tricot[Source: tricoteuses.fr]
Tricot --> Server[Serveur LexImpact]
Server --> Module[update_openfisca_ai/legidb.py]
end
subgraph Tool[Outil de mise à jour Tauri]
TauriApp[tauri_outdated_parameters_app]
DS1 --> TauriApp
DS2 --> TauriApp
DS3 --> TauriApp
DS4 --> TauriApp
DS5 --> TauriApp
TauriApp --> Display[Affichage tableau synthétique]
Display --> Filter[Filtrage par critères]
Filter --> Select[Sélection paramètre]
Select --> LLM[Appel LLM via MCP]
Module --> LLM
LLM --> Show[Affichage réponse LLM]
Show --> Update[Mise à jour fichier local]
Update --> PRText[Génération texte PR]
end
PRText --> Manual[Actions manuelles utilisateur]
subgraph Manual[Workflow utilisateur]
Branch[Créer branche Git]
OpenPR[Ouvrir Pull Request]
Merge[Merge PR]
Rebuild[Reconstruire branche wip-leximpact]
Verify[Vérifier amélioration]
Adjust[Ajuster seuil panneau orange]
Branch --> OpenPR
OpenPR --> Merge
Merge --> Rebuild
Rebuild --> Verify
Verify --> Adjust
Adjust -.->|Nouveau cycle| Start
end
Modules principaux
graph LR
subgraph Modules Python
A[openfisca_param.py<br/>Manipulation paramètres]
B[legidb.py<br/>Accès base légale]
C[llm.py<br/>Extraction valeurs par LLM]
D[llm_agent.py<br/>Recherche références Internet]
end
subgraph Infrastructure
E[Serveur MCP LexImpact]
F[Base Légi]
end
B --> F
C --> E
D --> E
B --> E
Flux de données détaillé
sequenceDiagram
participant U as Utilisateur
participant T as Tauri App
participant M as Serveur MCP
participant L as LLM
participant DB as Base Légi
participant F as Fichiers locaux
Note over U,F: Phase 1: Préparation (scripts d'extraction)
U->>T: Lance l'application
T->>T: Charge les 5 fichiers CSV
T->>U: Affiche tableau synthétique
U->>T: Applique filtres
U->>T: Sélectionne paramètre
Note over U,F: Phase 2: Mise à jour assistée par IA
T->>M: Demande mise à jour paramètre
M->>DB: Recherche textes légaux
DB->>M: Retourne articles
M->>L: Analyse et extraction
L->>M: Nouvelle valeur + référence
M->>T: Retourne résultat
T->>U: Affiche proposition
U->>T: Valide
T->>F: Met à jour fichier paramètre
T->>U: Génère texte PR
Note over U,F: Phase 3: Workflow Git
U->>U: Crée branche
U->>U: Ouvre PR
U->>U: Merge PR
U->>U: Rebuild wip-leximpact
U->>U: Vérifie améliorations
Fichiers de données produits
| Fichier | Source | Contenu |
|---|---|---|
datasets/last_ref_manquante.csv |
check_last_value_still_valid_on.ipynb | Paramètres sans date last_value_still_valid_on |
datasets/actifs_avec_ref.csv |
check_last_value_still_valid_on.ipynb | Paramètres actifs avec référence |
datasets/no_ref.csv |
check_last_value_still_valid_on.ipynb | Paramètres sans référence |
datasets/of-fr-parameters.csv |
analyze_all_parameters.py | Tous paramètres + statut utilisation |
datasets/outdated_parameters.csv |
find_outdated_parameters.py | Paramètres avec panneau orange UI |
Cycle d’amélioration continue
graph TD
A[Identification paramètres obsolètes] --> B[Mise à jour via Tauri App]
B --> C[Création PR]
C --> D[Review et Merge]
D --> E[Rebuild wip-leximpact]
E --> F[Vérification améliorations]
F --> G{Objectif atteint?}
G -->|Non| H[Ajuster seuil panneau orange]
G -->|Oui| I[Maintenance continue]
H --> A
I --> A