Présentation du plugin suppliertag

Cette extension fonctionne à partir de la version 0.70 de GLPI

Ce plugin vous permet d'importer en masse les données de garantie du fabricant de vos matériels.

Installation

Après la décompression de l'archive dans la dossier plugin de glpi connectez vous sur GLPI en tant qu'administrateur :

Menu : Configuration / Plugins / Suppliertag / Installation

Cette opération permet de créer les tables utilisées par l'extension.

Prérequis

( Ceci est la reproduction du fichier prerequis.txt qui se trouve dans le répertoire du plugin suppliertag )

Dell

  • Le matériel doit avoir le champ numéro de serie rempli avec le TAG Dell
  • Le matériel doit avoir les informations financières d'activées
  • Le matériel doit avoir le bon fabricant (Dell - voir config)

HP

  • Le matériel doit avoir le champ numéro de serie rempli avec le TAG HP
  • Le matériel doit avoir le champ Numéro de modèle du matériel rempli avec le TAG HP (onglet plugins - Import fabricant)
  • Le matériel doit avoir les informations financières d'activées
  • Le matériel doit avoir le bon fabricant (HP - voir config)

Fujitsu-Siemens

  • Le matériel doit avoir le champ numéro de serie rempli avec le TAG fujitsu-siemens
  • Le matériel doit avoir les informations financières d'activées
  • Le matériel doit avoir le bon fabricant (fujitsu-siemens - voir config)

Toshiba

  • Le matériel doit avoir le champ numéro de serie rempli avec le TAG Toshiba
  • Le matériel doit avoir le champ Numéro de modèle du matériel rempli avec le TAG Toshiba (onglet plugins - Import fabricant)
  • Le matériel doit avoir les informations financières d'activées
  • Le matériel doit avoir le bon fabricant (Toshiba - voir config)

Gestion des droits

0.72 :

Menu : Administration / Profils / Onglet Import fabricant

0.71 :

Menu : Configuration / Plugins / Suppliertag / Gestion des droits par profil

Cette étape vous permet de définir les profils utilisateurs qui pourront utiliser l'extension.

Rapports

Particularités

Astuces

Calcul automatique de la durée de garantie (Dell) - GLPI 0.70.X

Pour GLPI 0.72, ce code à été intégré au plugin. Pour activer cette récupération automatique, paramétrez la durée de garantie par défaut à zéro dans la configuration du plugin (pour le fournisseur “Dell” et “HP”)

Cette modification de code vous permettra d'obtenir automatiquement la durée de garantie pour vos machines Dell. (seront donc prises en comptes les éventuelles extensions de garantie qui peuvent être applicables).

La logique est de déterminer la durée de garantie en calculant le nombre de mois entre la date de livraison et la plus haute date trouvée dans la page.

Pour activer cette récupération automatique, paramétrez la durée de garantie par défaut à zéro dans la configuration du plugin (pour le fournisseur “Dell”).

Fichier : (glpi_home)/plugins/suppliertag/inc/plugin_suppliertag.functions_display.php

Code à insérer immédiatement après la ligne suivante : n° 909 ($maDate = $annee.“-”.$mois.“-”.$jour;)

//
// C. Pierron, TCS
// Recherche automatique de la date de fin de garantie
// (si la duree de garantie a ete parametree a zero dans
//  l'interface utilisateur)
if ( $warranty == 0 )
{
  $masque='([0-9]{2}/[0-9]{2}/[0-9]{4})';
  
  preg_match_all ($masque, $contents, $liste_resultat);
  $maDateFin = $maDate;
  
  foreach ($liste_resultat[0] as $occurence)
  {
    $maCandidate = str_replace ('/', '-', $occurence);
    list ($jour, $mois, $annee) = explode ('-', $maCandidate);
    $maCandidate = $annee."-".$mois."-".$jour;
    
    if ( $maCandidate > $maDateFin )
      $maDateFin = $maCandidate;
  }
  
  $maDateFin = date ("Y-m-d", strtotime ($maDateFin) + 86400);
  
  list ($adebut, $mdebut, $jdebut) = explode ('-', $maDate);
  list ($afin, $mfin, $jfin) = explode ('-', $maDateFin);
  
  $maGarantie = ($afin * 12 + $mfin) - ($adebut * 12 + $mdebut);
  $warranty = $maGarantie;
}

Problèmes

Problème d'importation Dell - GLPI 0.71.x

Si lors de l'import vous obtenez dans la fenêtre résultat :

Date d'achat : 0000-00-00→–valign=“to

il faut aller remplacer dans : plugins/suppliertag/inc/plugin_suppliertag.functions_display.php à la ligne 906

$maDate = substr($finduhtml,44,10);
par
$maDate = substr($finduhtml,57,10);

Problème d'importation via Proxy

Pour ceux qui rencontrent des problèmes d'importation en passant par un proxy : (PHP ERROR: Undefined variable: msgerr in /srv/www/htdocs/glpi_dev/plugins/suppliertag/inc/plugin_suppliertag.functions_display.php at line 1060)

Remplacer la ligne 872 :

fputs($proxy_fp, "GET $urlrnHTTP/1.0rnHost: ".$CFG_GLPI["proxy_name"]."rn");

Par :

fputs($proxy_fp, "GET $url HTTP/1.0rnHost: ".$CFG_GLPI["proxy_name"]."rn");

Le retour de ligne entre GET $url et HTTP est remplacé par un espace.

Problème lors de l'importation

L'importation depuis le site du constructeur ne se fait pas.

En mode debug de GLPI voici l'erreur qu'il renvoit:

PHP ERROR: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed: H?inconnu. in C:webxampphtdocsglpipluginssuppliertagincplugin_suppliertag.functions_display.php at line 859 PHP ERROR: fopen(http://www11.itrc.hp.com/service/ewarra … amp;submit) [function.fopen]: failed to open stream: No such file or directory in C:webxampphtdocsglpipluginssuppliertagincplugin_suppliertag.functions_display.php at line 859

Cette erreur concerne la fonction fopen:

Il n'arrive pas à ouvrir depuis le serveur l'url du constructeur

line 859 $fp = fopen($url,'rb')

1ère solution envisageable Il faut vérifier que vous avez accès à Internet depuis le serveur sur lequel GLPI est hébergé. Je précise bien depuis le serveur et non pas depuis votre PC (qui se connecte au serveur via votre navigateur) car c'est le serveur qui récupère pour vous les informations sur le site du constructeur. Lorsque depuis votre PC vous avez bien accès au site du constructeur en cliquant sur le lien “informations fabriquant” vous utilisez la connection internet de votre PC et non pas celle du serveur GLPI.

2ème solution envisageable

Il faut aller dans le fichier de configuration PHP.ini et vérifier que ce paramètre est activé

allow_url_fopen = On Si ce n'est pas le cas modifiez et enregistrez le fichier PHP.ini

En espérant que cela aidera certains…