Skip to Content

Automatiser la gestion des clients et de l'inventaire avec Dolibarr et GLPI

February 23, 2025 by
Automatiser la gestion des clients et de l'inventaire avec Dolibarr et GLPI
Patois Thomas

Automatiser la gestion des clients et de l'inventaire avec Dolibarr et GLPI

Lors de mon stage chez Aukfood, j’ai travaillé sur l’optimisation de la gestion IT en intégrant et automatisant des processus entre Dolibarr et GLPI. L'objectif était de mettre en place un système de ticketing efficace, permettant aux clients de soumettre des demandes tout en associant automatiquement des informations détaillées sur leurs infrastructures : serveur, version, plugins, etc.

Pour répondre à ce besoin, j’ai développé deux scripts facilitant la synchronisation entre Dolibarr et GLPI, ainsi que l'inventaire des applications web.

Contexte

GLPI est un outil open source de gestion des actifs informatiques et de ticketing, tandis que Dolibarr est un ERP/CRM utilisé pour gérer les clients, les contacts et la facturation. Afin d’automatiser les tâches répétitives et d’assurer une meilleure cohérence des données entre ces deux outils, j’ai développé deux scripts Python :

  • Dolibarr GLPI Sync : Synchronise les clients et contacts entre Dolibarr et GLPI.
  • Inventaire GLPI : Génère et envoie automatiquement un inventaire des applications web installées sur les serveurs et en conteneurs Docker.


Dolibarr GLPI Sync : Automatiser la synchronisation des clients et contacts

Pourquoi ce script ?

Pour gérer efficacement les tickets sur GLPI, il était nécessaire de créer une entité par client, d'ajouter les utilisateurs correspondants et de définir des règles d'import pour l'inventaire. J’ai donc développé un script pour automatiser ces tâches et éviter les erreurs de saisie.

Fonctionnalités

  • Synchronisation des clients Dolibarr en tant qu'entités GLPI.
  • Synchronisation des contacts Dolibarr en tant qu'utilisateurs GLPI.
  • Détection automatique des doublons pour éviter la création d’entrées redondantes.
  • Création automatique des règles d'import des inventaires dans les entités GLPI.
  • Gestion des caractères spéciaux et de l'encodage pour éviter toute incompatibilité.

Mise en place

  1. Ajouter l'entité “Clients” dans GLPI pour que le script puisse y intégrer les sous-entités.
  2. Cloner le repository du script.
  3. Installer les dépendances avec :
    pip install python-dotenv requests unidecode glpi_api
  4. Configurer le fichier .env avec les informations d'API de Dolibarr et GLPI.
  5. Lancer le script :
    python3 main.py
    

Grâce à ce script, toute modification dans Dolibarr est automatiquement répercutée dans GLPI, garantissant ainsi une base de données client toujours à jour.


Inventaire GLPI : Automatiser l'inventaire des applications web

Pourquoi ce script ?

La gestion des applications web est cruciale pour assurer la maintenance et la mise à jour des sites. Dans notre cas, cela permettait aussi de faciliter la gestion des tickets en associant automatiquement les informations aux clients.

Fonctionnalités

  • Détection automatique des sites web hébergés sur Apache et Nginx.
  • Identification des CMS utilisés (WordPress, Moodle, Nextcloud, Joomla, Drupal, etc.).
  • Inventaire des plugins et des versions installées.
  • Détection des applications tournant dans des conteneurs Docker.
  • Ajout automatique des données dans GLPI, en les assignant aux bonnes entités.

Mise en place

  1. Cloner le repository du script.
  2. Installer les dépendances avec :
    pip install python-dotenv pymysql phpserialize
    
    ou via apt :
    apt install python3-dotenv python3-pymysql python3-phpserialize
    
  3. Installer l’agent GLPI sans préciser d’URL ni d’autres options.
  4. Configurer le fichier .env et le fichier de configuration pour l'attribution des entités.
  5. Lancer le script avec :
    sudo python3 main.py
    

Avec ce script, une fois lié au premier, nous avons désormais une vision actualisée et centralisée des services installés par client, tout en améliorant la gestion des tickets et des mises à jour.

Exemple d'utilisation

  1. Ajouter un client et un contact dans Dolibarr.
  1. Lancer le script Dolibarr GLPI Sync correctement configuré :
    cd dolibarr-glpi-sync
    python3 main.py
    
  2. Vérifier que les informations sont bien présentes dans GLPI (entité client, utilisateur, règle d'association).




  3. Lancer le script Inventaire GLPI sur le serveur du client :
    cd inventoryversion
    python3 main.py
    
  4. Vérifier que les sites web sont bien répertoriés et assignés aux bonnes entités dans GLPI.




Conclusion

L'intégration et l'automatisation entre Dolibarr et GLPI durant mon stage chez Aukfood ont permis d'améliorer la gestion IT en réduisant les tâches manuelles et en assurant la fiabilité des données. Ces solutions facilitent la gestion des services, des mises à jour et optimisent le suivi des tickets, aussi bien pour les clients que pour le service d'assistance.

Ce projet m'a permis de développer mes compétences en automatisation IT, gestion d’inventaire et intégration d’outils open source, tout en travaillant sur des problématiques réelles et en proposant des solutions adaptées aux besoins de l’entreprise.

aukfood.fr repo github


Automatiser la gestion des clients et de l'inventaire avec Dolibarr et GLPI
Patois Thomas February 23, 2025
Share this post
Archive