Je dis pas qu’il faudrait switcher sur CircleCI, je pense il faudrait benchmarker avant CircleCI c’est puissant mais à voir dans ce cas précis si c’est plus rapide!
Ah! Bon envoie les fichiers je vais me débrouiller avec
Ah? Moi j’aime bien
J’aime bien l’idée qu’on voit directement tout le scénario et qu’on puisse l’éditer comme ça, sans forcément avoir à rentrer dans une série de modal.
Pour l’instant il y a 0 modals dans Gladys 4 tu as du remarquer! Je suis pas contre les modals mais j’aimerais qu’il y en ait bien moins que dans Gladys 3 ou quasi tout était modal ^^
Je sais que c’est comme ça que j’ai fais dans intégration, mais c’est pas best practice! Ca créé des nouvelles fonctions à chaque render du composant et donc ça alourdit l’app
Complètement d’accord ! Mais moi j’imaginais plus une petite popup qui s’ouvre a coté ^^
J’ai peur que la avec beaucoup d’info ça deviennent chiant à lire…
Oui oui je sais, et j’ai tenté pleins d’autres choses pour éviter ça mais j’ai abandonné et je me suis dis qu’on pourraient changer ça plus tard
Bon par contre j’ai créé une branch et j’ai commit sur le repo en pensant que c’était mon fork
Désolé… mais au moins tu as les fichiers
Ok! J’ai regardé ça, c’est cool de voir comment intuitivement tu as développé ça, ça me fait penser qu’avant qu’on commence à bosser en groupe il faut absolument que j’écrive des guidelines pour qu’on ait les mêmes process pour développer des nouvelles routes
Je parle pas du style de code qui est déjà enforce par Eslint, juste des méthodes de dev.
Un exemple:
Je vois que pour changer de route vers la route d’édition, tu as fais une fonction “Edit”:
edit(state, scene) {
const name = scene.name.replace(/[^A-Z0-9]/ig, '_').toLowerCase();
store.setState({
sceneEditing: scene
});
route(`/dashboard/scene/edit/${name}`);
},
Il faut éviter ça, car si on accède directement à la route juste en entrant l’URL, le state ne sera pas présent! Ici un <Link> est suffisant.
D’ailleurs la routes GET /scene ne retournera probablement qu’une liste de scene avec juste le name, l’id et le selector. C’est la la vue d’édition qui lorsqu’elle chargera ira chercher la scene en entier!
Oui ça je m’en suis rendu compte
Mais comme je suis pas encore assez familier avec Preact (et ces framwork en général) je suis aller au plus simple pour le moment.
C’est aussi ce que je voulais faire au début mais encore une fois je suis aller au plus simple
Tkt pas de soucis D’ailleurs comme je disais tout dans l’architecture du projet Preact actuel n’est pas encore clair dans ma tête non plus, j’expérimente encore sur certains sujets! On est encore très loin d’être en phase “développement industriel” sur Gladys 4, c’est beaucoup d’expérience encore de mon côté.
Je viens d’intégrer ton design, c’est cool il rend bien =>
D’ailleurs j’ai rajouté un onglet “Trigger” pour gérer la liste des trigger. Mon avis là dessus c’est que c’est clairement quelque chose de séparé des scènes, vu que c’est toute une complexité aussi.
Il va falloir réfléchir à comment on modélise le trigger + les conditions.
Pour la vue d’édition de scènes, pour l’instant je préfère celui que j’ai fais, après je suis d’accord on peut travailler pour réduire l’espace que chaque action prend.
Pour revenir sur le sujet du service Philips Hue, j’ai fini une première version très sommaire de ce service (côté serveur tout du moins, l’interface ne fonctionne pas encore à 100%)
Une fonction intéressante de ce service est la fonction light.turnOn.
J’ai essayé de faire quelque chose le plus simple possible, et en donnant le minimum de chose à faire au service.
Je n’ai volontairement pas fait tout le service gladys-hue, comme j’expérimente encore, si on trouve des choses à changer je préfère n’avoir à modifier que quelques fonctions plutôt que toute l’API
Je vais continuer à réfléchir à d’autres services “classiques”, afin de me faire la main et de voir si cette implémentation fait sens!
Oulala que c’est beau les gars !!!
Je lis attentivement vos messages histoire de m’imprégner de savoir… Peut être que ça va me servir un jour quand j’aurais la motivation de plonger là-dedans…
N’hésitez pas à me donner vos retours avant que je me lance dans l’implémentation
L’autre sujet, c’est de gérer le polling de certains types de périphériques.
Je m’explique.
Certains périphériques comme les Philips Hue ont des méthodes pour rafraichir l’état des ampoules, au cas où l’état ait été changé hors-Gladys, comme par exemple via un interrupteur.
Jusque là, c’était le module qui gérait le polling.
Désormais, c’est intégré à Gladys.
Chaque device a 2 attributs: “should_poll” et “poll_frequency”, et Gladys va automatiquement aller requêter périodiquement le service via une méthode “poll” pour lui demander de mettre à jour l’état d’un device donné.
Aucune surprise, ça confirme les intérêts des gens en domotique en 2019.
Xiaomi, les périphériques bluetooth, Sonoff, Zwave et Yeelight sont les hardware qui sont les plus cherchés. Ca ne m’étonne pas vu l’excellent rapport qualité/prix de l’offre domotique Xiaomi.
Côté problème rencontrés propre à Gladys, le HTTPS, Docker et MQTT arrivent en top. Aucune surprise, ça confirme mon amibition de simplifier ces trois points dans Gladys 4.
Côté intégration logicielle, sans surprise avec Snips, Spotify, Alexa et Telegram.