Bases de l'apprentissage de la 4e dimension
4D, initialement abréviation de 4th Dimension, est un système de gestion de bases de données relationnelles et un environnement de développement d’applications de 4D SAS (anciennement ACI). Il associe un moteur de base de données relationnelle propriétaire à un langage intégré orienté objet (4D Langage, historiquement « 4D » ou « 4D code ») et un concepteur visuel de formulaires. Pour les constructeurs informatiques en petites équipes et les développeurs citoyens, son attrait réside dans le fait qu’un seul environnement couvre le stockage des données, la logique métier, l’interface utilisateur et le déploiement : vous n’avez pas besoin d’assembler un serveur de base de données, un framework front-end distinct et une pile Web juste pour livrer une application métier fonctionnelle.
Cette page fait partie de la série 4th Dimension Learning Basics. Elle se concentre sur les modules plug-in qui ont historiquement étendu 4D au-delà de la simple gestion des données — 4D Write, 4D Calc et 4D Draw — et les place dans le contexte plus large de la manière dont 4D est structuré, sous licence et déployé.
Points clés à retenir
- 4D est un environnement intégré de base de données et de développement : les tables, les formulaires, les méthodes et le déploiement sont regroupés dans un seul produit plutôt que dans une pile assemblée.
- Le trio de plug-ins classique — 4D Write (traitement de texte), 4D Calc (feuille de calcul) et 4D Draw (dessin) — a étendu 4D vers un système d’« application intégrée », et pas seulement une base de données.
- Les plug-ins apparaissent à l’intérieur des formulaires sous forme de zones, leur contenu se comporte donc comme n’importe quel autre champ : il peut être stocké, affiché et référencé depuis le code 4D.
- Les liens dynamiques (hot links) permettent aux données modifiées dans un plug-in d’être mises à jour immédiatement dans un autre, ce qui est le mécanisme qui a rendu possible les documents inter-modules.
- Le 4D moderne a largement absorbé ces fonctionnalités dans le produit principal et son architecture de composants/plug-ins, mais les idées de conception expliquent toujours le fonctionnement des formulaires et des objets 4D aujourd’hui.
- Choisir d’utiliser un plug-in (ou un composant moderne) est une décision de type « build-vs-buy » : pesez la licence, la complexité du déploiement et si la fonctionnalité appartient à la couche de données ou à la couche de présentation.
Comment 4D est structuré
Comprendre les plug-ins nécessite de comprendre les couches que 4D expose à un développeur :
- Structure — le schéma : tables, champs, types de champs, relations et index. C’est la couche de données.
- Formulaires — la couche de présentation. Les formulaires contiennent des objets (champs, boutons, variables et zones de plug-in) disposés visuellement.
- Méthodes — la couche logique. Les méthodes objet, les méthodes formulaire et les méthodes projet/base de données contiennent le code 4D qui répond aux événements.
- Plug-ins et composants — modules facultatifs qui ajoutent des fonctionnalités que le noyau ne fournit pas nativement.
Le point architectural important est qu’une zone de plug-in est juste un autre objet sur un formulaire. Cela signifie qu’un document de traitement de texte, une feuille de calcul ou un dessin peut être lié à un champ, référencé par son nom dans le code et traité comme des données. Il s’agit d’un modèle significativement différent du traitement d’un document comme d’une pièce jointe opaque.
Le trio de plug-ins classiques
La documentation originale décrivait 4D Write, 4D Calc et 4D Draw comme des modules qui « forment, ensemble avec 4D, l’environnement 4D ». Chacun était sous licence séparément, historiquement à un prix modeste par plateforme, et chacun étendait une capacité différente.
4D Write — Traitement de texte
4D Write étend les capacités de traitement de texte à vos bases de données 4D. Il vous permet d’inclure des documents tels que des lettres, des rapports, des mémos et des notes directement dans vos formulaires 4D.
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..
- Dans un formulaire, une zone 4D Write apparaît comme faisant partie de vos données, au même titre qu’un nom ou toute autre information.
- En tant qu’application distincte, vous pouvez utiliser 4D Write dans des fenêtres externes, où votre travail peut être indépendant de votre base de données ou lié à des informations de votre base de données ou d’autres plug-ins.
Les utilisations pratiques incluent des lettres de style publipostage pilotées par des données d’enregistrement, des corps de rapport formatés et des notes enrichies jointes à un enregistrement de client ou de dossier.
4D Calc — Feuille de calcul
4D Calc ajoute des fonctionnalités de tableur à vos bases de données 4D. Là où 4D Write gère la prose, 4D Calc gère les grilles de nombres et de formules.
- Utile pour la budgétisation, l’estimation et tout calcul tabulaire qu’un utilisateur s’attend à modifier comme une feuille de calcul.
- Parce qu’il s’agit d’une zone de plug-in, la feuille peut être stockée avec l’enregistrement et référencée à partir du code 4D.
4D Draw — Dessin
4D Draw étend les capacités de dessin à vos formulaires de base de données 4D et vous permet d’inclure des dessins personnalisés dans vos formulaires.
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..
- Lorsqu’elle est utilisée dans un formulaire, une zone 4D Draw apparaît comme faisant partie de vos données, au même titre que n’importe quelle autre information.
- Vous pouvez ouvrir ou importer des dessins au format PICT (à partir d’autres applications de dessin orientées objet), au format MacPaint et au format Encapsulated PostScript (EPSF).
Ces formats d’importation constituent un marqueur historique utile : ils reflètent l’ère de la publication assistée par ordinateur centrée sur Macintosh, période durant laquelle 4D a mûri. Le travail 4D moderne utilise généralement la gestion d’images native de la plateforme et des formats standards tels que PNG, JPEG et PDF, mais l’idée sous-jacente — une zone dessinable liée à un enregistrement — persiste.
Pourquoi les « applications intégrées » étaient importantes
Le cadrage original mérite d’être conservé car il explique la philosophie de conception : avec ces plug-ins, 4D devient un système capable de faire fonctionner des applications intégrées, ainsi qu’une base de données capable de stocker et de manipuler des informations.
Les plug-ins sont accessibles depuis 4D, où ils peuvent fonctionner indépendamment, avec les données de 4D et entre eux. Le tissu conjonctif est le lien dynamique (hot link) :
Les liens dynamiques sont dynamiques : les informations modifiées dans un plug-in sont mises à jour immédiatement dans un autre.
Un exemple concret : une feuille 4D Calc calcule un total, une lettre 4D Write fait référence à ce total, et les deux sont stockés dans le même enregistrement. Modifiez un chiffre dans la feuille et la lettre le reflète sans étape de copie manuelle. C’est la promesse de l’application intégrée en miniature.
Plug-ins vs Composants modernes : comment décider
Le modèle du plug-in a évolué. 4D moderne est livré avec une architecture de composants et un large éventail de commandes intégrées, et de nombreuses fonctionnalités qui nécessitaient autrefois un achat séparé sont désormais natives ou disponibles sous forme de composants. Lorsque vous décidez comment ajouter une fonctionnalité aujourd’hui, utilisez cette liste de critères :
| Critère | Privilégier une fonctionnalité intégrée / native | Privilégier un plug-in ou un composant |
|---|---|---|
| Adéquation au modèle de données | La fonctionnalité est essentielle (texte, nombres, dates, relations) | La fonctionnalité est spécialisée (texte riche, graphiques, intégration de périphériques) |
| Déploiement | Vous souhaitez une installation unique et simple | Vous pouvez gérer des licences et des versions supplémentaires |
| Maintenance | Vous souhaitez que 4D SAS en assure la maintenance | Un tiers l’assure et vous acceptez cette dépendance |
| Portabilité | Vous pouvez changer de plateforme ou passer au Web | La fonctionnalité est spécifique au bureau et cela est acceptable |
| Coût | Le budget est serré | La fonctionnalité justifie sa licence |
Une règle pratique : si la fonctionnalité appartient à la couche de données (stockage et requête d’informations), privilégiez les fonctionnalités natives. Si elle appartient à la couche de présentation (l’aspect d’un document ou d’un dessin), un plug-in ou un composant est souvent le bon outil.
Guide pratique pour les nouveaux développeurs 4D
Si vous apprenez 4D aujourd’hui, l’historique des plug-ins n’est pas anodin : il enseigne des habitudes qui s’appliquent toujours :
- Liez délibérément les objets aux champs. Décidez si un objet de formulaire est un affichage de données stockées ou une variable transitoire. C’est la même décision que celle imposée par les zones de plug-in.
- Conservez la logique dans les méthodes, pas dans la mise en page. Les objets de formulaire doivent présenter ; les méthodes doivent décider.
- Pensez à la propagation des mises à jour. L’idée du lien dynamique consiste en réalité à éviter les copies de données obsolètes. Dans les applications modernes, cela signifie normaliser les données et les référencer plutôt que de les dupliquer.
- Respectez le modèle de licence. 4D a historiquement séparé l’environnement de développement, le déploiement/runtime et les modules optionnels. Comprenez ce dont vos utilisateurs ont besoin avant de vous engager dans une architecture.
- Planifiez pour le Web. 4D peut servir des clients Web et REST ; si l’accès à distance est probable, concevez votre structure et vos méthodes en gardant cela à l’esprit dès le départ.
Où se situe 4D dans le paysage Low-Code
4D est antérieur de plusieurs décennies à la catégorie moderne du « low-code », mais il appartient à la même famille d’idées : un concepteur visuel, un langage de script et un environnement d’exécution géré. Cela vaut la peine de le comparer aux outils et normes adjacents que vous connaissez peut-être déjà :
- FileMaker (maintenant Claris FileMaker) — un produit de base de données et d’interface utilisateur intégré comparable avec une forte communauté de « citizen developers ».
- Microsoft Access — base de données relationnelle de bureau avec formulaires et macros, largement utilisée pour les applications d’équipes restreintes.
- Plateformes low-code telles que celles suivies par les cabinets d’analystes — plus larges, axées sur le cloud et souvent moins performantes sur la modélisation relationnelle approfondie.
- Standards SQL — le langage de requête de 4D et le support SQL le connectent au monde relationnel plus large ; voir l’article Wikipédia sur SQL pour le vocabulaire standard.
- Modèle relationnel — le fondement théorique sous-jacent à tous ces outils ; l’article sur le modèle relationnel est un bon rappel.
Pour obtenir des informations faisant autorité sur les systèmes de bases de données en général, l’Association for Computing Machinery et la IEEE Computer Society publient des programmes d’études et des normes largement utilisés. Pour les questions liées au Web telles que HTTP et REST, le World Wide Web Consortium est la référence canonique.
Pièges courants et mises en garde
- Ne confondez pas une zone de plug-in avec un champ fichier. Une zone de plug-in est un objet interactif ; un champ fichier ou image est un stockage. Ils peuvent être combinés, mais ce n’est pas la même chose.
- Attention aux hypothèses de plateforme. Les formats d’importation PICT et MacPaint dans 4D Draw sont des formats Mac hérités. Ne construisez pas un flux de travail moderne autour d’eux.
- Versionnez vos dépendances. Les plug-ins et composants doivent correspondre à votre version de 4D. Une inadéquation est une cause fréquente d’échecs au démarrage.
- Prévoyez le budget pour le runtime. Les licences de développement et les licences de déploiement/runtime sont des préoccupations distinctes dans le modèle de 4D ; planifiez les deux.
- Testez explicitement le comportement de type lien dynamique. Chaque fois que deux vues des mêmes données peuvent diverger, écrivez un test qui prouve qu’elles restent synchronisées.
Questions fréquemment posées
À quoi sert 4D Write ?
4D Write ajoute des fonctionnalités de traitement de texte à une base de données 4D. Il vous permet d’intégrer des documents tels que des lettres, des rapports, des mémos et des notes dans vos formulaires, où le document se comporte comme n’importe quelle autre donnée. Vous pouvez également l’ouvrir dans des fenêtres externes, soit indépendamment de la base de données, soit lié aux informations de celle-ci.
Quelle est la différence entre 4D Calc et un champ 4D normal ?
Un champ normal stocke une seule valeur, tandis que 4D Calc fournit une zone de feuille de calcul avec des formules et une grille de cellules. C’est utile lorsque les utilisateurs s’attendent à modifier directement des calculs tabulaires. Puisqu’il s’agit d’une zone de plug-in, la feuille peut toujours être stockée sur un enregistrement et référencée depuis celui-ci.
Quels formats de fichiers 4D Draw peut-il importer ?
4D Draw peut ouvrir ou importer des dessins au format PICT provenant d’autres applications de dessin orientées objet, au format MacPaint et au format Encapsulated PostScript (EPSF). Il s’agit de formats de publication assistée par ordinateur hérités, de sorte que les projets modernes utilisent généralement à la place des formats d’image et PDF standard.
Qu’est-ce qu’un lien dynamique (hot link) dans 4D ?
Un lien dynamique est une connexion dynamique entre des plug-ins dans laquelle les informations modifiées dans un plug-in sont immédiatement mises à jour dans un autre. C’est le mécanisme qui permet à une feuille de calcul, un document et un dessin sur le même enregistrement de rester cohérents sans copie manuelle.
Ai-je encore besoin de ces plug-ins pour créer une application 4D aujourd’hui ?
Pas nécessairement. Le 4D moderne inclut de nombreuses capacités nativement et prend en charge une architecture de composants, de sorte qu’une grande partie de ce qui nécessitait autrefois un plug-in séparé est désormais intégré ou disponible en tant que composant. Les concepts de plug-in restent utiles car ils expliquent le fonctionnement des objets de formulaire 4D et de la liaison de données.
Comment un débutant doit-il choisir entre des fonctionnalités natives et un plug-in ?
Préférez les fonctionnalités natives lorsque la capacité appartient à la couche de données — stockage, interrogation et mise en relation des informations. Envisagez un plug-in ou un composant lorsque la capacité est spécialisée et orientée présentation, comme des documents ou des dessins riches, et lorsque vous pouvez accepter les licences et la maintenance supplémentaires qui l’accompagnent.
Questions fréquentes
A quoi sert 4D Write ?
4D Write ajoute des fonctionnalités de traitement de texte à une base de données 4D. Il vous permet d'intégrer des documents tels que des lettres, des rapports, des mémos et des notes dans vos formulaires, où le document se comporte comme n'importe quelle autre donnée. Vous pouvez également l'ouvrir dans des fenêtres externes, soit indépendantes de la base de données, soit liées aux informations de la base de données.
Quelle est la différence entre 4D Calc et un champ 4D normal ?
Un champ normal stocke une seule valeur, tandis que 4D Calc fournit une zone de feuille de calcul avec des formules et une grille de cellules. Ceci est utile lorsque les utilisateurs souhaitent modifier directement des calculs tabulaires. Puisqu'il s'agit d'une zone de plug-in, la feuille peut toujours être stockée et référencée à partir d'un enregistrement.
Quels formats de fichiers 4D Draw peut-il importer ?
4D Draw peut ouvrir ou importer des dessins au format PICT à partir d'autres applications de dessin orientées objet, au format MacPaint et au format Encapsulated PostScript (EPSF). Il s’agit de formats de publication assistée par ordinateur existants, de sorte que les projets modernes utilisent généralement à la place des formats d’image et PDF standard.
Qu'est-ce qu'un lien actif dans 4D ?
Un lien dynamique est une connexion dynamique entre des plug-ins dans laquelle les informations modifiées dans un plug-in sont immédiatement mises à jour dans un autre. C'est le mécanisme qui permet à une feuille de calcul, un document et un dessin sur le même enregistrement de rester cohérents sans copie manuelle.
Ai-je encore besoin de ces plug-ins pour créer une application 4D aujourd’hui ?
Pas nécessairement. 4D moderne inclut de nombreuses fonctionnalités nativement et prend en charge une architecture de composants, de sorte qu'une grande partie de ce qui nécessitait autrefois un plug-in séparé est désormais intégré ou disponible en tant que composant. Les concepts du plug-in restent utiles car ils expliquent le fonctionnement des objets de formulaire 4D et de la liaison de données.
Comment un débutant doit-il choisir entre fonctionnalités natives et plug-in ?
Préférez les fonctionnalités natives lorsque la capacité appartient à la couche de données : stockage, interrogation et informations associées. Envisagez un plug-in ou un composant lorsque la fonctionnalité est spécialisée et orientée présentation, comme des documents ou des dessins riches, et lorsque vous pouvez accepter les licences et la maintenance supplémentaires qui l'accompagnent.
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.