Vous êtes sur la page 1sur 26

RAPPORT DE STAGE :

Exploitation de GLPI

RANDRIAMBOLOLONA Mamindraibe Floret Josilde,


29 février 2022 au 28 mai 2023

1
PARTIE II : ETUDES DE L’EXISTANT

Chapitre 3 : L’environnement

L’utilisation de GLPI au sein de l’ADES remonte au mois de janvier 2023.


Plusieurs services ont depuis été mis en place et sont en exploitation. C’est pourquoi
une deuxième instance de GLPI a été mis en place afin de servir de serveur de test. Les
caractéristiques des deux serveurs sont résumés par ce tableau.

Serveur de test Serveur d’exploitation


Type Machine virtuel Machine virtuel
Système Debian 11.5 Debian 11.5
Configuration RAM : 2 Go RAM : 2 Go
Disque dur : 80 Go Disque dur : 80 Go

2
Adresse IP 10.85.1.243 10.85.1.241
Version GLPI 10.0.5 10.0.5
Droit d’accès Complete sur le système (root) Complete sur le dossier GLPI
Serveur de Imap.gmail.com outlook.office365.com
messagerie
xxxxxx@gmail.com support.it@ades-solaire.org

Tableau 1 : Tableau comparatif des deux serveurs

Ainsi toutes actions visant à personnaliser GLPI devront suivre la procédure suivante :

Figure 1 Procédure d’amélioration d’une fonctionnalité GLPI

Chapitre 4 : L’application GLPI


4.1. Installation
a. Prérequis
L’installation de GLPI nécessite un serveur web, une base de données et PHP.
Pour une version 10.0.x de l’application voici un exemple de configurations requises :

Version minimal Version maximal


Apache 2 Toute version ultérieur
MySQL / Maria DB 5.7 / 10.2 Toute version ultérieur
PHP 7.4 8.1

3
Tableau 2 : Configuration requise pour GLPI 10.0.x

Pour que l’application fonctionne correctement, les extensions PHP suivantes


sont indispensables :

Extension Nécessité
apcu Pour le cache
curl Authentification CAS, contrôle de version, télémétrie, …
cli Exécution de script ou actions automatiques
fileinfo Pour avoir des informations détaillées sur les fichiers
gd Générer des images
imap Utilisation du Protocol IMAP
json Pour la prise en charger du format de donnes JSON
mbstring Pour la gestion des caractères multi octets
mysqli Connexion et interrogation de la base de donnes
ldap Utilisation de l’annuaire LDAP pour l’authentification
session Support des sessions utilisateur
xmlrpc Utilisation de l’API XMLRPC

Tableau 3 : Extensions indispensable au bon fonctionnement de GLPI

D’autre extensions peuvent être installer selon les besoins.

b. Téléchargement
La distribution GLPI Project est téléchargeable gratuitement sur https://glpi-
project.org/fr/telecharger-glpi/ ou d’autre site communautaire.

c. Etapes à suivre
De la préparation du système support a la configuration de l’application voici les
étapes à suivre pour que GLPI soit installer correctement
1. Mise à jour de la liste des paquets en utilisant la commande :
# apt-get update && apt-get upgrade

2. Installation de :
 Apache 2 et son module PHP
4
# apt-get install apache2 php libapache2-mod-php

 PHP et tous ses extensions (voir tableau 3)


# apt-get install php-imap php-ldap php-curl php-xmlrpc php-gd
# apt-get install apcupsd php-apcu php-mysql php-cas

 Maria DB :
# apt-get install mariadb-server
# mysql_secure_installation

3. Redémarrer les services :


# /etc/init.d/apache2 restart
# /etc/init.d/mysql restart

4. Accéder a Maria DB et créer la base de données


# mysql -u root -p
> create database db;
> grant all privileges on db.* to user@localhost identified by "votre-mot-de-passe";

5. Télécharger et extraire GLPI dans le répertoire /var/www/html


# cd /usr/src/
# wget https://github.com/glpi-project/glpi/releases/download/9.3.3/glpi-9.3.3.tgz
# tar -xvzf glpi-9.3.3.tgz -C /var/www/html

6. Attribution du droit d’agir sur les fichiers au serveur LAMP


# chown -R www-data /var/www/html/glpi/

