diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php
index 8c2cffc3db3967b885140346f585daac742b92f5..4d8d2aafa807ff36d0942d6e5bd5734ab1ff79c6 100755
--- a/src/app/action/controllers/PreProcessActionController.php
+++ b/src/app/action/controllers/PreProcessActionController.php
@@ -1003,34 +1003,39 @@ class PreProcessActionController
             return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']);
         }
 
-        $resources = ResModel::get(['select' => ['opinion_limit_date', 'alt_identifier', 'res_id'], 'where' => ['res_id in (?)'], 'data' => [$body['resources']]]);
+        $resourcesInformation = [];
 
-        $noOpinionLimitDate     = [];
-        $noNote                 = [];
-        $validatedResourcesInfo = [];
-        $validatedResources     = [];
+        $resources = ResModel::get(['select' => ['opinion_limit_date', 'alt_identifier', 'res_id'], 'where' => ['res_id in (?)'], 'data' => [$body['resources']]]);
         foreach ($resources as $resource) {
             if (empty($resource['opinion_limit_date'])) {
-                $noOpinionLimitDate[] = $resource['alt_identifier'] ?? _UNDEFINED;
-            } else {
-                $note = NoteModel::get([
-                    'select'    => ['note_text', 'user_id', 'creation_date'],
-                    'where'     => ['identifier in (?)', 'note_text like (?)'],
-                    'data'      => [$resource['res_id'], '['._AVIS_USER.']%'],
-                    'order_by'  => ['creation_date desc'],
-                    'limit'     => 1
-                ]);
-                if (empty($note[0])) {
-                    $noNote[] = $resources['alt_identifier'] ?? _UNDEFINED;
-                } else {
-                    $note[0]['userLabel'] = UserModel::getLabelledUserById(['id' => $note[0]['user_id']]);
-                    $validatedResourcesInfo[] = ['opinionLimitDate' => $resource['opinion_limit_date'], 'note' => $note[0]];
-                    $validatedResources[]     = $resources['res_id'];
-                }
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resource['res_id'], 'reason' => 'noOpinionLimitDate'];
+                continue;
+            }
+            $opinionLimitDate = new \DateTime($resource['opinion_limit_date']);
+            $today = new \DateTime('today');
+            if ($opinionLimitDate < $today) {
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resource['res_id'], 'reason' => 'opinionLimitDateOutdated'];
             }
+
+            $opinionNote = NoteModel::get([
+                'select'    => ['note_text', 'user_id', 'creation_date'],
+                'where'     => ['identifier in (?)', 'note_text like (?)'],
+                'data'      => [$resource['res_id'], '['._AVIS_USER.']%'],
+                'order_by'  => ['creation_date desc'],
+                'limit'     => 1
+            ]);
+
+            if (empty($opinionNote)) {
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resource['res_id'], 'reason' => 'noOpinionNote'];
+                continue;
+            }
+
+            $note = str_replace('['._AVIS_USER.']', '', $opinionNote[0]['note_text']);
+            $userInfo = UserModel::getLabelledUserById(['id' => $opinionNote[0]['user_id']]);
+            $resourcesInformation['success'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resource['res_id'], 'avisUserAsk' => $userInfo, 'note' => $note];
         }
 
-        return $response->withJson(['noOpinionLimitDate' => $noOpinionLimitDate, 'noNote' => $noNote, 'validatedResourcesInfo' => $validatedResourcesInfo, 'validatedResources' => $validatedResources]);
+        return $response->withJson(['resourcesInformations' => $resourcesInformation]);
     }
 
     public function checkGiveParallelOpinion(Request $request, Response $response, array $args)
@@ -1062,9 +1067,14 @@ class PreProcessActionController
             }
 
             if (empty($resource['opinion_limit_date'])) {
-                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noOpinionLimiteDate'];
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noOpinionLimitDate'];
                 continue;
             }
+            $opinionLimitDate = new \DateTime($resource['opinion_limit_date']);
+            $today = new \DateTime('today');
+            if ($opinionLimitDate < $today) {
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'opinionLimitDateOutdated'];
+            }
 
             $opinionNote = NoteModel::get([
                 'select'    => ['user_id', 'note_text'],
@@ -1122,9 +1132,14 @@ class PreProcessActionController
             }
 
             if (empty($resource['opinion_limit_date'])) {
-                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noOpinionLimiteDate'];
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'noOpinionLimitDate'];
                 continue;
             }
+            $opinionLimitDate = new \DateTime($resource['opinion_limit_date']);
+            $today = new \DateTime('today');
+            if ($opinionLimitDate < $today) {
+                $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'opinionLimitDateOutdated'];
+            }
 
             $opinionNote = NoteModel::get([
                 'select'    => ['note_text', 'user_id'],