Technique, publié le , 7 min de lecture
Moderniser un logiciel WinDev sans perdre ses données
Comment faire évoluer une application WinDev vers le web étape par étape, en récupérant la base HFSQL et les règles métier, sans arrêter l’activité.
Beaucoup d’entreprises font tourner leur gestion sur une application WinDev développée il y a dix ou vingt ans. Elle connaît par cœur vos tarifs, vos clients et vos exceptions. Le problème n’est pas qu’elle fonctionne mal : c’est qu’elle devient difficile à installer, à faire évoluer et à utiliser hors du bureau.
Voici comment la moderniser sans perdre ce qu’elle contient.
Les signes qu’il est temps d’agir
- Les nouveaux postes posent problème à l’installation.
- Le télétravail ou les équipes terrain ont besoin d’un accès à distance.
- Chaque modification prend des semaines, ou plus personne ne sait la faire.
- Les sauvegardes de la base HFSQL ne sont pas vérifiées.
- L’application doit échanger avec d’autres logiciels (comptabilité, boutique en ligne, facturation électronique) et ne sait pas le faire.
Ce qu’il faut absolument préserver
Une vieille application vaut surtout par deux choses.
Les données. Clients, articles, historiques de ventes, contrats : souvent des années d’informations que rien d’autre ne contient.
Les règles métier. Un calcul de prix, une remise particulière, un contrôle à la saisie. Elles sont rarement documentées : elles vivent dans le code. Les perdre lors d’une réécriture est le risque principal d’un projet de modernisation.
Étape 1 : faire l’inventaire
Avant d’écrire une ligne de code neuf, on relève :
- les fenêtres et états réellement utilisés (beaucoup ne le sont plus) ;
- les tables de la base, leur volume et leurs relations ;
- les traitements automatiques : imports, exports, calculs de fin de mois ;
- les règles de calcul, en lisant le code et en interrogeant les utilisateurs.
Cet inventaire devient la référence du projet. Il sert aussi de documentation, ce qui manquait souvent.
Étape 2 : sécuriser les données
On met en place une sauvegarde vérifiée de la base, puis on écrit les scripts qui extraient les données HFSQL vers une base standard (PostgreSQL ou MySQL). On en profite pour repérer les doublons, les champs vides et les incohérences, qu’on corrige avec vous.
Les scripts sont rejouables : on peut relancer l’extraction autant de fois que nécessaire, jusqu’à la bascule finale.
Étape 3 : choisir la stratégie
| Stratégie | Principe | Quand la choisir |
|---|---|---|
| Maintenir | On garde WinDev, on corrige et on documente | Les besoins sont stables, l’urgence est faible |
| Ouvrir | On ajoute une API ou une base partagée | Il faut connecter l’application à d’autres outils |
| Migrer par étapes | On réécrit module par module en application web | L’application doit évoluer ou être accessible à distance |
La migration par étapes est souvent la plus sûre : l’ancienne application et la nouvelle cohabitent, reliées à des données synchronisées. On bascule un module quand il est validé, pas tout le logiciel d’un coup.
Étape 4 : réécrire et tester sur des cas réels
Chaque module réécrit est testé avec les mêmes données que l’ancien. Pour les calculs sensibles (prix, factures, commissions), on compare les résultats des deux versions sur des cas réels : tant qu’ils diffèrent, le module n’est pas validé.
Étape 5 : basculer
Le jour de la bascule, on relance une dernière extraction, on vérifie les totaux (nombre de clients, chiffre d’affaires par année, encours) et on ouvre la nouvelle application. L’ancienne reste accessible en lecture pendant quelques semaines, pour consultation.
Combien de temps et quel budget ?
Cela dépend du nombre de modules, du volume de données et des connexions à prévoir. Le simulateur de budget donne une première fourchette ; un diagnostic technique permet ensuite de chiffrer chaque étape.
En résumé
- Inventorier ce qui est réellement utilisé.
- Extraire et nettoyer les données avec des scripts rejouables.
- Choisir entre maintenir, ouvrir et migrer par étapes.
- Tester chaque module sur des cas réels, en comparant avec l’ancien.
- Basculer module par module, en gardant l’ancien en lecture.
Nous reprenons et modernisons des applications WinDev et Delphi. Si la vôtre est concernée, demandez un diagnostic.