diff --git a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts
index abbd5b7477594358372d84b960f2865ac0914c28..8c5b1edcc726a67cb39e8244bbf6ab285828a222 100644
--- a/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts
+++ b/src/frontend/app/administration/registered-mail/issuing-site/indexing/issuing-site-input.component.ts
@@ -93,6 +93,10 @@ export class IssuingSiteInputComponent implements OnInit {
         }
     }
 
+    getSiteLabel(id: string) {
+        return this.issuingSiteList.filter((site: any) => site.id === id)[0].label;
+    }
+
     goTo() {
         window.open(`https://www.google.com/maps/search/${this.issuingSiteAddress.addressNumber}+${this.issuingSiteAddress.addressStreet},+${this.issuingSiteAddress.addressPostcode}+${this.issuingSiteAddress.addressTown},+${this.issuingSiteAddress.addressCountry}`, '_blank');
     }
diff --git a/src/frontend/app/adv-search/adv-search.component.html b/src/frontend/app/adv-search/adv-search.component.html
index 2ec7d87c733a947c42892f8c6e263b6395046eeb..a97455d86d1ef2b495b1c3a182c2c47015e3eac7 100644
--- a/src/frontend/app/adv-search/adv-search.component.html
+++ b/src/frontend/app/adv-search/adv-search.component.html
@@ -45,7 +45,7 @@
                         <ng-container *ngIf="!isArrayType(critKey.value.values) && critKey.key !== 'meta'">
                             <span class="label badge-search" [title]="appCriteriaTool.getFormatLabel(critKey.value.values)" (click)="removeCriteria(critKey.key)"><i
                                     class="fa {{indexingFieldService.getField(critKey.key).icon}}"
-                                    [title]="indexingFieldService.getField(critKey.key).label"></i>&nbsp;{{appCriteriaTool.getFormatLabel(critKey.value.values)}}&nbsp;<i class="fa fa-times-circle"></i></span>
+                                    [title]="indexingFieldService.getField(critKey.key).label"></i>&nbsp;{{appCriteriaTool.getFormatLabel(critKey.key,critKey.value.values)}}&nbsp;<i class="fa fa-times-circle"></i></span>
                         </ng-container>
                         <ng-container *ngIf="!isArrayType(critKey.value.values) && critKey.key === 'meta'">
                             <span class="label badge-search" [title]="'meta'" (click)="removeCriteria(critKey.key)">{{critKey.value.values}}&nbsp;<i class="fa fa-times-circle"></i></span>
diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
index 2c570577fa23ceed79d3bf484fda5d022a38e70a..f5d52afaaf889612ba2107631c3d074b2e5bb4bd 100755
--- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
+++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.html
@@ -9,7 +9,7 @@
         <mat-autocomplete [class]="hideCriteriaList ? 'hide' : ''" #autoCriteria="matAutocomplete"
             (closed)="hideCriteriaList = true;" (optionSelected)="addCriteria($event.option.value)">
             <mat-optgroup [label]="'Ajouter un critère de recherche'" class="criteria-list">
-                <input matInput type="text" #searchCriteriaInput [formControl]="getFilterControl()"
+                <input type="text" #searchCriteriaInput [formControl]="getFilterControl()"
                     style="margin-left:5px;width:150px !important;height: 20px;border: 1px solid #6666663d;padding: 10px;border-radius: 5px;"
                     placeholder="{{'lang.filterBy' | translate}}">
                 <mat-option *ngIf="(getFilteredCriterias() | async)?.length===0" disabled>Aucun résultat</mat-option>
@@ -81,11 +81,11 @@
         </div>-->
                 <div
                     style="display: grid;align-items: start;grid-template-columns: repeat(2, 1fr);max-height: 300px;overflow: hidden;overflow-y: auto;">
-                    <div style="display: grid;align-items: baseline;grid-template-columns: 35% 60% 5%;"
+                    <div style="display: grid;align-items: baseline;grid-template-columns: 35% 60% 5%;padding:5px;"
                         *ngFor="let field of currentCriteria;let i=index">
                         <ng-container *ngIf="field.type === 'string'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <mat-form-field class="input-form" floatLabel="never">
                                 <input [id]="field.identifier" type="text" matInput
@@ -94,7 +94,7 @@
                         </ng-container>
                         <ng-container *ngIf="field.type === 'integer'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <mat-form-field class="input-form" floatLabel="never">
                                 <input [id]="field.identifier" type="number" matInput [formControl]="field.control"
@@ -103,7 +103,7 @@
                         </ng-container>
                         <ng-container *ngIf="['select', 'radio', 'checkbox'].indexOf(field.type) > -1">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <plugin-select-search [id]="field.identifier" [showResetOption]="true" [label]="field.label"
                                 [placeholderLabel]="'lang.chooseValue' | translate" [formControlSelect]="field.control"
@@ -112,7 +112,7 @@
                         </ng-container>
                         <ng-container *ngIf="['selectAutocomplete'].indexOf(field.type) > -1">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <plugin-select-autocomplete-search #pluginSelectAutocompleteSearch [id]="field.identifier"
                                 [showResetOption]="true" [label]="field.label"
@@ -123,7 +123,7 @@
                         </ng-container>
                         <ng-container *ngIf="field.type === 'date'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <mat-form-field class="input-form input-date" floatLabel="never" (click)="picker.open()"
                                 style="cursor:pointer;">
@@ -139,63 +139,61 @@
                                 <mat-date-range-picker #picker></mat-date-range-picker>
                             </mat-form-field>
                         </ng-container>
-                        <ng-container *ngIf="['senders','recipients'].indexOf(field.identifier) > -1">
+                        <ng-container *ngIf="['senders','recipients'].indexOf(field.identifier) > -1 || field.type === 'contact'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
-                            <app-contact-autocomplete [id]="field.identifier" [control]="field.control"
+                            <app-contact-autocomplete #appContactAutocomplete [id]="field.identifier" [control]="field.control"
                                 style="width:100%;">
                             </app-contact-autocomplete>
                         </ng-container>
                         <ng-container *ngIf="field.identifier === 'folders'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
-                            <app-folder-input [control]="field.control" style="width:100%;">
+                            <app-folder-input #appFolderInput [control]="field.control" style="width:100%;">
                             </app-folder-input>
                         </ng-container>
                         <ng-container *ngIf="field.identifier === 'tags'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
-                            <app-tag-input [control]="field.control" style="width:100%;">
+                            <app-tag-input #appTagInput [control]="field.control" style="width:100%;">
                             </app-tag-input>
                         </ng-container>
                         <ng-container *ngIf="field.type === 'banAutocomplete'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <app-address-ban-input [control]="field.control" style="width:100%;">
                             </app-address-ban-input>
                         </ng-container>
                         <ng-container *ngIf="field.identifier === 'registeredMail_issuingSite'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
                             <app-issuing-site-input #appIssuingSiteInput [control]="field.control" style="width:100%;">
                             </app-issuing-site-input>
                         </ng-container>
                         <ng-container *ngIf="field.identifier === 'registeredMail_recipient'">
                             <span class="criteria-label">
-                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
+                                <i class="fa {{field.icon}}"></i> {{field.label}} <sup color="primary" class="searchInAttachments" *ngIf="searchInAttachments(field.identifier)" [title]="'lang.searchInAttachmentsInfo' | translate">(1)</sup>&nbsp;:&nbsp;
                             </span>
-                            <app-registered-mail-recipient-input #appRegisteredMailRecipientInput
-                                [control]="field.control" style="width:100%;">
-                            </app-registered-mail-recipient-input>
+                            <app-contact-autocomplete #appContactAutocomplete  [id]="field.identifier"
+                                [control]="field.control" [exclusion]="'?noUsers=true&noEntities=true&noContactsGroups=true'" style="width:100%;">
+                            </app-contact-autocomplete>
                         </ng-container>
-                        <button mat-icon-button type="button" matSuffix color="primary"
+                        <button mat-icon-button type="button" matSuffix color="warn"
                             (click)="$event.stopPropagation();removeCriteria(i)">
-                            <mat-icon class="fa fa-trash" style="color:white;"></mat-icon>
+                            <mat-icon class="fa fa-trash"></mat-icon>
                         </button>
                     </div>
                 </div>
-                <div
-                    style="color: white;font-size: 12px;font-style: inherit;padding: 10px;opacity: 0.5;padding-top: 25px;">
+                <div class="infoSearchDesc" style="padding-top: 25px;">
                     Les critères de recherche se cumulent sur la recherche rapide
                 </div>
-                <div
-                    style="color: white;font-size: 12px;font-style: inherit;padding: 10px;opacity: 0.5;">
-                    <sup>(1)</sup> {{'lang.searchInAttachmentsInfo' | translate}}
+                <div class="infoSearchDesc">
+                    <sup color="primary">(1)</sup> {{'lang.searchInAttachmentsInfo' | translate}}
                 </div>
             </ng-container>
             <ng-template #loadingTemplate>
diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.scss b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.scss
index 764dfcc75a05413741c6fcae4532787029ae170a..9255b1af84fb9dfd8f94de76fec5197d51f0c2f2 100644
--- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.scss
+++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.scss
@@ -61,6 +61,15 @@
         color: white;
     }
 
+    ::ng-deep .mat-expansion-panel-content {
+        background: white;
+        border-radius: 30px;
+    }
+
+    ::ng-deep .mat-expansion-panel-body {
+        padding-top: 5px;
+    }
+
     ::ng-deep .mat-expansion-indicator::after {
         color: white;
     }
