Génération de code automatique

Génération de code automatique | SiteEnMain.fr

Génération de code automatique : quand la pression métier impose l’innovation technique

Imaginez-vous en 2017, développeur sur un projet critique de gestion des garanties financières chez BNP Paribas. Vous êtes deux développeurs pour accompagner six Business Analysts hyperactifs. Chaque modification métier déclenche des heures de développement manuel.

Les allers-retours se multiplient, les règles évoluent quotidiennement et la direction s’impatiente. Dans ce contexte, nous avons été contraints d’innover.

Et si je vous disais qu’en centralisant toutes les règles métier dans un simple fichier Excel, nous avons réussi à automatiser la génération complète d’interfaces Angular, de modèles de données et de flux de réconciliation ?

Voici l’étude de cas complète de cette transformation technique qui a littéralement sauvé notre projet.

Quand deux développeurs doivent suivre six Business Analysts

Le contexte

En 2017, chez BNP Paribas, notre équipe travaillait sur la digitalisation de la gestion des “received guarantees” : un projet stratégique à fort enjeu réglementaire.

  • 2 développeurs techniques (dont moi-même)
  • 6 Business Analysts
  • 1 Tech Lead (Amah, mon mentor de l’époque)
  • Des délais extrêmement serrés

Les défis rencontrés

  • Multiplicité des interlocuteurs : chaque BA avait ses propres fichiers et règles.
  • Allers-retours incessants : spécifications, corrections, recettages, revalidations…
  • Risque d’abandon du projet : la complexité prenait le dessus sur la productivité.

L’erreur classique : vouloir tout gérer manuellement

Documentation Word exhaustive

Problème : documents de 50 pages que personne ne lit.
Conséquence : spécifications rapidement obsolètes.
Impact : développements basés sur des informations périmées.

Réunions de synchronisation excessives

Problème : jusqu’à 3h de réunion par jour.
Conséquence : plus de coordination que de développement.
Impact : productivité en chute libre.

Développement au cas par cas

Problème : chaque changement implique une réécriture manuelle.
Conséquence : duplication, bugs, dette technique croissante.

Le déclic : « Et si on automatisait tout ? »

Lors d’une réunion de crise, Amah – notre Tech Lead – pose une question simple :

« Au lieu de subir les changements métier, et si on créait un système capable de s’adapter automatiquement ? »

La solution technique : le “5D” — notre Domain Driven Design maison

L’idée était radicale : centraliser toutes les règles métier dans un fichier Excel unique que les Business Analysts pouvaient mettre à jour.

Ce fichier devenait la source de vérité à partir de laquelle nous générions automatiquement :

  • Les écrans Angular
  • Les modèles de données
  • Les flux d’intégration et de réconciliation

L’architecture mise en place

L’automatisation reposait sur une chaîne d’outils légère mais redoutablement efficace :

  • Yeoman : génération d’architecture projet
  • Jenkins : automatisation CI/CD
  • Angular : génération des interfaces
Architecture du système 5D

Les résultats concrets

Impact organisationnel

  • Les Business Analysts se concentrent sur la logique métier
  • Les développeurs gagnent du temps sur la maintenance
  • Vitesse d’exécution et clarté retrouvées

Impact technique

  • Génération automatique des composants Angular
  • Modèles de données synchronisés
  • Flux d’entrée standardisés
Exemple concret : un BA déclare « il manque 5 champs critiques ». Réponse de l’équipe : « on vous les livre demain ».

Les leçons apprises

Ce que nous appelions avec humour notre “DDD maison” n’était rien d’autre qu’une industrialisation orientée business.

  • Partir des outils que le métier maîtrise déjà
  • Automatiser la génération plutôt que la maintenance
  • Créer une source de vérité unique

Un simple fichier Excel bien pensé peut réellement sauver un projet.

Envie d’en savoir plus sur nos approches d’automatisation ?

Découvrez comment nous appliquons aujourd’hui ces principes à la génération de code moderne, au DevSecOps et aux architectures réactives.

Discutons-en →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *