CO2 est le nom du module correspondant à la 2nd version du module Communecter.
Le module CO2 fait parti du projet PixelHumain, au même titre que d'autres modules développés au sein de PixelHumain.
CO2 a lui même été construit de façon à pouvoir intégrer facilement de nouvelles applications, et aussi pouvoir les activer/désactiver très facilement, via 1 seul fichier de configuration : https://github.com/pixelhumain/co2/blob/master/config/CO2/params.json
Les applications actuellement activées sont : welcome, recherche, agenda, annonces, live, page, et info.
Ce fichier sert à configurer un certain nombre de paramètres pour chaque application, ce qui permet de configurer très rapidement une nouvelle app, sans toucher au code commun qui gère toutes les applications.
# Créer une nouvelle application dans CO2
## 1- Ajouter l'application dans le fichier /modules/co2/config/CO2/params.json, en suivant l'exemple suivant :
Il convient bien évidemment de remplacer "#nomdelapplication" par le nom de votre application, les titres ect ...
Pour l'icône, choisir un nom parmi cette liste : http://fontawesome.io/icons/
```
"#nomdelapplication": {
"inMenu" : true,
"useHeader" : true,
"open" : true,
"subdomain" : "nomdelapplication",
"subdomainName" : "Nomdelapplication",
"hash" : "#app.nomdelapplication",
"icon" : "nomDeLIconeFontawesome",
"mainTitle" : "Nom de l'application",
"placeholderMainSearch" : "Rechercher dans ..."
},
```
(il est conseillé d'indiquer tous les paramètres, mais il est possible d'en enlever ou d'en rajouter selon vos besoins.)
## 2- Ajouter une nouvelle fonction dans le fichier AppController.php du module CO2
Ouvrir le fichier /modules/co2/controllers/AppController.php et rajouter par exemple :
L'array retourné par la fonction actions() contient l'essemble des pages qui seront traitées par les classes précédemment créées dans le module CitizenToolKit.
## 4- Créer les liens vers les actions
Dans /modules/co2/components/CommunecterController.php, il faut créer les liens vers les actions (qui afficheront les sous pages) dans l'array $pages :