Vos applications Delphi, migrées vers le web
Delphi a été un choix courant pour les logiciels de gestion des années 1990 et 2000, et beaucoup de ces programmes servent encore tous les jours, souvent avec des tables Paradox ou dBase lues via le BDE. Nous les migrons vers des applications web sur une base SQL, avec les mêmes données et les mêmes règles, pour que vous n'ayez plus besoin de postes configurés au détail près pour les faire tourner.
Pourquoi maintenant
Embarcadero, qui édite Delphi aujourd'hui, a déprécié le Borland Database Engine. Sa documentation indique que le BDE ne sera plus amélioré, qu'il ne prendra jamais en charge Unicode et qu'il ne doit pas servir à de nouveaux développements, et elle conseille de passer à FireDAC. La plupart des anciens programmes Delphi lisent et écrivent pourtant encore leurs tables Paradox ou dBase par son intermédiaire.
Le BDE a été conçu pour Windows 32 bits et pour le partage de fichiers sur un réseau local. Des tables Paradox sur un lecteur partagé dépendent de fichiers de verrouillage et de paramètres BDE qui doivent être identiques sur chaque poste, et quand un poste est mal réglé, tables et index peuvent être endommagés. Chaque nouveau poste, et chaque passage à une nouvelle version de Windows, est une installation de plus à configurer à la main.
- Windows 10Fin du support Microsoft
Ce que nous migrons
Le programme et les fichiers de données dont il dépend, quel que soit leur état.
Fiches et contrôles orientés données
Fiches issues des fichiers .dfm avec
TDBGrid,TDBEdit,TDBLookupComboBoxet présentations maître-détail. Elles deviennent des pages web avec les mêmes champs et le même enchaînement de travail.Données Paradox, dBase et InterBase
Tables lues via le BDE, ou bases comme InterBase, Firebird, SQL Server et Oracle. Nous transférons les données vers SQL Server ou MySQL en conservant clés, index et relations.
Modules de données et logique métier
Code des unités
TDataModule, des événements de datasets commeBeforePostetOnCalcFields, et des champs calculés ou de référence. Nous regroupons ces règles dans des services côté serveur.États
Mises en page QuickReport, ReportBuilder, Rave Reports ou FastReport, y compris celles qui contiennent du code dans leurs événements. Elles deviennent des documents PDF au contenu identique.
Composants tiers
Grilles, éditeurs et utilitaires de bibliothèques comme DevExpress, TMS, InfoPower ou RxLib, souvent liés à une seule version de Delphi. Nous vérifions quelles fonctions le programme utilise réellement.
Imports, exports et tâches planifiées
Échanges de fichiers texte et CSV avec d'autres systèmes, exports pour l'expert-comptable, programmes lancés par le Planificateur de tâches Windows. Ils deviennent des tâches planifiées sur le serveur.
À quoi ressemble la version web
- Tableau de bord
- Articles1 284
- Mouvements
- Fournisseurs
- États
| Câble H07V-K 1,5 mm², bleuEL-10215 · A-03-2 | 1 850 m | |
| Disjoncteur C16 1P+NEL-20431 · B-01-4 | 46 pce | Sous le min. |
| Boîte de dérivation 100×100EL-30112 · B-02-1 | 312 pce | |
| Dalle LED 60×60, 36 WEL-40877 · C-05-3 | 18 pce | Sous le min. |
| Interrupteur différentiel 40 AEL-20455 · B-01-5 | 27 pce | |
| Gaine ICTA 20 mm, griseEL-50310 · A-07-1 | 940 m | |
| Prise de courant 16 AEL-60204 · B-03-2 | 9 pce | Sous le min. |
| Code | Désignation | Empl. | Stock | Min. | Unité |
|---|---|---|---|---|---|
| EL-10215 | Câble H07V-K 1,5 mm², bleu | A-03-2 | 1 850 | 500 | m |
| EL-20431 | Disjoncteur C16 1P+N | B-01-4 | 46 | 60 | pce |
| EL-30112 | Boîte de dérivation 100×100 | B-02-1 | 312 | 100 | pce |
| EL-40877 | Dalle LED 60×60, 36 W | C-05-3 | 18 | 24 | pce |
| EL-20455 | Interrupteur différentiel 40 A | B-01-5 | 27 | 20 | pce |
| EL-50310 | Gaine ICTA 20 mm, grise | A-07-1 | 940 | 300 | m |
| EL-60204 | Prise de courant 16 A | B-03-2 | 9 | 40 | pce |
Un programme de gestion de stock tel qu'il pourrait se présenter en Delphi sous Windows XP, puis les mêmes données dans une application web.
Faites glisser la poignée, ou utilisez les flèches du clavier.
Ce que devient chaque élément
- Dans Delphi: Fiches (.dfm) et unités (.pas)
- Dans l'application web: Pages web, avec la logique sur le serveur
- Dans Delphi: Tables Paradox ou dBase via le BDE
- Dans l'application web: SQL Server ou MySQL, avec clés et relations
- Dans Delphi: Champs calculés et de référence
- Dans l'application web: Calculs et jointures dans la base ou les services
- Dans Delphi: Alias et paramètres BDE sur chaque poste
- Dans l'application web: Une seule connexion, configurée sur le serveur
- Dans Delphi: Mises en page QuickReport ou FastReport
- Dans l'application web: Documents PDF produits par le serveur
- Dans Delphi: Un lecteur réseau partagé par tous
- Dans l'application web: Accès simultanés gérés par la base de données
Comment se déroule la migration
Analyse sous 48 heures
Vous nous envoyez le programme avec son dossier de données (fichiers Paradox ou dBase, ou une sauvegarde de la base), ainsi que le code source (.dpr, .pas, .dfm) si vous l'avez. Sous 48 heures, nous vous répondons par un rapport écrit : ce que fait le programme aujourd'hui, où se situent les risques, comment s'organiserait la version web, un prix ferme pour un module pilote et une estimation pour le reste. L'analyse est gratuite et ne vous engage à rien.
Module pilote
Nous réalisons une partie de l'application sur une copie de vos données réelles, en général celle que vos équipes utilisent le plus. Elles s'en servent au quotidien avant que vous décidiez de la suite.
Tests automatisés ancien contre nouveau
Nous faisons passer les mêmes enregistrements par le programme Delphi et par la nouvelle application, et comparons niveaux de stock, totaux et documents imprimés. Chaque règle identifiée fait l'objet d'un test automatisé qui fournit les mêmes entrées à l'ancien programme et à la nouvelle application, puis vérifie que les résultats concordent. Vous recevez les résultats des tests.
30 jours en parallèle
Une fois l'application complète livrée, le programme Delphi reste en service à ses côtés pendant 30 jours. Toute différence apparaît tant que l'ancien programme est encore là, et nous la corrigeons dans le cadre du prix convenu.
Les pièges habituels, et comment nous les traitons
Le comportement du BDE et de Paradox
Les tables Paradox reposent sur des fichiers de verrouillage, sur un fichier de contrôle réseau partagé (
PDOXUSRS.NET) et sur des paramètres BDE commeLOCAL SHAREqui doivent être identiques sur chaque poste. Les index endommagés et les erreurs « Table is busy » sont fréquents. Avant la migration, nous réparons ce qui peut l'être et vous signalons les enregistrements illisibles.Encodage des caractères
Le BDE stocke le texte dans une page de codes définie par le pilote de langue de la table, alors que Delphi 2009 et les versions suivantes utilisent des chaînes Unicode. C'est sur les lettres accentuées et les symboles qu'une migration se trompe le plus souvent : nous vérifions l'encodage de chaque table et comparons avec vous des échantillons de texte converti.
Logique cachée dans les événements des datasets
Les règles placées dans
BeforePost,OnValidateouOnCalcFieldss'exécutent sans bruit à chaque enregistrement ou affichage, et passent facilement inaperçues si l'on ne regarde que les fiches. Nous recherchons chaque gestionnaire d'événement dans le code et listons les règles qu'il applique.Champs calculés et de référence
Des champs qui existent seulement dans le programme, pas dans les tables, apparaissent à l'écran et dans les états comme s'il s'agissait de données enregistrées. Nous les reproduisons sous forme de valeurs calculées et les vérifions par rapport aux originaux.
Composants sans code source
Certaines bibliothèques tierces ont été achetées sous forme d'unités compilées pour une seule version de Delphi. Si le programme s'en sert pour un calcul et pas seulement pour l'affichage, nous reconstituons son comportement à partir des résultats et le confirmons par les tests de comparaison.
Formats de dates et de nombres
Les champs date de Paradox et de dBase, les années à deux chiffres saisies il y a longtemps et les séparateurs décimaux qui dépendent des paramètres régionaux de Windows demandent un traitement explicite lors du passage à une base SQL. Nous listons les anomalies relevées pendant l'import et les résolvons avec vous.
Prix et paiement
Analyse
Gratuite
écrite, sous 48 heures
Module pilote
1 000–1 500 €
en général, réglé 50 % au démarrage et 50 % à la validation
L'analyse est gratuite. Si vous décidez de ne pas donner suite, vous gardez le rapport et ne devez rien.
Les prix sont fermes et convenus par écrit avant le démarrage. Si le périmètre change, nous vous envoyons un nouveau devis écrit et attendons votre accord avant de réaliser le travail supplémentaire.
Pour une migration complète, nous visons un prix inférieur de 40 à 60 % au devis habituel d'une agence. C'est possible parce que nous sommes un petit studio, sans locaux à payer ni équipe commerciale.
Prix hors TVA.
Une vraie migration, vérifiée par des tests
Northwind est la base d'exemple que Microsoft fournissait avec Access, pas l'un de nos clients. Nous en avons migré une copie publique vers SQLite et PostgreSQL, comparé chaque table et chaque requête à l'original par des tests automatisés, et construit une application web qui fonctionne sur le résultat. L'étude de cas donne les chiffres, le rapport d'équivalence détaille chaque contrôle.
Northwind est une base Access, mais nous suivons la même méthode pour Delphi : migrer, tester face à l'original, faire tourner les deux en parallèle.
Rapport d'équivalence (en anglais) · Aperçu cliquable et analyse d'exemple (démo)

