07/03/2014 GLPI / Inventaire équipement radio Procédure Anthony MANDRON SDIS 21
Table des matières Procédure d installation de GLPI sur une Debian Wheezy :... 2 Mise en place du plugin «Generic Object Management» :... 5 Procédure d installation :... 5 Ajout d un nouvel objet :... 5 Respect de l unicité d un champ :... 8 Modification du plugin de gestion d objets :... 8 Mise en place du plugin «Data Injection»... 9 Procédure d installation du plugin d injection de données :... 9 Création du modèle... 10 ANTHONY MANDRON 1
Procédure d installation de GLPI sur une Debian Wheezy : Installation standard de GLPI : aptitude install -y apache2 php5 libapache2-mod-php5 mysql-server php5-mysql php 5-imap php5-ldap php5-curl Téléchargement de la dernière version stable : Se placer dans repertoire /var/www/ : cd /var/www/ wget https://forge.indepnet.net/attachments/download/1615/glpi-0.84.3.tar.gz On décompresse l archive : tar -xvzf glpi-0.84.3.tar.gz On supprime ensuite l archive : rm glpi-0.84.3.tar.gz On va créer ensuite la base de données de GLPI : on se connecte d abord au serveur MySql : mysql -u root -p mysql> create database glpidb; On attribue ensuite les droits nécessaires sur la base de données pour pouvoir effectuer des changements dessus : mysql> grant all privileges on glpidb.* to root@localhost identified by 'mdp'; Affectation des droits nécessaires à l installation finale de GLPI : chown -R www-data /var/www/glpi On peut ensuite se connecter sur l interface de GLPI : ANTHONY MANDRON 2
http://adresse-ip/glpi Sélectionner la langue souhaitée : Acceptez les termes de la licence : ANTHONY MANDRON 3
Renseigner les informations relatives à la connexion à la base de données : Choisissez la base de données créee précédemment : ANTHONY MANDRON 4
Mise en place du plugin «Generic Object Management» : Ce plugin de GLPI va permettre de pouvoir créer notre objet radio avec ses champs propres et permettre son intégration au sein de GLPI. Procédure d installation : Il faut d abord se placer dans le répertoire des plugins de GLPI : cd /var/www/glpi/plugins/ Téléchargement du Plugin : wget https://forge.indepnet.net/attachments/download/1599/glpi-genericobject-2.x.x.tar.gz Décompression de l archive : tar -xvzf glpi-genericobject-2.x.x.tar.gz Installation via l interface de GLPI : Ajout d un nouvel objet : La première étape consiste à insérer les champs de notre nouvel objet au sein de GLPI. Ajout des champs spécifiques à l objet radio : Création du fichier permettant l ajout de champs spécifique à l objet crée : vim /var/www/glpi/plugins/genericobject/fields/constants/exemple.constant.php ANTHONY MANDRON 5
Ajout du code suivant : <?php global $GO_FIELDS, $LANG; $GO_FIELDS['type']['name'] = 'Type'; $GO_FIELDS['type']['input_type'] = 'text'; $GO_FIELDS['rfgi']['name'] = 'Identifiant'; $GO_FIELDS['rfgi']['input_type'] = 'text'; $GO_FIELDS['version']['name'] = 'Version'; $GO_FIELDS['version']['input_type'] = 'text?> On peut ensuite ajouter notre objet dans GLPI et lui attribuer les champs voulus : Pour se faire, on va dans le menu plugin puis gestion d objets et sur l icône configuration : Il faut donc lui attribuer un identifiant interne : ANTHONY MANDRON 6
On peut ensuite le rendre actif et pouvoir le rendre interactif avec GLPI. L utilisation de l option pour utiliser le plugin «Data Injection» est nécessaire pour pouvoir importer des données de manière massive. Dans un autre onglet, on va pouvoir attribuer les champs à l objet crée : ANTHONY MANDRON 7
Respect de l unicité d un champ : Dans le contexte de l inventaire des équipements radio du SDIS, le numéro RFGI doit rester unique. Pour respecter cette contrainte, GLPI permet l attribution d un champ unique et empêchant un autre enregistrement du même type. Il faut ensuite modifier du code php afin de pouvoir utiliser un nouvel objet pour permettre l importation de données à partir du plugin Data Injection. Modification du plugin de gestion d objets : Cette modification est nécessaire pour le plugin Data Injection Modification du fichier object.class.php : vim /var/www/glpi/plugins/genericobject/inc/object.class.php Code à modifier à partir de la ligne 105 : //Get itemtype name static function gettypename() { global $LANG; $class = get_called_class(); //Datainjection : Don't understand why I need this trick : need to be investigated! if(preg_match("/injection$/i",$class)) { $class = str_replace("injection", "", $class); $item = new $class(); //Itemtype name can be contained in a specific locale field : try to load it PluginGenericobjectType::includeLocales($item->objecttype->fields['name']); if(isset($lang['genericobject'][$class][0])) { return $LANG['genericobject'][$class][0]; else { return $item->objecttype->fields['name']; public function construct() { $class = get_called_class(); $this->table = gettableforitemtype($class); if (class_exists($class)) { ANTHONY MANDRON 8
$this->objecttype = PluginGenericobjectType::getInstance($class); $this->dohistory = $this->canusehistory(); function cancreate() { $class = get_called_class(); //Datainjection : Don't understand why I need this trick : need to be investigated! if(preg_match("/injection$/i",$class)) { $class = str_replace("injection", "", $class); return Session::haveRight($class, 'w'); Mise en place du plugin «Data Injection» Procédure d installation du plugin d injection de données : Téléchargement de l archive : cd /var/www/ wget https://forge.indepnet.net/attachments/download/1352/glpi-datainjection-2.x.x.tar.gz tar -xvzf /glpi-datainjection-2.x.x.tar.gz On peut ensuite lancer son installation via l interface de GLPI comme le plugin de gestion d objets. Au préalable, il faudra activer l option «utiliser le plugin data injection dans la configuration de l objet pour permettre l interaction avec celui-ci. On va pouvoir alors l utiliser pour pouvoir insérer des données au sein de GLPI. Pour se faire, on va créer un modèle : ANTHONY MANDRON 9
Création du modèle Il faut ensuite lui attribuer les options suivantes : Il faut bien vérifier la délimitation des données du fichier.csv bien séparées par un point-virgule. ANTHONY MANDRON 10
Il faut ensuite créer un fichier csv avec les données à importer : Exemple : ANTHONY MANDRON 11
Il faut ensuite attribuer les champs à notre modèle : Il faut ensuite valider le modèle dans l onglet validation. On peut démarrer alors l importation de données : ANTHONY MANDRON 12