diff --git a/src/App.vue b/src/App.vue
index 99f38c1d22924e0053f0fa10808a491ebd695ac0..512b5bf3377d133b5bb8fa5cd35458812d8a982b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -227,7 +227,7 @@ export default {
     ...mapState('projects', [
       'projects'
     ]),
-    ...mapGetters( 'projects', [
+    ...mapGetters('projects', [
       'project'
     ]),
     APPLICATION_NAME() {
diff --git a/src/main.js b/src/main.js
index 864c9a69f193ed2fb775913c379530f3fa719fe7..ce93c0f5b09554c85e0cb868f11aec25d9ee0517 100644
--- a/src/main.js
+++ b/src/main.js
@@ -50,7 +50,7 @@ let onConfigLoaded = function(config){
   window.proxy_url=config.VUE_APP_DJANGO_API_BASE+"proxy/";
   axios.all([
     store.dispatch("USER_INFO"),
-    store.dispatch('projects/GET_ALL_PROJECTS'),
+    store.dispatch('projects/GET_PROJECTS'),
     store.dispatch("GET_STATIC_PAGES"),
     store.dispatch("GET_USER_LEVEL_PROJECTS"),
     store.dispatch("map/GET_AVAILABLE_LAYERS"),
diff --git a/src/services/project-api.js b/src/services/project-api.js
index 93c19e017d8ceb9bc5fcd7a4537dfa9274e36419..b544293dff5a722155e5a59807e66b73b9fcd5d6 100644
--- a/src/services/project-api.js
+++ b/src/services/project-api.js
@@ -56,7 +56,7 @@ const projectAPI = {
     }
   },
 
-  async deleteProject(projectSlug) {
+  async deleteProject(baseUrl, projectSlug) {
     const response = await axios.delete(
       `${baseUrl}projects/${projectSlug}`
     );
diff --git a/src/store/modules/projects.store.js b/src/store/modules/projects.store.js
index 194a9973632709f974d637f6aa31a965ee6291a8..fbe495300f69b356fa4a5718a77785a4a5954dd4 100644
--- a/src/store/modules/projects.store.js
+++ b/src/store/modules/projects.store.js
@@ -13,7 +13,8 @@ const projects = {
     filters: {
       moderation: null,
       access_level: null,
-      user_access_level: null
+      user_access_level: null,
+      accessible: null
     },
     searchProjectsFilter: null,
     isProjectsListSearched: null,
@@ -31,8 +32,13 @@ const projects = {
     },
 
     SET_PROJECTS(state, projects) {
-      state.projects = projects.results;
-      state.count = projects.count;
+      if (projects.results) {
+        state.projects = projects.results;
+        state.count = projects.count;
+      } else {
+        state.projects = projects;
+        state.count = projects.length;
+      }
     },
 
     ADD_PROJECT(state, project) {
diff --git a/src/views/Projects.vue b/src/views/Projects.vue
index c55e238de208a6b2542d04a5bff17f8476261506..d8bcb4a5bba05dd3e3f099b3f2ed96398e789266 100644
--- a/src/views/Projects.vue
+++ b/src/views/Projects.vue
@@ -29,6 +29,20 @@
       @filter="setProjectsFilters"
     />
 
+    <div
+      v-if="configuration.DISPLAY_FORBIDDEN_PROJECTS"
+      id="forbidden-projects"
+      class="ui toggle checkbox"
+    >
+      <input
+        v-model="displayForbiddenProjects"
+        type="checkbox"
+      />
+      <label>
+        N'afficher que les projets disponibles à la consultation
+      </label>
+    </div>
+
     <!-- LISTE DES PROJETS -->
     <div v-if="projects" class="ui divided items">
       <div v-for="project in projects" class="item" :key="project.slug">
@@ -124,9 +138,16 @@ export default {
     ProjectsMenu,
     Pagination
   },
+  
+  data() {
+    return {
+      displayForbiddenProjects: false
+    }
+  },
 
   computed: {
     ...mapState([
+      'configuration',
       'user',
       'USER_LEVEL_PROJECTS'
     ]),
@@ -157,6 +178,32 @@ export default {
           this.getData();
         }
       }
+    },
+    displayForbiddenProjects(newValue) {
+      if (newValue) {
+        this.SET_PROJECTS_FILTER({
+          filter: 'accessible',
+          value: 'true'
+        });
+      } else {
+        this.SET_PROJECTS_FILTER({
+          filter: 'accessible',
+          value: null
+        });
+      }
+      this.getData();
+    }
+  },
+
+  created() {
+    this.SET_PROJECTS_FILTER({
+      filter: 'accessible',
+      value: 'true'
+    });
+    this.displayForbiddenProjects = this.configuration.DISPLAY_FORBIDDEN_PROJECTS_DEFAULT;
+
+    if (this.$store.getters.project) {
+      this.$store.commit("SET_PROJECT_SLUG", null);
     }
   },
 
@@ -194,20 +241,30 @@ export default {
 
     setProjectsFilters(e) {
       this.SET_PROJECTS_FILTER(e);
-    }
-  },
-
-  created() {
-    if (this.$store.getters.project) {
-      this.$store.commit("SET_PROJECT_SLUG", null);
-    }
-  },
+    },
+  }
 };
 </script>
 
-<style scoped>
+<style lang="less" scoped>
+
 .flex {
   display: flex;
   justify-content: space-between;
 }
+
+#forbidden-projects.checkbox {
+  font-size: 1.2em;
+  font-weight: 600;
+  label {
+    color: rgb(94, 94, 94);
+  }
+  input:checked ~ label::before {
+    background-color: teal !important;
+  }
+  input:checked ~ label {
+    color: teal !important;
+  }
+}
+
 </style>
\ No newline at end of file
diff --git a/src/views/project/Project_detail.vue b/src/views/project/Project_detail.vue
index 8517b9d61174957002b43aeda0724d6644b6a077..4640f2f95bc32d2421d51584de1bd1c1bd079ef1 100644
--- a/src/views/project/Project_detail.vue
+++ b/src/views/project/Project_detail.vue
@@ -1012,7 +1012,7 @@ export default {
     },
 
     deleteProject() {
-      projectAPI.deleteProject(this.project.slug)
+      projectAPI.deleteProject(this.API_BASE_URL, this.project.slug)
         .then((response) => {
           if (response === 'success') {
             this.GET_ALL_PROJECTS();