Nouvelle Appli Domoticz
Nouvelle Appli Domoticz
Bonjour à tous,
Je viens vous faire part d'une nouvelle appli que je viens de déployer et qui utilise l'API Domoticz : ngx-domoboard (https://github.com/6l3m/ngx-domoboard).
C'est une PWA, c'est à dire comportement quasi-natif, mais à partir du navigateur. On peut néanmoins l'installer et s'en servir comme une application native en choisissant l'option d'ajout à l'écran d’accueil.
Les prérequis sont un serveur Domoticz et un accès par https avec certificat valide.
Pour plus d'infos, vous pouvez consulter le readme sur Github, ou moi directement...
Tout retours, avis, suggestions seront grandement appréciés !
Je viens vous faire part d'une nouvelle appli que je viens de déployer et qui utilise l'API Domoticz : ngx-domoboard (https://github.com/6l3m/ngx-domoboard).
C'est une PWA, c'est à dire comportement quasi-natif, mais à partir du navigateur. On peut néanmoins l'installer et s'en servir comme une application native en choisissant l'option d'ajout à l'écran d’accueil.
Les prérequis sont un serveur Domoticz et un accès par https avec certificat valide.
Pour plus d'infos, vous pouvez consulter le readme sur Github, ou moi directement...
Tout retours, avis, suggestions seront grandement appréciés !
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Nouvelle Appli Domoticz
Salut,
Merci.
Un certificat auto signé est accepté ?
A voir la checkbox ssl, il est autorisé le http également ?
Merci.
Un certificat auto signé est accepté ?
A voir la checkbox ssl, il est autorisé le http également ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Nouvelle Appli Domoticz
Salut,
Alors, pour les certificats, l'appli est assez exigeante en production.
Cela vient du fait que les PWA fonctionnent avec un service worker qui proxy les requêtes au serveur. Cela permet d'utiliser le cache du navigateur et d'avoir un comportement similaire à celui d'avoir téléchargé une appli native, mais c'est aussi un risque en ce qui concerne les attaques MITM.
C'est pourquoi toutes les requêtes doivent se faire en https avec certificat d'une autorité reconnue par le navigateur, donc pas de certificat auto-signé, ou il faut configurer chaque navigateur sur lequel tu veux utiliser l'appli.
Si tu veux obtenir un certificat pour ton serveur domoticz, il y a un très bon tuto pour ça (https://www.domoticz.com/wiki/Native_se ... ts_Encrypt), mais qui suppose que tu as déjà un domaine à toi. Pour un tuto plus complet (et en français !) : https://projetsdiy.fr/securiser-domotic ... net-https/.
Maintenant, tu auras remarqué que le code est open source. Tu peux donc le télécharger et jouer avec en le déployant localement. Dans ce cas, on enregistre pas de service worker dans le navigateur et donc pas besoin de https ou le certificat domoticz auto-signé du serveur par défaut suffit.
Alors, pour les certificats, l'appli est assez exigeante en production.
Cela vient du fait que les PWA fonctionnent avec un service worker qui proxy les requêtes au serveur. Cela permet d'utiliser le cache du navigateur et d'avoir un comportement similaire à celui d'avoir téléchargé une appli native, mais c'est aussi un risque en ce qui concerne les attaques MITM.
C'est pourquoi toutes les requêtes doivent se faire en https avec certificat d'une autorité reconnue par le navigateur, donc pas de certificat auto-signé, ou il faut configurer chaque navigateur sur lequel tu veux utiliser l'appli.
Si tu veux obtenir un certificat pour ton serveur domoticz, il y a un très bon tuto pour ça (https://www.domoticz.com/wiki/Native_se ... ts_Encrypt), mais qui suppose que tu as déjà un domaine à toi. Pour un tuto plus complet (et en français !) : https://projetsdiy.fr/securiser-domotic ... net-https/.
Maintenant, tu auras remarqué que le code est open source. Tu peux donc le télécharger et jouer avec en le déployant localement. Dans ce cas, on enregistre pas de service worker dans le navigateur et donc pas besoin de https ou le certificat domoticz auto-signé du serveur par défaut suffit.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Nouvelle Appli Domoticz
Merci pour les précisions.
Donc un usage totalement local est possible, impec.
Donc un usage totalement local est possible, impec.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Nouvelle Appli Domoticz
De rien.
Pour déployer l'appli en local, il faut avoir nodejs et npm d'installés (https://nodejs.org/en/).
Se mettre ensuite à la racine du projet et installer les dépendances en lançant "npm i".
Démarrer le serveur de dev en tapant "npm run start".
Se rendre à l'adresse "localhost:4200" sur le navigateur.
Pour déployer l'appli en local, il faut avoir nodejs et npm d'installés (https://nodejs.org/en/).
Se mettre ensuite à la racine du projet et installer les dépendances en lançant "npm i".
Démarrer le serveur de dev en tapant "npm run start".
Se rendre à l'adresse "localhost:4200" sur le navigateur.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Nouvelle Appli Domoticz
Penses tu que tu pourrais nous mettre à disposition des packages pre-build que nous n'aurions qu'à déposer dans le dossier domoticz/www/ngx-domo ?
Un peu comme ce que nous offre reacticz
https://github.com/domoticz/Reacticz/bl ... /README.md
Je t'invite également à te rapprocher de Domoticz pour que ton projet rejoigne le leur sur github (a ta convenance) pour plus de visibilité
Encore merci pour ton travail, je ne pourrai pas tester rapidement mais te promet un retour..
Un peu comme ce que nous offre reacticz
https://github.com/domoticz/Reacticz/bl ... /README.md
Je t'invite également à te rapprocher de Domoticz pour que ton projet rejoigne le leur sur github (a ta convenance) pour plus de visibilité
Encore merci pour ton travail, je ne pourrai pas tester rapidement mais te promet un retour..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Nouvelle Appli Domoticz
En fait, la démarche pour obtenir le build est identique à celle de Reacticz.
Il faut passer par un "npm install" pour les dépendances, puis "npm run build". La seule différence est que le dossier où va se trouver le build s'appelle "dist" et non "build".
Je vais faire une section sur le readme pour le build local.
Sinon, je n'ai jamais testé le déploiement sur le serveur domoticz, je ferai un retour la dessus également.
Il faut passer par un "npm install" pour les dépendances, puis "npm run build". La seule différence est que le dossier où va se trouver le build s'appelle "dist" et non "build".
Je vais faire une section sur le readme pour le build local.
Sinon, je n'ai jamais testé le déploiement sur le serveur domoticz, je ferai un retour la dessus également.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Nouvelle Appli Domoticz
en modifiant angular.json avant build, ainsi:
on obtient quelque-chose d'utilisable directement depuis le dossier www de domoticz
avis à chaud,
interface agréable,
la configuration est simple (peut-être trop..)
je n'ai pas trouvé comment réorganiser/restreindre la liste..
les switchs protégés, les sélecteurs, ne sont pas utilisables.. (sauf erreur)
c'est très réactif pour la commande, pour l'affichage il faut attendre le rafraîchissement automatique (comme domoticz)
en l'état je reste sur réacticz, désolé
sinon, certainement de ma faute, lorsque je veux directement accéder à ngx-domoboard/devices/switches j'ai un internal server error, alors que sur https://6l3m.github.io/ngx-domoboard/devices/switches ça passe bien..
le retour par l'accueil semble ne pas se faire.. (peut-être à cause de la modification du baseHref.. un chemin absolu aurait il été préférable.)
Code : Tout sélectionner
"baseHref": "./",Code : Tout sélectionner
http(s)://ip_domoticz:port/ngx-domoboard/interface agréable,
la configuration est simple (peut-être trop..)
je n'ai pas trouvé comment réorganiser/restreindre la liste..
les switchs protégés, les sélecteurs, ne sont pas utilisables.. (sauf erreur)
c'est très réactif pour la commande, pour l'affichage il faut attendre le rafraîchissement automatique (comme domoticz)
en l'état je reste sur réacticz, désolé
sinon, certainement de ma faute, lorsque je veux directement accéder à ngx-domoboard/devices/switches j'ai un internal server error, alors que sur https://6l3m.github.io/ngx-domoboard/devices/switches ça passe bien..
le retour par l'accueil semble ne pas se faire.. (peut-être à cause de la modification du baseHref.. un chemin absolu aurait il été préférable.)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Nouvelle Appli Domoticz
Salut,
Merci pour le retour.
En fait, pas besoin de rentrer dans l'angular.json, on peut modifier le base href dans l'index.html après le build.
Pour accéder aux urls directement, ce n'est pas possible vu qu'Angular ou React créent des SPA (Single Page Application), tout est dans l'index.html, la page ngx-domoboard/devices/switches n'existe pas. Domoticz utilise pour ça un # qui redirige vers l'index.html. Je vais configurer un build spécial intégration à domoticz qui prend ça en compte (avec le bas href).
Pour les fonctionnalités, ça reste très limité, c'est un projet en cours. Le but est dans un premier temps de mettre en place un socle qui tire partie des dernières technos / librairies / framework et d'avoir la meilleure performance possible, afin de pouvoir potentiellement faire appel à des contributeurs. Je suis d'accord avec toi que ça ne correspond pas encore à un usage plus poussé.
A noter que le build local ne permet pas d'avoir directement accès aux mises à jour, ce qui est un peu dommage. Je vais voir s'il n'y aurait pas moyen de contourner ça...
En tout cas, merci encore pour le temps passé sur l'installation.
Merci pour le retour.
En fait, pas besoin de rentrer dans l'angular.json, on peut modifier le base href dans l'index.html après le build.
Code : Tout sélectionner
<base href="./">Pour les fonctionnalités, ça reste très limité, c'est un projet en cours. Le but est dans un premier temps de mettre en place un socle qui tire partie des dernières technos / librairies / framework et d'avoir la meilleure performance possible, afin de pouvoir potentiellement faire appel à des contributeurs. Je suis d'accord avec toi que ça ne correspond pas encore à un usage plus poussé.
A noter que le build local ne permet pas d'avoir directement accès aux mises à jour, ce qui est un peu dommage. Je vais voir s'il n'y aurait pas moyen de contourner ça...
En tout cas, merci encore pour le temps passé sur l'installation.
Re: Nouvelle Appli Domoticz
J'ai fait une configuration spéciale "domoticz" avec le base href et # qu'il faut. Pour obtenir le build dans le dossier "dist" :
Pour la doc : https://github.com/6l3m/ngx-domoboard#b ... t-yourself
Code : Tout sélectionner
npm run build:domoticz