diff --git a/components/navigation.vue b/components/navigation/Bar.vue
similarity index 85%
rename from components/navigation.vue
rename to components/navigation/Bar.vue
index aa3b744b129ca38286c7fc900060f4d87286f308..ce25c4e51d11250e4e867495fa85d8aa77e271ad 100644
--- a/components/navigation.vue
+++ b/components/navigation/Bar.vue
@@ -1,23 +1,16 @@
 <template>
-<header>
-  <div class="position-relative">
-    <button class="toggle btn border-secondary position-absolute p-1 m-3" @click="toggleMenu"><span></span></button>
-    <breadcrumb :breadcrumb="breadcrumb" class="ml-5 py-3 px-4" />
-  </div>
-  <navmenu @toggleMenu="toggleMenu" />
-  <div class="bg_overlay" @click="toggleMenu"></div>
-</header>
+  <header>
+    <div class="position-relative">
+      <button class="toggle btn border-secondary position-absolute p-1 m-3" @click="toggleMenu"><span></span></button>
+      <NavigationBreadcrumb :breadcrumb="breadcrumb" class="ml-5 py-3 px-4" />
+    </div>
+    <NavigationMenuSidebar @toggleMenu="toggleMenu" />
+    <div class="bg_overlay" @click="toggleMenu"></div>
+  </header>
 </template>
 
 <script>
-import breadcrumb from './breadcrumb.vue'
-import navmenu from './navmenu.vue'
-
 export default {
-  components: {
-    breadcrumb,
-    navmenu
-  },
   methods: {
     toggleMenu() {
       document.querySelector('.app').classList.toggle('open')
diff --git a/components/breadcrumb.vue b/components/navigation/Breadcrumb.vue
similarity index 100%
rename from components/breadcrumb.vue
rename to components/navigation/Breadcrumb.vue
diff --git a/components/ssMenu.vue b/components/navigation/menu/Group.vue
similarity index 100%
rename from components/ssMenu.vue
rename to components/navigation/menu/Group.vue
diff --git a/components/navmenu.vue b/components/navigation/menu/Sidebar.vue
similarity index 72%
rename from components/navmenu.vue
rename to components/navigation/menu/Sidebar.vue
index 220e955ee825d4c1c1c0ece0cd0fef216dc7042b..23fd3dacb4541f9af3d5a7c70311dbc0c133a57f 100644
--- a/components/navmenu.vue
+++ b/components/navigation/menu/Sidebar.vue
@@ -7,35 +7,31 @@
             </button>
         </div>
         <nav class="navbar-light">
-            <ssMenu v-for="menu in menus" :key="menu.title" :menu="menu"/>
+            <NavigationMenuGroup v-for="menu in menus" :key="menu.title" :menu="menu"/>
         </nav>
     </aside>
 </template>
 
 <script>
-import ssMenu from './ssMenu.vue'
-
 export default {
     data() {
         return {
             menus : [
-                {title: 'Développement',
+                {
+                title: 'Développement',
                 items : [
                     {path: '/explore',title: 'Explorer la toile de confiance'},
                     {path: '/appolo',title: 'Appolo'}
                 ]},
-                {title: 'Pages',
+                {
+                title: 'Un menu',
                 items : [
-                    {path: '/hoho',title: 'Hoho'},
-                    {path: '/hihi',title: 'Hihi'},
-                    {path: '/haha',title: 'Haha'}
+                    {path: '/lien',title: 'Un lien'},
+                    {path: '/autrelien',title: 'Un aure lien'}
                 ]}
             ]
         }
     },
-    components: {
-        ssMenu
-    },
     methods: {
         toggleMenu() {
             this.$emit('toggleMenu')
diff --git a/layouts/default.vue b/layouts/default.vue
index a7542bba98c3a0230e18dc570173ca462b1a832a..d6bb1e197ff06f83da1f33caac9430c5c6319c17 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="app">
-        <Navigation :breadcrumb="breadcrumb" />
+        <NavigationBar :breadcrumb="breadcrumb" />
         <Nuxt />
     </div>
 </template>
diff --git a/mixins/wotwizard.js b/mixins/wotwizard.js
index e07e3b2cac4b164287560dffdbf3dbf5bce199de..09d6e1c76c69523255437e4f2d76815034344c51 100644
--- a/mixins/wotwizard.js
+++ b/mixins/wotwizard.js
@@ -4,8 +4,7 @@ export default {
             WWZ_URL : "https://wwgql.coinduf.eu",
             WWZ_REQUEST_VERSION : "{version}",
             query: "",
-            retour : null,
-            isWaiting: false
+            retour : null
         }
     },
     methods: {
@@ -13,8 +12,6 @@ export default {
         WWZ_REQUEST_DETAILS(hint) { return `{idSearch(with:{hint:\\"${hint}\\"}){ids{pubkey,uid,status}}}` },
     },
     async fetch() {
-        this.isWaiting = true
-
         this.retour = await fetch(this.WWZ_URL, {
             method: 'POST',
             headers: {
@@ -22,10 +19,8 @@ export default {
             },
             body: '{"query":"' + this.query + '"}'
         }).then((res) => {
-            this.isWaiting = false
             return res.json()
         }).catch((error) => {
-            this.isWaiting = false
             return {errors: error}
         })
     },
diff --git a/pages/explore.vue b/pages/explore.vue
index a7d9a080852049a340c684cb7a22cfc816d1de10..96a99c273a58a00ec840d2d87a2cade2ea1c277b 100644
--- a/pages/explore.vue
+++ b/pages/explore.vue
@@ -9,11 +9,11 @@
           <input type="text" class="form-control" id="rech" aria-describedby="rechHelp" v-model="search">
           <small id="rechHelp" class="form-text text-muted">Saisissez le début d'un pseudo ou d'une clé publique</small>
         </div>
-        <btnloading :isWaiting="isWaiting"/>
+        <btnloading :isWaiting="$fetchState.pending"/>
       </form>
     </div>
   </div>
-  <div class="row" v-if="retour && !isWaiting">
+  <div class="row" v-if="retour && !$fetchState.pending">
     <div class="col-8 m-auto">
       <p v-if="retour.errors" class="alert alert-danger">{{ retour.errors }}</p>
       <div class="table-responsive" v-else>