Chez un éditeur de logiciels comme Berger‑Levrault, dont les solutions servent chaque jour des dizaines de milliers d’agents publics, de professionnels de santé et de techniciens de maintenance, chaque régression logicielle a des conséquences directes sur le service rendu. C’est dans ce contexte d’exigence que la Direction de la Recherche et de l’Innovation Technologique (DRIT) conduit ses travaux sur l’IA appliquée au génie logiciel. L’intelligence artificielle transforme en profondeur la production de code, non pour produire plus vite à tout prix, mais pour mieux comprendre les besoins, fiabiliser les modifications, réduire le risque de régression et renforcer la continuité de service pour nos clients. Cet article présente comment l’IA accompagne notre chaîne de production de code, de la formulation du besoin jusqu’à la mise en production.

Par Benoit Verhaeghe, Responsable du laboratoire génie logiciel chez Berger‑Levrault

Points clés de l’analyse :

  • L’IA n’a pas vocation à remplacer les développeuses et les développeurs : elle assiste, l’humain décide et valide.
  • IA4Code s’inscrit dans une stratégie d’ingénierie logicielle orientée résultats : qualité, performance et durabilité des logiciels.
  • La qualité du code est garantie par une démarche en six étapes combinant tests automatisés, méthodes scientifiques éprouvées et revue humaine systématique.
  • Berger‑Levrault adapte les outils IA du marché à ses contextes métier et développe des briques internes lorsque les besoins l’exigent.
  • La documentation est devenue un actif stratégique double : utile aux équipes et exploitable par les systèmes d’assistance augmentés par l’IA.
  • La supervision post-déploiement par l’IA permet de détecter les anomalies plus tôt et de protéger la continuité de service.
  • Les tâches mobilisant une expertise métier approfondie, des arbitrages d’architecture ou des contraintes réglementaires restent sous contrôle exclusif des développeuses et des développeurs.

De la compréhension à la livraison : l'IA au service de la qualité logicielle

Chez Berger‑Levrault, l’évolution d’un logiciel suit une démarche structurée en six étapes. Cette démarche permet de garder un haut niveau d’exigence technique, tout en intégrant l’IA de façon progressive et maîtrisée :

  1. Définir le besoin, qu’il s’agisse d’une nouvelle fonctionnalité ou d’une évolution d’un existant.
  2. Localiser précisément les zones applicatives concernées.
  3. Implémenter un code robuste, lisible et maintenable.
  4. Tester pour éviter les régressions et préserver la fiabilité.
  5. Documenter pour accélérer les évolutions futures et le support.
  6. Livrer et superviser pour garantir la continuité de service.

À chaque étape, l’IA agit comme un levier d’assistance. La décision et la validation finales restent humaines

Comment l'IA aide à mieux définir un besoin ?

Lorsquʼun besoin est exprimé par un client, lʼIA vient dʼabord en appui des équipes produit, métier et développement. Son rôle ne se limite pas à relire une demande. Elle contribue à clarifier le périmètre, à identifier les implicites, à faire émerger les dépendances et à proposer une première structuration en sous‑tâches cohérentes.

Concrètement, cela se traduit par :

  1. une meilleure compréhension du besoin fonctionnel ;
  2. une priorisation plus fine des évolutions ;
  3. une réduction des ambiguïtés en amont du développement.

Berger‑Levrault ne se contente pas dʼutiliser des solutions IA du marché. Nous les adaptons à nos contextes métier et, lorsque nécessaire, nous développons aussi des briques internes. Cʼest notamment le cas pour lʼanalyse de tickets, qui sʼappuie sur la documentation, lʼhistorique dʼincidents et la connaissance des applications pour orienter plus rapidement le diagnostic.

Localiser les modifications à apporter

La localisation des modifications est une étape critique. Dans un système logiciel mature, une demande apparemment simple peut impacter plusieurs composants, parfois éloignés fonctionnellement. L’IA permet d’accélérer cette phase d’investigation en repérant les modules concernés, les dépendances techniques et les effets de bord potentiels.

Cette assistance réduit le risque de modifications incomplètes ou mal ciblées. Elle aide également à sécuriser l’analyse d’impact avant développement, ce qui améliore la qualité globale des livraisons.

