diff --git a/application/modules/admin/controllers/AccueilController.php b/application/modules/admin/controllers/AccueilController.php
index 27792abc7b324e8eb8a7f306a006e71eba2646c6..47c99d2c9bb5c7c29fdfa2eab969c35b9510e734 100644
--- a/application/modules/admin/controllers/AccueilController.php
+++ b/application/modules/admin/controllers/AccueilController.php
@@ -152,11 +152,6 @@ class Admin_AccueilController extends Zend_Controller_Action {
 
 
 	public function loginAction() {
-		$this->view->getHelper('ComboProfils')
-			->setTagId('profil_redirect')
-			->setTagName('profil_redirect')
-			->addEmptyOption();
-
 		$this->_simpleAction();
 	}
 
diff --git a/application/modules/admin/views/scripts/modules/auth_form.phtml b/application/modules/admin/views/scripts/modules/auth_form.phtml
index 4b8f12f734ffab60176177fd84a3fda077958262..409e5a6fcdf99b59af1104c0304c14633149de5d 100644
--- a/application/modules/admin/views/scripts/modules/auth_form.phtml
+++ b/application/modules/admin/views/scripts/modules/auth_form.phtml
@@ -66,7 +66,6 @@
   <td class="gauche"><input type="text" name="lien_compte" size="50" value="<?php print($this->preferences["lien_compte"]); ?>"></td>
 </tr>
 
-
 <tr>
   <td class="droite">Libelle lien nouveau compte &nbsp;</td>
   <td class="gauche"><input type="text" name="lien_creer_compte" size="50" value="<?php print($this->preferences["lien_creer_compte"]); ?>"></td>
@@ -75,7 +74,24 @@
 <tr>
 	<td class="droite">Basculer automatiquement sur le profil:&nbsp;</td>
 	<td class="gauche">
-    <?php echo $this->ComboProfils('ALL', 'ALL', $this->preferences['profil_redirect']);
+    <?php 
+		$this->getHelper('ComboProfils')
+				 ->setTagId('profil_redirect')
+				 ->setTagName('profil_redirect')
+				 ->addEmptyOption();
+		echo $this->comboProfils('ALL', 'ALL', $this->preferences['profil_redirect']);
+    ?>
+	</td>
+</tr>
+
+<tr>
+	<td class="droite">Déconnexion : basculer sur le profil:&nbsp;</td>
+	<td class="gauche">
+    <?php $this->getHelper('ComboProfils')
+							 ->setTagId('profil_logout_redirect')
+							 ->setTagName('profil_logout_redirect')
+							 ->addEmptyOption();
+		echo $this->comboProfils('ALL', 'ALL', $this->preferences['profil_logout_redirect']);
     ?>
 	</td>
 </tr>
diff --git a/application/modules/opac/controllers/AuthController.php b/application/modules/opac/controllers/AuthController.php
index 70e6c899a493628f74d3d6a3f6048756d9cc1429..b28b4a2bf0d1180d95c384fa0d55d2eb5127b397 100644
--- a/application/modules/opac/controllers/AuthController.php
+++ b/application/modules/opac/controllers/AuthController.php
@@ -18,18 +18,14 @@
  * along with AFI-OPAC 2.0; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
  */
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//  OPAC3: AUTHENTIFICATION ABONNE
-//
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 class AuthController extends ZendAfi_Controller_Action {
-	function init()	{
+	public function init()	{
 		$this->view->locale = Zend_Registry::get('locale');
 	}
 
 
-	function indexAction()	{
+	public function indexAction()	{
 		$this->_redirect('/opac');
 	}
 
@@ -43,10 +39,12 @@ class AuthController extends ZendAfi_Controller_Action {
 		return $this->_request->getParam('service');
 	}
 
+
 	public function notify($message) {
 		$this->_helper->notify($message);
 	}
 
+
 	public function getRedirectDefaultUrl() {
 		return $this->_request->getParam('redirect','/opac');
 	}
@@ -57,7 +55,6 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-
 	public function _authenticate() {
 		$f = new Zend_Filter_StripTags();
 		$username = $f->filter($this->_request->getPost('username'));
@@ -77,7 +74,7 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function loginAction() {
+	public function loginAction() {
 		$this->view->preferences = Class_Profil::getCurrentProfil()->getCfgModulesPreferences('auth','login');		
 		$redirect = $this->_getParam('redirect', '/opac');
 		$this->view->redirect = $redirect; 
@@ -92,7 +89,7 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function ajaxLoginAction(){
+	public function ajaxLoginAction(){
 		$this->view->preferences = Class_Profil::getCurrentProfil()->getCfgModulesPreferences('auth','login');	
 		$strategy = Auth_Strategy_Abstract::strategyForController($this);
 		$strategy->disableRedirect();
@@ -109,7 +106,7 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function popupLoginAction() {
+	public function popupLoginAction() {
 		$page_settings = Class_Profil::getCurrentProfil()->getCfgModulesPreferences('auth','login');
 		$widget_settings = Class_Profil::getCurrentProfil()->getModuleAccueilPreferencesByType('LOGIN');
 		$this->view->preferences = 
@@ -118,7 +115,7 @@ class AuthController extends ZendAfi_Controller_Action {
 			:( $page_settings 
 				 ? $page_settings 
 				 : []);
-		//$this->view->preferences = 
+
 		$this->view->redirect = $this->_getParam('redirect');
 
 		$this->renderPopupResult($this->view->_('Authentification'),
@@ -126,23 +123,21 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function boiteLoginAction() {
+	public function boiteLoginAction() {
 		$this->view->preferences = Class_Profil::getCurrentProfil()->getModuleAccueilPreferencesByType('LOGIN');	
 		$strategy = Auth_Strategy_Abstract::strategyForController($this);
 		$strategy->setDefaultUrl($this->_request->getServer('HTTP_REFERER'));
 		$strategy->processLogin();
-		
 	}
 	
 
-	function ajaxlostpassAction()	{
-		if($_POST)
-		{
-			$user=ZendAfi_Filters_Post::filterStatic($this->_request->getPost('username'));
+	public function ajaxlostpassAction()	{
+		if ($this->_request->isPost()) {
+			$user = ZendAfi_Filters_Post::filterStatic($this->_request->getPost('username'));
 			$classe_user = new Class_Users();
-			$ret=$classe_user->lostpass($user);
-			$this->view->message=$this->messages[$ret["error"]];
-			$this->view->message_mail=$ret["message_mail"];
+			$ret = $classe_user->lostpass($user);
+			$this->view->message = $this->messages[$ret["error"]];
+			$this->view->message_mail = $ret["message_mail"];
 		}
 		$this->view->username=$user;
 		$viewRenderer = $this->getHelper('ViewRenderer');
@@ -150,14 +145,15 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function logoutAction()	{
+	public function logoutAction()	{
 		ZendAfi_Auth::getInstance()->clearIdentity();
-		$this->_redirectToParentProfil();
+		$profil = Class_Profil::getCurrentProfil();
+		$this->_redirectToLogoutProfil($profil->getModuleAccueilPreferencesByType('LOGIN')); 
 	}
 
 
-	function lostpassAction() {
-		if($_POST) {
+	public function lostpassAction() {
+		if($this->_request->isPost()) {
 			$user = ZendAfi_Filters_Post::filterStatic($this->_request->getPost('username'));
 			$classe_user = new Class_Users();
 			$ret=$classe_user->lostpass($user);
@@ -168,32 +164,29 @@ class AuthController extends ZendAfi_Controller_Action {
 	}
 
 
-	function registerAction()	{
+	public function registerAction()	{
 		if (Class_AdminVar::get('INTERDIRE_ENREG_UTIL'))
 			$this->_redirect('/');
 
-		if ($this->_request->isPost())
-		{
+		if ($this->_request->isPost()) {
 			// recup _post
-			$data=ZendAfi_Filters_Post::filterStatic($this->_request->getPost());
+			$data = ZendAfi_Filters_Post::filterStatic($this->_request->getPost());
 			$class_user = new Class_Users();
 			$ret=$class_user->registerUser($data);
 
 			// Affichage des erreurs
-			if($ret["error"])
-			{
+			if($ret['error']) {
 				$this->view->cle = $this->getCleActivation();
-				$this->view->login = $data["login"];
-				$this->view->email = $data["mail"];
-				$this->view->error = '<div align="center" class="error">'.$ret["error"].'</div>';
+				$this->view->login = $data['login'];
+				$this->view->email = $data['mail'];
+				$this->view->error = '<div align="center" class="error">' . $ret['error'] . '</div>';
 			}
-			$this->view->message_mail=$ret["message_mail"];
+			$this->view->message_mail = $ret['message_mail'];
 		}
 
 		// Opération terminée
-		if($this->view->message_mail)
-		{
-			$this->view->titre=$this->view->_("Votre demande d'inscription");
+		if($this->view->message_mail) {
+			$this->view->titre = $this->view->_("Votre demande d'inscription");
 			$viewRenderer = $this->getHelper('ViewRenderer');
 			$viewRenderer->renderScript('auth/message.phtml');
 		}
@@ -203,11 +196,8 @@ class AuthController extends ZendAfi_Controller_Action {
 		$this->view->cle = $this->getCleActivation();
 	}
 	
-//------------------------------------------------------------------------------------------------------
-// Activation d'une nouvelle inscription
-//------------------------------------------------------------------------------------------------------
-	function activeuserAction()
-	{
+	
+	public function activeuserAction() {
 		if (!$cle = $this->_request->getParam('c'))
 			$this->_redirect('/');
 
@@ -217,11 +207,8 @@ class AuthController extends ZendAfi_Controller_Action {
 		$this->view->info = urldecode(str_replace('%0D%0A',"<br />", $info));
 	}
 
-//------------------------------------------------------------------------------------------------------
-// Captcha
-//------------------------------------------------------------------------------------------------------
-	function generatecaptchaAction()
-	{
+
+	public function generatecaptchaAction() {
 		$md5_hash = md5(rand(0,999));
 		$security_code = substr($md5_hash, 15, 5);
 
@@ -231,23 +218,20 @@ class AuthController extends ZendAfi_Controller_Action {
 		$white = ImageColorAllocate($image, 255, 255, 255);    // bg image
 		ImageString($image, 3, 30, 3, $security_code, $white);
 
-		header("Content-Type: image/jpeg");
+		header('Content-Type: image/jpeg');
 		ImageJpeg($image);
 		$viewRenderer = $this->getHelper('ViewRenderer');
 		$viewRenderer->setNoRender();
 	}
 
-//------------------------------------------------------------------------------------------------------
-// genere une cle aleatoire pour l'activation de compte par URL
-//------------------------------------------------------------------------------------------------------
-	function getCleActivation() {
+
+	public function getCleActivation() {
 		$cle = '';
-		for ($i=0; $i< 10; $i++)
-		{
-			$nb_ascii = rand(1,26) + 64 ;
-			$cle.=chr($nb_ascii).rand(0,9);
+		for ($i=0; $i< 10; $i++) {
+			$nb_ascii = rand(1, 26) + 64 ;
+			$cle .= chr($nb_ascii) . rand(0, 9);
 		}
-		return($cle);
+		return $cle;
 	}
 }
 
@@ -255,8 +239,8 @@ class AuthController extends ZendAfi_Controller_Action {
 
 
 abstract class Auth_Strategy_Abstract {
-	protected $redirect_url='';
-	protected $disable_redirect=false;
+	protected $redirect_url = '';
+	protected $disable_redirect = false;
 	
 	static public function strategyForController($controller) {
 		if ($controller->isCasRequest() && static::isLogged())
@@ -273,7 +257,7 @@ abstract class Auth_Strategy_Abstract {
 	
 
 	static protected function isLogged() {
-		return 	Class_Users::getIdentity();
+		return Class_Users::getIdentity();
 	}
 	
 	public function disableRedirect() {
@@ -281,8 +265,8 @@ abstract class Auth_Strategy_Abstract {
 	}
 
 	public function __construct($controller) {
-		$this->controller=$controller;
-		$this->default_url=$this->controller->getRedirectDefaultUrl();
+		$this->controller = $controller;
+		$this->default_url = $this->controller->getRedirectDefaultUrl();
 	}
 
 	public function getRequest(){
diff --git a/library/Class/Profil.php b/library/Class/Profil.php
index 4e03eb9aa2ff089b7a7fc768166d7e7c3b6b96c5..bc0a376dc8cf7b41b2507c63372f96dbd8bc10c9 100644
--- a/library/Class/Profil.php
+++ b/library/Class/Profil.php
@@ -413,19 +413,22 @@ class Class_Profil extends Storm_Model_Abstract {
 	 * @return array
 	 */
 	public function getOrCreateConfigAccueil($id_module, $type_module) {
+		if ($this->isTypeBoiteInBanniere($type_module))
+			return $this->getModuleAccueilPreferencesByType($type_module);
+
 		$cfg_accueil = $this->getCfgAccueilAsArray();
 
-		if (array_isset($id_module, $cfg_accueil['modules']))
-			$module = $cfg_accueil['modules'][$id_module];
-		else
-			$module = array('preferences' => array());
+		$module = (array_isset($id_module, $cfg_accueil['modules'])) ?
+			$cfg_accueil['modules'][$id_module] : 
+			['preferences' => []];
 
 		$preferences = [];
 		if (array_isset('preferences', $module))
 			$preferences = $module['preferences'];
 		
 		$preferences = array_merge($preferences, ['id_module' => $id_module]);
-		$default_values = Class_Systeme_ModulesAccueil::getInstance()->getValeursParDefaut($type_module);
+		$default_values = Class_Systeme_ModulesAccueil::getInstance()
+			->getValeursParDefaut($type_module);
 		return array_merge($default_values, $preferences);
 	}
 
@@ -448,8 +451,16 @@ class Class_Profil extends Storm_Model_Abstract {
 	 * @return Class_Profil
 	 */
 	public function updateModuleConfigAccueil($id_module, $module_config) {
+		if (isset($module_config['division']) 
+				&& (self::DIV_BANNIERE == $module_config['division'])
+				&& $this->hasParentProfil()) {
+			$this->getParentProfil()
+				->updateModuleConfigAccueil($id_module, $module_config)
+				->save();
+			return $this;
+		}
 
-		$cfg_accueil=$this->getCfgAccueilAsArray();
+		$cfg_accueil = $this->getCfgAccueilAsArray();
 		$cfg_accueil['modules'][$id_module] = $module_config;
 		$this->setCfgAccueil($cfg_accueil);
 		return $this;
@@ -503,34 +514,40 @@ class Class_Profil extends Storm_Model_Abstract {
 	 * @param int $id_module
 	 * @return array | null
 	 */
-	public function getModuleAccueilConfig($id_module){
-		$cls_module = Class_Systeme_ModulesAccueil::getInstance();
+	public function getModuleAccueilConfig($id_module) {
+		if ($this->hasParentProfil()) {
+			$parent_config = $this->getParentProfil()->getModuleAccueilConfig($id_module);
+			if (isset($parent_config['division'])
+					&& (self::DIV_BANNIERE == $parent_config['division']))
+				return $parent_config;
+		}
 
 		$cfg_accueil = $this->getCfgAccueilAsArray();
 		$modules_config = $cfg_accueil['modules'];
 
 		if (array_key_exists($id_module, $modules_config)) {
 			if (!is_array($modules_config[$id_module]))
-				$modules_config[$id_module] = array();
+				$modules_config[$id_module] = [];
 
-			$module = array_merge(array('type_module' => null,
-																	'preferences' => array()),
+			$module = array_merge(['type_module' => null,
+														 'preferences' => []],
 														$modules_config[$id_module]);
 
-			$default_prefs = $cls_module->getValeursParDefaut($module['type_module']);
+			$default_prefs = Class_Systeme_ModulesAccueil::getInstance()
+				->getValeursParDefaut($module['type_module']);
 			$default_prefs = array_merge($default_prefs,['id_module' => $id_module]);
 
-			if (!array_isset('preferences', $module))
-				$module['preferences'] = $default_prefs;
-			else
-				$module['preferences'] = array_merge($default_prefs, $module['preferences']);
+			$module['preferences'] = (!array_isset('preferences', $module)) ?
+				$default_prefs : array_merge($default_prefs, $module['preferences']);
 		
 			return $module;
 		}
+
 		return [];
 	}
 
-	/*
+
+	/**
 	 * @param string $type_module
 	 * @return array | null
 	 */
diff --git a/library/Class/Systeme/ModulesAccueil/Login.php b/library/Class/Systeme/ModulesAccueil/Login.php
index 5a91f2973f49eae71f7c60a14d608499f9ba3603..e7a2b0d89bef512de46e5c93e2525cf3c8d08abf 100644
--- a/library/Class/Systeme/ModulesAccueil/Login.php
+++ b/library/Class/Systeme/ModulesAccueil/Login.php
@@ -55,7 +55,8 @@ class Class_Systeme_ModulesAccueil_Login extends Class_Systeme_ModulesAccueil_Nu
 		'lien_compte' => '» Mon compte',
 		'lien_deconnection' => '» Se déconnecter',
 		'autocomplete_off' => 1 ,// si == 1, rajoute autocomplete="off" au formulaire
-		'profil_redirect' => '0'
+		'profil_redirect' => '0',
+		'profil_logout_redirect' => '0'
 		];
 }
 ?>
\ No newline at end of file
diff --git a/library/Class/WebService/BibNumerique/Numilog.php b/library/Class/WebService/BibNumerique/Numilog.php
index 5b4e65ef291efd20e71519cd4b34f4ecc7474b3c..7b04715e1d7040dab743c8feee9dcb8f06e2ca20 100644
--- a/library/Class/WebService/BibNumerique/Numilog.php
+++ b/library/Class/WebService/BibNumerique/Numilog.php
@@ -53,7 +53,6 @@ class Class_WebService_BibNumerique_Numilog extends Class_WebService_BibNumeriqu
 
 
 	protected function _deleteNonHarvested() {
-		
 		if (0 < count($this->getHarvestedIds()))
 			Class_Album::getLoader()
 				->deleteBy(['where' => 'url_origine="'.self::BASE_URL.'" and id_origine not in (\'' . implode("', '", $this->getHarvestedIds()) . '\')']);
diff --git a/library/ZendAfi/Controller/Action.php b/library/ZendAfi/Controller/Action.php
index fc0100b4c8a829f022d51890de6a89c508ae6fb1..81832e2c78f9016ac35e272aa500beea3243147c 100644
--- a/library/ZendAfi/Controller/Action.php
+++ b/library/ZendAfi/Controller/Action.php
@@ -142,8 +142,19 @@ class ZendAfi_Controller_Action extends Zend_Controller_Action {
 
 
 	protected function _redirectToParentProfil() {
-		$current_profil = Class_Profil::getCurrentProfil();
-		$this->_redirect($current_profil->hasParentProfil() ? '/opac/index/index/id_profil/'.$current_profil->getParentProfil()->getId() : '/');
+		$profil = Class_Profil::getCurrentProfil();
+		$url = $profil->hasParentProfil() ? 
+			'/opac/index/index/id_profil/' . $profil->getParentProfil()->getId() : 
+			'/';
+		$this->_redirect($url);
+	}
+
+
+	protected function _redirectToLogoutProfil($preferences) {
+		$target = (int)$preferences['profil_logout_redirect'];
+		(0 < $target) ?
+			$this->_redirect('/opac/index/index/id_profil/' . $target) :
+			$this->_redirectToParentProfil();
 	}
 
 
diff --git a/library/ZendAfi/View/Helper/ComboProfils.php b/library/ZendAfi/View/Helper/ComboProfils.php
index 41119de64b54dfb2b7d60fe9c8dbabf467107528..468cce5465cb1c3d21f95c0e54e67fce9a037f24 100644
--- a/library/ZendAfi/View/Helper/ComboProfils.php
+++ b/library/ZendAfi/View/Helper/ComboProfils.php
@@ -18,9 +18,6 @@
  * along with AFI-OPAC 2.0; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
  */
-//////////////////////////////////////////////////////////////////////////////////////////////////////
-// OPAC3 - Combo des menu paramétrés
-//////////////////////////////////////////////////////////////////////////////////////////////////////
 
 class ZendAfi_View_Helper_ComboProfils extends ZendAfi_View_Helper_BaseHelper {
 	protected 
@@ -31,15 +28,15 @@ class ZendAfi_View_Helper_ComboProfils extends ZendAfi_View_Helper_BaseHelper {
 		$_id_zone,
 		$_id_bib;
 
-	function comboProfils($id_zone='ALL', $id_bib='ALL', $id_profil=1, $autoload=false, $empty_option = false)	{
+	public function comboProfils($id_zone='ALL', $id_bib='ALL', $id_profil=1, 
+															 $autoload=false, $empty_option=false)	{
 		$this->_select_profil_id = $id_profil;
-		if($empty_option)
+		if ($empty_option)
 			$this->addEmptyOption();
 		$this->_id_zone = 'ALL';
 		$this->_id_bib = 'ALL';
 
-		return $this->renderSelect($autoload,
-															 $this->renderProfilsByBibGroups());
+		return $this->renderSelect($autoload, $this->renderProfilsByBibGroups());
 	}
 
 
@@ -71,35 +68,36 @@ class ZendAfi_View_Helper_ComboProfils extends ZendAfi_View_Helper_BaseHelper {
 
 
 	public function renderSelect($autoload ,$content) {
-		$onchange='';
-		if($autoload==true) 
-			$onchange=' onchange="window.location=\''.BASE_URL.'?id_profil=\' + this.value"'; 
-
 		if ($this->_add_empty_option)
-			$content = '<option value=""></option>'.$content;
+			$content = '<option value=""></option>' . $content;
+
+		$extra = '';
+		if ($autoload) 
+			$extra = ' onchange="window.location=\''.BASE_URL.'?id_profil=\' + this.value"'; 
 
-		return '<select id="'.$this->_select_id.'" name="'.$this->_select_name.'"'.$onchange.'>'.$content.'</select>';
+		return sprintf('<select id="%s" name="%s"%s>%s</select>',
+									 $this->_select_id, $this->_select_name, $extra, $content);
 	}
 
 
 	public function getProfilsByBib() {
-		$profils = Class_Profil::getLoader()->findAllByZoneAndBib($this->_id_zone,
-																															$this->_id_bib);
-		$profils_by_bib = array();
+		$profils = Class_Profil::findAllByZoneAndBib($this->_id_zone,
+																								 $this->_id_bib);
+		$profils_by_bib = [];
 		foreach ($profils as $profil) {
-			if ($profil->hasParentProfil()) continue;
+			if ($profil->hasParentProfil()) 
+				continue;
 
-			if ($profil->isInPortail()) {
-				$libelle = $this->translate()->_('Portail');
-			} else {
-				$libelle = $profil->getBibLibelle();
-			}
+			$libelle = ($profil->isInPortail()) ?
+				$this->translate()->_('Portail') : 
+				$profil->getBibLibelle();
 
 			if (!array_key_exists($libelle, $profils_by_bib))
-				$profils_by_bib[$libelle] = array();
+				$profils_by_bib[$libelle] = [];
 
-			$profils_by_bib[$libelle] []= $profil;
+			$profils_by_bib[$libelle][]= $profil;
 		}
+
 		ksort($profils_by_bib);
 
 		return $profils_by_bib;
@@ -122,7 +120,8 @@ class ZendAfi_View_Helper_ComboProfils extends ZendAfi_View_Helper_BaseHelper {
 
 
 	public function renderProfilOption($profil, $libelle) {
-		$selected = ($this->_select_profil_id == $profil->getId()) ? 'selected="selected"' : '';
+		$selected = ($this->_select_profil_id == $profil->getId()) 
+			? 'selected="selected"' : '';
 		return '<option  value="'.$profil->getId().'" '.$selected.'>'.$libelle.'</option>';
 	}
 }
\ 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 8f9b27d90f5f950c6874fe4eb94317850202ea7c..c0a876410c530bfa6ecb56d72bc4b6bc6528a8a4 100644
--- a/tests/application/modules/admin/controllers/AccueilControllerTest.php
+++ b/tests/application/modules/admin/controllers/AccueilControllerTest.php
@@ -21,26 +21,37 @@
 require_once 'AdminAbstractControllerTestCase.php';
 
 
-class AccueilControllerBoite2ColTest extends Admin_AbstractControllerTestCase {
+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();
+		$boite2cols = ['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 = $this
+			->fixture('Class_Profil', ['id' => 34, 'libelle' => 'Biologie'])
+			->updateModuleConfigAccueil(3, $boite2cols);
+	}
+}
 
-		$boite2cols = array('type_module' => 'CONTENEUR_DEUX_COLONNES',
-												'division' => 2,
-												'id_module' => 3,
-												'preferences' => array('col_gauche_type' => 'NEWS',
-																							 'col_droite_type' => 'CRITIQUES',
-																							 'boite' => 'boite_de_la_division_du_milieu',
-																							 'titre' => 'A la Une'));
 
-		$this->profil_biologie = Class_Profil::getLoader()
-			->newInstanceWithId(34)
-			->setLibelle('Biologie')
-			->updateModuleConfigAccueil(3, $boite2cols);
-		$this->assertTrue($this->profil_biologie->isValid());
+class AccueilControllerBoite2ColTest extends AccueilControllerBoite2ColTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->dispatch($this->_request_url, true);
+	}
 
-		$this->request_url = '/admin/accueil/conteneur2colonnes?id_profil=34&id_module=3&type_module=CONTENEUR_DEUX_COLONNES&config=accueil';
-		$this->dispatch($this->request_url, true);
+
+	/** @test */
+	public function profilShouldBeValid() {
+		$this->assertTrue($this->profil_biologie->isValid());
 	}
 
 
@@ -67,59 +78,49 @@ class AccueilControllerBoite2ColTest extends Admin_AbstractControllerTestCase {
 	public function selectColDroiteTypeShouldHaveCRITIQUESSelected() {
 		$this->assertXPath("//select[@name='col_droite_type']/option[@value='CRITIQUES'][@selected='selected']");
 	}
+}
 
 
-	/** @test */
-	public function postDataShouldSaveTheProfil() {
-		$this->profil_wrapper = Storm_Test_ObjectWrapper
-			::onLoaderOfModel('Class_Profil')
-			->whenCalled('save')
-			->answers(true)
-			->getWrapper();
-
-
-		$data = array('col_gauche_type' => 'KIOSQUE',
-									'col_droite_type' => 'TAGS',
-									'titre' => 'Ce mois ci');
+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']);
+	}
 
-		$this
-			->getRequest()
-			->setMethod('POST')
-			->setPost($data);
 
-		$this->dispatch($this->request_url);
+	/** @test */
+	public function moduleKiosqueShouldHaveBeenCreated() {
+		$this->assertEquals('KIOSQUE', $this->_getModuleTypeOf(1000));
+	}
 
-		$this->assertTrue($this->profil_wrapper->methodHasBeenCalled('save'));
 
-		return $this->profil_biologie;
+	/** @test */
+	public function moduleKiosqueShouldHaveBeenAddedToBox() {
+		$this->assertEquals(1000, $this->_getModulePrefOf(3, 'col_gauche_module_id'));
 	}
 
 
-	/**
-	 * @depends postDataShouldSaveTheProfil
-	 * @test
-	 */
-	public function moduleKiosqueShouldHaveBeenCreated($profil_biologie) {
-		$module = $profil_biologie->getModuleAccueilConfig(1000);
-		$this->assertEquals('KIOSQUE',$module['type_module']);
+	/** @test */
+	public function moduleTagsShouldHaveBeenCreated() {
+		$this->assertEquals('TAGS', $this->_getModuleTypeOf(1001));
+	}
 
 
-		$boite2cols = $profil_biologie->getModuleAccueilConfig(3);
-		$this->assertEquals(1000, $boite2cols['preferences']['col_gauche_module_id']);
+	/** @test */
+	public function moduleTagsShouldHaveBeenAddedToBox() {
+		$this->assertEquals(1001, $this->_getModulePrefOf(3, 'col_droite_module_id'));
 	}
 
 
-	/**
-	 * @depends postDataShouldSaveTheProfil
-	 * @test
-	 */
-	public function moduleTagsShouldHaveBeenCreated($profil_biologie) {
-		$module = $profil_biologie->getModuleAccueilConfig(1001);
-		$this->assertEquals('TAGS',$module['type_module']);
+	protected function _getModuleTypeOf($id_module) {
+		return $this->profil_biologie->getModuleAccueilConfig($id_module)['type_module'];
+	}
 
 
-		$boite2cols = $profil_biologie->getModuleAccueilConfig(3);
-		$this->assertEquals(1001, $boite2cols['preferences']['col_droite_module_id']);
+	protected function _getModulePrefOf($id_module, $pref) {
+		return $this->profil_biologie->getModuleAccueilConfig($id_module)['preferences'][$pref];
 	}
 }
 
@@ -467,24 +468,31 @@ class AccueilControllerConfigRSSDefaultsTest extends Admin_AbstractControllerTes
 
 
 
-
-class AccueilControllerConfigBoiteLoginTest extends Admin_AbstractControllerTestCase  {
-	public function setUp() {
-		parent::setUp();
+abstract class AccueilControllerConfigBoiteLoginTestCase extends Admin_AbstractControllerTestCase {
+	protected function prepareProfile() {
 		Class_Profil::getCurrentProfil()
 			->updateModuleConfigAccueil(32,
 																	['type_module' => 'LOGIN',
 																	 'division' => 4,
 																	 'id_module' => 32,
 																	 'preferences' => ['profil_redirect'=>'1',
+																										 'profil_logout_redirect' => '1',
 																										 'mot_de_pass_exemple' => 'dd/mm/aaaa']]);		
-		$this->dispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', true);
 	}
 
 
-		/** @test */
-	public function selectProfilRedirectShouldContainsProfil1() {
-		$this->assertXPathContentContains('//select[@id="profil_redirect"][@name="profil_redirect"]/optgroup/option[@value="1"][@selected="selected"]', 'portail: Accueil', $this->_response->getBody());
+	public function setUp() {
+		parent::setUp();
+		$this->prepareProfile();
+	}
+}
+
+
+
+class AccueilControllerConfigBoiteLoginTest extends AccueilControllerConfigBoiteLoginTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->dispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', true);
 	}
 
 
@@ -548,14 +556,132 @@ class AccueilControllerConfigBoiteLoginTest extends Admin_AbstractControllerTest
 	}
 
 
-	/** @test **/
-	public function selectProfilShloudBeEmptyValue() {
-		$this->assertXPath('//td/select[@id="profil_redirect"]/option');
+	/** @test */
+	public function profilRedirectShouldContainsProfil1() {
+		$this->assertXPathContentContains('//select[@name="profil_redirect"]/optgroup/option[@value="1"][@selected="selected"]', 
+																			'portail: Accueil');
+	}
+
+
+	/** @test */
+	public function profilLogoutRedirectShouldContainsProfil1() {
+		$this->assertXPathContentContains('//select[@name="profil_logout_redirect"]/optgroup/option[@value="1"][@selected="selected"]', 
+																			'portail: Accueil');
+	}
+
+}
+
+
+
+class AccueilControllerConfigBoiteLoginPostTest extends AccueilControllerConfigBoiteLoginTestCase {
+	protected $_prefs;
+
+	public function setUp() {
+		parent::setUp();
+		$this->postDispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', 
+												['boite' => '',
+												 'titre' => 'Se connecter',
+												 'profil_redirect' => 678,
+												 'profil_logout_redirect' => 345]);
+
+		$this->_prefs = Class_Profil::getCurrentProfil()->getModuleAccueilPreferences(32);
+	}
+
+
+	/** @test */
+	public function profilRedirectShouldBe678() {
+		$this->assertEquals(678, $this->_prefs['profil_redirect']);
+	}
+
+
+	/** @test */
+	public function profilLogoutRedirectShouldBe345() {
+		$this->assertEquals(345, $this->_prefs['profil_logout_redirect']);
+	}
+}
+
+
+
+
+abstract class AccueilControllerWithParentProfileConfigBoiteLoginTestCase 
+extends AccueilControllerConfigBoiteLoginTestCase {
+	protected function prepareProfile() {
+		parent::prepareProfile();
+		$this->fixture('Class_Profil', ['id' => 3]);
+		$parent = $this->fixture('Class_Profil', ['id' => 44])
+			->updateModuleConfigAccueil(32,
+																	['type_module' => 'LOGIN',
+																	 'division' => 4,
+																	 'id_module' => 32,
+																	 'preferences' => ['profil_redirect' => '3',
+																										 'profil_logout_redirect' => '3',
+																										 'mot_de_pass_exemple' => 'dd/mm/aaaa']]);;
+
+		Class_Profil::getCurrentProfil()
+			->setParentProfil($parent);
+	}
+}
+
+
+
+
+class AccueilControllerWithParentProfileConfigBoiteLoginTest extends AccueilControllerWithParentProfileConfigBoiteLoginTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->dispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', true);
+	}
+
+
+	/** @test */
+	public function profilRedirectShouldBeParentsOne() {
+		$this->assertXPath('//select[@name="profil_redirect"]/optgroup/option[@value="3"][@selected="selected"]',
+											 $this->_response->getBody());
+	}
+
+
+	/** @test */
+	public function profilLogoutRedirectShouldBeParentsOne() {
+		$this->assertXPath('//select[@name="profil_logout_redirect"]/optgroup/option[@value="3"][@selected="selected"]',
+											 $this->_response->getBody());
 	}
 }
 
 
 
+class AccueilControllerWithParentProfileConfigBoiteLoginPostTest 
+extends AccueilControllerWithParentProfileConfigBoiteLoginTestCase {
+	protected $_prefs;
+
+	public function setUp() {
+		parent::setUp();
+		$this->postDispatch('/admin/accueil/login?config=accueil&type_module=LOGIN&id_module=32', 
+												['boite' => '',
+												 'titre' => 'Se connecter',
+												 'profil_redirect' => 678,
+												 'profil_logout_redirect' => 345]);
+
+		$this->_prefs = Class_Profil::getCurrentProfil()
+			->getParentProfil()
+			->getModuleAccueilPreferences(32);
+	}
+
+
+	/** @test */
+	public function parentProfilRedirectShouldBe678() {
+		$this->assertEquals(678, $this->_prefs['profil_redirect']);
+	}
+
+
+	/** @test */
+	public function parentProfilLogoutRedirectShouldBe345() {
+		$this->assertEquals(345, $this->_prefs['profil_logout_redirect']);
+	}
+}
+
+
+
+
+
 class AccueilControllerPostConfigBoiteKiosqueProfilLognesTestCase extends Admin_AbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();
@@ -564,11 +690,10 @@ class AccueilControllerPostConfigBoiteKiosqueProfilLognesTestCase extends Admin_
 			->setLibelle('Lognes');
 
 		Class_Profil::getCurrentProfil()
-			->updateModuleConfigAccueil(25,
-																	array('type_module' => 'KIOSQUE',
-																				'division' => 4,
-																				'id_module' => 32,
-																				'preferences' => array()))
+			->updateModuleConfigAccueil(32, ['type_module' => 'KIOSQUE',
+																			 'division' => 4,
+																			 'id_module' => 32,
+																			 'preferences' => []])
 			->setIdSite(3);
 		$this->postDispatch('/admin/accueil/kiosque?config=accueil&type_module=KIOSQUE&id_module=32',
 												['id_panier'=>'5','titre' => 'titre du /kiosque']);
diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php
index e2f936bc7cf576edee8cf3a873d13a4620473b41..4c9d9acadf2dee5c38be4e6e22b7acfa1393c7c9 100644
--- a/tests/application/modules/opac/controllers/AuthControllerTest.php
+++ b/tests/application/modules/opac/controllers/AuthControllerTest.php
@@ -39,7 +39,8 @@ abstract class PortailWithOneLoginModuleTestCase extends AbstractControllerTestC
 																					'titre_connecte' => 'Vous êtes connecté(e)',
 																					'lien_connexion' => 'please, log me',
 																					'lien_mot_de_passe_oublie' => 'me rappelle plus',
-																					'profil_redirect' => 1]]],
+																					'profil_redirect' => 1,
+																					'profil_logout_redirect' => 0]]],
 										'options' => []];
 
 		Class_Profil::getCurrentProfil()
@@ -153,47 +154,67 @@ class AuthControllerAbonneSIGBLoggedTest extends PortailWithOneLoginModuleTestCa
 
 
 
-class AuthControllerAbonneSIGBLoggedLogoutTest extends PortailWithOneLoginModuleTestCase {
+class AuthControllerAbonneSIGBLoggedLogoutTest 
+extends PortailWithOneLoginModuleTestCase {
 	public function setUp() {
 		parent::setUp();
 		$this->dispatch('/opac/auth/logout');
 	}
 
+
 	/** @test */
-	public function answerShouldRedirectToRoot() {
+	public function shouldRedirectToRoot() {
 		$this->assertRedirectTo('/');
 	}
 }
 
 
-class AuthControllerWithProfilPageAbonneSIGBLoggedLogoutTest extends PortailWithOneLoginModuleTestCase {
+
+class AuthControllerWithProfilPageAbonneSIGBLoggedLogoutTest 
+extends PortailWithOneLoginModuleTestCase {
+	protected $_profile, $_parent_profile;
+
 	public function setUp() {
 		parent::setUp();
-		$this->profil_adulte = $this->fixture('Class_Profil', ['id' => 22])
-			->setBrowser('opac')
-			->setLibelle('Profil Adulte')
-			->setHauteurBanniere(150)
-			->setCouleurTexteBandeau('#F2C')
-			->setCouleurLienBandeau('#234')
-			->setMenuHautOn(true)
-			->setCfgMenus([])
-			->setCommentaire('Super bib')
-			->setRefTags('bib,Adulte')
-			->setParentProfil(Class_Profil::getCurrentProfil());
-		$this->profil_adulte->assertSave();
-		Class_Profil::setCurrentProfil($this->profil_adulte);
-		$this->dispatch('/opac/auth/logout');
+		$this->_parent_profile = Class_Profil::getCurrentProfil();
+		$this->_profile = $this->fixture('Class_Profil', 
+																		 ['id' => 22,
+																			'browser' => 'opac',
+																			'libelle' => 'Profil Adulte',
+																			'hauteur_banniere' => 150,
+																			'couleur_texte_bandeau' => '#F2C',
+																			'couleur_lien_bandeau' => '#234',
+																			'menu_haut_on' => true,
+																			'cfg_menus' => [],
+																			'commentaire' => 'Super bib',
+																			'ref_tags' => 'bib,Adulte',
+																			'parent_profil' => $this->_parent_profile]);
+		Class_Profil::setCurrentProfil($this->_profile);
 	}
 
 	
 	/** @test **/
-	public function linkSeDeconnecterShouldRedirectToParentProfil() {
+	public function withoutLogoutProfileShouldRedirectToParentProfile() {
+		$this->dispatch('/opac/auth/logout');
 		$this->assertRedirectTo('/opac/index/index/id_profil/2');
 	}
 
+
+	/** @test **/
+	public function withLogoutProfile6InParentShouldRedirectToIt() {
+		$cfg_accueil = $this->_parent_profile->getCfgAccueilAsArray();
+		$cfg_accueil['modules'][4]['preferences']['profil_logout_redirect'] = 6;
+		$this->_parent_profile
+			->setCfgAccueil(ZendAfi_Filters_Serialize::serialize($cfg_accueil));
+
+		$this->dispatch('/opac/auth/logout');
+		$this->assertRedirectTo('/opac/index/index/id_profil/6');
+	}
 }
 
 
+
+
 abstract class AuthControllerNobodyLoggedTestCase extends PortailWithOneLoginModuleTestCase {
 	public function setUp() {
 		parent::setUp();
@@ -246,7 +267,8 @@ class AuthControllerNobodyLoggedActivateTest extends AuthControllerNobodyLoggedT
 }
 
 
-class AuthControllerNobodyLoggedAndRegistrationAllowedBoiteLoginTest extends AuthControllerNobodyLoggedTestCase {
+class AuthControllerNobodyLoggedAndRegistrationAllowedBoiteLoginTest 
+extends AuthControllerNobodyLoggedTestCase {
 	public function setUp() {
 		parent::setUp();
 
@@ -257,40 +279,48 @@ class AuthControllerNobodyLoggedAndRegistrationAllowedBoiteLoginTest extends Aut
 		$this->dispatch('/opac/',true);
 	}
 
+
 	/** @test */
-	public function submitButtonSeConnecterShouldBeDisplay(){
-		$this->assertXPath('//div[@id="boite_login"]//input[@type="submit"]',$this->_response->getBody());
+	public function loginSubmitShouldBePresent(){
+		$this->assertXPath('//div[@id="boite_login"]//input[@type="submit"]',
+											 $this->_response->getBody());
 	}
 
+
 	/** @test */
-	public function titreDelaBoiteShouldBeSeConnecter(){
+	public function titleShouldBeSeConnecter(){
 		$this->assertXPathContentContains('//h1','Se connecter');
 	}
 
+
 	/** @test **/
-	public function inputLoginTypePasswordShouldCOntainsOnkeypressFormSubmit() {
+	public function inputLoginShouldSubmitOnKey13Pressed() {
 		$this->assertXPath('//div[@id="boite_login"]//input[contains(@onkeypress,"if (event.keyCode == 13) {this.form.submit();return false;}")]');
 	}
 
-	public function testLinkSeConnecter() {
-		$this->assertXPath('//div[@id="boite_login"]//a[contains(@onclick,"submit")]');
+
+	/** @test */
+	public function loginLinkShouldBePresent() {
 		$this->assertXPathContentContains('//div[@id="boite_login"]//a[contains(@onclick, "submit")]',
 																			'please, log me');
 	}
 
-	public function testLinkLostPassword() {
-		$this->assertXPath('//div[@id="boite_login"]//a[contains(@href, "auth/lostpass")]');
+
+	/** @test */
+	public function lostPassLinkShouldBePresent() {
 		$this->assertXPathContentContains('//div[@id="boite_login"]//tr/td[@colspan="2"]/a[contains(@href, "auth/lostpass")]',
 																			'me rappelle plus');
 	}
 
-	public function testLinkSenregistrer() {
-		$this->assertXPath('//div[@id="boite_login"]//a[contains(@href, "auth/register")]');
+
+	/** @test */
+	public function registerLinkShouldBePresent() {
 		$this->assertXPathContentContains('//div[@id="boite_login"]//a[contains(@href, "auth/register")]', "S'enregistrer");
 	}
 
 
-	public function testCanAccessRegisterPage() {
+	/** @test */
+	public function shouldAccessRegisterPage() {
 		$this->bootstrap();
 		$this->dispatch('auth/register', true);
 		$this->assertAction('register');
@@ -1040,9 +1070,7 @@ class portailWithOneLoginModuleTestAndLoggedUserCase extends AbstractControllerT
 	public function setUp() {
 		parent::setUp();
 
-		Storm_Test_ObjectWrapper::onLoaderOfModel('Class_IntBib')
-			->whenCalled('findAllBy')
-			->answers([]);
+		Class_IntBib::beVolatile();
 
 		$cfg_accueil = ['modules' => [4 => ['division' => '4',
 																				'id_module' => 4,
@@ -1064,14 +1092,14 @@ class portailWithOneLoginModuleTestAndLoggedUserCase extends AbstractControllerT
 
 
 		ZendAfi_Auth::getInstance()->logUser(
-			Class_Users::newInstanceWithId(5, 
-																		 ['login' => 'Pioup',
-																			'idabon' => 48,
-																			'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
-																			'id_site' => 1,
-																			'fiche_sigb' => []]));
-
-
+			$this->fixture('Class_Users',
+										 ['id' => 5,
+											'login' => 'Pioup',
+											'idabon' => 48,
+											'password' => 'one ok password',
+											'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
+											'id_site' => 1,
+											'fiche_sigb' => []]));
 
 		$this->dispatch('/opac/');
 	}
diff --git a/tests/library/Class/ProfilTest.php b/tests/library/Class/ProfilTest.php
index b5cedc0a3d97242653cccefea6c996e737b2e630..b6ce1aed62f1b66e1c92d8588e65c6e2167c3738 100644
--- a/tests/library/Class/ProfilTest.php
+++ b/tests/library/Class/ProfilTest.php
@@ -1241,4 +1241,92 @@ class ProfilHeaderImgAccessTest extends Storm_Test_ModelTestCase {
 }
 
 
+
+
+abstract class ProfilUpdateConfigAccueilOnModuleInBannerTestCase 
+extends Storm_Test_ModelTestCase {
+	protected $_profil;
+
+	public function setUp() {
+		parent::setUp();
+		$this->_profil = $this->fixture('Class_Profil', ['id' => 1])
+			->setBoiteLoginInBanniere(true);
+
+		$this->prepareProfile();
+
+		$config = $this->_profil->getModuleAccueilConfig(1);
+		$config['preferences']['profil_redirect'] = 123;
+
+		$this->_profil->updateModuleConfigAccueil(1, $config);
+	}
+
+
+	protected function prepareProfile() {}
+
+
+	protected function getPreferenceOfModule($profil, $id_module, $preference) {
+		return $profil->getModuleAccueilConfig($id_module)['preferences'][$preference];
+	}
+}
+
+
+
+
+class ProfilUpdateConfigAccueilOnModuleInBannerTest 
+extends ProfilUpdateConfigAccueilOnModuleInBannerTestCase {
+	/** @test */
+	public function profilRedirectShouldBeUpdated() {
+		$this->assertEquals(123, 
+												$this->getPreferenceOfModule($this->_profil, 
+																										 1, 'profil_redirect'));
+	}
+}
+
+
+
+class ProfilUpdateConfigAccueilOnModuleInBannerWithParentTest 
+extends ProfilUpdateConfigAccueilOnModuleInBannerTestCase {
+	protected function prepareProfile() {
+		$this->_profil->setParentProfil($this->fixture('Class_Profil', ['id' => 2])
+																		->setBoiteLoginInBanniere(true));
+	}
+
+
+	/** @test */
+	public function profilRedirectShouldBeUpdatedInParent() {
+		$this->assertEquals(123, 
+												$this->getPreferenceOfModule($this->_profil->getParentProfil(), 
+																										 1, 'profil_redirect'));
+	}
+}
+
+
+
+class ProfilGetModuleAccueilConfigTest extends Storm_Test_ModelTestCase {
+	protected $_profil, $_parent, $_module_config;
+
+	public function setUp() {
+		parent::setUp();
+		$this->_parent = $this->fixture('Class_Profil', ['id' => 1])
+			->setBoiteLoginInBanniere(true);
+
+		$this->_profil = $this->fixture('Class_Profil', ['id' => 2,
+																										 'parent_profil' => $this->_parent]);
+
+		$this->_module_config = $this->_profil->getModuleAccueilConfig(1);
+	}
+
+
+	/** @test */
+	public function parentShouldHaveLoginInBanner() {
+		$this->assertTrue($this->_parent->getBoiteLoginInBanniere());
+	}
+
+
+	/** @test */
+	public function moduleDivisionShouldBeBanner() {
+		$this->assertEquals(Class_Profil::DIV_BANNIERE, $this->_module_config['division']);
+	}
+}
+
 ?>
\ No newline at end of file