[HOW TO] Création de plugin
Re: [HOW TO] Création de plugin
Super tuto,
ça fait un moment que j'ai pleins d'envie de plugin, jusqu'a present je m'en suis toujours sortie avec des virtuels bien crade et bien complexe, c'est peut etre le moment que je change ça
Par contre il y a un point que tu n'abordes pas et sur lequel je ne trouve pas vraiment d'info, c'est celui de l'environement de travail. Comment tu edites tout ça, comment tu envoie tes modifs sur ta box, etc...
Pour la toute premiere etape de ton tuto, j'imagine qu'on peut editer tout ça tranquille sur son PC, puis envoyé tout ça sur la box en ssh ou ftp? Mais aprés? Tu travail toujours sur ton PC et tu ecrases tout a chaque version? Tu as un petit script qui va bien? Tu arrives à editer directement sur ta box? Si oui comment, avec quel logiciel?Je n'ai pas trouvé d'interface d'edition de plugin dans Jeedom (comme pour le plugin script), mais je suis peut etre passé à coté de quelque chose. Et quid du versioning?
Bref, il est toujours possible de se debrouiller, mais j'aimerais connaitre les best practice de ceux qui ont l'habitude developper des plugins, comment vous poussez vos modifs sur votre box, comment vous attrapez les erreurs de syntax/compilation avant, etc...
ça fait un moment que j'ai pleins d'envie de plugin, jusqu'a present je m'en suis toujours sortie avec des virtuels bien crade et bien complexe, c'est peut etre le moment que je change ça
Par contre il y a un point que tu n'abordes pas et sur lequel je ne trouve pas vraiment d'info, c'est celui de l'environement de travail. Comment tu edites tout ça, comment tu envoie tes modifs sur ta box, etc...
Pour la toute premiere etape de ton tuto, j'imagine qu'on peut editer tout ça tranquille sur son PC, puis envoyé tout ça sur la box en ssh ou ftp? Mais aprés? Tu travail toujours sur ton PC et tu ecrases tout a chaque version? Tu as un petit script qui va bien? Tu arrives à editer directement sur ta box? Si oui comment, avec quel logiciel?Je n'ai pas trouvé d'interface d'edition de plugin dans Jeedom (comme pour le plugin script), mais je suis peut etre passé à coté de quelque chose. Et quid du versioning?
Bref, il est toujours possible de se debrouiller, mais j'aimerais connaitre les best practice de ceux qui ont l'habitude developper des plugins, comment vous poussez vos modifs sur votre box, comment vous attrapez les erreurs de syntax/compilation avant, etc...
Re: [HOW TO] Création de plugin
j'édite avec winscp couplé à notepad++
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Re: [HOW TO] Création de plugin
J'ai créé un partage samba , mis le bon droit des fichiers et c'est bon. J’édite direct sur la box de développement.
Il y a le plugin développement mais faut pas se louper à distance pour conserver l'accés et éditer.
Oui souvent sur mon pc et git permet de gérer les versions.
Si une erreur tu le sais tout de suite et peux récupérer tout de suite
Il y a le plugin développement mais faut pas se louper à distance pour conserver l'accés et éditer.
Oui souvent sur mon pc et git permet de gérer les versions.
Si une erreur tu le sais tout de suite et peux récupérer tout de suite
Re: [HOW TO] Création de plugin
Bonjour,
J'ai quelques questions:
Quelle méthode est appelé lors de l'appuie sur tester dans la partie commande de l'équipement?
Je n'arrive pas à mettre à jour la valeur
Lorsque je sauvegarde l’équipement, j'ai une erreur 500:
La méthode start() est appelé à quelle moment?
Merci
J'ai quelques questions:
Quelle méthode est appelé lors de l'appuie sur tester dans la partie commande de l'équipement?
Je n'arrive pas à mettre à jour la valeur
Lorsque je sauvegarde l’équipement, j'ai une erreur 500:
La méthode start() est appelé à quelle moment?
Merci
Re: [HOW TO] Création de plugin
Tout betement Le seul soucis c'est qu'on ne peut pas developper en remote mais uniquement depuis son reseau local.J'ai créé un partage samba , mis le bon droit des fichiers et c'est bon. J’édite direct sur la box de développement.
Il y a le plugin développement mais faut pas se louper à distance pour conserver l'accés et éditer.
Oui souvent sur mon pc et git permet de gérer les versions.
Si une erreur tu le sais tout de suite et peux récupérer tout de suite
C'est quoi le plugin developpement dont tu parles?
Re: [HOW TO] Création de plugin
recherche outilsdev sur le market
Re: [HOW TO] Création de plugin
J'étais effectivement tombé dessus lors de ma recherche mais ce n'est pas un plugin officiel, il n'est plus mis à jour depuis 2017, et plus aucun lien ne fonctionne (doc, forum, etc...), du coup j'ai fait demi tour
Je viens quand meme de l'installer, ça n'a pas l'air mal en fait, ne serais que pour fouiller dans le code source des plugins qu'on a installé.
Je viens quand meme de l'installer, ça n'a pas l'air mal en fait, ne serais que pour fouiller dans le code source des plugins qu'on a installé.
Tu peux developper? Je ne suis pas sur de comprendre le risque dont tu parles.Il y a le plugin développement mais faut pas se louper à distance pour conserver l'accés et éditer.
Re: [HOW TO] Création de plugin
Je peux répondre pour les risques puisque je viens d'avoir un problème avec une accolade oubliée.Pierre_ a écrit : ↑20 mars 2019, 21:10J'étais effectivement tombé dessus lors de ma recherche mais ce n'est pas un plugin officiel, il n'est plus mis à jour depuis 2017, et plus aucun lien ne fonctionne (doc, forum, etc...), du coup j'ai fait demi tour
Je viens quand meme de l'installer, ça n'a pas l'air mal en fait, ne serais que pour fouiller dans le code source des plugins qu'on a installé.
Tu peux developper? Je ne suis pas sur de comprendre le risque dont tu parles.Il y a le plugin développement mais faut pas se louper à distance pour conserver l'accés et éditer.
Le résultat de cet oubli est une page blanche dans Jeedom.
Le fichier log/http.error contient bien cette erreur mais pas facile d'y accéder en partant d'une page blanche. Le .htaccess empêche l’accès direct.
Si vous utilisiez un plugin pour éditer un code source, page blanche aussi et donc plus d'édition possible et donc pas de possibilité de correction.
Il ne reste que l’accès ssh.
J'ai utilisé elfinder ( https://studio-42.github.io/elFinder ) dans un onglet du navigateur indépendant de Jeedom.
C'est la partie parcours de l'arborescence des fichiers de Jeedom, pour modification, suppression.
C'est ce qui est utilisé dans le plugin outilsdev mais dans une version plus récente et moins buggée.
J'utilise maintenant samba installé sur ma Smart Jeedom pour parcourir les fichiers avec l'explorateur de fichier Windows.
Re: [HOW TO] Création de plugin
Effectivement, ça parait fébrile, je vais me contenter de l'utiliser pour fouiller dans le code source des plugins
J'ai trouvé un plugin ftp pour PyCharm (un IDE que j'utilise deja pour faire un peu de Python), si j'ai bien compris il permet d'uploader tous les fichiers sur un serveur FTP, ça devrait faire le job et me permettre de bosser à distance. Avec l'integration git je devrais avoir un bon point de depart pour bosser tranquillement
Il ne me restera plus qu'a trouver un moyen pour remonter le fichier log/http.error dans PyCharm puisque si j'ai bien compris c'est lui qui contiendra toutes mes erreurs de "compilation"
J'ai trouvé un plugin ftp pour PyCharm (un IDE que j'utilise deja pour faire un peu de Python), si j'ai bien compris il permet d'uploader tous les fichiers sur un serveur FTP, ça devrait faire le job et me permettre de bosser à distance. Avec l'integration git je devrais avoir un bon point de depart pour bosser tranquillement
Il ne me restera plus qu'a trouver un moyen pour remonter le fichier log/http.error dans PyCharm puisque si j'ai bien compris c'est lui qui contiendra toutes mes erreurs de "compilation"
Re: [HOW TO] Création de plugin
Perso, j'utilse vs code avec les extensions suivantes (entre autre) :
- php intellisense: pas besoin d’expliquer je pense, intellisense, vérification syntaxique, linter
- deploy (reloaded): ca c'est top -> tu peux setup l'extension pour upload les fichiers en sftp, soit en manuel, soit en auto dès qu'un fichier est sauvé, soit lors d'un commit git etc
autre extensions sympa (dans le contexte jeedom):
- bracket pair colorizer
- gitlens
- markdown lint (un linter pour markdown donc)
- markdown preview
- php intellisense: pas besoin d’expliquer je pense, intellisense, vérification syntaxique, linter
- deploy (reloaded): ca c'est top -> tu peux setup l'extension pour upload les fichiers en sftp, soit en manuel, soit en auto dès qu'un fichier est sauvé, soit lors d'un commit git etc
autre extensions sympa (dans le contexte jeedom):
- bracket pair colorizer
- gitlens
- markdown lint (un linter pour markdown donc)
- markdown preview
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: [HOW TO] Création de plugin
Ca ne m'avait meme pas traversé l'esprit que VS Code était dispo sur mac os, ça me plait encore plus
Et ton extension deploy à l'air parfaite!
Du coup tu arrives à récuperer le log/http.error dans la solution ou tu t'en passes?
Le markdown c'est pour quoi par contre?
Et ton extension deploy à l'air parfaite!
Du coup tu arrives à récuperer le log/http.error dans la solution ou tu t'en passes?
Le markdown c'est pour quoi par contre?
Re: [HOW TO] Création de plugin
Je ne récupère pas le http.error mais cela doit être possible, j'avoue j'avais pas creusé cette question.
j'ai un tab ouvert sur ce log généralement en // de mon tab pour tester, mais j'y regarderai à l'occas ca peut etre intéressant.
markdown c'est donc le format pour la documentation;
- markdown preview (github style) pour avoir le preview comme si c'était généré sur github -> dès que tu tapes du texte dans ton fichier markdown tu vois le résultat html
- markdownlint pour voir les problèmes de syntaxes et suivre les conventions de formatage, intellisense etc
j'ai un tab ouvert sur ce log généralement en // de mon tab pour tester, mais j'y regarderai à l'occas ca peut etre intéressant.
markdown c'est donc le format pour la documentation;
- markdown preview (github style) pour avoir le preview comme si c'était généré sur github -> dès que tu tapes du texte dans ton fichier markdown tu vois le résultat html
- markdownlint pour voir les problèmes de syntaxes et suivre les conventions de formatage, intellisense etc
Dernière édition par Mips2648 le 21 mars 2019, 13:27, édité 2 fois.
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: [HOW TO] Création de plugin
Oh ok, je n'en suis pas encore lamarkdown c'est donc le format pour la documentation;
Re: [HOW TO] Création de plugin
Je me suis lancé dans le "grand remplacement" et quand j'arrive sur desktop/php/template.php il y a pleins de chaines que tu demandes de remplacer qui ne sont pas présente comme
{{Ajouter un template}} ou <legend>{{Mes templates}}</legend>
En creusant un peu, j'ai l'impression que le desktop/php/vdm.php de ton plugin est trés different de celui du template, comme si le template avait changé depuis le début de ton tuto.
Les chaines entre double accolade correspondent à quoi du coup? On dirait les chaines de caracteres utilisé dans l'interface, mais pourquoi sont elles du format {{machaine}} au lieu de "machaine" ? (désolé si c'est une question debile, mais le php/html c'est pas mon truc)
Edit : my bad, tu l'expliques plus tard :
{{Ajouter un template}} ou <legend>{{Mes templates}}</legend>
En creusant un peu, j'ai l'impression que le desktop/php/vdm.php de ton plugin est trés different de celui du template, comme si le template avait changé depuis le début de ton tuto.
Les chaines entre double accolade correspondent à quoi du coup? On dirait les chaines de caracteres utilisé dans l'interface, mais pourquoi sont elles du format {{machaine}} au lieu de "machaine" ? (désolé si c'est une question debile, mais le php/html c'est pas mon truc)
Edit : my bad, tu l'expliques plus tard :
Important : Le texte entre accolades correspond au texte qui sera traduit si vous poussez le plugin sur le market
Re: [HOW TO] Création de plugin
vraiment, l'édition dans winscp est pratique (besoin de rien configurer => juste choisir l'ip de jeedom, mettre SCP et rentrer root + password)
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Re: [HOW TO] Création de plugin
Il se trouve que je suis sur Mac, et avec un nom comme "winscp" quelque chose me dit que ça ne va pas etre possible Mais j'aime beaucoup le workflow qu'a proposé Mips à base de VS Code et son plugin Deploy.vraiment, l'édition dans winscp est pratique (besoin de rien configurer => juste choisir l'ip de jeedom, mettre SCP et rentrer root + password)
Par conte en me connectant en sftp avec l'user pi, j'ai des problemes d'accés en ecriture au repertoire plugins. Je fixe ça a coup de "sudo chmod -R 777 plugins". Mais je reperds l'accés quelques jours plus tard (probablement quand je met à jour les plugins, mais je ne suis pas sur).
Quelqu'un a quelque chose de plus propre à proposer?
Re: [HOW TO] Création de plugin
Perso, je me sert de WinSCP via Wine sur MAC. Par contre l'intégration avec notepad++ fonctionne pas très bien dans ce cas, donc je reste sur l'éditeur de base.
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)
Re: [HOW TO] Création de plugin
Ajouter l'user pi au groupe www-data pour que l'user pi ait les mêmes droits que www-data
Je le fais en éditant /etc/group mais adduser utilisateur groupe le fait aussi.
Code : Tout sélectionner
sudo adduser pi www-data
Re: [HOW TO] Création de plugin
Du coup, j'imagine que je peux aussi faire quelque chose du genre
Histoire de ne pas toucher a l'utilisateur pi et de limiter les risques, ou je risque d'avoir d'autres soucis de droit avec ce nouvel user (genre mon plugins avec les droits pour piDev et non pi)?
Code : Tout sélectionner
sudo adduser piDev www-data
Re: [HOW TO] Création de plugin
Jeedom utilise via apache l'user www-data
Tous les fichiers de Jeedom appartiennent à www-data:www-data. Ils sont tous en 775. Voir les chown -R et chmod -R dans health.sh
Sans être dans le group www-data l'user pi n'a pas le droit d'écriture des fichiers (5).
Que font pi et piDev sur votre Jeedom?
Tous les fichiers de Jeedom appartiennent à www-data:www-data. Ils sont tous en 775. Voir les chown -R et chmod -R dans health.sh
Sans être dans le group www-data l'user pi n'a pas le droit d'écriture des fichiers (5).
Que font pi et piDev sur votre Jeedom?
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 14 invités