glpi-plugin-auf : intégration Debian 8 et Ubuntu 14.04
authorProgfou <jean-christophe.andre@auf.org>
Wed, 8 Jul 2015 22:39:50 +0000 (18:39 -0400)
committerProgfou <jean-christophe.andre@auf.org>
Wed, 8 Jul 2015 22:39:50 +0000 (18:39 -0400)
glpi-plugin-auf/debian/changelog
glpi-plugin-auf/plugin/rapport.migrationdebian.php
glpi-plugin-auf/plugin/rapport.migrationubuntu.php
glpi-plugin-auf/plugin/report.computers.php
glpi-plugin-auf/plugin/report.operatingsystems.php
glpi-plugin-auf/plugin/setup.php

index c885845..cc635ff 100644 (file)
@@ -1,4 +1,10 @@
-glpi-plugin-auf (0.84+2.1) precise; urgency=low
+glpi-plugin-auf (0.84+3) unstable; urgency=medium
+
+  * Intégration de Debian 8 et Ubuntu 14.04 dans les rapports.
+
+ -- Progfou <jean-christophe.andre@auf.org>  Wed, 08 Jul 2015 17:34:27 -0400
+
+glpi-plugin-auf (0.84+2.1) unstable; urgency=low
 
   * Peaufinage cosmétique…
 
index f10cfdd..7e791d2 100644 (file)
@@ -4,104 +4,39 @@ $USEDBREPLICATE=1;
 $DBCONNECTION_REQUIRED=0;
 
 include ("../../inc/includes.php");
-
-$svg_bar_width = 28;
-$svg_bar_height = 10;
+include_once ("inc/functions.php");
 
 Session::checkRight("reports", "r");
 Session::checkRight("computer", "r");
 
-$report_title = "Progression de la migration vers Debian 7";
+$report_title = "Progression des mises à niveau Debian";
 
 #Html::header(Report::getTypeName(2), $_SERVER['PHP_SELF'], "utils", "report");
 Html::header($report_title, $_SERVER['PHP_SELF'], "utils", "report");
 Report::title();
 
-echo "\n<p class='big b' style='margin: 5px; text-align: center'><span id='report_date' style='float: right; margin: 2px 20px; font-size: 75%; font-style: italic'>(".date('Y-m-d H:i:s')." UTC)</span>$report_title <em>(Wheezy)</em></p>";
+echo "\n<p class='big b' style='margin: 5px; text-align: center'><span id='report_date' style='float: right; margin: 2px 20px; font-size: 75%; font-style: italic'>(".date('Y-m-d H:i:s')." UTC)</span>$report_title</p>";
 
 $computer = new Computer();
 
 $itemtype = 'Computer';
 $table_item = getTableForItemType($itemtype);
 
-$svg_colors = Array('red'=>'#ffa0a0', 'green'=>'#a0ffa0', 'yellow'=>'#ffdd80', 'blue'=>'#a0a0ff');
-
-function svg_circle($color, $size=4) {
-  global $svg_colors;
-  if (array_key_exists($color, $svg_colors)) { $color = $svg_colors[$color]; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 1px; vertical-align: middle;">';
-  $svg .= "<circle cx='$cx' cy='$cy' r='$r' stroke='black' stroke-width='0' fill='$color' />";
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function svg_pie_chart($values, $size=16) {
-  global $svg_colors;
-  $color_names = Array('blue', 'red', 'green', 'yellow'); $color_idx = 0;
-  $total = 0.0; foreach ($values as $v) { $total += $v; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1; $rad = 2*pi()/$total; $old_a = 0;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 2px; vertical-align: middle;">';
-  foreach ($values as $a) {
-    $color = $svg_colors[$color_names[$color_idx++]];
-    if ($a == $total) {
-      $svg .= "<circle cx='$cx' cy='$cy' r='$r' stroke='black' stroke-width='0' fill='$color' />";
-    } elseif ($a > 0) {
-      $x1 = $cx + $r * cos(-$old_a * $rad);
-      $y1 = $cy + $r * sin(-$old_a * $rad);
-      $x2 = $cx + $r * cos(-($old_a + $a) * $rad);
-      $y2 = $cy + $r * sin(-($old_a + $a) * $rad);
-      $big = ($a > ($total/2)) ? '1' : '0';
-      $svg .= "<path d=\"M$cx,$cy L$x1,$y1 A$r,$r 0 $big,0 $x2,$y2 z\" style=\"stroke: 0 black; fill: $color;\" />";
-    }
-    $old_a += $a;
-  }
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function svg_bar($values, $width=100, $height=5) {
-  global $svg_colors;
-  $color_names = Array('blue', 'red', 'green', 'yellow'); $color_idx = 0;
-  $total = 0.0; foreach ($values as $v) { $total += $v; }
-  $svg = "<svg width='$width' height='$height' style='float: left; margin: 2px; vertical-align: middle;'>";
-  $x = 0;
-  foreach ($values as $v) {
-    $color = $svg_colors[$color_names[$color_idx++]];
-    $w = round(($width*$v)/$total);
-    if ($w > 0) {
-      $svg .= "<rect x='$x' y='0' width='$w' height='$height' style='stroke: 0 black; fill: $color;' />";
-      $x += $w;
-    }
-  }
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function progression_html($valeurs, $progres) {
-  global $svg_bar_width, $svg_bar_height;
-  $somme_valeurs = 0; foreach ($valeurs as $v) $somme_valeurs += $v;
-  if (!$somme_valeurs) return '';
-  $result = svg_bar($valeurs, $svg_bar_width, $svg_bar_height);
-  $result .= round((100*$progres)/$somme_valeurs)."%";
-  return $result;
-}
-
 // echo "\n<span class='big b' style='color: red;'>ATTENTION : ce rapport est en cours de refonte, merci de ne pas tenir compte des données affichées ci-dessous.</span><br><br>";
 
 //echo "\n<span class='big b'>Ordinateurs par implantation</span><br><br>";
 echo "<table class='tab_cadrehov'>";
 echo "<tr class='tab_bg_1'><th rowspan='2' colspan='2'>Implantation</th>";
-echo "<th colspan='4'>Serveurs physiques</th>";
-echo "<th colspan='4'>Serveurs virtuels</th>";
+echo "<th colspan='5'>Serveurs physiques</th>";
+echo "<th colspan='5'>Serveurs virtuels</th>";
 echo "</tr>";
 echo "<tr class='tab_bg_1'>";
-echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Debian 6 ".svg_circle('red', 3)."</th><th>Debian 7 ".svg_circle('green', 3)."</th><th>Progression</th>";
-echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Debian 6 ".svg_circle('red', 3)."</th><th>Debian 7 ".svg_circle('green', 3)."</th><th>Progression</th>";
+echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Debian 6 ".svg_circle('red', 3)."</th><th>Debian 7 ".svg_circle('yellow', 3)."</th><th>Debian 8 ".svg_circle('green', 3)."</th><th>Progression</th>";
+echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Debian 6 ".svg_circle('red', 3)."</th><th>Debian 7 ".svg_circle('yellow', 3)."</th><th>Debian 8 ".svg_circle('green', 3)."</th><th>Progression</th>";
 echo "</tr>\n";
 
-$grand_serveurs_wheezy = 0; $grand_serveurs_squeeze = 0; $grand_serveurs_autres = 0;
-$grand_virtuels_wheezy = 0; $grand_virtuels_squeeze = 0; $grand_virtuels_autres = 0;
+$grand_serveurs_jessie = 0; $grand_serveurs_wheezy = 0; $grand_serveurs_squeeze = 0; $grand_serveurs_autres = 0;
+$grand_virtuels_jessie = 0; $grand_virtuels_wheezy = 0; $grand_virtuels_squeeze = 0; $grand_virtuels_autres = 0;
 // récupération de la liste des régions
 $query = "SELECT id FROM glpi_entities WHERE (id=0 OR entities_id=0)";
 $query .= " ".getEntitiesRestrictRequest("AND", "glpi_entities")." ORDER BY name";
@@ -115,8 +50,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_name = "AUF";
   }
   $table_lines = Array();
-  $region_serveurs_wheezy = 0; $region_serveurs_squeeze = 0; $region_serveurs_autres = 0;
-  $region_virtuels_wheezy = 0; $region_virtuels_squeeze = 0; $region_virtuels_autres = 0;
+  $region_serveurs_jessie = 0; $region_serveurs_wheezy = 0; $region_serveurs_squeeze = 0; $region_serveurs_autres = 0;
+  $region_virtuels_jessie = 0; $region_virtuels_wheezy = 0; $region_virtuels_squeeze = 0; $region_virtuels_autres = 0;
 
   // récupération de la liste des implantations
   $query = "SELECT id,level FROM glpi_entities WHERE ";
@@ -137,8 +72,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     }
 
     // récupération de la liste des systèmes de l'implantation
-    $nb_serveurs_wheezy = 0; $nb_serveurs_squeeze = 0; $nb_serveurs_autres = 0;
-    $nb_virtuels_wheezy = 0; $nb_virtuels_squeeze = 0; $nb_virtuels_autres = 0;
+    $nb_serveurs_jessie = 0; $nb_serveurs_wheezy = 0; $nb_serveurs_squeeze = 0; $nb_serveurs_autres = 0;
+    $nb_virtuels_jessie = 0; $nb_virtuels_wheezy = 0; $nb_virtuels_squeeze = 0; $nb_virtuels_autres = 0;
     $query = "SELECT s.completename AS sname, o.name AS oname,
                  ac.est_virtuel AS virtuel,
                  acc.name AS categorie, acu.name AS utilisation
@@ -159,7 +94,9 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       }
       // serveurs virtuels
       if ($data['virtuel']) {
-        if (preg_match("/^Debian( GNU\/Linux)? 7/", $data['oname'])) {
+        if (preg_match("/^Debian( GNU\/Linux)? 8/", $data['oname'])) {
+          $nb_virtuels_jessie++;
+        } elseif (preg_match("/^Debian( GNU\/Linux)? 7/", $data['oname'])) {
           $nb_virtuels_wheezy++;
         } elseif (preg_match("/^Debian( GNU\/Linux)? 6/", $data['oname'])) {
           $nb_virtuels_squeeze++;
@@ -171,7 +108,9 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       elseif (preg_match("/^infra/i", $data['categorie'])) {
         if (preg_match("/^production/i", $data['utilisation']) &&
            !preg_match("/panne/i", $data['sname'])) {
-          if (preg_match("/^Debian( GNU\/Linux)? 7/", $data['oname'])) {
+          if (preg_match("/^Debian( GNU\/Linux)? 8/", $data['oname'])) {
+            $nb_serveurs_jessie++;
+          } elseif (preg_match("/^Debian( GNU\/Linux)? 7/", $data['oname'])) {
             $nb_serveurs_wheezy++;
           } elseif (preg_match("/^Debian( GNU\/Linux)? 6/", $data['oname'])) {
             $nb_serveurs_squeeze++;
@@ -186,8 +125,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       }
     } // systèmes dans l'implantation
 
-    $total_serveurs = $nb_serveurs_wheezy + $nb_serveurs_squeeze + $nb_serveurs_autres;
-    $total_virtuels = $nb_virtuels_wheezy + $nb_virtuels_squeeze + $nb_virtuels_autres;
+    $total_serveurs = $nb_serveurs_jessie + $nb_serveurs_wheezy + $nb_serveurs_squeeze + $nb_serveurs_autres;
+    $total_virtuels = $nb_virtuels_jessie + $nb_virtuels_wheezy + $nb_virtuels_squeeze + $nb_virtuels_autres;
     if (($total_serveurs + $total_virtuels) > 0) {
       $spaces = "";
       for ($i=1;$i<$implant_data['level'];$i++) { $spaces .= "&nbsp;"; }
@@ -195,11 +134,13 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       $line .= "<td class='numeric'>$nb_serveurs_autres</td>";
       $line .= "<td class='numeric'>$nb_serveurs_squeeze</td>";
       $line .= "<td class='numeric'>$nb_serveurs_wheezy</td>";
-      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_serveurs_autres, $nb_serveurs_squeeze, $nb_serveurs_wheezy), $nb_serveurs_wheezy)."</td>";
+      $line .= "<td class='numeric'>$nb_serveurs_jessie</td>";
+      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_serveurs_autres, $nb_serveurs_squeeze, $nb_serveurs_wheezy, $nb_serveurs_jessie), $nb_serveurs_wheezy + $nb_serveurs_jessie)."</td>";
       $line .= "<td class='numeric'>$nb_virtuels_autres</td>";
       $line .= "<td class='numeric'>$nb_virtuels_squeeze</td>";
       $line .= "<td class='numeric'>$nb_virtuels_wheezy</td>";
-      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_virtuels_autres, $nb_virtuels_squeeze, $nb_virtuels_wheezy), $nb_virtuels_wheezy)."</td>";
+      $line .= "<td class='numeric'>$nb_virtuels_jessie</td>";
+      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_virtuels_autres, $nb_virtuels_squeeze, $nb_virtuels_wheezy, $nb_virtuels_jessie), $nb_virtuels_wheezy + $nb_virtuels_jessie)."</td>";
       $line .= "</tr>\n";
       $table_lines[] = $line;
     }
@@ -207,24 +148,28 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_serveurs_autres += $nb_serveurs_autres;
     $region_serveurs_squeeze += $nb_serveurs_squeeze;
     $region_serveurs_wheezy += $nb_serveurs_wheezy;
+    $region_serveurs_jessie += $nb_serveurs_jessie;
     $region_virtuels_autres += $nb_virtuels_autres;
     $region_virtuels_squeeze += $nb_virtuels_squeeze;
     $region_virtuels_wheezy += $nb_virtuels_wheezy;
+    $region_virtuels_jessie += $nb_virtuels_jessie;
     #$table_lines[] = "<tr><td>".$implant_name."</td></tr>";
   } // fin des implantations de la région
 
-  $total_serveurs = $region_serveurs_wheezy + $region_serveurs_squeeze + $region_serveurs_autres;
-  $total_virtuels = $region_virtuels_wheezy + $region_virtuels_squeeze + $region_virtuels_autres;
+  $total_serveurs = $region_serveurs_jessie + $region_serveurs_wheezy + $region_serveurs_squeeze + $region_serveurs_autres;
+  $total_virtuels = $region_virtuels_jessie + $region_virtuels_wheezy + $region_virtuels_squeeze + $region_virtuels_autres;
   if (($total_serveurs + $total_virtuels) > 0) {
     $line = "<tr class='tab_bg_1 b'><td>Sous-total</td>";
     $line .= "<td class='numeric'>$region_serveurs_autres</td>";
     $line .= "<td class='numeric'>$region_serveurs_squeeze</td>";
     $line .= "<td class='numeric'>$region_serveurs_wheezy</td>";
-    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_serveurs_autres, $region_serveurs_squeeze, $region_serveurs_wheezy), $region_serveurs_wheezy)."</td>";
+    $line .= "<td class='numeric'>$region_serveurs_jessie</td>";
+    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_serveurs_autres, $region_serveurs_squeeze, $region_serveurs_wheezy, $region_serveurs_jessie), $region_serveurs_wheezy + $region_serveurs_jessie)."</td>";
     $line .= "<td class='numeric'>$region_virtuels_autres</td>";
     $line .= "<td class='numeric'>$region_virtuels_squeeze</td>";
     $line .= "<td class='numeric'>$region_virtuels_wheezy</td>";
-    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_virtuels_autres, $region_virtuels_squeeze, $region_virtuels_wheezy), $region_virtuels_wheezy)."</td>";
+    $line .= "<td class='numeric'>$region_virtuels_jessie</td>";
+    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_virtuels_autres, $region_virtuels_squeeze, $region_virtuels_wheezy, $region_virtuels_jessie), $region_virtuels_wheezy + $region_virtuels_jessie)."</td>";
     $line .= "</tr>\n";
     $table_lines[] = $line;
   }
@@ -234,10 +179,11 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_serveurs_autres + $region_virtuels_autres,
     $region_serveurs_squeeze + $region_virtuels_squeeze,
     $region_serveurs_wheezy + $region_virtuels_wheezy,
+    $region_serveurs_jessie + $region_virtuels_jessie,
   ), 16) . $region_name;
   $table_lines[0] = str_replace("<tr>", "<tr><td class='tab_bg_1 b' rowspan='".count($table_lines)."'>$region_name</td>", $table_lines[0]);
   if ($region_id != 0) {
-    echo "<tr><th colspan='10'></th></tr>\n";
+    echo "<tr><th colspan='12'></th></tr>\n";
   }
   echo implode("\n", $table_lines);
 
@@ -245,9 +191,11 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
   $grand_serveurs_autres += $region_serveurs_autres;
   $grand_serveurs_squeeze += $region_serveurs_squeeze;
   $grand_serveurs_wheezy += $region_serveurs_wheezy;
+  $grand_serveurs_jessie += $region_serveurs_jessie;
   $grand_virtuels_autres += $region_virtuels_autres;
   $grand_virtuels_squeeze += $region_virtuels_squeeze;
   $grand_virtuels_wheezy += $region_virtuels_wheezy;
+  $grand_virtuels_jessie += $region_virtuels_jessie;
 } // fin des régions
 
 #echo "<tr class='tab_bg_1'><td colspan='8'>&nbsp;</td></tr>";
