Net-Base Magazine

23.06.2026

Delphi Multiplateforme pour Windows, macOS et Linux : architecture, exploitation et pièges typiques

Delphi Multiplateforme, ce n'est pas seulement « un code, trois builds ». Cet article montre comment planifier de manière réaliste des objectifs Windows, macOS et Linux avec une architecture soignée, une exploitation fiable, l'accès aux données et des processus de release — y compris la migration d'applications existantes.

23.06.2026

Du thème du magazine à la pratique des projets

Pages de services et techniques pertinentes pour l'article

Lorsque, en entreprise, on parle de Delphi multiplateforme pour Windows, macOS et Linux, il s’agit rarement de « la technique pour la technique ». Le plus souvent, il y a une raison concrète : un logiciel métier hérité fonctionne de manière fiable sur Windows, mais les métiers réclament des clients macOS, les équipes IT souhaitent intégrer des services Linux aux standards serveurs existants, ou une modernisation est prévue sans réimplémenter l’intégralité du périmètre fonctionnel.

Delphi peut constituer, dans ce champ de tensions, un pont pragmatique — à condition que la multiplateforme soit abordée comme un enjeu d’exploitation et d’architecture. Les coûts réels ne se produisent pas lors du premier build, mais dans la maintenance, le processus de release, les mises à jour de sécurité, l’accès aux données, l’écosystème des pilotes, le packaging et le support. Cet article explique comment planifier la multiplateforme de manière réaliste, quelles décisions techniques se répercutent en exploitation et quels pièges apparaissent généralement tardivement dans les projets.

Pourquoi la multiplateforme est rarement « seulement une fonctionnalité » dans les entreprises

Dans la pratique, le besoin de multiplateforme résulte de trois facteurs typiques :

  • Terminaux hétérogènes : Windows est en place, macOS est introduit via la direction, les ventes, le design ou les échelons managériaux. Linux apparaît soit comme client de bureau dans des environnements spécialisés, soit comme standard serveur dans le centre de données.
  • Standardisation en exploitation : De nombreuses DSI souhaitent consolider les services sur Linux (monitoring, gestion des paquets, durcissement), même si les clients restent Windows.
  • Modernisation sans Big Bang : Les applications en place doivent être migrées pas à pas vers des couches maintenables, souvent en parallèle de projets bases de données et interfaces.

Il importe de distinguer : la multiplateforme côté client (application de bureau) est un sujet différent de la multiplateforme côté backend (services/REST). Dans le contexte B2B, une approche hybride est souvent pertinente : des clients Windows stables, mais côté serveur des services Linux et des API REST pour l’intégration, l’automatisation et les portails web.

Delphi multiplateforme pour Windows, macOS et Linux : ce que cela signifie concrètement

La multiplateforme dans Delphi n’est pas une baguette magique, mais une boîte à outils. Pour les équipes IT et d’exploitation, trois niveaux sont décisifs :

  • Couche UI : Sur Windows existe, dans de nombreuses entreprises, un univers VCL établi (interface Windows classique). Pour de véritables clients multiplateformes, FireMonkey (FMX) est souvent utilisé : il fournit la même interface sur différents systèmes d’exploitation — avec des particularités natives propres à chaque plateforme.
  • Logique métier : Le levier principal réside dans une logique commune, proprement encapsulée. Qui sépare la logique métier et l’accès aux données de l’UI peut changer de plateforme sans réinventer le produit.
  • Exécution et déploiement : Chaque plateforme impose des exigences différentes en matière d’installation, de droits, de signature, de mises à jour, de chemins, de certificats et de bibliothèques. C’est précisément ici que se décide si la multiplateforme est « facile » ou « coûteuse » au quotidien.

Pour les décideurs, la question centrale n’est donc pas « Kann Delphi macOS und Linux? », mais : quelles parties de notre solution doivent réellement être multiplateforme — et comment garantissons‑nous l’exploitation et la maintenabilité sur plusieurs années ?

Architecture : le plus grand multiplicateur des coûts de maintenance

Les projets multiplateformes échouent rarement à cause du compilateur, mais par manque de découplage. Dans les applications existantes, tout est souvent mélangé : événements UI, accès aux bases de données, logique métier, impression, système de fichiers, appels réseau. Cela fonctionne sur « le seul Windows-PC », mais devient un chantier permanent dès que vous étendez les plateformes ou externalisez des services.

Modèle en couches plutôt que « formulaire comme pivot »

