[comment]: # aside:2

[comment]: # ({a2041013-7b40086b})

# Structure des fichiers des modules

Tout le code lié à un module est stocké dans un seul répertoire à l'intérieur du répertoire **modules** de votre installation frontale Zabbix (par exemple, *zabbix/ui/modules*).

[comment]: # ({/a2041013-7b40086b})

[comment]: # ({887796fe-dffd3e26})
### Arborescence des fichiers du module

````yaml
example_module_directory/ (obligatoire)
   manifest.json (obligatoire) Métadonnées et définition des actions.
   Module.php Initialisation du module et gestion des événements.
   actions/ Fichiers du contrôleur d’action.
   SomethingView.php
   SomethingCreate.php
   SomethingDelete.php
   data_export/
   ExportAsXml.php
   ExporterAsExcel.php
   views/ Afficher les fichiers.
   example.something.view.php
   example.something.delete.php
   assets/ Tous les fichiers supplémentaires à utiliser dans les vues. Doit être spécifié dans manifest.json.
   js/ JavaScript utilisés dans les vues.
   example.something.view.js.php
   css/ Fichiers CSS utilisés dans les vues.
   example.something.css
   image.png Images utilisées dans les vues.
   example.something.file Tout fichier à utiliser dans les vues.
````

[comment]: # ({/887796fe-dffd3e26})

[comment]: # ({f1074788-1d438d3e})
### Rédaction d'un module

Le processus de rédaction d'un module d'exemple consiste en les étapes suivantes (lorsque c'est possible, cliquez sur le nom du fichier ou du dossier pour afficher des détails supplémentaires sur l'étape) :

1. Créez un nouveau répertoire pour le module dans **zabbix/ui/modules/**.
2. Ajoutez le fichier [manifest.json](/devel/modules/file_structure/manifest) avec les métadonnées du module.
3. Créez le dossier *[views](/devel/modules/file_structure/views)* et définissez une ou plusieurs vues du module.
4. Créez le dossier *[actions](/devel/modules/file_structure/actions)* et définissez une ou plusieurs actions du module.
5. Créez le fichier Module.php (ou Widget.php pour les widgets de tableau de bord) et définissez les règles d'initialisation et de gestion des événements.
6. Créez le dossier *[assets](/devel/modules/file_structure/assets)* pour les fichiers JavaScript (à placer dans *assets/js*), les styles CSS (à placer dans *assets/css*) ou tout autre fichier supplémentaire.
7. Assurez-vous de spécifier les vues, actions et fichiers d'assets requis dans manifest.json.
8. [Enregistrez](/devel/modules/file_structure/register) le module dans l'interface Zabbix et commencez à l'utiliser.

:::notetip
Vous pouvez enregistrer et activer un module dès que vous créez le fichier manifest.json.
Une fois le module activé, vous pouvez prévisualiser immédiatement toutes les modifications apportées aux fichiers du module en actualisant l'interface Zabbix.
:::

[comment]: # ({/f1074788-1d438d3e})
