diff --git a/package.json b/package.json
index e28623c0db2883316c4e62b115bf9773f70e4760..4d2552137e5f69ceb1a3d70851d7aa1f87afc2a7 100644
--- a/package.json
+++ b/package.json
@@ -16,9 +16,6 @@
     "@fortawesome/free-solid-svg-icons": "^5.15.4",
     "@fortawesome/vue-fontawesome": "^2.0.6",
     "@mapbox/vector-tile": "^1.3.1",
-    "@turf/bbox": "^6.5.0",
-    "@turf/flip": "^6.5.0",
-    "@turf/helpers": "^6.5.0",
     "axios": "^0.21.1",
     "core-js": "^3.20.2",
     "csvtojson": "^2.0.10",
diff --git a/src/assets/img/multiline.png b/src/assets/img/multiline.png
new file mode 100644
index 0000000000000000000000000000000000000000..16123db70417a0e5b6a7e8d06aea067056706bf8
Binary files /dev/null and b/src/assets/img/multiline.png differ
diff --git a/src/assets/img/multimarker.png b/src/assets/img/multimarker.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2717a8f61a13be3abbb1e0add8c21237166f49e
Binary files /dev/null and b/src/assets/img/multimarker.png differ
diff --git a/src/assets/img/multipolygon.png b/src/assets/img/multipolygon.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4b212d25a24fd4f157debc7276ddb4367e94d88
Binary files /dev/null and b/src/assets/img/multipolygon.png differ
diff --git a/src/components/FeatureType/FeatureTypeLink.vue b/src/components/FeatureType/FeatureTypeLink.vue
index 0a247d114fe15454a03f2802de77f87d717ecbcc..4b46b1630efda4c8dd0eb09189985408ec100a9a 100644
--- a/src/components/FeatureType/FeatureTypeLink.vue
+++ b/src/components/FeatureType/FeatureTypeLink.vue
@@ -25,6 +25,24 @@
       src="@/assets/img/polygon.png"
       alt="Géométrie polygone"
     >
+    <img
+      v-if="featureType.geom_type === 'multipoint'"
+      class="list-image-type"
+      src="@/assets/img/multimarker.png"
+      alt="Géométrie multipoint"
+    >
+    <img
+      v-if="featureType.geom_type === 'multilinestring'"
+      class="list-image-type"
+      src="@/assets/img/multiline.png"
+      alt="Géométrie multiligne"
+    >
+    <img
+      v-if="featureType.geom_type === 'multipolygon'"
+      class="list-image-type"
+      src="@/assets/img/multipolygon.png"
+      alt="Géométrie multipolygone"
+    >
     {{ featureType.title }}
   </router-link>
 </template>
diff --git a/src/components/Project/Detail/ProjectFeatureTypes.vue b/src/components/Project/Detail/ProjectFeatureTypes.vue
index f98acb30e2b0eb3b59d8be7f9adca67a805e03a8..c2a9e4ea21c9fda5c2e9eac3bc6d77b3b5d5d60a 100644
--- a/src/components/Project/Detail/ProjectFeatureTypes.vue
+++ b/src/components/Project/Detail/ProjectFeatureTypes.vue
@@ -34,7 +34,7 @@
           <div class="middle aligned content">
             <router-link
               v-if="
-                project && permissions && permissions.can_create_feature
+                project && permissions && permissions.can_create_feature && !type.geom_type.includes('multi')
               "
               :to="{
                 name: 'ajouter-signalement',
@@ -343,7 +343,7 @@
             class="ui plus icon"
             aria-hidden="true"
           />
-          Créer un nouveau type de signalement à partir du catalogue {{ CATALOG_NAME|| 'IDGO' }}
+          Créer un nouveau type de signalement à partir du catalogue {{ CATALOG_NAME || 'IDGO' }}
         </router-link>
       </div>
     </div>
diff --git a/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue b/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
index 5d2c39aac1ef890d6bbb17b0d2e572ff9b2a0493..e5acce641b75c957f194f17bc9eed29d2529e2d8 100644
--- a/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
+++ b/src/components/Project/FeaturesListAndMap/FeaturesListAndMapFilters.vue
@@ -72,7 +72,7 @@
                 </div>
                 <div class="scrolling menu text-wrap">
                   <router-link
