diff --git a/src/views/feature/Feature_list.vue b/src/views/feature/Feature_list.vue
index ad790844bbaefd7005a43b0484d01e1c94874490..9ac21c6a36ec9afbf7414df88dd1b6c0146eb617 100644
--- a/src/views/feature/Feature_list.vue
+++ b/src/views/feature/Feature_list.vue
@@ -309,16 +309,16 @@
           id="table-features_previous"
           >Précédent</a
         >
-        <!-- <span>  <a
-            v-for="(page, index) in getNbPages()"
+        <span>  <a
+            v-for="(page, index) in getNbPages"
             :key="'page' + index"
-            class="paginate_button current"
+            :class="['paginate_button', {'current' : page.value === pagination.currentPage }]"
             aria-controls="table-features"
             data-dt-idx="1"
             tabindex="0"
-            >{{index}}</a
+            >{{page.value}}</a
           > </span>
-       <span class="ellipsis">…</span> -->
+          <!-- TODO : <span v-if="getNbPages > 4" class="ellipsis">...</span> -->
         <a
           class="paginate_button next"
           aria-controls="table-features"
@@ -414,6 +414,7 @@ export default {
         title: null,
       },
       pagination: {
+        currentPage : 1,
         pagesize: 15,
         start: 0,
         end: 14,
@@ -445,6 +446,24 @@ export default {
     baseMaps() {
       return this.$store.state.map.basemaps;
     },
+    getNbPages() {
+      let N = Math.round(
+        this.getFilteredFeatures().length / this.pagination.pagesize
+      );
+      let rest = Math.round(
+        this.getFilteredFeatures().length % this.pagination.pagesize
+      );
+      if (rest > 0)
+        N++;
+      const arr = [...Array(N).keys()].map((function(x) {
+        ++x;
+        return {
+          index: x,
+          value: x
+          }
+      }));
+      return arr;
+    },
   },
   methods: {
     modalAllDelete() {
@@ -586,21 +605,20 @@ export default {
       }
       return results;
     },
-    getNbPages() {
-      return Math.round(
-        this.getFilteredFeatures().length / this.pagination.pagesize
-      );
-    },
+    
     toPreviousPage() {
       if (this.pagination.start > 0) {
         this.pagination.start -= this.pagination.pagesize;
         this.pagination.end -= this.pagination.pagesize;
+        this.pagination.currentPage-=1;
       }
+      
     },
     toNextPage() {
       if (this.pagination.end < this.getFilteredFeatures().length) {
         this.pagination.start += this.pagination.pagesize;
         this.pagination.end += this.pagination.pagesize;
+        this.pagination.currentPage+=1;
       }
     },
     loadFeatures(features) {