diff --git a/src/frontend/app/administration/home/administration.component.ts b/src/frontend/app/administration/home/administration.component.ts
index 507725d33833c995519fc8a94d27bc2d8dc52249..d70c8338e2406ec3acf2c08793facf415628afdc 100644
--- a/src/frontend/app/administration/home/administration.component.ts
+++ b/src/frontend/app/administration/home/administration.component.ts
@@ -84,7 +84,7 @@ export class AdministrationComponent implements OnInit, AfterViewInit {
     }
 
     ngAfterViewInit(): void {
-        if (this.headerService.user.mode === 'root' || this.headerService.user.mode === 'invisible_root') {
+        if (this.headerService.user.mode === 'root_visible' || this.headerService.user.mode === 'root_invisible') {
             this.featureTourService.init();
         }
     }
diff --git a/src/frontend/app/administration/user/user-administration.component.html b/src/frontend/app/administration/user/user-administration.component.html
index 8d3fdcbfd8a6eb8866564cfa4b9818153ce2ebec..552778b6735d8be96b149f975b19669672c8d97a 100755
--- a/src/frontend/app/administration/user/user-administration.component.html
+++ b/src/frontend/app/administration/user/user-administration.component.html
@@ -215,6 +215,16 @@
                                                 {{lang.otherInformations}}
                                             </mat-panel-title>
                                         </mat-expansion-panel-header>
+                                        <div>
+                                            <mat-form-field>
+                                                <mat-label>{{lang.accountType}}</mat-label>
+                                                <mat-select [(ngModel)]="user.mode" id="accountType" name="accountType" [disabled]="headerService.user.mode === 'standard'" required>
+                                                  <mat-option *ngFor="let mode of adminModes" [value]="mode">
+                                                    {{lang[mode]}}
+                                                  </mat-option>
+                                                </mat-select>
+                                              </mat-form-field>
+                                        </div>
                                         <div class="form-group">
                                             <div class="col-sm-12">
                                                 <mat-checkbox color="primary"
diff --git a/src/frontend/app/administration/user/user-administration.component.ts b/src/frontend/app/administration/user/user-administration.component.ts
index f35707155aed52f933b265fbbd98ad87973dce99..f0f73f7c7e5f3f7e99110ecbc0c3e5ba6e7a318c 100755
--- a/src/frontend/app/administration/user/user-administration.component.ts
+++ b/src/frontend/app/administration/user/user-administration.component.ts
@@ -87,6 +87,10 @@ export class UserAdministrationComponent implements OnInit {
     canViewPersonalDatas: boolean = false;
     canManagePersonalDatas: boolean = false;
 
+    adminModes: string[] = [
+        'standard', 'root_visible', 'root_invisible'
+    ];
+
     @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;
     @ViewChild(MatSort, { static: false }) sort: MatSort;
 
diff --git a/src/frontend/app/administration/user/users-administration.component.html b/src/frontend/app/administration/user/users-administration.component.html
index b216c5c958b0e8063bbff73743da3cd9c4c2fe77..7c506817117b1ca3418f150154262b557bdd06ab 100755
--- a/src/frontend/app/administration/user/users-administration.component.html
+++ b/src/frontend/app/administration/user/users-administration.component.html
@@ -95,7 +95,7 @@
                             <mat-header-cell *matHeaderCellDef>
                             </mat-header-cell>
                             <mat-cell *matCellDef="let element" style="justify-content: flex-end;">
-                                <button mat-icon-button color="primary" [disabled]="element.user_id==user.user_id"
+                                <button mat-icon-button color="primary" [disabled]="element.id===user.id"
                                     *ngIf="element.status != 'SPD'" matTooltip="{{lang.suspend}}"
                                     (click)="$event.stopPropagation();deleteUser(element, 'suspend')">
                                     <mat-icon class="fa fa-pause fa-2x" aria-hidden="true"></mat-icon>
@@ -105,7 +105,7 @@
                                     (click)="$event.stopPropagation();activateUser(element)">
                                     <mat-icon class="fa fa-check fa-2x" aria-hidden="true"></mat-icon>
                                 </button>
-                                <button mat-icon-button color="warn" [disabled]="element.user_id==user.user_id"
+                                <button mat-icon-button color="warn" [disabled]="element.id===user.id || element.mode !== 'standard'"
                                     matTooltip="{{lang.delete}}" data-toggle="modal" data-target="#changeDiffListDest"
                                     (click)="$event.stopPropagation();deleteUser(element, 'delete')">
                                     <mat-icon class="fa fa-trash-alt fa-2x"></mat-icon>
@@ -115,7 +115,7 @@
                         <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
                         <mat-row *matRowDef="let row; columns: displayedColumns;"
                             routerLink="/administration/users/{{row.id}}" style="cursor:pointer;"
-                            matTooltip="{{lang.view}}"></mat-row>
+                            matTooltip="{{lang.view}}" [class.admin]="row.mode !== 'standard'"></mat-row>
                     </mat-table>
                     <div class="mat-paginator"
                         style="min-height:48px;min-height: 48px;display: flex;justify-content: end;align-items: center;padding-right: 20px;">
diff --git a/src/frontend/app/administration/user/users-administration.component.scss b/src/frontend/app/administration/user/users-administration.component.scss
index fe089dd18f6f8e436a112b68cad70cedfa41ce4b..2d16ba0e08996a17870cb55d6693e4626c473504 100644
--- a/src/frontend/app/administration/user/users-administration.component.scss
+++ b/src/frontend/app/administration/user/users-administration.component.scss
@@ -25,3 +25,7 @@ button:disabled{
     background-color: #F99830 !important;
     color: white;
 }
+
+.admin {
+    font-weight: bold;
+}
\ No newline at end of file
diff --git a/src/frontend/app/home/home.component.ts b/src/frontend/app/home/home.component.ts
index 498f1de9c273c833564f5ed593d3edabcb161c48..a42630c2ac8b84925f84aa9221930bb62e0716ad 100644
--- a/src/frontend/app/home/home.component.ts
+++ b/src/frontend/app/home/home.component.ts
@@ -72,7 +72,7 @@ export class HomeComponent implements OnInit, AfterViewInit {
     }
 
     ngAfterViewInit(): void {
-        if (this.headerService.user.mode === 'root' || this.headerService.user.mode === 'invisible_root') {
+        if (this.headerService.user.mode === 'root_visible' || this.headerService.user.mode === 'root_invisible') {
             this.featureTourService.init();
         }
         this.http.get('../rest/home/lastRessources')
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 5ca16acf91358d76813a5f72c81e7a5959d40c98..416db6f415eb4fd67afc1a4dd552b18458702edb 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1861,5 +1861,9 @@ export const LANG_EN = {
     "createScriptTourTitle": "Create the script",
     "createScriptTourDescription": "Before scheduling the task, we need to create the script.",
     "updateKO": "Update failed !",
-    "saveInDocserversInfo": "L'historique de la mise à jour a été sauvegardé dans la zone de stockage <b>migration</b>."
+    "saveInDocserversInfo": "Update history saved in docserver <b>migration</b>.",
+    "root_visible": "Administrator",
+    "root_invisible": "Administrator (invisible)",
+    "standard": "Default",
+    "accountType": "Account type"
 };
\ No newline at end of file
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index 4e1ccbc7f36890714aa9c002d0e0a473a643bb35..9dffe719e78c3ea08a11dbedefb53274efe14979 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1852,9 +1852,13 @@ export const LANG_FR = {
     "notifTour4Title": "Liste des tâches",
     "notifTour4Description": "La liste de vos <b color=\"primary\">tâches actives</b> apparaît ici",
     "welcomeTourTitle": "Bienvenue",
-    "welcomeTourDescription": "Nous allons vous montrer certains points de configuration : <ul><li>Paraméter un <b color=\"primary\">serveur de mail</b></li><li>Configurer votre première <b color=\"primary\">notification</b></li></ul><br/>Pour commencer, cliquez sur <img style=\"width:32px;\" src=\"assets/admin_button.png\"/>",
+    "welcomeTourDescription": "Nous allons vous montrer certains points de configuration : <ul><li>Paramétrer un <b color=\"primary\">serveur de mail</b></li><li>Configurer votre première <b color=\"primary\">notification</b></li></ul><br/>Pour commencer, cliquez sur <img style=\"width:32px;\" src=\"assets/admin_button.png\"/>",
     "createScriptTourTitle": "Créer le script",
     "createScriptTourDescription": "Avant de planifier la tâche, nous devons créer le script.",
     "updateKO": "Mise à jour échouée !",
-    "saveInDocserversInfo": "L'historique de la mise à jour a été sauvegardé dans la zone de stockage <b>migration</b>."
+    "saveInDocserversInfo": "L'historique de la mise à jour a été sauvegardé dans la zone de stockage <b>migration</b>.",
+    "root_visible": "Administrateur",
+    "root_invisible": "Administrateur (invisible)",
+    "standard": "Standard",
+    "accountType": "Type de compte"
 };
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index 527806d30a351d947b3b9b00209faaf533e80b0a..3b89e28e31f69b1036d31610cdb473abfab2f344 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1873,5 +1873,9 @@ export const LANG_NL = {
     "createScriptTourTitle": "Créer le script__TO_TRANSLATE",
     "createScriptTourDescription": "Avant de planifier la tâche, nous devons créer le script.__TO_TRANSLATE",
     "updateKO": "Mise à jour échouée !__TO_TRANSLATE",
-    "saveInDocserversInfo": "L'historique de la mise à jour a été sauvegardé dans la zone de stockage <b>migration</b>.__TO_TRANSLATE"
+    "saveInDocserversInfo": "L'historique de la mise à jour a été sauvegardé dans la zone de stockage <b>migration</b>.__TO_TRANSLATE",
+    "root_visible": "Administrateur__TO_TRANSLATE",
+    "root_invisible": "Administrateur (invisible)__TO_TRANSLATE",
+    "standard": "Standard__TO_TRANSLATE",
+    "accountType": "Type de compte__TO_TRANSLATE"
 };
\ No newline at end of file
diff --git a/src/frontend/service/app.guard.ts b/src/frontend/service/app.guard.ts
index 26836c887e24762bc6cad5a1561b129ed6ccb9c7..b5c30e3b3cf7ac9b6b36a8363acdfbb9e361cc2f 100644
--- a/src/frontend/service/app.guard.ts
+++ b/src/frontend/service/app.guard.ts
@@ -49,6 +49,7 @@ export class AppGuard implements CanActivate {
                     .pipe(
                         map((data: any) => {
                             this.headerService.user = {
+                                mode: data.mode,
                                 id: data.id,
                                 status: data.status,
                                 userId: data.user_id,
diff --git a/src/frontend/service/header.service.ts b/src/frontend/service/header.service.ts
index ed116ea20ea222cb2508c0e49d887ed3498e652e..07f0778f5a6e2093c35cc3316162be55c9fee418 100755
--- a/src/frontend/service/header.service.ts
+++ b/src/frontend/service/header.service.ts
@@ -68,6 +68,7 @@ export class HeaderService {
                 .pipe(
                     map((data: any) => {
                         this.user = {
+                            mode: data.mode,
                             id: data.id,
                             userId: data.user_id,
                             firstname: data.firstname,