diff --git a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
index 39f1b71d..8a47c656 100644
--- a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
+++ b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
@@ -1,11 +1,11 @@
 #pragma warning disable 1591
 //------------------------------------------------------------------------------
 // 
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
+//     Ce code a été généré par un outil.
+//     Version du runtime :4.0.30319.42000
 //
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
+//     Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
+//     le code est régénéré.
 // 
 //------------------------------------------------------------------------------
 
diff --git a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
index b0ff8aeb..a4cf2b19 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/DeepSearchViewModel.cs
@@ -24,10 +24,16 @@ namespace AideDeJeu.ViewModels
 
         public async Task ExecuteSearchCommandAsync(string searchText)
         {
-            Main.IsLoading = true;
-            //await Task.Run(async () => await Store.PreloadAllItemsAsync());
-            Items = await Task.Run(async () => await DeepSearchAllItemsAsync(searchText));
-            Main.IsLoading = false;
+            try
+            {
+                Main.IsLoading = true;
+                //await Task.Run(async () => await Store.PreloadAllItemsAsync());
+                Items = await Task.Run(async () => await DeepSearchAllItemsAsync(searchText));
+            }
+            finally
+            {
+                Main.IsLoading = false;
+            }
         }
 
         public IEnumerable _Items = null;
diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs
index e7b8c3a2..f5b11654 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs
@@ -16,8 +16,20 @@ namespace AideDeJeu.ViewModels
         public bool IsLoading
         {
             get => _isLoading;
-            set => SetProperty(ref _isLoading, value);
+            set
+            {
+                SetProperty(ref _isLoading, value);
+                OnPropertyChanged(nameof(IsEnabled));
+
+            }
         }
+
+        public bool IsEnabled
+        {
+            get => !_isLoading;
+        }
+
+
         /*
         void AddAnchor(string source, Dictionary anchors, Item item)
         {
diff --git a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
index 7ad65ba7..5e94abc1 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/Navigator.cs
@@ -157,11 +157,18 @@ namespace AideDeJeu.ViewModels
                 var file = match.Groups["file"].Value;
                 var anchor = match.Groups["anchor"].Value;
                 var with = match.Groups["with"].Value;
-                Main.IsBusy = true;
-                Main.IsLoading = true;
-                var item = await Task.Run(async () => await Store.GetItemFromDataAsync(file, anchor));
-                Main.IsBusy = false;
-                Main.IsLoading = false;
+                Item item = null;
+                try
+                {
+                    Main.IsBusy = true;
+                    Main.IsLoading = true;
+                    item = await Task.Run(async () => await Store.GetItemFromDataAsync(file, anchor));
+                }
+                finally
+                {
+                    Main.IsBusy = false;
+                    Main.IsLoading = false;
+                }
                 if (item != null)
                 {
                     var items = item; // as Items;
diff --git a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml
index 6daaf3d1..4c770c5c 100644
--- a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml
+++ b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml
@@ -7,6 +7,7 @@
     xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
     x:Class="AideDeJeu.Views.MainTabbedPage"
     Padding="0"
+    IsEnabled="{Binding Main.IsEnabled}"
     android:TabbedPage.ToolbarPlacement="Bottom"
     android:TabbedPage.IsSwipePagingEnabled="False"
     android:TabbedPage.BarItemColor="{StaticResource HDMidGrey}"
diff --git a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs
index 0c430fb1..f26866f5 100644
--- a/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs
+++ b/AideDeJeu/AideDeJeu/Views/MainTabbedPage.xaml.cs
@@ -1,4 +1,5 @@
-using System;
+using AideDeJeu.ViewModels;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -23,9 +24,19 @@ namespace AideDeJeu.Views
                 this.NavigationPage = value;
             }
         }
+
+        public MainViewModel Main
+        {
+            get
+            {
+                return DependencyService.Get();
+            }
+        }
+
         public MainTabbedPage ()
         {
             InitializeComponent();
+            BindingContext = this;
         }
     }
 }
\ No newline at end of file