diff --git a/library/Class/Systeme/Widget/Menu.php b/library/Class/Systeme/Widget/Menu.php
index 0d59fe25f21b6ea0618f6afeec2888c008c2d429..6513990bc764af27ac8fab4da5659fa335502705 100644
--- a/library/Class/Systeme/Widget/Menu.php
+++ b/library/Class/Systeme/Widget/Menu.php
@@ -77,6 +77,10 @@ class Class_Systeme_Widget_Menu extends Class_Systeme_Widget_Abstract {
     $datas = array_merge($this->getLocalSettings(),
                          $this->getNewDatas());
 
+    if(isset($datas['preferences']))
+      unset($datas['preferences']);
+
+    $datas['preferences'] = $datas;
     $sub_menus = null;
     if(isset($datas['children']))
       $sub_menus = $this->_convertChildren($datas['children']);
diff --git a/library/ZendAfi/View/Helper/Admin/Menus.php b/library/ZendAfi/View/Helper/Admin/Menus.php
index 8513a05b257417c70f8ff127be064f32e5e84331..75bfb6273382d0ea81cd031efdb3f398f15a85ef 100644
--- a/library/ZendAfi/View/Helper/Admin/Menus.php
+++ b/library/ZendAfi/View/Helper/Admin/Menus.php
@@ -42,7 +42,7 @@ class ZendAfi_View_Helper_Admin_Menus extends Zendafi_View_Helper_Basehelper {
 
 
   protected function _renderNav($params) {
-    $params['libelle'] = $this->_tagDuplicateNav() . $params['libelle'];
+    $params['libelle'] = $params['libelle'] . $this->_tagDuplicateNav();
     return $this->_renderMenu('H', $params);
   }
 
diff --git a/public/admin/css/subModal.css b/public/admin/css/subModal.css
index e5e3cec05dfed1eed5ed2e918c440d2de588c0a2..8a70a5cdc3715f05be6721e1a6b5e274b7bf43a9 100644
--- a/public/admin/css/subModal.css
+++ b/public/admin/css/subModal.css
@@ -58,22 +58,21 @@
 	cursor: pointer;
 }
 
-body.admin a[data-popup="true"].image-loading-status {
-    display: inline-block;
-}
-
 a[data-popup="true"].image-loading-status {
     background-image: url(../images/patience.gif);
-    background-size: 1em;
+    background-size: 16px;
     background-position: center;
     background-repeat: no-repeat;
+    display: inline-block !important;
     min-width: 16px;
     min-height: 16px;
     overflow: hidden;
     color: transparent;
     -moz-transition: all 0s ease-out;
     -webkit-transition: all 0s ease-out;
-
+    margin: 0 !important;
+    padding: 0 !important;
+    cursor: progress;
 }
 
 a[data-popup="true"].image-loading-status img {
diff --git a/public/admin/skins/bokeh74/form.css b/public/admin/skins/bokeh74/form.css
index 2999eae5c26f4a68e7a8c9c6cb9dde50a81dc5ac..e79705992ecb8afe8df15cff8c510a3e2147ce81 100644
--- a/public/admin/skins/bokeh74/form.css
+++ b/public/admin/skins/bokeh74/form.css
@@ -10,6 +10,16 @@
     background: var(--widget-background);
 }
 
+.admin-form .input_connect_list h2 {
+    color: var(--main-text);
+    background: var(--main-background);
+}
+
+.admin-form input {
+    height: auto;
+    width: auto;
+}
+
 .admin-form * {
     font-family: arial, sans-serif;
     font-size: 1em;
@@ -75,6 +85,7 @@
 
 .current_edition:after {
     content: '';
+    cursor: progress;
     height: 100%;
     width: 100%;
     position: absolute;
@@ -108,3 +119,8 @@
 .admin-form table td.droite {
     text-align: right !important;
 }
+
+.current_edition .configuration_module {
+    display: block !important;
+    opacity: 1 !important;
+}
\ No newline at end of file
diff --git a/public/admin/skins/bokeh74/jquery.css b/public/admin/skins/bokeh74/jquery.css
index 772e2ba805dd1f23def9488ae8928479c8194618..babd470fa4ce3db765fee853ceb9e0809aab991d 100644
--- a/public/admin/skins/bokeh74/jquery.css
+++ b/public/admin/skins/bokeh74/jquery.css
@@ -177,4 +177,8 @@ body .ui-state-active .ui-accordion-header-icon {
 
 body .ui-front {
     z-index: 101;
+}
+
+body .ui-dialog .show_drag_and_drop {
+    max-height: 2em;
 }
\ No newline at end of file
diff --git a/public/opac/css/global.css b/public/opac/css/global.css
index be7852e39bf6d74a3b0d3b819e28e726ecceee8d..7d61e668e972dd13654b453abb6c0715cb502503 100644
--- a/public/opac/css/global.css
+++ b/public/opac/css/global.css
@@ -3502,16 +3502,25 @@ th.actions {
     padding: 1em;
 }
 
+a.edit_menu:focus,
+a.edit_menu:hover,
 a.edit_menu {
     display: block;
-    margin: 0;
+    margin: 0 !important;
+    padding: 0 !important;
     left: 0;
     top: 3px;
     z-index: 101;
+    background-color: transparent !important;
+    margin: 0 !important;
+    padding: 0 !important;
+    height: auto !important;
+    width: auto !important;
 }
 
 a.edit_menu img {
-    height: 16px;
-    width: 16px;
-    margin: 0;
+    height: 16px !important;
+    width: 16px !important;
+    margin: 0 !important;
+    padding: 0 !important;
 }
\ No newline at end of file
diff --git a/public/opac/js/input_connect_list/input_connect_list.css b/public/opac/js/input_connect_list/input_connect_list.css
index 280512b338679ba414948888eac796ea551dbb9a..76f5bcebb43c59c17532331521c2d7c484c44605 100644
--- a/public/opac/js/input_connect_list/input_connect_list.css
+++ b/public/opac/js/input_connect_list/input_connect_list.css
@@ -45,6 +45,7 @@
     width: 90%;
     padding: 0 5px;
     overflow: hidden;
+    overflow-y: auto;
 }
 
 .show_inline {
diff --git a/public/opac/js/responsive.js b/public/opac/js/responsive.js
index 54d3bdbe6ee85a1feaaf8b01cd9b4d4970d7ce9d..8feb8e707865dcd71f6e5478c5d3a9a20bb679fd 100644
--- a/public/opac/js/responsive.js
+++ b/public/opac/js/responsive.js
@@ -5,7 +5,9 @@ $(document).ready(function() {
       $(this).toggleClass('show_menu');
     });
 
-    $("div:not(.boite)[class*='menu_horizontal'] *, .menu_vertical.toggle_menu * ").not('.configuration_module *').click(function(e) {
+    $("div:not(.boite)[class*='menu_horizontal'] *, .menu_vertical.toggle_menu * ")
+      .not('.configuration_module *,[class*="edit_"], [class*="edit_"] *')
+      .click(function(e) {
       e.stopImmediatePropagation();
     });
   }
@@ -16,9 +18,11 @@ $(document).ready(function() {
       $(this).toggleClass('show_content');
     });
 
-    excludeExternalLinks($("#col_wrapper .colGauche div.boite *, .facette_outer *")).not('.configuration_module *').click(function(e) {
-      e.stopPropagation();
-    });
+    excludeExternalLinks($("#col_wrapper .colGauche div.boite *, .facette_outer *"))
+      .not('.configuration_module *,[class*="edit_"], [class*="edit_"] *')
+      .click(function(e) {
+	e.stopPropagation();
+      });
   }
 
 
diff --git a/public/opac/js/subModal.js b/public/opac/js/subModal.js
index 6bc1cc57568960e3f499d8c531906e2ebbd9ebd7..4fccbd1ac2c6fe210c6a9a82653b86c3baf6367a 100644
--- a/public/opac/js/subModal.js
+++ b/public/opac/js/subModal.js
@@ -76,8 +76,12 @@
     addLoadingClass();
     var popup = $(event.target).closest('.ui-widget');
     popup.addClass('fixed_popup');
-    if(parseInt(popup.css('top')) > 500)
+
+    if((parseInt(popup.css('top')) > 500) || (parseInt(popup.css('top')) < 1))
       popup.css('top', '25%');
+
+    if(parseInt(popup.css('left')) < 1)
+      popup.css('left', '25%');
   }
 
 
@@ -157,7 +161,7 @@
     var modal = container.dialog({
       title: data['title'],
       width: 'auto',
-      height: 300,
+      height: 'auto',
       modal:show_modal,
       position: {'my': 'center bottom', 'at': 'center center', 'of': window},
       close: function(event, ui) {
diff --git a/tests/scenarios/Widgets/WidgetsTest.php b/tests/scenarios/Widgets/WidgetsTest.php
index 5a4540256756b6a97d792de1ea55c24bfea0e552..744b0c54cacd5bc4d15860411142a5fa1bc1d9be 100644
--- a/tests/scenarios/Widgets/WidgetsTest.php
+++ b/tests/scenarios/Widgets/WidgetsTest.php
@@ -191,19 +191,20 @@ class WidgetsEditNavEntryPostDispatchTest extends WidgetsNavSimpleTestCase {
   /** @test */
   public function profilShouldContainsLinkToProfil() {
     $this->postDispatch('admin/widget/edit-menu/id/1/id_profil/2/parent/H', ['libelle' => 'home',
-                                                                       'picto' => 'home.gif',
-                                                                       'clef_profil' => '1']);
+                                                                             'picto' => 'home.gif',
+                                                                             'clef_profil' => '25']);
     $this->assertEquals('PROFIL', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['type_menu']);
     $this->assertEquals('1', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['id_module']);
-    $this->assertEquals('1', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['clef_profil']);
+    $this->assertEquals('25', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['clef_profil']);
+    $this->assertEquals('25', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['preferences']['clef_profil']);
   }
 
 
   /** @test */
   public function profilShouldContainsMenu() {
     $this->postDispatch('admin/widget/edit-menu/id/3/id_profil/2/parent/H', ['libelle' => 'menu',
-                                                                       'picto' => 'vide.gif',
-                                                                       'children' => 'PANIER;4;RECH_SIMPLE;']);
+                                                                             'picto' => 'vide.gif',
+                                                                             'children' => 'PANIER;4;RECH_SIMPLE;']);
     $this->assertEquals('MENU', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[3]['type_menu']);
     $this->assertEquals('3', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[3]['id_module']);
     $this->assertEquals([4 => ['type_module' => 'PANIER',
@@ -231,15 +232,21 @@ class WidgetsEditNavEntryPostDispatchTest extends WidgetsNavSimpleTestCase {
   /** @test */
   public function profilShouldContainsLinkToProfilAgenda() {
     $this->postDispatch('admin/widget/edit-menu/id/4/id_profil/2/parent/H', ['libelle' => 'agenda',
-                                                                       'picto' => 'agenda.svg',
-                                                                       'clef_profil' => '7']);
+                                                                             'picto' => 'agenda.svg',
+                                                                             'clef_profil' => '7']);
     $this->assertEquals(['type_menu' => 'PROFIL',
                          'type_module' => 'PROFIL',
                          'action' => '',
                          'libelle' => 'agenda',
                          'picto' => 'agenda.svg',
                          'clef_profil' => '7',
-                         'preferences' => ['clef_profil' => '5'],
+                         'preferences' => ['clef_profil' => '7',
+                                           'type_module' => 'PROFIL',
+                                           'type_menu' => 'PROFIL',
+                                           'id_module' => '4',
+                                           'libelle' => 'agenda',
+                                           'picto' => 'agenda.svg',
+                                           'action' => ''],
                          'id_module' => 4],
                         Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[3]['sous_menus'][4]);
   }
@@ -350,7 +357,13 @@ class WidgetsNavMenuPostTest extends Admin_AbstractControllerTestCase {
                          'action' => '',
                          'libelle' => 'new profil',
                          'picto' => 'home.gif',
-                         'preferences' => ['clef_profil' => '2'],
+                         'preferences' => ['clef_profil' => '4',
+                                           'type_module' => 'PROFIL',
+                                           'type_menu' => 'PROFIL',
+                                           'id_module' => '1',
+                                           'libelle' => 'new profil',
+                                           'picto' => 'home.gif',
+                                           'action' => ''],
                          'id_module' => 1,
                          'clef_profil' => '4'], Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[0]['sous_menus'][1]);
   }
@@ -456,7 +469,7 @@ class WidgetsPostEditVerticalMenuTest extends WidgetsSimpleTestCase {
   }
 
 
-    /** @test */
+  /** @test */
   public function newMenuShouldInMenuCfg() {
     $this->assertEquals(['libelle' => 'Nouveau menu',
                          'picto' => '',