Aller au contenu
ettc

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.

Schéma d'architecture : les sources sont ingérées de façon idempotente, consolidées dans un socle PostgreSQL historisé, puis interrogées par deux chemins - un chemin déterministe et une couche modèle.

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.

  1. 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.
  2. 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.
  3. 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é.
  4. 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.
  5. 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.
  6. 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.

Sécurité

Ce que nous appliquons par défaut, et qui n'est pas une option facturée.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

Fiabilité et exploitation

Ce qui sépare une démonstration qui fonctionne d'un système sur lequel on peut s'appuyer.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

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.