@@ -85,7 +94,7 @@
 .criteria-label {
     // width: 50%;
     text-align: right;
-    color: white;
+    color: #4A4A4A;
     white-space: pre;
     overflow: hidden;
     text-overflow: ellipsis;
@@ -128,4 +137,11 @@
 
 .searchInAttachments {
     cursor: help;
+}
+
+.infoSearchDesc {
+    color: #4A4A4A;
+    font-size: 12px;
+    font-style: italic;
+    opacity: 0.8;
 }
\ No newline at end of file
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 e46199d96976f3ee75c37d142cd765575b4c2efc..04fc87c0db53aaac1126d27f40a4c7a26ea7d915 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
@@ -1,4 +1,4 @@
-import { Component, OnInit, ViewChild, ElementRef, EventEmitter, Output, Input } from '@angular/core';
+import { Component, OnInit, ViewChild, ElementRef, EventEmitter, Output, Input, QueryList, ViewChildren } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { TranslateService } from '@ngx-translate/core';
 import { AppService } from '../../../service/app.service';
@@ -15,6 +15,11 @@ import { ConfirmComponent } from '../../../plugins/modal/confirm.component';
 import { NotificationService } from '../../../service/notification/notification.service';
 import { AddSearchTemplateModalComponent } from './search-template/search-template-modal.component';
 import { DatePipe } from '@angular/common';
+import { ContactAutocompleteComponent } from '@appRoot/contact/autocomplete/contact-autocomplete.component';
+import { PluginSelectAutocompleteSearchComponent } from '@plugins/select-autocomplete-search/plugin-select-autocomplete-search.component';
+import { FolderInputComponent } from '@appRoot/folder/indexing/folder-input.component';
+import { TagInputComponent } from '@appRoot/tag/indexing/tag-input.component';
+import { IssuingSiteInputComponent } from '@appRoot/administration/registered-mail/issuing-site/indexing/issuing-site-input.component';
 
 @Component({
     selector: 'app-criteria-tool',
@@ -44,6 +49,13 @@ export class CriteriaToolComponent implements OnInit {
 
     @ViewChild('criteriaTool', { static: false }) criteriaTool: MatExpansionPanel;
     @ViewChild('searchCriteriaInput', { static: false }) searchCriteriaInput: ElementRef;
+    @ViewChild('appFolderInput', { static: false }) appFolderInput: FolderInputComponent;
+    @ViewChild('appTagInput', { static: false }) appTagInput: TagInputComponent;
+    @ViewChild('appIssuingSiteInput', { static: false }) appIssuingSiteInput: IssuingSiteInputComponent;
+
+    @ViewChildren('appContactAutocomplete') appContactAutocomplete: QueryList<ContactAutocompleteComponent>;
+    @ViewChildren('pluginSelectAutocompleteSearch') pluginSelectAutocompleteSearch: QueryList<PluginSelectAutocompleteSearchComponent>;
+
 
     constructor(
         private _activatedRoute: ActivatedRoute,
@@ -64,8 +76,6 @@ export class CriteriaToolComponent implements OnInit {
         }
 
     async ngOnInit(): Promise<void> {
-        // console.log('getAllFields()', await this.indexingFields.getAllFields());
-
         this.searchTermControl.setValue(this.searchTerm);
 
         this.criteria = await this.indexingFields.getAllFields();
@@ -192,14 +202,26 @@ export class CriteriaToolComponent implements OnInit {
     }
 
 
-    getLabelValue(identifier: string, value: string) {
+    getLabelValue(identifier: string, value: any) {
         if (this.functions.empty(value)) {
             return this.translate.instant('lang.undefined');
         } else  if (['doctype', 'destination'].indexOf(identifier) > -1) {
             return this.criteria.filter((field: any) => field.identifier === identifier)[0].values.filter((val: any) => val.id === value)[0].title;
         } else {
+            if (this.criteria.filter((field: any) => field.identifier === identifier)[0].type === 'contact' || this.criteria.filter((field: any) => field.identifier === identifier)[0].identifier === 'registeredMail_recipient') {
+                return this.appContactAutocomplete.toArray().filter((component: any) => component.id === identifier)[0].getFormatedContact(value.id);
+            } else
+            if (this.criteria.filter((field: any) => field.identifier === identifier)[0].identifier === 'folders') {
+                return this.appFolderInput.getFolderLabel(value);
+            } else
+            if (this.criteria.filter((field: any) => field.identifier === identifier)[0].identifier === 'tags') {
+                return this.appTagInput.getTagLabel(value);
+            } else
+            if (this.criteria.filter((field: any) => field.identifier === identifier)[0].type === 'banAutocomplete') {
+                return `${value.addressNumber} ${value.addressStreet}, ${value.addressTown} (${value.addressPostcode})`;
+            } else
             if (this.criteria.filter((field: any) => field.identifier === identifier)[0].type === 'selectAutocomplete') {
-                return 'toto';
+                return this.pluginSelectAutocompleteSearch.toArray().filter((component: any) => component.id === identifier)[0].getDataLabel(value);
             } else {
                 return this.criteria.filter((field: any) => field.identifier === identifier)[0].values.filter((val: any) => val.id === value)[0].label;
 
@@ -207,12 +229,15 @@ export class CriteriaToolComponent implements OnInit {
         }
     }
 
-    getFormatLabel(value: any) {
+    getFormatLabel(identifier: string, value: any) {
         if (typeof value === 'object') {
             return `${this.datePipe.transform(value.start, 'dd/MM/y') } - ${this.datePipe.transform(value.end, 'dd/MM/y')}`;
         } else {
-            return value;
-
+            if (identifier === 'registeredMail_issuingSite') {
+                return this.appIssuingSiteInput.getSiteLabel(value);
+            } else {
+                return value;
+            }
         }
     }
 
@@ -236,7 +261,6 @@ export class CriteriaToolComponent implements OnInit {
                     });
                 } else {
                     field.control.setValue(criteria[field.identifier].values);
-
                 }
             }
         });
@@ -310,6 +334,38 @@ export class CriteriaToolComponent implements OnInit {
         });
     }
 
+    set_status_field(elem: any) {
+        return new Promise((resolve, reject) => {
+            this.http.get(`../rest/statuses`).pipe(
+                tap((data: any) => {
+                    elem.values = data.statuses.map((val: any) => {
+                        return {
+                            id: val.identifier,
+                            label: val.label_status
+                        };
+                    });
+                    resolve(true);
+                })
+            ).subscribe();
+        });
+    }
+
+    set_category_field(elem: any) {
+        return new Promise((resolve, reject) => {
+            this.http.get(`../rest/categories`).pipe(
+                tap((data: any) => {
+                    elem.values = data.categories.map((val: any) => {
+                        return {
+                            id: val.id,
+                            label: val.label
+                        };
+                    });
+                    resolve(true);
+                })
+            ).subscribe();
+        });
+    }
+
     set_destination_field(elem: any) {
         return new Promise((resolve, reject) => {
             this.http.get(`../rest/indexingModels/entities`).pipe(
diff --git a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
index 846c548e471c668364045ecad943ee3f2430d983..347fef02cc87d15446cc2e72a4647dbd9aea9d27 100755
--- a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
+++ b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
@@ -373,4 +373,8 @@ export class ContactAutocompleteComponent implements OnInit {
         this.controlAutocomplete.setValue([]);
         this.valuesToDisplay = {};
     }
+
+    getFormatedContact(id: number) {
+        return this.contactService.formatContact(this.valuesToDisplay[id]);
+    }
 }
diff --git a/src/frontend/app/folder/indexing/folder-input.component.ts b/src/frontend/app/folder/indexing/folder-input.component.ts
index 11ffc42c8efbf8cf25186d35f1a57c056bd595f4..b3c6a5bc20f84e1679cab09f7d66c6c922019d86 100644
--- a/src/frontend/app/folder/indexing/folder-input.component.ts
+++ b/src/frontend/app/folder/indexing/folder-input.component.ts
@@ -13,7 +13,7 @@ import { LatinisePipe } from 'ngx-pipes';
 
 @Component({
     selector: 'app-folder-input',
-    templateUrl: "folder-input.component.html",
+    templateUrl: 'folder-input.component.html',
     styleUrls: [
         'folder-input.component.scss',
         '../../indexation/indexing-form/indexing-form.component.scss'
@@ -23,7 +23,6 @@ import { LatinisePipe } from 'ngx-pipes';
 
 export class FolderInputComponent implements OnInit {
 
-    
 
     loading: boolean = false;
 
@@ -185,4 +184,8 @@ export class FolderInputComponent implements OnInit {
             })
         ).subscribe();
     }
-}
\ No newline at end of file
+
+    getFolderLabel(id: string) {
+        return this.valuesToDisplay[id];
+    }
+}
diff --git a/src/frontend/app/tag/indexing/tag-input.component.ts b/src/frontend/app/tag/indexing/tag-input.component.ts
index 9b70dae7de49b05a7aef361f1190502c68c49c2a..b24fe3412eb505b772d32fc1b8cf22eb9dbc6b72 100644
--- a/src/frontend/app/tag/indexing/tag-input.component.ts
+++ b/src/frontend/app/tag/indexing/tag-input.component.ts
@@ -216,4 +216,8 @@ export class TagInputComponent implements OnInit {
             })
         ).subscribe();
     }
+
+    getTagLabel(id: string) {
+        return this.valuesToDisplay[id];
+    }
 }
diff --git a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.html b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.html
index 634a3231cdf3c5b65ee9af46dfddebdf2d488f57..f12dcc0c4050320c5d7ceda54f7783a3f812225b 100644
--- a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.html
+++ b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.html
@@ -6,15 +6,16 @@
 
         <div class="mat-select-search-inner"
             [ngClass]="{'mat-select-search-inner-multiple': matSelect.multiple}">
-            <input matInput id="searchSelectInput" [formControl]="formControlSearch" class="mat-select-search-input"
+            <input id="searchSelectInput" [formControl]="formControlSearch" class="mat-select-search-input"
                 #searchSelectInput (keydown)="_handleKeydown($event)" (input)="onInputChange($event.target.value)"
-                (blur)="onBlur($event.target.value)" [placeholder]="'lang.search' | translate" />
-            <button mat-button *ngIf="formControlSearch.value" mat-icon-button aria-label="Clear" (click)="_reset(true)"
+                (blur)="onBlur($event.target.value)" [placeholder]="'Saisissez un terme de recherche' | translate" />
+            <button mat-button *ngIf="formControlSearch.value && !loadingSearch" mat-icon-button aria-label="Clear" (click)="_reset(true)"
                 class="mat-select-search-clear">
                 <mat-icon class="fa fa-times"></mat-icon>
             </button>
+            <mat-spinner *ngIf="loadingSearch" class="mat-select-search-loading" diameter="24"></mat-spinner>
         </div>
-        <div *ngIf="value && _options?.length === 0 && datas.length > 5" class="mat-select-search-no-entries-found">
+        <div *ngIf="noResult" class="mat-select-search-no-entries-found" style="font-style: italic;opacity: 0.5;">
             {{'lang.noResult' | translate}}
         </div>
         <mat-option *ngIf="showResetOption" [value]="null"><i>({{'lang.emptyValue' | translate}})</i></mat-option>
diff --git a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.scss b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.scss
index 2204f82321129033a3eb05e1cf192d02721dc84e..3ab3270f9f20d4c15f360c6be68b34fb719fa305 100644
--- a/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.scss
+++ b/src/frontend/plugins/select-autocomplete-search/plugin-select-autocomplete-search.component.scss
@@ -35,7 +35,8 @@ $multiple-check-width: 33px;
     padding: $mat-menu-side-padding;
     padding-right: $mat-menu-side-padding + $clear-button-width;
     box-sizing: border-box;
-
+    width: 100%;
+    border: none;
 }
 
 .mat-select-search-no-entries-found {
@@ -48,6 +49,12 @@ $multiple-check-width: 33px;
     top: 4px;
 }
 
