diff --git a/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.js b/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.js
index 42392325133904b5116991c990e55da8b22c2ba0..a53da2c1accc643ea1cdfac149b1220c25323878 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.js
+++ b/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.js
@@ -12,9 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
 var core_1 = require("@angular/core");
 var http_1 = require("@angular/common/http");
 var translate_component_1 = require("../translate.component");
+var notification_service_1 = require("../notification.service");
 var PrioritiesAdministrationComponent = /** @class */ (function () {
-    function PrioritiesAdministrationComponent(http) {
+    function PrioritiesAdministrationComponent(http, notify) {
         this.http = http;
+        this.notify = notify;
         this.lang = translate_component_1.LANG;
         this.loading = false;
         this.priorities = [];
@@ -31,36 +33,7 @@ var PrioritiesAdministrationComponent = /** @class */ (function () {
         this.loading = true;
         this.http.get(this.coreUrl + 'rest/priorities')
             .subscribe(function (data) {
-            _this.priorities = data.priorities;
-            //setTimeout(() => {
-            //    this.datatable = $j('#prioritiesTable').DataTable({
-            //        "dom": '<"datatablesLeft"p><"datatablesRight"f><"datatablesCenter"l>rt<"datatablesCenter"i><"clear">',
-            //        "lengthMenu": [ 10, 25, 50, 75, 100 ],
-            //        "oLanguage": {
-            //            "sLengthMenu": "<i class='fa fa-bars'></i> _MENU_",
-            //            "sZeroRecords": this.lang.noResult,
-            //            "sInfo": "_START_ - _END_ / _TOTAL_ "+this.lang.record,
-            //            "sSearch": "",
-            //            "oPaginate": {
-            //                "sFirst":    "<<",
-            //                "sLast":    ">>",
-            //                "sNext":    this.lang.next+" <i class='fa fa-caret-right'></i>",
-            //                "sPrevious": "<i class='fa fa-caret-left'></i> "+this.lang.previous
-            //            },
-            //            "sInfoEmpty": this.lang.noRecord,
-            //            "sInfoFiltered": "(filtré de _MAX_ "+this.lang.record+")"
-            //        },
-            //        "order": [[ 1, "asc" ]],
-            //        "columnDefs": [
-            //            { "orderable": false, "targets": [3,5] }
-            //        ]
-            //    });
-            //    $j('.dataTables_filter input').attr("placeholder", this.lang.search);
-            //    $j('dataTables_filter input').addClass('form-control');
-            //    $j(".datatablesLeft").css({"float":"left"});
-            //    $j(".datatablesCenter").css({"text-align":"center"});
-            //    $j(".datatablesRight").css({"float":"right"});
-            //} ,0);
+            _this.priorities = data["priorities"];
             _this.loading = false;
         }, function () {
             location.href = "index.php";
@@ -68,23 +41,23 @@ var PrioritiesAdministrationComponent = /** @class */ (function () {
     };
     PrioritiesAdministrationComponent.prototype.deletePriority = function (id) {
         var _this = this;
-        var r = confirm("Voulez-vous vraiment supprimer cette priorité ?");
+        var r = confirm(this.lang.deleteMsg);
         if (r) {
             this.http.delete(this.coreUrl + "rest/priorities/" + id)
                 .subscribe(function (data) {
-                _this.priorities = data.priorities;
-                successNotification(data.success);
+                _this.priorities = data["priorities"];
+                _this.notify.success(_this.lang.priorityDeleted);
             }, function (err) {
-                errorNotification(JSON.parse(err._body).errors);
+                _this.notify.error(err.error.errors);
             });
         }
     };
     PrioritiesAdministrationComponent = __decorate([
         core_1.Component({
             templateUrl: angularGlobals["priorities-administrationView"],
-            styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+            providers: [notification_service_1.NotificationService]
         }),
-        __metadata("design:paramtypes", [http_1.HttpClient])
+        __metadata("design:paramtypes", [http_1.HttpClient, notification_service_1.NotificationService])
     ], PrioritiesAdministrationComponent);
     return PrioritiesAdministrationComponent;
 }());
diff --git a/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.ts
index aaaece2f584e2c140a4fa9321950093b226daf3d..d3c22d8badaf9c5296500f337d0ee5f55441d64e 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/priorities-administration.component.ts
@@ -1,16 +1,15 @@
 import { Component, OnInit} from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { LANG } from '../translate.component';
+import { NotificationService } from '../notification.service';
 
 declare function $j(selector: any) : any;
-declare function successNotification(message: string) : void;
-declare function errorNotification(message: string) : void;
 
 declare var angularGlobals : any;
 
 @Component({
     templateUrl : angularGlobals["priorities-administrationView"],
-    styleUrls   : ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+    providers   : [NotificationService]
 })
 export class PrioritiesAdministrationComponent implements OnInit {
 
@@ -23,7 +22,7 @@ export class PrioritiesAdministrationComponent implements OnInit {
     datatable       : any;
 
 
-    constructor(public http: HttpClient) {
+    constructor(public http: HttpClient, private notify: NotificationService) {
     }
 
     updateBreadcrumb(applicationName: string) {
@@ -39,36 +38,7 @@ export class PrioritiesAdministrationComponent implements OnInit {
 
         this.http.get(this.coreUrl + 'rest/priorities')
             .subscribe((data : any) => {
-                this.priorities = data.priorities;
-                //setTimeout(() => {
-                //    this.datatable = $j('#prioritiesTable').DataTable({
-                //        "dom": '<"datatablesLeft"p><"datatablesRight"f><"datatablesCenter"l>rt<"datatablesCenter"i><"clear">',
-                //        "lengthMenu": [ 10, 25, 50, 75, 100 ],
-                //        "oLanguage": {
-                //            "sLengthMenu": "<i class='fa fa-bars'></i> _MENU_",
-                //            "sZeroRecords": this.lang.noResult,
-                //            "sInfo": "_START_ - _END_ / _TOTAL_ "+this.lang.record,
-                //            "sSearch": "",
-                //            "oPaginate": {
-                //                "sFirst":    "<<",
-                //                "sLast":    ">>",
-                //                "sNext":    this.lang.next+" <i class='fa fa-caret-right'></i>",
-                //                "sPrevious": "<i class='fa fa-caret-left'></i> "+this.lang.previous
-                //            },
-                //            "sInfoEmpty": this.lang.noRecord,
-                //            "sInfoFiltered": "(filtré de _MAX_ "+this.lang.record+")"
-                //        },
-                //        "order": [[ 1, "asc" ]],
-                //        "columnDefs": [
-                //            { "orderable": false, "targets": [3,5] }
-                //        ]
-                //    });
-                //    $j('.dataTables_filter input').attr("placeholder", this.lang.search);
-                //    $j('dataTables_filter input').addClass('form-control');
-                //    $j(".datatablesLeft").css({"float":"left"});
-                //    $j(".datatablesCenter").css({"text-align":"center"});
-                //    $j(".datatablesRight").css({"float":"right"});
-                //} ,0);
+                this.priorities = data["priorities"];
 
                 this.loading = false;
             }, () => {
@@ -77,15 +47,15 @@ export class PrioritiesAdministrationComponent implements OnInit {
     }
 
     deletePriority(id: string) {
-        let r = confirm("Voulez-vous vraiment supprimer cette priorité ?");
+        let r = confirm(this.lang.deleteMsg);
 
         if (r) {
             this.http.delete(this.coreUrl + "rest/priorities/" + id)
                 .subscribe((data : any) => {
-                    this.priorities = data.priorities;
-                    successNotification(data.success);
+                    this.priorities = data["priorities"];
+                    this.notify.success(this.lang.priorityDeleted);
                 }, (err) => {
-                    errorNotification(JSON.parse(err._body).errors);
+                    this.notify.error(err.error.errors);
                 })
         }
     }
diff --git a/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.js b/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.js
index cb489554642994af3be098f70addf5ff957def2a..050729b467f50937d5af700b5f45c43b82b31370 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.js
+++ b/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.js
@@ -13,11 +13,13 @@ var core_1 = require("@angular/core");
 var http_1 = require("@angular/common/http");
 var router_1 = require("@angular/router");
 var translate_component_1 = require("../translate.component");
+var notification_service_1 = require("../notification.service");
 var PriorityAdministrationComponent = /** @class */ (function () {
-    function PriorityAdministrationComponent(http, route, router) {
+    function PriorityAdministrationComponent(http, route, router, notify) {
         this.http = http;
         this.route = route;
         this.router = router;
+        this.notify = notify;
         this.lang = translate_component_1.LANG;
         this.loading = false;
         this.priority = {
@@ -56,29 +58,29 @@ var PriorityAdministrationComponent = /** @class */ (function () {
         var _this = this;
         if (this.creationMode) {
             this.http.post(this.coreUrl + "rest/priorities", this.priority)
-                .subscribe(function (data) {
-                successNotification(data.success);
+                .subscribe(function () {
+                _this.notify.success(_this.lang.priorityAdded);
                 _this.router.navigate(["/administration/priorities"]);
             }, function (err) {
-                errorNotification(JSON.parse(err._body).errors);
+                _this.notify.error(err.error.errors);
             });
         }
         else {
             this.http.put(this.coreUrl + "rest/priorities/" + this.id, this.priority)
-                .subscribe(function (data) {
-                successNotification(data.success);
+                .subscribe(function () {
+                _this.notify.success(_this.lang.priorityUpdated);
                 _this.router.navigate(["/administration/priorities"]);
             }, function (err) {
-                errorNotification(JSON.parse(err._body).errors);
+                _this.notify.error(err.error.errors);
             });
         }
     };
     PriorityAdministrationComponent = __decorate([
         core_1.Component({
             templateUrl: angularGlobals["priority-administrationView"],
-            styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+            providers: [notification_service_1.NotificationService]
         }),
-        __metadata("design:paramtypes", [http_1.HttpClient, router_1.ActivatedRoute, router_1.Router])
+        __metadata("design:paramtypes", [http_1.HttpClient, router_1.ActivatedRoute, router_1.Router, notification_service_1.NotificationService])
     ], PriorityAdministrationComponent);
     return PriorityAdministrationComponent;
 }());
diff --git a/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.ts
index 2692571df58aab009f7855a650f94bb0161dd179..6c7ab12cd7ead045a58abb401acc3fc8f4c7ca21 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/priority-administration.component.ts
@@ -2,17 +2,16 @@ import { Component, OnInit} from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { Router, ActivatedRoute } from '@angular/router';
 import { LANG } from '../translate.component';
+import { NotificationService } from '../notification.service';
 
 declare function $j(selector: any) : any;
-declare function successNotification(message: string) : void;
-declare function errorNotification(message: string) : void;
 
 declare var angularGlobals : any;
 
 
 @Component({
     templateUrl : angularGlobals["priority-administrationView"],
-    styleUrls   : ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+    providers   : [NotificationService]
 })
 export class PriorityAdministrationComponent implements OnInit {
 
@@ -27,7 +26,7 @@ export class PriorityAdministrationComponent implements OnInit {
     };
 
 
-    constructor(public http: HttpClient, private route: ActivatedRoute, private router: Router) {
+    constructor(public http: HttpClient, private route: ActivatedRoute, private router: Router, private notify: NotificationService) {
     }
 
     updateBreadcrumb(applicationName: string) {
@@ -64,19 +63,19 @@ export class PriorityAdministrationComponent implements OnInit {
     onSubmit(){
         if (this.creationMode) {
             this.http.post(this.coreUrl + "rest/priorities", this.priority)
-                .subscribe((data : any) => {
-                    successNotification(data.success);
+                .subscribe(() => {
+                    this.notify.success(this.lang.priorityAdded);
                     this.router.navigate(["/administration/priorities"]);
                 }, (err) => {
-                    errorNotification(JSON.parse(err._body).errors);
+                    this.notify.error(err.error.errors);
                 });
         } else {
             this.http.put(this.coreUrl + "rest/priorities/" + this.id, this.priority)
-                .subscribe((data : any) => {
-                    successNotification(data.success);
+                .subscribe(() => {
+                    this.notify.success(this.lang.priorityUpdated);
                     this.router.navigate(["/administration/priorities"]);
                 }, (err) => {
-                    errorNotification(JSON.parse(err._body).errors);
+                    this.notify.error(err.error.errors);
                 });
         }
     }
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.js b/apps/maarch_entreprise/js/angular/lang/lang-en.js
index e4fb0f95b5a31e410f9b1bb686a2485e8ceb97b2..350bdf4724798b22bb9d5e26d3a3e5fa8f348fb8 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-en.js
+++ b/apps/maarch_entreprise/js/angular/lang/lang-en.js
@@ -86,6 +86,9 @@ exports.LANG_EN = {
     "basketAdded": "Basket added",
     "basketUpdated": "Basket updated",
     "basketDeleted": "Basket deleted",
+    "priorityAdded": "Priority added",
+    "priorityUpdated": "Priority updated",
+    "priorityDeleted": "Priority deleted",
     "entityTooglePrimary": "Pass to primary entity",
     "updateStatusInformations": "When typing the chrono or the GED number of a document, you will modify its status. The document will be present in the basket depending of the status you have chosen.",
     "updateStatus": "Document status modification",
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.ts b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
index e434e0b82eb49aabdddf33beef80329bd5b09ea1..539c339388fb107acae9a46ac873657d862e1060 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-en.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
@@ -87,6 +87,9 @@ export const LANG_EN = {
     "basketAdded"               : "Basket added",
     "basketUpdated"             : "Basket updated",
     "basketDeleted"             : "Basket deleted",
+    "priorityAdded"             : "Priority added",
+    "priorityUpdated"           : "Priority updated",
+    "priorityDeleted"           : "Priority deleted",
     "entityTooglePrimary"       : "Pass to primary entity",
     "updateStatusInformations"  : "When typing the chrono or the GED number of a document, you will modify its status. The document will be present in the basket depending of the status you have chosen.",
     "updateStatus"              : "Document status modification",
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.js b/apps/maarch_entreprise/js/angular/lang/lang-fr.js
index 54e21ae758e41351fe6a7766b15e210c3d248da1..e467ac0fb544e90214682ef80e64eb9fcef9eb48 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-fr.js
+++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.js
@@ -87,6 +87,9 @@ exports.LANG_FR = {
     "basketAdded": "Bannette ajoutée",
     "basketUpdated": "Bannette modifiée",
     "basketDeleted": "Bannette supprimée",
+    "priorityAdded": "Priorité ajoutée",
+    "priorityUpdated": "Priorité modifiée",
+    "priorityDeleted": "Priorité supprimée",
     "entityTooglePrimary": "Passage en entité primaire",
     "updateStatusInformations": "En saisissant le n° chrono ou le n° GED du document, vous modifierez le statut du courrier. Le courrier sera disponible dans la bannette des utilisateurs auquel il était affecté suivant le statut que vous aurez défini.",
     "updateStatus": "Changement de statut de courrier",
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
index 4fc78db92c811e471efd68646754eae1abeac955..f7ca93c46ae54eeec19f0e488080f640b3a0034e 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
@@ -88,6 +88,9 @@ export const LANG_FR = {
     "basketAdded"               : "Bannette ajoutée",
     "basketUpdated"             : "Bannette modifiée",
     "basketDeleted"             : "Bannette supprimée",
+    "priorityAdded"             : "Priorité ajoutée",
+    "priorityUpdated"           : "Priorité modifiée",
+    "priorityDeleted"           : "Priorité supprimée",
     "entityTooglePrimary"       : "Passage en entité primaire",
     "updateStatusInformations"  : "En saisissant le n° chrono ou le n° GED du document, vous modifierez le statut du courrier. Le courrier sera disponible dans la bannette des utilisateurs auquel il était affecté suivant le statut que vous aurez défini.",
     "updateStatus"              : "Changement de statut de courrier",