diff --git a/VERSIONS_HOTLINE/86145 b/VERSIONS_HOTLINE/86145
new file mode 100644
index 0000000000000000000000000000000000000000..71769ad060b4cc922396ec1d8194277321291f00
--- /dev/null
+++ b/VERSIONS_HOTLINE/86145
@@ -0,0 +1 @@
+ - ticket #86145 : Configuration des boîtes et menus "Articles": correction de l'affichage du champ de saisie "nombre d'articles à afficher"
\ No newline at end of file
diff --git a/application/modules/opac/controllers/CmsController.php b/application/modules/opac/controllers/CmsController.php
index 990fd61d4e290410e6043d8cf63bc7941a9fdfee..cf6a512009bc0cdc99391c2fa56d7d78e01e022c 100644
--- a/application/modules/opac/controllers/CmsController.php
+++ b/application/modules/opac/controllers/CmsController.php
@@ -269,22 +269,30 @@ class CmsController extends ZendAfi_Controller_Action {
    /**
     * @param array $preferences
     */
-   protected function _viewArticlesByPreferences($preferences) {
-     $articles = Class_Article::getLoader()->getArticlesByPreferences($preferences);
-     $articles = Class_Article::getLoader()->filterByLocaleAndWorkflow($articles);
+  protected function _viewArticlesByPreferences($preferences) {
+    $this->view->articles = $this->_getArticlesByPreferences($preferences);
 
-     $this->view->articles = $articles;
+    if (array_key_exists('libelle', $preferences))
+      $this->view->titreAdd(($this->view->titre = $preferences['libelle']));
 
-     if (array_key_exists('libelle', $preferences))
-       $this->view->titreAdd(($this->view->titre = $preferences['libelle']));
+    $this->view->show_content =
+      (isset($preferences['summary_content'])
+       && isset($preferences['display_mode'])
+       && ($preferences['display_mode'] == 'Summary'))
+      ? $preferences['summary_content']
+      : 'FullContent';
+
+    $this->renderScript('cms/articlesview.phtml');
+  }
 
-     $this->view->show_content =
-       (isset($preferences['summary_content'])
-        && isset($preferences['display_mode'])
-        && ($preferences['display_mode'] == 'Summary'))
-       ? $preferences['summary_content']
-       : 'FullContent';
 
-     $this->renderScript('cms/articlesview.phtml');
-   }
+  protected function _getArticlesByPreferences($preferences) {
+    $search_preferences = array_intersect_key($preferences,
+                                              Class_Article::getLoader()->getArticlesByPreferencesDefaults());
+    if (Class_AdminVar::isWorkflowEnabled())
+      $search_preferences['status'] = [Class_Article::STATUS_VALIDATED];
+
+    $articles = Class_Article::getLoader()->getArticlesByPreferences($search_preferences);
+    return Class_Article::getLoader()->filterByLocaleAndWorkflow($articles);
+  }
 }
\ No newline at end of file
diff --git a/library/Class/Article.php b/library/Class/Article.php
index b1d6011b76ce4d2cc28d59516227165ac37af410..565a95298a2ce5e09e3b23d27b62f9f205542325 100644
--- a/library/Class/Article.php
+++ b/library/Class/Article.php
@@ -309,31 +309,34 @@ class ArticleLoader extends Storm_Model_Loader {
   }
 
 
