bemade-addons/unifi_integration/doc/example.md
2025-03-26 08:46:03 -04:00

3.7 KiB

Exemples d'intégration UniFi

Ce document décrit les exemples fournis dans le répertoire doc/examples qui illustrent l'utilisation des API UniFi pour l'intégration avec Odoo.

Structure des exemples

Le répertoire doc/examples contient plusieurs fichiers qui démontrent différents aspects de l'intégration avec les API UniFi :

Documentation

  • api.md : Documentation détaillée des endpoints de l'API du contrôleur UniFi, incluant les méthodes REST, les commandes disponibles et les codes d'appareil.
  • models.md : Description des modèles de données proposés pour l'intégration UniFi dans Odoo, incluant les structures de tables et relations.

Client Python

  • unifi_client.py : Classe cliente Python pour interagir avec l'API UniFi UDM Pro. Cette classe gère l'authentification et les opérations API de base.

Scripts d'exemple

Plusieurs scripts Python qui démontrent l'utilisation du client UniFi pour différentes tâches :

  • show_devices.py : Affiche tous les appareils UniFi gérés par le contrôleur dans un format lisible.
  • show_device_details.py : Affiche des informations détaillées sur un appareil spécifique.
  • show_clients.py : Liste tous les clients (appareils connectés) sur le réseau.
  • show_networks.py : Affiche les configurations réseau définies sur le contrôleur.
  • show_vlans.py : Liste les VLANs configurés sur le système.
  • show_firewall.py : Affiche les règles de pare-feu configurées.
  • test_firewall.py : Démontre comment interagir avec les règles de pare-feu.
  • test_unifi.py : Script de test général pour vérifier la connexion et les fonctionnalités de base.

Fichiers de configuration

  • credential.txt : Fichier de configuration contenant les informations d'authentification pour se connecter au contrôleur UniFi.
  • requirements.txt : Liste des dépendances Python nécessaires pour exécuter les scripts d'exemple.

Utilisation des exemples

Configuration

  1. Copiez le fichier credential.txt et modifiez-le avec vos propres informations d'authentification :

    UNIFI_HOST=192.168.1.1
    UNIFI_PORT=443
    UNIFI_USERNAME=votre_utilisateur
    UNIFI_PASSWORD=votre_mot_de_passe
    UNIFI_SITE=default
    
  2. Installez les dépendances requises :

    pip install -r requirements.txt
    

Exécution des scripts

Pour exécuter un script d'exemple, utilisez la commande Python suivante :

python show_devices.py

Intégration avec Odoo

Les modèles décrits dans models.md fournissent une structure de données proposée pour l'intégration avec Odoo. Ces modèles incluent :

  • udm.site : Représente un site UniFi géré par un UDM/UDR ou un contrôleur logiciel
  • udm.system_info : Informations système du contrôleur
  • udm.network : Configurations réseau
  • udm.vlan : Configurations VLAN
  • udm.device : Appareils UniFi (points d'accès, switches, etc.)
  • udm.user : Utilisateurs/clients sur le réseau
  • udm.firewall_rule : Règles de pare-feu
  • udm.firewall_group : Groupes de pare-feu

Ces modèles peuvent être utilisés comme base pour développer le module d'intégration UniFi pour Odoo, en s'appuyant sur les exemples de code fournis pour interagir avec l'API UniFi.

Adaptation pour l'intégration

Pour adapter ces exemples à une intégration complète avec Odoo, il faudrait :

  1. Implémenter les modèles décrits dans models.md
  2. Adapter la classe UnifiClient pour fonctionner dans le contexte d'Odoo
  3. Créer un assistant (wizard) pour configurer la connexion, comme décrit dans le fichier objectifs.md
  4. Implémenter des méthodes de synchronisation périodique des données
  5. Développer des vues pour afficher et gérer les données UniFi dans l'interface Odoo