7. Configuration de GLPI via l’interface web qui est accessible via l’url :
http://10.85.1.x/glpi. Cela se divisera en 7 pages :
Page 1 : choisissez votre langue préférée puis cliquez sur [OK] pour valider.
5
Page 2 : accepter les termes de la licence puis cliquer sur [Continuer]
Page 3 : cliquer sur [Installer]
Page 4 : cette page vous permet de vérifier que tous les extensions PHP ont été
correctement installée s’il en manque répéter la manipulation de l’étape 2 en mettant
comme argument le nom de l’extension précédée par « php- » sinon cliquer sur
[Continuer]
Page 5 : associez GLPI à la base de donnes créé pendant l’étape 4. Remplissez le
formulaire et cliquer sur [Continuer]
Page 6 : Si tout est OK, la base devrait apparaitre sur la page suivante, sélectionner-la
et cliquer une seul fois sur [continuer] même si le système ne répond pas
immédiatement pour éviter que la base soit créer deux fois. Attendez que GLPI vous
confirme que la base de données a bien été initialisée puis cliquer sur [continuer]
Page 7 : GLPI est maintenant fonctionnel. Il vous donne les login et mot de passe de
quelque compte par défaut qui seront utiliser pour les premières connexions

4.2. Quelques fonctionnalités utiles


a. Les règles
GLPI contient un moteur qui permet de réaliser automatiquement des actions ou
des associations comme attribuer une catégorie a un logiciel ou définir certaines
actions automatiques lors de l’ouverture de ticket.
Pour créer une règle, on commence par choisir un connecteur logique (ET/OU).
Selon le connecteur choisi un ou tous les critères devront être vérifie pour déclencher
une liste d’actions.
Plusieurs critères sont disponibles :
 Est
 N’est pas
 Contient
 Ne contient pas
 Commence par
 Se termine par
 Sous (pour indiquer un ensemble d’élément)
 Pas sous (négation de sous)

Les règles sont configurables au menu Administration/Règles

6
b. Les actions automatiques
Afin d’assurer la continuité du service et d’optimiser le temps de réponse aux
requête des clients le système offre la possibilité de configurer des tache
périodiquement planifiées (également appelé crontasks) qui seront exécuté
automatiquement.
Deux modes de configuration sont possibles :
1. En mode GLPI : les actions sont lancées occasionnellement lorsque les
utilisateurs naviguent dans le système ;
2. En mode CLI : Les actions sont lancées dans leur propre session via CRON.

Sous linux, CRON se config en ajoutant ce qui suit à la crontab de l’utilisateur du


serveur web.
* * * * * php GLPI/front/cron.php

Ces derniers se configurent dans l’onglet Configuration/Actions automatiques.

c. Le collecteur de mail
Un collecteur de mail permet d’importer des messages depuis une boite de
réception et de les transformer en ticket. Un collecteur est associé à une adresse et il
possible d’ajouter plusieurs collecteurs cependant plus il y a de collecteur, plus
l’importation prendra du temps.
Les informations suivantes doivent être fournit lors de la configuration :
 Un nom de serveur ;
 Des options de connexion (IMAP ou POP, SSL, TLS, Validation de certificat) ;
Il est également possible
 De limiter la taille maximale des pièces jointes (de 1 à 100 Mo) ou pas
d’import du tout.
 De basculer la date de création des tickets entre la date d’import ou la date de
réception du courriel.
Le collecteur est basé sur une action automatique « mailgate » dont une des
paramètres définit le temps entre deux exécutions entre 1 min et 30 jours.

La configuration se fait au menu Configuration/Collecteur.

7
d. Le plugin Fusioninventory
Les extensions sont développées par la communauté GLPI et sont destiné à
résoudre des problèmes spécifiques ; ils peuvent être télécharger depuis la marketplace
de GLPI ou sur d’autre site.
Le plugin Fusioninventory est un outil d’inventaire automatique.
Elle se compose de deux parties :
 Fusioninventory serveur : qui est à intégrer dans GLPI
 Fusioninventory client : à installer sur Windows, Mac OS ou linux et vas
remonter automatiquement un nombre important d’information sur son hôte.
L’agent Windows est téléchargeable sur :
http://forge.fusioninvetory.org/projects/fusioninvetory-agent-windows-installer/files
La configuration des plugins se fait au menu Configuration/Plugins.

PARTIE III : REALISATION DU PROJET

8
Chapitre 5 : Les modifications apportés

5.1. Le thème
GLPI est livré avec plusieurs palettes de couleur standard, Mais ce qui nous
intéresse c’est de redorer le logiciel avec les couleurs de l’entreprise.
Pour ce faire nous avons apporter des modifications sur les fichiers CSS. Ces
derniers sont dans le répertoire /css_compiled. A l’aide du logiciel MobaXterm il est
possible de télécharger les fichiers ou de les modifier directement sur le serveur
Quant au logo, ils se trouvent dans le répertoire /pics/logos/. Il n’y a qu’a les
replacer en faisant attention que l’ancien et le nouveau fichier porte le même nom.
Voici à quoi ressemble la page d’authentification par défaut de GLPI

