[img]Plugin1.png[/img]
Voici comment ça se décompose, tout d’abord un dossier du nom de votre plugin (son identifiant unique plus exactement) qui doit contenir les sous-dossiers suivants :
- 3rdparty : dossier contenant les librairies externes utilisées dans le plugin (exemple pour le plugin SMS une librairie pour la communication série en php)
- core : dossier contenant tous les fichiers de fonctionnement interne
- - class : dossier contenant la classe du plugin
- - php : dossier pouvant contenir des fonctions ne devant pas forcément appartenir à une classe (souvent utilisé pour permettre l’inclusion de multiples classes ou fichiers de configuration d’un seul coup)
- - config : fichier de configuration du plugin
- - ajax : dossier contenant les fichiers cibles d’appels AJAX
- desktop : dossier contenant la vue "bureau" du plugin (en opposition avec la vue mobile)
- - js : dossier contenant tous les fichiers de type javascript
- - php : dossier contenant tous les fichiers de type php qui font de l’affichage
- - css : il n’y en pas ici mais si besoin tous les fichiers css du plugin vont dedans
- - modal : fichier contenant le code des modals du plugin
- plugin_info : contient les fichiers permettant à Jeedom de qualifier le plugin, de faire son installation et sa configuration
- - doc : dossier pour la documentation du plugin. Sous dossier par langue genre : fr_FR. Les fichiers sont en asciidoc. La racine étant index.asciidoc. Les doc seront automatiquement publier sur doc.jeedom.fr
- - info.xml : fichier contenant les informations de base du plugin (il est obligatoire sinon Jeedom ne verra pas le plugin), il contient entre autre l’identifiant du module, la description, la version, les instructions d’installation...
- - install.php : fichier contenant (si besoin) les méthodes d’installation et de désinstallation du plugin
- - configuration.php : fichier contenant les paramètres à configurer du plugin indépendants des équipements de celui-ci (exemple pour le module Zwave l’ip du Raspberry Pi ayant la carte Razberry)
- Les fichiers de class php doivent obligatoirement se finir par ".class.php"
- Si ce n’est pas géré par un fichier d’inclusion, le nom du fichier doit être "#nom_class#.class.php"
- les fichiers servant uniquement de point d’entrée pour inclure de multiples fichiers doivent se finir par ".inc.php"
- les fichiers de configuration doivent se finir par ".config.php"
- les fichiers d’aide à une page doivent être nommés de cette forme "help.#nomdelapage#.php". Le plus souvent un plugin n’ayant qu’une page de vue, le fichier d’aide aura donc le nom suivant "help.#PLUGIN_ID#.php" (le nom de la première page d’un plugin est forcément le même que l'ID de celui-ci, et donc que le nom du dossier contenant le plugin)
- Les fichiers de type AJAX doivent se finir par ".ajax.php"
- le nom de la première page de vue d’un plugin doit être le même que l’ID du plugin
- le nom du fichier JS (s’il y en a un) de la première page de vue du plugin doit être l’ID du plugin