diff --git a/src/App.vue b/src/App.vue
index a7d37ca69e4b06019a061347000e99e38f6b2650..af09408b2e3ebd0d516dbe4a0b23bd1836698e8d 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -8,7 +8,7 @@
               class="ui mini right spaced image"
               src="@/assets/img/logo-neogeo-circle.png"
             />
-              <!-- :src="LOGO_PATH" -->
+            <!-- :src="LOGO_PATH" -->
             {{ getApplicationName() }}
           </router-link>
 
@@ -44,6 +44,7 @@
               </router-link>
 
               <router-link
+                v-if="user.is_administrator"
                 :to="{
                   name: 'project_mapping',
                   params: { slug: project.slug },
@@ -53,6 +54,7 @@
                 <i class="map icon"></i>Fonds cartographiques
               </router-link>
               <router-link
+                v-if="user.is_administrator"
                 :to="{
                   name: 'project_members',
                   params: { slug: project.slug },
@@ -61,7 +63,6 @@
               >
                 <i class="users icon"></i>Membres
               </router-link>
-              <!-- {% endif %} -->
             </div>
           </div>
 
@@ -128,7 +129,6 @@
 </template>
 
 <script>
-
 import frag from "vue-frag";
 import { mapState } from "vuex";
 import { mapGetters } from "vuex";
@@ -148,7 +148,13 @@ export default {
   },
 
   computed: {
-    ...mapState(["projects", "user", "SSO_SETTED", "USER_LEVEL_PROJECTS","configuration"]),
+    ...mapState([
+      "projects",
+      "user",
+      "SSO_SETTED",
+      "USER_LEVEL_PROJECTS",
+      "configuration",
+    ]),
     ...mapGetters(["project"]),
     //LOGO_PATH: () => require(`${configuration.VUE_APP_LOGO_PATH}`),
     //APPLICATION_NAME: () => this.configuration.VUE_APP_APPLICATION_NAME,
diff --git a/src/store/index.js b/src/store/index.js
index c06634cca67454fca4fc7d97ac608ab078ee22f6..0efb50511d8f147b0c7f816a2a07fc8e589595ed 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -162,19 +162,21 @@ export default new Vuex.Store({
       }
     },
 
-    USER_INFO({ commit }) {
-      axios
-        .get(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}user_info/`)
-        .then((response) => {
-          if (response && response.status === 200) {
-            const user = response.data.user;
-            commit("SET_USER", user);
-            window.localStorage.setItem("user", JSON.stringify(user)); //? toujours nécessaire ?
-          }
-        })
-        .catch(() => {
-          router.push({ name: "login" });
-        });
+    USER_INFO({ state, commit }) {
+      if (state.user) {
+        axios
+          .get(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}user_info/`)
+          .then((response) => {
+            if (response && response.status === 200) {
+              const user = response.data.user;
+              commit("SET_USER", user);
+              window.localStorage.setItem("user", JSON.stringify(user)); //? toujours nécessaire ?
+            }
+          })
+          .catch(() => {
+            router.push({ name: "login" });
+          });
+      }
     },
 
     LOGOUT({ commit }) { // ? logout se fait bien dans django ?
@@ -185,6 +187,7 @@ export default new Vuex.Store({
             commit("SET_USER", false); // ? better false or null
             commit("SET_USER_LEVEL_PROJECTS", null);
             commit("SET_USER_PERMISSIONS", null);
+            router.push("/");
           }
         })
         .catch((error) => {
@@ -204,6 +207,7 @@ export default new Vuex.Store({
           throw error;
         });
     },
+
     GET_USER_LEVEL_PROJECTS({ commit }) {
       axios
         .get(`${this.state.configuration.VUE_APP_DJANGO_API_BASE}user-level-projects/`)
@@ -230,12 +234,12 @@ export default new Vuex.Store({
         });
     },
 
-    GET_PROJECT_INFO({ commit, dispatch }, slug) {
+    GET_PROJECT_INFO({ state, commit, dispatch }, slug) {
       commit("SET_PROJECT_SLUG", slug);
       dispatch("GET_PROJECT_LAST_MESSAGES", slug);
       dispatch("feature_type/GET_PROJECT_FEATURE_TYPES", slug);
       dispatch("feature/GET_PROJECT_FEATURES", slug);
-      dispatch("map/GET_BASEMAPS", slug);
+      if (state.user) dispatch("map/GET_BASEMAPS", slug);
     },
 
     GET_PROJECT_LAST_MESSAGES({ commit }, project_slug) {
diff --git a/src/views/project/Project_detail.vue b/src/views/project/Project_detail.vue
index 61e144f89a68b57f46cf72e27e8305a315e4efaa..a07d84208e8459b9466ed6ed758183399a48a763 100644
--- a/src/views/project/Project_detail.vue
+++ b/src/views/project/Project_detail.vue
@@ -522,9 +522,11 @@ export default {
   },
   created() {
     this.$store.dispatch("GET_PROJECT_INFO", this.slug);
-    projectAPI
-      .getProjectSubscription({ projectSlug: this.$route.params.slug })
-      .then((data) => (this.is_suscriber = data.is_suscriber));
+    if (this.user) {
+      projectAPI
+        .getProjectSubscription({ projectSlug: this.$route.params.slug })
+        .then((data) => (this.is_suscriber = data.is_suscriber));
+    }
   },
 
   mounted() {
diff --git a/src/views/project/Project_members.vue b/src/views/project/Project_members.vue
index 9922d7ece8a99467f68135939977f5a6219ac789..4e88ca6367b4a5ada50ab7069aaf68c687968e35 100644
--- a/src/views/project/Project_members.vue
+++ b/src/views/project/Project_members.vue
@@ -93,7 +93,7 @@ export default {
           },
         };
       });
-      
+
       axios
         .put(
           `${this.$store.state.configuration.VUE_APP_DJANGO_API_BASE}projects/${this.project.slug}/utilisateurs/`,