Apprentissage des bases de la 4e dimension
Si vous arrivez à 4D (4e Dimension) depuis FileMaker Pro, l’un des premiers ajustements mentaux que vous devez effectuer concerne les listes de valeurs. FileMaker vous offre une boîte de dialogue conviviale et autonome pour les créer.
4D vous offre quelque chose de plus puissant mais moins guidé : l’Éditeur de liste, un outil en mode conception qui produit des ressources de liste réutilisables que vous attachez ensuite aux objets de formulaire. Cet article explique comment fonctionnent les listes de valeurs dans 4D, en quoi elles diffèrent de l’approche de FileMaker et les décisions pratiques que vous prendrez en cours de route.
Points clés à retenir
- Dans 4D, les listes de valeurs sont créées et stockées de manière centralisée dans l’Éditeur de liste, et non à l’intérieur des définitions de champs individuels comme dans FileMaker.
- Une liste 4D est une ressource nommée ; la même liste peut être attachée à de nombreux objets de formulaire à travers plusieurs formulaires, ce qui permet de centraliser la maintenance.
- Les éléments de liste prennent en charge le formatage par élément (texte brut, gras, italique) et un indicateur modifiable, et chaque élément peut contenir des éléments enfants à une profondeur arbitraire — une structure hiérarchique que les listes de valeurs plates de FileMaker n’offrent pas nativement.
- Les quatre styles d’affichage de FileMaker (Liste contextuelle, Menu contextuel, Cases à cocher, Boutons radio) correspondent aux concepts 4D, mais seule la Liste contextuelle est simple ; les cases à cocher et les boutons radio nécessitent beaucoup plus de travail.
- Le bon moment pour créer une liste est avant de connecter l’objet de formulaire qui l’utilise, afin que vous puissiez le référencer immédiatement par son nom.
Pourquoi 4D les appelle “Listes” et FileMaker les appelle “Listes de valeurs”
La terminologie est le premier obstacle. La documentation et l’interface utilisateur de FileMaker utilisent systématiquement Value List. La documentation 4D et le matériel de formation classique HPO Soft utilisent List, et vous verrez également Choice List dans les anciennes références et publications de la communauté. Ils décrivent tous la même idée : une collection nommée d’éléments parmi lesquels un utilisateur choisit lorsqu’il saisit des données dans un champ.
La différence de nom reflète une réelle différence architecturale. Dans FileMaker, une liste de valeurs est essentiellement une propriété du champ ou de l’objet de modèle : vous la définissez dans le contexte de l’endroit où elle est utilisée, et FileMaker propose trois sources :
- Une liste personnalisée d’éléments que vous saisissez vous-même.
- Une liste dérivée des valeurs de champ — valeurs uniques extraites des enregistrements du fichier actuel, ou valeurs atteintes via une relation.
- Une liste basée sur une liste dans un autre fichier (liste de valeurs d’un fichier associé).
4D prend en charge conceptuellement les trois mêmes sources, mais il sépare la définition de la liste de l’utilisation de la liste. Vous définissez la liste une fois dans l’Éditeur de liste, lui donnez un nom, puis n’importe quel objet de formulaire — une liste contextuelle, une liste déroulante, une zone de liste déroulante, un contrôle d’onglet, peu importe — peut pointer vers ce nom. Cette séparation est l’élément le plus important à internaliser, car elle change la façon dont vous planifiez votre schéma et vos formulaires.
Création d’une liste dans l’Éditeur de listes 4D
Le flux de travail est court mais mérite d’être effectué dans le bon ordre.
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..
- Passez en Mode Conception. Les listes sont des ressources de conception, et non des données d’exécution.
- Ouvrez le menu Outils et choisissez Éditeur de liste. (Dans les versions modernes de 4D, cela se trouve sous le menu Conception / Explorateur selon la version, mais le chemin classique est Outils → Éditeur de liste.)
- La fenêtre de l’Éditeur de liste s’ouvre avec deux sous-fenêtres : Liste des listes à gauche et Liste actuelle à droite.
- Dans le volet de gauche, cliquez sur Ajouter et saisissez un nom pour votre nouvelle liste. Choisissez le nom avec soin : il devient l’identifiant que vous référencerez depuis les objets de formulaire, et renommer la liste ultérieurement impliquera de mettre à jour chaque référence.
- Cliquez sur le nom pour le sélectionner, puis passez au volet de droite et saisissez les éléments de cette liste, un par ligne.
C’est tout le cycle de création. La partie intéressante est ce que vous pouvez faire pour chaque élément une fois qu’il existe.
Formatage et modifiabilité par élément
Chaque élément de liste possède ses propres attributs d’affichage :
- Texte brut (par défaut)
- Gras
- Italique
- Gras et italique
Étant donné que ceux-ci s’appliquent par élément, une seule liste peut mélanger les styles — ce qui est utile pour signaler visuellement un choix par défaut, une option obsolète ou un en-tête de catégorie à l’intérieur de la liste.
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..
Il existe également un indicateur modifiable par élément. Lorsqu’un élément est marqué comme modifiable, l’utilisateur peut modifier cette entrée plutôt que d’être limité au texte prédéfini.
C’est une distinction subtile mais puissante : elle vous permet de livrer une liste qui repose principalement sur un vocabulaire contrôlé, tout en autorisant des “échappatoires” en texte libre là où l’entreprise en a réellement besoin. Utilisez-le avec parcimonie : une fois que les utilisateurs peuvent modifier les éléments de la liste, vos garanties de cohérence des données s’affaiblissent et le reporting sur ce champ devient plus difficile.
Éléments enfants : listes hiérarchiques
La fonctionnalité qui surprend le plus les vétérans de FileMaker est Ajouter un enfant. Tout élément de liste peut avoir un sous-élément, et ce sous-élément peut avoir son propre sous-élément, et ainsi de suite. Vous construisez effectivement un arbre.
Cela est important car de nombreux vocabulaires métier réels sont hiérarchiques :
- Catégories de produits → sous-catégories → SKU
- Régions → pays → villes
- Départements → équipes → rôles
- Plan comptable → groupes de comptes → comptes individuels
Dans FileMaker, vous modéliseriez généralement cela avec une relation réflexive et un portail, ou vous l’aplatiriez en une seule liste avec des conventions de nommage. Dans 4D, vous pouvez exprimer la hiérarchie directement dans la ressource de liste et laisser l’objet de formulaire la présenter sous forme de menu avec retrait. C’est un véritable avantage pour quiconque crée des sélecteurs basés sur des données de référence structurées.
Comment les listes s’attachent aux objets de formulaire
Une fois qu’une liste existe, vous l’attachez à un objet de formulaire — le plus souvent une liste contextuelle (également appelée menu déroulant ou menu contextuel selon le type d’objet et la version). La mécanique :
- Sélectionnez le champ ou l’objet variable sur le formulaire en mode Conception.
- Ouvrez la liste des Propriétés de l’objet.
- Recherchez la propriété Choice List / List et sélectionnez votre liste nommée dans le sélecteur.
Étant donné que la liste est référencée par son nom, la même liste peut piloter une liste contextuelle sur un formulaire de saisie, un formulaire de recherche et un filtre de rapport — tous pointant vers une seule définition. Modifiez la liste une fois, et chaque consommateur est mis à jour. C’est la récompense de ce cérémonial supplémentaire lors de la conception.
Une mise en garde pratique : si vous supprimez ou renommez une liste référencée par des objets de formulaire, ces objets perdent leur liste silencieusement dans certaines versions. Avant de renommer, recherchez l’ancien nom dans vos formulaires. Traitez les noms de liste comme faisant partie de l’interface publique de votre application.
Styles d’affichage : ce qui correspond proprement et ce qui ne correspond pas
FileMaker propose quatre styles d’affichage pour les listes de valeurs. Voici comment ils se traduisent en pratique dans 4D.
| Style d’affichage FileMaker | Équivalent 4D | Difficulté dans 4D |
|---|---|---|
| Popup List | Objet de liste contextuelle / déroulante | Simple — le point de départ recommandé |
| Popup Menu | Objet de menu contextuel | Simple |
| Check Boxes | Objet case à cocher lié à une liste | Beaucoup plus complexe ; nécessite généralement plusieurs objets ou un champ de liste de valeurs |
| Radio Buttons | Groupe de boutons radio | Beaucoup plus complexe ; généralement construit à partir d’objets radio individuels |
Le résumé honnête, et celui que fait le matériel original de HPO Soft : seule la Popup List est décrite ici, car c’est le chemin de moindre résistance. Les listes de valeurs de cases à cocher et de boutons radio sont possibles dans 4D, mais elles sont beaucoup plus complexes que leurs homologues FileMaker. Si vous migrez une solution FileMaker et qu’elle s’appuie fortement sur des listes de valeurs de cases à cocher, prévoyez du temps réel pour cette conversion — ce n’est pas un portage un pour un.
Choisir la bonne source de liste
Avant d’ouvrir l’Éditeur de liste, décidez d’où proviennent les éléments. Cette décision conditionne tout le reste en aval.
- Liste personnalisée statique — vous saisissez les éléments. Idéal pour les vocabulaires petits et stables : codes de statut, salutations, niveaux de priorité, oui/non/inconnu. Rapide à construire, sans coût à l’exécution, mais chaque modification nécessite une édition en mode conception et un redéploiement.
- Liste dérivée des valeurs de champ — les éléments proviennent des valeurs uniques déjà présentes dans un champ. Idéal lorsque le vocabulaire est piloté par les données et croît organiquement, par ex. un champ « type de client » renseigné par d’autres parties du système. Le compromis : la liste n’est aussi propre que vos données, et elle ne peut pas proposer de valeurs qui n’existent pas encore dans aucun enregistrement.
- Liste basée sur un autre fichier / liste liée — les éléments proviennent d’une table liée ou de la liste d’un autre fichier. Idéal pour les données de référence partagées (une table de recherche centrale pour les départements, les devises ou les gammes de produits) sur lesquelles plusieurs parties de l’application doivent s’accorder. C’est l’option la plus maintenable pour tout ce qui évolue avec le temps, car vous mettez à jour la table source, pas la liste.
Une règle empirique utile : si plus d’un formulaire a besoin de la liste, ou si la liste doit changer sans publication de code, pilotez-la par les données plutôt que de la saisir manuellement. Les listes statiques sont destinées aux éléments véritablement fixes — et les éléments véritablement fixes sont plus rares qu’on ne le suppose.
Conseils pratiques et pièges courants
Quelques habitudes durement acquises rendent le travail sur les listes dans 4D beaucoup moins pénible :
- Nommez les listes avec un préfixe et un objectif. Quelque chose comme
lst_Status_Orderoulst_Region_Salesindique au futur mainteneur à quoi sert la liste et où elle est utilisée. Évitez les noms génériques commeList1. - Créez la liste avant l’objet de formulaire. Si vous créez d’abord la liste contextuelle, vous devrez modifier les propriétés de l’objet deux fois.
- Gardez les listes statiques courtes. Une liste statique de cinquante entrées est un fardeau de maintenance ; c’est une liste pilotée par les données déguisée.
- Soyez délibéré concernant les éléments modifiables. Chaque élément modifiable est une faille dans la validation de vos données. Documentez la raison d’être de chacun d’entre eux.
- Utilisez les éléments enfants pour de véritables hiérarchies, pas pour la décoration. Une indentation qui ne reflète pas une véritable relation parent-enfant déroute les utilisateurs plus qu’elle ne les aide.
- Surveillez les références orphelines. Lorsque vous retirez une liste, passez vos formulaires au grep pour trouver son nom avant de la supprimer.
Pour un contexte plus large sur la façon dont 4D s’intègre dans le paysage du low-code et du développement rapide d’applications, la documentation propre à la plateforme et les forums communautaires sont les sources faisant autorité ; la documentation du développeur 4D couvre l’interface utilisateur actuelle de l’Éditeur de liste, qui a évolué depuis la rédaction du matériel classique de HPO Soft. Pour des informations sur le modèle relationnel qui sous-tend les tables, les champs et les recherches, consultez l’article Wikipédia sur le modèle relationnel, et pour la catégorie générale d’outils à laquelle appartient ce travail, l’aperçu Wikipédia des plateformes de développement low-code constitue une orientation utile.
Où les listes s’intègrent dans la construction globale
Les listes de valeurs constituent la sixième étape d’une séquence qui s’établit ainsi : créer une base de données → définir les propriétés de la base de données → définir des tables → définir des champs de données → créer des formulaires → créer des listes de valeurs → saisir des données d’exemple. Notez que les listes viennent après les formulaires et avant les données d’exemple. Cet ordre est délibéré et mérite d’être respecté : vous voulez que vos objets de formulaire soient en place afin de pouvoir y attacher des listes, mais vous voulez que les listes soient terminées avant de commencer à saisir des enregistrements d’exemple, car c’est lors de la saisie des données d’exemple que vous découvrirez si vos listes couvrent réellement les cas du monde réel.
Si vous brûlez les étapes et saisissez d’abord des données d’exemple, vous vous retrouverez à ressaisir des enregistrements à chaque fois que vous affinez une liste. Faites d’abord les listes, puis remplissez les données.
Questions fréquemment posées
Quelle est la différence entre une liste de valeurs dans FileMaker et une liste dans 4D ?
FileMaker définit les listes de valeurs dans le contexte de la rubrique ou de l’objet de modèle qui les utilise, et propose trois sources : des éléments personnalisés, des valeurs provenant d’enregistrements ou d’une relation, et une liste provenant d’un autre fichier. 4D sépare la définition de l’utilisation : vous créez une liste nommée une fois dans l’Éditeur de listes, puis vous attachez ce nom à un nombre quelconque d’objets de formulaire. L’approche 4D demande plus de travail au départ, mais est beaucoup plus facile à maintenir lorsque de nombreux formulaires partagent le même vocabulaire.
4D peut-il créer des listes de valeurs de cases à cocher et de boutons radio comme FileMaker ?
Oui, mais c’est considérablement plus complexe que dans FileMaker. FileMaker vous permet de choisir « Cases à cocher » ou « Boutons radio » comme style d’affichage directement sur une liste de valeurs.
Dans 4D, obtenir le même comportement nécessite généralement plusieurs objets de formulaire ou un champ de liste de valeurs, et le matériel de formation original de HPO Soft ne couvre délibérément que la Liste contextuelle pour cette raison. Prévoyez du temps supplémentaire si vous migrez une solution FileMaker qui repose sur des listes de cases à cocher.
Que sont les éléments enfants dans une liste 4D et quand dois-je les utiliser ?
Un élément enfant est un sous-élément imbriqué sous un élément de liste parent, et l’imbrication peut se poursuivre à n’importe quelle profondeur. Utilisez-les lorsque votre vocabulaire est véritablement hiérarchique — catégories et sous-catégories de produits, régions et villes, départements et équipes. Ne les utilisez pas uniquement pour un regroupement visuel, car l’indentation implique une relation parent-enfant dont les utilisateurs s’attendront à ce qu’elle ait une signification.
Dois-je utiliser une liste statique ou une liste basée sur les données ?
Utilisez une liste personnalisée statique pour les petits vocabulaires stables qui changent rarement, tels que les codes de statut ou les niveaux de priorité. Utilisez une liste dérivée des valeurs de champ ou d’un fichier lié lorsque le vocabulaire s’étoffe au fil du temps ou est partagé sur plusieurs formulaires. Une bonne règle : si la liste doit changer sans publication de code, ou si plus d’un formulaire en a besoin, pilotez-la par les données plutôt que de saisir les éléments à la main.
À quoi sert l’option « modifiable » sur un élément de liste ?
Marquer un élément de liste comme modifiable permet à l’utilisateur de modifier cette entrée au lieu d’être limité au texte prédéfini. C’est utile lorsque vous souhaitez un vocabulaire principalement contrôlé avec quelques « soupapes de sécurité » en texte libre. Utilisez-le avec parcimonie, car les éléments modifiables affaiblissent vos garanties de cohérence des données et rendent les rapports sur ce champ moins prévisibles.
À quel moment du processus de création dois-je créer mes listes de valeurs ?
Créez les listes après que vos formulaires existent, mais avant de saisir des données d’exemple. Vous avez besoin que les objets de formulaire soient en place pour pouvoir leur attacher des listes par nom, et vous voulez que les listes soient terminées avant la saisie d’exemples afin de ne pas avoir à ressaisir des enregistrements à chaque fois que vous affinez une liste. Suivre la séquence — tables, champs, formulaires, listes, puis données d’exemple — évite un travail de reprise considérable.
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.