Nouvelle gestion des plugins

- Stockage en base de l'état des plugins utilisés / installés
- Une page de config dans le coeur qui permet de gérer les actions standards (via des appels standards) -> et donc les changements d'états
- La seule page qui parse le répertoire plugins est la page de gestion des plugins
- Une fonction standard : plugin_PLUGINNAME_check_config -> true -> opérationnel / false -> problème
- Les différents états :
Etat Description Actions possibles Actions
nouveau répertoire et fichier setup.php présent mais pas d'entrée en base -> créé entrée / pas version installée / etat desinstallé installer / desinstaller (pour gestion erreur)
non installé ou à mettre à jour entrée en base marqué comme non installé installer / desinstaller (pour gestion erreur)
installé / à configurer installé mais à besoin d'une action complémetaire / lancement check_config dans TD pour information Desinstaller
installé / désactivé Plugin installé mais non activé Activer / Desinstaller
installé / activé Plugin installé et activé Déactiver / Desinstaller
- Procédure install : lancement plugin_PLUGINNAME_install si fonction plugin_PLUGINNAME_check_prerequisites n'existe pas ou retourne vrai (a droit de faire un echo dans TD)
- true : install OK : mise à jour version installé
- check_config :
- true : prêt a activer : mise à jour état désactivé
- false : mise à jour état à configurer
- false : install problem
- reste dans l'état desinstallé
- Procédure activation : si check_config OK et si check_prerequisite n'existe pas ou est OK : status -> activé
- Procédure désactivation : status -> desactivé
- Procédure désinstallation : lancement fonction uninstall + status -> uninstall + version installée -> vide
- Dans page de gestion des plugins : chargement des plugins et lancement de l'init des plugins pour tous les plugins installé (nécessaire pour définition page config)
- check présence du fichier au chargement et de la version / celle installée  -> si problème marqué comme desinstallé
- Dans page si pas de fichier et entrée en base -> affichage problème : action nettoyer
- Dans page pour chaque plugin installé et activé : check_prerequisite / check_config : si erreur -> desactivation / rechargement page
- Résumé des fonctions nécessaire pour un plugin dans setup.php :
- plugin_init_example
- plugin_version_example
- plugin_example_install
- plugin_example_uninstall
- plugin_example_check_prerequisites (optionnel)
- plugin_example_check_config
- haveright functions
- Fonctions nécessaire pour les hooks dans hooks.php