Intégration domotique GLPI, gratuite et open source

Tickets GLPI : ouverts, en retard, résolus du jour ; déclencheurs, et tickets créés par une scène.
Les tickets de votre GLPI dans Gladys : combien sont ouverts, en attente, en retard sur leur SLA, combien ont été résolus aujourd'hui. Une scène réagit à l'arrivée d'un nouveau ticket, à un ticket qui passe en retard ou à un ticket résolu, et Gladys peut ouvrir un ticket toute seule quand elle détecte une panne : une fuite d'eau, un congélateur trop chaud, une imprimante ou une box qui ne répond plus.
Vos retours sont les bienvenus. Cette intégration a été testée contre de vrais serveurs GLPI (images Docker officielles
glpi/glpi10.0.28, 11.0.11 et 12.0.0, octobre 2026), pas encore au quotidien dans un vrai service. Si quelque chose ne marche pas comme décrit, dites-le sur le forum Gladys ou dans les issues.
Ce qu'il vous faut
-
Gladys Assistant 5.1.0 ou plus récent.
-
Un GLPI 10, 11 ou 12, auto-hébergé ou hébergé (GLPI Network Cloud), joignable depuis Gladys. L'intégration utilise l'API REST historique de GLPI (
apirest.php), présente dans ces trois versions. -
Un utilisateur GLPI au nom duquel Gladys lit et crée les tickets. Le mieux est d'en créer un pour elle (
gladys) :- avec le profil Technicien (ou un profil qui voit tous les tickets) sur les entités à suivre : les compteurs comptent alors tous les tickets de ces entités ;
- ou avec le profil Self-Service : Gladys ne voit alors que les tickets dont elle est demandeuse, ce qui suffit pour ouvrir des tickets de panne.
L'intégration voit exactement ce que voit cet utilisateur dans GLPI (son profil par défaut, ses entités et leurs sous-entités).
Installation
Dans GLPI
- Configuration → Générale → onglet API :
- activez Activer l'API REST legacy (GLPI 11 et 12) ou Activer l'API Rest (GLPI 10) ;
- activez Activer la connexion avec un jeton externe.
- Dans la liste Clients de l'API du même onglet, autorisez l'adresse de
Gladys : le client par défaut (« full access from localhost ») n'accepte que
127.0.0.1. Ajoutez un client (ou modifiez celui-ci) avec, en Début de plage IPv4 et Fin de plage IPv4, l'adresse de la machine Gladys vue par GLPI, ou laissez la plage vide pour accepter toutes les adresses. Si vous remplissez un Jeton d'application (app_token), recopiez-le dans Gladys. - Ouvrez la fiche de l'utilisateur
gladys(ou ses préférences, connecté sous son nom). Au champ Jeton d'API, cochez Regénérer, enregistrez, puis copiez le jeton affiché.
Dans Gladys
- Intégrations → installez GLPI.
- Dans l'écran Configuration, renseignez :
- Adresse : l'adresse de GLPI telle que dans le navigateur, par exemple
https://helpdesk.example.orgouhttp://192.168.1.30/glpi(le dossier/glpiest conservé,/front/…ou/apirest.phpsont retirés) ; - Jeton utilisateur : le jeton d'API copié à l'étape 3 ;
- Jeton d'application : seulement si le client de l'API en a un ;
- Accepter les certificats auto-signés : pour un GLPI en
https://avec un certificat auto-signé ; - Intervalle de rafraîchissement : 1, 2, 5 (par défaut) ou 10 minutes ;
- Langue des noms de fonctionnalités : la langue des noms donnés à l'appareil et des textes envoyés aux scènes (urgence, type, statut).
- Adresse : l'adresse de GLPI telle que dans le navigateur, par exemple
- Tester la connexion indique la version de GLPI, l'utilisateur et son profil, et le nombre de tickets ouverts.
- Onglet Découverte : ajoutez l'appareil GLPI.
Appareil
Un appareil GLPI, avec six compteurs mis à jour à chaque lecture :
| Fonctionnalité | Ce qu'elle compte |
|---|---|
| Tickets ouverts | les tickets non résolus : nouveaux, en cours et en attente |
| Nouveaux tickets | les tickets au statut Nouveau |
| Tickets en cours | les tickets En cours (attribué ou planifié) |
| Tickets en attente | les tickets En attente |
| Tickets en retard | les tickets ouverts dont le temps de résolution (SLA) est dépassé |
| Tickets résolus aujourd'hui | les tickets résolus (ou résolus puis clos) depuis minuit, heure du serveur |
« En retard » est le Temps de résolution dépassé calculé par GLPI lui-même : un ticket sans temps de résolution n'est jamais en retard. Les compteurs gardent leur historique, et servent de conditions dans les scènes (« si Tickets en retard est supérieur à 0 »).
Tableau de bord
Le widget Derniers tickets GLPI montre trois tuiles (ouverts, en retard,
nouveaux) et les huit derniers tickets ouverts, avec leur statut, leur urgence et
leur entité. Un ticket en retard porte la pastille « En retard », un ticket
d'urgence haute ou très haute la pastille de son urgence. Si GLPI est en
https://, chaque ticket propose un lien Ouvrir dans GLPI.
Scènes
Déclencheurs
Les trois déclencheurs se filtrent par Urgence (une ou plusieurs, vide : toutes) et par Type (incident ou demande, vide : tous).
- Nouveau ticket GLPI : un ticket a été ouvert dans GLPI, par un utilisateur, un collecteur de courriels ou un formulaire. Les tickets créés par Gladys elle-même ne déclenchent rien (pas de boucle).
- Ticket GLPI en retard : un ticket ouvert vient de dépasser son temps de résolution.
- Ticket GLPI résolu : un ticket ouvert à la lecture précédente est maintenant résolu ou clos.
Variables transmises aux actions : numéro du ticket, titre, urgence (de 1 à 5 et en toutes lettres), type, statut, catégorie, entité, demandeur, temps de résolution, lien vers le ticket, et la date de résolution pour un ticket résolu. Les dates sont celles qu'affiche GLPI (heure du serveur GLPI).
Les événements sont détectés à chaque lecture : ils arrivent au plus tard un intervalle de rafraîchissement après les faits. À la toute première lecture (ou après un changement de serveur ou d'utilisateur), l'intégration prend note de l'existant sans rien déclencher. Une lecture déclenche au plus 30 événements (un import en masse ne noie pas Gladys).
Actions
- Créer un ticket GLPI : ouvre un ticket au nom de l'utilisateur du jeton, qui en est le demandeur. Champs : Titre (obligatoire), Description (vide : le titre ; les variables de scène y sont les bienvenues), Urgence (vide : moyenne), Type (vide : incident), Catégorie (nom ou numéro, facultatif) et Entité (nom ou numéro, vide : l'entité par défaut de l'utilisateur). Sorties : le numéro du ticket et son lien.
- Ajouter un suivi à un ticket GLPI : ajoute un suivi au ticket indiqué par
son numéro (
125ou#125), au nom de l'utilisateur du jeton. Le numéro peut venir d'un « Créer un ticket GLPI » plus haut dans la scène, ou du déclencheur. Sorties : le numéro et le titre du ticket.
Une catégorie ou une entité se donne par son numéro, son nom complet
(Entité racine > Site Nord) ou la dernière partie de ce nom (Site Nord),
sans tenir compte des majuscules ni des accents.
Idées de scènes
- Fuite d'eau : le détecteur de fuite de la chaufferie passe à « fuite » → Créer un ticket GLPI « Fuite d'eau en chaufferie », urgence très haute, catégorie « Bâtiment », description avec l'heure ; puis un message Gladys avec le lien du ticket.
- Box internet injoignable : le ping de la box échoue depuis 10 minutes → ticket « Plus d'internet au bureau » ; quand le ping revient, Ajouter un suivi « Connexion revenue à 14 h 32 » au même ticket.
- Astreinte : Nouveau ticket GLPI filtré sur les urgences haute et très haute → message Telegram au technicien d'astreinte avec le titre, le demandeur et le lien ; Ticket GLPI en retard → allumer la lampe de l'open space en rouge.
Dépannage
- « aucune API GLPI à cette adresse » : vérifiez l'adresse (avec le dossier
/glpis'il y en a un) en ouvrant…/apirest.phpdans un navigateur : GLPI doit répondre par sa page de documentation de l'API. - « l'API REST est désactivée » : voir l'étape 1 dans GLPI.
- « aucun client d'API n'accepte l'adresse de Gladys » : la plage d'adresses du client de l'API (étape 2) ne contient pas l'adresse de Gladys vue par GLPI (derrière un proxy ou un NAT, c'est l'adresse de ce proxy ou de ce routeur).
- « jeton d'application manquant ou erroné » : le client de l'API a un jeton d'application, à recopier dans la configuration, ou ce n'est pas le bon.
- « jeton utilisateur refusé » : le jeton a été regénéré depuis, ou la connexion avec un jeton externe n'est pas activée (étape 1).
- « le profil de l'utilisateur GLPI n'a pas un droit nécessaire » : le profil ne permet pas de créer un ticket ou d'ajouter un suivi (ou pas dans cette entité).
- Les compteurs sont à zéro : l'utilisateur ne voit pas les tickets (profil Self-Service, ou entité sans les sous-entités).
- Le demandeur est vide dans les scènes : le profil ne permet pas de lire les utilisateurs ; le reste fonctionne.
Limites
- Un seul GLPI par installation, et un seul appareil pour tous les tickets que voit l'utilisateur (pas d'appareil par entité : utilisez un utilisateur limité à une entité pour n'en suivre qu'une).
- Les 5 000 tickets les plus récents (ouverts et résolus du jour) sont comptés.
- « Résolus aujourd'hui » et « en retard » suivent l'heure du serveur GLPI.
- Pas encore de lecture par la nouvelle API de GLPI 11 (OAuth2) : l'API REST historique suffit et existe dans GLPI 10, 11 et 12.
- Un ticket ouvert puis résolu entre deux lectures déclenche « Nouveau ticket » mais pas « résolu ».
Cette intégration n'est pas affiliée à Teclib' ni au projet GLPI.
Paramètres de configuration
Voici les paramètres demandés par GLPI dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre GLPI | section | Non | GLPI 10 ou plus récent, auto-hébergé ou GLPI Network Cloud. Dans GLPI : activez l'API REST (Configuration, Générale, API), puis copiez le jeton d'API d'un utilisateur (ses préférences). Voir la documentation. |
| Adresse | string | Oui | Adresse de GLPI comme dans le navigateur, avec https:// pour le HTTPS et le dossier /glpi s'il y en a un. |
| Jeton utilisateur | secret | Oui | Le jeton d'API de l'utilisateur GLPI au nom duquel Gladys agit : dans ses préférences, Jeton d'API, Regénérer, puis copiez-le. |
| Jeton d'application | secret | Non | Seulement si le client d'API de GLPI en a un (Configuration, Générale, API, Clients de l'API). |
| Options | section | Non | |
| Accepter les certificats auto-signés | boolean | Non | Pour une adresse en https:// dont le certificat est auto-signé. À cocher pour votre propre serveur seulement. |
| Intervalle de rafraîchissement | select | Non | Fréquence de lecture de GLPI : les compteurs et les déclencheurs de scène la suivent. |
| Langue des noms de fonctionnalités | select | Non | Noms donnés aux fonctionnalités à l'ajout de l'appareil, et textes envoyés aux scènes. |
Comment installer GLPI dans Gladys
- Dans Gladys, ouvrez Intégrations : GLPI apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-glpi:1.0.0), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-glpi.
GLPI nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
GLPI est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation