Merge branch 'master' of https://github.com/pluginsGLPI/example into pre_post_show

# Conflicts:
#	setup.php
This commit is contained in:
tomolimo
2016-07-05 14:46:45 +02:00
4 changed files with 26 additions and 369 deletions

View File

@ -1,363 +0,0 @@
/*
* @version $Id: HEADER 15930 2011-10-25 10:47:55Z jmd $
-------------------------------------------------------------------------
GLPI - Gestionnaire Libre de Parc Informatique
Copyright (C) 2003-2011 by the INDEPNET Development Team.
http://indepnet.net/ http://glpi-project.org
-------------------------------------------------------------------------
LICENSE
This file is part of GLPI.
GLPI is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
GLPI is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GLPI. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
// ----------------------------------------------------------------------
// Original Author of file:
// Purpose of file:
// ----------------------------------------------------------------------
Contenu :
- Qu'est ce que c'est ?
- D<>pendances
- Installation et configuration
- Mise <20> jour
- Plugins
*************************************************************************************************************
--- Qu'est-ce que c'est ?
*************************************************************************************************************
GLPI est un gestionnaire de parc informatique.
Il permet de recenser et de g<>rer l'int<6E>gralit<69> des composantes mat<61>rielles
ou logicielles d'un parc informatique, et ainsi d'optimiser le travail des
techniciens gr<67>ce <20> une maintenance plus coh<6F>rente.
Les fonctionnalit<69>s principales de l'application s'articulent autour de deux
axes :
1) L'inventaire pr<70>cis de toutes les ressources techniques, mat<61>rielles et
logicielles, existantes dont les caract<63>ristiques seront stock<63>es dans
une base de donn<6E>es.
2) La gestion et l'historisation, des diverses op<6F>rations de maintenance et
des proc<6F>dures li<6C>es, r<>alis<69>es sur ces ressources techniques.
Enfin, cette application a pour but d'<27>tre dynamique et directement reli<6C>e
aux utilisateurs. Une interface autorise donc ces derniers <20> <20>ventuellement
pr<EFBFBD>venir le service de maintenance et <20> r<>pertorier un probl<62>me rencontr<74>
avec l'une des ressources techniques <20> laquelle ils ont acc<63>s.
*************************************************************************************************************
--- D<>pendances (uniquement test<73> avec ces configurations)
*************************************************************************************************************
1) Apache 1.3.>6 avec PHP 5.3.0
2) MySQL 4.2 et sup<75>rieures
3) Javascript activ<69>
*************************************************************************************************************
--- INSTALLATION DE GLPI ET CONFIGURATION
*************************************************************************************************************
L'installation de GLPI est assez simple. Depuis la version 0.4 il n'y a plus, en particulier, de fichier <20>
modifier <20> <20> la main <20>.
La proc<6F>dure est la suivante :
1. R<>cup<75>rez l'archive de GLPI sur notre serveur, et la d<>compacter sur votre ordinateur personnel.
Vous obtenez un dossier glpi contenant l'ensemble des fichiers du logiciel GLPI.
2. Copier ce dossier sur le serveur destin<69> <20> accueillir GLPI.
3. Connectez-vous avec votre navigateur sur GLPI. GLPI vous proposera une interface graphique vous permettant
de configurer le logiciel. Une fois ces quelques informations de configuration fournies,
GLPI sera totalement install<6C> et vous pourrez commencer <20> travailler.
------ Proc<6F>dure d<>taill<6C>e
--- Configuration n<>cessaire
Vous devez au minimum disposer d'un espace sur un serveur Web avec :
- un acc<63>s au serveur pour l'installation des fichiers (FTP, SSH, etc);
- le support de PHP4 ou sup<75>rieure compil<69>e avec le support des sessions ;
- un acc<63>s <20> une base de donn<6E>es MySQL.
Avant l'installation, vous devez avoir une base MySQL disponible. Si vous n'<27>tes pas l'administrateur
du serveur, il faut demander l'activation d'une base MySQL <20> l'administrateur.
Vous devez conna<6E>tre les donn<6E>es de votre connexion MySQL (fournies par l'administrateur) :
- l'adresse du serveur MySQL ;
- votre login MySQL ;
- votre password MySQL ;
- le nom de la base de donn<6E>es
--- R<>cup<75>rer GLPI
GLPI est disponible en t<>l<EFBFBD>chargement par le Web <20> l'adresse :
- http://glpi-project.org rubrique t<>l<EFBFBD>chargement.
Choisissez la version qui vous int<6E>resse, d<>compactez l'archive sur votre ordinateur dans un r<>pertoire
de votre choix, puis transf<73>rez le contenu de ce r<>pertoire sur le serveur Web.
Si vous <20>tes l'administrateur du serveur d<>compresser l'archive dans le r<>pertoire racine d'Apache
(/var/www ou /var/www/html).
--- Installer les fichiers
Installez l'ensemble des fichiers de GLPI dans l'espace Web, <20> l'endroit o<> vous voulez que GLPI soit
accessible au public.
Maintenant, il est n<>cessaire d'accorder des permissions <20> certains r<>pertoires, de mani<6E>re <20> ce que PHP
ait les droits en <20>criture sur : /backups/dump /glpi/config et glpi/docs
--- D<>but de l'installation
D<EFBFBD>sormais tout se d<>roule en ligne. Pour d<>buter l'installation il vous suffit de faire pointer votre
navigateur web sur le dossier racine de GLPI : http://votreserveur/glpi/ (par d<>faut).
Lors de la premi<6D>re connexion <20> cette adresse, une proc<6F>dure d'installation pas-<2D>-pas d<>marre.
L'interface est intuitive, il suffit d'entrer les informations demand<6E>es.
--- <20>tapes pr<70>liminaires :
A- Choix de la langue.
Vous arrivez alors sur la premi<6D>re <20>tape pr<70>liminaire, qui consiste <20> choisir la langue dans laquelle
se d<>roulera l'installation.
Si vous voulez que la langue soit le Fran<61>ais s<>lectionnez <20> french <20> et cliquez sur <20> OK <20>.
B- Installation ou mise <20> jour.
Vous souhaitez faire une installation, donc cliquez sur <20> Installation <20>.
C- V<>rification de la compatibilit<69> de votre environnement avec l'ex<65>cution de GLPI
Cette <20>tape va v<>rifier que vous avez correctement r<>alis<69> les pr<70>-requis <20> l'installation. Si ce n'est
pas le cas, il vous sera impossible d'acc<63>der aux <20>tapes suivantes. Un message d'erreur assez explicite
vous indiquera les actions <20> r<>aliser avant de r<>essayer.
Si toutes les v<>rifications ont <20>t<EFBFBD> r<>alis<69>es avec succ<63>s, cliquez sur <20> continuer <20>.
--- <20>tapes de l'installation
<EFBFBD>tape 1 : Configuration des informations de connection au serveur de base de donn<6E>es.
Vous arrivez alors sur un formulaire vous permettant d'entrer les informations n<>cessaire <20> la connection
au serveur MySQL.
Dans le champs <20> Mysql server <20> entrez le chemin r<>seau d'acc<63>s au serveur, par exemple : localhost, ou
mysql.domaine.tld
Dans le champs <20> Mysql user <20> entrez le nom d'utilisateur vous permettant de vous connecter au serveur Mysql.
Dans le champs <20> Mysql pass <20> entrez le mot de passe associ<63> <20> l'utilisateur que vous venez d'entrer dans le
champs <20> Mysql user <20> Ce champs peut <20>tre laiss<73> vide si l'utilisateur n'as pas de mot de passe (Il ne sera
pas fait de commentaires sur la s<>curit<69> d'un tel usage de Mysql car ce n'est pas l'objet de cet article).
Une fois que ces trois champs sont correctement remplis cliquez sur <20> continuer <20>.
L<EFBFBD> deux possibilit<69>s :
- soit vos param<61>tres sont valides, auquel cas vous passez <20> l'<27>tape suivante.
- Soit vos param<61>tres sont invalides, auquel cas un message d'erreur est affich<63>, cliquez sur retour pour
modifier vos param<61>tres de connection et essayer de nouveau.
<EFBFBD>tape 2 : Cr<43>ation ou choix de la base de donn<6E>es et initialisation.
Maintenant que vous <20>tes correctement connect<63> au serveur MySQL, vous devez cr<63>er ou choisir la base de donn<6E>es
destin<EFBFBD>e <20> accueillir l'application GLPI.
Deux possibilit<69>s :
- Une base d<>j<EFBFBD> existante destin<69>e <20> accueillir GLPI est d<>j<EFBFBD> en place :
S<EFBFBD>lectionnez cette base dans la liste des bases affich<63>es. Cliquez sur continuer pour initialiser
la base de donn<6E>es.
- Vous souhaitez cr<63>er une nouvelle base de donn<6E>es pour accueillir GLPI :
Attention cette <20>tape n<>cessite que l'utilisateur ait les droits n<>cessaires <20> la cr<63>ation d'une nouvelle base.
S<EFBFBD>lectionnez <20> cr<63>er une nouvelle base de donn<6E>es <20>. Entrez le nom que vous souhaitez donner <20> la base
dans le champ texte pr<70>vu <20> cet effet. Cliquez sur continuer pour initialiser la base de donn<6E>es.
<EFBFBD>tape 3 : Transition et explications :
Cette <20>tape vous informe que la base de donn<6E>es est initialis<69>e avec les valeurs par d<>faut.
Et vous donne un certain nombre d'indications sur ces valeurs. Lisez attentivement ces informations
et cliquez sur <20> continuer <20>.
L'<27>tape 4 : vous indique que l'installation de GLPI est maintenant termin<69>e, et vous r<>capitule un
certain nombre d'informations. Lisez attentivement ces informations et cliquez sur <20> utiliser GLPI <20>
pour effectuer votre premi<6D>re connection <20> l'application.
--- Fin de l'installation
En cas de grosse erreur (du genre : vous avez oubli<6C> votre propre acc<63>s <20> GLPI...), pour <20> relancer <20> cette
proc<EFBFBD>dure d'installation, il faut utiliser votre logiciel FTP (par exemple) et effacer le fichier suivant :
- glpi/config/config_db.php
Pointer votre navigateur web sur le dossier racine de GLPI : http://votreserveur/glpi/ (par d<>faut) relancera
alors la proc<6F>dure de configuration (en r<>alit<69>, c'est l'absence de fichier <20> config_db.php <20> qui provoque le
lancement de cette proc<6F>dure).
*************************************************************************************************************
--- MISES A JOUR
*************************************************************************************************************
I) Sauvegarde de votre ancienne configuration :
Avant de faire quoi que ce soit il convient de faire deux choses :
1 - Sauvegardez votre base de donn<6E>e via l'interface de sauvegarde de glpi.
2 - Sauvegardez tout le r<>pertoire GLPI (il contiendra la sauvegarde de votre base SQL et vos documents (GLPI >= 0.5))
A partir de l<>, si la mise <20> jour se d<>roule mal ou que les nouvelles implantation de
la version ne vous conviennent pas, il sera facile de revenir <20> votre version pr<70>c<EFBFBD>dente.
Si n<>anmoins cette proc<6F>dure se d<>roulait mal, merci de nous faire parvenir au plus vite sur
les mailing listes, ou sur le forum du site du projet, ou sur le bugtrack la proc<6F>dure utilis<69>e
et le message d'erreur que vous obtenez.
II) R<>cup<75>ration et installation des fichiers.
1)T<>l<EFBFBD>chargez le tarball de la derni<6E>re version disponible dans la rubrique t<>l<EFBFBD>chargement du site du
projet glpi (http://glpi-project.org).
2)D<>compressez la nouvelle archive de GLPI, <20> la place de l'ancienne.
3)Supprimez le fichier [votre_racine_http/]glpi/glpi/config/config_db.php
4) Verifiez ou changez les droits sur les dossiers suivants :
-[votre_racine_http/]glpi/backups/dump
-[votre_racine_http/]glpi/glpi/config/
-[votre_racine_http/]glpi/docs/
de mani<6E>re <20> ce que PHP y ait les droits d'<27>criture.
III)Lancement de la mise <20> jour :
1) Faites pointer votre navigateur web sur http://votreserveur/glpi/
2) S<>lectionnez la langue dans laquelle vous souhaitez effectuer la mise <20> jour et cliquez sur <20> ok <20>.
3) Cliquez sur <20> mise <20> jour <20>.
4) V<>rifiez que les tests d'environnement on bien tous <20>t<EFBFBD> r<>alis<69> avec succ<63>s, sinon suivez les
instructions et r<>essayez.
Si tout c'est bien pass<73>, cliquez sur <20> continuer <20>.
5)Configurez l'acc<63>s au serveur Mysql, aidez vous du fichier config.php que vous avez sauvegard<72>,
pour remplir :
Mysql serveur : le nom d'h<>te mysql
Mysql user : le nom d'utilisateur mysql
Mysql pass : le mot de passe associ<63> au nom d'utilisateur mysql
Une fois tout ceci fait cliquez sur <20> continuer <20>
6) S<>lectionnez la base de donn<6E>es que vous souhaitez mettre <20> jour.
Si vous ne connaissez pas son nom, r<>f<EFBFBD>rez vous au fichier config.php que vous avez sauvegard<72>,
il s'agit du nom se trouvant dans la variable $dbdefault.
Cliquez sur <20> continuer <20>
7) Un <20>cran vous demande si vous <20>tes s<>r de vouloir mettre <20> jour votre base de donn<6E>es,
cliquez sur <20> continuer <20> si c'est la cas.
8) La mise <20> jour commence, cela peut prendre un certain temps en fonction de la taille de
votre base de donn<6E>es.
9) Il existe une diff<66>rence majeure en les versions < <20> 0.5 et les versions > 0.5 : la gestion des lieux.
En effet, celle-ci est maintenant hi<68>rarchique.
Un syst<73>me vous permet donc d'adapter vos anciens lieux a cette nouvelle architecture.
Pour cela, deux param<61>tres vous sont pr<70>sent<6E>s en bas de la page :
1 - le caract<63>re de s<>paration qui vous avez peut-etre utilis<69> pour d<>finir votre hierarchie interne
2 - la d<>finition d'un lieu RACINE si vous le voulez
Une fois ces options choisies un tableau vous pr<70>senta la nouvelle hierarchie g<>n<EFBFBD>r<EFBFBD>e.
Si elle vous convient vous pouvez valider en dessous du tableau.
Sinon, vous pouvez changer vos param<61>tres et reg<65>n<EFBFBD>rer une hierarchie en cliquant sur le premier << Valider >>
### PAS FORCEMENT VISIBLE SUIVANT VOS CONFIGURATIONS ###
10 ) Il vous faudra utiliser les formulaires de configuration post-installation dans le menu <20> configuration <20>
de l'application.
Ces menus ne sont accessibles qu'a un nouveau type d'utilisateur ajout<75> dans glpi : le <20> super-admin <20>,
la mise a jour effectue donc automatiquement la conversion <20> admin <20>-><3E> super-admin <20> ou vous permet
de cr<63>er un utilisateur <20> super-admin <20>
A partir de ce moment, plusieurs cas sont possibles en fonction de la version depuis laquelle vous
mettez votre base de donn<6E>e <20> jour et de vos anciennes configurations.
CAS 1: Vous aviez des utilisateurs de type <20> admin <20>, ou qu'au moins un des utilisateurs de type
<EFBFBD> admin <20> ne se connectaient pas <20> l'application depuis des sources externes (ldap,imap) (puisque
dans ce cas le mot de passe n'est pas stock<63> dans la base de donn<6E>es).
Tous vos utilisateurs ayant auparavant les droits <20> admin <20> et un mot de passe non vide se retrouvent
avec les droits <20> super-admin <20>, un message vous en informe.
Votre base de donn<6E>es est a jour, vous pouvez d<>sormais configurer GLPI en cliquant sur <20> utiliser GLPI <20>
et en vous connectant avec l'un des utilisateurs anciennement admin.
CAS 2: Vous n'aviez pas d'utilisateurs de type <20> admin <20> ou que tous les <20> admin <20> ont un mot de passe vide
(puisqu'ils se connectent depuis des sources externes).
Le script vous demande de bien vouloir saisir un nom d'utilisateur et de un mot de passe associ<63> (n'entrez
pas le nom d'un utilisateur d<>j<EFBFBD> existant).
######
11) Mise <20> jour du contenu
En fonction de votre version ant<6E>rieure, le contenu des donn<6E>es pr<70>sentes dans votre base de donn<6E>es
peuvent avoir <20>t<EFBFBD> stock<63> de mani<6E>re non conforme au moteur de GLPI actuel.
Pour rem<65>dier <20> cela et afin que l'affichage de vos donn<6E>es soit correcte, l'ensemble de votre base donn<6E>es
est analys<79>e et mise <20> jour. Cela peut prendre pas mal de temps en fonction du volume d'information
contenu dans votre base de donn<6E>es.
12) Fin de la Mise <20> jour
Si cette proc<6F>dure r<>ussi, votre base de donn<6E>es maintenant <20> jour vous pouvez configurer GLPI en cliquant
sur <20> utilisez GLPI <20> et en vous connectant avec l'utilisateur que vous venez de cr<63>er.
Une fois la configuration termin<69>e, vous pourrez supprimer cet utilisateur. Attention assurez vous qu'il
reste toujours un utilisateur <20> super-admin <20> ayant la possibilit<69> de se connecter <20> l'application,
ne serait qu'en cas de probl<62>mes avec les sources de donn<6E>es externes.
*************************************************************************************************************
--- PLUGINS
*************************************************************************************************************
Les plugins sont g<>r<EFBFBD>s par GLPI au sein du r<>pertoire plugins.
Il suffit de mettre en place le r<>pertoire du plugin dans ce r<>pertoire et il apparait ensuite dans le menu.

View File

@ -1,8 +1,21 @@
# Example Plugin for GLPI # GLPi Example Plugin
## Introduction ## Introduction
This plugin aims to introduce how to interact with glpi HOOKS. This plugin implements a few basic glpi hooks.
Most of implemented features are for example and do nothing. Most of implemented features stands for example and are not
expected to provide fantastic functionality other than teaching.
See [documentation](https://github.com/pluginsGLPI/example/wiki) for plugin creation
## Documentation
This plugin is documented [here](https://github.com/pluginsGLPI/glpi-example-plugin/wiki),
It is the developer documentation for plugin contributors as of now.
You may change that link and provide documentation for your plugin,
if you totally create your plugin repository from the worktree of this one.
## Installation
```sh
cd /my/glpi/deployment/main/directory/plugins
git clone git@github.com:pluginsGLPI/glpi-example-plugin.git example
```

View File

@ -659,4 +659,10 @@ function plugin_example_display_login() {
echo "</div>"; echo "</div>";
} }
?> function plugin_example_infocom_hook($params) {
echo "<tr><th colspan='4'>";
echo __("Plugin example displays on central page", "example");
echo "</th></tr>";
}
?>

View File

@ -177,6 +177,7 @@ function plugin_init_example() {
$PLUGIN_HOOKS['display_central']['example'] = "plugin_example_display_central"; $PLUGIN_HOOKS['display_central']['example'] = "plugin_example_display_central";
$PLUGIN_HOOKS['display_login']['example'] = "plugin_example_display_login"; $PLUGIN_HOOKS['display_login']['example'] = "plugin_example_display_login";
$PLUGIN_HOOKS['infocom']['example'] = "plugin_example_infocom_hook";
// pre_show and post_show for tabs and items, // pre_show and post_show for tabs and items,
// see PluginExampleShowtabitem class for implementation explanations // see PluginExampleShowtabitem class for implementation explanations