nouknouk / node-zigate

ZiGate USB-TTL module for Node.js
GNU Lesser General Public License v3.0
11 stars 3 forks source link

Le projet est-il toujours d'actualité ? OUI #2

Open lsteelandt opened 5 years ago

lsteelandt commented 5 years ago

Bonjour, Je cherche a faire vivre ce projet qui m'a l'air très intéressant pour aboutir au moyen de piloter des appareil Xiaomi et Ikea (entre autres) sans passer par la gateway des fabricants (no cloud).

Il y a eu beaucoup de travail achevé. J'ai cependant l'impression qu'il ne vit plus (depuis le choix personnel du réseau ZWAve ? 😉 ) Est-ce le cas ? J'essaye d'y contribuer (j'ai déjà ajouté un device Xiaomi : ht_sensor.js) mais c'est difficile sans avoir une vue globale sur la conception et sans commentaire dans le code.

Y aurait il moyen d'échanger par email ou message privé Twitter ?

nouknouk commented 5 years ago

Bonjour, et tout d'abord merci pour l'intérêt porté à mon p'tit projet perso :)

Je fais un petit tl;dr parce que je vais écrire un roman dans les comms qui suivent pour mieux expliquer le contexte:

nouknouk commented 5 years ago

Le contexte:

Le projet node-zigate s'inscrit chez moi dans un projet plus global d'écriture d'un logiciel domotique "à la Jeedom", et qui s'appelle domonode. Dans ce cadre, node-zigate est le driver d'un plugin (parmi d'autres) zigate de mon soft domonode. Plus d'infos sur domonode

Le projet domonode s'inscrit lui-même dans le projet global de la domotisation de ma maison ; j'essaie de compiler des infos sur l'ensemble de ma solution domotique dans un wiki GitHub: ma domotique

J'imagine que tu as déjà parcouru le wiki et que c'est ça qui t'a amené à penser que j'avais délaissé le zigbee au profit du zwave ; ce n'est pas le cas, c'était mal exprimé: les deux protocoles cohabitent chez moi et le zigbee est activement utilisé (et donc node-zigate aussi). J'ai modifié la fin de cette page du wiki en conséquence

Je travaille dans l'informatique à temps plein, j'ai également une vie familiale et encore d'autres 'side projects' en parallèle. Il me manque donc du temps pour tout faire ; d'où:

nouknouk commented 5 years ago

les outils pour collaborer

Je suis néophyte en matière de tooling pour les projets rattachés à github, donc le sujet est totalement ouvert ; n'hésite(z) pas à proposer / me compléter / corriger:

Perso, je vois plusieurs besoins:

Bref, autant de questions ouvertes ; à nouveau: je suis néophyte dans ce domaine, j'attends donc vos propositions.

nouknouk commented 5 years ago

next steps:

En résumé, les prochaines actions que j'entrevois:

lsteelandt commented 5 years ago

@nouknouk Je comprends cet arbitrage permanent dans la gestion de son temps :wink:.

C'est notre sort à tous.

Et c'est pas égoïste d être favorable à ce que d'autres contribuent à faire avancer le projet. C'est déjà un sacré don de mettre en ligne ce code.

C'est la vertu du collaboratif de pouvoir exploiter les laps de temps des autres.

Le développement informatique était mon métier il y a bien longtemps. Je m'y mets occasionnellement et notamment pour mes besoins en domotique.

Compte sur moi pour apporter ma modeste contribution avec mes moyens.

Je répondrai au messages suivant en ce qui concerne le collaboratif. À bientôt Luc

lsteelandt commented 5 years ago

Concernant les tooling, mes suggestions dans tes commentaires.

Je suis néophyte en matière de tooling pour les projets rattachés à github, donc le sujet est totalement ouvert ; n'hésite(z) pas à proposer / me compléter / corriger:

Perso, je vois plusieurs besoins:

  • pouvoir demander des précisions, des ajouts de documentation, etc... Pour ça, les issues github me semblent appropriées (quitte à leur ajouter des tags 'documentation' ?)

