diff --git a/components/certif/List.vue b/components/certif/List.vue
index 6caa5369e8332aaf2871ff4a4da7b638d84a88eb..f8b065ac4e4fd51dbcdfb5fd6c70b8be30ec11bf 100644
--- a/components/certif/List.vue
+++ b/components/certif/List.vue
@@ -10,8 +10,8 @@
 					@click="
 						$router.push(
 							localePath({
-								name: 'membres-hash',
-								params: { hash: certif.hash }
+								name: 'membre',
+								query: { hash: certif.hash }
 							})
 						)
 					">
@@ -69,8 +69,8 @@
 					@click="
 						$router.push(
 							localePath({
-								name: 'membres-hash',
-								params: { hash: certif.hash }
+								name: 'membre',
+								query: { hash: certif.hash }
 							})
 						)
 					">
diff --git a/components/member/List.vue b/components/member/List.vue
index a25d101212ecf507370df79ed423e1c435dedc35..7a8cfe6f1b54f6b86a91aee2778eede38c1a5fcd 100644
--- a/components/member/List.vue
+++ b/components/member/List.vue
@@ -116,7 +116,7 @@ export default {
 	methods: {
 		redirect(hash) {
 			this.$router.push(
-				this.localePath({ name: "membres-hash", params: { hash } })
+				this.localePath({ name: "membre", query: { hash } })
 			)
 		},
 		sort(s) {
diff --git a/pages/membres/_hash.vue b/pages/membre.vue
similarity index 95%
rename from pages/membres/_hash.vue
rename to pages/membre.vue
index cab4a097f39d1767df47c74ddfa98eec956bc012..debc2bfdd2a73cb3b78f24621a3b45bc2526a2c5 100644
--- a/pages/membres/_hash.vue
+++ b/pages/membre.vue
@@ -5,7 +5,7 @@
 			<div class="alert alert-danger" v-if="error">{{ error }}</div>
 		</transition>
 		<transition name="fade">
-			<div v-if="idFromHash">
+			<div v-if="idFromHash && !$apollo.queries.idFromHash.loading">
 				<div class="container-md">
 					<div class="row">
 						<div class="col-lg-9 col-xl-8 mx-auto my-3">
@@ -65,6 +65,7 @@
 import { SEARCH_MEMBER } from "@/graphql/queries"
 
 export default {
+	name: 'membre',
 	data() {
 		return {
 			breadcrumb: [
@@ -112,7 +113,7 @@ export default {
 		idFromHash: {
 			query: SEARCH_MEMBER,
 			variables() {
-				return { hash: this.$route.params.hash }
+				return { hash: this.$route.query.hash }
 			},
 			error(err) {
 				this.error = err.message
@@ -121,9 +122,9 @@ export default {
 	},
 	nuxtI18n: {
 		paths: {
-			fr: "/membres/:hash",
-			en: "/members/:hash",
-			es: "/miembros/:hash"
+			fr: "/membre",
+			en: "/member",
+			es: "/miembro"
 		}
 	},
 	computed: {
diff --git a/pages/previsions/index.vue b/pages/previsions/index.vue
index 54b7a9dd6e07e261feb8c30994c4efe4e67f2932..82f4296d06508b0599812e0e454db1ba9764ef3a 100644
--- a/pages/previsions/index.vue
+++ b/pages/previsions/index.vue
@@ -54,8 +54,8 @@
 											@click="
 												$router.push(
 													localePath({
-														name: 'membres-hash',
-														params: { hash: forecast.member.hash }
+														name: 'membre',
+														query: { hash: forecast.member.hash }
 													})
 												)
 											">