Aller au contenu principal
Version: v20 R4 BETA

Architecture of a project

Un projet 4D est composé de plusieurs dossiers et fichiers, stockés dans un dossier racine de projet (dossier package). Par exemple :

  • MyPackage (dossier racine du projet)
    • Composants
    • Data
      • Logs
      • Settings
    • Documentation
    • Plugins
    • Project
      • DerivedData
      • Sources
      • Trash
    • Resources
    • Settings
    • userPreferences.jSmith
    • WebFolder

Si votre projet a été converti depuis une base binaire, des dossiers supplémentaires peuvent être présents. Voir "Conversion de bases en projets" sur doc.4d.com.

Project

La hiérarchie du dossier Project se présente généralement comme suit :

  • fichier <applicationName>.4DProject
  • Sources
    • Classes
    • DatabaseMethods
    • Methods
    • Formulaires
    • TableForms
    • Triggers
  • DerivedData
  • Trash (le cas échéant)

fichier <applicationName>.4DProject

Le fichier de développement de projet, utilisé pour désigner et lancer le projet. Ce fichier peut être ouvert par :

Dans les projets 4D, le développement est réalisé avec 4D et le développement multi-utilisateurs est géré par des outils de contrôle de version. 4D Server peut ouvrir des fichiers .4DProject à des fins de test.

Ce fichier texte peut également contenir des clés de configuration, notamment "tokenizedText" : false.

Sources

