EDIT
OK, j’ai mis 60 mn et l’installation s’est complétée (en 2 mn ?
)
Merci je vais pouvoir continuer mes travaux.
En 2 min pcq en vrai la précédente ne s’est pas interrompue, le core a juste cessé d’attendre.
Donc en relancant tout était déjà là
Edit: je vais mettre à jour la doc concernant le délai d’installation
Bonjour à tous,
Bon, je souhaite donc faire un retour global sur cette fonctionnalité.
Super boulot !
Selon le mode opératoire et les recommandations additionelles fournies par @Mips, j’ai donc implémenté ces Libs dans mon plugin pour mettre en place un Environnement Virtuel Python (VENV).
Cela va permettre à mon nouveau plugin (SomfyUnified) une compatibilité Debian 10,11 & 12.
Tester sur Jeedom 4.4.5 sous Debian 10 (RPi 4B) et sou Debian 12 (Rpi5).
Cela fonctionne parfaitement.
(+++) Outre la facilté de mise en oeuvre, l’environnement virtuel est géré par le mécanisme Jeedom des dépendances et bénéficie ainsi de ses fonctionalités.
(-) Une amélioration pourrait être au niveau de l’affichage du déroulement des opérations sur le panel Dépendances lors de la création du VENV. Comme nous l’avons vu précédement, cela peut prendre du temps (compté en mn) et une évolution du code pour profiter du widget loader serait pas mal. Je regarderais de mon coté à améliorer cela.
En résumé, un grand merci à l’équipe !
Un tel travail nous facilite grandement la vie à nous développeurs de plugin.
Et merci pour le support.
Bon weekend
Merci pour le retour ![]()
je n’ai pas compris cette partie: une évolution de quel code?
et qu’appelles-tu « widget loader » ?
Bonjour @Mips ,
Un peu de délai à te répondre du à un long weekend …
Ce que j’appelle widget loader, c’est la barre de progression dans le panel Dépendances:

Dans ta lib (dependance.lib), j’ai compris que c’était géré via le fichier dependance:
#!/bin/bash
TMPFOLDER=/tmp/jeedom/${PLUGIN}
if [ -z $PROGRESS_FILENAME ]; then
PROGRESS_FILENAME=dependance
fi
PROGRESS_FILE=${TMPFOLDER}/${PROGRESS_FILENAME}
Comme, de mon coté, je code en anglais, je l’avais nommé dependency (en non pas dependancy
) dans les scripts PHP dependancy_install() et dependancy_info().
Mais, dans ce cas, la barre de progression n’apparait pas.
Si je change dependency en dependance, la barre de progression fonctionne comme attendu.
Ca doit être codé en dur queique part ailleurs ![]()
Pas vraiment important mais c’est dommage ou alors il y a quelque chose qui m’a échappé ?
Non t’as tout compris c’est bien ça
pour le nom en français faut le dire à @nebz ![]()
avant dans mes plugins je nommais aussi le nom du fichier « dependency » mais j’ai changé pour être compatible avec la lib de nebz, ca reste un détail que personne ne regarde, faut juste la savoir
je vais préciser ca dans la doc effectivement
Étant belge, je code en anglais aussi mais 99% des autres devs franco-français ont du mal (comme on dit chez nous
) donc j’ai du faire en français pour être sûr… difficile de revenir en arrière du coup.
Dans le core « dependancy » avec un a est une faute oui. Mais c’est pas la première ou dernière (deamon
)
J’avoue que de temps en temps, ca pique un peu les yeux …
![]()
mais le fichier de progress tu dois même pas le gérer toi même tout est fait par la lib.
Il est quand même défini par son nom dans les scripts PHP (voir plus haut).
ah oui tu veux dire l’array ‹ progress_file › oui mais un copier coller et c’est tout ![]()
cette methode est la même partout chez moi ou presque
Comme je le disais initialement, tout cela n’est pas bien grave.
Ca ne retire rien à la qualité du travail fourni.
Oui, je vais suivre le nom proposé dependance.
Encore merci à tous.
13 messages ont été scindés en un nouveau sujet : Lib jeedomdaemon - délai du callback
Un message a été scindé en un nouveau sujet : Mise en oeuvre de la lib jeedomdaemon
Bonjour,
Quel est le repo « officiel » (je sais que ce n’est pas une lib officielle Jeedom, juste une aide pour nous autre partagée gracieusement) de cette lib très utile : GitHub - NebzHB/dependance.lib ou GitHub - Mips2648/dependance.lib ?
Je sais que le repo de Mips est un fork de celui de nebz, pourtant dans la doc c’est depuis aujourd’hui de nouveau le repo de Mips (qui était celui de nebz depuis le 6 août) qui est mis en lien et il est précisé que c’est lui qu’il faut contacter en cas de question.
J’imagine que les 2 repo sont alignés, mais j’aimerais savoir lequel vous avez défini comme « master ».
Chose importante avec laquelle je souhaitais terminer ce post :
MERCI
à vous 3 !
J’avais passé pas mal de temps à trouver une solution pour implémenter pyenv et ai même tenté un plugin. Avec cette bibliothèque, c’est beaucoup plus confortable.
A+
Michel
Hello,
la lib de dépendance l’officiel c’est chez moi, quand @Mips fait une modif dans sa partie pyenv, il me fait un PR.
il a changé la doc en effet.
donc je pense que le mieux (pour être certain d’avoir les dernières versions) : tu prends dependance.lib chez moi et pyenv chez lui (comme il a indiqué dans sa doc)
Salut,
j’ai écrit pyenv.lib avec l’idée d’utiliser dependance.lib comme base
on peut aussi utiliser pyenv.lib sans dependance.lib mais du coup on perd les avantages apportés (log clair, rapport d’erreur, auto-correction des erreurs connues…)
Donc dependance.lib est une dépendance optionnelle (mais recommandée) de pyenv.lib
et si besoin d’un update ou d’une correction, je m’en charge
p-e que c’était une erreur de remonter pyenv.lib sur le repo de @nebz et que effectivement ca apporte trop de confusion.
ou alors on garde juste mon repo et je te met collaborator ? (je t’ai fait une invit’)
ok on peut faire ca
je vais devoir garder la synchro sur le mien pendant un moment pour ne pas casser les intégrations existantes mais ce n’est pas très compliqué
edit: voilà j’ai mis à jour la doc
Merci à vous 2 pour votre réactivité
