Introduction
Les plugins sont des petites fonctionnalités qui vous permettent de rajouter des capacités à votre application.
Les fonctionnalités peuvent être d’ordre systématiques, comme par exemple des statistiques, des échappements de caractères spéciaux provenant de l’url, des contrôles de sécurité, des calculs de performances, ...
Les plugins sont développés dans le répertoire plugins des modules. Le nombre des plugins n’est pas limité. Vous pouvez activer / désactiver des plugins via l'interface d'administration dans la section "Activer / Désactiver des plugins".
Les deux composantes
Les plugins sont constitués de deux parties, la partie configuration (facultative) et la partie plugin. Ces deux parties se présentent sous forme de classes :
- La partie plugin correspond à l’implémentation des objectifs du plugin, ou en tout cas à l’appel de cette implémentation.
- La partie configuration ne sert qu’a recevoir les options d’exécution de ces plugins.
Dans le cas d’un plugin nommé Exercice, la classe PluginExercice sera déclarée dans project/plugins/exercice.plugin.class.php.
Cette classe devra hériter de CopixPlugin.
La classe CopixPlugin propose la signature de trois méthodes, méthodes qui seront appelées à différentes étapes de la création de la réponse.
La classe Plugin
Méthode beforeSessionStart
Cette méthode est appelée juste avant le démarrage effectif de la session. Par exemple, si vous souhaitez déclarer des classes avant le démarrage de la session, si vous souhaitez effectuer des traitements avant l’appel à session_start, c’est ici que vous placerez votre code.
Méthode beforeProcess ($action)
Cette méthode est appelée avant l’appel de l’implémentation de l’action (méthode de l’objet ActionGroup).
En paramètre, cette fonction reçoit l’action (CopixAction) qui va être exécutée.
Ici, vous avez l’opportunité de contrôler et de modifier ce qui sera réellement exécuté, en modifiant l’action.
Méthode afterProcess
La méthode afterProcess est appelée juste après votre action et en reçoit le code retour (CopixActionReturn).
Méthode beforeDisplay ($pContent)
La méthode beforeDisplay est appelée juste avant l'affichage du contenu de votre page. Cette méthode n'est bien sûr appelée que si votre action génère un affichage.
Cette méthode reçoit en paramètre une chaine de caractère qui corresponds à la chaine qui va être affichée au navigateur du client.
La classe de configuration du plugin
La classe de configuration est une classe libre qui nous servira à configurer notre plugin.
Dans le cas d’un plugin nommé Exercice, la classe de configuration du plugin doit s’appeler PluginConfExercice et être située dans le fichier exercice.plugin.conf.php.

