Vous êtes sur la page 1sur 23

Formation GLPI

1
Céline Gondot
2 SIO
Lycée de La Chataigneraie
2 Sommaire

I. GLPI
1. A quoi sert GLPI ?
2. Les fonctionnalités
3. La norme i18n
4. L’encodage UTF-8

II. Les plugins


1. A quoi sert un plugin ?
2. Les plugins de GLPI
3. Liens avec un plugin
4. Les versions
5. L’écriture
a. Les conventions de programmation

b. L’aspect

III. Mise en application


IV. Index
3 I. Présentation de GLPI
4 I. Présentation de GLPI
1. A quoi sert GLPI ?
 Gestionnaire Libre de Parc Informatique
 Application web codée en PHP
 Projet communautaire 2003
 Indepnet : Association à but non lucratif.
 Objectif: promouvoir, démocratiser l’Internet contributif et non-marchand,
favoriser au sein d’un public large et non spécialiste l’émergence d’espaces
collaboratifs d’échange et de production d’information, développer l’usage des
Nouvelles technologies de l’information au service d’initiatives citoyennes et de
solidarités militantes.
5 I. Présentation de GLPI
2. Les fonctionnalités
 Différentes fonctionnalités:
 Inventaire:
 Ordinateurs
 Périphériques
 Réseaux
 Consommables
 Affectation matérielle par zone géographique par groupe d’utilisateurs et par
utilisateur
 Interface permettant à l’utilisateur final de déposer une demande d’intervention
 Réservation de matériel
 Génération de rapports à propos du matériel, d réseau et des interventions
6 I. Présentation de GLPI
2. Les fonctionnalités
 Différentes fonctionnalités:
 Différentes gestions:
 Licences et dates d’expiration
 Informations administratives et financières
 Etat matériel
 Demandes d’interventions pour tout type de matériel de l’inventaire
 Conventions de services
 Planning et export pour assistant personnel
 Entreprise, contrats, documents liés aux éléments de l’inventaire
 Systèmes de base de connaissances hiérarchiques
 FAQ publique et/ou privée
7 I. Présentation de GLPI
3. La norme i18n
 Convention pour le nommage des fichiers de langue : norme i18n
 Internationalization
 18: 18 lettres entre le i et le n
 Permet à une application, un script ou un programme d’être indépendant
de la notion de langage, d’alphabet, de temps, de devise monétaire etc.
 Fr_FR: le français de France
 Dans le fichier, les libellés sont stockés dans un tableau
 $LANG[‘<plugin_name>’][‘title’][0]=’’mon titre’’;
 $LANG[‘<plugin_name>’][‘myplugin’][1]=’’libellé 1’’;
 $LANG[‘<plugin_name>’][‘myplugin’][2]=’’libellé 2’’;
 Même convention pour les plugins
8 I. Présentation de GLPI
4. Encodage UTF-8
 Fichier de langue correspond à la langue courante de l’utilisateur
 Chargé automatiquement
 Si il n’existe pas dans GLPI, il chargera de manière successive, le fichier de
la langue par défaut, de l’anglais puis du français.
9 II. Présentation des plugins
1. A quoi sert un plugin ?
 Complète un logiciel hôte
 Apporte de nouvelles fonctionnalités
 Ne peut pas fonctionner seul
 Auteurs plugin ≠ Auteurs logiciel hôte
 Logiciel hôte: conçut pour communiquer avec des programmes extérieurs
selon certaines règles à respecter afin d’échanger des informations
 Objectifs des auteurs de plugin:
 Ajouter fonctionnalités sans tout reprogrammer
 Permettre à l’utilisateur d’ajouter lui-même ses propres fonctionnalités
indépendantes
 Logiciel hôte peut évoluer en restant compatible avec le plugin existant
10 II. Présentation des plugins
2. Les plugins de GLPI
 Ajouts des fonctionnalités: Traitements personnalisés sur des éléments
existants, l’ajout de nouveaux objets d’inventaires, l’import de données
extérieures dans les champs de GLPI
 Possède sa propre gestion de droits par profil: Droits du cœur de GLPI +
Droits du plugin
 Ne modifie pas les tables appartenant à GLPI, ajoute ses propres tables
11 II. Présentation des plugins
3. Liens avec un plugin
 On peut lier le plugin avec:
 Des actions ou des objets du cœur de GLPI:
 Historique
 Réservations
 Déclarations des tickets
 Documents/Notes
 Informations financières

 D’autres objets du cœur (liaison entre l’objet du cœur de GLPI et celui du plugin)
 Liaison inter-plugins
