# GUIDE DU DEVELOPPEUR

1. Pré-requis
2. Arborescence des fichiers
3. Standards de développement
4. Ajouter de nouveaux éléments au menu
5. Ajouter de nouveaux liens dans l'entête
6. Ajouter de nouvelles pages dans l'interface d'administration

1. ## Pré-requis

   Si vous modifiez POSH, n'oubliez pas de nous soumettre vos modifications afin de faire évoluer également le produit pour tous les autres utilisateurs de POSH. Pour cela, contactez-nous sur http://www.portaneo.net

2. ## Arborescence des fichiers

   Signification de chaque répertoires :
   - admin : pages et scripts PHP gérant l'interface d'administration
   - cache : mise en cache XML des informations de l'application (caractéristiques des modules, rubriques, ...)
   - images : Toutes les images utilisées par l'application (sauf celles des modules)
   - includes : Tous les fichiers javascript et includes PHP
   - l10n : fichiers de langue
   - modules : modules utilisés dans l'application
   - cache : caches des modules RSS
   - external : images et javascripts utilisés par les modules
   - pictures : icones des modules
   - quarantine : répertoire temporaire utilisé par le tutoriel
   - portal : pages et scripts PHP gérant le portail personnalisable
   - styles : Tous les fichiers CSS de l'application
   - tools : Outils utilisés par l'application (rss parser, ...)
   - tutorial : fichiers et scripts PHP gérant les pages du tutoriel

3. ## Standards de développement

   Toutes les pages PHP doivent appeler includes/session.inc.php en configurant auparavant les variables $not_access (1 l'utilisateur doit être connecté pour ouvrir cette page, 0 ne doit pas être connecté) et $granted ("A": uniquement accessible aux administrateurs, "I": uniquement accessible aux internautes connectés).
   Pour tout accès à la base de données, utilisez la classe "connection" du fichier includes/connection.inc.php.
   Vous pouvez ajoutez vos nouvelles fonctionnalités grâce à l'ajout de plug-ins, dans l'administration (voir le plug-ins "test" pour exemple).

4. ## Ajouter de nouveaux liens dans l'entête

   Pour ajoutez de nouveaux lien dans l'entête des portails (à coté du lien de connexion) :
   - Modifiez le parametre "headlinks" dans la table "adm_config", en ajoutant le nouveau lien sur le même modèle que les existants (fct: fonction appelée (tapez link(\"votre_lien\") pour un lien hypertexte), label: nom affiché, img:image liée à l'option, comment:texte affiché au survol de la souris, anonymous: est-ce que ce lien est affiché sur la homepage, connected: est-ce que ce lien est affiché dans les portails personnels). L'ordre d'affichage est le même que l'ordre défini dans "adm_config".
   - Dans l'interface d'administration, validez la "configuration générale" afin de regénérer le fichier includes/config.js.

5. ## Ajouter de nouvelles pages dans l'interface d'administration

   - Créez vos fichiers PHP dans le répertoire admin/
   - Ajoutez les nouveaux onglets dans la table "adm_tabs" :
     name : id de l'onglet label : titre affiché sur l'onglet type : taper 4 param : nom du fichier PHP qui s'ouvre quand on clique sur l'onglet

Et n'oubliez pas de nous faire profiter de votre ingéniosité en devenant contributeur de POSH en nous envoyant vos développements !