Un modèle en couches clair (souvent appelé architecture en couches) est éprouvé :

  • Présentation : UI de bureau (VCL ou FMX) ou frontends Web.
  • Logique applicative et métier : règles, workflows, autorisations, validations ; idéalement sans dépendance directe à l’UI ou aux pilotes de base de données.
  • Couche d’intégration : connexion à ERP/DMS/CRM, interfaces de fichiers, messagerie, REST.
  • Accès aux données : accès consolidé via des frontières Repository/Service clairement définies, plutôt que du SQL répandu partout.

Cette séparation n’est pas un exercice académique : elle réduit les cas particuliers liés aux plateformes, facilite les tests, permet des composants côté serveur et rend les migrations de base de données (p. ex. vers PostgreSQL) nettement plus contrôlables.

Logique métier partagée : multiplateforme sans double développement

Si vous envisagez sérieusement le multiplateforme, la logique métier doit être conçue pour pouvoir s’exécuter aussi bien dans une application de bureau que dans un service. Ceci est particulièrement pertinent si vous ajoutez ultérieurement un portail client, une interface Web interne ou une intégration REST. En pratique, cela signifie : les décisions métier doivent appartenir aux services/modules, et non aux événements de clic d’une interface.

Stratégie UI : VCL conserver, FMX utiliser de façon ciblée, Web compléter

Beaucoup d’entreprises disposent d’une base Windows-Desktop solide. Une migration immédiate vers une nouvelle technologie UI est souvent inutilement risquée. Les stratégies viables typiques sont :

Stratégie A : Windows-Client reste VCL, le backend devient neutre vis-à-vis des plateformes

Ici, la logique cœur est progressivement extraite de l’application VCL : vers des bibliothèques et des composants côté serveur. Résultat : le client Windows reste stable, tandis que l’intégration, l’automatisation et les nouveaux frontends naissent via des services. Linux intervient alors via l’exploitation serveur (p. ex. serveur REST ou services d’arrière-plan).

Stratégie B : client multiplateforme avec FMX pour des scénarios définis

FMX est pertinent si vous avez réellement besoin du même client sur Windows et macOS, par exemple pour le personnel terrain, des postes mobiles ou des flottes mixtes. Important : les détails de l’UI (polices, raccourcis clavier, dialogues, sélecteurs de fichiers) diffèrent selon la plateforme. Cela doit être pris en compte dans les tests et le support.

Stratégie C : le desktop complété par un portail

De nombreuses entreprises ne traitent pas le sujet « macOS » en développant un client complet, mais par un portail pour des processus bien définis : demandes d’information, validations, état des commandes, documents. Cela soulage les déploiements desktop, réduit l’effort d’installation et est souvent plus rapide à durcir, car la couche Web centrale est plus facile à contrôler.

Accès aux données et bases de données : FireDAC comme facteur de stabilité opérationnelle

Dans les architectures multiplateformes, l’accès aux données est souvent le domaine où les dettes techniques historiques deviennent les plus coûteuses. Les systèmes plus anciens Delphi dépendent en particulier de la Borland Database Engine (BDE) ou de pilotes qui ne fonctionnent correctement que sur Windows. En exploitation, cela représente un risque : disponibilité des pilotes, problématiques 32/64 bits, Unicode, correctifs de sécurité et monitoring sont difficiles à maîtriser.

Stratégie de pilotes : uniforme, documentée, testable

BDE-remplacement avec intégration native est dans Delphi une couche d’accès aux données répandue qui adresse de manière uniforme plusieurs bases de données. Opérationnellement, l’important n’est pas tant « à quel point » cela est élégant dans le code, mais :

  • Quelles bibliothèques clientes sont nécessaires ? (p. ex. client PostgreSQL, MariaDB ou Oracle)
  • Comment sont-elles distribuées ? Incluses dans l’installateur, gérées de façon centralisée, image de conteneur
  • Comment les paramètres de connexion sont-ils gérés de manière sécurisée ? (secrets, configuration protégée, pas de mots de passe en clair dans des fichiers)
  • Quelle est la stabilité du comportement en cas de perturbations réseau ? Reprises, timeouts, pooling

Migrations de bases de données : le multiplateforme comme occasion pour des interfaces nettes

Si l’on étend déjà les plateformes, c’est souvent le bon moment pour consolider l’accès aux données. Une migration (p. ex. de vieux formats de fichiers ou de bases embarquées vers des systèmes SQL tels que PostgreSQL ou SQL Server) devrait être menée comme un projet avec des phases claires : modèle de données, outils de migration, exploitation en parallèle, recette, plan de rollback. Le multiplateforme augmente la pression ici, car des pilotes « Windows-only » ou des chemins de fichiers sur macOS/Linux ne fonctionnent plus.

