diff --git a/modules/sendmail/Controllers/MessageExchangeReviewController.php b/modules/sendmail/Controllers/MessageExchangeReviewController.php
old mode 100644
new mode 100755
index 4e4b9b25087e577fab05a846dd07f14609f5ab12..5345329e059c888f35dfba48409bcac219836a76
--- a/modules/sendmail/Controllers/MessageExchangeReviewController.php
+++ b/modules/sendmail/Controllers/MessageExchangeReviewController.php
@@ -19,6 +19,7 @@ use Slim\Http\Request;
 use Slim\Http\Response;
 use Resource\models\ResModel;
 use Action\models\ActionModel;
+use SrcCore\models\CoreConfigModel;
 
 require_once __DIR__.'/../../export_seda/Controllers/ReceiveMessage.php';
 require_once 'modules/export_seda/RequestSeda.php';
@@ -46,6 +47,9 @@ class MessageExchangeReviewController
         }
     }
 
+    /*
+    * Used in manage_action.php, so does not remove sessions
+    */
     public static function sendMessageExchangeReview($aArgs = [])
     {
         $messageExchangeData = self::canSendMessageExchangeReview(['res_id' => $aArgs['res_id']]);
@@ -83,7 +87,8 @@ class MessageExchangeReviewController
 
             $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_Notification';
 
-            $filePath = $sendMessage->generateMessageFile($reviewObject, 'ArchiveModificationNotification', $_SESSION['config']['tmppath']);
+            $tmpPath = CoreConfigModel::getTmpPath();
+            $filePath = $sendMessage->generateMessageFile($reviewObject, 'ArchiveModificationNotification', $tmpPath);
 
             $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_NotificationSent';
             $reviewObject->TransferringAgency = $reviewObject->OriginatingAgency;
@@ -107,7 +112,7 @@ class MessageExchangeReviewController
 
     public function saveMessageExchangeReview(Request $request, Response $response)
     {
-        if (empty($_SESSION['user']['UserId'])) {
+        if (empty($GLOBALS['userId'])) {
             return $response->withStatus(401)->withJson(['errors' => 'User Not Connected']);
         }
 
@@ -123,7 +128,8 @@ class MessageExchangeReviewController
         }
 
         $receiveMessage = new \ReceiveMessage();
-        $res = $receiveMessage->receive($_SESSION['config']['tmppath'], $tmpName, $data['type']);
+        $tmpPath = CoreConfigModel::getTmpPath();
+        $res = $receiveMessage->receive($tmpPath, $tmpName, $data['type']);
 
         $sDataObject = $res['content'];
         $dataObject = json_decode($sDataObject);
diff --git a/modules/sendmail/Controllers/ReceiveMessageExchangeController.php b/modules/sendmail/Controllers/ReceiveMessageExchangeController.php
index a686c1ebcd458eb78269d9b0e00bb4fd337235f4..596c0fd0b20c0eab7f0400b72d72af6cce86bcea 100644
--- a/modules/sendmail/Controllers/ReceiveMessageExchangeController.php
+++ b/modules/sendmail/Controllers/ReceiveMessageExchangeController.php
@@ -39,11 +39,11 @@ class ReceiveMessageExchangeController
 
     public function saveMessageExchange(Request $request, Response $response)
     {
-        if (!ServiceModel::hasService(['id' => 'save_numeric_package', 'userId' => $_SESSION['user']['UserId'], 'location' => 'sendmail', 'type' => 'menu'])) {
+        if (!ServiceModel::hasService(['id' => 'save_numeric_package', 'userId' => $GLOBALS['userId'], 'location' => 'sendmail', 'type' => 'menu'])) {
             return $response->withStatus(403)->withJson(['errors' => 'Service forbidden']);
         }
 
-        if (empty($_SESSION['user']['UserId'])) {
+        if (empty($GLOBALS['userId'])) {
             return $response->withStatus(401)->withJson(['errors' => 'User Not Connected']);
         }
 
@@ -58,7 +58,8 @@ class ReceiveMessageExchangeController
         $this->addComment('['.date("d/m/Y H:i:s") . '] Validation du pli numérique');
         /********** EXTRACTION DU ZIP ET CONTROLE *******/
         $receiveMessage = new \ReceiveMessage();
-        $res = $receiveMessage->receive($_SESSION['config']['tmppath'], $tmpName, 'ArchiveTransfer');
+        $tmpPath = CoreConfigModel::getTmpPath();
+        $res = $receiveMessage->receive($tmpPath, $tmpName, 'ArchiveTransfer');
 
         if ($res['status'] == 1) {
             return $response->withStatus(400)->withJson(["errors" => _ERROR_RECEIVE_FAIL. ' ' . $res['content']]);
@@ -117,11 +118,11 @@ class ReceiveMessageExchangeController
         ]);
 
         $basketRedirection = null;
-        $userBaskets = BasketModel::getBasketsByUserId(['userId' => $_SESSION['user']['UserId']]);
+        $userBaskets = BasketModel::getBasketsByUserId(['userId' => $GLOBALS['userId']]);
         if (!empty($userBaskets)) {
             foreach ($userBaskets as $value) {
                 if ($value['basket_id'] == $aDefaultConfig['basketRedirection_afterUpload'][0]) {
-                    $userGroups = UserModel::getGroupsByUserId(['userId' => $_SESSION['user']['UserId']]);
+                    $userGroups = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]);
                     foreach ($userGroups as $userGroupValue) {
                         if ($userGroupValue['primary_group'] == 'Y') {
                             $userPrimaryGroup = $userGroupValue['group_id'];
@@ -169,7 +170,7 @@ class ReceiveMessageExchangeController
         $finfo    = new \finfo(FILEINFO_MIME_TYPE);
         $mimeType = $finfo->buffer($file);
         $ext      = $aArgs['extension'];
-        $tmpName  = 'tmp_file_' .$_SESSION['user']['UserId']. '_ArchiveTransfer_' .rand(). '.' . $ext;
+        $tmpName  = 'tmp_file_' .$GLOBALS['userId']. '_ArchiveTransfer_' .rand(). '.' . $ext;
 
         if (!in_array(strtolower($ext), ['zip', 'tar'])) {
             return ["errors" => _WRONG_FILE_TYPE_M2M];
@@ -179,7 +180,8 @@ class ReceiveMessageExchangeController
             return ['errors' => _WRONG_FILE_TYPE];
         }
 
-        file_put_contents($_SESSION['config']['tmppath'] . $tmpName, $file);
+        $tmpPath = CoreConfigModel::getTmpPath();
+        file_put_contents($tmpPath . $tmpName, $file);
 
         return $tmpName;
     }
@@ -444,12 +446,13 @@ class ReceiveMessageExchangeController
         $sendMessage = new \SendMessage();
 
         $acknowledgementObject->MessageIdentifier->value          = $dataObject->MessageIdentifier->value . '_Ack';
-        $filePath = $sendMessage->generateMessageFile($acknowledgementObject, 'Acknowledgement', $_SESSION['config']['tmppath']);
+        $tmpPath = CoreConfigModel::getTmpPath();
+        $filePath = $sendMessage->generateMessageFile($acknowledgementObject, 'Acknowledgement', $tmpPath);
 
         $acknowledgementObject->ArchivalAgency = $acknowledgementObject->Receiver;
         $acknowledgementObject->TransferringAgency = $acknowledgementObject->Sender;
 
-        $acknowledgementObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $_SESSION['user']['UserId'];
+        $acknowledgementObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $GLOBALS['userId'];
 
         $acknowledgementObject->MessageIdentifier->value          = $dataObject->MessageIdentifier->value . '_AckSent';
         $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $acknowledgementObject, 'res_id_master' => 0, 'type' => 'Acknowledgement', 'file_path' => $filePath]);
@@ -482,13 +485,14 @@ class ReceiveMessageExchangeController
         $replyObject->MessageRequestIdentifier->value = $dataObject->MessageIdentifier->value;
 
         $replyObject->TransferringAgency                = $dataObject->ArchivalAgency;
-        $replyObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $_SESSION['user']['UserId'];
+        $replyObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $GLOBALS['userId'];
         $replyObject->ArchivalAgency                    = $dataObject->TransferringAgency;
 
         $sendMessage = new \SendMessage();
 
         $replyObject->MessageIdentifier->value          = $dataObject->MessageIdentifier->value . '_Reply';
-        $filePath = $sendMessage->generateMessageFile($replyObject, "ArchiveTransferReply", $_SESSION['config']['tmppath']);
+        $tmpPath = CoreConfigModel::getTmpPath();
+        $filePath = $sendMessage->generateMessageFile($replyObject, "ArchiveTransferReply", $tmpPath);
 
         $replyObject->MessageIdentifier->value          = $dataObject->MessageIdentifier->value . '_ReplySent';
         $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $replyObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveTransferReply', 'file_path' => $filePath]);
@@ -509,7 +513,7 @@ class ReceiveMessageExchangeController
 
     public function saveMessageExchangeReturn(Request $request, Response $response)
     {
-        if (empty($_SESSION['user']['UserId'])) {
+        if (empty($GLOBALS['userId'])) {
             return $response->withStatus(401)->withJson(['errors' => 'User Not Connected']);
         }
 
@@ -522,7 +526,8 @@ class ReceiveMessageExchangeController
         $tmpName = self::createFile(['base64' => $data['base64'], 'extension' => $data['extension'], 'size' => $data['size']]);
 
         $receiveMessage = new \ReceiveMessage();
-        $res = $receiveMessage->receive($_SESSION['config']['tmppath'], $tmpName, $data['type']);
+        $tmpPath = CoreConfigModel::getTmpPath();
+        $res = $receiveMessage->receive($tmpPath, $tmpName, $data['type']);
 
         $sDataObject = $res['content'];
         $dataObject = json_decode($sDataObject);
diff --git a/src/core/models/CoreConfigModel.php b/src/core/models/CoreConfigModel.php
index 4d785430a1b554381fddeb83d7101b62201abdf3..38e43f878d66b28b72df2190b4287da90ca75375 100644
--- a/src/core/models/CoreConfigModel.php
+++ b/src/core/models/CoreConfigModel.php
@@ -38,9 +38,9 @@ class CoreConfigModel
         foreach ($xmlfile->custom as $value) {
             if (!empty($value->path) && $value->path == $path) {
                 return (string)$value->custom_id;
-            } elseif($value->ip == $_SERVER['SERVER_ADDR']) {
+            } elseif ($value->ip == $_SERVER['SERVER_ADDR']) {
                 return (string)$value->custom_id;
-            } else if ($value->external_domain == $_SERVER['HTTP_HOST'] || $value->domain == $_SERVER['HTTP_HOST']) {
+            } elseif ($value->external_domain == $_SERVER['HTTP_HOST'] || $value->domain == $_SERVER['HTTP_HOST']) {
                 return (string)$value->custom_id;
             }
         }
@@ -77,7 +77,7 @@ class CoreConfigModel
 
     /**
      * Get the tmp dir
-     * 
+     *
      * @return string
      */
     public static function getTmpPath()