Souveraineté : de l’IA agentique qui garde vos données en Europe
Publié le 7 septembre 2026
Face à une actualité internationale qui nous pousse à réduire nos dépendances technologiques vis-à-vis des acteurs américains (infrastructure comme IA), on peut construire un agent IA pleinement opérationnel 100 % hébergé et exécuté en Europe. Notre assistant de conférence tourne sur une stack open source européenne, du runtime jusqu’à l’application, fait son inférence en France avec Mistral, et ne stocke que le strict nécessaire côté données utilisateur·ices. La souveraineté, ici, c’est le résultat d’une série de choix d’architecture pris dès le développement. On détaille ces choix dans cet article. Vous pouvez retrouver la partie 1 et la partie 2 de ce retour d’expérience sur notre blog.

Contexte et enjeux
Le choix devenu commun est de passer par AWS, GCP, Azure et OpenAI ou Anthropic quand il s’agit d’un projet basé sur l’IA et qui nécessite un hébergement. Toutes ces entreprises étant soumises au cadre juridique des États-Unis, les données de l’application et de ses utilisateurs deviennent accessibles. Pour beaucoup d’organisations européennes, issues du secteur public, santé, ou simplement soumises au RGPD, ça pose des questions de conformité et de dépendance stratégique.
Inférence locale avec Mistral
Le modèle qui fait tourner l’assistant vient de Mistral AI, une entreprise française, et l’inférence a lieu sur le territoire de l’UE. Côté intégration, ça se résume à déclarer la plateforme et utiliser une clé d’API dans l’application.
Toutes les données (requêtes des utilisateur·ices, contexte de l’événement, appels d’outils générés par le modèle) restent dans la juridiction européenne. Pour un responsable de traitement au sens du RGPD, ça simplifie beaucoup les choses : plus besoin d’analyse d’impact sur les transferts hors UE (AIPD), plus de clauses contractuelles types pour les flux d’inférence, plus d’incertitudes sur où le traitement a lieu.
Réversibilité et interopérabilité
Une souveraineté qui enfermerait l’application chez un seul prestataire ne ferait que déplacer le problème de dépendance. On a donc pensé l’architecture pour garantir la réversibilité à chaque niveau.
- Le modèle est interchangeable : Symfony AI abstrait le fournisseur d’inférence derrière une interface générique. Passer de Mistral à un autre fournisseur, ou à un modèle à poids ouverts auto-hébergé sur une infrastructure GPU dédiée, c’est une simple modification de configuration et non pas une réécriture du code métier. Le prompt, les outils et l’interface restent inchangés.
- Le client est interchangeable aussi : comme le produit s’articule autour d’un serveur MCP (voir la Partie 1), les échanges passent par un protocole ouvert, sans SDK propriétaire entre l’agent et le serveur. L’interface de chat sous Symfony pourrait être remplacée par n’importe quel autre agent compatible MCP sans toucher au code serveur.
Une stack technologique européenne et open source
Le tableau ci-dessous récapitule la stack complète. Il n’y a aucune dépendance logicielle ni infrastructure hors d’Europe :
| Couche | Composant | Origine |
|---|---|---|
| Serveur web et runtime | FrankenPHP avec Caddy | Les-Tilleuls.coop (FR) / open source |
| Framework applicatif | Symfony | SensioLabs (FR) / open source |
| Couche API et MCP | API Platform | Les-Tilleuls.coop (FR) / open source |
| Streaming temps réel | Mercure | Les-Tilleuls.coop (FR) / open source |
| Framework d’agent | Symfony AI | Symfony (FR/UE) / open source |
| Inférence IA | Mistral | Mistral AI (FR) |
| Base de données | PostgreSQL | open source |
| Hébergement | Clever Cloud | Clever Cloud (FR) |
Chaque composant open source est auditable et peut être auto-hébergé intégralement, sans communication cachée vers des tiers hors Europe.
Minimisation des données dès la conception
La conformité RGPD est plus simple à gérer quand on ne collecte que l’essentiel dès le départ.
- Identités éphémères : à l’authentification via GitHub, le jeton est validé auprès de l’API tierce pour instancier un utilisateur en mémoire, le temps de la requête. Cette identité n’est jamais persistée en base, seul l’identifiant numérique stable de GitHub est conservé, pour l’associer aux votes et commentaires.
- Données minimales stockées : un vote ou un commentaire, c’est l’identifiant GitHub, le pseudo public, le contenu et un horodatage. Rien d’autre.
- Pas de stockage d’IP : le rate limiting s’appuie sur l’identifiant GitHub de l’utilisateur·ice connecté·e, pas sur l’adresse réseau. Les outils d’écriture sont protégés sans qu’on ait besoin de journaliser la moindre IP.
- Masquage des données sensibles : la couche temps réel peut faire transiter des jetons d’autorisation dans les paramètres de requête, donc le serveur filtre explicitement ces variables avant qu’elles atterrissent dans les logs.
Cohérence entre résidence et sécurité des données
Héberger les données en Europe ne sert à rien si l’application a des failles de sécurité par ailleurs. La Partie 2 détaille les mesures concrètes : validation systématique des tokens GitHub, rate limiting par utilisateur·ice, Content-Security-Policy à base de nonce, et commentaires marqués comme données non vérifiées pour limiter les risques d’injection de prompt indirecte.
Conclusion
On perçoit parfois la souveraineté comme une contrainte qui réduit les performances ou complique le développement. Ce projet montre le contraire : une stack open source européenne combinée à l’inférence Mistral a suffi pour livrer un agent fonctionnel (streaming, appels d’outils, persistance) sans les barrières réglementaires liées aux transferts de données.
Cinq principes ont guidé la démarche :
- Une inférence localisée, isolée derrière une couche d’abstraction logicielle.
- Un protocole ouvert, pour éviter le verrouillage technologique.
- Des briques open source auditables (FrankenPHP, Symfony, API Platform, Mercure).
- Un hébergement basé en Europe.
- La minimisation des données intégrée directement dans le code.
On se retrouve la semaine prochaine ?
L’assistant est en ligne dès maintenant, avant même l’ouverture des portes : de quoi préparer votre venue, repérer les talks à ne pas manquer et construire votre agenda à l’avance. Rendez-vous les 17 et 18 septembre à EuraTechnologies pour la sixième édition de l’API Platform Conference !