Aller au contenu principal

IA Budgétaire #6: Portail Web d'Audit et 20 Tests Réussis

· 5 minutes de lecture
Jaybee
AI & Robotics Engineer

National Budget Inspector Web Portal v3.0 & 20/20 Verification

💡 Points Clés (Key Takeaways)

  • Portail Web d'Audit v3.0 Achevé: Remplacement des scripts CLI par une console intégrée à 7 onglets (Vue d'ensemble, 6 Secteurs, Générateur de convocations, Subventions, Graphe d'ententes, Analyse budgétaire et Jurisprudence avec parseur HWPX).
  • 100% de Réussite sur 20 Tests Automatisés (20/20 PASS): Validation complète couvrant Text-to-SQL, GraphRAG, streaming temps réel, cartels DART et surfacturations HWPX.
  • 2 Défis Anticipés et Prévenus: (1) Goulots d'étranglement évités par découplage en 12 points de terminaison RESTful DTO, (2) Saturation du DOM évitée par un tampon circulaire (Circular DOM Ring Buffer).
  • 3 Bogues Inattendus Résolus: (1) Oscillation infinie de Vis.js résolue en figeant la physique après stabilisation, (2) Blocage du thread HTTP par HWPX résolu avec ThreadPoolExecutor, (3) Verrous de fichiers SQLite résolus par isolation en mémoire par processus.
  • Apothéose de la Série en 6 Épisodes: Démonstration d'une fiabilité éprouvée au service des finances publiques.

Toutes les institutions publiques (Organisme A), entreprises (Alpha IT), personnes (M. K) et références de marchés (CNTR-2026-○○○○) sont rigoureusement pseudonymisées.


Au cours des 5 épisodes précédents, nous avons franchi des étapes cruciales :​

  1. Épisode #1: Prototype Text-to-SQL et GraphRAG.
  2. Épisode #2: Évaluation sur 400 dossiers face à 10 ans de jurisprudence.
  3. Épisode #3: Partition 3D éliminant 85% du bruit sur 4 millions d'achats.
  4. Épisode #4: Révélation des cartels de prête-noms avec les registres DART.
  5. Épisode #5: Démantèlement des fractionnements à 50M (Secteur 5) et du dumping de fin d'année (Secteur 6).

« Les auditeurs ont besoin d'un centre opérationnel où les alertes s'affichent en temps réel, où les cartels s'explorent en graphes et où un dossier HWPX produit instantanément une convocation motivée. »

Voici le Portail Web d'Audit v3.0 et la validation exhaustive de ses 20 bancs d'essai.


1. Architecture du Portail Web v3.0 et 7 Espaces Dédiés​

flowchart TD
subgraph Browser Frontend [Inspector Web Portal UI - Tailwind & Vis.js]
Tab1[1. Executive Command Center]
Tab2[2. 6-Sector Partitioning Matrix]
Tab3[3. Summons Generation Engine]
Tab4[4. Subsidy Fraud Tracker]
Tab5[5. Bidding Ring & Co-bidding Graph]
Tab6[6. Budget Cut Analyzer]
Tab7[7. 10-Yr Precedents & Live HWPX Parser]
end

subgraph REST API Routing Layer [dashboard_server.py - 12 Normalized Endpoints]
R1["/api/stats & /api/alerts"]
R2["/api/sectors & /api/graph"]
R3["/api/summons & /api/subsidy_fraud"]
R4["/api/bidding_rings & /api/budget_cuts"]
R5["/api/precedents & /api/hwpx_analysis"]
R6["/api/evaluate & /api/export_report"]
end

subgraph Core Audit Engines [Public Budget AI Cluster]
E1[Sector Partition Manager]
E2[Corporate Registry Client - DART]
E3[GraphRAG & Precedent Database]
E4[HWPX Overbilling Validator]
E5[Bidding Ring Detector]
E6[Budget Cut Analyzer]
end

