Bases de l'apprentissage de la 4e dimension
Le concept de runtime est l’une des idées les plus importantes — et les plus mal comprises — dans le monde de la 4e Dimension (4D). Il est au cœur de la façon dont vous transformez une base de données que vous avez créée vous-même en une application distribuable que d’autres personnes peuvent utiliser, sans leur donner les clés de votre code source ni les forcer à acheter une licence de développement complète. Cette section explique ce que sont les runtimes, comment 4D et FileMaker Pro (FMP) les ont abordés différemment et quelles contraintes pratiques vous devez comprendre avant de planifier un déploiement.
Points clés à retenir
- Un runtime regroupe un moteur simplifié avec vos fichiers développés afin que les utilisateurs finaux puissent exécuter votre application sans posséder le produit de développement complet.
- Dans 4D, la création du runtime est intégrée à l’édition Standard et peut être distribuée libre de droits et sans « liaison ».
- 4D Runtime est une application distincte et redistribuable qui exécute des bases de données interprétées et n’offre aucune fonctionnalité de conception.
- 4D Runtime est mono-utilisateur par conception — il ne peut pas être mis en réseau, car toute mise en réseau 4D nécessite un serveur et des postes clients payants.
- L’approche de FileMaker Pro nécessitait une Developer Edition et une étape de liaison, et ses fichiers runtime ne pouvaient pas non plus être mis en réseau.
Qu’est-ce qu’un runtime en réalité
Un runtime est un modèle de distribution. Lorsque vous développez une base de données, vous travaillez dans un environnement de développement complet qui comprend l’éditeur de structure, le concepteur de formulaires, l’éditeur de méthodes et tous les autres outils de conception. Cet environnement est puissant — et coûteux, et dangereux à confier à un utilisateur final qui pourrait accidentellement (ou délibérément) modifier votre structure.
Un runtime résout ces trois problèmes à la fois :
- Coût — l’utilisateur final n’a pas besoin d’acheter le produit de développement complet.
- Protection — l’environnement de conception est supprimé, de sorte que la structure et les méthodes ne peuvent pas être modifiées.
- Focus — l’utilisateur ne voit que l’application que vous avez prévu pour lui, avec vos menus et votre interface personnalisés.
Le compromis réside dans les capacités. Un runtime est délibérément bridé par rapport au produit complet. Comprendre exactement comment il est bridé — et si cela importe pour votre projet — est tout l’enjeu.
Différences entre 4D et FileMaker Pro
4D et FMP proposaient tous deux des runtimes, mais les mécanismes étaient assez différents. La comparaison ci-dessous reflète l’état des deux produits tel que documenté à l’époque.
| Aspect | 4D (Édition Standard) | FileMaker Pro |
|---|---|---|
| Création de runtime | Intégrée | Nécessitait une Developer Edition distincte |
| Liaison requise | Non | Oui — fichiers liés au moteur |
| Redevance | Distribution libre de droits | Régie par les conditions de la Developer Edition |
| Mise en réseau du runtime | Non prise en charge | Non prise en charge, même avec FMP Server |
| Capacité de conception en runtime | Aucune | Aucune |
La principale différence architecturale est la liaison (binding). FMP vous obligeait à lier vos fichiers au moteur d’exécution, et ce moteur ne fonctionnait qu’avec des fichiers qui lui avaient été liés.
Connexes : — Une interface simple sous forme de feuille de calcul reposant sur une véritable base de données relationnelle, avec des automatisations, des vues et des interfaces partageables..
4D a adopté une approche plus souple : le moteur runtime est simplement une application distincte qui peut ouvrir les bases de données que vous avez conçues pour lui, sans étape de liaison. Cette flexibilité est l’une des raisons pour lesquelles les développeurs 4D ont tendance à trouver la distribution des runtimes moins fastidieuse.
Le Runtime 4D en détail
Avec 4D, la possibilité de créer des runtimes est intégrée à l’Édition Standard. Vous pouvez créer un nombre illimité de versions runtime et les distribuer libre de droits. Il n’y a aucune étape de liaison. Le moteur 4D Runtime est une application distincte, tout comme 4D Standard, mais il permet uniquement l’utilisation des programmes 4D créés — il n’y a absolument aucune capacité de conception.
4D Runtime est désigné comme redistribuable selon le Contrat de Licence de 4e Dimension et peut être distribué librement selon les termes de cette licence. 4D Runtime consiste uniquement en l’application qui porte ce nom.
Si vous faites du shopping : — Un créateur d'applications low-code qui se connecte à la suite Zoho plus large et propose des tarifs par utilisateur plutôt que par application..
Quelques spécificités comportementales comptent énormément en pratique :
- 4D Runtime ne peut exécuter que des bases de données interprétées. Si vous souhaitez distribuer une base de données compilée, vous avez besoin de 4D Runtime Classic, acheté séparément, qui permet les runtimes de versions compilées.
- Lorsque vous lancez 4D Runtime, le bouton Nouveau n’est pas présent dans la boîte de dialogue Ouvrir la base de données. Vous ne pouvez pas créer une nouvelle base de données depuis le runtime.
- La boîte de dialogue Ouvrir la base de données vous permet d’ouvrir uniquement des structures interprétées, et uniquement des bases de données conçues pour s’exécuter dans l’environnement des Menus Personnalisés.
- Si vous ouvrez une base de données qui n’a pas de barre de menus, 4D Runtime quitte automatiquement. Il s’agit d’une exigence stricte, pas d’un avertissement.
- Vous ne pouvez pas entrer dans l’environnement Utilisateur, ni dans l’environnement Conception. Si vous tentez d’accéder à l’environnement Conception — par exemple, en utilisant le raccourci Option-f — 4D Runtime quitte automatiquement.
Ce dernier point mérite d’être bien assimilé. Le runtime ne refuse pas poliment ; il s’arrête. Il s’agit d’un mécanisme de sécurité délibéré, mais cela signifie que votre base de données doit être correctement configurée avant de créer le runtime, sinon vos utilisateurs se heurteront immédiatement à un mur.
Pourquoi les runtimes ne peuvent pas être mis en réseau
C’est la contrainte qui surprend le plus : les runtimes 4D ne peuvent pas être mis en réseau. À première vue, cela semble être une limitation sérieuse. Mais cela devient logique une fois que l’on comprend l’architecture de licence de 4D.
Toute mise en réseau avec 4D nécessite un Serveur. Les Clients eux-mêmes sont libres de distribuer, mais une licence pour chaque poste doit quand même être achetée. Étant donné que le modèle serveur-client existe déjà en tant que voie prise en charge pour l’accès multi-utilisateur, le seul objectif du runtime est l’utilisation mono-utilisateur. Le runtime n’est pas en concurrence avec le Serveur — il occupe un créneau totalement différent.
L’arbre de décision est donc simple :
- Utilisateur unique, pas de serveur → un runtime est le bon véhicule de distribution.
- Plusieurs utilisateurs simultanés → vous avez besoin de 4D Server et de licences client, pas d’un runtime.
Essayer de forcer un runtime à adopter un rôle multi-utilisateur est une impasse. Planifiez votre architecture en conséquence dès le départ.
Comment décider si un runtime convient à votre projet
Avant de vous engager dans une distribution via runtime, examinez honnêtement ces critères :
- Est-ce mono-utilisateur ? Si plus d’une personne a besoin d’un accès simultané à des données partagées, un runtime n’est pas le bon outil.
- Interprété ou compilé ? Le 4D Runtime standard n’exécute que des bases de données interprétées. Si vous avez besoin d’une distribution compilée, prévoyez un budget pour 4D Runtime Classic.
- Votre base de données utilise-t-elle des menus personnalisés ? Elle doit en utiliser, et elle doit avoir une barre de menus, sinon le runtime se fermera à l’ouverture.
- Avez-vous supprimé toutes les dépendances liées à la conception ? Toute méthode ou formulaire qui suppose un accès à la conception échouera.
- Comprenez-vous les termes de la licence ? La redistribution est autorisée, mais elle est régie par le contrat de licence de 4th Dimension — lisez-le plutôt que de faire des suppositions.
Si vous pouvez répondre aux cinq questions avec assurance, un runtime est un moyen propre et libre de redevances de livrer votre travail.
Liste de contrôle de préparation pratique
La création d’un runtime consiste moins en une seule commande qu’à préparer votre base de données afin qu’elle se comporte correctement une fois l’environnement de conception disparu. Une liste de contrôle utile :
- Concevez une barre de menus appropriée et pilotez l’application via l’environnement des Menus Personnalisés.
- Testez d’abord dans l’environnement Utilisateur. Si votre base de données se comporte mal là-bas, elle se comportera encore pire dans un runtime.
- Supprimez ou protégez tout code qui suppose un accès à la conception, y compris tout ce qui est déclenché par des raccourcis du mode conception.
- Confirmez que la base de données s’ouvre proprement, sans aucune boîte de dialogue attendant un bouton Nouveau.
- Décidez tôt entre interprété ou compilé, car cela détermine si vous avez besoin de 4D Runtime Classic.
- Documentez les obligations de licence que vous transmettez à vos utilisateurs.
Le thème récurrent est que le runtime ne pardonne pas les suppositions. Tout ce que l’environnement complet vous permettait de laisser passer doit être résolu au préalable.
Où les runtimes s’intègrent dans l’histoire plus large de 4D
Les runtimes sont un élément d’un schéma de déploiement plus vaste qui comprend la configuration système requise, les structures de programmes, les différences de mise en réseau, le compilateur, l’hébergement Web, la représentation graphique des données, les plug-ins et les utilitaires. Chacun de ces éléments interagit avec la décision relative au runtime :
- Le compilateur détermine si vous pouvez livrer en interprété ou si vous avez besoin d’un runtime compilé.
- La mise en réseau détermine si un runtime est viable ou non.
- Les plug-ins doivent être compatibles avec le moteur de runtime que vous distribuez.
- L’hébergement Web est un canal de livraison entièrement distinct, différent de la distribution de runtime pour bureau.
Considérer le runtime comme l’option de « livraison bureau mono-utilisateur » — aux côtés du déploiement multi-utilisateur basé sur serveur et du déploiement Web — permet de garder l’ensemble du paysage cohérent. Pour en savoir plus sur la plateforme elle-même, consultez l’article Wikipédia sur 4th Dimension, et pour la catégorie plus large d’outils permettant aux petites équipes de créer des applications métier, l’aperçu Wikipédia des plateformes de développement low-code est une référence utile. FileMaker, l’autre produit évoqué ici, est documenté sur FileMaker.
Questions fréquemment posées
Qu’est-ce qu’un runtime 4D ?
Un runtime 4D est une version allégée et redistribuable de l’application 4D qui peut exécuter les bases de données que vous avez développées mais n’offre aucune fonctionnalité de conception. Il vous permet de distribuer votre travail aux utilisateurs finaux sans qu’ils aient à acheter le produit de développement complet. Il est intégré à la 4D Standard Edition et peut être distribué sans redevance.
Un runtime 4D peut-il être utilisé par plusieurs personnes sur un réseau ?
Non. Les runtimes 4D ne peuvent pas être mis en réseau. Toute mise en réseau dans 4D nécessite un Serveur, et bien que les clients soient libres de distribuer, une licence doit être achetée pour chaque poste. De ce fait, le seul objectif du runtime est l’utilisation mono-utilisateur, et les déploiements multi-utilisateurs doivent utiliser 4D Server à la place.
Quelle est la différence entre 4D Runtime et 4D Runtime Classic ?
Le 4D Runtime standard ne peut exécuter que des bases de données interprétées. Si vous devez distribuer un runtime d’une base de données compilée, vous devez acheter 4D Runtime Classic séparément. Le choix entre les deux dépend entièrement de votre intention de livrer du code interprété ou compilé.
Pourquoi 4D Runtime se ferme-t-il lorsque j’essaie d’ouvrir l’environnement de conception ?
C’est volontaire. Le runtime supprime délibérément toutes les fonctionnalités de conception ; par conséquent, tenter d’entrer dans l’environnement de conception — par exemple avec le raccourci Option-f — provoque sa fermeture automatique. De même, l’ouverture d’une base de données sans barre de menus entraîne une fermeture immédiate, car le runtime attend des bases de données conçues pour l’environnement des Menus Personnalisés.
FileMaker Pro nécessite-t-il une liaison (binding) pour ses runtimes ?
Oui. FMP exigeait que vous liiez vos fichiers au moteur de runtime, et ce moteur ne fonctionnait qu’avec les fichiers qui lui étaient liés. Il nécessitait également une édition Developer distincte. 4D, en revanche, ne comporte aucune étape de liaison et inclut la création de runtime dans l’édition Standard.
Puis-je créer une nouvelle base de données depuis le Runtime 4D ?
Non. Lorsque vous lancez 4D Runtime, le bouton Nouveau n’est pas présent dans la boîte de dialogue Ouvrir la base de données. La boîte de dialogue vous permet d’ouvrir uniquement des structures interprétées, et uniquement des bases de données conçues pour s’exécuter dans l’environnement Menus personnalisés. La création et la conception de la base de données doivent être effectuées au préalable dans l’environnement de développement complet.
Questions fréquentes
Qu’est-ce qu’un runtime 4D ?
Un runtime 4D est une version allégée et redistribuable de l'application 4D qui peut exécuter les bases de données que vous avez développées mais n'offre aucune fonctionnalité de conception. Il vous permet de distribuer votre travail aux utilisateurs finaux sans qu'ils aient à acheter le produit de développement complet. Il est intégré à 4D Standard Edition et peut être distribué sans redevance.
Un runtime 4D peut-il être utilisé par plusieurs personnes sur un réseau ?
Non, les runtimes 4D ne peuvent pas être mis en réseau. Toute mise en réseau dans 4D nécessite un serveur, et bien que les clients soient libres de distribuer, une licence doit être achetée pour chaque poste. De ce fait, le seul objectif du runtime est une utilisation mono-utilisateur, et les déploiements multi-utilisateurs doivent plutôt utiliser 4D Server.
Quelle est la différence entre 4D Runtime et 4D Runtime Classic ?
Le Runtime 4D standard ne peut exécuter que des bases interprétées. Si vous devez distribuer un runtime d'une base de données compilée, vous devez acheter 4D Runtime Classic séparément. Le choix entre eux dépend entièrement de votre intention de livrer du code interprété ou compilé.
Pourquoi 4D Runtime se ferme-t-il lorsque j'essaie d'ouvrir l'environnement de conception ?
C'est par conception. Le moteur d'exécution supprime délibérément toutes les fonctionnalités de conception. Par conséquent, si vous tentez d'accéder à l'environnement de conception (par exemple avec le raccourci Option-f), celui-ci se ferme automatiquement. De même, l'ouverture d'une base de données sans barre de menus entraîne une sortie immédiate, car le moteur d'exécution attend des bases de données créées pour l'environnement de menus personnalisés.
FileMaker Pro nécessite-t-il une liaison pour ses environnements d'exécution ?
Oui. FMP vous obligeait à lier vos fichiers avec le moteur d'exécution, et ce moteur ne fonctionnerait qu'avec les fichiers qui lui étaient liés. Il nécessitait également une édition Developer distincte. 4D, en revanche, ne comporte aucune étape contraignante et inclut la création du runtime dans l'édition Standard.
Puis-je créer une nouvelle base de données depuis 4D Runtime ?
Non. Lorsque vous lancez 4D Runtime, le bouton Nouveau n'est pas présent dans la boîte de dialogue Ouvrir la base de données. La boîte de dialogue vous permet d'ouvrir uniquement les structures interprétées et uniquement les bases de données conçues pour s'exécuter dans l'environnement Menus personnalisés. La création et la conception de la base de données doivent avoir lieu au préalable dans l’environnement de développement complet.
Essayez FileMaker gratuitement pendant 45 jours
La plateforme de base de données relationnelle de longue date pour les équipes qui ont besoin d'applications personnalisées sur ordinateur, Web et mobile à partir d'un seul fichier.