cela faisait plusieurs mois que je n’ai pas pu toucher à Gladys.
Je me relance quelques jours dessus (je profite de quelques repos).
Et ce qui me saute au visage c’est la lourdeur du fonctionnement des scènes.
En effet, le système des blocs est vraiment lourde et peu lisible.
Le top serait d’avoir un système à la node RED (que je ne maîtrise pas du tout), c’est très visuel et très intuitif…
L’idée serait de conserver les blocs existants actuellement (déclencheurs, actions, condition, test…) mais de les visualiser comme de petits blocs sur le canvas.
On pourrait peut etre utiliser React Flow vue que Gladys est en prereact de ce que j’ai vu sur la doc.
Après je ne sais pas du tout le travail que cela nécessiterait…
Mais je suis convaincu par cette approche qui est vraiment user friendly.
Exemple avec un bouton qui gère un ventilateur via une prise connectée.
1 clic sur le bouton : Allume la prise connectée
2 clics sur le bouton : Éteint la prise connectée
1 clic long sur le bouton : Allume la prise puis l’éteint au bout de 2h.
Il est possible de créer 3 scènes différentes mais on se retrouve avec quantités de scènes…
Créer une scène qui gère tout, ce qui me plaît bien mieux.
Mais on se retrouve avec un truc assez lourd du genre :
C’est un très bon retour, même si ça représente un sacré chantier
Je suis d’accord qu’il y a quelques points de friction dans l’interface actuelle de création de scènes. En revanche, je ne suis pas sûr que tout refaire soit la bonne approche, c’est quand même des années de travail
À mon avis, corriger progressivement ces points de friction est déjà une excellente première étape.
De mon côté, une réécriture complète des scènes n’est pas prévue dans la roadmap
Je comprends que ça représente beaucoup de travail mais je pense vraiment que ça serait un vrai avantage par rapport aux autres applications et c’est tellement user friendly
Et du coup, si à long terme c’est ce qui risque d’arriver, tout dev supplémentaire du système actuel risque d’être perdu au final.
Claude conseille de le faire en 3 étapes :
Juste en affichage en se basant sur les scènes actuelles en plus du système actuel
Une des points particulièrement lourd par les scènes c’est l’imbrication des « Si … Alors … Sinon ». En plus d’être long à faire, c’est difficile à relire car on il est très difficile d’avoir une vision globale.
J’avais besoin d’enchainer 5 ou 6 conditions pour traduire en « Texte clair » les valeurs possibles d’un code erreur dans l’API PALLAZZETTI, j’ai hésité à me faire un NodeRED pour pouvoir utiliser un noeud « Change »
Dans ton cas, tu n’as probablement pas besoin d’imbriquer : tu peux simplement enchaîner 6 conditions de manière linéaire. Ça évite d’avoir une structure trop large horizontalement et trop “compressée” à lire.
Je pense qu’il y a quelques améliorations UI à apporter pour rendre le bloc “Si… Alors… Sinon” moins massif. Par exemple, permettre de passer en plein écran en un clic, un peu comme le fait Notion
J’ai utilisé ma base de données gladys pour regarder les scènes et c’est franchement propre, pas parfait, j’ai demandé quelques corrections et j’ai repoussé un container.
Je testerai que ça fonctionne bien dans les jours qui viennent.
Par contre la mise en place des blocs doit rendre fou XD
Quand tu veux déplacer un bloc, tu as la fenêtre des propriétés qui s’ouvre et te cache la vue.
Ça on doit pouvoir dire lors du relâchement du clic et non au clic.
Quand tu veux tracer un lien, tu ne vois ou tu le déposes vu que ton doigt le cache.