diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php
index 2bd9ec38385a5521c37f64ef50c69fe628018662..b03642ee4620177ae94f3061af8db734d333b319 100644
--- a/src/app/search/controllers/SearchController.php
+++ b/src/app/search/controllers/SearchController.php
@@ -114,9 +114,9 @@ class SearchController
         if (!empty($queryParams['offset']) && is_numeric($queryParams['offset'])) {
             $offset = (int)$queryParams['offset'];
         }
-        $order = !in_array($queryParams['order'], ['asc', 'desc']) ? '' : $queryParams['order'];
-        $orderBy = str_replace(['chrono', 'typeLabel', 'creationDate', 'category'], ['order_alphanum(alt_identifier)', 'type_label', 'creation_date', 'category_id'], $queryParams['orderBy']);
-        $orderBy = !in_array($orderBy, ['order_alphanum(alt_identifier)', 'status', 'subject', 'type_label', 'creation_date', 'category_id']) ? ['creation_date'] : ["{$orderBy} {$order}"];
+        $order = !in_array($queryParams['orderDir'], ['ASC', 'DESC']) ? '' : $queryParams['orderDir'];
+        $orderBy = str_replace(['chrono', 'typeLabel', 'creationDate', 'category', 'destUser', 'processLimitDate', 'entityLabel'], ['order_alphanum(alt_identifier)', 'type_label', 'creation_date', 'category_id', 'dest_user', 'process_limit_date', 'entity_label'], $queryParams['order']);
+        $orderBy = !in_array($orderBy, ['order_alphanum(alt_identifier)', 'status', 'subject', 'type_label', 'creation_date', 'category_id', 'dest_user', 'process_limit_date', 'entity_label', 'priority']) ? ['creation_date'] : ["{$orderBy} {$order}"];
 
         $allResources = ResModel::getOnView([
             'select'    => ['res_id as "resId"'],
diff --git a/src/frontend/app/adv-search/adv-search.component.ts b/src/frontend/app/adv-search/adv-search.component.ts
index cf02e3efcbe2e78d77d422ff3609d6dee1ce5ba5..3f7b3d34f56c37996eb035c16f037915323ef8f2 100644
--- a/src/frontend/app/adv-search/adv-search.component.ts
+++ b/src/frontend/app/adv-search/adv-search.component.ts
@@ -97,16 +97,16 @@ export class AdvSearchComponent implements OnInit, OnDestroy {
     subscription: Subscription;
 
     displayColsOrder = [
-        { 'id': 'dest_user' },
-        { 'id': 'category_id' },
-        { 'id': 'creation_date' },
-        { 'id': 'process_limit_date' },
-        { 'id': 'entity_label' },
+        { 'id': 'destUser' },
+        { 'id': 'categoryId' },
+        { 'id': 'creationDate' },
+        { 'id': 'processLimitDate' },
+        { 'id': 'entityLabel' },
         { 'id': 'subject' },
-        { 'id': 'alt_identifier' },
+        { 'id': 'chrono' },
         { 'id': 'priority' },
         { 'id': 'status' },
-        { 'id': 'type_label' }
+        { 'id': 'typeLabel' }
     ];
 
     @ViewChild('adminMenuTemplate', { static: true }) adminMenuTemplate: TemplateRef<any>;
diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
index 8c6a18ca50b4a0880da53d56a398874641761b4c..baa20a115c50a8e427927daa187695ca345ad73a 100644
--- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
+++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
@@ -526,7 +526,7 @@ export class CriteriaToolComponent implements OnInit {
 
     set_role_field(elem: any) {
         elem.type = 'selectAutocomplete';
-        elem.routeDatas = elem.identifier === 'role_dest' ? ['/rest/autocomplete/users?serial=serialId'] : ['/rest/autocomplete/users', '/rest/autocomplete/entities?serial=serialId'];
+        elem.routeDatas = ['role_dest', 'role_visa', 'role_sign'].indexOf(elem.identifier) > -1 ? ['/rest/autocomplete/users?serial=serialId'] : ['/rest/autocomplete/users', '/rest/autocomplete/entities?serial=serialId'];
         elem.extraModel = ['type'];
         elem.returnValue = 'object';
     }
diff --git a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.ts b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.ts
index 780e6554ea98058ea742621f115ccdcab2a56d64..71b8ffb544e11097a517a8c79b01a4bfeb31ec48 100644
--- a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.ts
+++ b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.ts
@@ -191,8 +191,6 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
                 // tap(() => this.loading = true),
                 switchMap((data: any) => this.getDatas(data)),
                 tap((data: any) => {
-                    console.log(data);
-
                     let selectedDatas = [];
                     let unselectedDatasSearch = [];
                     let selectedDatasId = [];
diff --git a/src/frontend/service/criteriaSearch.service.ts b/src/frontend/service/criteriaSearch.service.ts
index 106721c48c80d8223ba43b32aa1e2179fc5be7f6..5f8eae393b5179b14fc77a86723fb6e6b1583afb 100644
--- a/src/frontend/service/criteriaSearch.service.ts
+++ b/src/frontend/service/criteriaSearch.service.ts
@@ -17,7 +17,7 @@ export class CriteriaSearchService {
     listsProperties: ListProperties = {
         page : 0,
         pageSize : 0,
-        order: 'creation_date',
+        order: 'creationDate',
         orderDir: 'DESC',
         criteria: [],
         filters: []
@@ -68,8 +68,6 @@ export class CriteriaSearchService {
     }
 
     formatDatas(data: any) {
-        console.log(data);
-
         Object.keys(data).forEach(key => {
             if (['folders', 'tags', 'registeredMail_issuingSite'].indexOf(key) > -1 || ['select', 'radio', 'checkbox'].indexOf(data[key].type) > -1) {
                 data[key].values = data[key].values.map((val: any) => val.id);
@@ -77,7 +75,7 @@ export class CriteriaSearchService {
                 data[key].values.start = this.datePipe.transform(data[key].values.start, 'y-MM-dd');
                 data[key].values.end = this.datePipe.transform(data[key].values.end, 'y-MM-dd');
             }
-            // delete data[key].type;
+            delete data[key].type;
         });
 
         return data;
diff --git a/src/frontend/service/indexing-fields.service.ts b/src/frontend/service/indexing-fields.service.ts
index fe28370efcb227fd9b69360eba4df05660f02ad1..1dbdf877e72df5e0d06e932fd8a4fb4febc0ef15 100644
--- a/src/frontend/service/indexing-fields.service.ts
+++ b/src/frontend/service/indexing-fields.service.ts
@@ -389,6 +389,24 @@ export class IndexingFieldsService {
                             enabled: true,
                         });
                     });
+                    fields.push({
+                        identifier: `role_visa`,
+                        label: this.translate.instant('lang.visaUser'),
+                        icon: 'fa-user-check',
+                        type: 'select',
+                        default_value: null,
+                        values: [],
+                        enabled: true,
+                    });
+                    fields.push({
+                        identifier: `role_sign`,
+                        label: this.translate.instant('lang.signUser'),
+                        icon: 'fa-user-tie',
+                        type: 'select',
+                        default_value: null,
+                        values: [],
+                        enabled: true,
+                    });
                     this.roleFields = fields;
                 }),
                 finalize(() => resolve(this.roleFields)),
diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json
index bec8f7eeef7d159c251abd57b02baaf0db22306e..b71b0fb52f8aad551eb188f1df574f2bc24a1d9f 100644
--- a/src/lang/lang-fr.json
+++ b/src/lang/lang-fr.json
@@ -252,6 +252,7 @@
     "cantMoveFirstLevel": "La sous-chemise peut uniquement être déplacée dans une chemise",
     "categories": "Catégories",
     "category_id": "Catégorie",
+    "categoryId": "Catégorie",
     "changeMyPassword": "Modifier mon mot de passe",
     "changePassword": "Modifier le mot de passe",
     "changePasswordInfo": "vous êtes invité à changer de mot de passe",
@@ -486,6 +487,7 @@
     "description": "Description",
     "destUserSetToDefault": "L'attributaire sera celui de la liste de diffusion de l'entité initiatrice",
     "dest_user": "Attributaire",
+    "destUser": "Attributaire",
     "destination": "Entité traitante",
     "destinationChangingInfo": "Le courrier sera réattribué à l'entité",
     "destinationChangingInfoMass": "Les courriers issus d'une entité externe à",
@@ -630,6 +632,7 @@
     "entityUpdated": "Entité modifiée",
     "entityWithoutParentMessage": "Si vous n'êtes pas directement membre de cette entité, vous le deviendrez automatiquement.",
     "entity_label": "Entité",
+    "entityLabel": "Entité",
     "entries": "entrée(s)",
     "eraseAll": "Tout effacer",
     "eraseAllFilters": "Effacer tous les filtres",
@@ -1544,6 +1547,7 @@
     "typeNewPassword": "Entrez un nouveau mot de passe",
     "typeValue": "Saisissez une valeur",
     "type_label": "Type de courrier",
+    "typeLabel": "Type de courrier",
     "typist": "Rédacteur",
     "unableToDelete": "Impossible de supprimer",
     "unableToSuspend": "Impossible de suspendre",