+.mat-select-search-loading {
+    position: absolute;
+    right: 0;
+    top: 15px;
+}
+
 ::ng-deep.cdk-overlay-pane-select-search {
     /* correct offsetY so that the selected option is at the position of the select box when opening */
     margin-top: -50px;
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 c406d6bc0c2c26635214040b03c31a719c14409c..f083f249c13438353f730c77b6be797b1aacec5d 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
@@ -8,7 +8,7 @@ import {
 import { ControlValueAccessor, FormControl } from '@angular/forms';
 import { MatOption } from '@angular/material/core';
 import { MatSelect } from '@angular/material/select';
-import { take, takeUntil, startWith, map, debounceTime, filter, tap, switchMap } from 'rxjs/operators';
+import { take, takeUntil, startWith, map, debounceTime, filter, tap, switchMap, finalize } from 'rxjs/operators';
 import { Subject, ReplaySubject, Observable, forkJoin, of } from 'rxjs';
 import { LatinisePipe } from 'ngx-pipes';
 import { TranslateService } from '@ngx-translate/core';
@@ -99,6 +99,8 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
 
     formControlSearch = new FormControl();
     selecteded: any = [];
+    noResult: boolean = null;
+    loadingSearch: boolean = null;
 
     /** Current search value */
     get value(): string {
@@ -145,6 +147,7 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
                 if (opened) {
                     // focus the search field when opening
                     if (!this.appService.getViewMode()) {
+                        this.noResult = null;
                         this._focus();
                     }
                 } else {
@@ -177,6 +180,7 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
             .pipe(
                 debounceTime(300),
                 filter(value => value !== null && value.length > 2),
+                tap(() => this.loadingSearch = true),
                 // distinctUntilChanged(),
                 // tap(() => this.loading = true),
                 switchMap((data: any) => this.getDatas(data)),
@@ -192,6 +196,8 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
                     }*/
                     this.datas = this.datas.filter((val: any) =>  this.formControlSelect.value.indexOf(val.id) > -1).concat(data.filter((val: any) =>  this.formControlSelect.value.indexOf(val.id) === -1));
                     this.filteredDatas = of(this.datas);
+                    this.noResult = this.datas.filter((val: any) =>  this.formControlSelect.value.indexOf(val.id) === -1).length === 0;
+                    this.loadingSearch = false;
                     // this.loading = false;
                 })
             ).subscribe();
@@ -423,4 +429,8 @@ export class PluginSelectAutocompleteSearchComponent implements OnInit, OnDestro
             })
         );
     }
