diff --git a/application/modules/admin/controllers/IndexController.php b/application/modules/admin/controllers/IndexController.php
index 8342287550827cdbf43953c8e3ebb4c4eccc5834..de4c24e2031207f5d784e024feea688bf65e42fe 100644
--- a/application/modules/admin/controllers/IndexController.php
+++ b/application/modules/admin/controllers/IndexController.php
@@ -70,7 +70,7 @@ class Admin_IndexController extends ZendAfi_Controller_Action {
 		$id = $this->_getParam('cle');
 		$var = Class_AdminVar::find($id);
 
-		$form = ZendAfi_Form_Admin_AdminVar::newWith($var);
+		$form = ZendAfi_Form_Admin_AdminVar::newWithAdminVar($var);
 		$form->setAction($this->view->url());
 		$form->setAttrib('data-backurl',
 										 $this->view->url(['action' => 'adminvar']));
diff --git a/library/Class/AdminVar.php b/library/Class/AdminVar.php
index e39899d174879540cb4929305f76923fa4482405..aab5c7346d6901f08cf431a633e807c98fbe2b6f 100644
--- a/library/Class/AdminVar.php
+++ b/library/Class/AdminVar.php
@@ -378,6 +378,7 @@ class Class_AdminVar extends Storm_Model_Abstract {
 						'[{"id":10, "label":"À valider niveau 2"}, {"id":11, "label":"À valider niveau 3"}]',
 						'Les identifiants 1 à 5 sont réservés'
 					]),
+											 'after_save' => 'setWorkflowPermissions',
 				],
 				'WORKFLOW_TEXT_MAIL_ARTICLE_PENDING' => [
 					'description' => 'Contenu de l\'email de notification d\'article en attente de validation',
@@ -601,19 +602,6 @@ class Class_AdminVar extends Storm_Model_Abstract {
 	}
 
 
-	/**
-	 * @param $name string
-	 * @return string
-	 */
-	public static function helpFor($name) {
-		$known_vars = static::getKnownVars();
-		if (!isset($known_vars[$name]['description']))
-			return '';
-		return $known_vars[$name]['description'];
-	}
-
-
-
 	/** @return bool */
 	public static function isCacheEnabled() {
 		return self::isModuleEnabled('CACHE_ACTIF');
@@ -676,15 +664,28 @@ class Class_AdminVar extends Storm_Model_Abstract {
 		return static::helpFor($this->getId());
 	}
 
-
-	public function getType() {
+	public function getVarMetaDataIfNone($key, $default_value) {
 		$known_vars = static::getKnownVars();
 		$name = $this->getId();
-		if (!isset($known_vars[$name]['type']))
-			return self::TYPE_DEFAULT;
-		return $known_vars[$name]['type'];
+		if (!isset($known_vars[$name][$key]))
+			return $default_value;
+		return $known_vars[$name][$key];
+	}
+
+	public function getType() {
+		return $this->getVarMetaDataIfNone('type', self::TYPE_DEFAULT);
+	}
+
+
+	/**
+	 * @param $name string
+	 * @return string
+	 */
+	public static function helpFor($name) {
+		return static::find($name)->getVarMetaDataIfNone('description', '');
 	}
 
+
 	public function isOnOff() {
 		return $this->getType() == self::TYPE_ON_OFF;
 	}
@@ -746,10 +747,14 @@ class Class_AdminVar extends Storm_Model_Abstract {
 
 
 	public function afterSave() {
-		if ('WORKFLOW' != $this->getId())
-			return;
+		if ($afterSaveHook = $this->getVarMetaDataIfNone('after_save', null)) {
+			call_user_func([$this, $afterSaveHook]);
+		}
+	}
+
 
-		$statuses = json_decode($this->getValeur());
+	protected function setWorkflowPermissions() {
+			$statuses = json_decode($this->getValeur());
 		if (!is_array($statuses)) {
 			Class_Permission::cleanDynamicWorkflow();
 			return;
diff --git a/library/ZendAfi/Form/Admin/AdminVar.php b/library/ZendAfi/Form/Admin/AdminVar.php
index bd8ab8b07b7cb32c91f0822695c0f34d24728e5c..1d9a09480367669b01ba12272a57cf1558d3b8d7 100644
--- a/library/ZendAfi/Form/Admin/AdminVar.php
+++ b/library/ZendAfi/Form/Admin/AdminVar.php
@@ -28,7 +28,8 @@ class ZendAfi_Form_Admin_AdminVar extends ZendAfi_Form {
 		 Class_AdminVar::TYPE_ENCODED_DATA => 'ZendAfi_Form_Admin_AdminVar_EncodedData',
 		];
 
-	public static function newWith($admin_var) {
+
+	public static function newWithAdminVar($admin_var) {
 		$form_class = static::$_FORM_CLASSES[$admin_var->getType()];
 
 		$form = (new $form_class());
diff --git a/tests/bootstrap_frontcontroller.php b/tests/bootstrap_frontcontroller.php
index af4c0de2ba119cfe03914a13ea0b0c348be1318f..8b82fc7e6ce54739b0e280bb473496c85f3eba68 100644
--- a/tests/bootstrap_frontcontroller.php
+++ b/tests/bootstrap_frontcontroller.php
@@ -31,4 +31,6 @@ $controller = newFrontController()->throwExceptions(true);
 Zend_Controller_Action_HelperBroker::addHelper(new ZendAfi_Controller_Action_Helper_ViewRenderer());
 
 setupRoutes($controller, new Zend_Config([]));
+
+$controller->getRouter()->addDefaultRoutes();
 ?>
\ No newline at end of file