diff --git a/apps/maarch_entreprise/Views/user-administration.component.html b/apps/maarch_entreprise/Views/user-administration.component.html
index c2df53bf72d5df7fd9758dbfddeac42f40248bd4..3024961cb000e360ca99a4f148e6f3415e2652e0 100644
--- a/apps/maarch_entreprise/Views/user-administration.component.html
+++ b/apps/maarch_entreprise/Views/user-administration.component.html
@@ -5,7 +5,7 @@
     <i class="fa fa-spinner fa-spin fa-5x" style="margin-left: 50%;margin-top: 16%;font-size: 8em"></i>
 </div>
 <div *ngIf="!loading" class="container-fluid">
-    <h1 style="margin-top: 0"><i class="fa fa-user fa-2x"></i> {{user.lang.userModification}} {{userId}}</h1>
+    <h1 style="margin-top: 0"><i class="fa fa-user fa-2x"></i> {{user.lang.userModification}}: {{userId}}</h1>
     <nav class="navbar navbar-default">
         <div class="container-fluid">
             <div class="navbar-header">
@@ -15,6 +15,12 @@
             </div>
             <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                 <ul class="nav navbar-nav navbar-right">
+                    <li style="cursor: pointer">
+                        <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-key" title=""></i> Réinitialiser le mot de passe </a>
+                    </li>
+                    <li style="cursor: pointer">
+                        <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-inbox" title=""></i> Gérer mes bannettes </a>
+                    </li>
                     <li style="cursor: pointer">
                         <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-user-times" title=""></i> {{user.lang.manageAbsences}} </a>
                     </li>
@@ -26,7 +32,7 @@
         </div>
     </nav>
     <div class="row row-eq-height">
-        <div class="col-md-4 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
+        <div class="col-md-4" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
             <h2>{{user.lang.myInformations}}</h2>
             <form class="form-horizontal" (ngSubmit)="onSubmit()" #profileForm="ngForm">
                 <div class="form-group">
@@ -80,23 +86,45 @@
                 </div>
             </form>
         </div>
-        <div class="col-md-3" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
+        <div class="col-md-3 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
             <h2>{{user.lang.myGroups}}</h2>
-            <ul class="list-group">
-                <li class="list-group-item" *ngFor="let group of user.groups">
-                    <i class="fa fa-users"></i> <span class="label label-primary">{{group.group_desc}}</span> <i class="fa fa-trash"></i>
-                </li>
-            </ul>
+            <div *ngFor="let group of user.groups" class="col-sm-12 form-group">
+                <div class="input-group">
+                    <span *ngIf="group.primary_group == 'Y'" class="input-group-addon label-primary" id="group_desc" style="color:white;">{{group.group_desc}}</span>
+                    <span *ngIf="group.primary_group == 'N'" class="input-group-addon label-default" id="group_desc" style="background-color:#eee;">{{group.group_desc}}</span>
+                    <input type="text" class="form-control" id="basic-url" aria-describedby="group_desc" placeholder="rôle" value="{{group.role}}">
+                    <div class="input-group-btn">
+                        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-bars" aria-hidden="true"></i>
+<span class="caret"></span></button>
+                        <ul class="dropdown-menu dropdown-menu-right">
+                        <li *ngIf="group.primary_group == 'N'"><a href="#">Passer en groupe primaire</a></li>
+                        <li><a href="#">Enregistrer les modifications</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="#">Supprimer</a></li>
+                        </ul>
+                    </div>
+                </div>
+            </div>
         </div>
         <div class="col-md-3 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
             <h2>{{user.lang.myEntities}}</h2>