+
+    getDataLabel(id: string) {
+        return this.datas.filter((item: any) => item.id === id)[0].label;
+    }
 }
diff --git a/src/frontend/plugins/select-search/select-search.component.html b/src/frontend/plugins/select-search/select-search.component.html
index 812ba3fcdebd40f3ca1cd78865773b2a05818e82..362fbb46e3c43f7df5ff2a5a8329f0d77406f7af 100644
--- a/src/frontend/plugins/select-search/select-search.component.html
+++ b/src/frontend/plugins/select-search/select-search.component.html
@@ -6,7 +6,7 @@
 
         <div *ngIf="datas.length > 5" class="mat-select-search-inner"
             [ngClass]="{'mat-select-search-inner-multiple': matSelect.multiple}">
-            <input matInput id="searchSelectInput" [formControl]="formControlSearch" class="mat-select-search-input"
+            <input id="searchSelectInput" [formControl]="formControlSearch" class="mat-select-search-input"
                 #searchSelectInput (keydown)="_handleKeydown($event)" (input)="onInputChange($event.target.value)"
                 (blur)="onBlur($event.target.value)" [placeholder]="this.translate.instant('lang.filterBy')" />
             <button mat-button *ngIf="formControlSearch.value" mat-icon-button aria-label="Clear" (click)="_reset(true)"
