D’une promesse de science-fiction à un outil de travail
Dans les années 70, la série Cosmos 1999 promettait des ordinateurs capables de répondre à tout, ou presque, sur un simple ticket de caisse. Cinquante ans plus tard, les IA génératives ont dépassé les meilleurs joueurs d’échecs et de Go, et ChatGPT, qui peinait il y a trois ans à sortir une macro Excel d’une demi-page, appartient déjà à la préhistoire du domaine.
Depuis le début de l’année, Claude est devenu un outil de travail au quotidien, notamment lors d’une mission d’audit de qualité de code particulièrement révélatrice de ce que l’IA peut vraiment apporter sur un parc applicatif legacy.
Le cas concret : évaluer la complexité de 2 000 programmes RPG
La première tentation aurait été de demander à l’IA d’analyser chaque source un par un. Avec environ 2 000 programmes à traiter, cette approche fait vite exploser les quotas et n’a aucun sens à l’échelle. La bonne approche est différente : plutôt que de faire analyser le code directement par l’IA, mieux vaut lui faire décrire la méthode d’analyse, puis générer les outils qui l’appliqueront eux-mêmes, à grande échelle.
La méthode McCabe, un standard des années 70 toujours pertinent
Pour objectiver la complexité d’un programme, rien ne remplace la complexité cyclomatique de McCabe, un indicateur mis au point dans les années 70 par Thomas McCabe et toujours considéré comme une référence en analyse de code. Avant de foncer, un dialogue préparatoire avec l’IA permet de vérifier la pertinence de l’approche pour le contexte précis du projet : la méthode McCabe s’applique-t-elle bien au RPG III et au RPG IV ? Quelles autres métriques viendraient la compléter utilement ? Ce cadrage en amont, avant même d’écrire une ligne de prompt technique, fait toute la différence sur la qualité du résultat final.
Automatiser l’analyse : des scripts générés, vérifiés, exécutés
Une fois les critères discriminants fixés (nombre de lignes, de commentaires, repérage des faux commentaires, nombre de IF, de GOTO, de sous-routines…), l’étape suivante consiste à faire générer par l’IA des programmes d’analyse capables de traiter les sources en local ou directement sur le serveur. Python s’est révélé le langage le plus fiable pour ce type de génération : un script par langage à analyser (RPG III, RPG IV, CLP), avec une syntaxe suffisamment simple pour être validée en quelques minutes.
Le point notable de cette étape : télécharger les sources depuis le serveur a pris plus de temps que la génération et la relecture des scripts Python eux-mêmes. L’exécution ne demande ensuite que quelques minutes, pour un résultat consolidé dans un tableau Excel. Un échantillon de sources analysés a ensuite été vérifié manuellement pour valider la fiabilité des métriques produites, une étape de contrôle qui reste indispensable sur ce type de démarche.
Aller plus loin : un modèle d’estimation des charges de développement
Une cartographie de complexité cyclomatique seule reste un bilan qualitatif. Elle devient réellement actionnable quand on la croise avec un modèle d’estimation de charge, construit par type de maintenance :
- Maintenance légère (1 à 5 règles de gestion)
- Maintenance moyenne (5 à 10 règles de gestion)
- Maintenance lourde (plus de 10 règles de gestion)
Croisé avec la complexité du source, ce modèle permet d’estimer un nombre de jours de développement par intervention :
| Maintenance légère | Maintenance moyenne | Maintenance lourde | |
|---|---|---|---|
| Source simple | 1 jour | 2 jours | 5 jours |
| Source moyen | 2 jours | 5 jours | 10 jours |
| Source complexe | 5 jours | 10 jours | Envisager la refonte |
Ce modèle a été affiné par échanges successifs avec l’IA, puis nourri des tableaux Excel de complexité cyclomatique issus des sources RPG III, RPG IV et CLP. Résultat : une page web permettant de rechercher un programme, de choisir le type d’intervention, et d’obtenir instantanément le nombre de jours estimés.


Ce qu’il faut en retenir pour vos projets de modernisation
Cette mission illustre bien ce que l’IA change concrètement sur un parc IBM i : elle ne remplace pas l’expertise métier, elle démultiplie sa portée. La méthode reste humaine (choix des métriques, validation des résultats), mais l’échelle change complètement, ce qui était impossible à traiter manuellement sur 2 000 programmes devient un projet de quelques jours. C’est exactement le type de levier qu’on retrouve plus largement dans l’évolution de l’écosystème IBM i, où Python et l’IA s’intègrent nativement aux environnements historiques sans en compromettre la robustesse.
Vous avez un parc RPG à auditer ou à moderniser ?
Nos équipes IBM i réalisent des audits de vos environnements pour identifier les axes de modernisation, de sécurisation ou d’optimisation. Et parce que ce type de démarche s’appuie de plus en plus sur la Data et l’IA, notre entité Unfair peut aussi vous accompagner sur la partie outillage et modèles.