9
Et voici a quoi il ressemble après que les palettes de couleur et le logo d’ADES
a été ajouter

C’est la même chose pour l’interface principale, si avant il ressemblait à ceci

10
Après les modifications il se présente comme cela.

11
5.2. Les notifications
Les notifications sont pour le moment les seuls éléments de GLPI visible par les
utilisateurs des autres départements.
Quatre évènements fait qu’un collaborateur soit notifié :
1. La création de son ticket ;
2. L’attribution du ticket à un ou plusieurs responsables techniques ;
3. La mise en attente du ticket ;
4. Et sa clôture.
Les notifications sont aussi un outil de communication entre le responsable
technique et le demandeur.
Par défaut une notification ressemble à ceci :

Toutes les informations sont là mais les comprendre prend un peu de temps.
Nous avons donc procédé à une réorganisation du contenue et par le passage mis en
valeur les couleurs de l’entreprise.

12
Cela se configure au menu Configuration/Notifications/Modèles de
notifications.

On peut créer un nouveau Template de notification en cliquant sur le bouton


dédié encadrer en rouge sur la photo.
Ici nous avons déjà quatre modèles encadrés en bleu, une pour chacun des
évènements cités un peu plus haut.
On peut modifier un modèle en cliquant dessus ; cette action ouvre cette page
sur laquelle on peut changer le nom et les codes CSS du modèle.

13
Mais pour véritablement modifier le modèle il faut changer son contenu. Pour cela
clique sur [Traduction de modèle] puis sur [Traduction par défaut]

1
2

Un fois que c’est fait, on arrive sur cette page ; trois éléments y sont importants :
1. La liste des balises possible : ce sont des tags visant une variable GLPI ;
2. Le corps texte du courriel : pour certaine client mail qui ne supporte pas le html ;
3. Le corps html du courriel.

La partie texte sera replie automatiquement par GPLPI en fonction du contenue


html.

14
Pour modifier le html il est recommandé de créer la page avec un éditeur de texte
comme MS Visual Studio Code et de venir ensuite copier/coller dans la partie code
source du modèle

Remarque : les client Outlook ne prennent pas en charge les images sauf si elles sont
encodées en base 64 et intégré dans le html.

15
Après application des modifications les mails de notifications se présentent
comme suit :

Le code source de ce modèle ainsi que l’application utilisé pour encoder les
images en base 64 seront présentés dans les annexes (voir annexe1 et annexe 2).

16
5.3. La Configuration
Après un certain temps d’utilisation le problème suivant a été remarque :
Prenons le cas ou un responsable technique sollicite un demandeur à lui fournir
des informations supplémentaires sur sa situation ; le demandeur sera notifié et vas
répondre. Le problème c’est que le demandeur va recevoir sa propre réponse en
notification en même temps que le technicien.
Pour résoudre ce problème il faut changer la valeur du paramètre notification
pour mes changements qui est OUI par défaut.

17
5.4. L’Administration
La colonne groupe de la liste des utilisateurs a été remplie par leur département
respective pour avoir un classement simulant l’organigramme de l’entreprise.

Pour avoir le statistique d’intervention par département, la solution trouvés est


de créer des règles qui vont relier chaque ticket créer au département de son
demandeur.
Pour cela il faut accéder à l’onglet Administration/Règles puis cliquer sur règles
métier pour les tickets.

18
Une fois sur cette page cliquer sur [ajouter]

Puis on arrive sur cette page ou il faut définir l’opérateur logique.

19
Un fois que c’est fait, cliquer sur [critères] puis choisissez la première opérande
(1), le critère (2) et la deuxième opérande (3) et pour finir cliquer sur [sauvegarder]

1
2 3

Pour finir ajouter la ou les actions à exécuter si les critères sont respectés.

20
5.5. Statistiques et rapports
GLPI offre également la possibilité de créer des représentations de données
assez détaillées sur plusieurs aspects du parc. Ses informations sont partageable entre
utilisateur mais aussi téléchargeable en format PDF et CSV.

21
CONCLUSION ET PERCPECTIVES

Depuis sa création en 2003 le projet GLPI est fait pour offrir à ses utilisateurs
une liberté presque total. En adoptant le logiciel, l’ADES s’est procurer un outil de
gestion des actifs informatiques, de communication entre le département IT et les
autres départements mais aussi outil de rapport détaillés qui aiderons aussi bien dans
les analyses que les prises de décision. Ces réalisations n’ont fait que confirmer à quel
point cette solution est modulable
Cependant ceci n’est pas une finalité, les possibilités avec GLPI reste encore
nombreuse comme : l’automatisation des rapports, l’édition de code barre ou de QR
code relié à l’information inventorier ou encore la création d’une historique des
mouvements du matériels…