-            <ul class="list-group">
-                <li class="list-group-item" *ngFor="let entity of user.entities">
-                    <i class="fa fa-sitemap"></i> {{entity.entity_label}}
-                    <span *ngIf="entity.primary_entity == 'Y'" class="label label-primary">{{user.lang.primaryEntity}}</span>
-                    <span *ngIf="entity.primary_entity != 'Y'" class="label label-default">{{user.lang.secondaryEntity}}</span>
-                </li>
-            </ul>
+            <div *ngFor="let entity of user.entities" class="col-sm-12 form-group">
+                <div class="input-group">
+                    <span *ngIf="entity.primary_entity == 'Y'" class="input-group-addon label-primary" id="group_desc" style="color:white;">{{entity.entity_label}}</span>
+                    <span *ngIf="entity.primary_entity == 'N'" class="input-group-addon label-default" id="group_desc" style="background-color:#eee;">{{entity.entity_label}}</span>
+                    <input type="text" class="form-control" id="basic-url" aria-describedby="group_desc" placeholder="rôle" value="{{entity.entity_role}}">
+                    <div class="input-group-btn">
+                        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-bars" aria-hidden="true"></i>
+<span class="caret"></span></button>
+                        <ul class="dropdown-menu dropdown-menu-right">
+                        <li *ngIf="entity.primary_entity == 'N'"><a href="#">Passer en entité primaire</a></li>
+                        <li><a href="#">Enregistrer les modifications</a></li>
+                        <li role="separator" class="divider"></li>
+                        <li><a href="#">Supprimer</a></li>
+                        </ul>
+                    </div>
+                </div>
+            </div>
         </div>
     </div>
 </div>
diff --git a/apps/maarch_entreprise/js/angular/app/user-administration.component.js b/apps/maarch_entreprise/js/angular/app/user-administration.component.js
index fc9e2f509ddda308180a37e810ab193e61a3e973..2094399a64cc182156d99568219ad8cbc53c8130 100644
--- a/apps/maarch_entreprise/js/angular/app/user-administration.component.js
+++ b/apps/maarch_entreprise/js/angular/app/user-administration.component.js
@@ -23,7 +23,7 @@ var UserAdministrationComponent = (function () {
     }
     UserAdministrationComponent.prototype.updateBreadcrumb = function (applicationName) {
         if ($j('#ariane')[0]) {
-            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > Utilisateurs";
+            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/users\"' style='cursor: pointer'>Liste utilisateurs</a> > Modification";
         }
     };
     UserAdministrationComponent.prototype.ngOnInit = function () {
@@ -71,7 +71,7 @@ var UserAdministrationComponent = (function () {
 UserAdministrationComponent = __decorate([
     core_1.Component({
         templateUrl: angularGlobals["user-administrationView"],
-        styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+        styleUrls: ['css/user-administration.component.css', '../../node_modules/bootstrap/dist/css/bootstrap.min.css']
     }),
     __metadata("design:paramtypes", [http_1.Http, router_1.ActivatedRoute])
 ], UserAdministrationComponent);
diff --git a/apps/maarch_entreprise/js/angular/app/user-administration.component.ts b/apps/maarch_entreprise/js/angular/app/user-administration.component.ts
index ad11392cda39e12c641da6f899a931e10ae851e5..1807ed5eaac3b35238491f385cee4d190914379d 100644
--- a/apps/maarch_entreprise/js/angular/app/user-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/user-administration.component.ts
@@ -10,7 +10,7 @@ declare var angularGlobals : any;
 
 @Component({
     templateUrl : angularGlobals["user-administrationView"],
-    styleUrls   : ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+    styleUrls   : ['css/user-administration.component.css','../../node_modules/bootstrap/dist/css/bootstrap.min.css']
 })
 export class UserAdministrationComponent implements OnInit {
 
@@ -28,7 +28,7 @@ export class UserAdministrationComponent implements OnInit {
 
     updateBreadcrumb(applicationName: string) {
         if ($j('#ariane')[0]) {
-            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > Utilisateurs";
+            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/users\"' style='cursor: pointer'>Liste utilisateurs</a> > Modification";
         }
     }
 
diff --git a/core/Models/UserModelAbstract.php b/core/Models/UserModelAbstract.php
index d2a9e5e036ab1c30d4b6d8725e3fe26737a8f470..2c5bdc5ab4b405f038c8bc8594a526af9be2cbfc 100644
--- a/core/Models/UserModelAbstract.php
+++ b/core/Models/UserModelAbstract.php
@@ -418,7 +418,7 @@ class UserModelAbstract extends \Apps_Table_Service
 
 
         $aGroups = static::select([
-            'select'    => ['usergroup_content.group_id', 'usergroups.group_desc', 'usergroup_content.primary_group'],
+            'select'    => ['usergroup_content.group_id', 'usergroups.group_desc', 'usergroup_content.primary_group', 'usergroup_content.role'],
             'table'     => ['usergroup_content, usergroups'],
             'where'     => ['usergroup_content.group_id = usergroups.group_id', 'usergroup_content.user_id = ?'],
             'data'      => [$aArgs['userId']]