Questions fréquentes
Notre programme Delphi utilise des tables Paradox sur un lecteur réseau. Pouvez-vous migrer les données ?
Oui. Nous lisons directement les fichiers Paradox ou dBase, les convertissons vers SQL Server ou MySQL et comparons nombres d'enregistrements et totaux avant et après. Les enregistrements endommagés vous sont signalés, pas supprimés en silence.
Ne pourrions-nous pas simplement passer à une version récente de Delphi ?
C'est une option, et pour certains programmes c'est la plus raisonnable : l'application reste un programme Windows, FireDAC remplace le BDE et le code est remis à niveau. Si vous avez besoin d'un accès depuis n'importe quel navigateur, sans rien installer sur les postes, une application web convient mieux. Quand les deux ont du sens, l'analyse les compare.
Nous n'avons pas le code source. Est-ce un problème ?
Pas forcément. Nous pouvons travailler à partir du programme en service, de ses fichiers de données et d'enregistrements de son utilisation. Avec le code source, l'analyse est plus précise, et là où des informations manquent, nous le disons.
Avec quelles versions de Delphi travaillez-vous ?
Avec des programmes écrits sous n'importe quelle version, des premières versions Borland des années 1990 jusqu'aux versions actuelles d'Embarcadero. La version compte surtout pour la gestion des chaînes et les composants disponibles, et nous l'indiquons dans l'analyse.
L'application web peut-elle continuer à utiliser notre base Firebird ou InterBase ?
Oui, si d'autres programmes en dépendent encore. L'application web se connecte alors à la même base, et un changement de base peut intervenir plus tard, ou jamais.
Que se passe-t-il pendant les 30 jours de fonctionnement en parallèle ?
Vos équipes gardent le programme Delphi sous la main tout en travaillant dans la nouvelle application, pour comparer les résultats sur des cas réels. Toute différence constatée pendant cette période est corrigée dans le cadre du prix convenu.
Nos autres services
- Microsoft Access vers application webTables, requêtes, formulaires, états et VBA repris dans une application web sur SQL Server ou MySQL.
- Excel VBA vers application webClasseurs avec macros, UserForms et feuilles liées transformés en application web multi-utilisateur.
- Migration d'applications VB6Programmes Visual Basic 6 portés en C# et sur le web, avec ou sans le code source.
- Modernisation .NET (WinForms, WebForms)Applications WinForms et ASP.NET Web Forms portées vers ASP.NET Core, en gardant ce qui fonctionne.
- Logiciels sur mesure et intégrationsNouvelles applications métier, intégrations par API REST, migration de données et maintenance.
Contact
Par e‑mail :
riccardo@Envoyez-nous le programme et son dossier de données, avec des données fictives si vous préférez, ou une courte description de ce qu'il fait. Nous vous répondons sous un jour ouvré.
Nous travaillons depuis l'Italie.