@@ -257,18 +205,21 @@ $line .= svg_pie_chart(Array(
   $grand_serveurs_autres + $grand_virtuels_autres,
   $grand_serveurs_squeeze + $grand_virtuels_squeeze,
   $grand_serveurs_wheezy + $grand_virtuels_wheezy,
+  $grand_serveurs_jessie + $grand_virtuels_jessie,
 ), 16);
 $line .= "TOTAL GÉNÉRAL</td>";
 $line .= "<td class='numeric b'>$grand_serveurs_autres</td>";
 $line .= "<td class='numeric b'>$grand_serveurs_squeeze</td>";
 $line .= "<td class='numeric b'>$grand_serveurs_wheezy</td>";
-$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_serveurs_autres, $grand_serveurs_squeeze, $grand_serveurs_wheezy), $grand_serveurs_wheezy)."</td>";
+$line .= "<td class='numeric b'>$grand_serveurs_jessie</td>";
+$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_serveurs_autres, $grand_serveurs_squeeze, $grand_serveurs_wheezy, $grand_serveurs_jessie), $grand_serveurs_wheezy + $grand_serveurs_jessie)."</td>";
 $line .= "<td class='numeric b'>$grand_virtuels_autres</td>";
 $line .= "<td class='numeric b'>$grand_virtuels_squeeze</td>";
 $line .= "<td class='numeric b'>$grand_virtuels_wheezy</td>";
-$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_virtuels_autres, $grand_virtuels_squeeze, $grand_virtuels_wheezy), $grand_virtuels_wheezy)."</td>";
+$line .= "<td class='numeric b'>$grand_virtuels_jessie</td>";
+$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_virtuels_autres, $grand_virtuels_squeeze, $grand_virtuels_wheezy, $grand_virtuels_jessie), $grand_virtuels_wheezy + $grand_virtuels_jessie)."</td>";
 $line .= "</tr>";
-echo "<tr><th colspan='10'></th></tr>\n";
+echo "<tr><th colspan='12'></th></tr>\n";
 echo $line;
 
 echo "</table>";
@@ -278,7 +229,9 @@ echo "<li>Ce rapport ne considère que les machines déclarées en production et
 echo "<li>Ce rapport ne considère que les machines dans la catégorie infrastructure, pas les postes internes ou publics.</li>";
 echo "<li>Ce rapport considère à la fois les machines physiques et les machines virtuelles.</li>";
 echo "<li>Ce rapport ne considère que les machines sous Debian, aucun autre système.</li>";
-echo "<li>La colonne «&nbsp;Autres&nbsp;» consiste en des systèmes Debian d'une version autre que 7 ou 6.</li>";
+echo "<li>La colonne «&nbsp;Autres&nbsp;» consiste en des systèmes Debian d'une version autre que 8, 7 ou 6.</li>";
+echo "<li>La valeur de progression considère à la fois les versions 7 et 8.</li>";
+echo "<li><i>Note&nbsp;: la mise à niveau vers Debian 8 devrait être faite dans la foulée de celle vers Debian 7.</i></li>";
 echo "</ul></div>";
 
 Html::footer();
index 19b34a8..e80fe78 100644 (file)
@@ -4,100 +4,37 @@ $USEDBREPLICATE=1;
 $DBCONNECTION_REQUIRED=0;
 
 include ("../../inc/includes.php");
+include_once ("inc/functions.php");
 
-$svg_bar_width = 28;
-$svg_bar_height = 10;
+$svg_color_names = Array('blue', 'red', 'green', 'yellow');
 
 Session::checkRight("reports", "r");
 Session::checkRight("computer", "r");
 
-$report_title = "Progression de la migration vers Ubuntu 12.04";
+$report_title = "Progression des mises à niveau Ubuntu";
 
 #Html::header(Report::getTypeName(2), $_SERVER['PHP_SELF'], "utils", "report");
 Html::header($report_title, $_SERVER['PHP_SELF'], "utils", "report");
 Report::title();
 
-echo "\n<p class='big b' style='margin: 5px; text-align: center'><span id='report_date' style='float: right; margin: 2px 20px; font-size: 75%; font-style: italic'>(".date('Y-m-d H:i:s')." UTC)</span>$report_title <em>(Precise)</em></p>";
+echo "\n<p class='big b' style='margin: 5px; text-align: center'><span id='report_date' style='float: right; margin: 2px 20px; font-size: 75%; font-style: italic'>(".date('Y-m-d H:i:s')." UTC)</span>$report_title</p>";
 
 $computer = new Computer();
 
 $itemtype = 'Computer';
 $table_item = getTableForItemType($itemtype);
 
-$svg_colors = Array('red'=>'#ffa0a0', 'green'=>'#a0ffa0', 'yellow'=>'#ffdd80', 'blue'=>'#a0a0ff');
-
-function svg_circle($color, $size=4) {
-  global $svg_colors;
-  if (array_key_exists($color, $svg_colors)) { $color = $svg_colors[$color]; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 1px; vertical-align: middle;">';
-  $svg .= "<circle cx='$cx' cy='$cy' r='$r' stroke='black' stroke-width='0' fill='$color' />";
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function svg_pie_chart($values, $size=16) {
-  global $svg_colors;
-  $color_names = Array('blue', 'red', 'green', 'yellow'); $color_idx = 0;
-  $total = 0.0; foreach ($values as $v) { $total += $v; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1; $rad = 2*pi()/$total; $old_a = 0;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 2px; vertical-align: middle;">';
-  foreach ($values as $a) {
-    $color = $svg_colors[$color_names[$color_idx++]];
-    if ($a == $total) {
-      $svg .= "<circle cx='$cx' cy='$cy' r='$r' stroke='black' stroke-width='0' fill='$color' />";
-    } elseif ($a > 0) {
-      $x1 = $cx + $r * cos(-$old_a * $rad);
-      $y1 = $cy + $r * sin(-$old_a * $rad);
-      $x2 = $cx + $r * cos(-($old_a + $a) * $rad);
-      $y2 = $cy + $r * sin(-($old_a + $a) * $rad);
-      $big = ($a > ($total/2)) ? '1' : '0';
-      $svg .= "<path d=\"M$cx,$cy L$x1,$y1 A$r,$r 0 $big,0 $x2,$y2 z\" style=\"stroke: 0 black; fill: $color;\" />";
-    }
-    $old_a += $a;
-  }
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function svg_bar($values, $width=100, $height=5) {
-  global $svg_colors;
-  $color_names = Array('blue', 'red', 'green', 'yellow'); $color_idx = 0;
-  $total = 0.0; foreach ($values as $v) { $total += $v; }
-  $svg = "<svg width='$width' height='$height' style='float: left; margin: 2px; vertical-align: middle;'>";
-  $x = 0;
-  foreach ($values as $v) {
-    $color = $svg_colors[$color_names[$color_idx++]];
-    $w = round(($width*$v)/$total);
-    if ($w > 0) {
-      $svg .= "<rect x='$x' y='0' width='$w' height='$height' style='stroke: 0 black; fill: $color;' />";
-      $x += $w;
-    }
-  }
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function progression_html($valeurs, $progres) {
-  global $svg_bar_width, $svg_bar_height;
-  $somme_valeurs = 0; foreach ($valeurs as $v) $somme_valeurs += $v;
-  if (!$somme_valeurs) return '';
-  $result = svg_bar($valeurs, $svg_bar_width, $svg_bar_height);
-  $result .= round((100*$progres)/$somme_valeurs)."%";
-  return $result;
-}
-
 // echo "\n<span class='big b' style='color: red;'>ATTENTION : ce rapport est en cours de refonte, merci de ne pas tenir compte des données affichées ci-dessous.</span><br><br>";
 
 //echo "\n<span class='big b'>Ordinateurs par implantation</span><br><br>";
 echo "<table class='tab_cadrehov'>";
 echo "<tr class='tab_bg_1'><th rowspan='2' colspan='2'>Implantation</th>";
-echo "<th colspan='4'>Parc interne</th>";
-echo "<th colspan='4'>Parc public</th>";
+echo "<th colspan='5'>Parc interne</th>";
+echo "<th colspan='5'>Parc public</th>";
 echo "</tr>";
 echo "<tr class='tab_bg_1'>";
-echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Ubuntu<br />10.04 ".svg_circle('red', 3)."</th><th>Ubuntu<br />12.04 ".svg_circle('green', 3)."</th><th>Progression</th>";
-echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Ubuntu<br />10.04 ".svg_circle('red', 3)."</th><th>Ubuntu<br />12.04 ".svg_circle('green', 3)."</th><th>Progression</th>";
+echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Ubuntu<br />10.04 ".svg_circle('red', 3)."</th><th>Ubuntu<br />12.04 ".svg_circle('green', 3)."</th><th>Ubuntu<br />14.04 ".svg_circle('yellow', 3)."</th><th>Progression</th>";
+echo "<th>Autres ".svg_circle('blue', 3)."</th><th>Ubuntu<br />10.04 ".svg_circle('red', 3)."</th><th>Ubuntu<br />12.04 ".svg_circle('green', 3)."</th><th>Ubuntu<br />14.04 ".svg_circle('yellow', 3)."</th><th>Progression</th>";
 echo "</tr>\n";
 
 $grand_internes_1204 = 0; $grand_internes_1004 = 0; $grand_internes_autres = 0;
@@ -115,8 +52,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_name = "AUF";
   }
   $table_lines = Array();
-  $region_internes_1204 = 0; $region_internes_1004 = 0; $region_internes_autres = 0;
-  $region_publics_1204 = 0;  $region_publics_1004 = 0; $region_publics_autres = 0;
+  $region_internes_1404 = 0; $region_internes_1204 = 0; $region_internes_1004 = 0; $region_internes_autres = 0;
+  $region_publics_1404 = 0;  $region_publics_1204 = 0;  $region_publics_1004 = 0; $region_publics_autres = 0;
 
   // récupération de la liste des implantations
   $query = "SELECT id,level FROM glpi_entities WHERE ";
@@ -137,8 +74,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     }
 
     // récupération de la liste des systèmes de l'implantation
-    $nb_internes_1204 = 0; $nb_internes_1004 = 0; $nb_internes_autres = 0;
-    $nb_publics_1204 = 0;  $nb_publics_1004 = 0; $nb_publics_autres = 0;
+    $nb_internes_1404 = 0; $nb_internes_1204 = 0; $nb_internes_1004 = 0; $nb_internes_autres = 0;
+    $nb_publics_1404 = 0;  $nb_publics_1204 = 0;  $nb_publics_1004 = 0; $nb_publics_autres = 0;
     $query = "SELECT s.completename AS sname, o.name AS oname,
                 acc.name AS categorie, acu.name AS utilisation
               FROM `$table_item` c
@@ -161,7 +98,9 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       if (preg_match("/^poste.*interne/i", $data['categorie'])) {
         if (preg_match("/^production/i", $data['utilisation']) &&
            !preg_match("/panne/i", $data['sname']) ) {
-          if (preg_match("/^Ubuntu 12\.04/", $data['oname'])) {
+          if (preg_match("/^Ubuntu 14\.04/", $data['oname'])) {
+            $nb_internes_1404++;
+          } elseif (preg_match("/^Ubuntu 12\.04/", $data['oname'])) {
             $nb_internes_1204++;
           } elseif (preg_match("/^Ubuntu 10\.04/", $data['oname'])) {
             $nb_internes_1004++;
@@ -174,7 +113,9 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       elseif (preg_match("/^poste.*public/i", $data['categorie'])) {
         if (preg_match("/^production/i", $data['utilisation']) &&
            !preg_match("/panne/i", $data['sname']) ) {
-          if (preg_match("/^Ubuntu 12\.04/", $data['oname'])) {
+          if (preg_match("/^Ubuntu 14\.04/", $data['oname'])) {
+            $nb_publics_1404++;
+          } elseif (preg_match("/^Ubuntu 12\.04/", $data['oname'])) {
             $nb_publics_1204++;
           } elseif (preg_match("/^Ubuntu 10\.04/", $data['oname'])) {
             $nb_publics_1004++;
@@ -189,8 +130,8 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       }
     } // systèmes dans l'implantation
 
-    $total_internes = $nb_internes_1204 + $nb_internes_1004 + $nb_internes_autres;
-    $total_publics = $nb_publics_1204 + $nb_publics_1004 + $nb_publics_autres;
+    $total_internes = $nb_internes_1404 + $nb_internes_1204 + $nb_internes_1004 + $nb_internes_autres;
+    $total_publics = $nb_publics_1404 + $nb_publics_1204 + $nb_publics_1004 + $nb_publics_autres;
     if (($total_internes + $total_publics) > 0) {
       $spaces = "";
       for ($i=1;$i<$implant_data['level'];$i++) { $spaces .= "&nbsp;"; }
@@ -198,11 +139,13 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
       $line .= "<td class='numeric'>$nb_internes_autres</td>";
       $line .= "<td class='numeric'>$nb_internes_1004</td>";
       $line .= "<td class='numeric'>$nb_internes_1204</td>";
-      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_internes_autres, $nb_internes_1004, $nb_internes_1204), $nb_internes_1204)."</td>";
+      $line .= "<td class='numeric'>$nb_internes_1404</td>";
+      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_internes_autres, $nb_internes_1004, $nb_internes_1204, $nb_internes_1404), $nb_internes_1204 + $nb_internes_1404)."</td>";
       $line .= "<td class='numeric'>$nb_publics_autres</td>";
       $line .= "<td class='numeric'>$nb_publics_1004</td>";
       $line .= "<td class='numeric'>$nb_publics_1204</td>";
-      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_publics_autres, $nb_publics_1004, $nb_publics_1204), $nb_publics_1204)."</td>";
+      $line .= "<td class='numeric'>$nb_publics_1404</td>";
+      $line .= "<td class='numeric tab_bg_2'>".progression_html(Array($nb_publics_autres, $nb_publics_1004, $nb_publics_1204, $nb_publics_1404), $nb_publics_1204 + $nb_publics_1404)."</td>";
       $line .= "</tr>\n";
       $table_lines[] = $line;
     }
@@ -210,24 +153,28 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_internes_autres += $nb_internes_autres;
     $region_internes_1004 += $nb_internes_1004;
     $region_internes_1204 += $nb_internes_1204;
+    $region_internes_1404 += $nb_internes_1404;
     $region_publics_autres += $nb_publics_autres;
     $region_publics_1004 += $nb_publics_1004;
     $region_publics_1204 += $nb_publics_1204;
+    $region_publics_1404 += $nb_publics_1404;
     #$table_lines[] = "<tr><td>".$implant_name."</td></tr>";
   } // fin des implantations de la région
 
-  $total_internes = $region_internes_1204 + $region_internes_1004 + $region_internes_autres;
-  $total_publics = $region_publics_1204 + $region_publics_1004 + $region_publics_autres;
+  $total_internes = $region_internes_1404 + $region_internes_1204 + $region_internes_1004 + $region_internes_autres;
+  $total_publics = $region_publics_1404 + $region_publics_1204 + $region_publics_1004 + $region_publics_autres;
   if (($total_internes + $total_publics) > 0) {
     $line = "<tr class='tab_bg_1 b'><td>Sous-total</td>";
     $line .= "<td class='numeric'>$region_internes_autres</td>";
     $line .= "<td class='numeric'>$region_internes_1004</td>";
     $line .= "<td class='numeric'>$region_internes_1204</td>";
-    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_internes_autres, $region_internes_1004, $region_internes_1204), $region_internes_1204)."</td>";
+    $line .= "<td class='numeric'>$region_internes_1404</td>";
+    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_internes_autres, $region_internes_1004, $region_internes_1204, $region_internes_1004 + $region_internes_1404), $region_internes_1404)."</td>";
     $line .= "<td class='numeric'>$region_publics_autres</td>";
     $line .= "<td class='numeric'>$region_publics_1004</td>";
     $line .= "<td class='numeric'>$region_publics_1204</td>";
-    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_publics_autres, $region_publics_1004, $region_publics_1204), $region_publics_1204)."</td>";
+    $line .= "<td class='numeric'>$region_publics_1404</td>";
+    $line .= "<td class='numeric tab_bg_1'>".progression_html(Array($region_publics_autres, $region_publics_1004, $region_publics_1204, $region_publics_1404), $region_publics_1204 + $region_publics_1404)."</td>";
     $line .= "</tr>\n";
     $table_lines[] = $line;
   }
@@ -237,10 +184,11 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
     $region_internes_autres + $region_publics_autres,
     $region_internes_1004 + $region_publics_1004,
     $region_internes_1204 + $region_publics_1204,
+    $region_internes_1404 + $region_publics_1404,
   ), 16) . $region_name;
   $table_lines[0] = str_replace("<tr>", "<tr><td class='tab_bg_1 b' rowspan='".count($table_lines)."'>$region_name</td>", $table_lines[0]);
   if ($region_id != 0) {
-    echo "<tr><th colspan='10'></th></tr>\n";
+    echo "<tr><th colspan='12'></th></tr>\n";
   }
   echo implode("\n", $table_lines);
 
@@ -248,9 +196,11 @@ while ($region_data = $DB->fetch_assoc($region_result)) {
   $grand_internes_autres += $region_internes_autres;
   $grand_internes_1004 += $region_internes_1004;
   $grand_internes_1204 += $region_internes_1204;
+  $grand_internes_1404 += $region_internes_1404;
   $grand_publics_autres += $region_publics_autres;
   $grand_publics_1004 += $region_publics_1004;
   $grand_publics_1204 += $region_publics_1204;
+  $grand_publics_1404 += $region_publics_1404;
 } // fin des régions
 
 #echo "<tr class='tab_bg_1'><td colspan='8'>&nbsp;</td></tr>";