Tab1 & Tab2 & Tab3 & Tab4 & Tab5 & Tab6 & Tab7 <-->|RESTful JSON / SSE Streams| REST API Routing Layer
REST API Routing Layer <--> Core Audit Engines
  • Centre de Contrôle & Chat IA (/api/stats, /api/alerts): Métriques temps réel et assistant conversationnel.
  • Matrice des 6 Secteurs (/api/sectors): Filtrage multicritère sur les marchés publics.
  • Générateur de Convocations (/api/summons): Rédaction automatisée avec visa légal.
  • Traçage des Subventions (/api/subsidy_fraud): Détection des détournements d'aides publiques.
  • Graphe Vis.js des Cartels (/api/bidding_rings, /api/graph): Cartographie interactive des ententes.
  • Analyseur de Coupes Budgétaires (/api/budget_cuts): Recommandations pour la commission des finances.
  • Jurisprudence & Parseur HWPX (/api/precedents, /api/hwpx_analysis): Détection des surcoûts.

2. Deux Défis Anticipés et Prévenus​

📌 Défi 1: Engorgement du serveur par couplage monolithique des moteurs​

  • Découplage de la couche HTTP via 12 points d'accès DTO normalisés assurant la continuité de service.

📌 Défi 2: Explosion de la mémoire du navigateur lors du streaming continu​

  • Mise en place d'un tampon circulaire borné à 100 entrées, maintenant la mémoire sous 120 Mo.

3. Trois Bogues de Production et leurs Solutions​

🐛 Bogue 1: Oscillation infinie Vis.js et gel du navigateur​

  • Au-delà de 50 nœuds, les forces divergeaient. Résolu en désactivant la physique dès stabilizationIterationsDone.
// Stabilization freeze pattern
network.on("stabilizationIterationsDone", function () {
network.setOptions({ physics: { enabled: false } });
console.log("[Portal] Vis.js physics stabilized and frozen.");
});

🐛 Bogue 2: Analyse HWPX de 50 pages bloquant la boucle HTTP​

  • Délégation du traitement XML lourd à un ThreadPoolExecutor en arrière-plan avec suivi asynchrone.

🐛 Bogue 3: Conflit de verrou SQLite lors des tests parallèles​

  • Instanciation de bases isolées par identifiant de processus (PID) et en mémoire pure :memory:.

4. Bilan des Tests: 20/20 Réussites​

L'intégralité des 20 bancs d'essai s'est conclue par un statut PASS.

#Test ScriptScopeStatus
1verify_prototype.pyText-to-SQL BaselinePASS
2verify_pipeline.pyData Pipeline IngestionPASS
3verify_graph_and_rag.pyKnowledge Graph & RAGPASS
4verify_interactive_rag.pyMulti-Turn AI Agent ContextPASS
5verify_streaming_monitor.pyReal-Time Stream AnomalyPASS
6verify_web_api.py12 RESTful API EndpointsPASS
7verify_live_api.pyMock Data Live SyncPASS
8verify_batch_hwp.pyBatch HWP/HWPX Document ParsingPASS
9verify_case_matcher.py10-Yr Precedent Semantic MatcherPASS
10verify_e2e_orchestrator.pyMulti-Agent OrchestrationPASS
11verify_web_portal_v2.pyWeb Portal v3.0 7-Tab SyncPASS
12verify_live_sync_and_discovery.pyBackground Sync & DiscoveryPASS
13verify_sector_partition.py3D Sector Partition EnginePASS
14verify_web_sectors.pySector UI Data TransmissionPASS
15verify_daily_monitor.pyDaily Midnight Audit SchedulerPASS
16verify_sectors_5_6.py$40K Smurfing & Year-End DumpsPASS
17verify_corporate_and_summons.pyDART Registry & Summons GenPASS
18verify_subsidy_fraud.pySubsidy Fraud DetectionPASS
19verify_bidding_rings.pySOC Bidding Ring DetectionPASS
20verify_budget_cuts.pyBudget Cut AnalyzerPASS
$ python -X utf8 tools/run_all_tests.py
All 20 verification tests passed successfully! (20/20 PASS)

5. Conclusion: L'Avenir de l'Ingénierie d'Audit Autonome​

En associant vision métier, graphes de connaissances et rigueur logicielle, les agents IA deviennent de véritables remparts pour les deniers publics.

PUBLICITÉ