diff --git a/assets/css/_font.scss b/assets/css/_font.scss
new file mode 100644
index 0000000000000000000000000000000000000000..373e3c180fa994a4f2c0782ab8f48308bf54b0f5
--- /dev/null
+++ b/assets/css/_font.scss
@@ -0,0 +1,69 @@
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-Light.otf") format("truetype");
+    font-weight: 300;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-LightItalic.otf") format("truetype");
+    font-weight: 300;
+    font-style: italic;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-Regular.otf") format("truetype");
+    font-weight: normal;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-Italic.otf") format("truetype");
+    font-weight: normal;
+    font-style: italic;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-SemiBold.otf") format("truetype");
+    font-weight: 500;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-SemiBoldItalic.otf") format("truetype");
+    font-weight: 500;
+    font-style: italic;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-Bold.otf") format("truetype");
+    font-weight: bold;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-BoldItalic.otf") format("truetype");
+    font-weight: bold;
+    font-style: italic;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-ExtraBold.otf") format("truetype");
+    font-weight: 800;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: "Montserrat";
+    src: url("~assets/fonts/Montserrat-ExtraBoldItalic.otf") format("truetype");
+    font-weight: 800;
+    font-style: italic;
+}
\ No newline at end of file
diff --git a/assets/css/style.scss b/assets/css/style.scss
index d844b4d284430cce93e91c4fcef830b77c8c2e3c..be8476822d0b23c6ac839273ca705829a8132abc 100644
--- a/assets/css/style.scss
+++ b/assets/css/style.scss
@@ -1,6 +1,8 @@
 $link-hover-decoration: none;
 $text-muted: #a6a4b0;
+$font-family-base: Montserrat, Helvetica, Arial, serif;
 
+@import 'font';
 @import 'bootstrap';
 
 :root {
diff --git a/assets/fonts/Montserrat-Bold.otf b/assets/fonts/Montserrat-Bold.otf
new file mode 100644
index 0000000000000000000000000000000000000000..cdfb83df2f2f621d232b38ea40aaa1582c91e0e5
Binary files /dev/null and b/assets/fonts/Montserrat-Bold.otf differ
diff --git a/assets/fonts/Montserrat-BoldItalic.otf b/assets/fonts/Montserrat-BoldItalic.otf
new file mode 100644
index 0000000000000000000000000000000000000000..d57ff9a47980038216d804896db4d04714c419ce
Binary files /dev/null and b/assets/fonts/Montserrat-BoldItalic.otf differ
diff --git a/assets/fonts/Montserrat-ExtraBold.otf b/assets/fonts/Montserrat-ExtraBold.otf
new file mode 100644
index 0000000000000000000000000000000000000000..db86f49e5c59a90cb55f07db3287f0b82a146801
Binary files /dev/null and b/assets/fonts/Montserrat-ExtraBold.otf differ
diff --git a/assets/fonts/Montserrat-ExtraBoldItalic.otf b/assets/fonts/Montserrat-ExtraBoldItalic.otf
new file mode 100644
index 0000000000000000000000000000000000000000..f7a042a7b95df7fd24bc732d833dcd24ac9ba077
Binary files /dev/null and b/assets/fonts/Montserrat-ExtraBoldItalic.otf differ
diff --git a/assets/fonts/Montserrat-Italic.otf b/assets/fonts/Montserrat-Italic.otf
new file mode 100644
index 0000000000000000000000000000000000000000..450689e2e5055498b7fba69135f9940ab2ffa7b0
Binary files /dev/null and b/assets/fonts/Montserrat-Italic.otf differ
diff --git a/assets/fonts/Montserrat-Light.otf b/assets/fonts/Montserrat-Light.otf
new file mode 100644
index 0000000000000000000000000000000000000000..14e715c7eebf8819a33bbe6b0d42ead1518013bd
Binary files /dev/null and b/assets/fonts/Montserrat-Light.otf differ
diff --git a/assets/fonts/Montserrat-LightItalic.otf b/assets/fonts/Montserrat-LightItalic.otf
new file mode 100644
index 0000000000000000000000000000000000000000..b5ec441d9bb8e0998984e429bab46aa2143dacba
Binary files /dev/null and b/assets/fonts/Montserrat-LightItalic.otf differ
diff --git a/assets/fonts/Montserrat-Regular.otf b/assets/fonts/Montserrat-Regular.otf
new file mode 100644
index 0000000000000000000000000000000000000000..c1d1ee37b64285d252b023c57b113d54e2321347
Binary files /dev/null and b/assets/fonts/Montserrat-Regular.otf differ
diff --git a/assets/fonts/Montserrat-SemiBold.otf b/assets/fonts/Montserrat-SemiBold.otf
new file mode 100644
index 0000000000000000000000000000000000000000..4fa8281a286ce18e6007746eff29d2326bee1d61
Binary files /dev/null and b/assets/fonts/Montserrat-SemiBold.otf differ
diff --git a/assets/fonts/Montserrat-SemiBoldItalic.otf b/assets/fonts/Montserrat-SemiBoldItalic.otf
new file mode 100644
index 0000000000000000000000000000000000000000..8c3b253f5a7156206336ac5a2345a5e886787686
Binary files /dev/null and b/assets/fonts/Montserrat-SemiBoldItalic.otf differ
diff --git a/components/btnloading.vue b/components/btnloading.vue
index b0bfb9b8c0a8f4d6bdfb53433a4a4962f16434b3..1a54f4428c1ec9530f5de9ced761a373c61ed3ee 100644
--- a/components/btnloading.vue
+++ b/components/btnloading.vue
@@ -1,5 +1,5 @@
 <template>
-    <button type="submit" class="btn btn-primary" :disabled="isWaiting">
+    <button type="submit" class="btn btn-primary" :disabled="isWaiting || disabled">
         <span v-if="isWaiting">
             <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
             Chargement...
@@ -11,7 +11,8 @@
 <script>
 export default {
     props: {
-        isWaiting: Boolean
+        isWaiting: Boolean,
+        disabled: Boolean
     }
 }
 </script>
\ No newline at end of file
diff --git a/components/navigation/Bar.vue b/components/navigation/Bar.vue
index ce25c4e51d11250e4e867495fa85d8aa77e271ad..c3728899853e972ba38a6196050ea3e0069a98e2 100644
--- a/components/navigation/Bar.vue
+++ b/components/navigation/Bar.vue
@@ -130,7 +130,7 @@ $line-color: #000;
     width: var(--size);
     height: var(--size);
     top: .8rem;
-    right: .5rem;
+    right: 0;
     font-size: 2rem;
   }
 
