diff --git a/VERSIONS_HOTLINE/34181 b/VERSIONS_HOTLINE/34181
new file mode 100644
index 0000000000000000000000000000000000000000..52b39d4d86332d499b28f7851dc26f2f8bbc2ac3
--- /dev/null
+++ b/VERSIONS_HOTLINE/34181
@@ -0,0 +1 @@
+ - ticket #34181 : Optimisation de la vérification des permissions de catégories d'article
\ No newline at end of file
diff --git a/library/Class/Permission.php b/library/Class/Permission.php
index 000d23d912b58b68116578fb06e309c4de84f292..f6c675db194a720c4c1a30ac43af4b3106702bbe 100644
--- a/library/Class/Permission.php
+++ b/library/Class/Permission.php
@@ -24,14 +24,23 @@ class PermissionLoader extends Storm_Model_Loader {
   const DYNAMIC_PREFIX = 'DYNAMIC_';
   const WORKFLOW_TYPE = 'Nouveaux statuts autorisés';
 
+  protected
+    $_article,
+    $_article_category,
+    $_cms;
+
+
   public function getCmsPermissions() {
+    if ($this->_cms)
+      return $this->_cms;
+
     $params = ['module' => static::MODULE_ARTICLE,
                'order' => ['type', 'sorting']];
 
     if (!Class_AdminVar::isWorkflowEnabled())
       $params['type not'] = static::WORKFLOW_TYPE;
 
-    return Class_Permission::findAllBy($params);
+    return $this->_cms = Class_Permission::findAllBy($params);
   }
 
 
@@ -64,14 +73,18 @@ class PermissionLoader extends Storm_Model_Loader {
 
 
   public function createArticle() {
-    return Class_Permission::findFirstBy(['module' => static::MODULE_ARTICLE,
-                                          'code' => 'ARTICLE']);
+    if (!$this->_article)
+      $this->_article = Class_Permission::findFirstBy(['module' => static::MODULE_ARTICLE,
+                                                       'code' => 'ARTICLE']);
+    return $this->_article;
   }
 
 
   public function createArticleCategory() {
-    return Class_Permission::findFirstBy(['module' => static::MODULE_ARTICLE,
-                                          'code' => 'CATEGORY']);
+    if (!$this->_article_category)
+      $this->_article_category = Class_Permission::findFirstBy(['module' => static::MODULE_ARTICLE,
+                                                                'code' => 'CATEGORY']);
+    return $this->_article_category;
   }