SFEIR

HFSQL vers PostgreSQL : migrer les données d'une application WinDev sans perte

HFSQL vers PostgreSQL : migrer les données d'une application WinDev sans perte

Une base HFSQL migrée vers PostgreSQL peut afficher le bon nombre de lignes dans chaque table et contenir de mauvaises données : factures sans client, doublons que l'ancien moteur tolérait, dates vides. Voici notre méthode, de l'analyse du schéma à la bascule, en passant par une étape que beaucoup sautent : faire tourner WinDev sur PostgreSQL pendant la réécriture. Ce chantier s'inscrit dans notre guide complet de la migration WinDev.

Pourquoi PostgreSQL

PostgreSQL est libre, sans redevance, accessible depuis tous les langages, les ETL et les outils de BI. Son modèle de concurrence (MVCC) évite que les lectures bloquent les écritures. Et tous les clouds l'opèrent en service managé : sur Google Cloud, Cloud SQL pour PostgreSQL couvre la plupart des applications de gestion, AlloyDB prend le relais quand le workload analytique ou transactionnel le justifie.

Étape 1 : extraire et transposer le schéma

L'éditeur d'analyses de WinDev génère le script SQL de création des tables. C'est un point de départ : la transposition demande des décisions explicites, type par type. Voici la correspondance que nous recommandons.

Type HFSQLCible PostgreSQLPoint de vigilance
Chaîne, chaîne Unicodevarchar(n) ou textEncodage ANSI ou Unicode selon les fichiers
Numérique, monétairenumeric(p,s)Jamais de flottant pour des montants
Date, heure, date-heuredate, time, timestampDates vides ou 00000000 à interpréter
BooléenbooleanValeurs historiques parfois stockées en entier
Mémo textetextTaille, encodage
Mémo binairebytea ou stockage objetVolume, externalisation possible
Identifiant automatiquebigint generated always as identityRecaler les séquences après import

Étape 2 : rendre explicite ce qui était implicite

La plupart des migrations simplifiées échouent sur ce point. Dans beaucoup d'applications WinDev, les clés étrangères ne figurent pas dans la base : le code garantit, plus ou moins, la cohérence. Sealog le résume : les clés primaires et étrangères de HFSQL sont « parfois implicites ou gérées de façon non stricte par l'application »1. Nous les déclarons dans PostgreSQL.

Conséquence directe : la première migration à blanc fait remonter des orphelins (lignes de facture sans facture, règlements sans client), des doublons sur des index que HFSQL tolérait, des valeurs hors domaine. Chaque anomalie appelle une décision : corriger, archiver ou tolérer avec une contrainte différée. Le métier prend ces décisions ; le script les applique.

Étape 3 : nettoyer avant de migrer, pas après

Nous traitons le nettoyage comme un livrable : une liste d'anomalies par table, avec la règle appliquée et sa validation. Un agent classe les anomalies et propose des règles de correction ; le responsable métier choisit celles qui s'appliquent.

Étape 4 : migrations à blanc et rapports de conformité

Chaque migration à blanc se fait sur une copie, la base d'origine restant en lecture seule. Elle produit un rapport de conformité à quatre niveaux :

  • volumétrie : nombre de lignes par table, source et cible ;
  • intégrité : clés, relations, unicité ;
  • contenu : sommes de contrôle par colonne, échantillons comparés ;
  • sens métier : totaux de factures, soldes clients, quantités en stock, recalculés des deux côtés.

Nous validons la migration quand les chiffres tombent juste, au centime. Nous répétons les migrations à blanc jusqu'à obtenir deux rapports de conformité consécutifs sans écart ; la durée de la dernière fixe la fenêtre de bascule.

Étape 5 : la phase transitoire, WinDev sur PostgreSQL

Les accès natifs permettent à une application WinDev de travailler sur PostgreSQL avec des instructions proches de celles utilisées pour HFSQL. Sealog recommande cette étape intermédiaire1 ; nous la pratiquons : l'application existante tourne sur la nouvelle base pendant que la nouvelle application se construit.

Vous sortez d'HFSQL sans attendre la réécriture ; les deux applications partagent la même base pendant la cohabitation ; le golden master compare des écritures dans le même moteur. Point de vigilance : le SQL écrit à la main dans l'application, dont la syntaxe propre à HFSQL reste partiellement incompatible.

Étape 6 : la bascule

Pour une base en production active : migration initiale, puis synchronisation des deltas jusqu'à la bascule applicative. Nous écrivons et testons la procédure de retour arrière avant le jour J.

