diff --git a/VERSIONS_STABLE/hotline_#20093_save_2Cols_widget_delete_insite_widget_settings b/VERSIONS_STABLE/hotline_#20093_save_2Cols_widget_delete_insite_widget_settings
new file mode 100644
index 0000000000000000000000000000000000000000..b8b042c2306ac0631a429177565a04f3d271e246
--- /dev/null
+++ b/VERSIONS_STABLE/hotline_#20093_save_2Cols_widget_delete_insite_widget_settings
@@ -0,0 +1 @@
+ - ticket: #20093: la sauvegarde de la configuration d'une boîte deux colonnes ne réinitialise plus les paramètres des boîtes déjà sélectionnées.
\ No newline at end of file
diff --git a/application/modules/admin/controllers/AccueilController.php b/application/modules/admin/controllers/AccueilController.php
index 4d4435354e6c95d6cf26dcf76cf479f39d636d67..de17d8ce4886e1f5502d4d8a8c9327ade917176c 100644
--- a/application/modules/admin/controllers/AccueilController.php
+++ b/application/modules/admin/controllers/AccueilController.php
@@ -360,7 +360,7 @@ class Admin_AccueilController extends Zend_Controller_Action {
 		}
 
 		$modules_accueil = Class_Systeme_ModulesAccueil::getModules();
-		$modules = array();
+		$modules = [];
 		foreach ($modules_accueil as $key => $module)
 			$modules[$key] = $module->getLibelle();
 
diff --git a/library/Class/Profil.php b/library/Class/Profil.php
index 54189d465716c1e3048293dc259f66db7f85fce6..55bd1bc50c31c8a135517dc6d1bc73fdcbfb7b1e 100644
--- a/library/Class/Profil.php
+++ b/library/Class/Profil.php
@@ -564,7 +564,6 @@ class Class_Profil extends Storm_Model_Abstract {
 			:	['type_module' => $type_module,
 				 'preferences' => Class_Systeme_ModulesAccueil::getInstance()->getValeursParDefaut($type_module)];
 
-
 		if ($this->isModulePreferencesSharedBetweenProfils($module, $type_module))
 			return $this->getModuleAccueilConfigByType($type_module, self::DIV_BANNIERE);
 
@@ -594,7 +593,7 @@ class Class_Profil extends Storm_Model_Abstract {
 		$default_prefs = array_merge($default_prefs, ['id_module' => $id_module]);
 
 		$module['preferences'] = (!array_isset('preferences', $module)) ?
-			$default_prefs : array_merge($default_prefs, $module['preferences']);
+			$default_prefs : array_merge($default_prefs, array_filter($module['preferences']));
 
 		return $module;
 	}
@@ -1933,23 +1932,47 @@ class Class_Profil extends Storm_Model_Abstract {
 
 
 	public function getModuleTitle($id_module) {
-		if(! $cfg_accueil = $this->getCfgAccueilAsArray())
+		if(!array_key_exists('titre', ($pref_module = $this->getModulePref($id_module))))
 			return '';
 
-		if(! array_key_exists($id_module, $cfg_accueil['modules']))
-			 return '';
+		return $pref_module['titre'];
+	}
 
-		$module = $cfg_accueil['modules'][$id_module];
 
-		if(! array_key_exists('preferences', $module))
-			return '';
+	public function getModulePref($id_module) {
+		if(! array_key_exists('preferences', ($module = $this->getLocalModuleAccueilConfig($id_module))))
+			return [];
 
-		$pref_module =  $module['preferences'];
+		return $module['preferences'];
 
-		if(!array_key_exists('titre', $pref_module))
-			 return '';
+	}
 
-		return $pref_module['titre'];
+
+	public function getModules() {
+		if(!$cfg_accueil = $this->getCfgAccueilAsArray())
+			return [];
+
+		if(! array_key_exists('modules', $cfg_accueil))
+			return [];
+
+		return $cfg_accueil['modules'];
+	}
+
+
+	public function getModuleIdFromCol($id, $type_module, $colonne) {
+		$modules = $this->getModules();
+		if(!$two_cols_pref = $this->getModulePref($id))
+			return '';
+
+		$keys = [];
+		foreach($modules as $key => $module) {
+			if(		$module['type_module'] == $type_module
+				 && $module['parent_id'] == $id
+				 && $key >= 1000
+				 && $key == $two_cols_pref['col_' . $colonne . '_module_id'])
+				return $key;
+		}
+		return '';
 	}
 }
 ?>
diff --git a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
index 62faf5a2d0eab508df3af66b34817882e6e24774..107cb95a03745ced359177afe5ae38494eec2792 100644
--- a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
+++ b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
@@ -51,12 +51,9 @@ class Class_Systeme_ModulesAccueil_ConteneurDeuxColonnes extends Class_Systeme_M
 		$type_module = $preferences[$type_key];
 		$profil = Class_Profil::getCurrentProfil();
 
-		$id_module = $profil->createNewModuleAccueilId(1000);
+		$id_module = self::getOrCreateModuleForCol($profil, $parent_id, $type_module, $colonne);
 
-		$modules_accueil = new Class_Systeme_ModulesAccueil();
-		$preferences = $modules_accueil->getValeursParDefaut($type_module);
-
-		$config = ['preferences' => $preferences,
+		$config = ['preferences' => self::getOrCreateModulePref($profil, $id_module, $type_module),
 							 'type_module' => $type_module,
 							 'parent_id' => $parent_id];
 
@@ -72,5 +69,19 @@ class Class_Systeme_ModulesAccueil_ConteneurDeuxColonnes extends Class_Systeme_M
 
 		return $id_module;
 	}
+
+
+	public static function getOrCreateModuleForCol($profil, $id, $type_module, $colonne) {
+		if(!$id = $profil->getModuleIdFromCol($id, $type_module, $colonne))
+			return $profil->createNewModuleAccueilId(1000);
+		return $id;
+	}
+
+
+	public static function getOrCreateModulePref($profil, $id_module, $type_module) {
+		if(!$pref = $profil->getModulePref($id_module))
+			return (new Class_Systeme_ModulesAccueil())->getValeursParDefaut($type_module);
+		return $pref;
+	}
 }
 ?>
\ No newline at end of file
diff --git a/library/Class/Systeme/ModulesAccueil/DomainBrowser.php b/library/Class/Systeme/ModulesAccueil/DomainBrowser.php
index d5048065b2f3c93429dc3a9c97de710e5fdbb1d4..c1d4e173d8a88d785b4ab9eaf25272bda697784e 100644
--- a/library/Class/Systeme/ModulesAccueil/DomainBrowser.php
+++ b/library/Class/Systeme/ModulesAccueil/DomainBrowser.php
@@ -16,12 +16,12 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
 
 class Class_Systeme_ModulesAccueil_DomainBrowser extends Class_Systeme_ModulesAccueil_Null{
-	
+
 	protected $_group = Class_Systeme_ModulesAccueil::GROUP_RECH;
 
 	protected $_libelle = 'Domaines';
@@ -34,6 +34,7 @@ class Class_Systeme_ModulesAccueil_DomainBrowser extends Class_Systeme_ModulesAc
 	protected $_popupHeight = 700;
 
 	protected $_defaultValues = ['titre' => 'Domaines',
+															 'allow_breadcrumb' => 0,
 															 'root_domain_id' => 0,
 															 'display_mode' => Class_Systeme_ModulesAppli::LISTE_FORMAT_ACCORDEON];
 
diff --git a/library/ZendAfi/Form/Configuration/FormationsWidget.php b/library/ZendAfi/Form/Configuration/FormationsWidget.php
index cf5950347b4f51719a36c7bbd261dccfa9cef7d5..d28c0d01e513534195a377f2eb718a577c164654 100644
--- a/library/ZendAfi/Form/Configuration/FormationsWidget.php
+++ b/library/ZendAfi/Form/Configuration/FormationsWidget.php
@@ -23,9 +23,12 @@
 class ZendAfi_Form_Configuration_FormationsWidget extends ZendAfi_Form {
 	public static function newWith($module_settings = [], $custom_form = null) {
 		$form = new self();
+
+		$selected_formations = array_key_exists('selected_formations', $module_settings) ? $module_settings['selected_formations'] : '';
+
 		$form
 			->populate($module_settings)
-			->addToWith('formations_selector', $module_settings['selected_formations'])
+			->addToWith('formations_selector', $selected_formations)
 			->addDisplayGroup(['titre',
 												 'boite'],
 												'Base',
diff --git a/tests/application/modules/admin/controllers/AccueilControllerConteneurDeuxColonnesTest.php b/tests/application/modules/admin/controllers/AccueilControllerConteneurDeuxColonnesTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..16cdc53ae4819a89aaefcce0149ebd9775bc2729
--- /dev/null
+++ b/tests/application/modules/admin/controllers/AccueilControllerConteneurDeuxColonnesTest.php
@@ -0,0 +1,316 @@
+<?php
+/**
+ * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
+ * the Free Software Foundation.
+ *
+ * There are special exceptions to the terms and conditions of the AGPL as it
+ * is applied to this software (see README file).
+ *
+ * BOKEH is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * along with BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+abstract class AccueilControllerConteneurDeuxColonnesTestCase
+	extends Admin_AbstractControllerTestCase {
+	protected $_request_url = '/admin/accueil/conteneur2colonnes?id_profil=34&id_module=3&type_module=CONTENEUR_DEUX_COLONNES&config=accueil';
+
+	public function setUp() {
+		parent::setUp();
+
+		Class_AdminVar::newInstanceWithId('MENU_BOITE', ['valeur' => 1]);
+
+		$this
+			->fixture('Class_Profil', ['id' => 1,
+																 'libelle' => 'Main'])
+			->addBoiteOfTypeInBanniere('NEWS')
+			->save();
+
+		$this->profil_biologie = $this
+			->fixture('Class_Profil',
+								['id' => 34,
+								 'parent_id' => 1,
+								 'libelle' => 'Biologie'])
+			->updateModuleConfigAccueil(3,
+																	['type_module' => 'CONTENEUR_DEUX_COLONNES',
+																	 'division' => 2,
+																	 'id_module' => 3,
+																	 'preferences' => ['col_gauche_type' => 'NEWS',
+																										 'col_droite_type' => 'CRITIQUES',
+																										 'boite' => 'boite_de_la_division_du_milieu',
+																										 'titre' => 'A la Une']]);
+		$this->profil_biologie->save();
+		$this->profil_biologie->beCurrentProfil();
+	}
+}
+
+
+
+class AccueilControllerConteneurDeuxColonnesEmptyRenderTest extends AccueilControllerConteneurDeuxColonnesTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->dispatch('/index/index/id_profil/34', true);
+	}
+
+		/** @test */
+	public function firsModuleShouldHaveId1000() {
+		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@id="boite_1000"]');
+	}
+
+
+	/** @test */
+	public function secondModuleShouldHaveId1001() {
+		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@id="boite_1001"]');
+	}
+
+	/** @test */
+	public function secondModuleShouldBeCritics() {
+		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@class="boite critiques"]');
+	}
+
+
+	/** @test */
+	public function moduleNewsShouldHaveParentid3() {
+		$config = $this->profil_biologie->getModuleAccueilConfig(1000, 'NEWS');
+		$this->assertEquals(3, $config['parent_id']);
+	}
+}
+
+
+
+
+class AccueilControllerConteneurDeuxColonnesUpdateNewsTest extends AccueilControllerConteneurDeuxColonnesTestCase {
+	public function setUp() {
+		parent::setUp();
+
+		$this
+			->profil_biologie
+			->updateModuleConfigAccueil(3,
+																	['type_module' => 'CONTENEUR_DEUX_COLONNES',
+																	 'division' => 2,
+																	 'id_module' => 3,
+																	 'preferences' => ['col_gauche_type' => 'NEWS',
+																										 'col_gauche_module_id' => 1000,
+																										 'col_droite_type' => 'CRITIQUES',
+																										 'boite' => 'boite_de_la_division_du_milieu',
+																										 'titre' => 'A la Une']])
+			->updateModuleConfigAccueil(1000,
+																	['type_module' => 'NEWS',
+																	 'id_module' => 1000,
+																	 'parent_id' => 3,
+																	 'preferences' => ['titre' => 'Les infos']])
+			->save();
+	}
+
+
+	/** @test */
+	public function renderedModuleNewsTitleShouldBeLesInfos() {
+		$this->dispatch('/index/index/id_profil/34', true);
+		$this->assertXPathContentContains('//div[@class="boite news"]//div', 'Les infos',
+																			$this->_response->getBody());
+	}
+
+	/** @test */
+	public function updatedModuleNewsTitleShouldBeDesNews() {
+		$this->postDispatch('/admin/accueil/news/config/accueil/id_profil/34/id_module/1000/type_module/NEWS',
+												['id_items' => '34-12',
+												 'titre' => 'des news']);
+		$config = $this->profil_biologie->getModuleAccueilConfig(1000, 'NEWS');
+		$this->assertEquals('des news', $config['preferences']['titre']);
+	}
+}
+
+
+
+
+class AccueilControllerConteneurDeuxColonnesDefaultTest extends AccueilControllerConteneurDeuxColonnesTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->dispatch($this->_request_url, true);
+	}
+
+
+	/** @test */
+	public function profilShouldBeValid() {
+		$this->assertTrue($this->profil_biologie->isValid());
+	}
+
+
+	/** @test */
+	public function shouldRenderConteneur2ColonnesView() {
+		$this->assertController('accueil');
+		$this->assertAction('conteneur2colonnes');
+	}
+
+
+	/** @test */
+	public function inputTitleShouldDisplayALaUne() {
+		$this->assertXPath("//input[@name='titre'][@value='A la Une']");
+	}
+
+
+	/** @test */
+	public function selectColGaucheTypeShouldHaveNEWSSelected() {
+		$this->assertXPath("//select[@name='col_gauche_type']/option[@value='NEWS'][@selected='selected']");
+	}
+
+
+	/** @test */
+	public function selectColDroiteTypeShouldHaveCRITIQUESSelected() {
+		$this->assertXPath("//select[@name='col_droite_type']/option[@value='CRITIQUES'][@selected='selected']");
+	}
+}
+
+
+
+class AccueilControllerConteneurDeuxColonnesPostTest extends AccueilControllerConteneurDeuxColonnesTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->postDispatch($this->_request_url, ['col_gauche_type' => 'KIOSQUE',
+																							'col_droite_type' => 'TAGS',
+																							'titre' => 'Ce mois ci']);
+	}
+
+
+	/** @test */
+	public function moduleKiosqueShouldHaveBeenCreated() {
+		$this->assertEquals('KIOSQUE', $this->_getModuleTypeOf(1000, 'KIOSQUE'));
+	}
+
+
+	/** @test */
+	public function moduleKiosqueParentIdShouldBe() {
+		$this->assertEquals(3,
+												$this->profil_biologie->getModuleAccueilConfig(1000, 'KIOSQUE')['parent_id']);
+	}
+
+
+	/** @test */
+	public function moduleKiosqueShouldHaveBeenAddedToBox() {
+		$this->assertEquals(1000,
+												$this->_getModulePrefOf(3, 'col_gauche_module_id', 'CONTENEUR_DEUX_COLONNES'));
+	}
+
+
+	/** @test */
+	public function moduleTagsShouldHaveBeenCreated() {
+		$this->assertEquals('TAGS', $this->_getModuleTypeOf(1001, 'TAGS'));
+	}
+
+
+	/** @test */
+	public function moduleTagsShouldHaveBeenAddedToBox() {
+		$this->assertEquals(1001,
+												$this->_getModulePrefOf(3, 'col_droite_module_id', 'CONTENEUR_DEUX_COLONNES'));
+	}
+
+
+	/** @test */
+	public function moduleTagShouldHaveParentId3() {
+		$config = $this->profil_biologie->getModuleAccueilConfig(1001, 'TAG');
+		$this->assertEquals(3, $config['parent_id']);
+	}
+
+
+	protected function _getModuleTypeOf($id_module, $type) {
+		return $this->profil_biologie
+			->getModuleAccueilConfig($id_module, $type)['type_module'];
+	}
+
+
+	protected function _getModulePrefOf($id_module, $pref, $type) {
+		return $this->profil_biologie
+			->getModuleAccueilConfig($id_module, $type)['preferences'][$pref];
+	}
+}
+
+
+
+class AccueilControllerConteneurDeuxColonnesNewTest extends Admin_AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
+
+		$this->boite2cols = array('type_module' => 'CONTENEUR_DEUX_COLONNES',
+															'division' => 2,
+															'id_module' => 3);
+
+		$this->profil_biologie = Class_Profil::getLoader()
+			->newInstanceWithId(34)
+			->setMenuHautOn(false)
+			->setLibelle('Biologie')
+			->updateModuleConfigAccueil(3, $this->boite2cols);
+
+		Class_Profil::setCurrentProfil($this->profil_biologie);
+		$this->assertTrue($this->profil_biologie->isValid());
+	}
+
+
+	/** @test */
+	public function shouldRenderConteneur2ColonnesView() {
+		$this->request_url = '/admin/accueil/conteneur2colonnes?id_profil=34&id_module=3&type_module=CONTENEUR_DEUX_COLONNES&config=accueil';
+		$this->dispatch($this->request_url);
+
+		$this->assertController('accueil');
+		$this->assertAction('conteneur2colonnes');
+	}
+
+
+	/** @test */
+	public function fonctionAdminOnClickShouldHaveActionConteneur2Colonnes() {
+		$this->dispatch('/opac?id_profil=34');
+		$this->assertXPath("//img[contains(@onclick, 'conteneur2colonnes')]", $this->_response->getBody());
+	}
+
+
+	/** @test */
+	public function withModuleIdModulesShouldBeCreated() {
+		$this->boite2cols['preferences'] = ['col_gauche_module_id' => 234,
+																				'col_gauche_type' => 'COMPTEURS',
+																				'col_droite_module_id' => 235,
+																				'col_droite_type' => 'RECH_GUIDEE'];
+
+		$this->profil_biologie->updateModuleConfigAccueil(3, $this->boite2cols);
+		$this->dispatch('/opac?id_profil=34');
+
+		$this->assertXPathContentContains('//div', 'Le catalogue contient');
+		$this->assertXPathContentContains('//div', 'Recherche guidée', $this->_response->getBody());
+	}
+}
+
+
+
+
+class AccueilControllerConteneurDeuxColonnesEditPostTest extends AccueilControllerConteneurDeuxColonnesTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->postDispatch($this->_request_url, ['col_gauche_type' => 'NEWS',
+																							'col_droite_type' => 'CRITIQUES',
+																							'titre' => 'Ce mois ci']);
+
+		$this->postDispatch($this->_request_url, ['col_gauche_type' => 'NEWS',
+																							'col_droite_type' => 'NEWS',
+																							'titre' => 'Ce mois ci']);
+
+	}
+
+
+	/** @test */
+	public function newsWidgetInLeftColShouldRemainTheSame() {
+		$this->assertEquals(1000, $this->profil_biologie->getCfgAccueilAsArray()['modules'][3]['preferences']['col_gauche_module_id']);
+	}
+
+
+	/** @test */
+	public function newsWidgetInRightColShouldBeNew() {
+		$this->assertEquals(1002, $this->profil_biologie->getCfgAccueilAsArray()['modules'][3]['preferences']['col_droite_module_id']);
+	}
+
+}
\ No newline at end of file
diff --git a/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php b/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php
index 5352c37be5542036ed1cf1503862ffb3c3ba3dd5..e95931f167eeafea35e53dca4f76117293eeb1ad 100644
--- a/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php
+++ b/tests/application/modules/admin/controllers/AccueilControllerFormationsTest.php
@@ -16,23 +16,18 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
 
