De nombreuses demandes sur ce sujet précis ont été faites via la page contact, Neptunet l’a fait ! Voici un petit tuto court et plutôt simple concernant le plugin GLPI Data Injection. Terminé le remplissage de GLPI à la mano pour ceux qui ne veulent pas utiliser OCS ou Fusion Inventory laugh


Injecter des données dans GLPI avec le plugin Data Injection

Le plugin Data Injection n’est pas forcément simple à prendre en main au début, mais il peut réellement faire gagner du temps à ceux qui ont une grosse quantité de données à saisir dans GLPI.

Son job ? Injecter des données dans GLPI en se basant sur un fichier CSV qui aura préalablement été rempli.

Data Injection permet de taper dans de nombreux champs de GLPI sans les parcourir one by one. Au lieu de rentrer les infos dans GLPI élément par élément, on les centralise dans un fichier texte au format CSV dans lequel on va mettre les valeurs que l’on souhaite importer.

Je vous propose aujourd’hui une petite démo de son fonctionnement. Nous allons importer 2 ou 3 utilisateurs et ordinateurs pour se faire la main. Motivé ? Allez on attaque direct !

Info ++ : Attention, je préfère vous prévenir tout de suite, le plugin ne permet pas d’injecter tout ce que l’on veut. Si le champ n’est pas disponible lors de la création d’un modèle (que vous verrez par la suite), c’est que ce n’est pas possible d’utiliser ce plugin.

Pour ce tuto/tips, GLPI a été installé sur une VM Debian 12.1 sans interface graphique. Libre à vous d’adapter la suite à vos besoins (GUI, téléchargement manuel, utilisation d’un client FTP, WAMP… la finalité sera la même). Pour installer GLPI sous Debian, voir ce tuto : Installer GLPI sous Debian 10

On commence par aller vérifier quelle est la dernière release du plugin disponible et compatible avec la version de GLPI utilisée au lien suivant : GitHub PluginsGLPI datainjection

Info + : La version de GLPI utilisée dans ce tuto est la 10.0.9. Le plugin data injection qui sera installé sera donc le dernier disponible au moment de la rédaction de ce post, soit la version 2.13.2. Pensez bien à prendre la dernière version stable disponible.

Sur le serveur GLPI, se placer dans le dossier temporaire et télécharger le plugin avec les 2 commandes suivantes (pensez bien à adapter les versions dans le lien de téléchargement si vous faites le téléchargement en lignes de commandes !) :

cd /tmp
wget https://github.com/pluginsGLPI/datainjection/releases/download/2.13.2/glpi-datainjection-2.13.2.tar.bz2

Ensuite on va extraire l’archive que l’on vient de télécharger directement dans le dossier d’installation de GLPI, précisément dans un sous-dossier qui va contenir tous les plugins ::

tar -xvjf glpi-datainjection-2.13.2.tar.bz2 -C /var/www/html/glpi/plugins/

Info + : Si pour vous rendre sur votre GLPI, votre URL est http://ip-ou-nom-serveur-glpi/, n’oubliez pas d’adapter la commande précédente, cela signifie que le chemin du dossier plugins sera « /var/www/html/plugins/ »

Voilà qui est fait, maintenant, on se rend sur l’interface web de GLPI, avec le compte glpi ou un compte ayant les droits nécessaires (super-admin), dans le menu « Configuration » puis « Plugins ».

Un pop-up peut vous demander si vous souhaitez passer à l’affichage marketplace, libre à vous d’accepter ou non, personnellement ça ne m’intéresse pas dans le cadre de ce tuto donc je décline l’offre mais vous pouvez l’ignorer pour le moment et descendre un peu plus bas sur la page des plugins.

Vous devriez voir apparaître le plugin Data Injection fraichement téléchargé :

Pour procéder à son installation, cliquez sur l’icône représentant un dossier avec un petit + situé tout à droite dans la colonne Actions.

Le statut passera alors à l’état « Installé / non activé » et un nouveau bouton rouge va apparaître.

Il reste désormais à cliquer sur le fameux bouton rouge, toujours dans la colonne Actions, pour activer le plugin.

Voilà qui est fait pour l’installation et l’activation du plugin Data Injection ! Vous pouvez désormais le retrouver dans le menu « Outils ».

Passons maintenant à la partie suivante : l’utilisation du plugin !

Info ++ : Pour illustrer ce tuto, seuls 2 imports simples seront réalisées, l’injection d’utilisateurs et l’injection d’ordinateurs. Il faut savoir que certaines informations ne peuvent être injectées si elles n’existent pas déjà comme par exemple un fournisseur dans le cadre d’une injection de données financières et administratives. Il sera nécessaire de faire en amont une précédente injection pour les fournisseurs uniquement.

Avant d’injection des données, il va falloir donner des « modèles » au plugin. Pour cela, cliquer sur l’icône (qui représente je ne sais pas trop quoi…) situé en haut à droite de la zone de recherche :

Ensuite, cliquer sur le bouton + Ajouter pour créer un nouveau modèle :

Il faut configurer des informations pour le modèle en cours de création. Donnez lui un nom (en fonction du type d’éléments que vous aller importer), choisissez une entité si vous en avez plusieurs, sélectionner le type de données à importer (ici je vais importer des utilisateurs), répondre oui aux champs « Création des lignes », « Mise à jour des lignes » et « Ajouter des intitulés », puis cliquez sur le bouton « Ajouter ».