Je suis du même avis pour un début.

  • pouvoir documenter les bugs / améliorations du code ; là aussi les issues github me semblent appropriées.

Aussi du même avis 😉 .

  • avoir une documentation du projet, à deux niveaux:

    • une documentation globale, qui détaille l'installation, les dépendances, les principaux composants du projet, leurs interactions, etc... pour pouvoir 'entrer' plus facilement dans le code quand on commence. Le contenu sera essentiellement du blabla agrémenté de schémas, images, etc... et une hiérarchisation forte des pages entre elles. Pour cela je vois le wiki github (comme celui déjà en place mais d'autres solutions sont envisageables ? pages github ? autre ?

Le wiki à l'avantage d'être intégrer à Github, mais n'est pas trop chronophage de l'entretenir ? Un fichier Word dans l'espace de fichier ne serait il pas plus facile ? Un simple commit mettrait à jour l'espace.

  • une documentation technique du code: objets, méthodes, paramètres, ... ; ce serait bien d'avoir une doc auto-générée à partir de commentaires directement écrits dans le code (à la manière d'une javadoc) ; et qui s'intègre bien avec le workflow d'un projet github ; quelle(s) solution(s) existent et serait envisageables ?

J'ai pas plus d'expérience dans les outils d'autodoc, mais voici peut être une base de réflexion pour un choix.

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=2ahUKEwifvfqW3pbhAhXGAWMBHb1pBigQFjADegQIBxAB&url=https%3A%2F%2Fwww.slant.co%2Ftopics%2F5104%2F~javascript-documentation-tools&usg=AOvVaw2_CaMcag5aUdc6qYkl7NYO

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&uact=8&ved=2ahUKEwifvfqW3pbhAhXGAWMBHb1pBigQFjAEegQIAhAB&url=https%3A%2F%2Fwww.fusioncharts.com%2Fblog%2Fjsdoc-vs-yuidoc-vs-doxx-vs-docco-choosing-a-javascript-documentation-generator%2F&usg=AOvVaw0QrrWrreAteNofIWPwTIIf

J'utilise Visual Code qui permet d'installer des plugins pour la création de commentaire de préparation pour l'auto doc. Exemple : https://marketplace.visualstudio.com/items?itemName=stevencl.addDocComments

  • et au-delà:

    • dans le repo lui-même comment bien organiser les commits, branches, releases ?

Je comprends pas bien la question. 🙄

  • quelle langue utiliser pour les échanges et la doc: d'un côté l'anglais est la norme pour les projets informatiques et permet d'adresser un maximum de personnes ; d'un autre côté, la Zigate est un projet franco-français, donc échanger en français ne risque pas d'écarter beaucoup de monde.

Je suis bien d'accord. La tâche sera plus facile en Français.

  • une restriction cependant: dans tous les cas, la langue de référence dans le code lui-même doit rester l'anglais.

Là aussi je suis du même avis. Anglais pour le code

Bref, autant de questions ouvertes ; à nouveau: je suis néophyte dans ce domaine, j'attends donc vos propositions.

Je reviens sur l'aspect échanges collaboratif. J'exprimais plus haut un .... "pour l'instant" dans la proposition d'utiliser les issues de Github peut Je m'explique ...... dans l'éventualité d'un grossissement de tes disciples dans ce projet 😉, peut être faudrait il avoir recours à des outils type Slack.

lsteelandt commented 5 years ago

next steps:

En résumé, les prochaines actions que j'entrevois:

  • [ ] choisir les outils pour collaborer
  • [ ] choisir la langue de référence
  • [ ] enrichir la documentation générale
  • [ ] enrichir les commentaires dans le code + ajouter la doc du code
  • [ ] niveau code: aligner le driver avec la dernière version du firware de la zigate, la 3.0f

@nouknouk, en exploitation de l'usage des "issues" de Github, je propose d'ouvrir un "issue" pour chacun des points que tu as mentionné ci dessus.

Ouverture au fur et à mesure du premier 'acte' de traitement de chacun d'eux.