12 II. Présentations des plugins
4. Versions de plugins
 Gestion de version
 But: Créer un système de versions de plugins standard et normalisé
 Version: composée de 3 chiffres
 Premier chiffre: Modification majeure du code
 Second chiffre: Nouvelles fonctionnalités ou modifications qui nécessite
une modification du schéma de la base de données
 Troisième chiffre: Correction des bugs
 Pour GLPI:
 Si il y a évolution de version => 1.1.0
 Si il y a évolution(s) majeure(s) =>2.0.0
13 II. Présentation des plugins
5. Ecriture d’un plugin
 Le plugin se présente sous forme de dossier à ajouter dans le répertoire
« plugins » de l’arborescence de GLPI
 Le nom doit comporter que des caractères alphanumériques.
 Il doit contenir tous les fichiers PHP
 Le plugin ajoute des tables dans la base de données pour gérer ses propres
données ou d’en écrire dans les tables déjà existantes.
14 II. Présentation des plugins
5. a) Les conventions de programmation

 Nom de tables:
 glpi_plugin_<plugin_name>_XXXX
 Pour les tables de type dropdown
 glpi_dropdown_plugin_<plugin_name>_XXXX

 Gestion des noms de fonctions


 Classe: class Plugin<Plugin_name>_XXXX
 Fonction: function plugin_<plugin_name>_<function>
15 II. Présentation des plugins
5. a) Les conventions de programmation

 L’arborescence des fichiers:


 Un répertoire « locales » : dictionnaires
 Type: fr_FR.php / en_EN.php
 Un répertoire « docs »
 Readme.txt, Lisezmoi.txt, Roadmap.txt, Changelog.txt
 Un répertoire « inc »: classes et fonctions
 Fonction: plugin_<plugin_name>.db.function.php
 Classe: plugin_<plugin_name>.db.class.php
 Un répertoire « front »: formulaires
 Formulaire création/édition d’un objet: plugin_<plugin_name>.<object>.form.php
 Affichage d’un moteur de recherche associé à un objet: plugin_<plugin_name>.php
16 II. Présentation des plugins
5. a)Les conventions de programmation

 Un répertoire « pics »: images


 Un répertoire « ajax »: tout fichier qui touchent à l’ajax (affichage onglets)
 A la racine
 Obligatoire
 Hook.php
 Setup.php

 Facultatif
 Index.php

 Si le plugin doit créer des fichiers temporaires


 Création dans le répertoire « files » de GLPI sous files/_plugins/<plugin_name>
 Penser à créer ce répertoire lors de l’installation du plugin et à le supprimer lors
de sa suppression.
17 II. Présentation des plugins
5. b) Aspect des plugins
 Reprendre les classes de mise en forme déjà définies et utilisées dans GLPI.
 Fichiers CSS
18 III. Mise en application

 Création d’un ticket: Ajouter un ticket:


19 III. Mise en application
20 III. Mise en application
21 IV. Index

 Hook: permet à l’utilisateur de personnaliser le fonctionnement du logiciel.


Il peut se présenter sous forme d’un fichier, dans un langage de script,
localisé à un endroit spécialisé. Le programme principale impose
généralement les caractéristique du hook: type, localisation, nom, moment
de l’exécution. Par défaut il est généralement vide, les fonctionnalités de
base seulement sont exécutés. Il fait réaliser des actions supplémentaires à
des moments déterminés.
 API: Application Programming Interface. C’est l’interface de
programmation, une suite formalisée de classes, méthodes ou fonctions
offertes par une bibliothèque logicielle ou un service web. Elle sert de
façade par laquelle un logiciel offre des services à d’autres logiciels.
22 IV. Index

 Ajax: Asynchronous JavaScript and XML. C’est une architecture


informatique qui permet de construire des applications web et des sites
web dynamiques, interactifs sur le poste client en se servant de différentes
technologies ajoutées aux navigateurs web entre 1995 et 2005.
 UTF-8: UCS Transformation Format 8 bits. Codage de caractères
informatiques conçu pour coder l’ensemble des caractères internationaux
d’Unicode, en restant compatible avec la norme ASCII. Il s’agit de coder
les caractères Unicode sous forme de séquences de un à quatre codets
(groupe d’ éléments représentant une donnée élémentaire selon un code)
de un octet chacun.
23

Vous aimerez peut-être aussi