Ingénierie
Ce n'est pas un tableau de bord posé sur un export.
Ce que nous livrons est un logiciel : versionné, testé, déployé par une chaîne d'intégration, surveillé en production et documenté pour être repris sans nous. Cette page est écrite pour la personne qui voudra vérifier - un DSI, un prestataire technique, un acheteur qui a une grille.
Le principe
La plupart des projets data d'une PME s'arrêtent à un tableau de bord branché sur un export. Ça tient trois mois : jusqu'à ce qu'un fichier change de colonne, que la personne qui le maintenait parte, ou qu'on demande un chiffre qui n'était pas prévu. Ce n'est pas un système, c'est une photo.
Ce que nous posons est un système : des connecteurs qui savent reprendre après une panne, un entrepôt qui garde l'historique, un modèle de données qui nomme vos objets métier, une couche de qualité qui refuse la donnée douteuse, et une couche IA qui ne calcule rien elle-même. Chaque brique est du code, dans un dépôt qui vous appartient.
La différence se voit au bout de six mois. Un tableau de bord posé sur un export, on le refait. Un socle, on le complète : le besoin suivant coûte des jours, pas des semaines.
L'architecture, couche par couche
Six couches. Pour chacune : ce qu'elle fait pour votre métier, ce qu'il y a dedans, et la garantie qu'elle apporte.
Sources
- API métier
- Fichiers
- Webhooks
- Boîtes mail
ETL idempotent
Planifié, rejouable, journalisé
PostgreSQL historisé
Modèle de données, vues matérialisées, migrations versionnées
Deux chemins de réponse
Chemin déterministe
Calcul métier validé, cache sémantique. Traite la majorité des demandes.
Couche modèle
RAG pgvector, sorties structurées, garde-fous. Appelée quand elle apporte quelque chose.
Ingestion
- Ce qu'elle fait
- Aller chercher la donnée là où elle est, sans que personne n'exporte de fichier.
- Ce qu'il y a dedans
- Python, Go, traitements asynchrones, Pub/Sub, Cloud Tasks, RabbitMQ, planification et rejeu
- La garantie
- Chaque exécution est idempotente : la rejouer ne crée pas de doublon. Une source indisponible pendant la nuit est rattrapée au cycle suivant, et chaque exécution laisse une trace horodatée.
Entrepôt et modélisation
- Ce qu'elle fait
- Garder l'historique et nommer vos objets métier une bonne fois : client, commande, mission, contrat, heure travaillée.
- Ce qu'il y a dedans
- PostgreSQL, BigQuery lorsque le volume le justifie, vues matérialisées, index et plans d'exécution revus, migrations versionnées
- La garantie
- L'état d'il y a six semaines existe encore. Les migrations sont versionnées et rejouables : aucun changement de schéma ne se fait à la main en production.
Qualité
- Ce qu'elle fait
- Refuser la donnée douteuse plutôt que de l'afficher avec assurance.
- Ce qu'il y a dedans
- Contrôles de fraîcheur, de volumétrie, d'unicité et de cohérence référentielle, exécutés à chaque cycle
- La garantie
- Un contrôle qui échoue bloque la publication et déclenche une alerte, au lieu de laisser un chiffre faux remonter jusqu'à votre écran. Ce qui reste incertain est marqué comme tel plutôt que deviné.
Sémantique et IA
- Ce qu'elle fait
- Comprendre une question posée en langage courant et la relier à un calcul métier défini et validé.
- Ce qu'il y a dedans
- RAG, pgvector, embeddings, recherche hybride, reranking, function calling, sorties structurées, garde-fous et repli
- La garantie
- Le modèle ne fait aucune arithmétique sur vos données. Il choisit une requête définie à l'avance, l'exécute, et la réponse affiche ce qui a tourné et en combien de temps. Hors de son périmètre, il s'arrête et le dit.
Restitution
- Ce qu'elle fait
- Rendre tout cela utilisable : écrans, rapports, alertes, et l'accès depuis vos propres outils.
- Ce qu'il y a dedans
- React et Next.js, React Native, APIs REST et gRPC, exports, alertes, serveurs MCP
- La garantie
- Chaque chiffre affiché est rattaché à sa source et à sa date de dernière synchronisation. Ce que vous voyez, vous pouvez le remonter jusqu'à la ligne d'origine.
Exploitation
- Ce qu'elle fait
- Faire tourner tout cela sans que ce soit votre problème.
- Ce qu'il y a dedans
- GCP Cloud Run, Docker, Kubernetes, CI/CD, observabilité, journalisation, suivi du coût par requête, cache sémantique
- La garantie
- Rien ne part en production sans passer par la chaîne d'intégration. Les incidents sont détectés par la supervision avant d'être signalés par vos équipes.
Tous les appels de modèle ne se valent pas
Dans un système d'information, l'essentiel du travail de l'IA n'est pas de converser : c'est de classer, router, extraire et décider, des milliers de fois par jour. Faire ça avec un modèle de chat revient à démarrer un moteur de camion pour visser une vis : ça marche, c'est lent, et la facture arrive. Nous séparons donc trois classes de décision, et chacune a son coût.
Le chemin déterministe
- Quand
- La demande correspond à un calcul métier défini et validé à l'avance.
- Ce que ça coûte
- Coût nul, latence de l'ordre de la milliseconde, résultat rejouable à l'identique.
C'est ce qui traite la majorité des demandes dans les systèmes que nous livrons. Aucun modèle n'est appelé, et deux fois la même question donnent deux fois le même chiffre.
La décision rapide et calibrée
- Quand
- Classer un mail, router une demande, extraire un champ d'une facture, rattacher une compétence à un référentiel : une décision floue, mais fermée.
- Ce que ça coûte
- Quelques dizaines à quelques centaines de millisecondes, pour une fraction du coût d'un appel conversationnel.
C'est ce qu'on appelle les modèles System One : une sortie typée plutôt qu'un texte à reparser, et surtout une probabilité calibrée qui accompagne chaque décision. C'est cette probabilité qui permet d'écrire une règle honnête : en dessous d'un seuil, on ne décide pas, on passe la main à un humain.
Le raisonnement conversationnel
- Quand
- Comprendre une demande formulée librement, rédiger une réponse, expliquer un écart.
- Ce que ça coûte
- Le plus lent et le plus cher des trois. Réservé aux cas qui le justifient.
C'est le seul endroit où un grand modèle de langage est réellement à sa place. Dans nos propres produits il intervient sur une minorité des demandes, et c'est précisément ce qui rend le coût prévisible.
Les modèles System One sont une classe récente. Nous avons testé Jev, le premier du genre publié par TypeSafe AI, sur nos propres cas de classification et d'extraction, et nous suivons cette famille de près : elle correspond exactement à la couche que nous construisions jusqu'ici à la main. Nous ne la déployons pas encore chez nos clients, parce qu'un composant en accès anticipé n'a rien à faire dans un système de production sans solution de repli. Le jour où elle y entrera, l'architecture ci-dessus n'aura pas besoin de bouger : c'est tout l'intérêt d'avoir séparé les trois chemins dès le départ. Le papier de TypeSafe AI sur les modèles System One
Sécurité
Ce que nous appliquons par défaut, et qui n'est pas une option facturée.
Moindre privilège
Chaque connecteur se connecte avec un compte de service dédié, en lecture seule quand la lecture suffit, limité aux tables dont il a besoin. Aucun connecteur ne tourne avec un compte administrateur, et aucun ne tourne avec le compte nominatif d'un de vos salariés.
Secrets
Les identifiants et les clés ne vivent jamais dans le code ni dans un fichier de configuration versionné. Ils sont conservés dans un gestionnaire de secrets, injectés au démarrage, et révocables sans redéploiement.
Chiffrement
Chiffrement en transit sur tous les échanges, chiffrement au repos sur l'entrepôt et sur les sauvegardes. Une sauvegarde est protégée avec le même sérieux que la base dont elle sort.
Cloisonnement
Un client, un périmètre. Les données d'une entreprise ne transitent pas par l'infrastructure d'une autre, et le cloisonnement est tenu au niveau de la base, pas seulement au niveau applicatif.
Journalisation des accès
Qui a lu quoi, et quand. Les accès aux données et les requêtes exécutées sont journalisés : c'est ce qui vous permet de répondre à un audit, et de savoir ce qui s'est passé le jour où quelque chose cloche.
Authentification
Accès nominatifs, jamais de compte partagé. Raccordement à votre annuaire ou à votre fournisseur d'identité lorsque vous en avez un, avec second facteur.
RGPD et conformité
Vous restez responsable de traitement, nous sommes sous-traitant. Ce que cela implique, concrètement.
Contrat de sous-traitance
Un DPA au sens de l'article 28 du RGPD encadre la mission : finalités, durée, sous-traitants ultérieurs, mesures de sécurité, sort des données en fin de contrat. Il est signé avant le premier accès à vos données, pas après.
Hébergement
Hébergement dans l'Union européenne. Les composants qui en sortiraient sont identifiés et discutés avec vous avant d'être utilisés, pas découverts en cours de route.
Minimisation
Nous ne récupérons que les données nécessaires aux usages définis pendant l'audit. Les champs sensibles qui ne servent à aucun de ces usages sont écartés dès l'ingestion, plutôt que stockés au cas où.
Durées de conservation
Chaque catégorie de donnée a une durée, écrite avec vous et appliquée par une purge automatique. L'historisation ne sert pas de prétexte à tout garder indéfiniment.
Droits des personnes
Une demande d'effacement ou de rectification se propage jusqu'à l'entrepôt et jusqu'aux index de recherche, pas seulement dans l'outil d'origine. C'est exactement là que la plupart des architectures échouent, et c'est vérifiable.
EU AI Act
Les systèmes que nous livrons relèvent des obligations de transparence de l'article 50 : la personne sait qu'elle s'adresse à une machine, et elle voit ce que cette machine a exécuté. Nous ne construisons ni notation de personnes, ni décision individuelle entièrement automatisée.
Registre et documentation
Le traitement est documenté pour entrer dans votre registre : nature, finalité, catégories de données, destinataires, durées de conservation. Vous recevez de quoi le compléter, vous n'avez pas à le reconstituer.
Les textes RGPD (règlement UE 2016/679) · EU AI Act (règlement UE 2024/1689)
Fiabilité et exploitation
Ce qui sépare une démonstration qui fonctionne d'un système sur lequel on peut s'appuyer.
Intégration continue
Tests automatisés et déploiement par une chaîne d'intégration. Personne ne copie un fichier sur un serveur, et chaque version en production correspond à un état identifiable du dépôt.
Environnements séparés
Un environnement de travail, un de production. Une migration est jouée ailleurs avant de toucher vos données, jamais directement sur celles-ci.
Supervision
Les cycles d'ingestion, les temps de réponse et les erreurs sont surveillés en continu. Une synchronisation qui échoue deux nuits de suite déclenche une alerte : elle ne passe pas inaperçue jusqu'au jour où un chiffre paraît bizarre.
Sauvegardes
Sauvegardes régulières et chiffrées, avec une procédure de restauration écrite et essayée. Une sauvegarde qu'on n'a jamais restaurée n'est pas une sauvegarde, c'est une intention.
Niveau de service
La couverture est écrite dans le contrat d'exploitation : plage horaire, délai de prise en compte, canal de signalement, et ce qui n'est pas couvert. Un engagement flou ne protège personne.
Coût maîtrisé
Le coût d'infrastructure et le coût d'inférence sont suivis par requête. Un routage déterministe traite la majorité des demandes sans jamais appeler de modèle : c'est ce qui nous a permis de diviser par cinquante le coût d'inférence de nos propres produits.
Ce que vous détenez
Un prestataire qui garde les clés n'est pas un prestataire, c'est une dépendance.
- Le code, dans un dépôt qui est le vôtre. Nous y travaillons, nous ne le détenons pas.
- Les accès à votre infrastructure et à vos bases, ouverts à votre nom.
- Le modèle de données documenté : ce que signifie chaque table, chaque champ et chaque calcul métier.
- Les procédures d'exploitation : comment déployer, comment restaurer, comment ajouter une source.
- Une réversibilité réelle : un autre prestataire doit pouvoir reprendre. C'est le test, et c'est pourquoi la documentation fait partie du livrable et non d'une option.
Ce que nous ne faisons pas
Le dire au premier rendez-vous coûte moins cher que de le découvrir au troisième.
Nous ne sommes pas certifiés ISO 27001 ni SOC 2
Nous appliquons les pratiques décrites sur cette page, mais aucun organisme ne les a auditées. Si votre politique achats exige une certification, dites-le tout de suite : nous ne prétendrons pas l'avoir.
Nous n'hébergeons pas de données de santé
L'hébergement de données de santé au sens réglementaire exige une certification HDS que nous n'avons pas. Si votre projet en contient, il faut une autre architecture et un hébergeur certifié.
Nous ne notons pas les personnes
Pas de score de candidat, pas de classement automatique de collaborateurs, pas de décision individuelle prise par une machine. C'est un choix, et c'est aussi ce que le RGPD et l'EU AI Act encadrent le plus strictement.
Nous ne remplaçons pas votre informatique interne
Nous construisons et nous exploitons ce que nous avons construit. Nous ne prenons en charge ni votre parc, ni vos postes, ni votre réseau, ni votre téléphonie.
Nous ne faisons pas apparaître une donnée qui n'existe pas
Si l'information n'est saisie nulle part, aucune couche technique ne la créera. L'audit le dit avant que vous vous engagiez sur la suite, c'est précisément à cela qu'il sert.
Les chantiers concernés
L'audit data
Deux semaines au maximum, un prix fixe, et un document qui vous appartient. C'est la seule façon honnête de savoir ce que vos données permettent, avant d'engager un budget dessus.
Le socle de données
Quatre à huit semaines pour que vos données vivent au même endroit, historisées et fiables. Livré par étapes utilisables, pas en une seule fois au bout de six mois.
L'assistant IA
Un assistant qui répond à vos questions métier en langage courant, sur des chiffres qui sortent de votre base. Il arrive une fois le socle fiable, jamais avant.
Vous avez un DSI ou un prestataire technique ?
Mettez-le dans la boucle dès le premier rendez-vous. Les questions difficiles posées tôt coûtent beaucoup moins cher que les mauvaises surprises posées tard.