Skip to content

Migration vers influxdata/influxdb-client-php v3 et adaptation du code dans cmd.class.php #3039

@kwizer15

Description

@kwizer15

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 :

  1. À 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.

  2. À moyen terme : développer une solution qui supportera les deux versions d'InfluxDB :

    • Adapter le code dans cmd.class.php pour 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

Décrivez les alternatives que vous avez envisagées

  1. 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.

  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions