Module d'importation CSV

  • L'utilisateur dispose d'un fichier CSV au format X avec n champs

Cas d'utilisation

Ajouté par Remi.

Il semble intéressant de distinguer les différents cas d'utilisation de l'outil d'import

  • Migration depuis un autre gestionnaire de parc

Il s'agit de l'import le plus complet, puisque destiné à reprendre l'existant d'un autre outil.

  • Livraison fournisseur

Dans le cas ou le fournisseur accepte de fournir un bon de commande électronique, il s'agit donc de créer dans GLPI les machines qui sont stockées. Les informations seront complétées lors du déploiement (installation de l'OS et de l'agent d'inventaire).

Dans ce cas le fichier contiendra peu d'informations (essentiellement le N° de série)

Les informations financières (date de livraison, etc) "pourront" être renseignées de manière globale (valeur identique pour toutes les machines)

  • Enrichissement des données

Il s'agit de compléter les données (ex données financières) pour des ordinateurs existant dans GLPI.

Remarques de Walid :
  • Il faut prévoir un mécanisme de gabarits. En effet, on a toujours importer des fichiers de même type (ordinateurs, imprimantes, etc). On doit donc pouvoir définir une fois pour toute la structure de l'import, afin que les administrateurs n'aient pas forcément à le faire (à chaque fois, ou pas du tout).
  • il faut une notion de backend, pour pouvoir importer des données depuis d'autres formats que csv (même si dans un premier temps on ne fait que csv)

Remarques de Jmd en réponse à Walid : cela rejoint totalement ce que je proposais à savoir la possiblité de sauvegarder ses règles de mapping pour des actions récurrentes. CF étape 3.

Etape 1 : choix du backend

Indiquer que type de fichier on veut injecter (csv ou autre).

Etape 2 : Upload

Téléchargement du fichier CSV et information sur la structure primaire du fichier (le fichier contient une entête ou pas).

Etape 3 : Mapping

Il est proposé à l'utilisateur de choisir :

- Les éléments concernés : ordinateurs, contacts ...

- Le mapping entre les élements du fichier CSV et les champs destinataires

Le moteur parse le fichier afin de lister les champs.

On présente un tableau à l'utilisateur.

| Mapping | Headers | Col1 | Col2 | ...

| Dropdown | Modele | xab | zab

Le dropdown présente par défaut la valeur "pas de mapping" et est peuplé des champs émanant de la DB autorisés pour le mapping.
Prévoir la définition d'un tableau listant les champs autorisés (qui par ailleurs peuvent ne pas dépendre des mêmes tables ex : gest fi).

Il est indispensable de rendre obligatoire* la sélection de certains éléments pour le mapping : exemple le nom pour un contact, le nom pour une imprimanten numéro de série etc....

Ces champs obligatoire constituent les éléments discriminants pour gérér les doublons.

On peut prévoir la possibilité de sauvegarder ses règles de mapping pour des imports récurrents identiques. Dans ce cas, lors de cette étape il sera possible de choisir les règles de mapping déjà établies.

Exemple :

laserjet 126 -> name

laserjet 3030 -> model

132123121321132 -> serial

blblblalbalbal -> comments

16 -> ramSize

HP -> Fabriquant

Etape 4 : Informations à saisir

Il faut pouvoir indiquer un certain nombres de champs que l'utilisateur doit rentrer manuellement lors de l'import. Par exemple lors de l'import d'un fichier d'ordinateurs, on doit pouvoir demander à l'utilisateur d'indiquer le fournisseur, la date de livraison ou toute autre information financière.

Etape 5 : Injection

Une fois le mapping fait, le moteur injecte les données en
parsant le fichier et en ignorant les champs qui n'ont pas été mappés.

Les doublons ne sont pas importés : comparaison entre l'élément importé et la DB à partir des éléments de mapping obligatoire.

On présente le nombre d'import et un tableau récapitulatif des éléments importés avecc la possibilité des les éditer ou des les effacer.

Il peut être intéressant de prévoir une annulation complète de l'importation.