diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts
index d2df30ac241fe67c47af4fb507117b8db1440d23..ca1691752d5a903c573e6718faecb7aa013dc95a 100755
--- a/src/frontend/app/list/basket-list.component.ts
+++ b/src/frontend/app/list/basket-list.component.ts
@@ -8,7 +8,7 @@ import { MatDialog, MatSidenav, MatPaginator, MatSort, MatBottomSheet, MatBottom
 
 import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
 import { startWith, switchMap, map, catchError } from 'rxjs/operators';
-import { ActivatedRoute } from '@angular/router';
+import { ActivatedRoute, Router } from '@angular/router';
 import { HeaderService } from '../../service/header.service';
 import { FiltersListService } from '../../service/filtersList.service';
 import { NotesListComponent } from '../notes/notes.component';
@@ -107,7 +107,7 @@ export class BasketListComponent implements OnInit {
 
     @ViewChild(MatPaginator) paginator: MatPaginator;
     @ViewChild('tableBasketListSort') sort: MatSort;
-    constructor(changeDetectorRef: ChangeDetectorRef, private route: ActivatedRoute, media: MediaMatcher, public http: HttpClient, public dialog: MatDialog, private sanitizer: DomSanitizer, private bottomSheet: MatBottomSheet, private headerService: HeaderService, public filtersListService: FiltersListService) {
+    constructor(changeDetectorRef: ChangeDetectorRef, private router: Router, private route: ActivatedRoute, media: MediaMatcher, public http: HttpClient, public dialog: MatDialog, private sanitizer: DomSanitizer, private bottomSheet: MatBottomSheet, private headerService: HeaderService, public filtersListService: FiltersListService, private notify: NotificationService) {
         this.mobileMode = angularGlobals.mobileMode;
         $j("link[href='merged_css.php']").remove();
         this.mobileQuery = media.matchMedia('(max-width: 768px)');
@@ -151,6 +151,9 @@ export class BasketListComponent implements OnInit {
 
             this.refreshDao();
 
+        },
+        (err : any) => {
+            this.notify.handleErrors(err);
         });
     }
 
@@ -177,7 +180,8 @@ export class BasketListComponent implements OnInit {
                     return data.resources;
                 }),
                 catchError((err: any) => {
-                    console.log(err);
+                    this.notify.handleErrors(err);
+                    this.router.navigate(['/home']);
                     this.isLoadingResults = false;
                     return observableOf([]);
                 })
diff --git a/src/frontend/app/notification.service.ts b/src/frontend/app/notification.service.ts
index ef2a9c1bc92c080c5f4b4ba919c68114aaafef12..e806d29f7f8fb231fdb0ac8b1bbf7e2537ab04c1 100755
--- a/src/frontend/app/notification.service.ts
+++ b/src/frontend/app/notification.service.ts
@@ -1,6 +1,7 @@
 import {MatSnackBar} from '@angular/material';
 import {Injectable,Component,Inject} from '@angular/core';
 import {MAT_SNACK_BAR_DATA} from '@angular/material';
+import { Router } from '@angular/router';
 
 @Component({
     selector: 'custom-snackbar',
@@ -12,7 +13,7 @@ export class CustomSnackbarComponent {
 
 @Injectable()
 export class NotificationService {
-    constructor(public snackBar: MatSnackBar) {
+    constructor(private router: Router, public snackBar: MatSnackBar) {
     }
     success(message:string) {
         this.snackBar.openFromComponent(CustomSnackbarComponent,{
@@ -27,4 +28,25 @@ export class NotificationService {
             data: {message: message,icon : 'exclamation-triangle'}
           });
     }
+
+    handleErrors(err: any) {
+        console.log(err);
+        if (err.status === 401 && this.router.url !== '/login') {
+            this.router.navigate(['/login']);
+            this.error('Veuillez vous reconnecter');
+        } else if (err.status === 0 && err.statusText === 'Unknown Error') {
+            this.error('La connexion au serveur a échoué. Veuillez réessayer ultérieurement.');
+        } else {
+            if (err.error.errors !== undefined) {
+                this.error(err.error.errors);
+                if (err.status === 403 || err.status === 404) {
+                    this.router.navigate(['/documents']);
+                }
+            } else if (err.error.exception !== undefined) {
+                this.error(err.error.exception[0].message);
+            } else {
+                this.error(err.error.error.message);
+            }
+        }
+    }
 }
\ No newline at end of file