Documentation des l'écriture des modules

NOM DE DOSSIER
Le dossier doit être placé dans le dossier modules et commencer par module_ pour être reconnu comme module
Il doit aussi comporter un fichier modconfig.yaml

ce fichier contient le nom du module (optionnel pour le moment) et une version (tout aussi optionnel)
et une liste de pipelines, c'est à dire des lieux du code où peuvent être insérés du code spécifique

EXEMPLE DE FICHIER MODCONFIG.YAML:
---
# description d'un module
title: Base de module
version: 1
insert_admin: menuadmin.php
insert_pages: menupages.php
insert_item: insertitem.php
insert_css: base.css
insert_js: base.js

insert_admin permet d'ajouter le contenu d'un fichier php - un lien (ou autre) en bas de la page admin (sur clic du lien admin)
inser_pages permet d'ajouter le contenu d'un fichier php - un lien (ou autre) dans le menu des pages (en haut à droite)
insert_item permet d'ajouter le contenu d'un fichier php - du code dans le bas de l'affichage latéral et en pleine page des items
insert_css permet d'ajouter un fichier css
insert_js permet d'ajouter un fichier js

ces fichiers sont décrit par leur nom et placé dans le dossier du module

LIENS DANS LES INSERTS VERS LE VIEWER
1) fichier php "libre"
Il est possible de charger un fichier php dans le contenu latéral contenant du php pur 
<div class="link-behavior underlinehover" onclick="yc_loadModulecontent('modules/module_base/pageadmin.php','getphp')">Page de module de base</div>
2) fichier de type page
Il est possible de charger un contenu yaml avec le template de page en pointant le fichier yaml
<div class='' onclick="yc_loadModulecontent('modules/module_base/page.yaml','getyaml')">Présences</div>
Voir le fichier de configuration des pages pour connaitre la structureyaml

INSERTION DANS L'AFFICHAGE DE L'ITEM
Le contenu ajouté dans les item peut accéder aux information de l'item au même titre que les snippets dans app/snippets/display_part_*
par exemple
$item->getParam("titre","label");
$item->getPropre("descriptif");
$item->filename
$item étant l'objet général, $filename le nom du fichier yaml de l'item

TEMPLATES DE PAGE COMPLET
Il est possible de charger une page en bénéficiant de l'environnement du logiciel (css, javascript, entête de code)
en utilisant la requête get ?template suivie du nom du fichier
<a href="?template=modules/module_presences/basedisplaypage.php">Une page</a>