Collecte
Imports, extraction, récupération quand la source n'offre pas d'export propre.
Des sites et un CMS maison pour commencer. Puis, pendant des années et en parallèle, le rapprochement de référentiels publics et un portail de suivi hydrologique. La R&D d'IA métier est venue en bout de course, sur ce même portail.
J'ai commencé par là : des sites clients, puis un premier outil de gestion de contenu maison. Les pages à faire vivre sont modifiables directement par le client, sans ouvrir un ticket pour chaque changement de texte.
Le cadre d'édition est délimité à la conception : on change un titre, un paragraphe, une image, pas la structure. Moins d'allers-retours pour les mises à jour, aucun risque de casser le reste du site.
Plusieurs référentiels publics décrivent la même réalité sous des angles différents : les établissements d'un côté, les personnes morales de l'autre, les données sectorielles encore ailleurs. Une même structure y apparaît sous une raison sociale légèrement différente, à une adresse écrite autrement, avec des dates de mise à jour qui ne coïncident pas.
Le travail : faire correspondre ces bases sans clé commune, marquer le douteux, et rejouer le rapprochement à chaque nouvelle version sans écraser les corrections manuelles. Cette dernière contrainte est celle qui coûte le plus cher à traiter, et celle qu'on oublie le plus souvent au moment de la conception.
Le résultat : un portail, une API, des connecteurs et des dictionnaires de traduction. Une dizaine de sources récupérées, croisées et tenues à jour sans intervention. À chaque nouvelle version d'un référentiel, le système détecte ce qui a bougé et le propose au lieu de l'imposer : une adresse modifiée, un téléphone qui change, une structure qui ferme. Comme un CRM qui vous signalerait de lui-même qu'un client a déménagé. C'est le moment où le système a cessé de demander du temps tous les jours.
Ce que j'en tire : la même méthode s'applique dès qu'il faut croiser des bases métier sans clé commune fiable : formats hétérogènes, versions qui se croisent, corrections manuelles à préserver.
Imports, extraction, récupération quand la source n'offre pas d'export propre.
Nettoyage, normalisation, dédoublonnage : une même entité doit s'écrire d'une seule façon.
Faire correspondre des bases sans clé commune, et suivre ce qui change à chaque version.
À chaque nouvelle version, proposer les changements détectés au lieu de les appliquer d'office.
Mené en parallèle du chantier précédent : un portail public de suivi hydrologique, alimenté par des API publiques.
Ce que renvoient ces API tient en deux valeurs : une hauteur d'eau et une heure de mesure. Tout le reste est calculé par-dessus.
C'est le point que je retiens de ce projet : la valeur n'est presque jamais dans la donnée récupérée, elle est dans les indicateurs qu'on en tire et dans la façon dont on les rend lisibles. C'est une leçon qui s'applique à tous les projets de traitement de données.
Le dernier chantier, greffé sur le portail. L'objectif : poser une question en français et obtenir une réponse ancrée. Le modèle choisit quelles données consulter, appelle le bon serveur d'outils (MCP) et s'appuie sur un corpus indexé : bilans Vigicrues, PPRI, hydrologie de surface.
La première version s'est heurtée à trois murs.
La latence. Le mode raisonnement de Qwen3.6, activé par défaut, réfléchissait si longtemps qu'un visiteur ouvrait plus vite la page de la station.
Le sur-apprentissage. Fine-tuning poussé trop loin sur 1 600 exemples métier : loss tombée à 0,4 là où on vise autour de 1. Le modèle récitait ses exemples et se perdait dès qu'on sortait du script.
La mémoire. Contexte trop court : première question OK, deuxième plantage dès que l'historique débordait. Mur immédiat en tentant l'entraînement sur une carte de 8 Go.
Ce qui a marché : Gemma 4 en 12 milliards de paramètres, sans fine-tuning, avec un prompt système soigné, une recherche documentaire correcte et des outils bien décrits. Sur ces tâches, le prompt système valait le mode raisonnement, pour environ six fois moins d'attente (mesure personnelle).
Ce que j'en garde : la fenêtre de contexte se dimensionne avant de déployer, et sur un corpus documentaire, je commence par la recherche hybride plutôt que par le fine-tuning.
C'est justement pour ça que je déploie chez vous. Ce qui a été construit sur des sources publiques (rapprochement, indexation, recherche documentaire, appels d'outils) ne change pas de nature selon la sensibilité des données. Ce qui change, c'est où elles sont traitées : sur vos machines, sans appel sortant.
On le mesure, on ne l'estime pas. Ce qui compte : la longueur de contexte utile, le nombre d'utilisateurs simultanés et le délai de réponse acceptable. Sur le projet hydrologique, un contexte sous-dimensionné plantait dès la deuxième question, et une carte de 8 Go ne suffisait pas à l'entraînement. Mesurer sur place évite un achat à côté.
Le plus souvent oui, même sans identifiant commun : on rapproche sur les formes proches (raisons sociales, adresses), on marque ce qui est douteux au lieu de trancher à votre place, et on rejoue le rapprochement à chaque mise à jour sans écraser vos corrections. C'est ce dernier point qui décide de la réussite du projet.
Ça dépend de l'enjeu, pas de la technique. Sur le portail hydrologique, la cadence suivait le risque : une heure en situation calme, trois minutes quand la vigilance montait. Assez lent pour ne pas marteler des sources publiques quand il ne se passe rien, assez rapide pour ne rien manquer quand ça monte.
Non, pas toujours. Un rapprochement de référentiels, un portail, une API ou un CMS se suffisent souvent. L'IA intervient quand on a besoin d'interroger en langage naturel ou d'assister sur des documents.
Traitement de données, IA appliquée, ou les deux. Si le besoin est encore flou, deux lignes suffisent pour commencer. Savoir qui je suis →