Les bases de l'apprentissage en 4e dimension
Jeff Hopkins est partenaire 4D, développeur expert FileMaker Pro, propriétaire de HPO SOFT et fondateur de l’association à but non lucratif Association of Database Developers, Inc. Lorsqu’il n’occupe pas certains des rôles ci-dessus, il travaille sans relâche pour aider les autres sur diverses listes de discussion sur les bases de données.
Points clés à retenir
- Dans 4D, construisez dans un ordre précis : Tables → Champs de données → Formulaires → Calculs/Méthodes. Sauter des étapes entraîne des refontes.
- Vous pouvez créer une application de fichier plat à table unique complète et utile sans écrire une seule méthode — à l’exception d’un calcul facultatif (une « Méthode Objet »).
- Dans le mode Conception de 4D, la barre de menu change en fonction de la fenêtre ouverte. Si le menu Structure disparaît, fermez toutes les fenêtres ouvertes (pas l’application 4D elle-même) et il réapparaîtra.
- 4D et FileMaker Pro (FMP) partagent une philosophie low-code, mais 4D expose plus de structure dès le départ — c’est pourquoi l’ordre de création est plus important.
- Créez plusieurs petites bases de données de test plutôt qu’une seule grande pendant l’apprentissage ; le comportement de 4D est parfois surprenant, et l’expérimentation est le moyen le plus rapide de l’intérioriser.
- Une fois que vous maîtrisez les bases des fichiers plats ici, les fichiers liés, les méthodes, les calculs, les environnements d’exécution, les versions compilées et l’hébergement Web deviennent tous accessibles.
i. Introduction
Comme indiqué dans la Partie I, dans le document suivant, 4D signifiera 4e Dimension et FMP signifiera FileMaker Pro. Le document suivant a été créé sur un Macintosh. Bien qu’il puisse y avoir de légères différences dans certaines captures d’écran lors de l’utilisation de 4D pour Windows, la même procédure devrait fonctionner sur les deux plateformes.
Beaucoup diront qu’il faut être programmeur pour créer des programmes 4D. Même si cela ne fait certainement pas de mal, tout comme avec FMP, vous pouvez faire beaucoup de choses sans jamais vous lancer dans la programmation ou l’écriture de scripts. Cette partie guidera le lecteur à travers le développement d’un simple fichier plat à une seule table. À l’exception d’un calcul simple (appelé « Méthode Objet »), il n’y aura aucune méthode ni calcul.
La raison pour laquelle je fais cela est qu’une fois que vous avez maîtrisé ce qui suit, vous pouvez passer aux choses vraiment intéressantes : fichiers liés, méthodes, calculs, environnements d’exécution, versions compilées et hébergement Web.
J’ai trouvé que savoir exactement où l’on se situe dans 4D est la partie la plus difficile au début, car 4D ne fait pas toujours ce à quoi vous vous attendez. Je recommande de créer plusieurs bases de données de test comme décrit dans cette Partie et d’expérimenter différentes options. Dans certains cas, vous serez agréablement surpris, mais dans d’autres, vous pourriez être frustré au début.
La Partie II montrera comment :
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..
- Créer une nouvelle base de données
- Définir les propriétés de la base de données 4D
- Créer des tables
- Créer des champs de données
- Créer des formulaires
- Créer une liste de valeurs (liste de choix)
- Saisir des exemples de données
Ordre de création de la base de données
Il sera utile pour le nouveau développeur 4D de comprendre l’ordre correct de création d’une base de données 4D. Tout d’abord, une Table doit être créée. Ensuite, les Champs de données sont créés. Enfin, les Formulaires d’entrée et de sortie sont créés. Des Calculs/Méthodes sont créés pour les champs de données.
Remarque : De nombreux autres détails doivent être traités, mais ceux ci-dessus sont les bases de ce qui est couvert dans cette Partie.
Cet ordre n’est pas arbitraire : il reflète la façon dont l’éditeur de structure de 4D est conçu. Un formulaire est une mise en page d’une table, la table doit donc exister avant que le formulaire puisse y faire référence.
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..
Un champ de données appartient à une table, la table doit donc exister avant le champ. Un calcul ou une méthode fait généralement référence à des champs, ces champs doivent donc exister en premier. Si vous essayez de travailler dans le désordre, 4D vous arrêtera ou vous obligera à revenir en arrière.
Un modèle mental utile : considérez la structure (tables et champs) comme le squelette et les formulaires comme la peau. Vous ne pouvez pas draper de la peau sur un squelette qui n’a pas encore été construit. Les méthodes et les calculs sont les muscles qui font bouger le squelette — et ils viennent en dernier car ils dépendent de la connaissance de l’apparence du squelette.
Pourquoi l’ordre est important en pratique
- Tables d’abord — une table est le conteneur d’une catégorie d’enregistrements (clients, factures, produits). Tout le reste en dépend.
- Champs en second — les champs définissent ce que vous stockez réellement : un nom, une date, un prix, un statut. Choisissez soigneusement les types de champs ici, car modifier un type de champ ultérieurement peut invalider les données existantes.
- Formulaires en troisième — les formulaires sont le moyen pour les humains de voir et de modifier les données. Vous pouvez créer plusieurs formulaires pour la même table (un formulaire de saisie, une vue liste, une mise en page de rapport imprimé).
- Méthodes et calculs en dernier — ils automatisent le comportement. Parce qu’ils font référence à des champs et des formulaires, les construire en dernier évite les références brisées.
Si vous venez d’un environnement de tableur, la tentation est de commencer à saisir des données immédiatement. Résistez à cela. Dans 4D, comme dans toute base de données relationnelle, la structure constitue la fondation, et les données sont injectées ensuite.
Revenir en arrière pour ajouter ou modifier une table
Vous souhaiterez peut-être revenir en arrière pour ajouter de nouveaux champs de données ou une nouvelle table ou un nouveau formulaire. Ce n’est pas aussi simple qu’on pourrait s’y attendre.
Disons que vous avez modifié un formulaire et que vous décidez d’ajouter une autre table. Normalement, en mode Conception, vous sélectionneriez “Nouvelle table” dans le menu Structure. Mais attendez, il n’y a pas de menu Structure. Que s’est-il passé ?
4D a modifié la barre de menus du mode Conception. Vous devez fermer toutes les fenêtres de 4D (pas 4D, juste les fenêtres ouvertes) et le menu Structure réapparaîtra. Vous pouvez maintenant voir les tables pour les modifier ou en créer de nouvelles. Vous pouvez également désormais modifier et créer des champs de données.
Pour modifier ou créer de nouveaux formulaires, le menu Outils du mode Conception est toujours présent, ce qui ne devrait pas prêter à confusion.
C’est l’un des points de confusion les plus courants pour les nouveaux développeurs 4D, et il vaut la peine de comprendre pourquoi cela se produit plutôt que de simplement mémoriser la solution de contournement. 4D utilise une barre de menus contextuelle : les menus que vous voyez reflètent le type de fenêtre qui a actuellement le focus.
Lorsqu’une fenêtre Formulaire est ouverte, 4D suppose que vous travaillez sur un formulaire et vous affiche les menus pertinents pour le formulaire. Le menu Structure — qui régit les tables et les champs — ne s’affiche que lorsqu’aucune fenêtre de formulaire (ou autre fenêtre spécialisée) n’est ouverte.
Conseils pratiques pour naviguer en mode Conception
- En cas de doute, fermez tout. Fermer toutes les fenêtres ouvertes vous ramène à l’état “accueil” où le menu Structure complet est disponible.
- Ne quittez pas 4D. Fermer les fenêtres n’est pas la même chose que de quitter l’application. Votre base de données reste ouverte ; seules les fenêtres d’édition se ferment.
- Enregistrez avant de fermer. Si vous avez des modifications de formulaire non enregistrées, fermez délibérément la fenêtre et confirmez l’invite d’enregistrement plutôt que de forcer la fermeture.
- Utilisez le menu Outils pour les formulaires. Étant donné que le menu Outils est toujours présent en mode Conception, l’édition de formulaires est le seul domaine qui ne nécessite pas la danse du « tout fermer ».
- Attendez-vous à ce que cela semble contre-intuitif au début. La plupart des outils de conception conservent une barre de menus statique. La barre de menus dynamique de 4D est plus sensible au contexte, mais il faut une session ou deux pour ne plus être surpris.
Une fois que vous avez internalisé la règle — la barre de menus suit la fenêtre — la confusion s’évapore en grande partie. Vous arrêtez de chercher un menu manquant et demandez plutôt : « Quel type de fenêtre est ouverte en ce moment ? »
Choix des types de champs et des listes de valeurs
Bien que cette partie évite délibérément la programmation, deux décisions de conception méritent une réelle réflexion car elles sont difficiles à annuler ultérieurement : les types de champs et les listes de valeurs.
Types de champs
Lorsque vous créez un champ de données, vous choisissez le type de données qu’il contient. Les catégories courantes dans 4D (et dans la plupart des bases de données de cette époque) sont :
- Texte / Chaîne — noms, adresses, notes libres. Flexible mais non triable numériquement.
- Nombre — quantités, prix, identifiants. Triable et utilisable dans les calculs.
- Date — dates du calendrier. 4D les stocke de manière à prendre en charge l’arithmétique et le tri des dates.
- Heure — heures et durées.
- Booléen — un indicateur oui/non ou vrai/faux.
- Image — images ou graphiques stockés avec l’enregistrement.
Une règle pratique : choisissez le type le plus spécifique qui convient. Si une valeur est un nombre, stockez-la sous forme de nombre et non de texte, sinon le tri et les calculs se comporteront de manière inattendue. Si une valeur est une date, stockez-la sous forme de date afin que 4D puisse la trier chronologiquement plutôt qu’alphabétiquement.
Listes de valeurs (listes de choix)
Une liste de valeurs (également appelée liste de choix) est un ensemble prédéfini d’options parmi lesquelles un utilisateur choisit au lieu de taper. Il s’agit de l’une des fonctionnalités low-code les plus précieuses de 4D car elle :
- Empêche les fautes de frappe — “Active”, “active” et “Actve” deviennent impossibles.
- Accélère la saisie des données — on choisit dans une liste plutôt que de taper.
- Assure la cohérence — chaque enregistrement utilise le même vocabulaire, ce qui rend les rapports et le tri fiables.
Les listes de valeurs peuvent être statiques (une liste fixe que vous saisissez, telle qu’une liste d’États américains ou un ensemble de codes d’état) ou dynamiques (tirées de données, telles qu’une liste de noms de clients existants). Pour une première base de données de fichiers plats, une liste statique constitue le point de départ le plus simple et le plus instructif.
Comment décider : type de champ ou liste de valeurs
| Décision | Choisissez ceci quand… | Attention à… |
|---|---|---|
| Champ de texte | La valeur est libre et imprévisible | Impossible de trier numériquement ; sujet aux fautes de frappe |
| Champ numérique | La valeur est utilisée dans des calculs ou un tri numérique | Ne stockez pas les identifiants sous forme de texte si vous devez les trier |
| Champ date | La valeur est une date du calendrier | Différences de formatage entre les plateformes |
| Champ booléen | La valeur est véritablement à deux états | Ne l’utilisez pas pour des statuts à trois états |
| Liste de valeurs statique | Les options sont fixes et connues | Doit être modifiée manuellement si les options changent |
| Liste de valeurs dynamique | Les options proviennent d’enregistrements existants | Dépend du fait que les données soient déjà propres |
Saisie de données d’exemple
Une fois les tables, champs, formulaires et listes de valeurs en place, la dernière étape de cette partie consiste à saisir des données d’exemple. Ce n’est pas un travail fastidieux — c’est une étape de validation. La saisie de quelques enregistrements réalistes révèle immédiatement les problèmes de conception :
- Un champ qui aurait dû être un nombre accepte du texte.
- Une liste de valeurs ne contient pas une option dont vous avez réellement besoin.
- Un formulaire est disposé d’une manière qui rend la saisie des données fastidieuse.
- Un champ de date s’affiche dans un format inattendu.
Saisir des données d’exemple tôt, alors que la structure est encore fraîche et facile à modifier, est bien moins coûteux que de découvrir les mêmes problèmes après avoir saisi des centaines d’enregistrements réels. Traitez les données d’exemple comme un banc d’essai (test harness) pour votre conception.
Remerciements
Un merci spécial à: James Fortier pour avoir fourni certaines ressources et aidé à la relecture du document.
Copyright © 1994-2000 HPO Soft. Tous droits réservés.
Questions fréquemment posées
Pourquoi le menu Structure disparaît-il en mode Conception 4D ?
4D utilise une barre de menus contextuelle, les menus affichés dépendent donc de la fenêtre qui a actuellement le focus. Lorsqu’une fenêtre Formulaire (ou une autre fenêtre spécialisée) est ouverte, 4D masque le menu Structure et affiche à la place des menus pertinents pour le formulaire. Fermez toutes les fenêtres ouvertes — mais pas l’application 4D elle-même — et le menu Structure réapparaîtra pour vous permettre de modifier les tables et les champs.
Dois-je être programmeur pour construire une base de données 4D ?
Non. Comme avec FileMaker Pro, vous pouvez accomplir énormément de choses dans 4D sans jamais écrire de méthode ou de script. Cette partie construit une application complète de fichier plat à une seule table sans aucune méthode, à l’exception d’un calcul facultatif appelé Méthode Objet. La programmation devient utile plus tard, lorsque vous passerez aux fichiers liés, à l’automatisation et à l’hébergement Web.
Quel est l’ordre correct pour créer une base de données 4D ?
Créez d’abord la Table, puis les Champs de données, puis les Formulaires de saisie et de sortie, et enfin les Calculs/Méthodes pour les champs de données. Cet ordre est important car les formulaires référencent des tables, les champs appartiennent à des tables et les méthodes font généralement référence à des champs — ainsi, construire dans le désordre impose des retours en arrière ou produit des références brisées.
Qu’est-ce qu’une Liste de Valeurs dans 4D, et pourquoi devrais-je en utiliser une ?
Une Liste de Valeurs (également appelée liste de choix) est un ensemble prédéfini d’options parmi lesquelles l’utilisateur choisit au lieu de saisir du texte libre. Cela évite les fautes de frappe, accélère la saisie des données et impose une cohérence entre les enregistrements, ce qui rend le tri et le reporting fiables. Les listes de valeurs peuvent être statiques (une liste fixe que vous définissez) ou dynamiques (tirées de données existantes).
Dois-je stocker les nombres et les dates dans des champs de texte ?
Non — choisissez le type de champ le plus spécifique qui correspond aux données. Les nombres doivent être stockés dans des champs numériques pour être triés et calculés correctement, et les dates doivent être stockées dans des champs de date pour que 4D les trie chronologiquement plutôt qu’alphabétiquement. Stocker des valeurs numériques ou des dates sous forme de texte est une erreur courante de débutant qui provoque ultérieurement des comportements de tri et de calcul confus.
Pourquoi créer plusieurs bases de données de test au lieu d’une seule ?
4D ne se comporte pas toujours comme un débutant s’y attendrait ; expérimenter dans de petites bases de données de test jetables vous permet d’essayer différentes options sans risquer votre travail réel. Vous trouverez certains comportements agréablement pratiques et d’autres frustrants au début, et le moyen le plus rapide d’apprendre la différence est la répétition pratique dans un bac à sable sécurisé.
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.