Bannière officielle orange du billet Mistral AI sur la modernisation de code hérité par des agents IA

Mistral modernise 40 000 lignes de Fortran avec ses agents IA

Mistral raconte la migration de 40 000 lignes de Fortran 77 vers le C++ par des agents IA chez un énergéticien européen. Méthode, garde-fous et limites.

40 000 lignes de Fortran 77, un simulateur de réservoir pétrolier, zéro test automatisé, une documentation éparpillée dans de vieux PDF. Un énergéticien européen vivait exactement ce cauchemar. Ce mercredi 9 septembre, Mistral publie le récit détaillé de la migration qu'il lui a fait subir : les agents IA de l'entreprise ont transféré ce code historique vers le C++, module par module, sous le contrôle permanent d'ingénieurs. Un cas d'école pour tous ceux qui traînent un code vieillissant que plus personne ne comprend.

Pourquoi un Fortran de 1977 bloque tout

Le Fortran 77, standardisé en 1977 comme son nom l'indique, est un langage scientifique sans modules ni types structurés. Toutes les données vivent dans des blocs COMMON, une mémoire globale partagée par tout le programme. Le type d'une variable se déduit de la première lettre de son nom, et les noms sont plafonnés à 6 caractères. Résultat : une faute de frappe ne provoque aucune erreur, elle crée une nouvelle variable en silence.

Et traduire la syntaxe ne suffit pas. Passer d'un code procédural à un C++ orienté objets oblige à réorganiser l'architecture : les tableaux globaux deviennent des paramètres, les boucles changent de place. Il n'existe donc aucune correspondance ligne à ligne pour vérifier le travail. C'est exactement ce qui rend ce genre de migration si redouté.

Un harnais de parité avant de toucher au code

Avant de lâcher les agents, l'équipe a construit un harnais de parité : un dispositif qui prouve que l'ancien et le nouveau code produisent exactement les mêmes chiffres. Concrètement, des sous-routines ont été ajoutées au Fortran pour exporter l'état du calcul à des points critiques, et un framework de test en C++ recharge ces mesures comme référence. Le billet montre la valeur 42,71834 exportée du Fortran, puis réclamée à l'identique par le code migré.

Ce harnais rend la correction vérifiable par un nombre, pas par un avis. Mistral en fait la première étape de toute modernisation de ce type : sans lui, personne ne peut dire si un module migré fait encore le bon calcul.

Cent agents pour remettre la documentation d'aplomb

La documentation, elle, dormait dans des PDF et des commentaires noyés dans le code. L'équipe a d'abord dessiné l'arbre complet des appels du programme, puis l'a délégué à plus d'une centaine d'agents pilotés par l'outil Vibe CLI de Mistral. Chaque agent documentait un morceau de l'arbre, avec accès aux PDF via l'OCR de Mistral, et ouvrait une pull request, c'est-à-dire une proposition de modification relue avant intégration. Un agent relecteur, lancé en boucle sur un planificateur de tâches, examinait les arrivantes et demandait les corrections.

Fait notable : ce nettoyage documentaire est présenté comme l'un des plus gros bénéfices du chantier, au même titre que la migration elle-même.

✉️ Un moment, avant de continuer la lecture…

La newsletter condense l'actu tech chaque dimanche : les 4-5 infos qui comptent + un outil open source à installer, en français. Inscription gratuite, désinscription en un clic.

Trop d'autonomie, et les agents s'enlisent

La première tentative, un agent autonome par sous-routine pendant une semaine, a produit du code fonctionnel mais bidon : les blocs COMMON sont devenus des structures globales à l'identique et les sauts GOTO sont restés intacts. Du Fortran retapé en syntaxe C++, pas du code modernisé. La deuxième tentative, avec une équipe d'agents (planificateur, codeur, testeur, relecteur), a monté la qualité d'un cran, mais les agents restaient coincés des heures sur un bug sans personne pour les débloquer.

La solution finale est un entre-deux : un humain pilote un flux de codeur, testeur et relecteur, module par module, chaque module ne dépassant pas 10 000 lignes. L'architecture proposée est relue par un ingénieur réservoir du client, puis découpée en tâches, implémentée, testée, et enfin revue par un humain avant fusion. L'autonomie utile a des limites, et Mistral les assume.

Des limites assumées et une méthode à copier

Restons honnêtes sur le périmètre : ce premier lot couvre 40 000 lignes sur 300 000, et le point de départ était favorable. Le code tournait, il ne dépendait d'aucun système externe et sa physique était documentée quelque part. Mistral précise qu'un code non exécutable, branché à des systèmes extérieurs ou contenant une physique documentée nulle part poserait des problèmes bien plus durs.

La leçon pour n'importe quel vieux projet tient en trois points : prouver la conformité par les chiffres avant d'écrire la moindre ligne migrée, remettre la documentation d'aplomb avant de lancer les agents, et garder un humain dans la boucle dès que ça coince. Pour une industrie européenne remplie de code scientifique vieux de quarante ans, c'est une méthode qui mérite d'être copiée. C'est aussi une vitrine commerciale pour Mistral, qui vient de lever 3 milliards d'euros pour financer son IA d'entreprise.

Sources

Selon l’article de Mistral AI, publié le 9 septembre 2026 : le retour d'expérience complet de la migration, avec le détail du harnais de parité et des flux d'agents.

Crédit de la couverture : bannière officielle du billet Mistral AI.



Recherche, relecture et illustration assistées par IA. Le contenu reflète le travail éditorial de la rédaction.

No comments yet