ContenuDescriptionFormat
catalog.4DCatalogDéfinit des tables et des champsXML
folders.jsonDéfinitions des dossiers de l'ExplorateurJSON
menus.jsonDéfinit les menusJSON
settings.4DSettingsPropriétés de la base Structure. Elles ne sont pas prises en compte si les paramètres utilisateur ou les paramètres utilisateur pour les données sont définis (voir également Priorité des paramètres). Attention : dans les applications compilées, les paramètres de structure sont stockés dans le fichier .4dz (lecture seule). Pour les besoins du déploiement, il est nécessaire d'activer et d'utiliser les paramètres utilisateurs ou les paramètres utilisateurs pour les données pour définir des paramètres personnalisés.XML
tips.jsonDéfinit les messages d'aideJSON
lists.jsonListes définiesJSON
filters.jsonFiltres définisJSON
styleSheets.cssFeuilles de style CSSCSS
styleSheets_mac.cssFeuilles de style css sur Windows (à partir d'une base binaire convertie)CSS
styleSheets_windows.cssFeuilles de style css sur Mac (à partir d'une base binaire convertie)CSS

DatabaseMethods

ContenuDescriptionFormat
databaseMethodName.4dmMéthodes base définies dans le projet. Un fichier par méthode basetext

Methods

ContenuDescriptionFormat
methodName.4dmMéthodes projet définies dans le projet. Un fichier par méthodetext

Classes

ContenuDescriptionFormat
className.4dmMéthode de définition de classe utilisateur, permettant d'instancier des objets spécifiques. Un fichier par classe, le nom du fichier est le nom de la classetext

Formulaires

ContenuDescriptionFormat
formName/form.4DFormDescription du formulaire projetjson
formName/method.4dmMéthode formulaire projettext
formName/Images/pictureNameImage statique du formulaire projetpicture
formName/ObjectMethods/objectName.4dmMéthodes objet. Un fichier par méthode objettext

TableForms

ContenuDescriptionFormat
n/Input/formName/form.4DFormDescription du formulaire d'entrée de la table (n étant le numéro de table)json
n/Input/formName/Images/pictureNameImages statiques du formulaire d'entrée de la tablepicture
n/Input/formName/method.4dmMéthode du formulaire d'entrée de la tabletext
n/Input/formName/ObjectMethods/objectName.4dmMéthodes objet du formulaire d'entrée. Un fichier par méthode objettext
n/Output/formName/form.4DFormDescription du formulaire de sortie de la table (n étant le numéro de table)json
n/Output/formName/Images/pictureNameImages statiques du formulaire de sortie de la tablepicture
n/Output/formName/method.4dmMéthode du formulaire de sortie de la tabletext
n/Output/formName/ObjectMethods/objectName.4dmMéthodes objet du formulaire de sortie. Un fichier par méthode objettext

Triggers

ContenuDescriptionFormat
table_n.4dmMéthodes trigger définies dans le projet. Un fichier de trigger par table (n étant le numéro de table)text

Note: The .4dm file extension is a text-based file format, containing the code of a 4D method. Il est compatible avec les outils de contrôle de version.

Trash

Le dossier Trash contient des méthodes et des formulaires qui ont été supprimés du projet (le cas échéant). Il peut contenir les dossiers suivants :

  • Methods
  • Formulaires
  • TableForms

Dans ces dossiers, les noms des éléments supprimés sont entre parenthèses, par exemple. "(myMethod).4dm". L'organisation des dossiers est identique à celle du dossier Sources.

DerivedData

Le dossier DerivedData contient des données en cache utilisées en interne par 4D pour optimiser le traitement. Il est automatiquement créé ou recréé si nécessaire. Vous pouvez ignorer ce dossier.

Libraries

Ce dossier n'est utilisé que sur macOS.

Le dossier Librairies contient le fichier résultant d'une compilation avec le compilateur Silicon sur macOS.

Resources

Le dossier Resources contient tous les fichiers et dossiers de ressources personnalisés du projet. Dans ce dossier, vous pouvez placer tous les fichiers nécessaires à la traduction ou à la personnalisation de l'interface de l'application (fichiers image, fichiers texte, fichiers XLIFF, etc.). 4D utilise des mécanismes automatiques pour manipuler le contenu de ce dossier, notamment pour le traitement des fichiers XLIFF et des images statiques. Pour l'utilisation en mode distant, le dossier Resources vous permet de partager des fichiers entre le serveur et tous les ordinateurs clients. Voir le Manuel 4D Server - Référence.

ContenuDescriptionFormat
itemFichiers et dossiers de ressources de la basevariés
Images/Library/itemImages de la bibliothèque d'images sous forme de fichiers séparés(*). Les noms de ces éléments deviennent des noms de fichiers. Si un élément dupliqué existe, un numéro est ajouté au nom.picture

(*) uniquement si le projet a été exporté depuis une base binaire .4db.

Data

Le dossier Data contient le fichier de données ainsi que tous les fichiers et dossiers relatifs aux données.

ContenuDescriptionFormat
data.4dd(*)Fichier de données contenant les données saisies dans les enregistrements et toutes les données appartenant aux enregistrements. Lorsque vous ouvrez un projet 4D, l'application ouvre par défaut le fichier de données courant. Si vous modifiez le nom ou l'emplacement de ce fichier, la boîte de dialogue Ouvrir un fichier de données apparaît alors pour vous permettre de sélectionner le fichier de données à utiliser ou d'en créer un nouveaubinary
data.journalCréé uniquement lorsque la base de données utilise un fichier journal. Le fichier journal est utilisé pour assurer la sécurité des données entre les sauvegardes. Toutes les opérations effectuées sur les données sont enregistrées séquentiellement dans ce fichier. Par conséquent, chaque opération sur les données entraîne deux actions simultanées : la première sur les données (l'instruction est exécutée normalement) et la seconde dans le fichier journal (une description de l'opération est enregistrée). Le fichier journal est construit indépendamment, sans perturber ni ralentir le travail de l'utilisateur. Une base de données ne peut fonctionner qu'avec un seul fichier journal à la fois. Le fichier journal enregistre des opérations telles que des ajouts, des modifications ou des suppressions d'enregistrements, des transactions, etc. Il est généré par défaut lors de la création d'une base de données.binary
data.match(interne) UUID correspondant au numéro de la tableXML

(*) Lorsque le projet est créé depuis une base binaire .4b, le fichier de données demeure inchangé. Ainsi, il peut être nommé différemment et placé dans un autre emplacement.

Settings (user data)

Ce dossier contient les paramètres utilisateur pour les données utilisées pour l'administration de l'application.

Ces paramètres ont la priorité sur les paramètres utilisateur et sur les paramètres de structure. Voir aussi Priorité des paramètres.

ContenuDescriptionFormat
directory.jsonDescription des groupes et utilisateurs 4D et de leurs droits d'accès lorsque l'application est lancée avec ce fichier de données.JSON
Backup.4DSettingsParamètres de sauvegarde de la base de données, utilisés pour définir les options de sauvegarde) lorsque la base est lancée avec ce fichier de données. Les clés concernant la configuration de la sauvegarde sont décrites dans le manuel Sauvegarde des clés XML 4D.XML
settings.4DSettingsPropriétés de la base personnalisées pour ce fichier de données.XML

Logs

Le dossier Logs contient tous les fichiers journaux utilisés par le projet. Les fichiers journaux comprennent notamment :

  • conversion de base de données,
  • requêtes de serveur Web,
  • journal des activités de sauvegarde/restitution (Journal de sauvegarde[xxx].txt, voir Journal de sauvegarde)
  • débogage de commandes,
  • Requêtes 4D Server (générées sur les postes clients et sur le serveur).

Un dossier Logs supplémentaire est disponible dans le dossier des préférences système de l'utilisateur (dossier 4D actif, voir commande Get 4D folder) pour les fichiers journaux de maintenance et dans les cas où le dossier de données est en lecture seule.

Settings (user)

Ce dossier contient les paramètres utilisateur**** utilisés pour l'administration de l'application.

Ces paramètres ont la priorité sur les paramètres de structure. Toutefois, s'il existe des paramètres utilisateur pour les données, ils ont la priorité sur ces paramètres utilisateur. Voir aussi Priorité des paramètres.

ContenuDescriptionFormat
directory.jsonDescription des groupes et utilisateurs 4D pour l'application, ainsi que leurs droits d'accèsJSON
Backup.4DSettingsParamètres de sauvegarde de la base de données, utilisés pour définir les options de sauvegarde) à chaque lancement de sauvegarde. Ce fichier peut également être utilisé pour lire ou définir des options supplémentaires, telles que la quantité d'informations stockées dans le journal de sauvegarde. Les clés concernant la configuration de la sauvegarde sont décrites dans le manuel Sauvegarde des clés XML 4D.XML
BuildApp.4DSettingsFichier de paramètres de génération, créé automatiquement lors de l'utilisation de la boîte de dialogue du générateur d'applications ou de la commande BUILD APPLICATIONXML
settings.4DSettingsParamètres personnalisés pour ce projet (tous les fichiers de données)XML
logConfig.jsonFichier de configuration du journal personnaliséjson