Pipeline de migration HFSQL vers PostgreSQL en six étapes (schéma, clés explicites, nettoyage, migrations à blanc, phase transitoire WinDev sur PostgreSQL, bascule), avec le rapport de conformité à quatre niveaux produit par chaque migration à blanc (volumétrie, intégrité, contenu, sens métier) et les règles de la phase transitoire. HFSQL VERS POSTGRESQL : SIX ÉTAPES de l'analyse du schéma à la bascule HFSQL POSTGRESQL 1 Schéma types explicites 2 Clés rendues explicites 3 Nettoyage anomalies tracées 4 Migrations à blanc, sur copie 5 WinDev sur PostgreSQL 6 Bascule deltas synchronisés RAPPORT DE CONFORMITÉ Volumétrie lignes par table, source et cible Intégrité clés, relations, unicité Contenu sommes de contrôle, échantillons Sens métier totaux, soldes, stocks recalculés répété jusqu'à deux rapports consécutifs sans écart PHASE TRANSITOIRE WinDev lit et écrit dans PostgreSQL par les accès natifs l'existant et la nouvelle application partagent la même base le golden master compare des écritures dans le même moteur base d'origine en lecture seule pendant les migrations à blanc retour arrière écrit et testé avant le jour J
Les six étapes de la migration HFSQL vers PostgreSQL : le rapport de conformité à quatre niveaux sort de chaque migration à blanc ; la phase transitoire fait tourner l'application WinDev existante sur la nouvelle base pendant la réécriture.

Outils et ordres de grandeur du marché

Le marché propose des outils et des prestations dédiés. BTBSofting vend UniDataTransfer, une licence perpétuelle pour un poste, 199,99 € HT (239,99 € TTC) au prix affiché sur son site en octobre 20262. Provence Cloud propose un audit de la base HFSQL dont le montant est déduit du prix de la migration si celle-ci est commandée dans les six mois suivant la remise du rapport ; la migration n'est pas facturée en cas d'échec selon les critères convenus, l'audit préalable restant dû (aucun tarif n'est affiché publiquement)3. Dev-Booster a développé un outil maison de migration HFSQL vers PostgreSQL, MySQL, MariaDB, Firebird et SQL Server4. Sealog écrit son outil de migration en WinDev, l'environnement qui connaît nativement HFSQL : « La solution la plus fiable reste de développer un outil de migration en WinDev lui-même »1. Ces offres couvrent la donnée. L'application et la décision sur les anomalies restent à votre charge.

Questions fréquentes

Peut-on migrer HFSQL Classic comme HFSQL Client/Serveur ?

Oui, la méthode est la même. Le Classic demande souvent plus de nettoyage, car il a rarement été contraint.

Combien de migrations à blanc prévoir ?

Autant qu'il en faut pour obtenir deux rapports de conformité consécutifs sans écart. En pratique, plusieurs.

Faut-il conserver la structure à l'identique ?

Pour la phase transitoire, oui, afin que WinDev continue de fonctionner. La refonte du modèle vient ensuite, module par module.

MySQL ou SQL Server sont-ils possibles ?

Oui. Nous recommandons PostgreSQL par défaut pour son ouverture et son support cloud.

Passer à l'action

La donnée est souvent le premier lot que nous traitons, car elle réduit la dépendance dès la bascule. Voir aussi le choix de la stack cible et la méthode globale pour réécrire une application WinDev avec l'IA. Point d'entrée : le Diagnostic 10x.

Sources

  1. Sealog, De WinDev à l'open source : comment l'IA a changé la donne — blogsealog.blogspot.com, 5 juillet 2026.
  2. BTBSofting, UniDataTransfer — unidatatransfer.btbsofting.fr.
  3. Provence Cloud, Migration HFSQL vers PostgreSQL, MariaDB, SQL Server — migrerdepuiswindev.provencecloud.com.
  4. Dev-Booster, Feuilleton de l'été, épisode 3 — dev-booster.com, 14 août 2026.

Sortir vos données d'HFSQL sans attendre la réécriture de l'application

Échanger avec SFEIR
SFEIR AI Auteur

Articles similaires

Migration WinDev : réécrire vos applications PC SOFT avec l'IA, sans big bang

Migration WinDev : réécrire vos applications PC SOFT avec l'IA, sans big bang

Une migration WinDev se joue sur deux chantiers : retrouver les règles métier enfouies dans vingt ans de fenêtres, puis prouver que la nouvelle application fait la même chose que l'ancienne. Méthode SFEIR en six étapes, stack cible, ordres de grandeur et grille rester, geler ou migrer.

WinDev vers Java, .NET, TypeScript ou Flutter : comment choisir sa stack cible

WinDev vers Java, .NET, TypeScript ou Flutter : comment choisir sa stack cible

Nous sommes sous Windows, donc .NET : le réflexe tombe parfois juste, mais il saute l'examen. SI existant, desktop imposé, mobile terrain, trajectoire SaaS, volumétrie : notre grille pour choisir entre Java/Spring + Angular, .NET, TypeScript et Flutter, avec PostgreSQL comme socle commun.

Tests de non-régression d'une migration WinDev : la méthode du golden master inversé

Tests de non-régression d'une migration WinDev : la méthode du golden master inversé

Une application migrée qui tourne ne prouve rien. Il faut montrer qu'elle produit les mêmes écritures, états et exports que l'application WinDev, bugs compris. Notre méthode : le LLM propose les entrées, WinDev seul produit les sorties, et le nouveau code est jugé contre ce golden master.

Migrer WinDev avec la Software Factory 10x : la méthode SFEIR en six étapes, de l'audit à la bascule

Migrer WinDev avec la Software Factory 10x : la méthode SFEIR en six étapes, de l'audit à la bascule

Six étapes, un livrable vérifiable au bout de chacune, trois gates tenues par des humains et l'exécution confiée aux agents Claude Code : comment SFEIR mène une migration WinDev sur son SDLC à onze phases, de l'audit du patrimoine à la bascule.