Services et interfaces : REST comme passerelle entre plateformes

Dans des paysages hétérogènes, une approche REST ( REST = interface HTTP basée sur des ressources et des méthodes claires) est souvent la voie la plus pragmatique pour relier les plateformes. Pour l’exploitation, cela signifie : authentification centralisée, protocoles standardisés, meilleure observabilité (logs/métriques) et un découplage net entre le client et la base de données.

Delphi REST-serveur vs. accès direct à la base de données depuis le client

De nombreuses solutions de bureau existantes fonctionnent avec un accès direct à la base de données depuis le client. Dans des réseaux purement Windows, cela a longtemps été courant. Avec le multiplateforme et les exigences de sécurité modernes, cela devient plus difficile :

  • Segmentation du réseau : les bases de données ne se trouvent plus forcément dans le même réseau que les clients ; les pare-feux sont plus stricts.
  • VPN/Zero Trust : les connexions directes aux bases sur des réseaux changeants sont sujettes aux erreurs.
  • Audit et droits : les droits fonctionnels dans l’application sont difficiles à modéliser proprement si chaque client exécute du SQL en direct.

Un REST-serveur (ou une couche de services) peut centraliser ces points : authentification, autorisations, journalisation, limitation de débit, gestion des versions. Pour les administrateurs, c’est souvent plus simple à exploiter que « cent clients avec accès base de données ».

Authentification et SSO : SAML 2.0, OAuth, tokens

Dans l’environnement B2B, le Single Sign-on (SSO) est souvent obligatoire. SAML 2.0 (un standard pour la fédération d’identité entre fournisseur d’identité et application) ou OAuth/OpenID Connect (procédures basées sur des tokens) sont des éléments typiques. Ce qui compte ce n’est pas le mot à la mode, mais la question opérationnelle : où résident les identités, comment s’effectue le provisioning, comment les tokens sont-ils sécurisés, et comment les accès sont-ils consignés de façon révisable ?

Déploiement et packaging : l’effort sous-estimé

Delphi multiplateforme pour Windows, macOS et Linux signifie aussi : trois univers de packaging. Beaucoup de coûts n’apparaissent qu’après la première mise en production, lorsque des mises à jour doivent être déployées régulièrement.

Windows : Programme d’installation, droits, services

Sur Windows, les processus MSI/Installer, les stratégies de groupe, l’UAC (User Account Control) et la signature du code sont courants. Dès qu’un Windows- et Linux-Services est impliqué, des sujets supplémentaires apparaissent : compte de service, droits sur le système de fichiers et le réseau, ordre de démarrage, options de récupération et rotation des logs. Pour la maintenance, il est important que le service soit clairement versionné et puisse être mis à jour sans interventions manuelles.

macOS : notarisation, signature et Gatekeeper

macOS exige pour les applications distribuées en général une signature et, selon le mode de distribution, une notarisation (processus de vérification afin que Gatekeeper exécute l’application). Pour les entreprises, ce n’est pas tant un ‚problème Apple‘ que un problème de processus : qui gère les certificats, comment fonctionne la pipeline de build, comment les releases sont-elles produites de façon reproductible ? Sans cette discipline, chaque correctif devient une action isolée.

Linux : paquets, dépendances, systemd

Sur Linux, les unités systemd (définitions de démarrage et de supervision des services), les formats de paquet (p. ex. DEB/RPM) ou les déploiements basés sur des conteneurs sont pertinents. Pour les administrateurs : configuration claire, chemins définis, logs pertinents (p. ex. via journald), contrôles de disponibilité (health checks) et une procédure de mise à jour compatible avec la politique de distribution de l’entreprise.

CI/CD et processus de release : la multiplateforme nécessite des builds reproductibles

Au plus tard avec trois plateformes cibles, le ‚build manuel‘ devient un risque. CI/CD (Continuous Integration/Continuous Delivery) n’implique pas nécessairement ici ‚tout automatiser jusqu’en production‘, mais avant tout : des artefacts reproductibles, des versions traçables et un processus standardisé de test et de validation.

En pratique, vous devriez au minimum définir :

  • Matrice de build : Quelles plateformes, quelles variantes (Debug/Release), quels pilotes de base de données, quels modules optionnels ?
  • Gestion des versions : Numérotation uniforme pour client et serveur, plus états de migration de la base de données.
  • Signature : Où se fait la signature, comment les clés sont-elles protégées (p. ex. HSM ou agents de build sécurisés) ?
  • Smoke tests : Vérifications fonctionnelles minimales par plateforme, capables de bloquer chaque candidat release.