+
+  public function getArticlesByPreferencesDefaults() {
+    return ['id_categorie' => '', // catégories d'article, ex: 12-2-8-1-89
+            'id_items' => '', // liste d'articles, ex: 39-28-7
+            'display_order' => '', // tri, cf. méthodes Class_Article::sortByXXX, Random, Selection, CommentCount
+            'nb_analyse' => 0, // afficher nb_aff articles (aléatoires) parmis nb_analyse articles ramenés sur un critère
+            'nb_aff' => null, // nb d'article à retourner
+            'langue' => null, // que les traductions de cette langue
+            'event_date' => null, // que les articles dont les dates de début et/ou de fin inclue cette date
+            'event_start_after' => null, // que les articles dont l'évènement commence après cette date
+            'event_end_after' => null, // que les articles dont l'évènement termine à ou après cette date
+            'id_bib' => null, // filtre par cette bibliothèque
+            'status' => null, // filtre par cet état de workflow cf. Class_Article::STATUS_XXX
+            'events_only' => false, // filtre que les évènements,
+            'published' => true, // seulement les articles dont les date de debut / fin incluent le jour en cours,
+            'id_lieu' => null,  // id du lieu Class_Lieu
+            'display_mode' => 'Title',
+            'custom_fields' => []];
+  }
+
+
   /**
    * @param array $preferences
    * @return array
    */
   public function getArticlesByPreferences($preferences) {
-    $defaults = [
-                 'id_categorie' => '', // catégories d'article, ex: 12-2-8-1-89
-                 'id_items' => '', // liste d'articles, ex: 39-28-7
-                 'display_order' => '', // tri, cf. méthodes Class_Article::sortByXXX, Random, Selection, CommentCount
-                 'nb_analyse' => 0, // afficher nb_aff articles (aléatoires) parmis nb_analyse articles ramenés sur un critère
-                 'nb_aff' => null, // nb d'article à retourner
-                 'langue' => null, // que les traductions de cette langue
-                 'event_date' => null, // que les articles dont les dates de début et/ou de fin inclue cette date
-                 'event_start_after' => null, // que les articles dont l'évènement commence après cette date
-                 'event_end_after' => null, // que les articles dont l'évènement termine à ou après cette date
-                 'id_bib' => null, // filtre par cette bibliothèque
-                 'status' => null, // filtre par cet état de workflow cf. Class_Article::STATUS_XXX
-                 'events_only' => false, // filtre que les évènements,
-                 'published' => true, // seulement les articles dont les date de debut / fin incluent le jour en cours,
-                 'id_lieu' => null,  // id du lieu Class_Lieu
-                 'display_mode' => 'Title',
-                 'custom_fields' => [],
-    ];
-
-    $preferences = array_merge($defaults, $preferences);
+    $preferences = array_merge($this->getArticlesByPreferencesDefaults(),
+                               $preferences);
 
     $this->_sort_order = $preferences['display_order'];
     $this->_nb_aff = (int)$preferences['nb_aff'];
diff --git a/public/admin/js/global.js b/public/admin/js/global.js
index 716f425bc889af164a29f996b040738d8375aa79..d8a5aa96f1db3027f42315ebdb7227a3021a369a 100644
--- a/public/admin/js/global.js
+++ b/public/admin/js/global.js
@@ -193,7 +193,7 @@ function radioToggleVisibilityForElement(eventSourceSelector, objectToShowSelect
   return toggleVisibilityForElement(eventSourceSelector, 
 				    objectToShowSelector, 
 				    function(element) {
-				      return $(element).is(':checked') && (0 <= $.inArray(element.val(), visibleForValues));
+				      return (0 <= $.inArray($(eventSourceSelector + ':checked').val(), visibleForValues));
 				    });
 }
 
diff --git a/tests/application/modules/opac/controllers/CmsControllerTest.php b/tests/application/modules/opac/controllers/CmsControllerTest.php
index 6b862adb24d5f80d63a428890131730f562b1795..266aca12224e365a65fdf8d27e0a192ab49b2561 100644
--- a/tests/application/modules/opac/controllers/CmsControllerTest.php
+++ b/tests/application/modules/opac/controllers/CmsControllerTest.php
@@ -1549,8 +1549,7 @@ class CmsControllerArticleViewSelectionFromHorizontalMenuBoxTest extends Abstrac
 
     Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Article')
       ->whenCalled('getArticlesByPreferences')
-      ->with(['titre' => 'Nouvelles',
-              'id_items' => 2,
+      ->with(['id_items' => 2,
               'display_order' => 'Selection',
               'nb_aff' => 30])
       ->answers([$article]);
@@ -1567,9 +1566,33 @@ class CmsControllerArticleViewSelectionFromHorizontalMenuBoxTest extends Abstrac
 
 
 
+class CmsControllerArticleViewPreferencesWithWorkflowTest extends CmsControllerListTestCase {
+  protected function _dispatchHook() {
+    Class_AdminVar::set('WORKFLOW', '1');
+
+    Class_Article::getLoader()
+      ->whenCalled('getArticlesByPreferences')->answers([])
+      ->whenCalled('getArticlesByPreferences')
+      ->with(['nb_aff' => 2,
+              'display_order' => 'DebutPublicationDesc',
+              'status' => [Class_Article::STATUS_VALIDATED]])
+      ->answers($this->_createFeteDeLaFriteAndMatsumotoArticles());
+    $this->dispatch('/cms/articleviewpreferences/nb_aff/2/display_order/DebutPublicationDesc');
+  }
+}
+
+
+
 
 class CmsControllerArticleViewPreferencesBySelectionTest extends CmsControllerListTestCase {
   protected function _dispatchHook() {
+    Class_Article::getLoader()
+      ->whenCalled('getArticlesByPreferences')->answers([])
+      ->whenCalled('getArticlesByPreferences')
+      ->with(['id_items' => '1-3',
+              'display_order' => 'Selection'])
+      ->answers($this->_createFeteDeLaFriteAndMatsumotoArticles());
+
     Class_Article::find(224)->setPickDay('5')->save();
     $this->dispatch('/cms/articleviewpreferences?id_items=1-3&display_order=Selection');
   }