diff --git a/application/modules/admin/controllers/ProfilController.php b/application/modules/admin/controllers/ProfilController.php
index df7f74db9a27b1ba15741ddae86ff6585f348829..414f64fab14a082d5b712bc303028870c68be9ac 100644
--- a/application/modules/admin/controllers/ProfilController.php
+++ b/application/modules/admin/controllers/ProfilController.php
@@ -257,7 +257,7 @@ class Admin_ProfilController extends ZendAfi_Controller_Action {
     $enreg = $this->_parseSaveContentString();
     $enreg["use_parent_css"] = $this->_getParam('use_parent_css', $profil->getUseParentCss());
     $enreg['sitemap'] = $this->_getParam('sitemap');
-    $enreg["page_css"]=$this->_getParam('page_css');
+    $enreg["page_css"] = $this->_getParam('page_css');
 
     $profil->setLibelle($this->_getParam('libelle', $profil->getLibelle()));
     $profil->setRewriteUrl($this->_getParam('rewrite_url'));
@@ -332,7 +332,8 @@ class Admin_ProfilController extends ZendAfi_Controller_Action {
   public function accueilAction() {
     $this->view->titre = $this->_('Configuration de la page: ') . $this->_profil->getLibelle();
     $params = array_merge($this->_profil->toArray(),
-                          $this->_profil->getCfgSiteAsArray());
+                          $this->_profil->getCfgSiteAsArray(),
+                          $this->_profil->getCfgAccueilAsArray());
 
     $this->view->form = ZendAfi_Form_Configuration_Profile_Page::newWith($params);
     $this->view->form->setAction($this->view->url());
diff --git a/library/Class/Profil.php b/library/Class/Profil.php
index ada0bbcb206448c852b33296dc52eb42f8fc74ce..871b055aadcdd3b1b9f7c61464e729b1e35e0732 100644
--- a/library/Class/Profil.php
+++ b/library/Class/Profil.php
@@ -339,7 +339,7 @@ class Class_Profil extends Storm_Model_Abstract {
     if (!isset(self::$DEFAULT_VALUES))
       self::$DEFAULT_VALUES =
         ['cfg_site' => '',
-         'cfg_accueil' => ZendAfi_Filters_Serialize::serialize([ 'page_css' => null,
+         'cfg_accueil' => ZendAfi_Filters_Serialize::serialize(['page_css' => null,
                                                                 'use_parent_css' => true,
                                                                 'modules' => [],
                                                                 'sitemap' => 1]),
diff --git a/library/ZendAfi/View/Helper/ProfileComposition.php b/library/ZendAfi/View/Helper/ProfileComposition.php
index dc25410348a932848852d3aab00bff4e0a946d29..88c94171a03aba1996f32a588b1b639f058d243c 100644
--- a/library/ZendAfi/View/Helper/ProfileComposition.php
+++ b/library/ZendAfi/View/Helper/ProfileComposition.php
@@ -56,7 +56,11 @@ class ZendAfi_View_Helper_ProfileComposition extends ZendAfi_View_Helper_BaseHel
 
 
   protected function _getAvailableWidgetsFor($group) {
-    $widgets = (new Class_Systeme_ModulesAccueil)->getWidgets()[$group];
+    $widgets = (new Class_Systeme_ModulesAccueil)->getWidgets();
+    if(!isset($widgets[$group]))
+      return '';
+
+    $widgets = $widgets[$group];
 
     $lis = [];
     foreach($widgets as $type => $label)
@@ -86,12 +90,19 @@ class ZendAfi_View_Helper_ProfileComposition extends ZendAfi_View_Helper_BaseHel
 
 
   protected function _mainContainer() {
-    $html = [$this->_getSideColumn(),
-             $this->_getBannerColumn(),
-             $this->_getDivionsColumns()];
     return
       $this->_tag('h4', $this->_('Boites installées')) .
-      $this->_tag('div', implode($html), ['class' => 'drag_drop_container']);
+      $this->_tag('div', implode($this->_mainContainerComposition()), ['class' => 'drag_drop_container']);
+  }
+
+
+  protected function _mainContainerComposition() {
+    if(Class_Profil::getCurrentProfil()->isTelephone())
+      return [$this->_getDivisionColumn(1, $this->_('Division téléphone'))];
+
+    return[$this->_getSideColumn(),
+           $this->_getBannerColumn(),
+           $this->_getDivionsColumns()];
   }
 
 
diff --git a/public/admin/css/global.css b/public/admin/css/global.css
index 4a69eb8a93e30eb7d2317c689e4348adbb19284b..0e2ba08298ba3c3dee78d9c570f3286ce1208de2 100644
--- a/public/admin/css/global.css
+++ b/public/admin/css/global.css
@@ -1543,6 +1543,11 @@ tr.modified > td + td + td {
     background-color: var(--previous-version-background);
 }
 
+body .required:after,
+body .error,
+body .errors,
+body .errors *,
+body .error *,
 tr.modified label,
 .modules a.modified {
     color: var(--error-text);
diff --git a/public/admin/skins/bokeh74/global.css b/public/admin/skins/bokeh74/global.css
index 690ea659e4b5f7db60b6cd32886fd23003309a13..462e1fb5bf99c2c0f65f8603d6bd1fc2c1489691 100755
--- a/public/admin/skins/bokeh74/global.css
+++ b/public/admin/skins/bokeh74/global.css
@@ -8,9 +8,11 @@ body {
     color: var(--nav-text);
 }
 
-.required:after,
-.error,
-.errors {
+body .required:after,
+body .error,
+body .errors,
+body .errors *,
+body .error * {
     color: var(--error-text);
 }
 
diff --git a/public/admin/skins/retro/global.css b/public/admin/skins/retro/global.css
index 2539f9c8f82770da387eb54ee6a1d7f2bbd7925b..d782284e4afc1cb670a11107c55e39709fa18f18 100755
--- a/public/admin/skins/retro/global.css
+++ b/public/admin/skins/retro/global.css
@@ -791,6 +791,11 @@ tr.modified > td + td + td {
     background-color: var(--previous-version-background);
 }
 
+body .required:after,
+body .error,
+body .errors,
+body .errors *,
+body .error *,
 tr.modified label,
 .modules a.modified {
     color: var(--error-text);
diff --git a/public/opac/js/input_connect_list/input_connect_list.js b/public/opac/js/input_connect_list/input_connect_list.js
index 33459eb87433727af1b60d6dde8d935b8b89c313..313da3f237d14de8f3de027ec671efde9050135a 100644
--- a/public/opac/js/input_connect_list/input_connect_list.js
+++ b/public/opac/js/input_connect_list/input_connect_list.js
@@ -109,9 +109,6 @@
     var containers = widget.find('ul.container_list');
     var fixed = sources.html();
     var lists = widget.find('ul');
-    var action = widget.closest("form").attr("action");
-    action += "#fieldset-profile_composition_group";
-    widget.closest("form").attr("action", action);
 
     containers.each(function() {
       var values = "";
@@ -131,7 +128,6 @@
 	});
 	$(event.target).closest('div').find('input').val(values)
 	$(event.target).closest('form').submit();
-	widget.find('input').change();
       }
     });
   };
diff --git a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php
index 388dd97f3288aeb8a2ae652e620b03402c366e54..b4bedd19106f349831e8201ed069b2ab728ab7d2 100644
--- a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php
+++ b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php
@@ -314,48 +314,53 @@ class Admin_ProfilControllerPageAccueilJeunesseTest extends Admin_ProfilControll
 class ProfilControllerPageAccueilWithTelephonePackMobileTest extends Admin_AbstractControllerTestCase {
   public function setUp() {
     parent::setUp();
-
-    Class_AdminVar::getLoader()->newInstanceWithId('PACK_MOBILE')
-                               ->setValeur(1);
-
-    Class_AdminVar::getLoader()->newInstanceWithId('BIB_NUMERIQUE')
-                               ->setValeur(1);
-
-    $profil_telephone = Class_Profil::getLoader()
-      ->newInstanceWithId(3)
-      ->setLibelle('iPhone')
-      ->beTelephone();
-    $this->dispatch('/admin/profil/accueil/id_profil/3');
+    $this->fixture('Class_AdminVar',
+                   ['id' => 'PACK_MOBILE',
+                    'valeur' => 1]);
+    $this->fixture('Class_AdminVar',
+                   ['id' => 'BIB_NUMERIQUE',
+                    'valeur' => 1]);
+    $profil = $this->fixture('Class_Profil',
+                   ['id' => 3,
+                    'libelle' => 'iphone']);
+    $profil->beTelephone();
+    $this->dispatch('/admin/profil/accueil/id_profil/3', true);
   }
 
 
   /** @test */
   public function moduleNewsShouldBeAvailable() {
-    $this->assertXPath('//ul/li[@id="NEWS"]');
+    $this->assertXPath('//li[@data-value="NEWS-0"]');
   }
 
 
   /** @test */
   public function moduleBibNumeriqueShouldBeAvailable() {
-    $this->assertXPath('//ul/li[@id="BIB_NUMERIQUE"]');
+    $this->assertXPath('//ul/li[@data-value="BIB_NUMERIQUE-0"]');
   }
 
 
   /** @test */
   public function moduleCritiquesShouldBeAvailable() {
-    $this->assertXPath('//ul/li[@id="CRITIQUES"]');
+    $this->assertXPath('//ul/li[@data-value="CRITIQUES-0"]');
   }
 
 
   /** @test */
   public function moduleKiosqueShouldBeAvailable() {
-    $this->assertXPath('//ul/li[@id="KIOSQUE"]');
+    $this->assertXPath('//ul/li[@data-value="KIOSQUE-0"]');
   }
 
 
   /** @test */
   public function moduleLoginShouldNotBeAvailable() {
-    $this->assertNotXPath('//ul/li[@id="LOGIN"]');
+    $this->assertNotXPath('//ul/li[@data-value="LOGIN-0"]');
+  }
+
+
+  /** @test */
+  public function onlyDivision2shouldBeDisplayed() {
+    $this->assertXPath('//div[@class="drag_drop_container"]/div[1][@data-division="1"]');
   }
 }
 
@@ -374,13 +379,13 @@ class ProfilControllerPageAccueilWithTelephoneNoPackMobileNoBibNumTest extends A
 
     $this->profil_jeunesse->beTelephone();
 
-    $this->dispatch('/admin/profil/accueil/id_profil/'.$this->profil_jeunesse->getId());
+    $this->dispatch('/admin/profil/accueil/id_profil/'.$this->profil_jeunesse->getId(), true);
   }
 
 
   /** @test */
   public function moduleNewsShouldBeAvailable() {
-    $this->assertXPath('//ul/li[@id="NEWS"]');
+    $this->assertXPath('//ul/li[@data-value="NEWS-0"]');
   }
 
 
@@ -468,7 +473,7 @@ class Admin_ProfilControllerPageAccueilJeunesseWithPageCssNouveauteTest extends
 
   /** @test **/
   public function pageCssShoudBeNouveauCss() {
-    $this->assertXPath('//input[@name="page_css"][contains(@value, "nouveaute.css")]',$this->_response->getBody());
+    $this->assertXPath('//input[@name="page_css"][contains(@value, "nouveaute.css")]');
   }
 }
 
@@ -523,7 +528,7 @@ class Admin_ProfilControllerPageAccueilNoPanierTest extends Admin_ProfilControll
 
   /** @test **/
   public function boitePanierShouldHaveBeenAddedInDivision5() {
-    $this->assertXPath('//ul[@id="box5"]/li[@id="PANIER"]');
+    $this->assertXPath('//div[@data-division="5"]//li[contains(@data-value, "PANIER")]');
   }
 }
 
@@ -585,7 +590,7 @@ class Admib_ProfilControllerPageAccueilWithWidgetInBannerPostDispatchTest extend
 
   public function setUp() {
     parent::setUp();
-    $this->postDispatch('/admin/profil/accueil/id_profil/3', []);
+    $this->postDispatch('/admin/profil/accueil/id_profil/3', ['libelle' => 'test']);
 
   }
 
@@ -607,7 +612,7 @@ class Admib_ProfilControllerPageAccueilWithWidgetInBannerPostDispatchTest extend
 
 
 
-class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_AbstractControllerTestCase {
+class Admin642_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_AbstractControllerTestCase {
   public function setUp() {
     parent::setUp();
 
@@ -624,14 +629,13 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab
 
     $this->fixture('Class_AdminVar',['id'=>'MENU_BOITE', 'valeur' => 1]);
 
-    $cfg_module = "box1|2|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|3|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|1|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box1|4|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box2|8|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box2|5|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box3|10|PANIER|titre=Favoris---boite=---=---;box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur---titre_connecte=---identifiant=N° de carte---identifiant_exemple=---mot_de_passe=Année de naissance---mot_de_passe_exemple=---lien_connexion=Se connecter---lien_mot_de_passe_oublie=» Mot de passe oublié ?---lien_creer_compte=» S'enregistrer---message_connecte=Bienvenue---lien_compte=Mon compte---lien_deconnection=Se déconnecter---autocomplete_off=1---profil_redirect=---profil_logout_redirect=---boite=boite_banniere_droite---";
-
+    $cfg_module = "box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur---titre_connecte=---identifiant=N° de carte---identifiant_exemple=---mot_de_passe=Année de naissance---mot_de_passe_exemple=---lien_connexion=Se connecter---lien_mot_de_passe_oublie=» Mot de passe oublié ?---lien_creer_compte=» S'enregistrer---message_connecte=Bienvenue---lien_compte=Mon compte---lien_deconnection=Se déconnecter---autocomplete_off=1---profil_redirect=---profil_logout_redirect=---boite=boite_banniere_droite---";
 
-    $this
-      ->getRequest()
-      ->setMethod('POST')
-      ->setPost(array('saveContent' => $cfg_module));
-    $this->dispatch('/admin/profil/accueil/id_profil/713');
+    $this->postDispatch('/admin/profil/accueil/id_profil/713', ['libelle' => 'test',
+                                                                'division1' => 'NEWS-2;NEWS-3;KIOSQUE-1;KIOSQUE-4;',
+                                                                'division2' => 'MENU_VERTICAL-5;CALENDAR-0',
+                                                                'division3' => 'PANIER-10;PANIER-0',
+                                                                'division4' => 'LOGIN-6']);
   }
 
 
@@ -642,9 +646,10 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab
     $this->assertCount(9, $cfg_accueil['modules']);
   }
 
+
   /** @test */
-  public function moduleTenTitleShouldBeFavoris() {
-    $this->assertEquals('Favoris',
+  public function moduleTenTitleShouldBePanier() {
+    $this->assertEquals('Panier',
                         Class_Profil::find(713)->getModuleAccueilPreferences(10, 'PANIER')['titre']);
   }
 }