Au-delà de l’ajout de fonctionnalités, l’IA contribue aussi à repérer des opportunités de refactoring. L’objectif est clair : améliorer la lisibilité, réduire la complexité et renforcer la maintenabilité, sans modifier le comportement attendu du logiciel. Nous combinons IA, méthodes d’analyse éprouvées et expertise humaine. Cette approche hybride est essentielle pour couvrir des cas variés, y compris les plus sensibles sur le plan fonctionnel ou réglementaire.

Implémenter le code de manière efficace

Une fois le périmètre défini, l’IA accompagne l’implémentation. Selon les cas, elle peut suggérer du code, proposer des alternatives de conception, générer des tests unitaires de base ou assister la refactorisation.

Nous utilisons également des approches agentiques sur des tâches ciblées. Dans ce cadre, l’IA peut enchaîner plusieurs actions techniques sous supervision, dans un périmètre explicitement borné.

Le principe de gouvernance reste constant : l’humain pilote, l’IA assiste, et l’humain valide.

Certaines tâches critiques restent sous contrôle exclusif des développeuses et des développeurs, en particulier lorsqu’elles mobilisent une expertise métier approfondie, des arbitrages d’architecture ou des contraintes fortes de conformité.

Tester pour éviter les régressions futures

Lʼaccélération apportée par lʼIA nʼa de valeur que si elle sʼaccompagne dʼun maintien, voire dʼun renforcement, du niveau de qualité. Les tests automatisés et les validations ciblées restent donc un pilier de notre démarche.

Dans cette phase, lʼIA complète des pratiques dʼingénierie déjà établies : elle aide à proposer des scénarios de test supplémentaires, à détecter des cas limites et à identifier des zones de fragilité qui auraient pu rester invisibles dans une approche classique.

Nous utilisons en parallèle des méthodes et outils scientifiques éprouvés pour consolider les périmètres fonctionnels des logiciels existants comme des nouveaux développements. LʼIA vient enrichir cet ensemble, sans le remplacer.

Documenter pour les futurs usages

La documentation est devenue un actif stratégique de la qualité logicielle. Hier, elle servait surtout aux développeuses et développeurs ainsi qu’au support. Aujourdʼhui, elle sert aussi de socle de connaissance pour les outils dʼassistance augmentés par lʼIA.

Plus la documentation est structurée, précise et à jour, plus lʼassistance est pertinente. Ce lien direct entre qualité documentaire et qualité dʼexécution change profondément la manière de produire et maintenir les logiciels.

Nos pratiques évoluent donc vers une documentation à double usage :

  • lisible et utile pour les équipes ;
  • exploitable par les systèmes dʼassistance.

LʼIA peut contribuer à générer des brouillons de documentation. Ces contenus sont ensuite relus, corrigés et validés par les équipes afin de garantir exactitude et cohérence métier.

Comment superviser les déploiements pour garantir la continuité de service ?

La livraison ne marque pas la fin du cycle, mais le début de la phase dʼobservation en conditions réelles. Les outils dʼIA soutiennent cette étape en aidant à analyser les signaux techniques issus des déploiements et de lʼexploitation.

Ils permettent notamment :

  1. dʼidentifier plus rapidement des anomalies ;
  2. de prioriser les alertes selon leur criticité ;
  3. dʼaccélérer la compréhension des erreurs et avertissements ;
  4. de proposer des pistes de remédiation.

Cette logique de supervision active renforce la continuité de service. Elle permet dʼagir plus tôt, avant quʼun incident ne dégrade lʼexpérience utilisateur.

 

Conclusion

LʼIA appliquée au génie logiciel est déjà une réalité opérationnelle chez Berger‑Levrault. Nous lʼintégrons avec méthode, dans un cadre exigeant, pour produire des logiciels plus fiables, plus performants et plus durables.

Cette transformation repose sur une conviction simple : la valeur ne vient pas de lʼautomatisation seule, mais de la combinaison entre expertise humaine, ingénierie rigoureuse et assistance intelligente.

Nous poursuivons cette trajectoire avec des garde‑fous explicites : supervision humaine, maîtrise des périmètres dʼautonomie, traçabilité des actions et amélioration continue.

Dans cette perspective, lʼIA nʼest pas une délégation aveugle. Cʼest un levier dʼexcellence opérationnelle au service de nos clients, de nos équipes et de la durabilité de nos logiciels.

Vous souhaitez en savoir plus sur nos travaux en génie logiciel et IA ?

Explorez les publications et projets de recherche de la DRIT sur BL research

Explorer le site web BL Research