diff --git a/rest/index.php b/rest/index.php
index 81b5f39915cfbe18514684b3f14200980c8f59fb..369be2a6f29b8873dc571bd4b6654f8260050ac7 100755
--- a/rest/index.php
+++ b/rest/index.php
@@ -358,7 +358,7 @@ $app->put('/res/externalInfos', \Resource\controllers\ResController::class . ':u
 $app->get('/categories', \Resource\controllers\ResController::class . ':getCategories');
 $app->get('/resources/{resId}/users/{userId}/isDestinationChanging', \Action\controllers\PreProcessActionController::class . ':isDestinationChanging');
 $app->get('/resources/{resId}/users/{userId}/groups/{groupId}/baskets/{basketId}/processingData', \Resource\controllers\ResController::class . ':getProcessingData');
-$app->post('/resources/{resId}/follow', \Resource\controllers\UserFollowedResourceController::class . ':follow');
+$app->post('/resources/follow', \Resource\controllers\UserFollowedResourceController::class . ':follow');
 $app->delete('/resources/unfollow', \Resource\controllers\UserFollowedResourceController::class . ':unFollow');
 $app->get('/followedResources', \Resource\controllers\UserFollowedResourceController::class . ':getFollowedResources');
 $app->get('/followedResources/{resId}/baskets', \Resource\controllers\UserFollowedResourceController::class . ':getBasketsFromFolder');
diff --git a/src/app/resource/controllers/UserFollowedResourceController.php b/src/app/resource/controllers/UserFollowedResourceController.php
index 8bd1b454bdf33ea7d7ba80c64e11e61e85874d75..6d6c52e026d9ba9b1c2203a7f53db3c2d0c940b1 100644
--- a/src/app/resource/controllers/UserFollowedResourceController.php
+++ b/src/app/resource/controllers/UserFollowedResourceController.php
@@ -28,25 +28,29 @@ use SrcCore\controllers\PreparedClauseController;
 
 class UserFollowedResourceController
 {
-    public function follow(Request $request, Response $response, array $args)
+    public function follow(Request $request, Response $response)
     {
-        if (!ResController::hasRightByResId(['resId' => [$args['resId']], 'userId' => $GLOBALS['id']])){
+        $body = $request->getParsedBody();
+
+        if (!ResController::hasRightByResId(['resId' => $body['resources'], 'userId' => $GLOBALS['id']])){
             return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']);
         }
 
-        $following = UserFollowedResourceModel::get([
-            'where' => ['user_id = ?', 'res_id = ?'],
-            'data' => [$GLOBALS['id'], $args['resId']]
-        ]);
+        foreach ($body['resources'] as $resId) {
+            $following = UserFollowedResourceModel::get([
+                'where' => ['user_id = ?', 'res_id = ?'],
+                'data'  => [$GLOBALS['id'], $resId]
+            ]);
 
-        if (!empty($following)) {
-            return $response->withStatus(204);
-        }
+            if (!empty($following)) {
+                continue;
+            }
 
-        UserFollowedResourceModel::create([
-            'userId' => $GLOBALS['id'],
-            'resId' => $args['resId']
-        ]);
+            UserFollowedResourceModel::create([
+                'userId' => $GLOBALS['id'],
+                'resId'  => $resId
+            ]);
+        }
 
         return $response->withStatus(204);
     }
diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
index df3b197d3eb846dee1b499df914a03863c0ab9a8..b057f00dfcf8e47f9c277ba669ecbde79ccbf144 100644
--- a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
+++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
@@ -886,7 +886,7 @@ export class IndexingFormComponent implements OnInit {
 
         if (this.mode !== 'indexation') {
             if (this.arrFormControl['mail­tracking'].value) {
-                this.http.post(`../../rest/resources/${this.resId}/follow`, {}).pipe(
+                this.http.post('../../rest/resources/follow', {resources: [this.resId]}).pipe(
                     catchError((err: any) => {
                         this.notify.handleErrors(err);
                         return of(false);