-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration vers influxdata/influxdb-client-php v3 et adaptation du code dans cmd.class.php #3039
Comments
La PR #3038 c'est donc l'alternative, de rester sur la lib obsolète. |
Oui c'est l'alternative, mais c'est surtout pour revenir à quelque chose de fonctionnel. Bien évidement, un correctif du code, testé, serait plus judicieux. |
Suite à une analyse plus approfondie, je constate que la migration vers influxdata/influxdb-client-php v3 présente des défis plus complexes qu'initialement anticipé :
Considérant ces éléments, je recommande de procéder en deux phases :
Cette approche permettrait de réduire les risques de régression tout en préparant une migration progressive vers les versions plus récentes d'InfluxDB Je viens de modifier l’issue en ce sens. |
En réfléchissant à la solution n°2 (développer une compatibilité avec les deux versions d'InfluxDB), je viens de découvrir qu'il existe déjà un plugin développé par @Mips2648 qui semble faire exactement ce que nous cherchons à implémenter : il gère à la fois InfluxDB 1.8+ et InfluxDB2 (https://mips2648.github.io/jeedom-plugins-docs/influxdb). @Mips2648 , pourrais-tu nous confirmer les capacités exactes de ton plugin par rapport à la fonctionnalité actuelle du core ? Est-il complètement compatible avec les deux versions d'InfluxDB ? Cette découverte soulève une question importante : étant donné que ce plugin est payant (2€), devrions-nous :
J'aimerais avoir vos avis sur ce sujet. Pour l'instant, comme solution immédiate, je maintiens que nous devrions revenir à |
Mon plugin supporte v1.8 (pas les versions < 1.8) et v2 (comme indiqué dans la doc que tu as déjà trouvée). Quand à garder ou pas la fonctionnalité dans le core, on pourrait dire que mon avais ne sera pas objectif mais la question tourne plutôt autour de: est-ce la responsabilité du core d'intégrer des solutions externes? par exemple, si influxDB est intégré, pourquoi pas mqtt (et là on a un plugin) ou une autre solution de time-series telle que Prometheus concurrent direct de influxDB? Et à mon avis c'est non, ce ne devrait pas être la responsabilité du core |
C’est mon avis aussi, surtout qu’il y a eu une initiative pour retirer la dépendance (et donc sous-entendu la fonctionnalité). |
oui, mais je sais bien (comme tout le monde) que ca va provoquer un tollé général si cette fonction est retirée au "profit" d'un (vulgaire ;-) ) plugin tiers ... et en plus il est payant, le scélérat! |
Je propose juste des possibles solutions, j’estime que ce n’est pas à nous d’acter ce genre de décision. Honnêtement, le fait que ce genre de plugin soit payant ne me choque pas. Si quelqu’un souhaite en faire un gratuit rien ne l’en empêche. |
Votre demande de fonctionnalité est-elle liée à un problème ? Veuillez le décrire.
Oui, cette demande est liée à un problème de dépendance dans le projet. Initialement, le code dans
cmd.class.php
était conçu pour fonctionner avec la bibliothèque obsolète"influxdb/influxdb-php": "^1.15"
, alors que la dépendance spécifiée danscomposer.json
était"influxdata/influxdb-client-php": "^3"
. Après analyse, j'ai découvert que ces bibliothèques sont fondamentalement différentes : la version 3 est exclusivement compatible avec InfluxDB2 et utilise un système d'authentification par token, tandis que la version 1.15 est conçue pour InfluxDB1 avec authentification par login/mot de passe.Décrivez la solution que vous souhaitez
Après une analyse plus approfondie, je propose une approche en deux phases :
À court terme : maintenir la dépendance
"influxdb/influxdb-php": "^1.15"
comme proposé dans la PR Correction de la dépendance InfluxDB dans composer.json pour compatibilité avec le code actuel #3038 pour assurer la stabilité des installations existantes.À moyen terme : développer une solution qui supportera les deux versions d'InfluxDB :
cmd.class.php
pour détecter la version d'InfluxDB utiliséeDécrivez les alternatives que vous avez envisagées
Migration complète et immédiate vers
"influxdata/influxdb-client-php": "^3"
: cette option forcerait tous les utilisateurs à migrer vers InfluxDB2, ce qui n'est pas souhaitable pour la continuité du service.Maintenir uniquement la compatibilité avec InfluxDB1 via
"influxdb/influxdb-php": "^1.15"
indéfiniment : cette option évite un travail immédiat, mais elle maintient une dépendance obsolète, ce qui pourrait poser des problèmes de sécurité ou de compatibilité à l'avenir.Contexte supplémentaire
La bibliothèque
"influxdb/influxdb-php": "^1.15"
n'est plus activement maintenue (dernière mise à jour significative en 2018), tandis que"influxdata/influxdb-client-php"
est la bibliothèque officielle recommandée par InfluxData pour interagir avec InfluxDB2.La complexité de cette migration réside dans les différences fondamentales entre les deux versions d'InfluxDB, notamment au niveau des méthodes d'authentification et des API. Une solution progressive permettrait de maintenir la compatibilité avec les installations existantes tout en préparant la voie pour les utilisateurs souhaitant adopter InfluxDB2.
Voir la PR de "revert" vers
"influxdb/influxdb-php": "^1.15"
#3038The text was updated successfully, but these errors were encountered: