diff --git a/application/modules/admin/controllers/AccueilController.php b/application/modules/admin/controllers/AccueilController.php
index b4f64668b71fc93666161246894dff5f789f5f12..3ec3f38cdec43e2c6a94a1471b77bf1de2a36b98 100644
--- a/application/modules/admin/controllers/AccueilController.php
+++ b/application/modules/admin/controllers/AccueilController.php
@@ -157,8 +157,6 @@ class Admin_AccueilController extends Zend_Controller_Action {
 
   public function sitothequeAction() {
     $this->preprocessSitoCategories();
-    if ($this->_request->getPost('type_aff') == ZendAfi_View_Helper_Accueil_Sito::DISPLAY_HIERARCHY)
-      $this->_request->setPost('group_by_categorie','0');
     $this->_simpleAction('SITO');
   }
 
diff --git a/library/ZendAfi/View/Helper/Accueil/Sito.php b/library/ZendAfi/View/Helper/Accueil/Sito.php
index 1599e79acf200cc1847a541710dda4b57380438e..1903b35796116c5161f7424966acc55c8b01c712 100644
--- a/library/ZendAfi/View/Helper/Accueil/Sito.php
+++ b/library/ZendAfi/View/Helper/Accueil/Sito.php
@@ -24,13 +24,13 @@ class ZendAfi_View_Helper_Accueil_Sito extends ZendAfi_View_Helper_Accueil_Base
   const ORDER_SELECTION = 'Selection';
 
   const DISPLAY_SELECTION = 1;
-  const DISPLAY_NOVELTY = 2;
+  const DISPLAY_GROUPED = 2;
   const DISPLAY_HIERARCHY = 3;
 
   protected $strategy, $page;
 
   protected function _renderHeadScriptsOn($script_loader) {
-    $this->getStrategy()->getHeadScript();
+    $this->getStrategy()->renderHeadScriptsOn($script_loader);
   }
 
 
@@ -43,8 +43,8 @@ class ZendAfi_View_Helper_Accueil_Sito extends ZendAfi_View_Helper_Accueil_Base
     if($this->isHierarchicalDisplay())
       $strategy = new HierrachicalStrategy();
 
-    if($this->isTypeAffichagePlusRecents())
-      $strategy = new NewestStrategy();
+    if($this->isTypeAffichageGrouped())
+      $strategy = new GroupedStrategy();
 
     return $this->stategy = $strategy
       ->setView($this->view)
@@ -73,8 +73,8 @@ class ZendAfi_View_Helper_Accueil_Sito extends ZendAfi_View_Helper_Accueil_Base
   }
 
 
-  public function isTypeAffichagePlusRecents() {
-    return $this->_isDisplayType(static::DISPLAY_NOVELTY);
+  public function isTypeAffichageGrouped() {
+    return $this->_isDisplayType(static::DISPLAY_GROUPED);
   }
 
 
@@ -87,13 +87,6 @@ class ZendAfi_View_Helper_Accueil_Sito extends ZendAfi_View_Helper_Accueil_Base
     return $this->getPreference('type_aff') == $type;
   }
 
-
-  public function isGroupByCategorie() {
-    return (array_isset('group_by_categorie', $this->preferences)
-            && true == $this->getPreference('group_by_categorie'));
-  }
-
-
   public function setPage($page) {
     $this->page = $page;
     return $this;
@@ -105,6 +98,7 @@ class ZendAfi_View_Helper_Accueil_Sito extends ZendAfi_View_Helper_Accueil_Base
 class SitoDisplayStrategy {
   const ORDER_RANDOM = 'Random';
   const ORDER_SELECTION = 'Selection';
+  const ORDER_RECENT = 'Recent';
 
   protected
     $view,
@@ -201,49 +195,24 @@ class SitoDisplayStrategy {
     $start = $this->page ? $this->page - 1 : 0;
     $sites = array_slice($sites, $start, $nb_aff);
 
-    if (!$this->getPreference('group_by_categorie'))
-      return $this->_renderSites($sites);
-
-    $categories = $this->_groupSitesByCategorie($sites);
-    $htmls = [];
-    foreach ($categories as $libelle_categorie => $sites)
-      $htmls[] = $this->_renderGroup($libelle_categorie, $sites);
-
-    return $this->view->tag('ul', implode('', $htmls),
-                            ['class' => 'sitotheque']);
+    return $this->_renderSites($sites);
   }
 
 
-  protected function _groupSitesByCategorie($sites) {
-    $categories = [];
-    foreach ($sites as $site) {
-      $categorie = $site->getCategorieLibelle();
-      if (!array_isset($categorie, $categories))
-        $categories[$categorie] = [];
-      $categories[$categorie][] = $site;
-    }
-
-    return $categories;
-  }
-
+  protected function _loadSites() {
+    if (static::ORDER_RECENT == $this->getPreference('display_order'))
+      return Class_Sitotheque::getLastSitos($this->getPreference('id_categorie'),
+                                            $this->getPreference('id_items'),
+                                            null);
 
-  protected function _renderGroup($label, $sites) {
-    return $this->view->tag('li',
-                            $this->view->tag('h2',
-                                             $this->view->tag('a', $label, ['href' => '#']))
-                            . $this->view->tag('ul',
-                                               $this->view->tag('li', $this->_renderSites($sites))));
+    return Class_Sitotheque::getSitesFromIdsAndCategories(explode('-',
+                                                                  $this->getPreference('id_items')),
+                                                          explode('-',
+                                                                  $this->getPreference('id_categorie')));
   }
 
 
-  public function getHeadScript() {
-    if ($this->getPreference('group_by_categorie'))
-      Class_ScriptLoader::getInstance()
-        ->addJQueryReady('$("#'.$this->accueil_sito->_getBoxId() .' ul.sitotheque>li>h2>a").click(
-                                   function(event){
-                                         event.preventDefault();
-                                         $(this).closest("li").find("ul").slideToggle();
-                                    });');
+  public function renderHeadScriptsOn($script_loader) {
   }
 }
 
@@ -251,18 +220,20 @@ class SitoDisplayStrategy {
 
 class SelectedStrategy extends SitoDisplayStrategy {
   public function getContent() {
-    $sites =
-      Class_Sitotheque::getSitesFromIdsAndCategories(explode('-',
-                                                             $this->getPreference('id_items')),
-                                                     explode('-',
-                                                             $this->getPreference('id_categorie')));
+    $nb_aff = $this->getPreference('nb_aff') ? $this->getPreference('nb_aff') : $this->_getDefaultNbAff();
+    $sites = $this->_loadSites();
 
     if (static::ORDER_RANDOM == $this->getPreference('display_order')) {
       shuffle($sites);
-      return $this->renderSitesSlice($sites, $this->getPreference('nb_aff'));
+      return $this->renderSitesSlice($sites, $nb_aff);
 
     }
-    return $this->renderSitesWithPagination($sites, $this->getPreference('nb_aff'));
+    return $this->renderSitesWithPagination($sites, $nb_aff);
+  }
+
+  protected function _getDefaultNbAff() {
+    $module = new Class_Systeme_ModulesAccueil_Sitotheque();
+    return $module->getDefaultValues()['nb_aff'];
   }
 
 
@@ -276,7 +247,7 @@ class SelectedStrategy extends SitoDisplayStrategy {
 
   protected function getPaginator($items, $items_by_page, $page = 1) {
     $paginator = (new Zend_Paginator(new Zend_Paginator_Adapter_Null(count($items))))
-      ->setItemCountPerPage($items_by_page)
+      ->setItemCountPerPage(max($items_by_page, 1))
       ->setCurrentPageNumber($page);
     return $this->view->paginationControl($paginator, null, null, ['url_link' => ['module' => 'opac',
                                                                                   'controller' => 'sito',
@@ -288,14 +259,55 @@ class SelectedStrategy extends SitoDisplayStrategy {
 
 
 
-class NewestStrategy extends SitoDisplayStrategy {
+class GroupedStrategy extends SitoDisplayStrategy {
   public function getContent() {
-    $sites = Class_Sitotheque::getLastSitos($this->getPreference('id_categorie'),
-                                            $this->getPreference('id_items'),
-                                            null);
+    $sites = $this->_loadSites();
 
     return $this->renderSitesSlice($sites, $this->getPreference('nb_aff'));
   }
+
+
+  protected function _renderSites($sites) {
+    $categories = $this->_groupSitesByCategorie($sites);
+    $htmls = [];
+    foreach ($categories as $libelle_categorie => $sites)
+      $htmls[] = $this->_renderGroup($libelle_categorie, $sites);
+
+    return $this->view->tag('ul', implode('', $htmls),
+                            ['class' => 'sitotheque']);
+  }
+
+
+  protected function _renderGroup($label, $sites) {
+    return $this->view->tag('li',
+                            $this->view->tag('h2',
+                                             $this->view->tag('a', $label, ['href' => '#']))
+                            . $this->view->tag('ul',
+                                               $this->view->tag('li', parent::_renderSites($sites))));
+  }
+
+
+  protected function _groupSitesByCategorie($sites) {
+    $categories = [];
+    foreach ($sites as $site) {
+      $categorie = $site->getCategorieLibelle();
+      if (!array_isset($categorie, $categories))
+        $categories[$categorie] = [];
+      $categories[$categorie][] = $site;
+    }
+
+    return $categories;
+  }
+
+
+  public function renderHeadScriptsOn($script_loader) {
+    $script_loader
+      ->addJQueryReady('$("#'.$this->accueil_sito->_getBoxId() .' ul.sitotheque>li>h2>a").click(
+                                   function(event){
+                                         event.preventDefault();
+                                         $(this).closest("li").find("ul").slideToggle();
+                                    });');
+  }
 }
 
 
@@ -304,9 +316,5 @@ class HierrachicalStrategy extends SitoDisplayStrategy {
   public function getContent() {
     return $this->view->sitoTree($this->getPreference('id_categorie'));
   }
-
-
-  public function getHeadScript() {
-  }
 }
 ?>
\ No newline at end of file
diff --git a/tests/application/modules/admin/controllers/AccueilControllerTest.php b/tests/application/modules/admin/controllers/AccueilControllerTest.php
index 930b8406527546378ca1eec8ced10e5cc83d095d..460e2576b9228ac9fec8aa44ee16a2b9381764fd 100644
--- a/tests/application/modules/admin/controllers/AccueilControllerTest.php
+++ b/tests/application/modules/admin/controllers/AccueilControllerTest.php
@@ -223,26 +223,12 @@ class AccueilControllerConfigSitothequePostTest extends Admin_AbstractController
   }
 
 
-  /** @test */
-  public function selectSelectedItemsWithGroupByCategorieShouldSaveIt() {
-    $this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
-                        ['type_aff' => 1,
-                         'nb_aff' => 3,
-                         'group_by_categorie' => 1,
-                         'id_categorie' => '12'
-                        ]);
-
-    $this->assertEquals('1', Class_Profil::find(1)->getModuleAccueilConfig(25,'SITO')['preferences']['group_by_categorie']);
-  }
-
-
   /** @test */
   public function selectHierachicalDisplayShouldSaveOnlyFirstCategory() {
     $this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
                         [
                          'type_aff' => 3,
                          'nb_aff' => 2,
-                         'group_by_categorie' => 1,
                          'id_categorie' => '12-17'
                         ]);
 
@@ -251,43 +237,12 @@ class AccueilControllerConfigSitothequePostTest extends Admin_AbstractController
   }
 
 
-  /** @test */
-  public function selectHierachicalDisplayShouldForceGroupByCategoryToFalse() {
-    $this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
-                        [
-                         'type_aff' => 3,
-                         'nb_aff' => 2,
-                         'group_by_categorie' => 1,
-                         'id_categorie' => '12-17'
-                        ]);
-
-
-    $this->assertEquals('0', Class_Profil::find(1)->getModuleAccueilConfig(25,'SITO')['preferences']['group_by_categorie']);
-  }
-
-
-  /** @test */
-  public function selectDisplayShouldNotForceGroupByCategoryToFalse() {
-    $this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
-                        [
-                         'type_aff' => 1,
-                         'nb_aff' => 2,
-                         'group_by_categorie' => true,
-                         'id_categorie' => '12-17'
-                        ]);
-
-
-    $this->assertEquals(true, Class_Profil::find(1)->getModuleAccueilConfig(25,'SITO')['preferences']['group_by_categorie']);
-  }
-
-
   /** @test */
   public function selectHierachicalDisplayWithEmptyCategoriesShouldSaveOnlyFirstCategory() {
     $this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
                         [
                          'type_aff' => 3,
                          'nb_aff' => 2,
-                         'group_by_categorie' => 0,
                          'id_categorie' => ''
                         ]);
 
@@ -324,12 +279,6 @@ class AccueilControllerConfigSitothequeDefaultsTest extends Admin_AbstractContro
   }
 
 
-  /** @test */
-  public function checkboxGroupByCategorieShouldNotBeChecked() {
-    $this->assertXPath('//input[@type="checkbox"][@name="group_by_categorie"][not(@checked)]');
-  }
-
-
   /** @test */
   public function inputHiddenIdItemsShouldContainsSelectedItems() {
     $this->assertXPath('//input[@type="hidden"][@name="id_items"][@value="12-13"]');
@@ -367,7 +316,6 @@ class AccueilControllerConfigSitothequeWithPreferencesTest extends Admin_Abstrac
                                    'division' => 1,
                                    'id_module' => 25,
                                    'preferences' => ['titre' => 'Ma Sito',
-                                                     'group_by_categorie' => 1,
                                                      'display_order' => 'Selection']]);
 
     $this->dispatch('/admin/accueil/sitotheque?config=accueil&type_module=SITO&id_module=25');
@@ -380,12 +328,6 @@ class AccueilControllerConfigSitothequeWithPreferencesTest extends Admin_Abstrac
   }
 
 
-  /** @test */
-  public function checkboxGroupByCategorieShouldNotBeChecked() {
-    $this->assertXPath('//input[@type="checkbox"][@name="group_by_categorie"][@checked="checked"]');
-  }
-
-
   /** @test */
   public function displayOrderSelectionShouldBeChecked() {
     $this->assertXPath('//input[@type="radio"][@name="display_order"][@checked="checked"][@value="Selection"]');
diff --git a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php
index 9c8eeb23a32fcd4b0ebbb258262c4ad88bbaf8f2..c984d831efc32891244d75f449f3d550c6a39c9e 100644
--- a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php
+++ b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php
@@ -891,8 +891,7 @@ abstract class ProfilOptionsControllerProfilJeunesseWithPagesJeuxMusiqueTestCase
 
                                        '10' => ['division' => '2',
                                                 'type_module' => 'SITO',
-                                                'preferences' => ['id_categorie' => '2',
-                                                                  'group_by_categorie' => true]],
+                                                'preferences' => ['id_categorie' => '2']],
 
                                        '12' => ['division' => '2',
                                                 'type_module' => 'KIOSQUE',
@@ -1309,8 +1308,8 @@ class ProfilOptionsControllerPagesJeuxWithSitothequeTest extends ProfilOptionsCo
                                                    '10' => ['division' => '2',
                                                             'type_module' => 'SITO',
                                                             'preferences' => ['rss' => 1,
-                                                                              'id_categorie' => '2',
-                                                                              'group_by_categorie' => true]]],
+                                                                              'type_aff' => 2,
+                                                                              'id_categorie' => '2']]],
                                      'options' =>   []]);
 
     $this->fixture('Class_SitothequeCategorie',
@@ -1381,8 +1380,7 @@ class ProfilOptionsControllerPagesJeuxWithSitothequeAndPaginationTest extends Pr
                                                                               'id_categorie' => '2',
                                                                               'nb_aff' => 1,
                                                                               'type_aff' => 1,
-                                                                              'display_order' => 'Selection',
-                                                                              'group_by_categorie' => 0]]],
+                                                                              'display_order' => 'Selection']]],
                                      'options' =>   []]);
 
     $this->fixture('Class_SitothequeCategorie',
@@ -2631,7 +2629,8 @@ class ProfilOptionsControllerRecentSitoTest extends ProfilOptionsControllerProfi
                                                    '10' => ['division' => '2',
                                                             'type_module' => 'SITO',
                                                             'preferences' => ['id_categorie' => '',
-                                                                              'type_aff' => '2']]],
+                                                                              'type_aff' => '1',
+                                                                              'display_order' => 'Recent']]],
                                      'options' =>   []]);
 
     $this->dispatch('/opac/index/index/clef/zork?id_profil=12', true);
@@ -2646,7 +2645,8 @@ class ProfilOptionsControllerRecentSitoTest extends ProfilOptionsControllerProfi
                                                             'type_module' => 'SITO',
                                                             'preferences' => ['id_categorie' => '2',
                                                                               'id_items' => '35',
-                                                                              'type_aff' => '2']]],
+                                                                              'type_aff' => '1',
+                                                                              'display_order' => 'Recent']]],
                                      'options' =>   []]);
 
     $this->dispatch('/opac/index/index/clef/zork?id_profil=12', true);
diff --git a/tests/fixtures/SitoPreferencesSerialize.txt b/tests/fixtures/SitoPreferencesSerialize.txt
deleted file mode 100644
index 7e409adb89f9866a663ce346ffb060bba88a0b97..0000000000000000000000000000000000000000
--- a/tests/fixtures/SitoPreferencesSerialize.txt
+++ /dev/null
@@ -1 +0,0 @@
-a:4:{s:7:"modules";a:3:{i:3;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:14:"GROUPED recent";s:8:"type_aff";s:1:"2";s:12:"id_categorie";s:3:"2-3";s:8:"id_items";s:0:"";s:6:"nb_aff";s:2:"10";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"1";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"3";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}i:1;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:12:"PAGED recent";s:8:"type_aff";s:1:"2";s:12:"id_categorie";s:0:"";s:8:"id_items";s:0:"";s:6:"nb_aff";s:1:"5";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"0";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"1";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}i:2;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:14:"GROUPED random";s:8:"type_aff";s:1:"1";s:12:"id_categorie";s:3:"3-2";s:8:"id_items";s:0:"";s:6:"nb_aff";s:1:"2";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"1";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"2";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}}s:14:"use_parent_css";s:1:"1";s:7:"sitemap";s:1:"1";s:8:"page_css";s:0:"";}
diff --git a/tests/library/ZendAfi/View/Helper/Accueil/SitoTest.php b/tests/library/ZendAfi/View/Helper/Accueil/SitoTest.php
index 93e9fac65b39b77b61f45d2852487c699f59e3b0..2bde339cd9fa17072d07552f2f4d905ea373d7e6 100644
--- a/tests/library/ZendAfi/View/Helper/Accueil/SitoTest.php
+++ b/tests/library/ZendAfi/View/Helper/Accueil/SitoTest.php
@@ -90,8 +90,10 @@ abstract class SitoViewHelperTestCase extends ViewHelperTestCase {
     $this->_helper = new ZendAfi_View_Helper_Accueil_Sito(2, ['division' => '1',
                                                               'type_module' => 'SITO',
                                                               'preferences' => $this->_preferences]);
+    $view = new ZendAfi_Controller_Action_Helper_View();
+    $view->setScriptPath('application/modules/opac/views/scripts');
 
-    $this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
+    $this->_helper->setView($view);
     $this->html = $this->_helper->getBoite();
   }
 }
@@ -183,9 +185,9 @@ class SitoViewHelperSelectItemsAndCatsTest extends SitoViewHelperTestCase {
 
 class SitoViewHelperLastTest extends SitoViewHelperTestCase {
   protected $_preferences = ['titre' => 'Derniers sites',
-                             'type_aff' => 2,
+                             'type_aff' => 1,
                              'nb_aff' => 100,
-                             'display_order' => 'Random'];
+                             'display_order' => 'Recent'];
 
   /** @test */
   public function titleShouldBeDerniersSites() {
@@ -220,8 +222,8 @@ class SitoViewHelperLastTest extends SitoViewHelperTestCase {
 class SitoViewHelperGroupByCategorieTest extends SitoViewHelperTestCase {
   protected $_preferences = ['titre' => 'Ma sito',
                              'type_aff' => 2,
-                             'nb_aff' => 100,
-                             'group_by_categorie' => 1];
+                             'display_order' => 'Recent',
+                             'nb_aff' => 100];
 
 
   /** @test */
@@ -255,12 +257,11 @@ class SitoViewHelperGroupByCategorieTest extends SitoViewHelperTestCase {
 }
 
 
-class SitoViewHelperNewestSitoGroupByCategorieOrderBySelectionTest extends SitoViewHelperTestCase {
+class SitoViewHelperGroupByCategorieOrderByNewestSitoTest extends SitoViewHelperTestCase {
   protected $_preferences = ['titre' => 'Ma sito',
                              'type_aff' => 2,
                              'nb_aff' => 2,
-                             'display_order' => 'Selection',
-                             'group_by_categorie' => 1];
+                             'display_order' => 'Recent'];
 
 
   /** @test */