Comment reprendre une application métier sans documentation ?

Une application métier peut fonctionner depuis des années tout en étant très peu documentée.

C’est une situation fréquente : le logiciel a évolué par petites touches, plusieurs développeurs sont intervenus, certaines règles ont été ajoutées directement dans le code, et la connaissance du fonctionnement repose parfois sur une seule personne.

Lorsque cette personne ou le prestataire historique n’est plus disponible, la reprise peut sembler risquée.

Pourtant, reprendre une application métier sans documentation est possible, à condition de procéder progressivement et de reconstruire la connaissance de l’existant de manière structurée.

Pourquoi une application peut-elle fonctionner sans documentation ?

Dans beaucoup de projets, la documentation est créée au début puis n’est plus maintenue au même rythme que le logiciel.

Au fil des années :

  • de nouvelles fonctionnalités sont ajoutées
  • des règles métier évoluent
  • des interfaces externes apparaissent
  • les bases de données changent
  • des traitements sont automatisés
  • certains écrans deviennent critiques
  • des corrections sont apportées dans l’urgence

Le logiciel continue donc d’évoluer alors que la documentation reste partielle.

Le véritable problème apparaît lorsqu’il faut transmettre la maintenance à une nouvelle équipe.

Faut-il documenter toute l’application avant de commencer ?

Non.

C’est généralement irréaliste et souvent inutile.

La bonne approche consiste plutôt à documenter en priorité ce qui est nécessaire pour intervenir sans risque.

Il faut commencer par identifier :

  1. les fonctions indispensables au fonctionnement quotidien
  2. les traitements qui ont un impact financier ou réglementaire
  3. les zones techniques fragiles
  4. les échanges avec d’autres logiciels
  5. les données critiques
  6. les personnes qui connaissent encore les règles métier

La documentation se reconstruit ensuite progressivement, au fur et à mesure des interventions.

Par quoi commencer lors d’une reprise ?

La première étape est de dresser un état des lieux.

Il faut comprendre :

  • où se trouvent les sources
  • comment l’application est déployée
  • quelles technologies sont utilisées
  • où se trouve la base de données
  • comment les sauvegardes sont réalisées
  • quels services externes sont appelés
  • quelles tâches s’exécutent automatiquement
  • quels utilisateurs dépendent de quelles fonctions

Même lorsque la documentation est absente, une partie de ces informations peut être retrouvée dans :

  • le code source
  • la structure de la base
  • les fichiers de configuration
  • les scripts
  • les journaux applicatifs
  • les serveurs
  • les procédures internes
  • les échanges avec les utilisateurs

Le code source suffit-il à comprendre l’application ?

Non.

Le code donne des informations essentielles, mais il ne permet pas toujours de comprendre pourquoi certaines règles existent.

Par exemple, un calcul peut sembler étrange techniquement mais répondre à une contrainte métier historique.

C’est pourquoi la reprise doit associer :

  • analyse technique
  • échanges avec les utilisateurs
  • observation des parcours réels
  • étude des données
  • analyse des incidents passés

La connaissance métier est souvent aussi importante que la connaissance technique.

Comment identifier les fonctions critiques ?

Une bonne méthode consiste à demander aux utilisateurs :

“Quelles sont les fonctions qui, si elles ne fonctionnent plus demain matin, bloquent votre activité ?”

Les réponses permettent rapidement de distinguer :

  • les fonctions critiques
  • les fonctions importantes
  • les fonctions secondaires

Il devient alors possible de concentrer la reprise sur les zones les plus sensibles.

Cela évite de perdre du temps à documenter des fonctionnalités rarement utilisées avant d’avoir sécurisé le cœur de l’application.

Comment sécuriser l’application pendant la reprise ?

La reprise ne doit pas perturber l’exploitation.