diff --git a/src/frontend/plugins/select-search/select-search.component.scss b/src/frontend/plugins/select-search/select-search.component.scss
index 2204f82321129033a3eb05e1cf192d02721dc84e..f163de198fc6776d4db210fcf14689a96cc31b9e 100644
--- a/src/frontend/plugins/select-search/select-search.component.scss
+++ b/src/frontend/plugins/select-search/select-search.component.scss
@@ -35,7 +35,8 @@ $multiple-check-width: 33px;
     padding: $mat-menu-side-padding;
     padding-right: $mat-menu-side-padding + $clear-button-width;
     box-sizing: border-box;
-
+    width: 100%;
+    border: none;
 }
 
 .mat-select-search-no-entries-found {
diff --git a/src/frontend/service/indexing-fields.service.ts b/src/frontend/service/indexing-fields.service.ts
index e9efaac88866aee1b0e358ea5c0b17983bf7ec9d..d07dcf0cbfe7eaea0cd6389ef1dd00a9942fb177 100644
--- a/src/frontend/service/indexing-fields.service.ts
+++ b/src/frontend/service/indexing-fields.service.ts
@@ -58,6 +58,27 @@ export class IndexingFieldsService {
             default_value: [],
             values: [],
             enabled: true,
+            indexingHide: true
+        },
+        {
+            identifier: 'status',
+            label: this.translate.instant('lang.status'),
+            icon: 'fa-mail-bulk',
+            type: 'select',
+            default_value: [],
+            values: [],
+            enabled: true,
+            indexingHide: true
+        },
+        {
+            identifier: 'category',
+            label: this.translate.instant('lang.category_id'),
+            icon: 'fa-map-signs',
+            type: 'select',
+            default_value: [],
+            values: [],
+            enabled: true,
+            indexingHide: true
         },
         {
             identifier: 'creationDate',
@@ -67,6 +88,7 @@ export class IndexingFieldsService {
             default_value: [],
             values: [],
             enabled: true,
+            indexingHide: true
         },
         {
             identifier: 'recipients',
diff --git a/src/frontend/tsconfig.app.json b/src/frontend/tsconfig.app.json
index aaa2f826811e7e2052af980a2dfe2d7d700af6a8..8f0be6eb084a34342a5d9923f698dd3731652e3f 100755
--- a/src/frontend/tsconfig.app.json
+++ b/src/frontend/tsconfig.app.json
@@ -9,6 +9,9 @@
       ],
       "@service/*": [
         "../../src/frontend/service/*"
+      ],
+      "@plugins/*": [
+        "../../src/frontend/plugins/*"
       ]
     }
   },
diff --git a/src/frontend/tsconfig.json b/src/frontend/tsconfig.json
index a89ba2369f101cc8227f4f563e1fef207827bacb..fcb8d22646a1614ac1f9fd17c27ea4c1a6699bf3 100755
--- a/src/frontend/tsconfig.json
+++ b/src/frontend/tsconfig.json
@@ -21,6 +21,9 @@
       ],
       "@service/*": [
         "./service/*"
+      ],
+      "@plugins/*": [
+        "./plugins/*"
       ]
     }
   },