Page 13 sur 20

Re: [Framework SC] les scenarios en php

Publié : 18 déc. 2016, 09:27
par nou
jeedom/core/js/log.class.js
à la ligne 160, remplacer :
_params.display.text(log); par _params.display.html(log);

Re: [Framework SC] les scenarios en php

Publié : 18 déc. 2016, 14:35
par domoggvad
dJuL a écrit :
nou a écrit :Bonsoir,
les derniers échanges me font m'interroger (probablement pour rien) : le framework sera t il maintenu dans le temps, ou faut il commencer à basculer ces scripts php en les rendant indépendant de la classe ?

Bonne soiré
Tant que ça marche aucune raison de basculer...
Sinon oui je vais faire en sorte qu'il continu à marcher. ;)
Bonjour dJul,
bizarre mon affichage de log, ai-je raté quelque chose ?
merci

Re: [Framework SC] les scenarios en php

Publié : 18 déc. 2016, 15:09
par dJuL
dJuL a écrit : Sinon pour avoir le log html, je le remet au cas où, il faut faire cette modif (faut que je l'intègre dans l'installeur un de ces 4)
dJuL a écrit :Pour corriger les pb d'affichage du log c'est très simple :

/jeedom/core/js/log.class.js

remplacer ligne 160 :

Code : Tout sélectionner

_params.display.text(log);
par

Code : Tout sélectionner

_params.display.html(log);
Puis CTRL + F5 ou bien vider le cache du navigateur pour prendre en compte la modif ;)

Re: [Framework SC] les scenarios en php

Publié : 18 déc. 2016, 15:26
par domoggvad
Un grand merci

Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk

Re: [Framework SC] les scenarios en php

Publié : 18 déc. 2016, 21:18
par DERLOUX
Super merci

Re: [Framework SC] les scenarios en php

Publié : 14 janv. 2017, 00:30
par Bostoc
Super travail, moi qui me demandais si j'allais pouvoir donner du php à jeedom au petit déjeuner !

Vais me faire un projet "WAF liste de course" en php je pense.

Re: [Framework SC] les scenarios en php

Publié : 03 juil. 2017, 13:14
par dJuL
Pour info aucun pb avec la V3 de jeedom
Je vais essayer de mettre à jour l'installeur dans la semaine afin d'avoir la modif du log (pour affichage html)

Re: [Framework SC] les scenarios en php

Publié : 03 juil. 2017, 13:17
par m.georgein
On aura aussi droit au passage de param dans les scénarios ??? ;)

Re: [Framework SC] les scenarios en php

Publié : 03 juil. 2017, 13:48
par nou
super !

merci du retour !
(le framework étant tellement bien intégré, que je l'ai oublié dans ma checklist pré migration v3...)

Re: [Framework SC] les scenarios en php

Publié : 03 juil. 2017, 19:31
par dJuL
m.georgein a écrit :
03 juil. 2017, 13:17
On aura aussi droit au passage de param dans les scénarios ??? ;)
Oui je vais rajouter ce qui manque :
- paramètre tags pour la fonction de contrôle des scenarios
- jeedom_poweroff
- scenario_return (interaction)

Dites moi si il faut d'autres trucs ;)

Re: [Framework SC] les scenarios en php

Publié : 06 juil. 2017, 20:12
par dJuL
Update du framework SC v0.9 en ligne :D

------------

* Refonte de l'installeur / dé-sinstaleur :
- Optimisations
- Vérifications accrues
- Désinstallation automatique si echec durant l'installation
- Modification automatique des fichiers de jeedom pour que le log soit pris en compte en html

* Mise à jour de la documentation :
- Démarrage / Installation
- Démarrage / Vérification
- Nouvelles fonctions du framework ajoutées

* Prises en compte des tags passés en paramètre dans les scénarios :
- Tags exploitables via les fonctions du framework (getTag, getExp, getCond)
- Ajouts du paramètre $tags dans la fonction sc::scenario:
http://rulistaff.free.fr/sc/doc/?class-sc#_scenario

