Meilleurs formulaires 4D : meilleurs choix comparés (2026)
Les Formulaires 4D constituent la couche d’interface utilisateur d’une application 4D et la plateforme propose trois types de formulaires distincts : détail, liste et formulaire de sortie, chacun adapté à une tâche différente. Pour bien faire les choses en 2026, il faudra faire correspondre le type de formulaire à la tâche, puis superposer des listes de valeurs, des sous-formulaires et des propriétés dynamiques. Cette comparaison couvre les options pratiques, leurs compromis et la manière de décider.
Points clés à retenir
- 4D propose trois types de formulaires 4D : détail (un enregistrement à la fois), liste (plusieurs enregistrements dans une grille) et sortie (mise en page impression/rapport). Choisir le mauvais type est l’erreur la plus courante que commettent les débutants.
- Les Formulaires de projet (stockés sous forme de fichiers JSON
.4DForm) sont la valeur par défaut moderne ; Les formulaires de table sont hérités et liés à une seule table. Les nouveaux travaux doivent utiliser des formulaires de projet. - Les formulaires dynamiques (
DIALOG,FORM LOAD,FORM GOTO PAGE) vous permettent de créer et d’échanger des interfaces au moment de l’exécution - essentiel pour les flux de style assistant et les interfaces utilisateur basées sur les rôles. - Listes de valeurs (statiques, hiérarchiques ou à partir d’un champ/tableau) alimentent les listes déroulantes, les zones de liste déroulante et les menus contextuels ; les lier à un champ est un changement de propriété sur une seule ligne.
- Les Sous-formulaires intègrent un formulaire dans un autre et constituent le moyen standard de créer des mises en page maître-détails sans dupliquer les widgets.
- Les performances sur les formulaires de liste dépendent fortement de la sélection d’entité par rapport à la sélection classique et de l’activation du chargement paresseux pour les grands ensembles d’enregistrements.
Que signifie réellement « Formulaires 4D »
Les formulaires 4D sont des définitions d’interface utilisateur déclaratives stockées soit dans la structure (formulaires de table), soit sous forme de fichiers projet autonomes (formulaires projet). Un formulaire contient des objets (champs de saisie, boutons, zones de liste, sous-formulaires, zones Web et texte statique) disposés sur un canevas avec une taille de page définie et, éventuellement, plusieurs pages. Chaque objet porte des propriétés (source de données, état saisissable, police, coordonnées) que 4D évalue à l’exécution.
La distinction qui compte le plus pour une comparaison : un formulaire n’est pas une fenêtre. Un formulaire est une mise en page ; une fenêtre est le conteneur que 4D ouvre pour l’afficher. Le même formulaire peut apparaître dans une boîte de dialogue modale, une fenêtre de palette, une fenêtre de document redimensionnable ou intégré en tant que sous-formulaire. Comprendre cette séparation permet aux développeurs expérimentés de réutiliser un formulaire dans plusieurs contextes au lieu de le reconstruire.
Comparaison des trois types de formulaires
| Type de formulaire | Enregistrements affichés | Utilisation typique | Avertissement clé |
|---|---|---|---|
| Formulaire détaillé | Un | Saisie de données, édition d’enregistrements, boîtes de dialogue | Nécessite une navigation explicite (boutons, NEXT RECORD) |
| Formulaire de liste | Beaucoup | Navigation, sélection, tableaux de bord | Les grandes sélections nécessitent un chargement ou une pagination paresseux |
| Formulaire de sortie | Beaucoup | Impression, export PDF, rapports | Pas interactif ; la mise en page est orientée impression |
Les formulaires détaillés sont la bête de somme de la saisie de données. Ils affichent l’enregistrement actuel d’une table et permettent aux utilisateurs de modifier directement les champs. Un formulaire détaillé est également le choix naturel pour une boîte de dialogue de paramètres ou un écran de connexion, car vous pouvez le lier à aucune table et le piloter uniquement avec des variables de processus.
Formulaires de liste présentent une grille défilante d’enregistrements. Dans 4D moderne, les formulaires de liste sont généralement construits autour d’un objet list box plutôt que de l’ancienne approche “formulaire de liste avec colonnes”. Les zones de liste peuvent être basées sur un tableau ou sur une sélection, et les zones de liste basées sur une sélection se lient directement à une sélection d’entités - ce qui est le modèle préféré lorsque vous travaillez avec ORDA.
Des Formulaires de sortie existent pour l’impression. Ils affichent les enregistrements dans une mise en page avec des en-têtes, des pieds de page et des niveaux de rupture. Les formulaires de sortie ne sont pas destinés à une interaction à l’écran et 4D ne permettra pas aux utilisateurs de parcourir les champs comme ils le feraient sur un formulaire détaillé.
Connexes : — 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..
Ce sont les trois principaux formulaires 4D.
Formulaires de projet et formulaires de table
Les formulaires de projet sont stockés sous forme de fichiers « .4DForm » individuels dans le dossier « Formulaires » du projet et sont compatibles avec le contrôle de version : chaque formulaire est un document JSON distinct, de sorte que deux développeurs éditant des formulaires différents entrent rarement en collision lors d’une fusion. Les formulaires de table se trouvent dans le fichier de structure et sont édités via le même éditeur de formulaires, mais sont conceptuellement liés à une seule table.
Les conseils pratiques pour 2026 : Démarrez chaque nouveau formulaire en tant que formulaire de projet. Les formulaires de table restent entièrement pris en charge et vous les rencontrerez dans les bases de données existantes, mais les formulaires de projet vous offrent des différences plus claires, une réutilisation plus facile entre les tables et un modèle mental plus clair. La conversion d’un formulaire de table en formulaire de projet implique de le déplacer hors de la liste de formulaires du tableau et dans la liste de formulaires du projet ; les définitions d’objet sont conservées.
Notre sélection : — 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..
Créer un formulaire : les étapes principales
- Créez le formulaire dans l’éditeur de formulaire (Explorateur → Formulaires → Nouveau), en choisissant détail, liste ou sortie.
- Définissez la taille de la page et, si nécessaire, ajoutez des pages pour des mises en page en plusieurs étapes.
- Placer des objets : faites glisser les champs de l’Explorateur vers le canevas ou ajoutez des boutons, des zones de liste et des sous-formulaires à partir de la bibliothèque d’objets.
- Lier les sources de données : attribuez chaque objet d’entrée à un champ, une variable ou une expression.
- Configurez des listes de valeurs pour n’importe quelle liste déroulante, zone de liste déroulante ou menu contextuel.
- Lier les événements — attachez des méthodes aux événements de formulaire (
On Load,On Clicked,On Data Change) et aux événements d’objet. - Testez dans l’éditeur de formulaire à l’aide de l’aperçu intégré, puis dans une fenêtre en cours d’exécution.
L’étape 6 est l’endroit où se déroule la majeure partie du travail réel lors de la création de formulaires 4D. Un formulaire sans méthodes événementielles est une image statique ; l’événement de formulaire « Au chargement » est généralement l’endroit où vous remplissez des tableaux, chargez une liste de valeurs ou définissez des états saisissables en fonction du rôle de l’utilisateur actuel.
Listes de valeurs : les détails qui font trébucher les gens
Les listes de valeurs sont le mécanisme derrière chaque liste déroulante, zone de liste déroulante et menu contextuel dans les formulaires 4D. Il en existe trois types :
- Listes statiques — vous saisissez les valeurs une fois dans l’éditeur de liste. Idéal pour les énumérations fixes comme les codes de statut.
- Listes hiérarchiques — prend en charge les éléments imbriqués avec une convention de séparation
|, utile pour les arborescences de catégories. - Listes dynamiques : remplies à partir d’un champ, d’un tableau ou d’une formule au moment de l’exécution. Celles-ci reflètent les données en direct, de sorte qu’une liste de clients actifs reste à jour sans redéploiement.
Un piège courant : lier une liste de valeurs dynamiques à un champ qui stocke une référence (un identifiant) tout en affichant une étiquette. 4D gère cela avec la notion de “valeur associée” : la liste stocke une valeur et en affiche une autre. Faire les choses correctement est la différence entre une liste déroulante qui enregistre « 42 » et une autre qui enregistre « Acme Corp ».
Sous-formulaires et mises en page maître-détail
Les sous-formulaires intègrent un formulaire dans un autre. Le formulaire parent héberge un objet sous-formulaire ; le formulaire enfant s’affiche à l’intérieur. Les données circulent via la propriété “table” du sous-formulaire et, dans 4D moderne, via l’objet “Form” transmis à l’enfant.
Le détail maître est l’usage canonique des formulaires 4D : un formulaire détail pour une facture en haut, un formulaire liste pour les lignes de facture dans un sous-formulaire en dessous. Lorsque l’enregistrement parent change, la sélection du sous-formulaire est mise à jour — à condition que vous la mettiez à jour dans « Lors de la modification des données » du parent ou en reliant à nouveau la sélection. Les sous-formulaires vous permettent également de créer des composants réutilisables : un formulaire « sélecteur de clients » peut être déposé dans n’importe quel parent qui en a besoin.
Formulaires dynamiques et interface utilisateur d’exécution
Les formulaires dynamiques 4d modifient l’interface pendant l’exécution de l’application. Les commandes clés sont DIALOG (ouvrir un formulaire en tant que boîte de dialogue modale ou non modale), FORM LOAD (charger un formulaire en mémoire sans l’afficher), FORM GOTO PAGE (changer de page) et OBJECT SET... qui modifient les propriétés de l’objet à la volée.
Les formulaires dynamiques sont importants pour deux scénarios. Tout d’abord, Flux d’assistants : un formulaire unique avec plusieurs pages, avancé par « FORM GOTO PAGE » au fur et à mesure que l’utilisateur termine les étapes. Deuxièmement, les interfaces basées sur les rôles — masquent ou désactivent les objets lors du chargement en fonction des privilèges de l’utilisateur, afin qu’un formulaire serve à la fois un administrateur et un visualiseur en lecture seule. Le compromis est la complexité : un comportement dynamique est plus difficile à déboguer qu’une mise en page statique, alors réservez-le aux cas où un deuxième formulaire serait autrement nécessaire.
Considérations sur les performances
Les performances des formulaires de liste 4D sont dominées par le nombre d’enregistrements que 4D doit matérialiser. Une zone de liste basée sur une sélection liée à une sélection d’entité charge uniquement les lignes qu’elle affiche, ce qui maintient la mémoire à plat à mesure que la table s’agrandit. Les list box classiques basées sur des tableaux chargent tout à l’avance et ralentiront sensiblement sur les grandes tables.
Deux autres leviers : le chargement paresseux sur les list box (récupération des lignes lors du défilement) et les requêtes côté serveur qui renvoient une sélection bornée plutôt que la table entière. Pour les déploiements client-serveur, le coût aller-retour de récupération des enregistrements sur le réseau éclipse généralement le temps de rendu, donc restreindre la sélection constitue l’optimisation la plus rentable.
Comment décider
- Saisie de données pour un enregistrement ? Formulaire détaillé.
- Parcourir ou sélectionner parmi de nombreux enregistrements ? Formulaire de liste avec une zone de liste basée sur la sélection.
- Impression ou sortie PDF ? Formulaire de sortie.
- Réutilisable sur plusieurs tables ? Formulaire de projet, pas un formulaire de table.
- Processus en plusieurs étapes ? Un formulaire avec plusieurs pages, avancé dynamiquement.
- Relation maître-détail ? Formulaire détaillé hébergeant un sous-formulaire de type liste.
- Ensemble de choix fixe ? Liste de valeurs statiques. Données en direct ? Liste dynamique de valeurs.
Ces options vous aident à choisir les formulaires 4D adaptés à vos besoins.
Ressources d’apprentissage
La documentation officielle de 4D est la référence faisant autorité pour les formulaires, objets, événements et commandes 4D. Commencez par là pour connaître les noms exacts des propriétés et les signatures de commandes. Pour obtenir des informations générales sur les concepts de base de données sous-jacents, l’article Wikipédia sur 4D (logiciel) donne un historique utile de la plateforme. La page du format JSON vaut la peine d’être lue si vous envisagez de modifier les fichiers .4DForm à la main ou de les comparer dans le contrôle de version. Pour connaître les principes généraux de conception relationnelle qui expliquent la manière dont vous structurez les tables derrière vos formulaires, consultez la présentation de la normalisation de la base de données.
Questions fréquemment posées
Qu’est-ce qu’un formulaire 4D ?
Un formulaire 4D est une présentation d’interface utilisateur déclarative composée d’objets (champs de saisie, boutons, list box, sous-formulaires) liés à des sources de données. 4D évalue les propriétés du formulaire à l’exécution et l’affiche dans une fenêtre, une boîte de dialogue ou sous forme de sous-formulaire embarqué. Les formulaires sont de trois types : détail, liste et sortie.
Quelle est la différence entre un formulaire détail et un formulaire liste dans 4D ?
Un formulaire détaillé affiche un enregistrement à la fois et est utilisé pour la saisie et la modification des données. Un formulaire de liste affiche de nombreux enregistrements, généralement dans une zone de liste, et est utilisé pour la navigation et la sélection. Les deux sont souvent combinés : un formulaire liste pour choisir un enregistrement, puis un formulaire détail pour l’éditer.
Dois-je utiliser des formulaires de projet ou des formulaires de tableau ?
Les formulaires de projet constituent la norme moderne par défaut et sont stockés sous forme de fichiers « .4DForm » distincts, ce qui les rend plus faciles à réutiliser et à gérer dans le contrôle de version. Les formulaires de tableau sont hérités et liés à une seule table. Les nouveaux développements doivent utiliser des formulaires de projet ; les formulaires de table restent pris en charge pour les bases de données existantes.
Comment fonctionnent les listes de valeurs dans les formulaires 4D ?
Les listes de valeurs remplissent les listes déroulantes, les zones de liste déroulante et les menus contextuels. Ils peuvent être statiques (saisis une seule fois), hiérarchiques (éléments imbriqués) ou dynamiques (créés à partir d’un champ, d’un tableau ou d’une formule au moment de l’exécution). Une liste de valeurs peut stocker une valeur tout en en affichant une autre, c’est ainsi que vous affichez le nom d’un client tout en enregistrant son identifiant.
Puis-je modifier un formulaire 4D au moment de l’exécution ?
Oui. Les formulaires dynamiques utilisent des commandes telles que « DIALOG », « FORM LOAD » et « FORM GOTO PAGE » pour charger des formulaires, changer de page et modifier les propriétés des objets pendant l’exécution de l’application. Cela prend en charge les flux de type assistant et les interfaces basées sur les rôles où un formulaire sert différents utilisateurs.
Pourquoi mon formulaire de liste 4D est-il lent avec les grands tableaux ?
La lenteur de le formulaire de liste vient généralement de la matérialisation d’un trop grand nombre d’enregistrements. Les zones de liste basées sur des sélections liées aux sélections d’entités chargent uniquement les lignes affichées, tandis que les zones de liste basées sur des tableaux chargent tout. L’activation du chargement différé et la réduction de la requête à une sélection limitée sont les deux correctifs ayant le plus grand impact.
Questions fréquentes
Qu'est-ce qu'un formulaire 4D ?
Un formulaire 4D est une présentation d'interface utilisateur déclarative composée d'objets (champs de saisie, boutons, list box, sous-formulaires) liés à des sources de données. 4D évalue les propriétés du formulaire à l'exécution et l'affiche dans une fenêtre, une boîte de dialogue ou sous forme de sous-formulaire embarqué. Les formulaires sont de trois types : détail, liste et sortie.
Quelle est la différence entre un formulaire détail et un formulaire liste dans 4D ?
Un formulaire détaillé affiche un enregistrement à la fois et est utilisé pour la saisie et la modification des données. Un formulaire de liste affiche de nombreux enregistrements, généralement dans une zone de liste, et est utilisé pour la navigation et la sélection. Les deux sont souvent combinés : un formulaire liste pour choisir un enregistrement, puis un formulaire détail pour l'éditer.
Dois-je utiliser des formulaires de projet ou des formulaires de tableau ?
Les formulaires de projet constituent la norme moderne par défaut et sont stockés sous forme de fichiers « .4DForm » distincts, ce qui les rend plus faciles à réutiliser et à gérer dans le contrôle de version. Les formulaires de tableau sont hérités et liés à une seule table. Les nouveaux développements doivent utiliser des formulaires de projet ; les formulaires de table restent pris en charge pour les bases de données existantes.
Comment fonctionnent les listes de valeurs dans les formulaires 4D ?
Les listes de valeurs remplissent les listes déroulantes, les zones de liste déroulante et les menus contextuels. Ils peuvent être statiques (saisis une seule fois), hiérarchiques (éléments imbriqués) ou dynamiques (créés à partir d'un champ, d'un tableau ou d'une formule au moment de l'exécution). Une liste de valeurs peut stocker une valeur tout en en affichant une autre, c'est ainsi que vous affichez le nom d'un client tout en enregistrant son identifiant.
Puis-je modifier un formulaire 4D au moment de l'exécution ?
Oui. Les formulaires dynamiques utilisent des commandes telles que DIALOG, FORM LOAD et FORM GOTO PAGE pour charger des formulaires, changer de page et modifier les propriétés des objets pendant l'exécution de l'application. Cela prend en charge les flux de type assistant et les interfaces basées sur les rôles où un formulaire sert différents utilisateurs.
Pourquoi mon formulaire liste 4D est-il lent avec les grands tableaux ?
La lenteur de la forme de liste vient généralement de la matérialisation d'un trop grand nombre d'enregistrements. Les zones de liste basées sur des sélections liées aux sélections d'entités chargent uniquement les lignes affichées, tandis que les zones de liste basées sur des tableaux chargent tout. L'activation du chargement différé et la réduction de la requête à une sélection limitée sont les deux correctifs ayant le plus grand impact.
Créez une application personnalisée gratuitement pendant 15 jours
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.