You are not logged in.
Bonjour.
J'ai actuellement en développement un portail de gestion des ressource humaine de ma société (gestion des entités en cascade et dynamique) avec tout un tas d'option propre à notre organisation. Cette application est elle même relié dans les deux sens a une autre application en cours qui la gestion des ligne téléphonique (répartiteur / autocom).
Nous avons le projet de mettre en place GLPI (quand je sais pas) pour la gestion de notre parc couplé avec OCS. Une active directory est prévu pour décembre. Donc normalement authentification automatique et tout le tointoin.
MAIS, mon souci c'est que j'aimerais faire un pont entre mon application intranet et GLPI. J'ai installer en local pour l'instant en cohabitation avec mes appli. J'ai également appliqué le plugins "impression pdf" qui permet d'avoir une fiche pdf détailler pour une et unique machine (et non pas le listing du parc)
Donc ce que j'aimerais c'est pouvoir appeler cette page PDF à partir de mon application. Admettons que j'ai une machine au nom WR1008 (nom unique) va falloir que je recupère l'ID de l'ordinateur pour ce nom fournit la n'est pas le problème mais ensuite comment appeler l'appel PDF pour cette ordinateur précis, et surtout sans pouvoir se logguer.
En gros jaimerais avoir la possibilité d'avoir accès au donné GLPI (en lecture simplement) et cela sans authentification à partir d'un développement propre à notre société.
Si c'est possible merci de m'indiquer la procédure ou de m'aiguiller dans mes recherches.
Cordialement
Guillaume
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Personne pour m'indiquer une ptite astuce ?
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Il faudrait passer par du SSO comme ça tu as une authentification mais automatique (=transparent)
Offline
SSO ? c'est l'authentification externe via AD ? en récupérant le compte windows c'est ca non ?
Si c'est le cas cas certe ce sera l'astuce lorsque tout sera en place mais je ne peux pas actuellement mettre en place cette solution etant donné que l'AD n'est pas encore mise en place au sein de notre réseau. Je ne suis que le developpeur et je bosse en local actuellement et je reflechi sur la fabrication du pont entre mon appli et GLPI
Ce qui serait vraiment l'idéal c'est de pouvoir appeler le plugins PDF pour une machine ID définit. Mais pour ca encore une fois faut etre logger et apres restera le souci comment appeler la fabrication de ce pdf extérieurement à GLPI
Si SSO n'est pas en rapport avec AD alors je suis preneur d'info (jai fait une recherche mais rien trouver de bien interessant pour mon cas précis)
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Il faudrait que tu logue automatiquement en modifiant l'authentification de GLPI (c'est pas super top mais regarde de ce coté là). Regarde les fichiers qui servent au login
Offline
On utilise Django au boulot. Pour la partie purement technique je ne m'en suis pas occupé (et je connais très peu) je ne pourrai pas détailler
Pour information cependant la conf côté GLPI :
Dans le fichier /etc/apache2/conf.d/zzz-auth.conf ajouter la section :
<DirectoryMatch /usr/share/glpi> Options +FollowSymLinks AllowOverride AuthConfig Order Allow,Deny Allow From All AuthType Basic TKTAuthLoginURL http://test01.localdomain:8000/login TKTAuthTimeoutURL http://test01.localdomain/to TKTAuthUnauthURL http://test01.localdomain/logout TKTAuthToken "glpi" require valid-user </DirectoryMatch>
Puis dans GLPI, dans "authentifications externes" choisir REMOTE_USER
GLPI 0.72.4 ~ environ 600 matériels réseaux et 2200 serveurs gérés.
Apache/2.2.8 (Ubuntu)
Offline
On utilise Django au boulot. Pour la partie purement technique je ne m'en suis pas occupé (et je connais très peu) je ne pourrai pas détailler
Pour information cependant la conf côté GLPI :
Dans le fichier /etc/apache2/conf.d/zzz-auth.conf ajouter la section :
<DirectoryMatch /usr/share/glpi> Options +FollowSymLinks AllowOverride AuthConfig Order Allow,Deny Allow From All AuthType Basic TKTAuthLoginURL http://test01.localdomain:8000/login TKTAuthTimeoutURL http://test01.localdomain/to TKTAuthUnauthURL http://test01.localdomain/logout TKTAuthToken "glpi" require valid-user </DirectoryMatch>
Puis dans GLPI, dans "authentifications externes" choisir REMOTE_USER
J'ai oublier de préciser je tourne sous un environnement windows avec apache2 (sous wamp5) je ne trouve donc pas ce fichier auth.conf :s est ce httpd.conf ?
j'avous suis pas tres alaise avec les configuration server toussa toussa :s
Last edited by hyptnos (2009-07-21 09:45:32)
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Bon j'arrive pas a grand chose la
Je sens que je vais me faire une classe dans mon appli qui va attaquer directement les table GLPI pour recuperer les valeur desirer via un ptit (enorme) SELECT avec les clé etrangère toussa toussa j'arriverais certainement au meme mais en devant redévelopper un module rien que pour mon appli
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Nous la liaison entre l'appli nationale et GLPI national se fait vie requête XML-RPC
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Nous la liaison entre l'appli nationale et GLPI national se fait vie requête XML-RPC
Peux tu m'en dire un peu plus sa m'interesse. Ayant abandonné actuellement l'affichage en pdf générer par glpi et ceux directement de mon application je suis entrain de construire la requete mysql qui me récupèrerais l'ensemble des valeur de toute les table (left join et compagnie) via un ID de machine connu.
Maisj je suis preneur de ta méthode XML-RPC
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
ton appli local devient client XML-RPC et ton appli GLPI serveur XML-RPC
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
ton appli local devient client XML-RPC et ton appli GLPI serveur XML-RPC
Je ne me suis jamais pencher sur le sujet mais je vois cela donc merci
Mais si je comprend bien jvais devoir faire une page PHP dans GLPI qui me recupère les valeurs
et du coté de mon appli un appel RPC vers ce fichier créer pour récuperer la valeur de ce fichier ?
Un peu le meme système que AJAX qui permet de communiquer les valeur d'un fichier PHP vers Javascript ?
Si tu as un lien qui permet d'apprendre le fonctionnement et la mise en place du XML-RPC je t'en remerci
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Du côté de GLPI, le serveur web est déjà écrit. Il te suffit de récupérer le plugin xml-rpc dans le svn des plugins (non publié car pas assez complet)
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Je vais etre chiant désolé mais peux tu si cela ne dérange pas me montrer un morceau de code de ton appli sur la parti xml-rpc appelant GLPI
car j'ai installer le plugins, ok pour les methode et tout, mais du coté de mon appli qu'elle est la page a appeler ?
Je suis un peu perdu
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Le plugin xmlrpc est fournit avec un script "test.php" qui est un mini-client.
Tu y trouveras des exemples d'appel.
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Super merci
Sa fonctionne j'arrive donc facilement a appeler les methode à partir de mon appli local :-)
Bon ba maintenant reste a créer des methode qui m'interesse
Je me penche donc sur ce travail
encore merci
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Merci d'essayer de faire des méthodes aussi génériques que possible et de nous les envoyer.
Si elles paraissent utiles, on les intégrera
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Heu oui ok mais sa commence mal je n'arrive pas a comprendre comment passer en paramètre des valeur
genre pour debuter j'ai créer une fonction similaire à celle de teste avec "hello world" sauf que j'essai d'imposer mon texte mais évidement je bloque je comprend pas du tout, avec tout ses array() qui se ballade je vais devenir fou. Je peux meme pas m'arracher les cheveux j'en ai deja plus.
EDIT : J'ai rien dit finalement c'est ok donc je continue mon apprentissage mais en tout j'aurais appris pas mal de chose aujourd'hui :-)
mais ne vous attendez pas a avoir quelque chose de bien générique avec moi je debute depuis hier sur GLPI donc bon c'est encore plus qu'obscure pour moi
Last edited by hyptnos (2009-07-21 15:46:45)
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
mais ne vous attendez pas a avoir quelque chose de bien générique avec moi
dommage... cela m'aurait vraiment arrangé
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Disons que j'essaierais alors ^^
Pour le moment j'ai comme j'ai dit hier etudier l'ajout de fonction et je m'en suis créer une qui cette fois donc pour un ID donnée je récupère les infos de la table computers et ceux à partir de mon application. J'ai réspecter un peu la même architecture que les fonctions présentes donc pour l'instant sa va pas trop mal.
Je vais vois aujourd'hui si j'arrive à comprendre les classes de GLPI de ce fait j'instancierais les classes nécessaire pour permettre la récupération d'informations et sa remonter jusqu'à mon appli. Cela m'éviterais de faire de superbe requete Mysql de la mort qui tue ^^
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Pour info : https://dev.indepnet.net/plugins/wiki/xmlrpc
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Par contre une chose que je ne comprend pas
Pourquoi dans une fonction que je définit pour le plugin cml-rpc, certaine classe sont accessible et d'autre non ?
Par exemple la classe Connection on peut l'instancier mais pas la table Computer
dans le meme style une fois la classe Connection d'instancier j'appel la méthode getComputersContact avec un ID et un type en paramètre et la il me dit
Notice : Undefined index: glpiactiveentities_string in C:\wamp\www\glpi\inc\auth.function.php on line 863
Y a t'il quelque chose à faire pour que l'ensemble des fonction , classe , methode etc.... soit accessible dans une fonction pour le plugins xml-rpc ?
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Pour bénéficier de l'ensemble des fonctionalités des fonctions de GLPI, il faut être dans un environnement authentifié. C'est le but de la fonction "glpi.doLogin", sinon, pas de session et beaucoup de fonctions ne fonctionneront pas.
Ensuite pour instancier une classe, il faut charger son fichier d'include.
Le serveur xmlrpc n'en charge que quelques une par défaut.
+
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Ok donc le mieu serait de faire sa requete puis ensuite de l'executer avec $DB->query($requete)
et de retourner le tableau de resultat ($DB->fetch_array) via RPC
Je vien de faire un essai d'un select sur la table computer avec des inner join sur les table os, manufacturer, etc... sa foncitonne bien je recupère bien les resultat dans mon application mais bon cela oblige la création de la requete alors qu'elle etait certainement deja disponible via la class computer.
M'enfin vais pas faire le difficile je trouve deja qu'il y a pas mal de chose à faire avec tout ca :-)
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline
Si cela peut interesser je suis actuellement entrain de créer une classe pour l'utilisation de xml-rpc et ceux de facon générique
Cela permet juste d'appeler la classe avec les différent paramètre de connexion au serveur xml-rpc (exemple : glpi) et de recuperer les valeurs retour sous forme de tableau à traiter localement ensuite
je vais meme essayé de pousser les choses plus loin avec un fichier de configuration qui créera un tableau en variable global
GLPI Ver. 0.84.4
OCS Ver. 2.1RC1
Offline