@@ -260,18 +210,21 @@ $line .= svg_pie_chart(Array(
   $grand_internes_autres + $grand_publics_autres,
   $grand_internes_1004 + $grand_publics_1004,
   $grand_internes_1204 + $grand_publics_1204,
+  $grand_internes_1404 + $grand_publics_1404,
 ), 16);
 $line .= "TOTAL GÉNÉRAL</td>";
 $line .= "<td class='numeric b'>$grand_internes_autres</td>";
 $line .= "<td class='numeric b'>$grand_internes_1004</td>";
 $line .= "<td class='numeric b'>$grand_internes_1204</td>";
-$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_internes_autres, $grand_internes_1004, $grand_internes_1204), $grand_internes_1204)."</td>";
+$line .= "<td class='numeric b'>$grand_internes_1404</td>";
+$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_internes_autres, $grand_internes_1004, $grand_internes_1204, $grand_internes_1404), $grand_internes_1204 + $grand_internes_1404)."</td>";
 $line .= "<td class='numeric b'>$grand_publics_autres</td>";
 $line .= "<td class='numeric b'>$grand_publics_1004</td>";
 $line .= "<td class='numeric b'>$grand_publics_1204</td>";
-$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_publics_autres, $grand_publics_1004, $grand_publics_1204), $grand_publics_1204)."</td>";
+$line .= "<td class='numeric b'>$grand_publics_1404</td>";
+$line .= "<td class='numeric tab_bg_1'>".progression_html(Array($grand_publics_autres, $grand_publics_1004, $grand_publics_1204, $grand_publics_1404), $grand_publics_1204 + $grand_publics_1404)."</td>";
 $line .= "</tr>";
-echo "<tr><th colspan='10'></th></tr>\n";
+echo "<tr><th colspan='12'></th></tr>\n";
 echo $line;
 
 echo "</table>";
@@ -281,7 +234,9 @@ echo "<li>Ce rapport ne considère que les machines déclarées en production et
 echo "<li>Ce rapport ne considère que les machines dans les catégories poste interne ou public, donc pas les serveurs.</li>";
 echo "<li>Ce rapport ne considère que les machines physiques, pas les machines virtuelles.</li>";
 echo "<li>Ce rapport ne considère que les machines sous Ubuntu, aucun autre système.</li>";
-echo "<li>La colonne «&nbsp;Autres&nbsp;» consiste en des systèmes Ubuntu d'une version autre que 12.04 ou 10.04.</li>";
+echo "<li>La colonne «&nbsp;Autres&nbsp;» consiste en des systèmes Ubuntu d'une version autre que 14.04, 12.04 ou 10.04.</li>";
+echo "<li>La valeur de progression considère à la fois les versions 12.04 et 14.04.</li>";
+echo "<li><i>Note&nbsp;: la mise à niveau vers Ubuntu 14.04 n'est pas encore d'actualité (les paquets AUF ne sont pas prêts à 100%).</i></li>";
 echo "</ul></div>";
 
 Html::footer();
index e675020..f939a1a 100644 (file)
@@ -4,6 +4,9 @@ $USEDBREPLICATE=1;
 $DBCONNECTION_REQUIRED=0;
 
 include ("../../inc/includes.php");
+include_once ("inc/functions.php");
+
+$svg_color_names = Array('red', 'green', 'yellow', 'blue');
 
 Session::checkRight("reports", "r");
 Session::checkRight("computer", "r");
@@ -21,38 +24,6 @@ $computer = new Computer();
 $itemtype = 'Computer';
 $table_item = getTableForItemType($itemtype);
 
-$svg_colors = Array('red'=>'#ffa0a0', 'green'=>'#a0ffa0', 'yellow'=>'#ffdd80', 'blue'=>'#a0a0ff');
-
-function svg_circle($color, $size=4) {
-  global $svg_colors;
-  if (array_key_exists($color, $svg_colors)) { $color = $svg_colors[$color]; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 1px; vertical-align: middle;">';
-  $svg .= "<circle cx='$cx' cy='$cy' r='$r' stroke='black' stroke-width='0' fill='$color' />";
-  $svg .= '</svg>';
-  return $svg;
-}
-
-function svg_pie_chart($values, $size=16) {
-  global $svg_colors;
-  $color_names = Array('red', 'green', 'yellow', 'blue'); $color_idx = 0;
-  $total = 0.0; foreach ($values as $v) { $total += $v; }
-  $r = (int)$size; $cx = $r+1; $cy = $r+1; $rad = 2*pi()/$total; $old_a = 0;
-  $svg = '<svg width="'.(2+2*$r).'" height="'.(2+2*$r).'" style="margin: 2px; vertical-align: middle;">';
-  foreach ($values as $a) {
-    $x1 = $cx + $r * cos(-$old_a * $rad);
-    $y1 = $cy + $r * sin(-$old_a * $rad);
-    $x2 = $cx + $r * cos(-($old_a + $a) * $rad);
-    $y2 = $cy + $r * sin(-($old_a + $a) * $rad);
-    $big = ($a > ($total/2)) ? '1' : '0';
-    $color = $svg_colors[$color_names[$color_idx++]];
-    $svg .= "<path d=\"M$cx,$cy L$x1,$y1 A$r,$r 0 $big,0 $x2,$y2 z\" style=\"stroke: 0 black; fill: $color;\" />";
-    $old_a += $a;
-  }
-  $svg .= '</svg>';
-  return $svg;
-}
-
 // echo "\n<span class='big b' style='color: red;'>ATTENTION : ce rapport est en cours de refonte, merci de ne pas tenir compte des données affichées ci-dessous.</span><br><br>";
 
 //echo "\n<span class='big b'>Ordinateurs par implantation</span><br><br>";
index 21e2cb8..5c45201 100644 (file)
@@ -4,6 +4,9 @@ $USEDBREPLICATE=1;
 $DBCONNECTION_REQUIRED=0;
 
 include ("../../inc/includes.php");
+include_once ("inc/functions.php");
+
+$svg_color_names = Array('green', 'yellow', 'red', 'blue');
 
 Session::checkRight("reports", "r");
 Session::checkRight("computer", "r");
@@ -76,10 +79,10 @@ while ($data=$DB->fetch_assoc($result)) {
   if (empty($data['oname'])) {
     $data['oname'] = "<i>(indéterminé)</i>";
   }
-  if (($data['oname'] == 'Debian 7') || ($data['oname'] == 'Ubuntu 12.04')) {
+  if (($data['oname'] == 'Debian 8') || ($data['oname'] == 'Ubuntu 12.04')) {
     $oname_plus = '<svg width="5" height="5" style="background-color: #00ff00; margin: 1px;"/>';
     $green_total += $data['count'];
-  } elseif (($data['oname'] == 'Debian 6') || ($data['oname'] == 'Ubuntu 10.04')) {
+  } elseif (($data['oname'] == 'Debian 7') || ($data['oname'] == 'Ubuntu 14.04')) {
     $oname_plus = '<svg width="5" height="5" style="background-color: #ffff00; margin: 1px;"/>';
     $yellow_total += $data['count'];
   } elseif ((substr($data['oname'],0,7) == 'Windows') || (substr($data['oname'],strlen($data['oname'])-4,4) == 'OS X')) {
@@ -96,12 +99,8 @@ while ($data=$DB->fetch_assoc($result)) {
   $region_total += $data['count'];
 }
 
-$green_svg = '<svg width="'.(400*$green_total/$region_total).'" height="5" style="background-color: #00ff00; margin: 1px 0;"/>';
-$yellow_svg = '<svg width="'.(400*$yellow_total/$region_total).'" height="5" style="background-color: #ffff00; margin: 1px 0;"/>';
-$red_svg = '<svg width="'.(400*$red_total/$region_total).'" height="5" style="background-color: #ff0000; margin: 1px 0;"/>';
-$blue_svg = '<svg width="'.(400*$blue_total/$region_total).'" height="5" style="background-color: #0000ff; margin: 1px 0;"/>';
 echo "<tr class='tab_bg_2'><td class='b'>&nbsp;&nbsp;Sous-total</td>";
-echo "<td>".$green_svg.$yellow_svg.$red_svg.$blue_svg."</td>";
+echo "<td>".svg_bar(Array($green_total,$yellow_total,$red_total,$blue_total), 400, 5)."</td>";
 echo "<td class='numeric b'>$region_total</td></tr>";
 
 $green_grand_total += $green_total;
@@ -125,12 +124,8 @@ $query = "SELECT COUNT(*) FROM `".$table_item."`
 $result = $DB->query($query);
 $total = $DB->result($result, 0, 0);
 
-$green_svg = '<svg width="'.(400*$green_grand_total/$grand_total).'" height="5" style="background-color: #00ff00; margin: 1px 0;"/>';
-$yellow_svg = '<svg width="'.(400*$yellow_grand_total/$grand_total).'" height="5" style="background-color: #ffff00; margin: 1px 0;"/>';
-$red_svg = '<svg width="'.(400*$red_grand_total/$grand_total).'" height="5" style="background-color: #ff0000; margin: 1px 0;"/>';
-$blue_svg = '<svg width="'.(400*$blue_grand_total/$grand_total).'" height="5" style="background-color: #0000ff; margin: 1px 0;"/>';
 echo "<tr class='tab_bg_1'><td class='b'>Total général</td>";
-echo "<td>".$green_svg.$yellow_svg.$red_svg.$blue_svg."</td>";
+echo "<td>".svg_bar(Array($green_grand_total,$yellow_grand_total,$red_grand_total,$blue_grand_total), 400, 5)."</td>";
 echo "<td class='numeric b'>$total</td></tr>";
 
 echo "</table>";
index f675542..1cd80ed 100644 (file)
@@ -30,8 +30,8 @@ function plugin_init_auf() {
       if (isset($_SESSION["glpiname"])) {
          $report_list = array();
          if (Session::haveRight("computer", "r")) {
-            $report_list["rapport.migrationubuntu.php"] = "Progression de la migration vers Ubuntu 12.04 (Precise)";
-            $report_list["rapport.migrationdebian.php"] = "Progression de la migration vers Debian 7 (Wheezy)";
+            $report_list["rapport.migrationubuntu.php"] = "Progression des mises à niveau Ubuntu";
+            $report_list["rapport.migrationdebian.php"] = "Progression des mises à niveau Debian";
             $report_list["report.operatingsystems.php"] = "Systèmes d'exploitation par implantation";
             $report_list["report.computers.php"] = "Nombre de machines par catégorie";
             // $report_list["report.wip.php"] = 'WIP (rapport en cours de développement)';
@@ -45,7 +45,7 @@ function plugin_init_auf() {
 function plugin_version_auf() {
    return array(
       'name'           => 'AUF',
-      'version'        => '0.2.0',
+      'version'        => '0.3.0',
       'author'         => 'Jean Christophe André',
       'license'        => 'GPLv2+',
       'homepage'       => 'http://git.auf.org/?p=auf-serveur.git;a=tree;f=glpi-plugin-auf',