Pour les décideurs, c’est une question de gouvernance : sans discipline de release, la multiplateforme coûtera plus cher sur le long terme, car les scénarios d’erreur sont plus difficiles à reproduire et les hotfixes peuvent avoir des effets secondaires différents selon la plateforme.

Monitoring, journalisation et analyse des erreurs : ce qui compte en exploitation

Au quotidien, les équipes IT ont besoin de réponses rapides : « Pourquoi le processus s’est-il bloqué ? », « S’agit‑il d’un problème côté client ou côté backend ? », « Depuis quand cela se produit‑il ? » Le caractère multiplateforme accroît la variabilité, il faut donc améliorer l’observabilité.

Stratégie de logs unifiée entre client et serveur

Une stratégie de logs en niveaux a fait ses preuves :

  • Logs client : logs locaux avec rotation, lien de corrélation unique (p. ex. Request-ID), conformité à la protection des données.
  • Logs serveur : stockage centralisé, entrées structurées (horodatage précis, lisibilité machine), séparation des journaux d’audit et de debug.
  • Métriques : temps de réponse, taux d’erreur, longueurs des files d’attente, utilisation des pools de base de données.

Surtout dans les architectures REST, une Request-ID (un identifiant unique par requête, propagé à travers toutes les composantes) vaut de l’or : les incidents support peuvent ainsi être circonscrits en minutes plutôt qu’en heures.

Gestion des plantages et analyse des erreurs symbolisées

Sur les plateformes desktop, les crash dumps et les traces de pile doivent être traités de manière à rester exploitables pour le support sans divulguer de données sensibles. C’est un sujet organisationnel : quelles données peuvent être transmises ? Comment recueillir le consentement ? Comment sécuriser les symboles de debug et associer les versions ? Sans réponses à ces questions, le support multiplateforme reste souvent une recherche à l’aveugle.

Sécurité et conformité : chaque plateforme ouvre des surfaces d’attaque différentes

L’utilisation de Windows, macOS et Linux n’augmente pas automatiquement le risque, mais diversifie la surface d’attaque. Points typiques trop souvent traités trop tard dans les projets :

  • Gestion des certificats : certificats TLS pour serveurs, certificats client, dates d’expiration, renouvellement automatisé.
  • Secrets : mots de passe de base de données, clés API, clés de signature – pas en clair dans les configurations ou dans les scripts d’installation.
  • Concept de droits : principe du moindre privilège pour les services, séparation claire des fonctions d’administration et d’utilisateur.
  • Capacité de mise à jour : les correctifs de sécurité doivent pouvoir être déployés rapidement ; cela dépend directement du processus de packaging et de release.

Dans les entreprises soumises à des exigences d’audit, il est judicieux de définir tôt une courte checklist de sécurité par plateforme et de l’intégrer aux critères d’acceptation.

Pièges typiques des projets multiplateformes

Certains problèmes reviennent systématiquement – pas parce que les équipes « travaillent mal », mais parce qu’ils étaient invisibles dans des historiques mono‑Windows :

Système de fichiers et chemins : détail mineur, impact majeur

Des conventions de chemins différentes, la sensibilité à la casse (majuscules/minuscules), les répertoires utilisateurs et les droits entraînent des erreurs lors d’exports, d’attachments, de fichiers temporaires ou de caches. Un concept d’abstraction cohérent aide : services de gestion de chemins centralisés, répertoires applicatifs définis, pas d’emplacements codés en dur.

Impression, PDF et intégration Office

Les flux d’impression et de documents sont souvent critiques dans les processus métier. Windows dispose de chemins d’impression établis, macOS et Linux se comportent différemment. Si la génération de PDF, les signatures ou les impressions de justificatifs sont pertinentes, ces fonctions doivent être testées tôt sur toutes les plateformes cibles — pas uniquement juste avant le déploiement.

Unicode et jeux de caractères

Au plus tard quand les plateformes, interfaces et bases de données sont mixtes, Unicode (une norme d’encodage pour les caractères internationaux) devient indispensable. Les anciens stocks avec une histoire «ANSI» produisent sinon des erreurs difficiles à comprendre dans la recherche, le tri, les exportations CSV ou les interfaces. Une stratégie Unicode couvre l’UI, les colonnes de base de données, les interfaces et les données de test.

32/64 bits et dépendances de bibliothèques

Un classique : un pilote ou une bibliothèque tierce n’est disponible que pour une seule architecture. En exploitation, cela signifie : liste d’interdépendances claire, documentation des versions, vérification des licences et de la capacité de mise à jour. Une solution multiplateforme n’est stable qu’au niveau de sa dépendance la plus faible.