-class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_AbstractControllerTestCase {		
+class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_AbstractControllerTestCase {
 
 	public function setUp() {
 		parent::setUp();
-		
-		$this->fixture('Class_Profil', 
+
+		$this->fixture('Class_Profil',
 									 ['id' => 1,
-										'libelle' => 'Afibre'])
-			->updateModuleConfigAccueil(1, ['type_module' => 'FORMATIONS_WIDGET',
-																			'division' => 1,
-																			'id_module' => 1,
-																			'preferences' => ['selected_formations' => '']])
-			->beCurrentProfil();
+										'libelle' => 'Afibre'])->beCurrentProfil();
 
 		$this->dispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET', true);
 	}
@@ -43,10 +38,10 @@ class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_Abs
 		$this->assertXPathContentContains('//select/option', 'Boite par défaut de la division');
 	}
 
-	
+
 	/** @test */
 	public function treeselectFormationsBeDisplay() {
-		$this->assertXPath('//div[@class="treeselect"]', $this->_response->getBody());
+		$this->assertXPath('//div[@class="treeselect"]');
 	}
 
   /** @test **/
@@ -58,12 +53,12 @@ class Admin_AccueilControllerFormationsTestWithDefaultSettings extends Admin_Abs
 
 
 
-class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractControllerTestCase {		
+class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractControllerTestCase {
 
 	public function setUp() {
 		parent::setUp();
-		
-		$this->fixture('Class_Profil', 
+
+		$this->fixture('Class_Profil',
 									 ['id' => 1,
 										'libelle' => 'Afibre'])
 			->updateModuleConfigAccueil(1, ['type_module' => 'FORMATIONS_WIDGET',
@@ -71,15 +66,15 @@ class Admin_AccueilControllerFormationsPostTest extends Admin_AbstractController
 																			'id_module' => 1])
 			->beCurrentProfil();
 
-		$this->postDispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET', 
+		$this->postDispatch('admin/accueil/formations-widget?config=accueil&id_profil=1&id_module=1&type_module=FORMATIONS_WIDGET',
 												['selected_formations' => '1;2']);
 	}
 
-			
+
 	/** @test */
 	public function formations1And2ShouldHaveBeenSaved() {
 		$this->assertEquals(
-			'1;2', 
+			'1;2',
 			Class_Profil::getCurrentProfil()
 			->getModuleAccueilConfig(1, 'FORMATIONS_WIDGET')['preferences']['selected_formations']);
 	}
diff --git a/tests/application/modules/admin/controllers/AccueilControllerTest.php b/tests/application/modules/admin/controllers/AccueilControllerTest.php
index 8e29a946fdc62f129eb9482809f05c9cdc3a1541..9619879583b39cc35acb62c15d4545f0569596b9 100644
--- a/tests/application/modules/admin/controllers/AccueilControllerTest.php
+++ b/tests/application/modules/admin/controllers/AccueilControllerTest.php
@@ -21,276 +21,6 @@
 require_once 'AdminAbstractControllerTestCase.php';
 
 
-abstract class AccueilControllerBoite2ColTestCase
-	extends Admin_AbstractControllerTestCase {
-	protected $_request_url = '/admin/accueil/conteneur2colonnes?id_profil=34&id_module=3&type_module=CONTENEUR_DEUX_COLONNES&config=accueil';
-
-	public function setUp() {
-		parent::setUp();
-
-		Class_AdminVar::newInstanceWithId('MENU_BOITE', ['valeur' => 1]);
-
-		$this
-			->fixture('Class_Profil', ['id' => 1,
-																 'libelle' => 'Main'])
-			->addBoiteOfTypeInBanniere('NEWS')
-			->save();
-
-		$this->profil_biologie = $this
-			->fixture('Class_Profil',
-								['id' => 34,
-								 'parent_id' => 1,
-								 'libelle' => 'Biologie'])
-			->updateModuleConfigAccueil(3,
-																	['type_module' => 'CONTENEUR_DEUX_COLONNES',
-																	 'division' => 2,
-																	 'id_module' => 3,
-																	 'preferences' => ['col_gauche_type' => 'NEWS',
-																										 'col_droite_type' => 'CRITIQUES',
-																										 'boite' => 'boite_de_la_division_du_milieu',
-																										 'titre' => 'A la Une']]);
-		$this->profil_biologie->save();
-		$this->profil_biologie->beCurrentProfil();
-	}
-}
-
-
-
-class AccueilControllerEmptyBoite2ColRenderTest extends AccueilControllerBoite2ColTestCase {
-	public function setUp() {
-		parent::setUp();
-		$this->dispatch('/index/index/id_profil/34', true);
-	}
-
-		/** @test */
-	public function firsModuleShouldHaveId1000() {
-		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@id="boite_1000"]');
-	}
-
-
-	/** @test */
-	public function secondModuleShouldHaveId1001() {
-		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@id="boite_1001"]');
-	}
-
-	/** @test */
-	public function secondModuleShouldBeCritics() {
-		$this->assertXPath('//div[@class="conteneur2colonnes"]//div[@class="boite critiques"]');
-	}
-
-
-	/** @test */
-	public function moduleNewsShouldHaveParentid3() {
-		$config = $this->profil_biologie->getModuleAccueilConfig(1000, 'NEWS');
-		$this->assertEquals(3, $config['parent_id']);
-	}
-}
-
-
-
-
-class AccueilControllerBoite2ColUpdateNewsTest extends AccueilControllerBoite2ColTestCase {
-	public function setUp() {
-		parent::setUp();
-
-		$this
-			->profil_biologie
-			->updateModuleConfigAccueil(3,
-																	['type_module' => 'CONTENEUR_DEUX_COLONNES',
-																	 'division' => 2,
-																	 'id_module' => 3,
-																	 'preferences' => ['col_gauche_type' => 'NEWS',
-																										 'col_gauche_module_id' => 1000,
-																										 'col_droite_type' => 'CRITIQUES',
-																										 'boite' => 'boite_de_la_division_du_milieu',
-																										 'titre' => 'A la Une']])
-			->updateModuleConfigAccueil(1000,
-																	['type_module' => 'NEWS',
-																	 'id_module' => 1000,
-																	 'parent_id' => 3,
-																	 'preferences' => ['titre' => 'Les infos']])
-			->save();
-	}
-
-
-	/** @test */
-	public function renderedModuleNewsTitleShouldBeLesInfos() {
-		$this->dispatch('/index/index/id_profil/34', true);
-		$this->assertXPathContentContains('//div[@class="boite news"]//div', 'Les infos',
-																			$this->_response->getBody());
-	}
-
-	/** @test */
-	public function updatedModuleNewsTitleShouldBeDesNews() {
-		$this->postDispatch('/admin/accueil/news/config/accueil/id_profil/34/id_module/1000/type_module/NEWS',
-												['id_items' => '34-12',
-												 'titre' => 'des news']);
-		$config = $this->profil_biologie->getModuleAccueilConfig(1000, 'NEWS');
-		$this->assertEquals('des news', $config['preferences']['titre']);
-	}
-}
-
-
-
-
-class AccueilControllerBoite2ColTest extends AccueilControllerBoite2ColTestCase {
-	public function setUp() {
-		parent::setUp();
-		$this->dispatch($this->_request_url, true);
-	}
-
-
-	/** @test */
-	public function profilShouldBeValid() {
-		$this->assertTrue($this->profil_biologie->isValid());
-	}
-
-
-	/** @test */
-	public function shouldRenderConteneur2ColonnesView() {
-		$this->assertController('accueil');
-		$this->assertAction('conteneur2colonnes');
-	}
-
-
-	/** @test */
-	public function inputTitleShouldDisplayALaUne() {
-		$this->assertXPath("//input[@name='titre'][@value='A la Une']");
-	}
-
-
-	/** @test */
-	public function selectColGaucheTypeShouldHaveNEWSSelected() {
-		$this->assertXPath("//select[@name='col_gauche_type']/option[@value='NEWS'][@selected='selected']");
-	}
-
-
-	/** @test */
-	public function selectColDroiteTypeShouldHaveCRITIQUESSelected() {
-		$this->assertXPath("//select[@name='col_droite_type']/option[@value='CRITIQUES'][@selected='selected']");
-	}
-}
-
-
-
-
-class AccueilControllerBoite2ColPostTest extends AccueilControllerBoite2ColTestCase {
-	public function setUp() {
-		parent::setUp();
-		$this->postDispatch($this->_request_url, ['col_gauche_type' => 'KIOSQUE',
-																							'col_droite_type' => 'TAGS',
-																							'titre' => 'Ce mois ci']);
-	}
-
-
-	/** @test */
-	public function moduleKiosqueShouldHaveBeenCreated() {
-		$this->assertEquals('KIOSQUE', $this->_getModuleTypeOf(1000, 'KIOSQUE'));
-	}
-
-
-	/** @test */
-	public function moduleKiosqueParentIdShouldBe() {
-		$this->assertEquals(3,
-												$this->profil_biologie->getModuleAccueilConfig(1000, 'KIOSQUE')['parent_id']);
-	}
-
-
-	/** @test */
-	public function moduleKiosqueShouldHaveBeenAddedToBox() {
-		$this->assertEquals(1000,
-												$this->_getModulePrefOf(3, 'col_gauche_module_id', 'CONTENEUR_DEUX_COLONNES'));
-	}
-
-
-	/** @test */
-	public function moduleTagsShouldHaveBeenCreated() {
-		$this->assertEquals('TAGS', $this->_getModuleTypeOf(1001, 'TAGS'));
-	}
-
-
-	/** @test */
-	public function moduleTagsShouldHaveBeenAddedToBox() {
-		$this->assertEquals(1001,
-												$this->_getModulePrefOf(3, 'col_droite_module_id', 'CONTENEUR_DEUX_COLONNES'));
-	}
-
-
-	/** @test */
-	public function moduleTagShouldHaveParentId3() {
-		$config = $this->profil_biologie->getModuleAccueilConfig(1001, 'TAG');
-		$this->assertEquals(3, $config['parent_id']);
-	}
-
-
-	protected function _getModuleTypeOf($id_module, $type) {
-		return $this->profil_biologie
-			->getModuleAccueilConfig($id_module, $type)['type_module'];
-	}
-
-
-	protected function _getModulePrefOf($id_module, $pref, $type) {
-		return $this->profil_biologie
-			->getModuleAccueilConfig($id_module, $type)['preferences'][$pref];
-	}
-}
-
-
-
-class AccueilControllerNewBoite2ColTest extends Admin_AbstractControllerTestCase {
-	public function setUp() {
-		parent::setUp();
-
-		$this->boite2cols = array('type_module' => 'CONTENEUR_DEUX_COLONNES',
-															'division' => 2,
-															'id_module' => 3);
-
-		$this->profil_biologie = Class_Profil::getLoader()
-			->newInstanceWithId(34)
-			->setMenuHautOn(false)
-			->setLibelle('Biologie')
-			->updateModuleConfigAccueil(3, $this->boite2cols);
-
-		Class_Profil::setCurrentProfil($this->profil_biologie);
-		$this->assertTrue($this->profil_biologie->isValid());
-	}
-
-
-	/** @test */
-	public function shouldRenderConteneur2ColonnesView() {
-		$this->request_url = '/admin/accueil/conteneur2colonnes?id_profil=34&id_module=3&type_module=CONTENEUR_DEUX_COLONNES&config=accueil';
-		$this->dispatch($this->request_url);
-
-		$this->assertController('accueil');
-		$this->assertAction('conteneur2colonnes');
-	}
-
-
-	/** @test */
-	public function fonctionAdminOnClickShouldHaveActionConteneur2Colonnes() {
-		$this->dispatch('/opac?id_profil=34');
-		$this->assertXPath("//img[contains(@onclick, 'conteneur2colonnes')]", $this->_response->getBody());
-	}
-
-
-	/** @test */
-	public function withModuleIdModulesShouldBeCreated() {
-		$this->boite2cols['preferences'] = array('col_gauche_module_id' => 234,
-																						 'col_gauche_type' => 'COMPTEURS',
-																						 'col_droite_module_id' => 235,
-																						 'col_droite_type' => 'RECH_GUIDEE');
-
-		$this->profil_biologie->updateModuleConfigAccueil(3, $this->boite2cols);
-		$this->dispatch('/opac?id_profil=34');
-
-		$this->assertXPathContentContains('//div', 'Le catalogue contient');
-		$this->assertXPathContentContains('//div', 'Recherche guidée');
-	}
-}
-
-
-
-
 class AccueilControllerLangueConfigurationTest extends Admin_AbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();