You are not logged in.
Bonjour à tous !
J'utilise GLPI depuis maintenant 1 an pour le compte de mon entreprise digitale. J'appartiens à la DSI et nous cherchions un outils de ticket pour les demandes des collaborateurs.
Pourquoi avoir choisi GLPI :
- C'est gratuit
- C'est Open sources
- C'est en php
- Il y a une api rest
- Il y a une notion de plugin
Notre utilisation :
- Nous avons personnalisé l'interface de l'outils avec notre logo, nos couleurs et nos polices
- Nous avons changé certaines traductions, notamment pour les statuts des tickets, pour coller au mieux à nos définitions.
- Nous utilisons le plugin FusionInventory pour, faire remonter tous les pc des collaborateurs et ainsi obtenir leurs IP en cas de besoin. Et combiné avec le plugin Fields, nous renseignons le type de matériel (Recyclé, neuf, etc.)
- Pour la saisie d'un ticket, j'ai "enlevé" le formulaire de base. Je ne vais pas rentrer dans les détails techniques sauf si ça intéresse quelqu'un, mais grosso-modo, au lieu d'afficher le formulaire de saisie dans l'onglet "Créé un ticket" , j'affiche un formulaire custom.
Grâce à l'API REST, et la création d'une classe en php, j'ai simplifié la saisie et ça permet par exemple de saisir un ticket urgent et de nous envoyer un mail directement pour signifier qu'il y a eu un ticket urgent de saisie.
- Pour la connexion à GLPI, je n'ai pas retenu les options que propose l'outils. A la place, j'ai créé un plugin qui permet de connecter les collaborateurs avec leurs identifiants stocké dans Azure. Pour faire simple, Azure Ad est un gestionnaire de compte externe. Grâce à son API, j'obtiens un token qui me "dit" si l'utilisateur est autorisé à se connecter à l'outils et si l'utilisateur est connecté de façon général (On appelle ça, connexion SSO).
Cela dit en passant, mon plugin fonctionne également pour les types de connexion avec Facebook, Google, etc... car c'est le même principe.
- Nous utilisons la fonctionnalité que propose l'outils, qui est la base de connaissance. Ca nous permet de mettre des astuces ou des tutos, disponible ou pas auprès des collaborateurs. On les invites à chercher dans la base de connaissance avant de créer un ticket.
Nos tests non résolu :
- Avec FusionInventory, nous avons exploré la fonctionnalité WOL (Wake on lan) qui permet de "réveiller" un ordinateur à distance. Bien pratique en ces temps, mais impossible d'arriver à le faire fonctionner. Bien que cette fonctionnalité, hors contexte de l'outils, marche 1 fois sur 10 (Testé avec un logiciel exclusivement conçu pour ça) car suivant les réglages du Bios, ou la version de la carte réseau, cela ne fonctionne pas. Bref, ça aurait été bien pratique.
Conclusion :
Un outils pratique avec plein de fonctionnalité utile. Les possibilités sont grandes et certains aspects m'échappe encore, d'où ce post
Si vous voulez partager vos utilisations et/ou astuces, n'hésitez pas.
Offline
Bonjour,
Je suis intéressé par le plugin qui permet la connexion via des comptes Azure AD. Est-ce que tu l'as mis à disposition ?
Sinon de mon coté j'utilise aussi GLPI pour intégrer ma gestion de flotte mobile. Par contre je dois tout saisir manuellement : Ligne + Carte SIM + Tèl. Comme ça GLPI regroupe vraiment tous mes actifs informatique et téléphonique.
Ensuite j'ai installé Jeedom (outil Domotique OpenSource) sur un Raspberry PI sur lequel j'ai intégré des infos relatives à GLPI. Grâce à ça et des scripts powershell je peux interroger un BOT via télégram qui va me donner les infos de ma GLPI. Par exemple : Si je lui demande de m'afficher l'inventaire, il va me répondre pour quel user et en notant le nom de l'utilisateur il me ressortira le nom de PC + son numéro de série. J'aimerai par la suite faire ça depuis Teams.
En parallèle de ça je me suis aussi crée une application Android (GLPI Tools) qui me permet d'afficher l'inventaire complet de chaque entité et aussi d'afficher les tickets non résolus. Je travaille beaucoup à distance et j'ai pas forcément un PC toujours avec moi. Avant je répondais aux tickets par mail mais j'attendais d'être devant un PC pour pouvoir changer la catégorie du ticket et de modifier son statut en résolu. Avec l'appli je peux le faire directement et plus rapidement que si je passe par l'interface mobile depuis mon téléphone
Last edited by keepcool5283 (2020-11-18 10:47:30)
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Salut, non je ne l'ai pas partagé !
Mais je peux éventuellement le faire.
Je cherchais un plugin qui le faisait et j'avais trouvé celui là : https://github.com/edgardmessias/glpi-singlesignon
Le seul problème, de souvenir, car ça remonte, c'est qu'il ne créé pas les utilisateurs en BDD, et c'était très gênant pour moi.
Du coup, j'ai regardé son code pour faire pareil mais de façon simple et qui correspond plus à nos attentes.
Je re-bosse dessus demain, pour l'améliorer et pour mettre à jour un peu le code car depuis l'api d'azure à évolué aussi.
Grosso modo mon plugin suit cette direction :
- Il obtient le token d'autorisation d'azure
- Il obtient le token d'accès, et le token de rafraichissement que je stocke avec un cookie (Je dois le modifier pour obtenir le token id à la place, et ça me donne son mail directement et plus besoin de stocker de token dans un cookie)
- Il obtient les informations de l'utilisateur qui veut accéder à GLPI (Du coup avec le token id, cette étape disparaît, car ce qui m'intéresse c'est juste son mail)
- Je regarde si le visiteur existe en BDD :
- Si il existe, je le redirige vers sa page centrale
- Si il n'existe pas, je le créé en BDD et lui génère un token pour son profil (Son token va me servir pour l'api rest de GLPI)
Offline
Ah oui du coup ça m'intéresse vraiment
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
D'ici Vendredi, j'aurai fini de bosser dessus et je te le donne. Je te partagerai mon github
Offline
Au top, merci
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
https://github.com/virtazp/glpi_plugin_azure et voilà.
Si tu as des questions, hésite pas. Je le laisse une semaine puis je le repasse en privé !
Je te conseille de bien lire le readme.md
Last edited by Isia (2020-11-20 09:53:50)
Offline
Parfait merci, je l'ai récupéré. je me pencherai dessus la semaine prochaine.
Merci encore
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
J'ai quand même essayé vite fait.
J'ai bien crée mon appli dans AAD
Modifié l'ID de l'annuaire
Modifié l'ID de l'application
Attribué les autorisations nécessaires
Modifié l'URL de redirection
Par contre quand je clique sur le bouton "Connexion via O365", je retourne toujours sur l'URL de retour : http(s)://(your-domaine)/plugins/azure/front/callback.php (avec mon nom de domaine à la place de (your domain).
Ca me donne une page blanche
Est-ce que j'ai loupé une modification quelque part ?
Last edited by keepcool5283 (2020-11-20 19:07:34)
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Salut Isia,
Je me permet de revenir vers toi. Est ce que t'as une idée du pourquoi mon URL de retour pointe toujours sur une page blanche ?
Merci
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Salut,
ton url de retour doit être : https://ton-domain/plugins/azure/front/callback.php
As-tu bien renseigné cette url dans l'inscription de ton application dans Azure ?
Offline
Oui c'est bien ce que j'ai : https://mondomaine/plugins/azure/front/callback.php
Dans Authentification j'ai rajouté une plateforme Web et j'ai rajouté mon URL de retour à cet endroit.
Last edited by keepcool5283 (2020-12-01 16:15:10)
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
As-tu installé la bibliothèque PHP-JWT ? pour le décodage du jeton
Cette classe utilise la bibliothèque PHP-JWT pour le décodage du jeton. https://github.com/firebase/php-jwt Avant d'installer le plugin dans le tableau de bord de GLPI, il faut executer la commande dans la dossier du plugin: composer require firebase/php-jwt , pour l'installation des paquets. Il faut aussi au préalable avoir composer d'installé dans son environnement. https://getcomposer.org/download/
Offline
Oui je l'ai fait aussi. Par contre j'avais vu cette étape après avoir installé le plugins. J'ai essayé du coup de désinstallé le plugin, activé la bibliothèque et réinstaller le plugins mais sans succès toujours.
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
J'ai modifier le plugin. Désinstalle ta version et installe la nouvelle et tu me dis.
J'ai très largement simplifié le plugin.
L'installation de la bibliothèque php-jwt est toujours nécessaire.
Par contre plus besoin de modifier logout.php, il faut que tu supprime le bout de code que tu as rajouté.
J'attends ton retour
Ps: Quand j'avais développé ce plugin, il y a 2 ans environ, glpi ne fonctionnait pas de la même façon.
Aujourd'hui avec ce plugin, ce n'est pas vraiment du SSO. En effet, le SSO fonctionne différemment. Normalement, avec le SSO, on se connecte à n'importe quelles applications (utilisant la connexion avec Azure AD) et on est connecté à toutes les autres applications. Mais là c'est pas le cas. On pourrait le faire mais cela modifierait beaucoup de code source.
On utilise désormais la gestion des sessions de glpi. Quand glpi considère que la session de l'utilisateur n'est plus valide, on est retourné sur la page de connexion et on se reconnecte grâce au bouton.
Last edited by Isia (2020-12-03 09:43:34)
Offline
OK merci j'essaie dans la journée et te fais un retour
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Je me sens bête mais ça me fait exactement la même chose. Dès que je clique sur le bouton O365, ça me dirige vers ma page de callback mais elle reste entièrement blanche
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Alors on va faire par étape :
- As-tu bien inscrit ton application sur la plateforme Azure AD et renseigné la bonne url de redirection (qui doit être la même dans le fichier de config) ? ex: https://monsite/plugins/azure/front/callback.php
- Dans l'onglet "Authentification" d'azure, tu as mis PlateformeWeb, dans le même onglet, tu as "octroi implicite", coche "Jetons d'accès" et Jetons d'ID"
- Vérifie que dans le fichier https://github.com/virtazp/glpi_plugin_ … .class.php , const DEV = false; et non FALSE (On ne sait jamais)
- Quel version de php utilises-tu ?
Offline
Tout me semble correcte
L'application est bien inscrite dans AZURE AD avec la même url de redirection.
J'avais bien coché les options d'octroi implicite.
J'ai modifié la casse de FALSE en false mais ça n'a rien changé
J'utilise la version 7.2 de php
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
'Juste une question, il faut mettre des guillements au niveau de l'id du tenant de et l'application ?
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Ah quand je mets des guillements j'ai un message d'erreur au moment de la tentative de connexion. Voilà ce qui s'affiche dans ma page de callback :
Notice: Undefined index: upn in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 91
Notice: Undefined index: email in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 103
Notice: Undefined index: name in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 69
Notice: Undefined index: glpilanguage in C:\inetpub\wwwroot\inc\html.class.php on line 1212
Notice: Undefined index: in C:\inetpub\wwwroot\inc\html.class.php on line 1212
Utilisateur non autorisé à se connecter à GLPI
Notice: Undefined variable: REDIRECT in C:\inetpub\wwwroot\plugins\azure\front\callback.php on line 31
Se reconnecter
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Oui il faut mettre les guillemets ^^ C'est une chaine de caractère.
Je regarde pour les erreurs
Offline
Tu n'as pas la bonne version du plugin, car je n'utilise plus "upn" qui est "unique personnal name".
J'ai mis une nouvelle version, dans laquelle il y a déjà le package firebase donc plus besoin d'installer via composer.
Normalement ça doit être bon après ça. Je me sert que de l'email et du nom.
Offline
Ah je crois qu'on approche du but. Ce coup si ça m'a bien demandé de m'identifier avec un compte O365.
Ca mouline un peu et après j'ai cette erreur :
Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Ceci est habituellement une erreur temporaire qui se produit durant la rsolution du nom dhte et qui signifie que le serveur local na pas reu de rponse dun serveur faisant autorit. in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 150
Warning: file_get_contents(https://login.microsoftonline.com/id me mon tenant/discovery/v2.0/keys): failed to open stream: php_network_getaddresses: getaddrinfo failed: Ceci est habituellement une erreur temporaire qui se produit durant la rsolution du nom dhte et qui signifie que le serveur local na pas reu de rponse dun serveur faisant autorit. in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 150
Warning: Invalid argument supplied for foreach() in C:\inetpub\wwwroot\plugins\azure\inc\provider.class.php on line 153
Last edited by keepcool5283 (2020-12-03 16:07:37)
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Ah et par contre ça m'empêche de me reconnecter sur ma GLPI après. Je n'ai plus accès à la MIR de login. Ca me dit accès refusé automatiquement.
Last edited by keepcool5283 (2020-12-03 16:09:10)
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline