Auteur Sujet: [RESOLU]Import dans GLPI  (Lu 1958 fois)

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
[RESOLU]Import dans GLPI
« le: 02 septembre, 2011, 11:59:39 am »
Bonjour,

je poste ici car cela n'a pas de réel rapport avec le monitoring mais plus avec l'inventaire (GLPI).

J'ai un logiciel existant en place avec une base de données, je cherche à importer les infos dans GLPI.
Pour cela j'ai besoin de 2 choses :
un unique ID en format int de taille 11 (entier 11 caractères)
Un numéro de série identique à ce que renvoit OCS.

Dans un premier temps, j'aimerais déjà règler le premier problème.

J'ai 2 possibilités avec GLPI, SQL et XML. je ne suis pas un développeur né, très très très loin de là...
Je n'ai touché au SQL qu'avec de l'oracle, et je vais me retrouver sur du mysql, donc je suis prêt à parier que je vais galérer.
Je pense donc qu'un bon petit fichier XML ferait bien l'affaire. Des petits remplacements de balise, des copier-coller et hop miracle.
Petit problème donc, GLPI utilise un entier comme clé primaire de base de données et les données que j'ai ne contiennent rien de tel. Il faut donc que je génère un entier dans mon XML, et là je nage complètement.
En clair mon XML donnera un truc du genre :

<Inventaire>toto</inventaire>
<Serial>titi</serial>

et il faut que je rajoute quelque chose du style

<ID>chiffre d'une suite de nombre commençant à 25 si possible</ID>
Sachant bien sûr que 2 ID ne doivent pas être identiques.

Ca ne doit pas être bien dûr mais le truc le plus proche que je connaisse du XML c'est le XHTML, donc XSLT, DTD ça ne me parle pas...
J'ai près de 1000 entrées (et je ne compte pas le matériel réseau ou autres serveurs qui ne sont pas dans la même base), donc autant dire que se taper les ID à la main n'est pas une option...
« Modifié: 07 septembre, 2011, 14:29:32 pm par bad_crow »

Hors ligne funkyman

  • Modérateur Global
  • Super Froggy
  • *****
  • Messages: 2 546
  • Karma: 50
Re : Génération d'id en XML
« Réponse #1 le: 02 septembre, 2011, 12:12:04 pm »
il faudrait demander a David
Nagios 3.2.3, MK Livestatus, PNP4, Nagvis, Nagtrap, ex Ndoutils, Addon et Plugins perso.
1000 hosts, 5000 services (actif), 1 serveur nagios.

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Génération d'id en XML
« Réponse #2 le: 02 septembre, 2011, 12:21:07 pm »
Après si vous avez une meilleure méthode que ça je prends aussi, je ne suis pas fixé.
MA réelle contrainte est que ça passe soit en SQL, soit en XML.

