
Agents IA et base de données : pourquoi les fichiers ne suffisent plus
En une session, nous avons migré 23 fichiers JSON vers 9 tables SQL. Retour d'expérience concret sur l'architecture DB-first pour agents IA.
Nous exploitons un système de 30 agents IA et 96 automates Python en production depuis janvier 2026. Pendant six mois, toutes les données de nos agents — emails clients, backlog, activité, cicatrices d'apprentissage — étaient stockées dans des fichiers JSON et Markdown. Le système fonctionnait. Jusqu'au jour où un agent a servi des données périmées depuis un fichier fallback pendant trois heures sans que personne ne s'en aperçoive. Ce jour-là, nous avons décidé de tout migrer en base de données. En une seule session de travail, nous avons supprimé 23 fichiers JSON, créé 9 tables SQL et 5 modules PrestaShop. 22 000 lignes de fichiers statiques remplacées par 607 lignes structurées en base. Voici pourquoi cette migration change tout pour les architectures multi-agents, et pourquoi aucun outil IA du marché ne propose cette approche.
Le vrai problème des fichiers comme mémoire IA
Cet article fait partie de notre dossier Stratégie › intelligence-artificielle.
| Problématique | Avec des fichiers | Avec une base de données |
|---|---|---|
| Source de vérité | Multiple (core + docker + backup) | Unique |
| Requêtabilité | Impossible (grep dans du JSON) | SQL natif |
| Persistance inter-sessions | Rechargement complet | On-demand |
| Multi-tenant | Un fichier par client, sync manuelle | Une table, clause WHERE |
| Concurrence d'écriture | Corruption si 2 process écrivent | Transactions ACID |
| Contexte IA | Chargé à chaque message (tokens gaspillés) | Requêté uniquement quand nécessaire |
| Audit / traçabilité | git blame sur du JSON | Colonnes date_add, updated_by |
Pourquoi les fichiers ne tiennent pas en production
La plupart des outils IA — Cursor, GitHub Copilot, ChatGPT, même Claude Projets — utilisent des fichiers comme contexte. Des .md dans un dossier, des .json dans server/data/, des YAML de configuration. Ça fonctionne pour un prototype. Ça ne tient pas en production.
Trois raisons fondamentales :
- Les fichiers dérivent silencieusement. Un fichier
modules.jsonexistait en deux copies (source et Docker). Quand nous avons migré les modules en base de données, le fichier Docker n'a pas été mis à jour. Pendant des heures, la preprod servait des données obsolètes via un fallback que personne n'avait vérifié. - Les fichiers polluent le contexte. Notre fichier MEMORY.md faisait 227 lignes et 30 Ko — tronqué à chaque session. Des items « à faire lundi » côtoyaient des règles permanentes. Tout était chargé systématiquement, qu'il soit pertinent ou non. Après migration du backlog en base (
ps_ac_backlog), le fichier est tombé à 120 lignes. Les TODO sont requêtés uniquement quand c'est nécessaire. - Les fichiers ne sont pas requêtables. « Quels emails clients sont non traités ? » Avec un JSON, il faut charger le fichier, parser, filtrer. Avec la base :
SELECT * FROM ps_ac_inbox_emails WHERE status = 'new'. Une ligne contre quinze.
Ce que nous avons migré en une session
Neuf tables créées, chacune remplaçant un ou plusieurs fichiers JSON :
ps_ac_inbox_emails— emails clients avec statuts (new, seen, resolved)ps_ac_daily_meet— briefing de session (49 items migrés)ps_ac_agent_activity+ps_ac_agent_heartbeat— activité temps réel des agentsps_ac_expertise— 194 articles techniques (12 000 lignes de JSON supprimées)ps_ac_academy_mentor— 15 mentors historiques de l'Academyps_ac_automates— 96 automates Python classifiés en 6 castesps_ac_backlog— roadmap et TODO (remplace 13 fichiers mémoire)ps_ac_cicatrices— registre des erreurs corrigées par agent
Pourquoi aucun outil IA ne fait ça
Les outils IA actuels (Cursor, Windsurf, Copilot, Devin) lisent le code. Ils ne se connectent pas à votre base de données de production. Ils ne font pas de docker exec sur vos containers. Ils ne scannent pas vos VPS en SSH pour inventorier les modules installés.
Notre architecture — Claude Code avec accès direct à MariaDB, Docker et SSH sur 7 VPS — permet à l'agent de requêter ses propres données au lieu de les charger en contexte. La différence est fondamentale : un SELECT ciblé consomme zéro token de contexte. Un fichier .md chargé à chaque message en consomme des milliers, qu'il soit utile ou non.
Les résultats concrets
| Donnée | Avant (fichier) | Après (DB) | Gain |
|---|---|---|---|
| Emails clients | inbox-alerts.json (8 Ko, 100 max) | ps_ac_inbox_emails | Historique illimité + statuts |
| Briefing session | daily-meet.json (65 Ko) | ps_ac_daily_meet | Requêtable par sévérité |
| Activité agents | agent-activity.json (146 Ko) | 2 tables (heartbeat + activity) | Temps réel, pas de cap |
| Articles expertise | 392 fichiers JSON (22 000 lignes) | ps_ac_expertise (194 rows) | -99% de fichiers |
| Modules installés | JSON + hardcodé | ps_ac_moduleslist | MAJ sans rebuild |
| Backlog/TODO | 13 fichiers .md en mémoire | ps_ac_backlog | Requêté on-demand |
| Registre VPS | clients.json (readFileSync) | ps_ac_client_vps | La Flotte, scan SSH auto |
Conclusion
La migration fichiers vers base de données n'est pas une optimisation technique. C'est un changement d'architecture qui transforme vos agents IA de scripts stateless en systèmes persistants capables d'apprendre, de se souvenir et de se coordonner.
Chez CodeMyShop, chaque client dispose de sa propre base de données sur un VPS souverain. Ses agents, ses données, ses cicatrices d'apprentissage — tout lui appartient. Pas de fichiers partagés qui dérivent. Pas de JSON fantôme qui sert des données périmées. Une seule source de vérité.
Vous exploitez des agents IA en production et vos données sont encore dans des fichiers ? Prenez 30 minutes pour en discuter — on vous montre comment structurer ça proprement.
Sources
- Documentation Anthropic — Building Agentic Systems (2025)
- Martin Fowler — Patterns of Enterprise Application Architecture, « Single Source of Truth »
- Session de migration réelle — Alexandre Carette, 2 avril 2026 (23 JSON → 9 tables, 607 rows)
Articles dans le même univers
- CEO assisté ou CEO entouré — pourquoi parler à une seule IA ne suffit plus
- Claude Code et entreprises AI-First : pourquoi la France a une longueur de retard — et comment en profiter
- Le Synedre — quand 20 agents IA spécialisés remplacent le génie solitaire
- J'ai récupéré 11 ans de mes données du forum PrestaShop — voici comment et pourquoi
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés

Alexandre Carette
Expert PrestaShop & Architecture E-commerce
Développeur PrestaShop freelance avec 10 ans d'expérience et 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop, des pipelines DevOps Docker/CI-CD et des outils d'automatisation IA pour mes clients e-commerce.
Discussion
Nos conseils liés à Strategie
Ouroboros destructeur vs informationnel : éviter le model collapse IA
Le model collapse menace toute IA qui se nourrit de son propre contenu. L'Ouroboros informationnel transforme cette boucle en spirale ascendante. Comparaison technique, garde-fous, architecture.
Wikidata et les LLM — Comment alimenter le knowledge graph qui nourrit les IA
Comment créer des entités Wikidata pour exister dans le knowledge graph des LLM. Automate Python, DB, cron. Méthode complète.
Synedre vs OpenClaw — Gouvernance ou anarchie : deux visions des agents IA
152 000 agents IA inventent des religions. 30 agents structurés livrent du e-commerce. Synedre vs OpenClaw : deux visions de l'IA.