Le plugin nous demande maintenant d’importer un fichier pour l’injection. Attention ! Le fichier demandé est un « modèle » qui va contenir les champs que nous voudrons importer par la suite, pas un fichier qui contient les données à importer ! Lisez la suite pour mieux comprendre.

Nous allons créer un fichier modèle d’injection d’utilisateurs avec un tableur par exemple et enregistrer ce fichier au format « csv ».

Voici pour exemple une image de mon fichier csv modèle pour des utilisateurs :

Dans chaque colonne, j’ai saisi le nom d’un champ à remplir dans GLPI qui concerne des utilisateurs (à vous de voir ce dont vous avez besoin).

Une fois mon fichier enregistré en .csv, je peux aller le chercher depuis mon GLPI en cliquant sur le bouton « Choisir un fichier » puis « Charger le fichier ».

Je confirme le message d’avertissement.

Il faut maintenant lier les colonnes de mon fichier csv à des champs précis de GLPI.

Dans la colonne de gauche, on retrouve les noms de mes colonnes. Dans la colonne « Tables », il faut sélectionner le type d’éléments que l’ont veut importer (ici uniquement Utilisateur) pour en faire apparaître les champs disponibles dans la colonne « Champs ».

Il faut lier les champs un par un. Pour mon modèle, cela va ressembler à ça :

Vous pouvez remarquer sur l’image ci-dessus qu’une case est cochée dans la colonne de droite « Champs de liaison ». Pour chaque import, il faut cocher au moins l’une se des cases, elle sert à vérifier que l’élément importé n’existe pas déjà dans GLPI. Pour mes utilisateurs, je coche la case correspondant à un élément unique, l’identifiant.

Une fois terminé, cliquez sur le bouton Sauvegarder. Vous pourrez éventuellement choisir des informations complémentaires à injecter, personnellement dans ce cas, ça ne m’intéresse pas. Pour poursuivre, allez dans le menu « Validation » situé à gauche.

Cliquez sur le bouton « Valider le modèle ».

Cela va vous ramenez directement dans le menu « Modèle », il ne vous reste plus qu’à descendre en bas de page et cliquer sur Sauvegarder.

Bien, nous disposons désormais d’un modèle ! Si je retourne dans le plugin Data Injection, mon modèle sera disponible et je peux le sélectionner.

Data Injection vous propose de télécharger un fichier « Exemple ». Ce fichier exemple sera simplement une copie de votre fichier csv importé précédemment lors de la création du modèle. Bien utile lorsqu’on a oublié la construction du modèle car la moindre différence dans une colonne va engendrer une erreur…

Avant d’importer des données, il faut donc remplir un fichier csv qui va les contenir ces fameuses données ! Je reprends donc mon fichier csv et je remplis mes colonnes selon mes besoins. Voici pour exemple ce que je vais importer :

Mon fichier de données à importer est rempli, je vais le chercher sur mon PC depuis GLPI et je clique sur Procéder à l’import.

Je confirme mon action.

Et moins d’une seconde (car je n’avais que 3 lignes…), les données ont été importées visiblement sans problème. Cliquez sur Terminer.

Je vais vérifier dans ma liste d’utilisateurs de GLPI que je retrouve bien mes 3 utilisateurs injectés :

L’import a bien fonctionné. Les utilisateurs auront par défaut le profil Self-Service, il vous appartiendra de modifier leur habilitations par la suite, ou encore de les ajouter à des groupes.

Je vous propose maintenant de tester avec un modèle pour importer des PC. Retournons dans le plugin Data Injection pour créer un nouveau modèle comme ceci en sélectionnant cette fois ci « Ordinateur » comme type de données :

Voici une capture de mon fichier modèle au format csv pour mes ordinateurs (cliquez sur l’image pour l’agrandir et mieux visualiser les colonnes) :

Avec ce fichier, je vais pouvoir rentrer des informations sur l’ordinateur lui-même mais aussi définir des champs sur son système d’exploitation et sur ses infos administratives et financières.

Voici comment remplir les correspondances pour le fichier que je vais utiliser, soyez bien attentifs aux tables que j’ai sélectionnées pour trouver les champs correspondants :

Une fois le modèle sauvegardé et validé, on va le tester !

Je remplis mon fichier csv avec les infos que je veux injecter dans GLPI comme ci par exemple (cliquez pour agrandir) :

J’injecte mon fichier complet dans GLPI :

Visiblement l’opération a bien réussie :

Vérifions cela en allant dans le menu « Parc » et « Ordinateurs ». Les PC sont bien présents dans GLPI :

Je prends un PC au hasard pour m’assurer que tous les champs déclarés sont bien remplis. Voici les informations de base pour l’une des machines :

On retrouve bien le modèle de l’équipement, sa marque, son statut etc… Sur la droite, cliquez sur Systèmes d’exploitation :

Les informations sont bien présentes. Toujours sur la droite, cliquez sur le menu Gestion :

Toutes les informations saisies dans le fichier csv sont bien désormais dans GLPI !

 

Désormais à vous de créer vos propres fichiers modèles et d’importer ce que vous voulez (enfin ce que le plugin vous permet d’importer… mais il y a déjà de quoi faire !).

Bonne route avec GLPI ! See U !


[Tips] Injecter des données en masse dans GLPI avec Data Injection

Articles pouvant vous intéresser