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

85 lines
3.7 KiB
Markdown

# 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 :
```bash
pip install -r requirements.txt
```
### Exécution des scripts
Pour exécuter un script d'exemple, utilisez la commande Python suivante :
```bash
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