Voici un petit tutoriel permettant de créer un nouveau module dans CO2.
# Création d'une nouvelle "application" dans params.json
Dans le fichier /modules/co2/config/CO2/params.json, il faut ajouter votre application en suivant l'exemple suivant :
Il convient bien évidemment de remplacer "#interoperability" par le nom de votre module, les titres ect ...
Important : ne pas oublier de mettre un "hash" correct type "#app.votremodule", c'est celà qui va pointer votre module vers la bonne page.
```
"#interoperability": {
"inMenu" : false,
"useHeader" : true,
"open" : true,
"subdomain" : "interoperability",
"subdomainName" : "Intéropérabilité",
"hash" : "#app.interoperability",
"icon" : "database",
"mainTitle" : "Module d'intéropérabilité",
"placeholderMainSearch" : "Rechercher des données venus d'ailleurs ..."
},
```
# Création d'un nouveau controller
## Création d'un nouveau controller dans le CitizenToolKit
Il faut se placer dans le dossier : /modules/citizenToolKit/controllers et créer un nouveau dossier (avec pour nom le nom de votre module de préférence).
Ce dossier contiendra l'enssemble de la logique métier dont aura besoin votre nouveau module.
## Création du controller dans le module CO2
Il faut se placer dans le dossier : /modules/co2/controllers et créer une nouvelle page PHP avec pour nom "votremoduleController" et le remplir comme dans l'exemple suivant (exemple pour InteroperabilityController.php) :
Important : Ne surtout pas oublier le "extends CommunecterController" dans la déclaration de la classe.
L'array retourné par la fonction fonction actions() contient l'essemble des pages qui se trouvent dans votre controller créer à l'étape précédente (rapel : controller se situant dans /modules/citizenToolKit/controllers)
# Création du lien vers la page de votre module
## Dans CommunecterController.php
Comme vous l'avez vu, votre nouveau controller hérite de la classe CommunecterController, il convient d'ajouter votre lien dans ce fichier : /modules/co2/components/CommunecterController.php.
Il faut ajouter un nouvel array dans le public array "$pages" comme dans l'exemple suivant :