diff --git a/components/navigation/menu/Group.vue b/components/navigation/menu/Group.vue
index 0a200e6f4928975adaa36576e66f93f2a4f92680..54812d30f9227b99eadf5d252a718a311f4caf48 100644
--- a/components/navigation/menu/Group.vue
+++ b/components/navigation/menu/Group.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="mb-4">
-        <h2 class="h6 text-muted text-uppercase">{{ menu.title }}</h2>
+        <h2 class="small text-muted text-uppercase ml-4 mb-3">{{ menu.title }}</h2>
         <div class="nav navbar-nav list-group list-group-flush">
             <NuxtLink class="list-group-item list-group-item-action p-0" :to="item.path" v-for="item in menu.items" :key="item.path"><span>{{ item.title }}</span></NuxtLink>
         </div>
diff --git a/pages/appolo.vue b/pages/appolo.vue
index cb48aca88e0cefa7d15ca54993a0b56a457514fc..94736cc13c2032523ca22d5a72ef93e9e4a017d8 100644
--- a/pages/appolo.vue
+++ b/pages/appolo.vue
@@ -3,11 +3,8 @@
   <h2 class="display-2 text-center mb-5">Test Appolo</h2>
   <div class="row">
     <div class="col-6 m-auto text-center">
-      Hello Appolo
       <ApolloQuery :query="query">
-        <!-- The result will automatically updated -->
         <template slot-scope="{ result: { data, loading } }">
-          <!-- Some content -->
           <div v-if="loading">Loading...</div>
           <p v-else>
             {{ data }}
@@ -22,9 +19,9 @@
 <script>
 import gql from 'graphql-tag'
 
-
 export default {
   data() {
+    // Variables locales
     return {
       // Fil d'ariane
       breadcrumb: [
@@ -37,11 +34,12 @@ export default {
           active: true
         }
       ],
+      // Requête graphQL
       query: gql`{version}`
     }
   },
+  // Fonctions locales
   methods: {
-    // Fonctions locales
   },
   mounted () {
     // Mise à jour du fil d'ariane au chargement
diff --git a/pages/explore.vue b/pages/explore.vue
index 96a99c273a58a00ec840d2d87a2cade2ea1c277b..4d85e0d34019e1d54f6b261a77f6340d4660f679 100644
--- a/pages/explore.vue
+++ b/pages/explore.vue
@@ -6,10 +6,10 @@
       <form @submit.prevent="refresh" class="mb-5">
         <div class="mb-3">
           <label for="rech" class="form-label">Votre recherche</label>
-          <input type="text" class="form-control" id="rech" aria-describedby="rechHelp" v-model="search">
+          <input type="text" class="form-control" id="rech" aria-describedby="rechHelp" v-model="search" :disabled="isError">
           <small id="rechHelp" class="form-text text-muted">Saisissez le début d'un pseudo ou d'une clé publique</small>
         </div>
-        <btnloading :isWaiting="$fetchState.pending"/>
+        <btnloading :isWaiting="$fetchState.pending" :disabled="isError"/>
       </form>
     </div>
   </div>
@@ -48,10 +48,10 @@
 
 <script>
 import global from "~/mixins/wotwizard"
-import btnloading from "~/components/btnloading.vue"
 
 export default {
   data() {
+    // Variables locales
     return {
       breadcrumb: [
         {
@@ -66,18 +66,19 @@ export default {
       search : ""
     }
   },
+  // Fonctions locales
   methods: {
     refresh() {
       this.query = this.WWZ_REQUEST_DETAILS(this.search)
+    },
+    isError () {
+      return (this.retour && this.retour.errors)
     }
   },
   mounted () {
     $nuxt.$emit('changeRoute',this.breadcrumb)
   },
-  mixins: [global],
-  components: {
-    btnloading
-  }
+  mixins: [global]
 }
 </script>
 
diff --git a/pages/index.vue b/pages/index.vue
index 5399c43b04cf5a4486063c46d3ffc028b50ede88..08c8ba5bf223e67e649538ee6654600a8fa52137 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -3,7 +3,7 @@
   <h2 class="display-2 text-center mb-5">Page d'accueil</h2>
   <div class="row">
     <div class="col-6 m-auto text-center">
-      <button class="btn btn-primary" @click="helloWorld($event)" data-response="I'm here !">Hello ?</button>
+      <button class="btn btn-primary mb-3" @click="helloWorld($event)" data-response="I'm here !">Hello ?</button>
       <p>{{ hello }}</p>
     </div>
   </div>
@@ -17,6 +17,7 @@
 
 export default {
   data() {
+    // Variables locales
     return {
       // Fil d'ariane
       breadcrumb: [
@@ -25,12 +26,11 @@ export default {
           active: true
         }
       ],
-      // Variable locale
       hello: ''
     }
   },
+  // Fonctions locales
   methods: {
-    // Fonctions locales
     helloWorld(e) {
       this.hello = e.target.dataset.response
     }