* Nouvelles fonctions :

- sc::htmlLog (Active ou désactive le html dans le log) :
http://rulistaff.free.fr/sc/doc/?class-sc#_htmlLog

- sc::scenario_return (Texte ou une valeur de retour du scénario) :
http://rulistaff.free.fr/sc/doc/?class- ... rio_return

- sc::alert (Permet d’afficher un message d’alerte avec 4 niveaux) :
http://rulistaff.free.fr/sc/doc/?class-sc#_alert

- sc::popup (Permet d’afficher un popup) :
http://rulistaff.free.fr/sc/doc/?class-sc#_popup

- sc::jeedom_poweroff (Demande à Jeedom de s’éteindre) :
http://rulistaff.free.fr/sc/doc/?class- ... m_poweroff

------------

* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation

------------

Voilou ;)

ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html

Re: [Framework SC] les scenarios en php

Publié : 06 juil. 2017, 20:19
par Theduck38
Bonjour,

C'est toujours compatible avec la version 2.4.6 de Jeedom ? J'ai mis un scénario d'update automatique toutes les nuits, mais je n'ai pas encore migré... et j'ai pas envie de tout casser !

Re: [Framework SC] les scenarios en php

Publié : 06 juil. 2017, 20:28
par dJuL
En théorie oui, aucun soucis (mis à part que certaines nouveautés liées à la V3 ne marcheront pas)

Re: [Framework SC] les scenarios en php

Publié : 06 juil. 2017, 23:28
par Theduck38
Oki, merci !

Re: [Framework SC] les scenarios en php

Publié : 09 juil. 2017, 13:13
par m.georgein
Bonjour,
Il doit y avoir un truc qui m'échappe :(
Impossible de récupérer les tags envoyés par un scénario.
j'appelle avec :

Code : Tout sélectionner

sc::scenario(119, 'start', 'toto=1 titi=2');
et dans le scenario cible je met

Code : Tout sélectionner

echo sc::getTag('#toto#');
et au résultat sc me met dans les logs

Code : Tout sélectionner

WARNING: getTag() - L'évaluation du tag a échoué ( #toto# = #toto# )
Je me suis endormi à quel moment ???? :(

Re: [Framework SC] les scenarios en php

Publié : 09 juil. 2017, 21:49
par dJuL
Effectivement j'ai réussi à reproduire en créant 2 scénarios de test.
Bizarrement je n'ai pas ce pb avec mes vieux scénarios...

En fait il se trouve que le 2ème scénario est exécuté dans le même runtime que le scénario déclencheur, ce qui fait que le contexte du framework n'est plus le bon car il croit qu'il est encore dans le 1er scénario.
Du coup le log du scénario déclenché se trouve dans le log du scénario déclencheur, et forcément les tags envoyés n'arrivent pas car on est dans le mauvais contexte.
Ce n'était pas le cas avant avec la v2.6.4
Surement une optimisation des devs pour éviter de relancer un runtime.

Du coup j'ai du réécrire toutes les classes :o , et du coup forcément nous ne sommes plus sur des fonction statiques pour pallier au pb.
Cela veut dire concrètement que vous allez devoir modifier la syntaxe de tous vos scénarios !

Par exemple :
sc::getTag('montag');
deviendra
$sc->getTag('montag');
Il faudra que vous modifiez partout.

Je dois encore mettre à jour l'installeur et la doc, puis tout tester, donc la nouvelle version sera en ligne d'ici quelques jours...

Re: [Framework SC] les scenarios en php

Publié : 10 juil. 2017, 11:45
par m.georgein
Je reviens sur le problème de passage de tag, en fait cela fonctionne très bien avec sc, le problème n'existe que SI le scénario qui reçoit les tags est en mode "Synchrone", si il ne l'est pas le passage de tag fonctionne sans problème.
Cela pourrait expliquer pourquoi tes anciens scénarios fonctionnent et pas les nouveaux, d'autant que la case à cocher "Synchrone" semble impossible à décocher en 3.09 (elle se recoche systématiquement à l'enregistrement).

