Je pense avoir fini le cœur.
On a donc un framework qui gère toutes les fonctions de jeedom assez simplement, avec un log détaillé.
J'ai ajouté un système de librairies, qu'on charge au besoin.
On a donc juste les fonctions jeedom dans la classe principale,
Après on peut charger des librairies en fonction de ce dont on a besoin.
J'ai créer une librairie qui justement teste toutes les fonctions.
Ça m'a aidé pour vérifier que tout marche bien.
Pour vous donner un idée des fonctions, voici le log de la lib qui teste (dans presque tout les cas de figure) afin de voir les résultats et erreurs des fonctions publiques de la classe principale.
http://rulistaff.free.fr/sc/test_sc.html (ceci ne peut pas faire office de doc, les arguments des fonctions ne sont pas précisés)
le code qui lance la procédure est :
Code : Tout sélectionner
sc::load('test'); // pour charger la librairie de test
sc_test::go();
Il suffira d'écrire dans un scenario un truc du genre :
Code : Tout sélectionner
sc::load('update'); // pour charger la librairie update
sc_update::go('sc', 'darksobre') //maj du thème et du framework
Code : Tout sélectionner
sc::load('utils'); // pour charger la librairie utils
sc_utils::unzip($filename, $dest) //dezip un fichier
De plus ça permet que n'importe qui puisse créer une lib sans modifier les fichiers de bases de la classe, façon plugin
Faut que je fasse une doc rapide pour pouvoir commencer à balancer le truc à ceux qui veulent tester.
Il y aussi une ligne à modifier dans les fichiers jeedom afin d'avoir un log des erreurs php exploitable (cette ligne ne fait strictement rien tant que vous n'utilisez pas le framework)
Car même si je me suis efforcé de faire un log parlant, si il y a une erreur de syntaxe php dans votre bloc code, comme jeedom fait juste un eval du code, on voit que dalle, et c'est pas très pratique... D'où la petite modif que je vous donnerai au moment voulu.
Hop voilou pour l'instant