Scènes : Blocs conditionnels (SI… ALORS… SINON…)

Un restart ne suffit pas il faut recréé le container avec la nouvelle image.

1 « J'aime »

ou alors que la machine qui exécute Gladys est top !
J’avais un docker Gladys sur mon Synology DS918 avec 16Go de ram et plein d’autres dockers qui tournent dessus (mais pas de gros docker) + une VM : au final, mes scènes faisaient n’importe quoi, notamment mes scènes pour la machine à laver qui mettaient de 2 à 5h entre le départ et l’arrêt sachant que la machine tournait 30mn …
Depuis que je suis passé sur un min PC avec i5-7600T (et maintenant un i7-7600T :wink: ), Gladys n’a jamais aussi bien fonctionné. Mais je suppose que j’ai certains trucs qui vont trop vite notamment pour le calcul des coûts, je dois surveiller ça.

Merci à toi pour les améliorations. J’ai testé, et je ne suis pas retombé sur des défauts.

Le seul truc, c’est que le drag&drop d’un bloc d’action ne fonctionne pas de l’intérieur du Si Alors Sinon vers l’extérieur, ou inversement. Mais c’est peut-être voulu pour éviter un dysfonctionnement… Ça fonctionne bien par contre entre la section Alors et la section Sinon. Et les actions prises isolément peuvent être déplacées partout, ça c’est bon aussi.

Et autre remarque : sur un Alors ou un Sinon replié, tu affiches « 2 actions ». Plus précisément, ce serait plutôt « 2 blocs d’actions », non?

Salut @pierre-gilles, merci pour les corrections, c’est vraiment du beau boulot !
Ci-dessous mes retours :

Le fonctionnement est nickel : si je supprime tous les blocs supprimables (avec la corbeille) il n’en reste qu’un seul, et si je supprime toutes les actions de l’avant dernier bloc (le dernier n’ayant jamais d’action) alors ce bloc est supprimé automatiquement :+1:

Je reproduis le comportement, un bloc Alors (ou Sinon) ne peut pas passer en bloc d’actions simples à l’extérieur d’un SiAlorsSinon. Il peut aller dans un autre bloc SiAlorsSinon de même niveau (quelque soit le niveau d’ailleurs : 22S1 vers 23A2 ou 22S12A1 vers 21A13A1) MAIS pas dans un bloc de niveau inférieur ou supérieur (23A2 vers 22S12A1 ou inversement) et je pense que c’est pour ça qu’il ne peut pas aussi aller vers un bloc extérieur (donc de niveau supérieur).

Je viens de tester et en fait c’est le total des actions, c’est-à-dire que tu peux avoir 2 blocs de 1 action, ça mettra 2 actions en résumé. Je trouve que cette information est bien représentative de ce qu’il y a en-dessous.
Et ça fonctionne aussi de la même façon quand tu as un sous-bloc SiAlorsSinon (avec des actions) dans un bloc Alors (ou Sinon) : si tu fermes ce Alors (niveau 1), il récupère le nombre d’actions de son niveau ET du sous-bloc (niveau 2). C’est vraiment top !

Remarque : Je ne peux pas déplacer un bloc SiAlorsSinon vers un autre bloc d’actions (du bloc 2 vers le bloc 3 par exemple).

Remarque : Si je déplace le bloc contenant un SiAlorsSinon vers un autre bloc (de 2 vers 1), ça fonctionne.
Si je déplace un bloc avec une action vers le bloc SiAlorsSinon (de 2 vers 1), tout par en sucette et on ne peut plus rien cliquer :frowning:

Ah ben nickel alors, rien à redire. Je n’avais pas poussé mon test assez loin…

Je pense que c’est plus une histoire d’affichage de la vue « Chat » qu’un bug de scène :slight_smile:

Je vais tester :slight_smile:

C’est très abstrait je trouve, pas convaincu !

C’est voulu, si je mettais un fonctionnement mixte, c’était inutilisable car impossible de déterminer vers quel niveau tu veux drag & dropper.

Exemple: Tu as une « Condition Si… Alors… Sinon » qui contient elle même une « Condition Si… Alors… », si je drag & drop vers un groupe d’actions dans le « Alors » le plus profond, en pratique je suis aussi à l’intérieur d’un bloc d’action du « Alors » intermédiaire, et du bloc d’action à la racine. Le drag & drop voit que tu vas dropper vers 3 blocs d’actions différents…

Je pense qu’il y a des solutions qui existent, comme ne pas rendre le bloc entier « droppable » mais seulement une zone de drop à la fin du bloc, mais bon ça me semble un peu hors de ce développement…