22
WEBOGRAPHIE

 Sites web qui propose des formations gratuites


https://openclassrooms.com/fr/courses/1730516-gerez-votre-parc-informatique-avec-glpi
https://www.it-connect.fr/tag/glpi/
https://www.alphorm.com/tutoriel/formation-en-ligne-glpi-gestion-de-parc-avec-glpi-et-ocs

 Sites de documentation officiel


https://glpi-project.org/fr/glpi-documentation/

Site communautaire
https://glpi-project.org

Site commercial
https://services.glpi-network.com/

Site de forum
https://forum.glpi-project.org
https://www.geek-chretien.fr

23
ANNEXES
Annexe 1 : Code source d’un modèle de notification
<div class="container">
<table style="width: 80%;">
<tbody>
<tr>
<td style="text-align: center; width: 20.4604%; padding-bottom: 10px;"><img
src="blob:http://10.85.1.241/22d55faf-638f-407b-b42b-b3fec5c6767d" alt="ADES"></td>
<td style="text-align: center; width: 50.2375%;"> </td>
<td style="text-align: center; width: 29.5944%;">
<h2><span style="color: #9a9a9a; font-weight: 400;">Support </span> <span style="color: #000000; font-
weight: 400;">IT</span></h2>
</td>
</tr>
<tr>
<td class="middle" style="border-top: 2px solid; border-bottom: 2px solid; border-left: 2px solid; border-color:
#4b8b32;">
<p>TICKET N° <strong>##ticket.id##</strong></p>
<br><br></td>
<td class="middle" style="border-top: 2px solid; border-bottom: 2px solid; border-color: #ffca18; border-
bottom-color: #4b8b32;">
<p><u>Statut</u> : <strong style="color: #4b8b32; font-size: 13px;"> En cours ( Attribué ) </strong></p>
<p><u>Objet</u> : ##ticket.title##</p>
</td>
<td class="middle" style="border-top: 2px solid; border-bottom: 2px solid; border-right: 2px solid; border-color:
#ffca18;">
<p>Ouvert le ##ticket.creationdate##</p>
<br><br></td></tr>
<tr>
<td style="padding: 15px 80px 0px; width: 100.292%;" colspan="3">
<p>Merci d'avoir contacter notre équipe d'assisstance. Un ticket de support à été ouvert suite à votre demande.
<br><br>Les détails de votre ticket sont affichés ci-dessous : <br><u><strong>Demandeur</strong></u> :
##ticket.authors## <br><u><strong>Basé(e) au</strong></u> : ##ticket.location##
<br><u><strong>Catégorie</strong></u> : ##ticket.category##<br><u><strong>Priorité</strong></u> :
##ticket.priority##<br><u><strong>Attribué à </strong></u> : <span style="color:
#4b8b32;">##ticket.assigntousers##</span> <br><br>Bien cordialement.<br><br><span style="color:
#4b8b32;"><strong>ADES - Durablement efficace pour Madagascar</strong></span><br>Le Département
IT<br>Direction Nationale Toliara - Route Betanimena<br><a href="mailto:support@ades-
solaire.org">support@ades-solaire.org</a><br><a
href="http://www.ades-solaire.org">www.ades-solaire.org</a></p></td></tr></tbody></table></div>

24
Annexe 2 : Code source de l’encodeur d’image
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image to Base64</title>
</head>
<body>
<input type="file" id="inputImage" accept="image/*">
<textarea id="outputBase64" rows="10" cols="80" readonly></textarea>
<script>
document.getElementById('inputImage').addEventListener('change', function(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onloadend = function() {
const base64 = reader.result;
document.getElementById('outputBase64').value = base64;
};
reader.readAsDataURL(file);
});
</script>
</body>
</html>

25
RESUME

Ce projet d’adaptation de GLPI au besoin d’ADES fut pour moi l’occasion


d’apprendre l’utilisation et l’administration de ce logiciels. Et j’ai encore la volonté de
continuer mon apprentissage car il me reste des horizons à explorer notamment le
développement de plugin.

ABSTRACT

This project of adapting GLPI to the needs of ADES was an opportunity for me
to learn the use and administration of this software. And I still have the will to
continue my learning because I still have horizons to explore, plugin development for
example.

26

Vous aimerez peut-être aussi