François Kerjean · Ingénieur IA

Construire des systèmes de données et d'IA fiables.

De la donnée brute au déploiement, en autonomie complète. Ce qui suit tient en trois temps : ce que je sais faire, comment je l'ai fait, et ça tourne aujourd'hui. Tout est en ligne et vérifiable.

28 systèmes en production 0 € d'API à l'usage de la donnée au déploiement, en solo
francois@nov-ai.xyz · LinkedIn · +33 6 17 86 78 07
Ce que je sais faire

Six domaines techniques.

01

Construire la donnée qui manque

Scraping, nettoyage, géospatial (OpenStreetMap, OSRM), pipelines de données, production de flux GTFS. Faire exister une donnée exploitable là où il n'y en a aucune.

02

IA fiable et sourcée

RAG souverain on-premise (Mistral local via vLLM, air-gap) et RAG documentaire. Recherche hybride (dense et lexical), reranking, grounding strict, citations à la source, abstention, vérification indépendante.

03

Machine learning pragmatique

Régression (Ridge, scikit-learn), mise en correspondance de données, classement. Choix du modèle tranché sur le résultat réel.

04

Sécurité

Tests offensifs (nmap, analyse d'en-têtes HTTP, clickjacking), configuration email DMARC/SPF/DKIM, contrôle d'accès (RBAC), durcissement d'infrastructure.

05

Automatisation et agents

Systèmes autonomes (déclencheurs, garde-fous, idempotence, observabilité), automatisation n8n, outillage maison (64 modules, 20 hooks, 6 sous-agents, MCP), pipelines de bout en bout.

06

Web et paiement

Next.js / React, paiement Stripe (webhooks signés), gestion de stocks et d'expéditions, e-commerce en production.

La stack
IA et agents
Claude CodeMCP (maison)RAG documentaireRAG vectoriel (BGE-M3, Qdrant)Mistral / vLLMOllama (secours local)
ML et données
scikit-learn (Ridge)PostgresOpenStreetMap / OSRM
Sécurité
nmapDMARC / SPF / DKIMcontrôle d'accès (RBAC)vérification de signature des webhooks (Stripe)
Web et infra
PythonTypeScriptNext.js / ReactStripeDockerVPS / Caddyn8nVercel
Comment je l'ai fait · démonstration 1 — données et cartographie

Le réseau de bus que personne n'avait numérisé.

Projet : crete.direct, une plateforme d'information pour les voyageurs en Crète. Besoin : proposer un calcul d'itinéraire en bus. Obstacle : aucune donnée de transport publique n'existe en clair.

En Crète, aucune donnée de transport n'est ouverte. Le réseau a été reconstruit pour rendre un trajet calculable.

Les horaires des KTEL (les transporteurs publics grecs) ne vivent que dans des pages web et des PDF, avec des noms de villes incohérents d'une source à l'autre. Pour en faire un trajet calculable, ce désordre doit être transformé en une base propre, puis raccroché à la carte des routes. Le tout sans aucune API.

Des horaires en désordre à un itinéraire calculable
Récupérerhoraires KTEL Nettoyerles noms Relier à la cartel'étape difficile Vérifierla géographie Tracerle chemin réel Fichier appliformat GTFS
Lecture, de gauche à droite. L'étape difficile est « relier à la carte » (en orange). En sortie, un fichier au format GTFS (celui que lisent Google Maps et les applis de transport), validé sans erreur par l'outil de référence du secteur (MobilityData).
L'étape difficile, expliquée
1
Relier deux listes qui ne se parlent pas. Les bus disent « erakleio », la carte dit « heraklion ». L'appariement se fait d'abord par le nom et les terminus, puis par position GPS (l'arrêt le plus proche, sous 3 km) pour les lignes que le nom ne résout pas. La résolution descend en cascade : nom exact, table d'alias, arrêt le plus proche, repli si le point est en Crète. Le vrai problème : faire correspondre deux jeux de données sales.
2
Vérifier la géographie. Un garde-fou écarte les arrêts situés hors de la Crète (au-delà de 150 km) et marque les coordonnées douteuses pour relecture. Chaque arrêt porte sa source et un niveau de confiance.
3
Tracer le vrai chemin. Pour chaque ligne, l'itinéraire réel est calculé sur les routes via OSRM. En cas d'échec du routage, repli sur une ligne droite, explicitement marquée comme telle. Au 16/06, 94 des 189 lignes ont leur tracé routier réel ; les autres restent en repli, signalé. Une approximation est toujours affichée comme une approximation.
Un exemple de correctif

Des départs sont apparus en double dans la base. Plutôt qu'une correction manuelle, un correctif SQL idempotent supprime les doublons : relançable autant de fois que nécessaire, sans en recréer ni modifier les données saines. L'idempotence permet de le rejouer à chaud, sans effet de bord.

Résultat : un calculateur d'itinéraire avec correspondances, une carte en direct, et un flux GTFS complet validé sans erreur. Cette donnée n'existe pas ailleurs en Crète.

PythonPostgresOpenStreetMap / OSRMGTFS
Comment je l'ai fait · démonstration 2 — IA souveraine (RAG on-premise), architecture de référence

Répondre sur 15 000 documents confidentiels, sans qu'aucun ne quitte le bâtiment.

Projet : architecture de référence pour un RAG souverain (conçue, pas encore déployée). Contexte : un centre public de recherche sur les pollutions accidentelles des eaux, 15 000 documents internes confidentiels. Besoin : les interroger par IA sans qu'aucun ne quitte le bâtiment, donc sans cloud.

Des documents trop sensibles pour une IA dans le cloud. L'IA tourne donc sur place, coupée d'internet, et cite chaque réponse à la page près.

L'architecture place le modèle sur les serveurs du centre au lieu d'exporter leurs données. Chaque réponse est citée à la source, vérifiée par un second contrôle, et filtrée par les droits d'accès avant que le modèle ne lise un passage.

À chaque question, tout se passe en local
À CHAQUE QUESTION, SUR SITE, COUPÉ D'INTERNET Question+ identité Filtre d'accèsavant toute recherche Recherche + trisens + mots exacts Mistral localrédige en citant Vérificateurindépendant Réponsesourcée
Lecture, de gauche à droite. Le filtre d'accès (en orange) agit avant la recherche : un document interdit n'est jamais transmis au modèle. En sortie, un vérificateur indépendant relit la réponse et retire toute phrase que sa source ne soutient pas. Aucune donnée ne quitte le bâtiment.
Les décisions structurantes
1
Le contrôle d'accès avant la recherche, pas après. Les droits de la personne filtrent les documents au moment de la recherche : un passage interdit n'est jamais transmis au modèle. Le défaut courant des assistants documentaires est de filtrer après coup, quand le modèle a déjà lu le contenu ; il est évité ici par construction.
2
Chercher par le sens et par les mots exacts. Une double recherche capte l'intention et le vocabulaire technique précis (noms de polluants, références réglementaires) ; un tri ne conserve que les 5 à 8 passages les plus pertinents. Si rien n'est assez pertinent, le système s'abstient.
3
Trois verrous contre l'invention. Le modèle répond uniquement à partir des passages trouvés, cite chaque phrase à sa source, et s'abstient sans base. Un second contrôleur, indépendant, relit chaque phrase et retire ce qui n'est pas soutenu par la source. Le grounding est traité comme une contrainte d'architecture, pas comme une consigne de prompt.
4
Souverain de bout en bout. Modèle Mistral local, serveurs coupés d'internet, journal infalsifiable des consultations. L'architecture est conçue pour un audit RGPD.

Résultat : une architecture de référence complète, en composants 100 % libres (sans dépendance cloud), dimensionnée pour une petite équipe et un seul serveur. Conçue au niveau production, avec un plan de mise en œuvre en six étapes, de la première démo mesurable au système complet.

RAG souverainon-premise / air-gapembeddings BGE-M3recherche hybride (RRF)rerankerMistral via vLLMvérificateur NLIRGPD
Comment je l'ai fait · démonstration 3 — IA fiable (RAG documentaire, en production)

Une IA qui répond sur le droit sans rien inventer.

Projet : kairosguest, en production. Contexte : la fiscalité grecque, complexe et mouvante. Besoin : répondre précisément, sans jamais inventer, sources à l'appui.

Une IA classique invente avec aplomb sur une question de droit. Celle-ci répond uniquement à partir des textes de loi, en citant sa source.

Sur un sujet fiscal, une réponse fausse a des conséquences. Chaque réponse doit être appuyée sur la loi, à jour, et vérifiable. Le modèle seul ne suffit pas : il faut une architecture qui l'empêche d'improviser.

Comment l'IA reste factuelle
Question Rechercheles bons textes de loi Rédactionen citant la source Réponse sourcéeloi · article · référence Base de textes de loi11 sources officielles (FEK) Veille automatiquerepère les lois qui changent
Lecture : en haut, le trajet d'une question. Elle cherche d'abord les bons extraits dans la base, puis rédige en citant. En bas, ce qui garde la base fiable : une veille qui repère quand une loi change. Le principe : chercher la source avant de répondre, jamais de mémoire approximative.
Les trois règles qui empêchent l'invention
1
Chercher avant de répondre. Au lieu de puiser dans sa mémoire approximative, l'IA va chercher les passages utiles dans une base de 11 textes de loi constituée, chacun avec sa référence au journal officiel grec (FEK).
2
Pas de source, pas de réponse. Chaque réponse cite la loi, l'article et sa référence. Sans base légale trouvée, l'IA s'abstient plutôt que d'improviser.
3
Rester à jour, et se vérifier. Une veille détecte les lois qui changent. Un audit compare les réponses aux textes officiels et a révélé de vraies erreurs (un seuil passé de 250 000 € à 800 000 €), corrigées.

Résultat : un assistant dont chaque réponse est traçable à la loi, maintenu à jour par une veille, et dont les angles morts sont connus et corrigés. En ligne sur kairosguest.com.

RAG documentairecitations (loi + article)abstentionveilleaudit
Comment je l'ai fait · d'autres systèmes

Cinq autres réalisations.

Chaîne vidéo automatisée

Projet : crete.direct / @CreteDirect. Besoin : publier du contenu vidéo sans intervention manuelle.
Texte (Supabase)·Voix (Kokoro, local)·Montage (Remotion)·Publication (API YouTube, OAuth2)

Upload idempotent : une vidéo déjà publiée n'est pas refaite. Pipeline relançable de bout en bout.

Moteur de réservation et paiement

Projet : boutique e-commerce d'un client. Besoin : encaisser et expédier en ligne, de façon fiable.
Paiement (Stripe Checkout)·Webhook signé (HMAC-SHA256)·Décrément du stock·Expédition (SendCloud / Colissimo)·Email (DKIM/SPF)

Garde d'idempotence sur l'événement Stripe pour ne jamais traiter deux fois le même paiement. En production, commandes réelles depuis le 25 mars 2026.

Ingénierie agentique

Projet : industrialiser ma propre production logicielle. Besoin : livrer, seul, le travail d'une équipe.
Tâche·Orchestration multi-agents·Sous-agents en parallèle·Outils whitelistés (MCP maison)·Vérification

20 hooks déclenchés sur les événements du cycle de vie (garde-fous, journalisation), 6 sous-agents spécialisés, serveurs MCP maison, 64 modules réutilisables. Orchestration déterministe : fan-out parallèle de sous-agents, puis vérification avant synthèse.

Audit de sécurité

Projet : audit pour un site client. Besoin : mesurer et corriger l'exposition aux attaques.
Scan de ports (nmap)·En-têtes HTTP·Test de clickjacking·Config email (DMARC/SPF/DKIM)·Rapport + durcissement

Verdict : score 35/100, six vulnérabilités (DMARC/SPF/DKIM absents, aucun en-tête de sécurité, clickjacking possible), suivi de recommandations (DKIM/SPF, en-têtes, HSTS).

Estimateur de prix (ADR)

Projet : kairosguest. Besoin : estimer le prix d'une nuitée à partir des caractéristiques d'un bien.
Caractéristiques du bien·Variables normalisées·Régression Ridge (scikit-learn)·Prix estimé

Régression Ridge sur 31 variables (scikit-learn, validation croisée), entraînée sur ~2 272 annonces collectées. Modèle simple retenu après comparaison avec des modèles plus lourds qui n'apportaient pas de gain mesurable.

Comment je l'ai fait · le squelette commun

Le même squelette, à chaque fois.

Ces systèmes partagent une architecture. La comprendre, c'est les comprendre tous.

D'où ça vient : le motif commun aux systèmes ci-dessus, le réseau de bus crete.direct, le RAG souverain, la chaîne vidéo et le moteur de réservation. Le décrire une fois, c'est les décrire tous.
L'anatomie d'un de ces systèmes
Quand Réfléchit Agit Résultat déclenché par l'heureune IA décideactions autoriséesécrit · envoie · alerte PLUS, EN PERMANENCE Une mémoireDes sécuritésDe l'auto-surveillance elle évite tout doublonsi on relance le système(relançable sans risque) bouton d'arrêt, limites,reprise après erreur,solution de secours il se teste tout seulet alerte au moindreproblème
Lecture : en haut, ce que fait le système, en quatre temps. En bas, ce qui le rend fiable en continu. C'est cette partie basse (mémoire, sécurités, auto-surveillance) qui sépare une démo d'un système qui tourne des mois sans intervention.
Cinq principes, illustrés
1
Partir de la donnée, pas de l'écran. Pour le réseau de bus, le schéma GTFS de sortie (agency, routes, trips, stop_times, shapes) a été figé avant toute carte, pour garantir un fichier validable par le gtfs-validator MobilityData.
2
Tout est relançable (idempotent). Le correctif SQL de déduplication des départs se rejoue sans recréer de doublon ; l'export GTFS est déterministe (mêmes données en entrée, même fichier en sortie).
3
Les sécurités avant les fonctionnalités. Sur le moteur de réservation : vérification de signature des webhooks Stripe (HMAC-SHA256) et garde d'idempotence sur l'événement avant tout traitement. Les emails partent sur un domaine authentifié DKIM/SPF.
4
Trancher sur le résultat réel. Pour l'estimation d'ADR, une régression Ridge (scikit-learn, validation croisée) faisait mieux que des modèles plus lourds : elle a été gardée.
5
Faire relire avant de livrer. Revue contradictoire du code par plusieurs IA, puis test manuel à la main avant mise en ligne.
Où je l'ai fait

Tout est en ligne.

Les compétences ci-dessus tournent dans des systèmes réels, en production. Les liens sont cliquables.

À l'intérieur de ces systèmes : emails transactionnels authentifiés (DKIM/SPF), agents et automatisations qui les font tourner sans intervention, et l'outillage maison (64 modules, MCP) qui sert de socle commun.

Travailler ensemble

Trois façons de m'engager.

Régie

Mission au TJM

À partir de 450 €/j, 100 % remote. Au temps passé, avec reporting et revues régulières. Adapté à une mission cadrée dans la durée, en direct ou en intermédiation (ESN).

Forfait

Projet au forfait

Devis ferme après cadrage du périmètre (cahier des charges). Acompte 30 % à la commande, solde à la livraison ou par jalons. 2 cycles de révision inclus. Livrables et code source remis, maintenance en option. Délais convenus au devis.

Formation

Former votre équipe : l'IA en production

Pour les équipes métier et les dirigeants, aucun profil technique requis. Deux formats, sur site ou à distance : 1 jour découverte (ce que l'IA change concrètement dans un métier, ce qui marche et ce qui échoue, démonstrations sur les systèmes présentés ici) ou 2 jours hands-on (l'équipe construit un premier automatisme fiable sur son propre cas, avec des outils accessibles et sans écrire de code). Contenu adapté au contexte de l'équipe après un échange de cadrage. À partir de 800 €/j. Expérience de formateur en bancassurance, certification professionnelle AMF.