Est-ce que pour vous c’est bloquant ce fonctionnement ?

Si oui, il faut faire un travail de spécification sur le drag & drop: qu’est-ce qu’on veut ? (Dans ce cas @StephaneB, ça sera à toi de reprendre la main)

C’est bien 2 actions :slight_smile: Je compte les actions à l’intérieur des blocs. Compter les blocs d’actions à peu d’intérêt je trouve.

C’est voulu aussi, tu ne peux pas remplacer une action « classique » par une action « Si Alors Sinon » et inversement, pour les mêmes raisons que tu ne peux pas bouger un bloc d’action d’un niveau inférieur à supérieur.

Il y a la même solution qui est possible, mais c’est une vrai réflexion à part entière sur le fonctionnement du drag & drop, c’est un peu hors scope je trouve… Enfin, à vous de me dire si ça vous parait bloquant pour release.

Ok je vais investiguer, pas normal ça.

Ok pour l’explication, c’est clair. Et non, je ne trouve pas que cela soit bloquant.

1 « J'aime »

@mutmut Tu as plus d’informations sur ce bug? Je n’arrive pas à reproduire

Je donne mon avis en speed (désolé de ne pas être plus dispo), mais la cohérence apporte de la compréhension.
Si les termes changent, c’est impossible de s’y retrouver.

Je pense qu’il vaut mieux des textes plus propres / pro cohérents que des textes très (trop ?) simples avec moins de cohérence.

L’utilisateur comprendra peut être pas exactement ce que fait une action juste en lisant son nom, mais une fois testé, il comprendra et recherchera les mêmes termes partout.

Et soyons clair sur le fait que les utilisateurs de Gladys ne sont pas des complets novices en informatique non plus.

Perso, dans mes projets pro, si j’ai peur qu’un bouton ou une action ne soit pas suffisamment claire, j’ajoute une infobulle détaillée.

Je trouve la proposition compréhensible, c’est du français pas de l’informatique là.

Voilà, c’était mon infime participation au débat :slight_smile:
Merci pour tout votre taf les gars !

1 « J'aime »

et voilà :

Je viens de tester de mon coté et j’ai un souci avec le drag & drop.

Dans les conditions du bloc ce n’est pas possible d’ajouter en condition un bloc Condition « Si…Alors…Sinon », ce point est OK

Le problème c’est qu’on peut avec le drag & drop glisser un bloc Condition « Si…Alors…Sinon » dans les conditions d’un autre bloc Condition « Si…Alors…Sinon »

Pour cela j’ai créer un bloc Condition « Si…Alors…Sinon » dans le bloc 1 et et un autre bloc Condition « Si…Alors…Sinon » dans le bloc 2.

J’ai ensuite drag & dropper le bloc Condition « Si…Alors…Sinon » du bloc 2 dans les conditions du bloc Condition « Si…Alors…Sinon » du bloc 1.

Par contre le bloc est vérrouillé et on ne peux rien faire avec.

Si ensuite je rebouge ce bloc et je le ressort des conditions ce n’est plus possible de le remettre.

Le drag & drop fonctionne la 1er fois mais pas la 2ème. If faudrai le bloquer avec dès le début.

Merci @mutmut et @_Will_71 pour vos retours de bug, je travaille sur ça aujourd’hui et je reviens vers vous :slight_smile:

Je suis d’accord, mais en informatique, on a parfois tendance à privilégier la cohérence pour la cohérence, au détriment de l’expérience utilisateur. Idéalement, il faut trouver un équilibre entre les deux.

Je vais faire quelques tests et voir ce qui fonctionne le mieux ! :slightly_smiling_face:

Merci @_Will_71 et @mutmut pour vos retours très complet, j’ai réussi à reproduire assez facilement grâce à vos vidéos :slight_smile:

C’est corrigé !

Une nouvelle image Docker est disponible :

gladysassistant/gladys:scene-if-then-else

:point_right: Tutoriel : Lancer une image Docker de test

:warning: Si vous aviez déjà lancé l’ancienne image, pensez à exécuter :

docker pull gladysassistant/gladys:scene-if-then-else

1 « J'aime »

@pierre-gilles C’est OK pour moi

1 « J'aime »

hello, test concluant suite à tes modifs @pierre-gilles , pas de bug.

1 « J'aime »

Merci @_Will_71 et @mutmut pour vos tests, ça part demain en production !

2 « J'aime »

Cette fonctionnalité est disponible dans Gladys Assistant 4.55 :

Merci à tous pour votre aide précieuse, notamment @StephaneB, @_Will_71, @mutmut et @hizo :pray:

5 « J'aime »