Procédure GLPI - Anthony MANDRON

Download Report

Transcript Procédure GLPI - Anthony MANDRON

07/03/2014
GLPI / Inventaire
équipement radio
Procédure
Anthony MANDRON
SDIS 21
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
http://adresse-IP/glpi
Sélectionner la langue souhaitée :
Acceptez les termes de la licence :
ANTHONY MANDRON
3
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
$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
GLPI / INVENTAIRE EQUIPEMENT RADIO
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
GLPI / INVENTAIRE EQUIPEMENT RADIO
Il faut ensuite créer un fichier csv avec les données à importer :
Exemple :
ANTHONY MANDRON
11
GLPI / INVENTAIRE EQUIPEMENT RADIO
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