PS : Je viens de vérifier tous mes autres scénarios (une centaines), je n'en avais qu'un autre coché en synchrone et lui j'ai pu le décocher ...

En attendant cela va peut être t'épargner la réécriture de tes class j'espère !!!

Re: [Framework SC] les scenarios en php

Publié : 10 juil. 2017, 13:05
par dJuL
Ah cool merci pour l'explication / confirmation du mode synchrone
Me disais bien que ça venait de ça mais effectivement ça semble buggué avec la 3.09 donc je ne pouvais pas décocher et sauver sur mes scénarios de test.
Bon de toutes façons c'est trop tard, j'ai déjà tout ré-écrit...
Comme ça ça marchera aussi en mode synchrone ;)

Re: [Framework SC] les scenarios en php

Publié : 11 juil. 2017, 10:55
par dJuL
Update du framework SC v0.91 en ligne :D

Cette version est une refonte totale afin de supporter les scénarios imbriqués en mode synchrones.
Le framework n'est plus statique.

ATTENTION, CHANGEMENT DE SYNTAXE !

Code : Tout sélectionner

sc::getTag('montag');
devient

Code : Tout sélectionner

$sc->getTag('montag');
--------

Code : Tout sélectionner

//Charge la librairie install
sc::load('install');
//Lance la mise à jour/réinstallation du framework sc
sc_install::update_sc();
devient

Code : Tout sélectionner

//Charge la librairie install
$sc->load('install');
//Lance la mise à jour/réinstallation du framework sc
$sc->install->update_sc();

Il faut mettre à jour tous vos scénarios après avoir fait la maj !

http://rulistaff.free.fr/sc/doc/?Utilisation


------------

* Refonte de l'installeur / dé-sinstaleur :
- Nouvelles modifications des fichiers de jeedom pour supporter le mode synchrone

* Mise à jour de la documentation :
- Maj des rubriques Installation manuelle / Vérification
- Maj afin d'afficher la nouvelle syntaxe du framework dans toutes les rubriques (textes, images, exemples...)

* Maj des librairies :
- Maj des fichiers pour supporter le mode synchrone et la nouvelle syntaxe
- Suppression de la librairie sc_test

------------

* Pour installer / mettre à jour le framework :

- Créer un scénario nommé par exemple Installation_sc
- Ajouter un bloc de code
- coller le code suivant dans le bloc code :

Code : Tout sélectionner

eval(file_get_contents("http://rulistaff.free.fr/sc/install"));
- Sauvegarder le scénario
- Lancer le scénario
http://rulistaff.free.fr/sc/doc/?Installation


------------


Voili voilou ;)

ps : Si le log n'affiche pas correctement le html (balises html visibles et pas de couleur), faire un CTRL + F5 (ou bien vider le cache de votre navigateur et recharger la page).

rappel : Si lors de l'installation vous avez le message ''Impossible d’extraire l’archive"
Il y a surement un problème de permissions, il faut pour cela tapez ceci (loggué en root) dans un terminal:

Code : Tout sélectionner

chown -R www-data:www-data /var/www/html
chmod -R 775 /var/www/html
@todo : Librairie JPI pour pouvoir facilement interagir avec JPI grâce au framework (support natif de toutes les actions !)

Re: [Framework SC] les scenarios en php

Publié : 11 juil. 2017, 12:46
par m.georgein
Après install nickel du new framework, et SANS AUCUN appel à celui ci je vois apparaître par dizaine cette ligne dans les logs :

Code : Tout sélectionner

PHP Warning:  Missing argument 2 for scenarioExpression::variable() in /var/www/html/core/class/scenarioExpression.class.php on line 623
PHP Notice:  Undefined variable: _name in /var/www/html/core/class/scenarioExpression.class.php on line 624
Les logs des scénarios eux sont totalement vide mais pourtant ils semblent fonctionner normalement....

Si je désisntalle sc tout redevient normal