Aide à la décision : Quand Delphi multiplateforme vaut-elle vraiment la peine ?

Un regard pragmatique sur l’effort et le bénéfice aide à objectiver les discussions. La multiplateforme est généralement pertinente lorsque :

  • le cœur fonctionnel est stable à long terme et la réutilisation sur plusieurs années est rentable,
  • il existe de véritables raisons organisationnelles pour des macOS-clients (pas seulement «ce serait bien»),
  • Linux est de toute façon standard dans le backend et des services/REST sont prévus,
  • l’application doit être intégrée dans un réseau d’intégration comprenant ERP/DMS/CRM,
  • un processus de publication propre peut être mis en place (build, signature, tests).

La multiplateforme a moins de sens lorsque l’application dépend fortement de composants spécifiques à Windows (p. ex. automatisation Office poussée, pilotes spécialisés, intégrations basées sur COM) et que ces fonctions ne sont pas clairement encapsulables. Dans ce cas, une stratégie mixte est souvent plus réaliste : client Windows pour les cas spéciaux, portail/REST pour les processus indépendants de la plateforme.

Voie de modernisation : multiplateforme sans reprise complète

Pour de nombreuses entreprises, le point le plus important est le suivant : multiplateforme ne doit pas signifier réécrire tout. Un chemin fiable ressemble souvent à ceci :

  1. Analyse de l’existant et définition des interfaces : quels modules sont stables sur le plan fonctionnel, lesquels sont proches de l’UI ou de la base de données, où se trouvent les plus grands risques ?
  2. Consolider l’accès aux données : p. ex. BDE-remplacement, BDE-Ablosung mit nativer Anbindung, stratégie uniforme de connexion et de transaction.
  3. Établir une couche de services : API REST pour les processus cœur, substitution progressive de l’accès direct à la base de données.
  4. Prioriser les plateformes : stabiliser d’abord le backend sur Linux, puis un client macOS pour des groupes d’utilisateurs définis, plutôt que tout en même temps.
  5. Professionnaliser le packaging/CI : builds et mises à jour reproductibles comme composante fixe du projet.

Ce chemin est particulièrement adapté aux logiciels d’entreprise sur mesure avec de longs cycles de vie, car il protège la logique métier et réduit de manière contrôlée les risques techniques.

Conclusion : la multiplateforme est une décision d’exploitation — pas seulement une décision de développeur

Delphi multiplateforme pour Windows, macOS et Linux peut être pour les entreprises une voie très pragmatique pour faire évoluer techniquement des processus établis, sans perdre le cœur fonctionnel. Il est essentiel de planifier la multiplateforme comme un ensemble global : architecture à couches claires, accès aux données consolidé, interfaces orientées services, builds reproductibles, packaging propre et une stratégie de logging/monitoring qui clarifie rapidement les cas de support.

Lorsque ces bases sont établies, le multiplateforme ne devient pas un projet sans fin, mais une extension maîtrisable de votre solution d’entreprise numérique – avec des coûts d’exploitation réalistes et une feuille de route qui articule migration et développement ultérieur.

Si vous souhaitez évaluer de manière structurée votre situation de départ (état des lieux, plateformes cibles, base de données, interfaces et modèle d’exploitation) : contactez-nous pour un premier entretien technique.

Dans le domaine fonctionnel, la Delphi modernisation joue également un rôle important lorsque les intégrations, les flux de données et le développement ultérieur doivent s’articuler proprement.

Discuter d’un projet ou d’une modernisation avec Net-Base.

Étape suivante

Lorsque ce sujet devient un projet concret, l'architecture, l'existant et l'exploitation doivent être examinés ensemble dès le départ.

Nous n'intervenons pas seulement sur des questions ponctuelles, mais aussi lorsque des fragments de code source, des problématiques liées aux systèmes legacy ou des concepts de portail doivent se transformer en un projet d'entreprise robuste.

  • L'état des lieux, l'état cible et les risques techniques sont évalués conjointement.
  • REST, l'accès aux données, les portails et le déploiement ne sont pas repoussés en tant que conséquences ultérieures.
  • Vous identifiez tôt quelle voie est viable sur le plan économique et opérationnel.

Partager l'article

Partager directement cette publication

LinkedIn, X, XING, Facebook, WhatsApp et e-mail sont immédiatement disponibles. Pour Instagram, nous préparons directement le lien et un court texte.

Courriel

Instagram s'ouvre dans un nouvel onglet. Le lien et le court texte sont préalablement copiés dans le presse-papiers.