====== Arborescence ====== L'arborescence est l'organisation des fichiers et des répertoires. Sous NPDS, nous faisons en sorte que l'aborescence soit **normalisée**. Cela ne signifie pas que votre module ne fonctionnera pas correctement si vous n'utilisez pas ces répertoires mais que nous cherchons à avoir une structure homogène pour tous les modules. Le but de cette page n'est donc pas de présenter le fonctionnement de tous les répertoires mais bien les règles de normalisation de ceux-ci. ===== Répertoires nécessaires ===== La racine de votre module contient l'ensemble des dossiers et fichiers nécessaires au bon fonctionnement de votre module avec NPDS. En voici la liste: * Un répertoire **admin** : contient tous les fichiers d’administration * Un répertoire **images** : contient les images de données du module. * Un répertoire **lang** : contient les fichiers nécessaires au multi langue. * Un répertoire **install** : contient les sous-répertoires suivant : * Un répertoire **sql** : contient les fichiers SQL pour le bon fonctionnement du module * Un répertoire **doc** : contient la licence.txt, et le fichier d’install.txt (fichier d’explication de l’installation manuel du module) * Un répertoire **meta** : contient les métas et leurs explications. //Ce dossier sera utilisé dans une future version de NPDS// * Un répertoire **theme** : contient les fichiers html qui iront dans le thème de l’utilisateur. //Ce dossier sera utilisé dans une future version de NPDS// * Un répertoire **css** : contient la css à fusionner avec celle du thème. //Ce système est en évolution// ===== Répertoires facultatifs ===== La racine de votre module peut aussi contenir des répertoires qui ne seront nécessaires qu'en fonction du type de module. En voici la liste: * Un répertoire **bloc** (optionnel) : contenant les différents blocs du module. * Un répertoire **js** (optionnel) : contenant les fichiers JavaScript. ===== Installation manuelle ===== Pour permettre une installation manuelle du module, certains fichiers de documentation sont obligatoires! * extend-modules.txt (détail de la syntaxe du fichier [[Extend-modules]]) localisé dans le sous répertoire install contenant les informations classiques à un appel de l’admin du module via plugin (si nécessaire), placé dans le répertoire doc * Un fichier de licence en Français et un en Anglais. Ces fichiers sont disponible [[http://modules.npds.org/modules/nmig/licences.zip|ici]]. * Un fichier reprenant la méthode d'installation. Il est le plus souvent nommé INSTALL.TXT. Voici un exemple de fichier install.txt : ################################################################################### ## Nom: Nom de votre application ## Version: Version ## Date: Date de publication ## Auteur: Votre nom ou Pseudo ## ## Description: Description rapide de votre application ## ################################################################################### ## INSTALLATION ## Décrire ici les étapes de l'installation ## ## CONFIGURATION ## Si votre application dispose d'une configuration, indiqué ici la marche à suivre. ## ## UTILISATION ## Appel grace à une URL du type : ## Pour un module : ## MON MODULE ## Pour un Add-On : ## Mon Add-On ## ## ADMINISTRATION DU MODULE ## Si votre application dispose d'une administration, indiqué comment y accéder. ## ################################################################################### Il faut aussi préciser dans le fichier install.txt les répertoires à supprimer une fois l’installation manuel effectuer (exemple : sql, css, theme, doc, etc.). ===== Index.html ===== Il est vivement recommandé de mettre un fichier **index.html** vide dans chaque répertoire et sous-répertoire. Cela permet d'éviter que n'importe qui puisse lister le contenu des répertoires (moins performant qu’un .htaccess mais plus simple à utiliser).