On m'a dit qu'on pourrait me faire des exports plus ou moins dans n'importe quel format de l'autre côté, pour l'instant je dispose d'un fichier excel. Donc à la limite, je peux les rajouter dans excel en tant que colonne mais il me faut un logiciel pour exporter ça en XML derrière avec un fichier de plusieurs centaines voir plusieurs milliers de lignes et gratuitement.
Ca peut être une autre solution.
Sinon mon inventaire est sous la forme YYYxxxxxxxx où Y sont des lettres et x des chiffres, donc on peut voir pour tronquer ça également, même si je préfère avoir des numéros qui se suivent bien.
« Modifié: 02 septembre, 2011, 12:26:31 pm par bad_crow »

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Génération d'id en XML
« Réponse #3 le: 02 septembre, 2011, 13:12:20 pm »
Autre possibilité, j'ai accès à des serveurs linux, un petit coup de sed/awk serait envisageable, mais bon pareil, je n'y ai pas touché depuis un moment et je ne sais pas comment insérer une variable entre 2 remplacements.

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #4 le: 06 septembre, 2011, 09:27:23 am »
Personne n'a d'idée ou un petit logiciel sous la main ?
(j'ai renommé le sujet pour que le titre soit plus explicite).

Hors ligne pitpoule

  • Modérateur Global
  • Mentor Froggy
  • *****
  • Messages: 367
  • Karma: 7
Re : Import dans GLPI
« Réponse #5 le: 06 septembre, 2011, 16:54:26 pm »
Il existe un plugin GLPI pour faire de l'import de fichier csv, tu devrais regarder de ce côté là... ça devrait être assez simple d'extraire ta base sous forme d'un fichier csv

http://plugins.glpi-project.org/spip.php?article81

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #6 le: 06 septembre, 2011, 17:51:00 pm »
Oui, je vais regarder, mais j'ai un doute sur la compatibilité.
Je suis en 0.8 et le plugin est certifié 0.78...
Enfin en tout cas c'est une bonne piste déjà, je vais regarder ça de suite.

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #7 le: 06 septembre, 2011, 17:55:10 pm »
Bon bah ça n'aura pas mis longtemps.

dans la liste des plugins (interface GLPI):
Citer
This plugin requires GLPI >= 0.78.2 and < 0.80

Quelqu'un sait-il faire sauter la limitation ? (GLPI de test, donc je peux prendre le risque)

Hors ligne surcouf

  • Modérateur Global
  • Super Froggy
  • *****
  • Messages: 1 694
  • Karma: 17
Re : Import dans GLPI
« Réponse #8 le: 06 septembre, 2011, 21:35:05 pm »
Dans le code source du plugin, datainjection/setup.php :
Citer
123 function plugin_datainjection_check_prerequisites() {
124
125    if (version_compare(GLPI_VERSION,'0.78.2','lt') || version_compare(GLPI_VERSION,'0.80','ge')) {
126       echo "This plugin requires GLPI >= 0.78.2 and < 0.80";
127       return false;
128    }
129    return true;
130 }
Raphaël 'SurcouF' Bordet

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #9 le: 07 septembre, 2011, 09:14:36 am »
Merci.
Effectivement en remplaçant 0.80 par 0.82 ça s'installe ;)
Néanmoins, je ne peux pas importer grand chose, gabarit, lieu, responsable.
J'ai besoin de numéro de série, numéro d'inventaire et responsable. Donc j'en ai un sur 3. Je vais regarder un peu comment c'est codé pour voir si je peux y faire quelque chose.

Hors ligne pitpoule

  • Modérateur Global
  • Mentor Froggy
  • *****
  • Messages: 367
  • Karma: 7
Re : Import dans GLPI
« Réponse #10 le: 07 septembre, 2011, 09:22:52 am »
C'est un nouveau GLPI ou un qui existe déjà ? Si c'est un nouveau , installe une version plus ancienne, installe le plugin, fait ton import et fait ensuite la montée de version

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #11 le: 07 septembre, 2011, 10:33:54 am »
Oui, j'en suis arrivé à la même conclusion, je réinstalle une CentOS ;)

En jetant un oeil au code, je vois plein de truc définis mais qui ne s'affichent pas donc je pense que la limite de version était vraiment justifiée pour le coup. Je vais donc essayer en 0.78.

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #12 le: 07 septembre, 2011, 11:31:15 am »
En 0.78 ça marche.
Reste à me refaire un coup d'OCS voir si ça écrase correctement.

Hors ligne bad_crow

  • Addict Froggy
  • ***
  • Messages: 116
  • Karma: 1
Re : Import dans GLPI
« Réponse #13 le: 07 septembre, 2011, 14:29:14 pm »
Bon, du coup.
En 0.78 on importe via le plugin.
on upgrade en 0.8 (remplacement des fichiers puis assistant)
On crée une règle de link pour OCS via serial number.
on importe via OCS.
OCS écrase les valeurs connues et laisse les anciennes valeurs qu'on ne lui a pas demandé d'importer.

Pour l'instant, sur mon échantillon pas de problème de numéro de série, je clos donc le post quittte à le ré-up si besoin.
Je me retrouve donc avec un résultat conforme à mes attentes, même si la méthode laisse à désirer...


Hors ligne funkyman

  • Modérateur Global
  • Super Froggy
  • *****
  • Messages: 2 546
  • Karma: 50
Re : [RESOLU]Import dans GLPI
« Réponse #14 le: 06 octobre, 2011, 11:14:18 am »
va falloir pensé a migrer sur shinken  ;)

Citer
La release 0.8 de #shinken approche avec un module GLPI et surtout une interface Web dédiée :)
Nagios 3.2.3, MK Livestatus, PNP4, Nagvis, Nagtrap, ex Ndoutils, Addon et Plugins perso.
1000 hosts, 5000 services (actif), 1 serveur nagios.