userPreferences.<userName>

Ce dossier contient des fichiers qui mémorisent les configurations utilisateur, par exemple la position des points de rupture ou de la fenêtre. Vous pouvez simplement ignorer ce dossier. Il contient par exemple :

ContenuDescriptionFormat
methodPreferences.jsonPréférences de l'éditeur de code de l'utilisateur courantJSON
methodWindowPositions.jsonPosition de la fenêtre de l'utilisateur courant pour les méthodesJSON
formWindowPositions.jsonPosition de la fenêtre de l'utilisateur courant pour les formulairesJSON
workspace.jsonListe de fenêtres ouvertes : sous macOS, ordre des fenêtres à ongletsJSON
debuggerCatches.jsonAppels vers commandesJSON
recentTables.jsonListe ordonée de tablesJSON
preferences.4DPreferencesChemin de données courant et position de la fenêtre principaleXML
CompilerIntermediateFilesFichiers intermédiaires résultant de la compilation Apple SiliconFolder

Composants

Ce dossier contient les composants qui seront disponibles dans le projet d'application. Il doit être stocké au même niveau que le dossier Project.

An application project can be used itself as a component: - for development: put an alias of the .4dproject file in the Components folder of the host project. - à des fins de déploiement : créer le composant et insérer le fichier .4dz résultant dans un dossier .4dbase dans le dossier Components de l'application hôte.

Plugins

Ce dossier contient les plug-ins qui seront disponibles dans le projet d'application. Il doit être stocké au même niveau que le dossier Project.

Documentation

Ce dossier contient tous les fichiers de documentation (.md) créés pour les éléments du projet, tels que les classes, les méthodes ou les formulaires. Les fichiers de documentation sont gérés et affichés dans l'Explorateur 4D.

Pour plus d'informations, reportez-vous à Documenter un projet.

WebFolder

Il s'agit du dossier racine par défaut du serveur Web 4D pour les pages, les images, etc. Il est automatiquement créé lors du premier lancement du serveur Web.

Fichier .gitignore (optionnel)

Fichier qui spécifie les fichiers qui seront ignorés par git. Vous pouvez inclure un fichier gitignore dans vos projets en utilisant l'option Créer un fichier .gitignore sur la page Général des préférences. Pour configurer le contenu de ce fichier, voir Créer un fichier .gitignore.