Il est donc important de mettre en place rapidement :

  • une copie sécurisée des sources
  • un environnement de développement distinct
  • un environnement de test si possible
  • des procédures de sauvegarde
  • un historique des modifications
  • une méthode de mise en production
  • un suivi des incidents

L’objectif est de pouvoir intervenir sans augmenter le risque opérationnel.

Peut-on commencer la maintenance avant d’avoir tout compris ?

Oui, mais avec prudence.

Les premières interventions doivent idéalement porter sur :

  • des corrections bien identifiées
  • des zones dont le comportement est compris
  • des évolutions limitées
  • des incidents reproductibles

Chaque intervention devient alors aussi une occasion de documenter une partie supplémentaire de l’application.

La connaissance se construit progressivement.

Quelle documentation reconstruire en priorité ?

Il n’est pas nécessaire de produire immédiatement des centaines de pages.

Les documents les plus utiles sont généralement :

  • schéma d’architecture
  • liste des applications et composants
  • accès aux environnements
  • structure des bases de données
  • liste des interfaces externes
  • traitements planifiés
  • procédure de déploiement
  • fonctions métier critiques
  • contacts utilisateurs référents
  • historique des incidents importants

Cette documentation doit rester vivante et être mise à jour au fil des évolutions.

Et si l’application utilise plusieurs technologies ?

C’est fréquent.

Une application métier historique peut combiner :

  • client lourd
  • application Web
  • application mobile
  • base SQL
  • fichiers
  • Webservices
  • API
  • impressions
  • traitements batch
  • connecteurs avec des outils tiers

Dans ce cas, la reprise doit être menée avec une vision d’ensemble.

Se concentrer uniquement sur l’interface principale peut masquer des dépendances importantes.

Faut-il profiter de la reprise pour moderniser immédiatement ?

Pas forcément.

La modernisation peut être une étape suivante.

La priorité est souvent :

comprendre → sécuriser → maintenir → moderniser

Une fois l’existant maîtrisé, il devient plus simple d’évaluer objectivement :

  • ce qui peut être conservé
  • ce qui doit être refactoré
  • ce qui doit être remplacé
  • ce qui peut être migré progressivement

Cette approche évite de lancer une réécriture globale sans connaissance suffisante du métier.

Combien de temps faut-il pour reprendre une application peu documentée ?

Cela dépend principalement de :

  • la taille du logiciel
  • son ancienneté
  • le nombre de modules
  • la complexité métier
  • le nombre d’interfaces
  • la qualité du code
  • la disponibilité des utilisateurs référents
  • la criticité de l’application

Une petite application peut être comprise rapidement.

Un logiciel métier utilisé depuis dix ou quinze ans peut nécessiter une phase de reprise beaucoup plus structurée.

Le plus important est de ne pas chercher à tout comprendre avant d’agir, mais de progresser par priorités.

Quels sont les principaux risques ?

Les risques les plus fréquents sont :

  • modifier une règle métier mal comprise
  • casser une interface avec un autre système
  • perdre une procédure de déploiement
  • ignorer un traitement automatique
  • sous-estimer une dépendance à la base de données
  • intervenir directement en production sans environnement de test

Une reprise méthodique permet justement de réduire progressivement ces risques.

ENNOVSYS peut-il reprendre une application peu documentée ?

Oui.

ENNOVSYS intervient sur des applications métiers existantes, y compris lorsqu’elles ont été développées par un autre prestataire ou lorsqu’une partie de la documentation est manquante.

Notre approche consiste à reconstruire progressivement la connaissance technique et métier, sécuriser les fonctions critiques, reprendre la maintenance puis accompagner les évolutions.

Pour aller plus loin :

Reprise d’application WinDev
https://reprise-windev.ennovsys.fr/

Maintenance WinDev
https://maintenance-windev.ennovsys.fr/

TMA / Maintenance applicative
https://maintenance-application.ennovsys.fr/

Toutes les expertises ENNOVSYS
https://expertises.ennovsys.fr/

‍