diff --git a/AideDeJeu/AideDeJeu/AideDeJeu.csproj b/AideDeJeu/AideDeJeu/AideDeJeu.csproj
index 0451bc2a..be2423d4 100644
--- a/AideDeJeu/AideDeJeu/AideDeJeu.csproj
+++ b/AideDeJeu/AideDeJeu/AideDeJeu.csproj
@@ -14,8 +14,13 @@
   
     Latest
   
+
+  
+    
+  
   
     
+    
   
 
   
@@ -114,9 +119,6 @@
     
       ItemView.xaml
     
-    
-      MainTabbedPage.xaml
-    
     
       ItemPicker.xaml
     
@@ -150,6 +152,12 @@
     
   
 
+  
+    
+      MainTabbedPage.xaml
+    
+  
+
   
     
       PublicResXFileCodeGenerator
diff --git a/AideDeJeu/AideDeJeu/Repositories/BookmarksRepository.cs b/AideDeJeu/AideDeJeu/Repositories/BookmarksRepository.cs
new file mode 100644
index 00000000..52b3b6d5
--- /dev/null
+++ b/AideDeJeu/AideDeJeu/Repositories/BookmarksRepository.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace AideDeJeu.Repositories
+{
+    public class BookmarksRepository
+    {
+    }
+}
diff --git a/AideDeJeu/AideDeJeu/Repositories/LibraryRepository.cs b/AideDeJeu/AideDeJeu/Repositories/LibraryRepository.cs
new file mode 100644
index 00000000..6cbe335c
--- /dev/null
+++ b/AideDeJeu/AideDeJeu/Repositories/LibraryRepository.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace AideDeJeu.Repositories
+{
+    public class LibraryRepository
+    {
+    }
+}
diff --git a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
index 5bfac331..4fcf50bb 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
@@ -155,31 +155,34 @@ namespace AideDeJeu.ViewModels
             await Shell.Current.GoToAsync("//deepsearch", true);
         }
 
-        private Command _AddToFavoritesCommand = null;
-        public Command AddToFavoritesCommand
+        private Command _AddToFavoritesCommand = null;
+        public Command AddToFavoritesCommand
         {
             get
             {
-                return _AddToFavoritesCommand ?? (_AddToFavoritesCommand = new Command(async () => await ExecuteAddToFavoritesCommandAsync()));
+                return _AddToFavoritesCommand ?? (_AddToFavoritesCommand = new Command(async (item) => await ExecuteAddToFavoritesCommandAsync(item)));
             }
         }
 
-        public async Task ExecuteAddToFavoritesCommandAsync()
+        public async Task ExecuteAddToFavoritesCommandAsync(ItemViewModel itemVM)
         {
-            var tabbedPage = App.Current.MainPage as MainTabbedPage;
-            var navigationPage = tabbedPage; //.MainNavigationPage;
-            var lastPage = navigationPage.Navigation.NavigationStack.LastOrDefault();
-            var context = lastPage.BindingContext;
-            Item item = (context as ItemViewModel)?.Item;
-            //if (context is ItemDetailViewModel)
-            //{
-            //    item = (context as ItemDetailViewModel).Item;
-            //}
-            //else if (context is ItemsViewModel)
-            //{
-            //    item = (context as ItemsViewModel).AllItems;
-            //}
+            //var page = Shell.Current;
+            //var tabbedPage = App.Current.MainPage as MainTabbedPage;
+            //var navigationPage = tabbedPage; //.MainNavigationPage;
+            //var lastPage = navigationPage.Navigation.NavigationStack.LastOrDefault();
+            //var context = lastPage.BindingContext;
+            //Item item = (context as ItemViewModel)?.Item;
+            ////if (context is ItemDetailViewModel)
+            ////{
+            ////    item = (context as ItemDetailViewModel).Item;
+            ////}
+            ////else if (context is ItemsViewModel)
+            ////{
+            ////    item = (context as ItemsViewModel).AllItems;
+            ////}
+
             //await Application.Current.MainPage.DisplayAlert("Id", item.Id, "OK");
+            var item = itemVM.Item;
             var vm = Main.Bookmarks;
             var result = await Application.Current.MainPage.DisplayActionSheet("Ajouter à", "Annuler", "Nouvelle liste", vm.BookmarkCollectionNames.ToArray());
             if (result != "Annuler")
@@ -207,7 +210,7 @@ namespace AideDeJeu.ViewModels
             var itemsViewModel = new ItemViewModel() { Item = item, AllItems = items, Filter = filterViewModel };
             itemsViewModel.LoadItemsCommand.Execute(null);
 
-            SwitchToMainTab();
+            await SwitchToMainTabAsync();
 
             if (filterViewModel == null)
             {
@@ -219,14 +222,15 @@ namespace AideDeJeu.ViewModels
             }
         }
 
-        public void SwitchToMainTab()
+        public async Task SwitchToMainTabAsync()
         {
-            var tabbedPage = App.Current.MainPage as MainTabbedPage;
-            if (tabbedPage != null)
-            {
-                tabbedPage.SelectedItem = null;
-                tabbedPage.SelectedItem = tabbedPage; //.MainNavigationPage;
-            }
+            await Shell.Current.GoToAsync("//library");
+            //var tabbedPage = App.Current.MainPage as MainTabbedPage;
+            //if (tabbedPage != null)
+            //{
+            //    tabbedPage.SelectedItem = null;
+            //    tabbedPage.SelectedItem = tabbedPage; //.MainNavigationPage;
+            //}
         }
 
         public async Task GotoItemsPageAsync(ItemViewModel itemsVM)
@@ -256,6 +260,7 @@ namespace AideDeJeu.ViewModels
 
         public async Task NavigateToLinkAsync(string s)
         {
+            await SwitchToMainTabAsync();
             await Navigation.PushAsync(new ItemPage(s), true);//.GoToAsync($"item?path={Uri.EscapeDataString(s)}");
             return;
             if (s != null)
@@ -293,7 +298,7 @@ namespace AideDeJeu.ViewModels
                             filterViewModel.FilterWith(key, val);
                         }
                     }
-                    SwitchToMainTab();
+                    await SwitchToMainTabAsync();
                     if (filterViewModel == null)
                     {
                         await GotoItemsPageAsync(itemsViewModel);
diff --git a/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml b/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml
index a43deeee..be5dc39c 100644
--- a/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml
+++ b/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml
@@ -3,10 +3,16 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
              xmlns:tools="clr-namespace:AideDeJeu.Tools"
+             xmlns:libvm="clr-namespace:AideDeJeu.ViewModels.Library"
+             xmlns:lib="clr-namespace:AideDeJeuLib"
              x:Class="AideDeJeu.Views.Library.BookmarksPage"
              x:Name="This"
+             x:DataType="libvm:BookmarksViewModel"
              Title="Favoris"
              Icon="stars_stack.png">
+    
+        
+    
     
         
             
@@ -37,9 +43,10 @@
 
             
 
-            
+            
+            
                 
-                    
+                    
                         
                             
                                 
diff --git a/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml.cs
index e1fd1fa5..fdbc76e6 100644
--- a/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml.cs
+++ b/AideDeJeu/AideDeJeu/Views/Library/BookmarksPage.xaml.cs
@@ -19,7 +19,7 @@ namespace AideDeJeu.Views.Library
 		{
 			InitializeComponent ();
 
-            BindingContext = DependencyService.Get();
+            //BindingContext = DependencyService.Get();
 		}
     }
 }
\ No newline at end of file
diff --git a/AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml b/AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml
index a421b746..ad75816a 100644
--- a/AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml
+++ b/AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml
@@ -22,7 +22,7 @@
     
     
         
-        
+