-                    v-for="(type, index) in feature_types"
+                    v-for="(type, index) in filteredFeatureTypeChoices"
                     :key="type.slug + index"
                     :to="{
                       name: 'ajouter-signalement',
@@ -142,7 +142,7 @@
       >
         <label>Type</label>
         <Dropdown
-          :options="featureTypeChoices"
+          :options="featureTypeTitles"
           :selected="form.type.selected"
           :selection.sync="form.type.selected"
           :search="true"
@@ -291,7 +291,7 @@ export default {
       }
       return [];
     },
-    featureTypeChoices() {
+    featureTypeTitles() {
       return this.feature_types.map((el) => el.title);
     },
     filteredStatusChoices() {
@@ -300,6 +300,11 @@ export default {
         this.project && this.project.moderation ? true : el.value !== 'pending'
       );
     },
+    filteredFeatureTypeChoices() {
+      return this.feature_types.filter((fType) =>
+        !fType.geom_type.includes('multi')
+      );
+    },
   },
 
   watch: {
diff --git a/src/utils/index.js b/src/utils/index.js
index a89354b8305aaae4b1d12e04003990b7e25cda55..f4ab34f311a5641e3204cc6259b73f75027b2b3c 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -66,7 +66,7 @@ export function transformProperties(prop) {
   const regInteger = /^-*?\d+$/;
   const regFloat = /^-*?\d*?\.\d+$/;
   const regText = /[\r\n]/;
-  if (type === 'boolean' || prop.toLowerCase() === 'true' || prop.toLowerCase() === 'False') {
+  if (type === 'boolean' || (type === 'string' && (prop.toLowerCase() === 'true' || prop.toLowerCase() === 'False'))) {
     return 'boolean';
   } else if (regInteger.test(prop) || Number.isSafeInteger(prop)) {
     return 'integer';
diff --git a/src/views/Feature/FeatureEdit.vue b/src/views/Feature/FeatureEdit.vue
index cf127b78cb27621d87db4914cb742293841fcc8b..d671473992d8d529bb0eb0fdc0c915b6e78647bc 100644
--- a/src/views/Feature/FeatureEdit.vue
+++ b/src/views/Feature/FeatureEdit.vue
@@ -265,7 +265,7 @@
           </div>
         
           <SidebarLayers v-if="basemaps && map" />
-          <EditingToolbar v-if="basemaps && map" />
+          <EditingToolbar v-if="basemaps && map && (feature_type && !feature_type.geom_type.includes('multi'))" />
         </div>
       </div>
 
diff --git a/src/views/FeatureType/FeatureTypeDetail.vue b/src/views/FeatureType/FeatureTypeDetail.vue
index 97db52d8babd1925b82899592d1a4b3ee069e619..f78c0d03b18a0ccf28cb69a7f2192409780ceb22 100644
--- a/src/views/FeatureType/FeatureTypeDetail.vue
+++ b/src/views/FeatureType/FeatureTypeDetail.vue
@@ -25,6 +25,24 @@
               alt="Géométrie polygone"
               src="@/assets/img/polygon.png"
             >
+            <img
+              v-if="structure.geom_type === 'multipoint'"
+              class="ui medium image"
+              alt="Géométrie point"
+              src="@/assets/img/multimarker.png"
+            >
+            <img
+              v-if="structure.geom_type === 'multilinestring'"
+              class="ui medium image"
+              alt="Géométrie ligne"
+              src="@/assets/img/multiline.png"
+            >
+            <img
+              v-if="structure.geom_type === 'multipolygon'"
+              class="ui medium image"
+              alt="Géométrie polygone"
+              src="@/assets/img/multipolygon.png"
+            >
             {{ structure.title }}
           </h1>
         </div>
@@ -341,7 +359,7 @@
           Voir tous les signalements
         </router-link>
         <router-link
-          v-if="permissions.can_create_feature"
+          v-if="permissions.can_create_feature && !structure.geom_type.includes('multi')"
           :to="{
             name: 'ajouter-signalement',
             params: { slug_type_signal: structure.slug },
diff --git a/src/views/FeatureType/FeatureTypeEdit.vue b/src/views/FeatureType/FeatureTypeEdit.vue
index 47bad6dceb3668063f9c76a1b9de51d7c13fdc7c..6545b6b2609d0a92edf368e760f266a7165f5f75 100644
--- a/src/views/FeatureType/FeatureTypeEdit.vue
+++ b/src/views/FeatureType/FeatureTypeEdit.vue
@@ -1,22 +1,5 @@
 <template>
   <div id="feature-type-edit">
-    <div
-      id="message"
-      class="fullwidth"
-    >
-      <div
-        v-if="error"
-        class="ui negative message"
-      >
-        <p>
-          <i
-            class="cross icon"
-            aria-hidden="true"
-          />
-          {{ error }}
-        </p>
-      </div>
-    </div>
     <div class="fourteen wide column">
       <div
         :class="{ active: loading }"
@@ -185,7 +168,6 @@ export default {
       loading: false,
       action: 'create',
       dataKey: 0,
-      error: null,
       csvFields: null,
       geomTypeChoices: [
         { value: 'linestring', name: 'Ligne' },
@@ -377,6 +359,12 @@ export default {
       } else { //* case when the geojson comes from datasud catalog
         this.form.title.value = this.geojson.name;// * use the typename as title by default
       }
+      //* add multiple geometries options available only for geojson (therefore when importing from catalog also)
+      this.geomTypeChoices.push(
+        { value: 'multilinestring', name: 'Multiligne' },
+        { value: 'multipoint', name: 'Multipoint' },
+        { value: 'multipolygon', name: 'Multipolygone' },
+      );
     }
     if (this.csv) {
       this.importCSVFeatureType();
@@ -395,6 +383,9 @@ export default {
   },
 
   methods: {
+    ...mapMutations([
+      'DISPLAY_MESSAGES',
+    ]),
     ...mapMutations('feature-type', [
       'ADD_CUSTOM_FORM',
       'EMPTY_FORM',
@@ -540,9 +531,10 @@ export default {
             } else if (status === 201) {
               this.goBackToProject('Le nouveau type de signalement a été créé');
             } else {
-              this.displayMessage(
-                "Une erreur est survenue lors de l'import du type de signalement"
-              );
+              this.DISPLAY_MESSAGES({
+                comment: "Une erreur est survenue lors de l'import du type de signalement",
+                level: 'negative'
+              });
             }
           });
       }
@@ -558,10 +550,10 @@ export default {
           if (response && response.status === 200) {
             this.goBackToProject();
           } else {
-            this.displayMessage(
-              "Une erreur est survenue lors de l'import de signalements.\n " +
-                response.data.detail
-            );
+            this.DISPLAY_MESSAGES({
+              comment: `Une erreur est survenue lors de l'import de signalements.\n ${ response.data.detail }`,
+              level: 'negative'
+            });
           }
           this.loading = false;
         })
@@ -616,13 +608,6 @@ export default {
       }
     },
 
-    displayMessage(message) {
-      this.error = message;
-      document
-        .getElementById('message')
-        .scrollIntoView({ block: 'end', inline: 'nearest' });
-    },
-
     // ****** Methodes for geojson import ****** //
     toNewFeatureType() {
       this.$router.push({
@@ -631,15 +616,6 @@ export default {
       });
     },
 
-    translateLabel(value) {
-      if (value === 'LineString') {
-        return 'linestring';
-      } else if (value === 'Polygon' || value === 'MultiPolygon') {
-        return 'polygon';
-      }
-      return 'point';
-    },
-
     buildCustomForm(properties) {
       for (const [key, val] of Object.entries(properties)) {
         //* check that the property is not a keyword from the backend or map style
@@ -662,7 +638,7 @@ export default {
         //* in order to get feature_type properties, the first feature is enough
         const { properties, geometry } = this.geojson.features[0];
         this.form.title.value = properties.feature_type;
-        this.form.geom_type.value = this.translateLabel(geometry.type);
+        this.form.geom_type.value = geometry.type.toLowerCase();
         this.updateStore(); //* register title & geom_type in store
         this.buildCustomForm(properties);
       }