-
Notifications
You must be signed in to change notification settings - Fork 322
Description
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 dans composer.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 :
- Adapter le code dans
cmd.class.phppour détecter la version d'InfluxDB utilisée - Implémenter les appels API appropriés selon la version détectée
- Potentiellement développer cette fonctionnalité sous forme de plugin dédié qui offrirait une interface commune
- Adapter le code dans
Dé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" #3038