désireux toujours d’apprendre, maintenant que mon installation a bien avancé et que sa stabilité est présente, je souhaiterais apprendre à « coder ».
Coder quoi? des scénarios et pourquoi pas des plugins ( oui il me manque quelques plugins )
sachant que je pars de 0 dans le domaine,
par quoi commence?
Des sites, des livres, des exercices?
ou comme je n’ai pas de formation « informatique », je n’y arriverais pas?
j’ai déja commencé un peu à regarder les plugins, ils sont tous sur la base d’un template jeedom. mais l’interieur reste différent entre tous donc difficile pour un novice de comprendre quelques choses.
merci pour vos renseignements qui pourront m’aiguiller et peut etre d’autres dans cette démarches.
Jeedom étant développé en PHP il faut démarrer par là.
Regarde sur Internet et tu trouveras de nombreux site pour apprendre la syntaxe et les bases pour arriver à faire afficher des choses, faires des calculs, etc …
Maintenant il faut forcement se conformer à ce qu’attend Jeedom pour :
Eviter de réinventer la poudre
Rentrer dans le moule (si on parle de développer un plugin)
Il faut donc absolument récupérer le plugin template et le mettre en place grâce au pas à pas, ça te permettra de voir petit à petit comment est réalisé telle ou telle chose.
Avec plusieurs dizaines d’aller/retour entre ce plugin template, la documentation PHP, le site Jeedom v4 Petits codes entre amis | Jeedom by KiboOst et ce que tu vas trouver sur Community (il y a des centaines de blocs codes que des gens ont publiés pour faire des choses), tu apprendras au fur et à mesure.
La base étant avant tout de monter un Jeedom de développement que tu pourras facilement réinstaller car si tu t’y prend mal tu risques de mettre Jeedom KO.
Tu peux prendre la poudre d’escampette, faire parler la poudre ou mettre le feu aux poudres, mais je crois que c’est la roue qu’on évite de réinventer (sauf si tu voulais jeter de la poudre aux yeux de tes lecteurs)
j’ai commencé à me palucher pleins de videos et site sur le php.
j’ose dire également que l’écriture d’un plugin est un art. Tous sont différents…
une fois le plugin template mis en place et la doc suivie, il faut faire le fichier plugin.class.php. et la par quoi commencer??? j’ai pour le moment du mal a comprendre la logique.
j’ai essayé de comparer une 20aine de plugin, et il n’y pas de similitudes sur ce fichier class.php pour essayer de comprendre. ( ce qui est surement normal car il ne font pas la meme chose)
Mon objectif final est de creer un plugin en utilisant des api jeedom comme celle-ci.
je ne desespére pas et continue de rechercher pour apprendre
Est-que tu as fait le plugin « vide de merde » jusqu’au bout et est-ce que ça fonctionne ?
La majeure partie du code est en effet la plupart du temps dans le fichier mon plugin.class.php
C’est lui qui traite ce qu’il pourrait se passer quand l’utilisateur demande un refresh, quand on sauvegarde un équipement (on gère ici la création des commandes), quand un cron tourne, etc…
Je dirais que la base pour démarrer c’est de savoir :
créer des commandes à la sauvegarde de l’équipement du plugin (il y a une fonction dans ce fichier de class)
ajouter une action qui met à jour une des commandes de l’équipement lors du cron 1mn (il y a aussi une fonction disponible dans le template)
Une fois que c’est maîtrisé, tu peux regarder comment allez chercher une information sur un site web (comme c’est le cas pour « vie de merde », et utiliser le retour, le traiter et mettre à jour une commande du plugin.
Etc … Faut vraiment y aller par étape
Si tu veux faire un démon python, c’est plus difficile… Faudrait pas attaquer par là.
Une fois que tu as créer une base en te basant sur le plugin template, il ne faut pas te demander « qu’est que je met dans le fichier *.class.php? » mais « qu’est ce que mon plugin doit faire? ». Ensuite, tu pourras chercher quelle fonction à mettre dans *class.php permet de réaliser ce que tu veux implémenter.
N’hésite naturellement pas à demander à la communauté comment réaliser telle ou telle fonctionnalité. Tu auras certainement des réponses mais le mieux qui peux t’arriver c’est que l’on t’aiguille vers la bonne documentation qui te permettra d’aller plus loin que ce que tu as demandé.
Au début, tu te retrouvera certainement devant un écheveau que tu ne sauras pas par quel bout prendre. Mais une fois que tu as trouvé un bout…
Perso, ce qui m’a permis de faire un bond dans mes compétences, c’est quand j’ai pu commencer à fouiller dans le code du core de Jeedom. Mais ne commence pas par là…
C’est ainsi que tu deviendras un connaisseur et que tu pourras aider des futures débutants.
C’est quoi 0
aucune maitrise d’un langage de programmation ?
Dis nous d’où tu pars.
Normalement avec un bagage minimum en programmation objet et des notions réseau/API/Protocole/etc. il n’y a pas de souci.
Ensuite quel plugin pour quoi faire ? Si c’est pour toucher à du matériel qui n’a pas de plugin il faut connaitre son protocole pour communiquer avec lui. Il y a aussi les plugins qui automatisent/simplifient les scénarios en touchant au matériel déjà dans Jeedom.