85 lines
3.7 KiB
Markdown
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
|