diff --git a/client/modules/vitis/forms/user/user_vitis_user.json b/client/modules/vitis/forms/user/user_vitis_user.json
index 6f550c0bd851c4a256a832dd97f7b8ef1d7a0a2c..6042656ced48e36bbf7436f68eb19e85f3acec83 100644
--- a/client/modules/vitis/forms/user/user_vitis_user.json
+++ b/client/modules/vitis/forms/user/user_vitis_user.json
@@ -152,14 +152,16 @@
                                 }
                             ]
                         },
-                        "default_value": false
+                        "default_value": false,
+                        "visible": "oProperties.enableEncryptionForUsers == true ? true : false"
                     },
                     {
                         "type": "hidden",
                         "name": "encrypted_secretkey",
                         "label": "",
                         "required": false,
-                        "nb_cols": 1
+                        "nb_cols": 1,
+                        "visible": "oProperties.enableEncryptionForUsers == true ? true : false"
                     },
                     {
                         "type": "password",
@@ -167,9 +169,9 @@
                         "label": "FORM_SECRETKEY_USER_USER",
                         "required": false,
                         "pattern": "^[^\t\r\n]+$",
-                        "visible": "= {{dataencrypt}} === true",
+                        "visible": "= {{dataencrypt}} === true && oProperties.enableEncryptionForUsers",
                         "tooltip": {
-                                "title":"",
+                                "title":"FORM_DATAENCRYPT_TOOLTIP_USER_TITLE",
                                 "content":"FORM_DATAENCRYPT_TOOLTIP_USER_USER",
                                 "container": "body",
                                 "html": true
diff --git a/client/modules/vitis/lang/lang-en.json b/client/modules/vitis/lang/lang-en.json
index c59597f57237e1b798a09f72cfd22bf7a37df7ce..b383a8afabdd1545ff87faa5fea21f8ec3df13d8 100644
--- a/client/modules/vitis/lang/lang-en.json
+++ b/client/modules/vitis/lang/lang-en.json
@@ -152,6 +152,7 @@
     "FORM_PHONE_USER_USER" : "Telephone number (for SMS) in international E.164 format (+33 6 xx xx xx xx)",
     "FORM_TIMEZONE_ID_USER_USER" : "Time Zone",
     "FORM_FORMATDATE_ID_USER_USER" : "Date display format",
+    "FORM_DATAENCRYPT_TOOLTIP_USER_TITLE" : "Data encryption",
     "FORM_DATAENCRYPT_TOOLTIP_USER_USER" : "The results produced by GTF will be encrypted using the \"AES 256\" algorithm, you will need a suitable tool to open these files. (ex: 7zip)",
     "": "",
     "USER_ROLE_TOOLTIP_TITLE_USERS_USER": "Description",
diff --git a/client/modules/vitis/lang/lang-fr.json b/client/modules/vitis/lang/lang-fr.json
index 79046043a1a90eaa5a8371a65f29302db4121f47..7ed0e0437dbb44de208982f66b059dcdaf04ff1b 100644
--- a/client/modules/vitis/lang/lang-fr.json
+++ b/client/modules/vitis/lang/lang-fr.json
@@ -154,6 +154,7 @@
     "FORM_PHONE_USER_USER" : "N° de téléphone (pour SMS) au format international E.164 (+33 6 xx xx xx xx)",
     "FORM_TIMEZONE_ID_USER_USER" : "Fuseau horaire",
     "FORM_FORMATDATE_ID_USER_USER" : "Format d'affichage des dates",
+    "FORM_DATAENCRYPT_TOOLTIP_USER_TITLE" : "Cryptage des données",
     "FORM_DATAENCRYPT_TOOLTIP_USER_USER" : "Le cryptage des données entraîne le chiffrement avec l’algorithme AES-256 des jeux de données générés par GTF et téléchargeables. Si la clef de chiffrement personnelle n'est pas définie, une clé est générée aléatoirement à chaque traitement et envoyée à l'utilisateur avec le mail optionnel de notification. Cette clef ne peut pas être retrouvée et le message ne peut pas être renvoyé. Les utilisateurs doivent donc demander a être notifiés de la fin du traitement (fonctionnement par défaut) si leur clé de chiffrement n'est pas définie.",
     "": "",
     "USER_ROLE_TOOLTIP_TITLE_USERS_USER": "Description",
diff --git a/vas/rest/index.vhtml b/vas/rest/index.vhtml
index 4e0e614d1bd2d65f7ec472036138c5efa867865a..44fcbfafc04970d93a27ba07d5f48bf0eae08435 100755
--- a/vas/rest/index.vhtml
+++ b/vas/rest/index.vhtml
@@ -1,4 +1,8 @@
 <?php
-	header('Content-type: '.$aValues['output'].'; charset='.$properties["page_encoding"]);
+	ob_end_flush();
+	$aCurrentHeaders = apache_response_headers();
+	if(!array_key_exists('Content-Type-Set-By', $aCurrentHeaders)){
+		header('Content-type: '.$aValues['output'].'; charset='.$properties["page_encoding"]);
+	}
 	echo $sMessage;
-?>
\ No newline at end of file
+?>
diff --git a/vas/rest/ws/vitis/FileDownloader.class.inc b/vas/rest/ws/vitis/FileDownloader.class.inc
index 854558d81f05802278f69985a63b0d8562ecf041..c2f2e825c66a8686562611730132344501797afa 100755
--- a/vas/rest/ws/vitis/FileDownloader.class.inc
+++ b/vas/rest/ws/vitis/FileDownloader.class.inc
@@ -14,6 +14,7 @@
 require_once 'Vitis.class.inc';
 require_once ("aws_sdk/aws-autoloader.php");
 require_once ("vmlib/phpUtil.inc");
+require_once "vmlib/files/Files_manager.class.inc";
 
 class FileDownloader extends Vitis {
     /**
@@ -127,8 +128,9 @@ class FileDownloader extends Vitis {
                       return array("status" => 1, "fileName" => $sFileName);
                   }
 
-                  header("Content-Type: " . $sContentType);
-                  if (in_array($sContentType, array("text/plain", 'application/pdf', 'text/html'))){
+                  header("Content-Type: " . $sContentType .'; charset='. $this->aProperties["page_encoding"]);
+                  header("Content-Type-Set-By: vitis/filedownloader");
+                  if (in_array($sContentType, array("text/plain", 'application/pdf', 'text/html', 'application/xml', 'application/json'))){
                       header("Content-disposition: inline; filename=\"" . rawurlencode($sFileName) . "\"");
                   } else {
                       header("Content-disposition: attachment; filename=\"" . rawurlencode($sFileName) . "\"");
diff --git a/vas/rest/ws/vitis/Users.class.inc b/vas/rest/ws/vitis/Users.class.inc
index 85fa8078684d68a54cb2458929d12413413de62a..dbd30e03ec789141d57883e48ff65d690be7ac3e 100755
--- a/vas/rest/ws/vitis/Users.class.inc
+++ b/vas/rest/ws/vitis/Users.class.inc
@@ -271,6 +271,10 @@ class Users extends Vitis {
                         $aXmlRacineAttribute['status'] = 0;
                         $sMessage = $oError->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
                     } else {
+                        // suppression des valeur permettant d'activer l'encryption lors du post pour que l'administrateur ne puisse pas l'activer à travers l'API
+                        unset($this->aValues['secretkey']);
+                        unset($this->aValues['dataencrypt']);
+                        unset($this->aValues['encrypted_secretkey']);
                         // insert user in table
                         $iId = $this->oConnection->oBd->insert($this->aProperties['schema_framework'], 'v_user', $this->aValues, $this->aProperties['schema_framework'] . '.seq_common', 'user_id');
                         if ($this->oConnection->oBd->enErreur()) {
@@ -417,6 +421,11 @@ class Users extends Vitis {
             $sLogin = str_replace(array('à', 'â', 'ä', 'á', 'ã', 'å', 'î', 'ï', 'ì', 'í', 'ô', 'ö', 'ò', 'ó', 'õ', 'ø', 'ù', 'û', 'ü', 'ú', 'é', 'è', 'ê', 'ë', 'ç', 'ÿ', 'ñ'), array('a', 'a', 'a', 'a', 'a', 'a', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'e', 'e', 'e', 'e', 'c', 'y', 'n',), $sLogin);
             unset($this->aValues['login']);
             $this->aValues['secretkey'] = $this->aValues['encrypted_secretkey'];
+            if($this->aProperties['enableEncryptionForUsers'] !== true){
+                unset($this->aValues['secretkey']);
+                unset($this->aValues['dataencrypt']);
+                unset($this->aValues['encrypted_secretkey']);
+            }
             $aReturn = $this->genericPut($this->aProperties['schema_framework'], 'v_user', 'user_id');
             $aXmlRacineAttribute['status'] = $aReturn['sStatus'];
             $sMessage = $aReturn['sMessage'];