diff --git a/pom.xml b/pom.xml
index 8dfb52e0a06c654d391bf3c7bfbf0a2e4b992e5d..b56ea8baa24302c1ffef8a954e7556af54819267 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,9 +59,14 @@
 		    <artifactId>json</artifactId>
 		    <version>20190722</version>
 		</dependency>
-		
-		
-	</dependencies>
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+            <version>2.8.6</version>
+        </dependency>
+
+
+    </dependencies>
 
 	<build>
 		<plugins>
diff --git a/src/main/java/isima/f2/contrats/IPoubelle.java b/src/main/java/isima/f2/contrats/IPoubelle.java
index bc46465375dbea91099dfbf8cfde778aca5d8d0a..f36c38946e880e6212c8fc60587c6c2ea341eb30 100644
--- a/src/main/java/isima/f2/contrats/IPoubelle.java
+++ b/src/main/java/isima/f2/contrats/IPoubelle.java
@@ -13,4 +13,5 @@ public interface IPoubelle {
 	public List<Poubelle> getPoubelles();
 	public void viderPoubelle(long id);
 	public void updateContenuPoubelle(long id, double contenu);
+	public void creerPoubelle(Poubelle nouvellePoubelle);
 }
diff --git a/src/main/java/isima/f2/controllers/PoubelleController.java b/src/main/java/isima/f2/controllers/PoubelleController.java
index 2a6153d7cbc6ccfb584c38443b1c250121a35c47..1732ed12d18c51585fa6cafa7884391fbd71f72f 100644
--- a/src/main/java/isima/f2/controllers/PoubelleController.java
+++ b/src/main/java/isima/f2/controllers/PoubelleController.java
@@ -3,6 +3,7 @@ package isima.f2.controllers;
 import java.util.List;
 import java.util.Map;
 
+import com.google.gson.Gson;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -45,4 +46,20 @@ public class PoubelleController {
 	public String testpost(@RequestParam Map <String, String> allParams) {
 	    return "Les paramètres sont"+ allParams.entrySet ();
 	}
+
+	@PostMapping ("/nouvelle")
+	@ResponseBody
+	public String creerPoubelle(@RequestParam Map <String, String> allParams) {
+		String poubelleJSON =  allParams.get("poubelle");
+		poubelleJSON = poubelleJSON.replace("Poubelle","");
+		System.out.println("Poubellllllllllllleeeeeeeee ******** : " + poubelleJSON);
+		Gson gson = new Gson();
+		Poubelle nouvellePoubelle = gson.fromJson(poubelleJSON, Poubelle.class);
+		//update poubelle id ===> last id + 1
+		nouvellePoubelle.setId((long)(poubelles.getPoubelles().size()+1));
+		//nouvellePoubelle.setId(6L);
+		System.out.println("**************** " + nouvellePoubelle.toString() + "****************");
+		poubelles.creerPoubelle(nouvellePoubelle);
+		return "La nouvelle poubelle a été créée avec succes";
+	}
 }
diff --git a/src/main/java/isima/f2/services/ImpPoubelle.java b/src/main/java/isima/f2/services/ImpPoubelle.java
index b520f8954b31687f2fb0da9eaf3f3c59f55f1328..e5cc182230c0773b60eb4905c8175f4c3444c90e 100644
--- a/src/main/java/isima/f2/services/ImpPoubelle.java
+++ b/src/main/java/isima/f2/services/ImpPoubelle.java
@@ -55,4 +55,8 @@ public class ImpPoubelle implements IPoubelle{
         poubelleDAO.updatePoubelleSetCapacity(id,contenu);
     }
 
+	@Override
+	public void creerPoubelle(Poubelle nouvellePoubelle) {
+		poubelleDAO.save(nouvellePoubelle);
+	}
 }