diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php
index 5d40e79222ec351b37e8e0cdfc816777a8643f91..4f6d313ffe3cdf1da6c4231c26dce51e55c61e2a 100644
--- a/htdocs/admin/boxes.php
+++ b/htdocs/admin/boxes.php
@@ -20,9 +20,10 @@
  * $Source$
  */
 
-/**	    \file       htdocs/admin/boxes.php
-		\brief      Page d'administration/configuration des boites
-		\version    $Revision$
+/**
+	    \file       htdocs/admin/boxes.php
+        \brief      Page d'administration/configuration des boites
+        \version    $Revision$
 */
 
 require("./pre.inc.php");
@@ -30,12 +31,12 @@ require("./pre.inc.php");
 $langs->load("admin");
 
 if (!$user->admin)
-  accessforbidden();
+accessforbidden();
 
 
 // D�finition des positions possibles pour les boites
 $pos_array = array(0);                          // Positions possibles pour une boite (0,1,2,...)
-$pos_name = array($langs->trans("Home"));       // Nom des position 0=Homepage, 1=...
+$pos_name = array($langs->trans("Home"));       // Nom des positions 0=Homepage, 1=...
 $boxes = array();
 
 
@@ -49,24 +50,24 @@ print "<br>".$langs->trans("BoxesDesc")."<br>\n";
 /*
  * Actions
  */
- 
+
 if ($_POST["action"] == 'add')
 {
-  $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."boxes WHERE box_id=".$_POST["boxid"]." AND position=".$_POST["pos"];
-  $result = $db->query($sql);
-
-  $num = $db->num_rows();
-  if ($num == 0) {
-    // Si la boite n'est pas deja active
-    $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position) values (".$_POST["boxid"].",".$_POST["pos"].");";
+    $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."boxes WHERE box_id=".$_POST["boxid"]." AND position=".$_POST["pos"];
     $result = $db->query($sql);
-  }
+
+    $num = $db->num_rows($result);
+    if ($num == 0) {
+        // Si la boite n'est pas deja active
+        $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position) values (".$_POST["boxid"].",".$_POST["pos"].");";
+        $result = $db->query($sql);
+    }
 }
 
 if ($_GET["action"] == 'delete')
 {
-  $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["rowid"];
-  $result = $db->query($sql);
+    $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["rowid"];
+    $result = $db->query($sql);
 }
 
 if ($_GET["action"] == 'switch')
@@ -81,7 +82,7 @@ if ($_GET["action"] == 'switch')
         $objfrom = $db->fetch_object($resultfrom);
     } else
     {
-        dolibarr_print_error($db);   
+        dolibarr_print_error($db);
     }
     $sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchto"];
     $resultto = $db->query($sql);
@@ -90,7 +91,7 @@ if ($_GET["action"] == 'switch')
         $objto = $db->fetch_object($resultto);
     } else
     {
-        dolibarr_print_error($db);   
+        dolibarr_print_error($db);
     }
     if ($objfrom && $objto) {
         $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objto->box_order." WHERE rowid=".$_GET["switchfrom"];
@@ -99,7 +100,7 @@ if ($_GET["action"] == 'switch')
         $sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objfrom->box_order." WHERE rowid=".$_GET["switchto"];
         $resultupdateto = $db->query($sql);
         if (! $resultupdateto) { dolibarr_print_error($db); }
-    }        
+    }
 
     if ($resultupdatefrom && $resultupdateto)
     {
@@ -115,7 +116,6 @@ if ($_GET["action"] == 'switch')
 /*
  * Recherche des boites actives par position possible
  * On stocke les boites actives par $boxes[position][id_boite]=1
- *
  */
 
 $sql  = "SELECT b.rowid, b.box_id, b.position, b.box_order, d.name";
@@ -124,18 +124,18 @@ $sql .= " where b.box_id = d.rowid";
 $sql .= " ORDER by position, box_order";
 $result = $db->query($sql);
 
-if ($result) 
+if ($result)
 {
-    $num = $db->num_rows();
+    $num = $db->num_rows($result);
     $i = 0;
-    $decalage=0;    
+    $decalage=0;
     while ($i < $num)
     {
         $var = ! $var;
         $obj = $db->fetch_object($result);
         $boxes[$obj->position][$obj->box_id]=1;
         $i++;
-        
+
         // On renum�rote l'ordre des boites si l'une d'elle est � 0 (Ne doit arriver que sur des anciennes versions)
         if ($obj->box_order==0) $decalage++;
         if ($decalage) {
@@ -150,14 +150,13 @@ if ($result)
 
 /*
  * Boites disponibles
- *
  */
 print "<br>\n";
 print_titre($langs->trans("BoxesAvailable"));
 
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
-print '<td>'.$langs->trans("Boxe").'</td>';
+print '<td>'.$langs->trans("Box").'</td>';
 print '<td>'.$langs->trans("SourceFile").'</td>';
 print '<td align="center" width="180">'.$langs->trans("ActivateOn").'</td>';
 print '<td align="center" width="80">&nbsp;</td>';
@@ -167,24 +166,29 @@ $sql = "SELECT rowid, name, file FROM ".MAIN_DB_PREFIX."boxes_def";
 $result = $db->query($sql);
 $var=True;
 
-if ($result) 
+if ($result)
 {
-    $num = $db->num_rows();
+    $html=new Form($db);
+
+    $num = $db->num_rows($result);
     $i = 0;
-    
+
     // Boucle sur toutes les boites
     while ($i < $num)
     {
         $var = ! $var;
         $obj = $db->fetch_object($result);
-        
+
+        $module=eregi_replace('.php$','',$obj->file);
+        include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php");
+        $box=new $module();
+
         print '<form action="boxes.php" method="POST">';
-        print '<tr '.$bc[$var].'><td>'.$obj->name.'</td><td>' . $obj->file . '</td>';
+        print '<tr '.$bc[$var].'><td>'.img_object("",$box->boximg).' '.$box->boxlabel.'</td><td>' . $obj->file . '</td>';
 
-        // Pour chaque position possible, on affiche un lien 
+        // Pour chaque position possible, on affiche un lien
         // d'activation si boite non deja active pour cette position
         print '<td align="center">';
-        $html=new Form($db);
         print $html->select_array("pos",$pos_name);
         print '<input type="hidden" name="action" value="add">';
         print '<input type="hidden" name="boxid" value="'.$obj->rowid.'">';
@@ -195,7 +199,7 @@ if ($result)
 
         print '</tr>';
         print '</form>';
-    
+
         $i++;
     }
 
@@ -210,59 +214,63 @@ print_titre($langs->trans("BoxesActivated"));
 
 print '<table class="noborder" width="100%">';
 print '<tr class="liste_titre">';
-print '<td>'.$langs->trans("Boxe").'</td>';
+print '<td>'.$langs->trans("Box").'</td>';
 print '<td>&nbsp;</td>';
 print '<td align="center" width="180">'.$langs->trans("ActiveOn").'</td>';
 print '<td align="center" width="60" colspan="2">'.$langs->trans("Position").'</td>';
 print '<td align="center" width="80">'.$langs->trans("Disable").'</td>';
 print "</tr>\n";
 
-$sql  = "SELECT b.rowid, b.box_id, b.position, d.name";
+$sql  = "SELECT b.rowid, b.box_id, b.position, d.name, d.file";
 $sql .= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
 $sql .= " where b.box_id = d.rowid";
 $sql .= " ORDER by position, box_order";
 $result = $db->query($sql);
 
-if ($result) 
+if ($result)
 {
-  $num = $db->num_rows();
-  $i = 0;
-  
-  $box_order=1;
-  $foundrupture=1;
-  
-  // On lit avec un coup d'avance
-  $obj = $db->fetch_object($result);
-
-  while ($obj && $i < $num)
+    $num = $db->num_rows();
+    $i = 0;
+
+    $box_order=1;
+    $foundrupture=1;
+
+    // On lit avec un coup d'avance
+    $obj = $db->fetch_object($result);
+
+    while ($obj && $i < $num)
     {
-      $var = ! $var; 
-      $objnext = $db->fetch_object($result);
-
-      print '<tr '.$bc[$var].'><td>'.$obj->name.'</td>';
-      print '<td>&nbsp;</td>';
-      print '<td align="center">' . $pos_name[$obj->position] . '</td>';
-      $hasnext=true;
-      $hasprevious=true;
-      if ($foundrupture) { $hasprevious=false; $foundrupture=0; }
-      if (! $objnext || $obj->position != $objnext->position) { $hasnext=false; $foundrupture=1; }
-      print '<td align="center" width="10">'.$box_order.'</td>';
-      print '<td align="center" width="50">';
-      print ($hasnext?'<a href="boxes.php?action=switch&switchfrom='.$obj->rowid.'&switchto='.$objnext->rowid.'">'.img_down().'</a>&nbsp;':'');
-      print ($hasprevious?'<a href="boxes.php?action=switch&switchfrom='.$obj->rowid.'&switchto='.$objprevious->rowid.'">'.img_up().'</a>':'');
-      print '</td>';
-      print '<td align="center">';
-      print '<a href="boxes.php?rowid='.$obj->rowid.'&amp;action=delete">'.img_delete().'</a>';
-      print '</td>';
-      
-      print "</tr>\n";
-      $i++;
-
-      $box_order++;
-      
-      if (! $foundrupture) $objprevious = $obj;
-      else $box_order=1;
-      $obj=$objnext;
+        $var = ! $var;
+        $objnext = $db->fetch_object($result);
+
+        $module=eregi_replace('.php$','',$obj->file);
+        include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$module.".php");
+        $box=new $module();
+
+        print '<tr '.$bc[$var].'><td>'.img_object("",$box->boximg).' '.$box->boxlabel.'</td>';
+        print '<td>&nbsp;</td>';
+        print '<td align="center">' . $pos_name[$obj->position] . '</td>';
+        $hasnext=true;
+        $hasprevious=true;
+        if ($foundrupture) { $hasprevious=false; $foundrupture=0; }
+        if (! $objnext || $obj->position != $objnext->position) { $hasnext=false; $foundrupture=1; }
+        print '<td align="center" width="10">'.$box_order.'</td>';
+        print '<td align="center" width="50">';
+        print ($hasnext?'<a href="boxes.php?action=switch&switchfrom='.$obj->rowid.'&switchto='.$objnext->rowid.'">'.img_down().'</a>&nbsp;':'');
+        print ($hasprevious?'<a href="boxes.php?action=switch&switchfrom='.$obj->rowid.'&switchto='.$objprevious->rowid.'">'.img_up().'</a>':'');
+        print '</td>';
+        print '<td align="center">';
+        print '<a href="boxes.php?rowid='.$obj->rowid.'&amp;action=delete">'.img_delete().'</a>';
+        print '</td>';
+
+        print "</tr>\n";
+        $i++;
+
+        $box_order++;
+
+        if (! $foundrupture) $objprevious = $obj;
+        else $box_order=1;
+        $obj=$objnext;
     }
 
     $db->free($result);
diff --git a/htdocs/includes/boxes/box_boutique_livre.php b/htdocs/includes/boxes/box_boutique_livre.php
index 500a7aaef0d41bb4fcbc8ce50fa41e354f727793..67b9c4f4a7122e5fbdd38bfdf9de09b94381bcb3 100644
--- a/htdocs/includes/boxes/box_boutique_livre.php
+++ b/htdocs/includes/boxes/box_boutique_livre.php
@@ -28,17 +28,38 @@
 */
 
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_boutique_livre extends ModeleBoxes {
 
+    var $boxcode="lastbooks";
+    var $boximg="book";
+    var $boxlabel;
+    var $depends = array("boutique");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_boutique_livre()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastBooks");
+    }
+    
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derniers ouvrages");
     
diff --git a/htdocs/includes/boxes/box_clients.php b/htdocs/includes/boxes/box_clients.php
index 49e6ec4607711a56bb4a88a78412ee612034c719..0595895fdfb2c7f8d24fbdafbcb67aaece465ba2 100644
--- a/htdocs/includes/boxes/box_clients.php
+++ b/htdocs/includes/boxes/box_clients.php
@@ -27,17 +27,38 @@
     \brief      Module de g�n�ration de l'affichage de la box clients
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_clients extends ModeleBoxes {
 
+    var $boxcode="lastcustomers";
+    var $boximg="company";
+    var $boxlabel;
+    var $depends = array("societe");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_clients()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastCustomers");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derniers clients enregistr�s");
 
diff --git a/htdocs/includes/boxes/box_commandes.php b/htdocs/includes/boxes/box_commandes.php
index 8be6c95fb3bae59c244b4e62d4b8ce81be1988d2..136b7ac0f5883420fc46fbcb7212a8bef67507ae 100644
--- a/htdocs/includes/boxes/box_commandes.php
+++ b/htdocs/includes/boxes/box_commandes.php
@@ -27,21 +27,43 @@
     \brief      Module de g�n�ration de l'affichage de la box commandes
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_commandes extends ModeleBoxes {
 
+    var $boxcode="lastcustomerorders";
+    var $boximg="order";
+    var $boxlabel;
+    var $depends = array("commercial");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_commandes()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastCustomerOrders");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
 
         if ($user->rights->commande->lire)
         {
-            $this->info_box_head = array('text' => "Les $max derni�res commandes");
+            $langs->load("boxes");
+            
+            $this->info_box_head = array('text' => "Les $max derni�res commandes clients");
 
             $sql = "SELECT s.nom,s.idp,p.ref,".$db->pdate("p.date_commande")." as dp,p.rowid";
             $sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as p WHERE p.fk_soc = s.idp";
diff --git a/htdocs/includes/boxes/box_external_rss.php b/htdocs/includes/boxes/box_external_rss.php
index dbd2ae15c9e1f4448bd604c304835addc6cf65f8..bc9df036c7c799b67018faa37af8ce1d15a6dbb4 100644
--- a/htdocs/includes/boxes/box_external_rss.php
+++ b/htdocs/includes/boxes/box_external_rss.php
@@ -29,21 +29,43 @@
 		\version    $Revision$
 */
 
-require_once("./includes/magpierss/rss_fetch.inc");
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/magpierss/rss_fetch.inc");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_external_rss extends ModeleBoxes {
 
+    var $boxcode="lastrssinfos";
+    var $boximg="rss";
+    var $boxlabel;
+    var $depends = array();
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_external_rss()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastRssInfos");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         for($site = 0; $site < 1; $site++) {
             $this->info_box_head = array('text' => "Les $max derni�res infos du site " . @constant("EXTERNAL_RSS_TITLE_". $site));
+    
             $rss = fetch_rss( @constant("EXTERNAL_RSS_URLRSS_" . $site) );
             for($i = 0; $i < $max ; $i++){
                 $item = $rss->items[$i];
diff --git a/htdocs/includes/boxes/box_factures.php b/htdocs/includes/boxes/box_factures.php
index 4157ea8cce3ee85756e9af4477c214ee4853637f..3c6884a894bfe5174fc145f71b15d51547f418c6 100644
--- a/htdocs/includes/boxes/box_factures.php
+++ b/htdocs/includes/boxes/box_factures.php
@@ -27,20 +27,42 @@
     \brief      Module de g�n�ration de l'affichage de la box factures
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_factures extends ModeleBoxes {
 
+    var $boxcode="lastcustomerbills";
+    var $boximg="bill";
+    var $boxlabel;
+    var $depends = array("facture");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_factures()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastCustomerBills");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
 
         if ($user->rights->facture->lire)
         {
+            $langs->load("boxes");
+            
             $this->info_box_head = array('text' => "Les $max derni�res factures clients enregistr�es");
 
             $sql = "SELECT s.nom,s.idp,f.facnumber,f.amount,".$db->pdate("f.datef")." as df,f.paye,f.rowid as facid";
diff --git a/htdocs/includes/boxes/box_factures_fourn.php b/htdocs/includes/boxes/box_factures_fourn.php
index a48bd04f32e4b73dcb8c4549932930df11de53e6..928ef52f502ab1285c9b005d36d520318b59dce4 100644
--- a/htdocs/includes/boxes/box_factures_fourn.php
+++ b/htdocs/includes/boxes/box_factures_fourn.php
@@ -28,17 +28,38 @@
 		\version    $Revision$
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_factures_fourn extends ModeleBoxes {
 
+    var $boxcode="lastsupplierbills";
+    var $boximg="bill";
+    var $boxlabel;
+    var $depends = array("facture","fournisseur");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_factures_fourn()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastSupplierBills");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derni�res factures fournisseurs enregistr�es");
 
diff --git a/htdocs/includes/boxes/box_factures_fourn_imp.php b/htdocs/includes/boxes/box_factures_fourn_imp.php
index a3626c66f46f587ec6f71f704ac4b4f717a32c98..473edbeb0e3040009053ed7826ffd8a56730b893 100644
--- a/htdocs/includes/boxes/box_factures_fourn_imp.php
+++ b/htdocs/includes/boxes/box_factures_fourn_imp.php
@@ -27,20 +27,42 @@
 		\version    $Revision$
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_factures_fourn_imp extends ModeleBoxes {
 
+    var $boxcode="oldestunpayedsupplierbills";
+    var $boximg="bill";
+    var $boxlabel;
+    var $depends = array("facture","fournisseur");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_factures_fourn_imp()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxOldesUnpayedSupplierBills");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
 
         if ($user->rights->facture->lire)
         {
+            $langs->load("boxes");
+            
             $this->info_box_head = array('text' => "Les $max plus anciennes factures fournisseurs impay�es");
 
             $sql = "SELECT s.nom,s.idp,f.facnumber,f.amount,".$db->pdate("f.datef")." as df,f.paye,f.rowid as facid";
diff --git a/htdocs/includes/boxes/box_factures_imp.php b/htdocs/includes/boxes/box_factures_imp.php
index 68129af532b2aaaa12eda3e5b2d3392840b6b401..0cc46045b3f0e4fe1f089d224f93281655db78e5 100644
--- a/htdocs/includes/boxes/box_factures_imp.php
+++ b/htdocs/includes/boxes/box_factures_imp.php
@@ -27,17 +27,39 @@
     \brief      Module de g�n�ration de l'affichage de la box factures impayees
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_factures_imp extends ModeleBoxes {
 
+    var $boxcode="oldestunpayedcustomerbills";
+    var $boximg="bill";
+    var $boxlabel;
+    var $depends = array("facture");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_factures_imp()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxOldestUnpayedCustomerBills");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max plus anciennes factures clients impay�es");
 
diff --git a/htdocs/includes/boxes/box_fournisseurs.php b/htdocs/includes/boxes/box_fournisseurs.php
index c1dd0220b059431d396a8187181a9ebe8f55c45f..32bba4e90ae7add7fe51ebefa8bb2c7ed33e82da 100644
--- a/htdocs/includes/boxes/box_fournisseurs.php
+++ b/htdocs/includes/boxes/box_fournisseurs.php
@@ -26,17 +26,38 @@
     \brief      Module de g�n�ration de l'affichage de la box fournisseurs
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_fournisseurs extends ModeleBoxes {
 
+    var $boxcode="lastsuppliers";
+    var $boximg="company";
+    var $boxlabel;
+    var $depends = array("fournisseur");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_fournisseurs()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastSuppliers");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max5 derniers fournisseurs enregistr�s");
 
diff --git a/htdocs/includes/boxes/box_osc_client.php b/htdocs/includes/boxes/box_osc_client.php
index c6010f12ab3cfddf6035aca0fa7644ed713fbe2a..436eb6fa347a8de142a9cf127dc6bd6623abf336 100644
--- a/htdocs/includes/boxes/box_osc_client.php
+++ b/htdocs/includes/boxes/box_osc_client.php
@@ -27,17 +27,38 @@
     \brief      Module de g�n�ration de l'affichage de la box osc client
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_osc_clients extends ModeleBoxes {
 
+    var $boxcode="nbofcustomers";
+    var $boximg="company";
+    var $boxlabel;
+    var $depends = array("boutique");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_osc_clients()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxNbOfCustomers");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Nombre de client");
 
diff --git a/htdocs/includes/boxes/box_produits.php b/htdocs/includes/boxes/box_produits.php
index f174e2c0c411431742526ea927c9538bd70f4f6a..e7f251475ef51efe15a43b73912658593588e36e 100644
--- a/htdocs/includes/boxes/box_produits.php
+++ b/htdocs/includes/boxes/box_produits.php
@@ -27,17 +27,39 @@
     \brief      Module de g�n�ration de l'affichage de la box produits
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_produits extends ModeleBoxes {
 
+    var $boxcode="lastproducts";
+    var $boximg="product";
+    var $boxlabel;
+    var $depends = array("produit");
+    
     var $info_box_head = array();
     var $info_box_contents = array();
 
+
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_produits()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastProducts");
+    }
+    
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derniers produits/services enregistr�s");
 
diff --git a/htdocs/includes/boxes/box_propales.php b/htdocs/includes/boxes/box_propales.php
index 15ce1b1df5f89d706167b7339fc76e710a0caf3a..b7d2ef1433e50fa6dcd4e3f45135211290c4144e 100644
--- a/htdocs/includes/boxes/box_propales.php
+++ b/htdocs/includes/boxes/box_propales.php
@@ -27,20 +27,42 @@
     \brief      Module de g�n�ration de l'affichage de la box propales
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_propales extends ModeleBoxes {
 
+    var $boxcode="lastpropals";
+    var $boximg="propal";
+    var $boxlabel;
+    var $depends = array("propale");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_propales()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastProposals");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
 
         if ($user->rights->propale->lire)
         {
+            $langs->load("boxes");
+
             $this->info_box_head = array('text' => "Les $max derni�res propositions");
 
             $sql = "SELECT s.nom,s.idp,p.ref,".$db->pdate("p.datep")." as dp,p.rowid";
diff --git a/htdocs/includes/boxes/box_prospect.php b/htdocs/includes/boxes/box_prospect.php
index 58e927d2a709ace9edf48ad9eb04c2fde35ae9db..917d8ee672f95a044ace52967127dc72e2635e9b 100644
--- a/htdocs/includes/boxes/box_prospect.php
+++ b/htdocs/includes/boxes/box_prospect.php
@@ -28,17 +28,38 @@
 */
 
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_prospect extends ModeleBoxes {
 
+    var $boxcode="lastprospects";
+    var $boximg="company";
+    var $boxlabel;
+    var $depends = array("commercial");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_prospect()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastProspects");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derniers prospects enregistr�s");
 
diff --git a/htdocs/includes/boxes/box_services_vendus.php b/htdocs/includes/boxes/box_services_vendus.php
index d8c9b030fbd472390345c313f3cf61aa60252f50..8a3a74c5085c8710872909a203cde2e16905b32d 100644
--- a/htdocs/includes/boxes/box_services_vendus.php
+++ b/htdocs/includes/boxes/box_services_vendus.php
@@ -27,17 +27,38 @@
     \brief      Module de g�n�ration de l'affichage de la box services_vendus
 */
 
-include_once("./includes/boxes/modules_boxes.php");
+include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
 
 
 class box_services_vendus extends ModeleBoxes {
 
+    var $boxcode="lastproductsincontract";
+    var $boximg="product";
+    var $boxlabel;
+    var $depends = array("produit");
+
     var $info_box_head = array();
     var $info_box_contents = array();
 
+    /**
+     *      \brief      Constructeur de la classe
+     */
+    function box_services_vendus()
+    {
+        global $langs;
+        $langs->load("boxes");
+
+        $this->boxlabel=$langs->trans("BoxLastProductsInContract");
+    }
+
+    /**
+     *      \brief      Charge les donn�es en m�moire pour affichage ult�rieur
+     *      \param      $max        Nombre maximum d'enregistrements � charger
+     */
     function loadBox($max=5)
     {
         global $user, $langs, $db;
+        $langs->load("boxes");
 
         $this->info_box_head = array('text' => "Les $max derniers produits/services contract�s");
 
diff --git a/htdocs/index.php b/htdocs/index.php
index e7f3b89b79a3ee5d48eaa4de559406dd110b8748..da147c99a7cae63099e7dd7c3bd1c643aef55987 100644
--- a/htdocs/index.php
+++ b/htdocs/index.php
@@ -66,7 +66,7 @@ for ($ii=0, $ni=sizeof($boxes); $ii<$ni; $ii++)
   print '<td valign="top" width="50%">';
 
   // Affichage boite ii
-  include_once("./includes/boxes/".$boxes[$ii].".php");
+  include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxes[$ii].".php");
   $box=new $boxes[$ii]();
   $box->loadBox();
   $box->showBox();