From 6f30c55ec505afe36778c958b98cb5ac0719837b Mon Sep 17 00:00:00 2001
From: "antoine.gaienier" <antoine.gaienier.etu@univ-lille.fr>
Date: Wed, 13 Mar 2024 16:27:54 +0100
Subject: [PATCH] commandes finni

---
 .vscode/settings.json                         |  49 +++++++++
 .../IngrediantPatch price.bru                 |   4 +
 .../Ingredient Delete.bru}                    |   4 +-
 .../Ingredient FindByID.bru}                  |   6 +-
 .../Ingredient Findall.bru}                   |   2 +-
 .../Ingredient Patch name.bru                 |   4 +
 .../Ingredient Post.bru}                      |   6 +-
 .../pizzeria/1_Ingredient/Ingredient Put.bru  |  19 ++++
 .../Ingretiant FindByID Name.bru}             |   6 +-
 .../Ingredient  Delete Faill.bru}             |   2 +-
 .../Ingredient FindByID Faill.bru}            |   2 +-
 .../Ingredient FindByID Name Faill.bru}       |   2 +-
 ...Ingredient Patch Faill (name colonne).bru} |   2 +-
 ...ent Patch Faill (not foud ingredient).bru} |   2 +-
 .../Ingredient Post Faill.bru}                |   2 +-
 .../ingredient Put Faill.bru                  |  23 ++++
 .../3_Pizza/Pizza ByName (chorizo 2).bru      |  15 +++
 .../3_Pizza/Pizza ByName (chorizo 3).bru      |  15 +++
 .../3_Pizza/Pizza ByName (chorizo).bru        |  15 +++
 .../{PizzaByName.bru => Pizza ByName.bru}     |   6 +-
 .../3_Pizza/Pizza Delete (une pizza).bru      |   2 +-
 .../{pizzaALL.bru => Pizza FindALL.bru}       |   2 +-
 ...tal.bru => Pizza FindByName Prixtotal.bru} |   6 +-
 .../Pizza Patch (liste ingrediant).bru        |  33 ++++++
 .../Pizza Patch (pate et prixbase).bru        |  18 ++++
 .../3_Pizza/Pizza Patch (prixbase).bru        |  17 +++
 .../3_Pizza/Pizza Patch (p\303\242te).bru"    |  17 +++
 .../3_Pizza/{PizzaPost.bru => Pizza Post.bru} |   6 +-
 ...ngredient (un ingredient d'une pizza).bru} |   2 +-
 WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru |  30 ++++++
 .../Pizza Delete  (une pizza) Faill.bru       |  15 +++
 .../4_PizzaFaill/Pizza FindByName Faill.bru   |  15 +++
 .../Pizza Patch Faill (sur une colonne).bru   |  21 ++++
 .../4_PizzaFaill/Pizza Patch Faill.bru        |  21 ++++
 .../4_PizzaFaill/Pizza Post Faill.bru         |  35 ++++++
 ...elete (un ingredient d'une pizza)Faill.bru |  15 +++
 ...ru => Commandes Delete (une commande).bru} |   4 +-
 ...bru => Commandes Delete (une pizza  ).bru} |   4 +-
 .../5_Commande/Commandes Pach (pizzas).bru    |  21 ++++
 .../Commandes Patch (nom et date).bru         |  19 ++++
 .../{CommandePost.bru => Commandes Post.bru}  |   8 +-
 .../pizzeria/5_Commande/Commandes Put.bru     |  27 +++++
 .../Commandes findById (commande 4 Patch).bru |  15 +++
 .../Commandes findById (commandes 4 Put).bru  |  15 +++
 .../5_Commande/Commandes findById.bru         |   4 +
 .../5_Commande/Commandes totalPrice.bru       |   6 +-
 .../Commandes Delete (une commande) Faill.bru |  15 +++
 .../Commandes Delete (une pizza) Faill.bru    |  15 +++
 .../Commandes Patch Faill(nom colonne).bru    |  22 ++++
 .../6_CommandeFaill/Commandes Patch Faill.bru |  23 ++++
 .../6_CommandeFaill/Commandes Post Faill.bru  |  31 ++++++
 .../6_CommandeFaill/Commandes Put Faill.bru   |  31 ++++++
 .../Commandes findById Faill.bru              |  15 +++
 .../Commandes totalPrice Faill.bru            |  15 +++
 .../classes/controleurs/CommandeRestAPI.class | Bin 3244 -> 4660 bytes
 .../controleurs/IngredientRestAPI.class       | Bin 4656 -> 4616 bytes
 .../classes/controleurs/PizzasRestAPI.class   | Bin 3575 -> 4991 bytes
 WEB-INF/classes/dao/CommandeDAO.class         | Bin 5356 -> 7328 bytes
 .../classes/dao/IngredientDAODatabase.class   | Bin 4514 -> 4653 bytes
 WEB-INF/classes/dao/PizzasDAO.class           | Bin 5884 -> 7310 bytes
 WEB-INF/classes/dto/Commande.class            | Bin 800 -> 891 bytes
 WEB-INF/classes/dto/CommandeDetail$1.class    | Bin 0 -> 527 bytes
 WEB-INF/classes/dto/CommandeDetail.class      | Bin 1393 -> 1558 bytes
 WEB-INF/classes/dto/PizzaCompo.class          | Bin 2106 -> 2091 bytes
 WEB-INF/pizzeria.sql                          | 100 +++++++++++++++++
 WEB-INF/src/controleurs/CommandeRestAPI.java  | 101 +++++++++++++++---
 .../src/controleurs/IngredientRestAPI.java    |  13 ++-
 WEB-INF/src/controleurs/PizzasRestAPI.java    |  74 ++++++++++++-
 WEB-INF/src/dao/CommandeDAO.java              |  81 +++++++++++++-
 WEB-INF/src/dao/IngredientDAODatabase.java    |   9 +-
 WEB-INF/src/dao/PizzasDAO.java                |  57 ++++++++++
 WEB-INF/src/dto/Commande.java                 |   4 +
 WEB-INF/src/dto/CommandeDetail.java           |   4 +-
 WEB-INF/src/dto/PizzaCompo.java               |   2 +-
 74 files changed, 1120 insertions(+), 56 deletions(-)
 create mode 100644 .vscode/settings.json
 rename WEB-INF/bruno/pizzeria/{1_ingredient => 1_Ingredient}/IngrediantPatch price.bru (85%)
 rename WEB-INF/bruno/pizzeria/{1_ingredient/DeleteIngredient.bru => 1_Ingredient/Ingredient Delete.bru} (84%)
 rename WEB-INF/bruno/pizzeria/{1_ingredient/FindIngrediantByID.bru => 1_Ingredient/Ingredient FindByID.bru} (65%)
 rename WEB-INF/bruno/pizzeria/{1_ingredient/findall.bru => 1_Ingredient/Ingredient Findall.bru} (81%)
 rename WEB-INF/bruno/pizzeria/{1_ingredient => 1_Ingredient}/Ingredient Patch name.bru (85%)
 rename WEB-INF/bruno/pizzeria/{1_ingredient/IngrediantPost.bru => 1_Ingredient/Ingredient Post.bru} (76%)
 create mode 100644 WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru
 rename WEB-INF/bruno/pizzeria/{1_ingredient/IngretiantName.bru => 1_Ingredient/Ingretiant FindByID Name.bru} (65%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FailDelete.bru => 2_IngrediantFaill/Ingredient  Delete Faill.bru} (82%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FindByIDFail.bru => 2_IngrediantFaill/Ingredient FindByID Faill.bru} (81%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/FindByIDNameFail.bru => 2_IngrediantFaill/Ingredient FindByID Name Faill.bru} (81%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/Ingredient Patch name fail.bru => 2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru} (80%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru => 2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru} (78%)
 rename WEB-INF/bruno/pizzeria/{2_ingrediantError/IngrediantPostFail.bru => 2_IngrediantFaill/Ingredient Post Faill.bru} (88%)
 create mode 100644 WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru
 rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaByName.bru => Pizza ByName.bru} (69%)
 rename WEB-INF/bruno/pizzeria/3_Pizza/{pizzaALL.bru => Pizza FindALL.bru} (83%)
 rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaPrixtotal.bru => Pizza FindByName Prixtotal.bru} (65%)
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru
 create mode 100644 "WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru"
 rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaPost.bru => Pizza Post.bru} (88%)
 rename WEB-INF/bruno/pizzeria/3_Pizza/{PizzaDeleteIngredient (un ingredient d'une pizza).bru => PizzaDelete Ingredient (un ingredient d'une pizza).bru} (67%)
 create mode 100644 WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete  (une pizza) Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru
 rename WEB-INF/bruno/pizzeria/5_Commande/{Commande Delete (une pizza).bru => Commandes Delete (une commande).bru} (68%)
 rename WEB-INF/bruno/pizzeria/5_Commande/{Commande Delete (une commande).bru => Commandes Delete (une pizza  ).bru} (71%)
 create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru
 create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru
 rename WEB-INF/bruno/pizzeria/5_Commande/{CommandePost.bru => Commandes Post.bru} (82%)
 create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru
 create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru
 create mode 100644 WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru
 create mode 100644 WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru
 create mode 100644 WEB-INF/classes/dto/CommandeDetail$1.class
 create mode 100644 WEB-INF/pizzeria.sql

diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..77acbc8
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,49 @@
+{
+    "java.project.referencedLibraries": [
+        "lib/**/*.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/annotations-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ant.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ha.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-ssi.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-storeconfig.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/catalina-tribes.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/ecj-4.27.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/el-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-annotations-2.15.3.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-core-2.15.3.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-databind-2.15.3.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jackson-dataformat-xml-2.15.3.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jakartaee-migration-1.0.7-shaded.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jasper.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jasper-el.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jaspic-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-api-0.12.5.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-impl-0.12.5.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jjwt-jackson-0.12.5.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/jsp-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/postgresql-42.6.0.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/servlet-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/stax2-api-4.2.2.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-coyote.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-dbcp.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-cs.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-de.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-es.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-fr.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ja.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ko.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-pt-BR.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-ru.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-i18n-zh-CN.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-jdbc.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-jni.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-util.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-util-scan.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/tomcat-websocket.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/websocket-api.jar",
+        "/home/infoetu/antoine.gaienier.etu/tomcat/lib/websocket-client-api.jar"
+    ],
+    "java.project.outputPath": "WEB-INF/classes"
+}
\ No newline at end of file
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru
similarity index 85%
rename from WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru
index 08a1612..7eb9720 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPatch price.bru	
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/IngrediantPatch price.bru	
@@ -15,3 +15,7 @@ body:json {
     "price":10.5
   }
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru
similarity index 84%
rename from WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru
index e43cc0f..ad8bf75 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/DeleteIngredient.bru
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Delete.bru	
@@ -1,7 +1,7 @@
 meta {
-  name: DeleteIngredient
+  name: Ingredient Delete
   type: http
-  seq: 7
+  seq: 9
 }
 
 delete {
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru
similarity index 65%
rename from WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru
index f3148a3..d0e6026 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/FindIngrediantByID.bru
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient FindByID.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: FindIngrediantByID
+  name: Ingredient FindByID
   type: http
   seq: 2
 }
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/findall.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru
similarity index 81%
rename from WEB-INF/bruno/pizzeria/1_ingredient/findall.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru
index a21f00c..0418102 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/findall.bru
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Findall.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: findall
+  name: Ingredient Findall
   type: http
   seq: 1
 }
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru
similarity index 85%
rename from WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru
index 753735e..267a69d 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/Ingredient Patch name.bru	
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Patch name.bru	
@@ -15,3 +15,7 @@ body:json {
     "name":"poisson"
   }
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru
similarity index 76%
rename from WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru
index e1f2213..996de26 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/IngrediantPost.bru
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Post.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: IngrediantPost
+  name: Ingredient Post
   type: http
   seq: 4
 }
@@ -17,3 +17,7 @@ body:json {
     "price":0
   }
 }
+
+assert {
+  res.status: eq 201
+}
diff --git a/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru
new file mode 100644
index 0000000..7f98d82
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingredient Put.bru	
@@ -0,0 +1,19 @@
+meta {
+  name: Ingredient Put
+  type: http
+  seq: 7
+}
+
+put {
+  url: http://localhost:8080/pizzeria/ingredients
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "id": 0,
+    "name":"coke" ,
+    "price":50
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru
similarity index 65%
rename from WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru
rename to WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru
index 297ac65..468e13a 100644
--- a/WEB-INF/bruno/pizzeria/1_ingredient/IngretiantName.bru
+++ b/WEB-INF/bruno/pizzeria/1_Ingredient/Ingretiant FindByID Name.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: IngretiantName
+  name: Ingretiant FindByID Name
   type: http
   seq: 3
 }
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient  Delete Faill.bru
similarity index 82%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient  Delete Faill.bru
index abb421b..f2c384d 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FailDelete.bru
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient  Delete Faill.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: FailDelete
+  name: Ingredient  Delete Faill
   type: http
   seq: 5
 }
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru
similarity index 81%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru
index 5776f8f..bd06dfe 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDFail.bru
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Faill.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: FindByIDFail
+  name: Ingredient FindByID Faill
   type: http
   seq: 1
 }
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru
similarity index 81%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru
index ebb72f0..6f5bdde 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/FindByIDNameFail.bru
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient FindByID Name Faill.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: FindByIDNameFail
+  name: Ingredient FindByID Name Faill
   type: http
   seq: 6
 }
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru
similarity index 80%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru
index 6b8c20d..7268678 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch name fail.bru	
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (name colonne).bru	
@@ -1,5 +1,5 @@
 meta {
-  name: Ingredient Patch name fail
+  name: Ingredient Patch Faill (name colonne)
   type: http
   seq: 3
 }
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru
similarity index 78%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru
index 85f2abd..4d88584 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/Ingredient Patch fail (not foud ingredient).bru	
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Patch Faill (not foud ingredient).bru	
@@ -1,5 +1,5 @@
 meta {
-  name: Ingredient Patch fail (not foud ingredient) 
+  name: Ingredient Patch Faill (not foud ingredient)
   type: http
   seq: 4
 }
diff --git a/WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru
similarity index 88%
rename from WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru
rename to WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru
index 7b4f63f..a0ad61c 100644
--- a/WEB-INF/bruno/pizzeria/2_ingrediantError/IngrediantPostFail.bru
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/Ingredient Post Faill.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: IngrediantPostFail
+  name: Ingredient Post Faill
   type: http
   seq: 2
 }
diff --git a/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru
new file mode 100644
index 0000000..6c350a4
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/2_IngrediantFaill/ingredient Put Faill.bru	
@@ -0,0 +1,23 @@
+meta {
+  name: ingredient Put Faill
+  type: http
+  seq: 7
+}
+
+put {
+  url: http://localhost:8080/pizzeria/ingredients
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "id": 0,
+    "name": "coke",
+    "price": 50
+  }
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru
new file mode 100644
index 0000000..598972d
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 2).bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Pizza ByName (chorizo 2)
+  type: http
+  seq: 11
+}
+
+get {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru
new file mode 100644
index 0000000..d2c8374
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo 3).bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Pizza ByName (chorizo 3)
+  type: http
+  seq: 13
+}
+
+get {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru
new file mode 100644
index 0000000..ea049f4
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName (chorizo).bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Pizza ByName (chorizo)
+  type: http
+  seq: 9
+}
+
+get {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru
similarity index 69%
rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru
rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru
index baa5588..88bb195 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaByName.bru
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza ByName.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: PizzaByName
+  name: Pizza ByName
   type: http
   seq: 2
 }
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru
index 651c689..d1a10c2 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru	
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Delete (une pizza).bru	
@@ -1,7 +1,7 @@
 meta {
   name: Pizza Delete (une pizza)
   type: http
-  seq: 6
+  seq: 14
 }
 
 delete {
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru
similarity index 83%
rename from WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru
rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru
index ce2ec08..0a544a8 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/pizzaALL.bru
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindALL.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: pizzaALL
+  name: Pizza FindALL
   type: http
   seq: 1
 }
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru
similarity index 65%
rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru
rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru
index 96a90a3..c505f35 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPrixtotal.bru
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza FindByName Prixtotal.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: PizzaPrixtotal
+  name: Pizza FindByName Prixtotal
   type: http
   seq: 3
 }
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru
new file mode 100644
index 0000000..2b95e43
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (liste ingrediant).bru	
@@ -0,0 +1,33 @@
+meta {
+  name: Pizza Patch (liste ingrediant)
+  type: http
+  seq: 8
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "ingredients":[
+      {
+      "id": 1,
+      "name": "pomme de terre",
+      "price": 1
+    },
+    {
+      "id": 3,
+      "name": "chorizo",
+      "price": 2
+    },
+    {
+      "id": 4,
+      "name": "lardons",
+      "price": 2
+    }
+    ]
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru
new file mode 100644
index 0000000..cb51816
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (pate et prixbase).bru	
@@ -0,0 +1,18 @@
+meta {
+  name: Pizza Patch (pate et prixbase)
+  type: http
+  seq: 10
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "pate":"super fine",
+    "prixBase" :5.25
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru
new file mode 100644
index 0000000..f2e8cad
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (prixbase).bru	
@@ -0,0 +1,17 @@
+meta {
+  name: Pizza Patch (prixbase)
+  type: http
+  seq: 7
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "prixBase" :9.4
+  }
+}
diff --git "a/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru" "b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru"
new file mode 100644
index 0000000..fc3d830
--- /dev/null
+++ "b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Patch (p\303\242te).bru"	
@@ -0,0 +1,17 @@
+meta {
+  name: Pizza Patch (pâte)
+  type: http
+  seq: 6
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "pate" :"fine"
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru
similarity index 88%
rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru
rename to WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru
index a31e761..d2fb1dc 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaPost.bru
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizza Post.bru	
@@ -1,5 +1,5 @@
 meta {
-  name: PizzaPost
+  name: Pizza Post
   type: http
   seq: 4
 }
@@ -29,3 +29,7 @@ body:json {
   }
   
 }
+
+assert {
+  res.status: eq 201
+}
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru b/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru
similarity index 67%
rename from WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru
rename to WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru
index b55a0e4..843cc8c 100644
--- a/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDeleteIngredient (un ingredient d'une pizza).bru	
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/PizzaDelete Ingredient (un ingredient d'une pizza).bru	
@@ -1,5 +1,5 @@
 meta {
-  name: PizzaDeleteIngredient (un ingredient d'une pizza)
+  name: PizzaDelete Ingredient (un ingredient d'une pizza)
   type: http
   seq: 5
 }
diff --git a/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru b/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru
new file mode 100644
index 0000000..a0b7113
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/3_Pizza/Pizzaa Put.bru	
@@ -0,0 +1,30 @@
+meta {
+  name: Pizzaa Put
+  type: http
+  seq: 12
+}
+
+put {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "nom" : "chorizo",
+    "pate" :"finne",
+    "prixBase" : 45,
+    "ingredients":[
+      {
+        "id":7 ,
+        "name":"sauce tomate" ,
+        "price":0.50
+      },
+      {"id":1 ,
+        "name":"pomme de terre" ,
+        "price":1      
+      }
+    ]
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete  (une pizza) Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete  (une pizza) Faill.bru
new file mode 100644
index 0000000..b2da78b
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Delete  (une pizza) Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Pizza Delete  (une pizza) Faill
+  type: http
+  seq: 6
+}
+
+delete {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru
new file mode 100644
index 0000000..5e8f3ee
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza FindByName Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Pizza FindByName Faill
+  type: http
+  seq: 1
+}
+
+get {
+  url: http://localhost:8080/pizzeria/pizzas/hawaienne
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru
new file mode 100644
index 0000000..c1f42a0
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill (sur une colonne).bru	
@@ -0,0 +1,21 @@
+meta {
+  name: Pizza Patch Faill (sur une colonne)
+  type: http
+  seq: 4
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/3fromages
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "paate" :"fine"
+  }
+}
+
+assert {
+  res.status: eq 500
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru
new file mode 100644
index 0000000..8e93a8d
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Patch Faill.bru	
@@ -0,0 +1,21 @@
+meta {
+  name: Pizza Patch Faill
+  type: http
+  seq: 5
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/pizzas/chorizo
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "pate" :"fine"
+  }
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru
new file mode 100644
index 0000000..2f66654
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/Pizza Post Faill.bru	
@@ -0,0 +1,35 @@
+meta {
+  name: Pizza Post Faill
+  type: http
+  seq: 2
+}
+
+post {
+  url: http://localhost:8080/pizzeria/pizzas
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "nom" : "3fromages",
+    "pate" :"classique",
+    "prixBase" : 4,
+    "ingredients":[
+      {
+        "id":7 ,
+        "name":"sauce tomate" ,
+        "price":0.50
+      },
+      {"id":1 ,
+        "name":"pomme de terre" ,
+        "price":1      
+      }
+    ]
+  }
+  
+}
+
+assert {
+  res.status: eq 409
+}
diff --git a/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru b/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru
new file mode 100644
index 0000000..5a5bda2
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/4_PizzaFaill/PizzaDelete (un ingredient d'une pizza)Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: PizzaDelete (un ingredient d'une pizza)Faill
+  type: http
+  seq: 3
+}
+
+delete {
+  url: http://localhost:8080/pizzeria/pizzas/3fromages/1
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru
similarity index 68%
rename from WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru
rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru
index b625b59..e1673bb 100644
--- a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une pizza).bru	
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une commande).bru	
@@ -1,7 +1,7 @@
 meta {
-  name: Commande Delete (une pizza)
+  name: Commandes Delete (une commande)
   type: http
-  seq: 4
+  seq: 11
 }
 
 delete {
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza  ).bru
similarity index 71%
rename from WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru
rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza  ).bru
index 96f585f..8f55f90 100644
--- a/WEB-INF/bruno/pizzeria/5_Commande/Commande Delete (une commande).bru	
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Delete (une pizza  ).bru	
@@ -1,7 +1,7 @@
 meta {
-  name: Commande Delete (une commande)
+  name: Commandes Delete (une pizza  )
   type: http
-  seq: 5
+  seq: 6
 }
 
 delete {
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru
new file mode 100644
index 0000000..8520655
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Pach (pizzas).bru	
@@ -0,0 +1,21 @@
+meta {
+  name: Commandes Pach (pizzas)
+  type: http
+  seq: 7
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "pizzas": [
+      {
+        "nom": "3fromages"
+      }
+    ]
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru
new file mode 100644
index 0000000..0ba200d
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Patch (nom et date).bru	
@@ -0,0 +1,19 @@
+meta {
+  name: Commandes Patch (nom et date)
+  type: http
+  seq: 5
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "nom": "machin bipbip",
+    "date": 17118224000000
+  }
+    
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru
similarity index 82%
rename from WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru
rename to WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru
index effed99..7de10cf 100644
--- a/WEB-INF/bruno/pizzeria/5_Commande/CommandePost.bru
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Post.bru	
@@ -1,7 +1,7 @@
 meta {
-  name: CommandePost
+  name: Commandes Post
   type: http
-  seq: 3
+  seq: 4
 }
 
 post {
@@ -25,3 +25,7 @@ body:json {
     ]
   }
 }
+
+assert {
+  res.status: eq 201
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru
new file mode 100644
index 0000000..669675f
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes Put.bru	
@@ -0,0 +1,27 @@
+meta {
+  name: Commandes Put
+  type: http
+  seq: 9
+}
+
+put {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "id": 4,
+    "nom": "machin chose",
+    "date": 1711922400000,
+    "pizzas": [
+      {
+        "nom": "3fromages"      
+      },
+      {
+        "nom": "6fromages"
+      }
+    ]
+  }
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru
new file mode 100644
index 0000000..3e9e25e
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commande 4 Patch).bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes findById (commande 4 Patch)
+  type: http
+  seq: 8
+}
+
+get {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru
new file mode 100644
index 0000000..8f1c563
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById (commandes 4 Put).bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes findById (commandes 4 Put)
+  type: http
+  seq: 10
+}
+
+get {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru
index 723c18a..43cf2fe 100644
--- a/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru	
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes findById.bru	
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru b/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru
index 1efca78..4d75dcf 100644
--- a/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru	
+++ b/WEB-INF/bruno/pizzeria/5_Commande/Commandes totalPrice.bru	
@@ -1,7 +1,7 @@
 meta {
   name: Commandes totalPrice
   type: http
-  seq: 6
+  seq: 3
 }
 
 get {
@@ -9,3 +9,7 @@ get {
   body: none
   auth: none
 }
+
+assert {
+  res.status: eq 302
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru
new file mode 100644
index 0000000..37a2e43
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une commande) Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes Delete (une commande) Faill
+  type: http
+  seq: 8
+}
+
+delete {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru
new file mode 100644
index 0000000..0e66fed
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Delete (une pizza) Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes Delete (une pizza) Faill
+  type: http
+  seq: 7
+}
+
+delete {
+  url: http://localhost:8080/pizzeria/commandes/1/6fromages
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru
new file mode 100644
index 0000000..3bcd9cf
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill(nom colonne).bru	
@@ -0,0 +1,22 @@
+meta {
+  name: Commandes Patch Faill(nom colonne)
+  type: http
+  seq: 2
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/commandes/1
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "mmmmmm": "machin bipbip"
+  }
+    
+}
+
+assert {
+  res.status: eq 500
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru
new file mode 100644
index 0000000..8278730
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Patch Faill.bru	
@@ -0,0 +1,23 @@
+meta {
+  name: Commandes Patch Faill
+  type: http
+  seq: 3
+}
+
+patch {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "nom": "machin bipbip",
+    "date": 17118224000000
+  }
+    
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru
new file mode 100644
index 0000000..7843a07
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Post Faill.bru	
@@ -0,0 +1,31 @@
+meta {
+  name: Commandes Post Faill
+  type: http
+  seq: 6
+}
+
+post {
+  url: http://localhost:8080/pizzeria/commandes
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "id": 1,
+    "nom": "truc bidule",
+    "date": 1711922400000,
+    "pizzas": [
+      {
+        "nom": "6fromages"      
+      },
+      {
+        "nom": "3fromages"
+      }
+    ]
+  }
+}
+
+assert {
+  res.status: eq 409
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru
new file mode 100644
index 0000000..1ad590d
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes Put Faill.bru	
@@ -0,0 +1,31 @@
+meta {
+  name: Commandes Put Faill
+  type: http
+  seq: 5
+}
+
+put {
+  url: http://localhost:8080/pizzeria/commandes/4
+  body: json
+  auth: none
+}
+
+body:json {
+  {
+    "id": 4,
+    "nom": "machin chose",
+    "date": 1711922400000,
+    "pizzas": [
+      {
+        "nom": "3fromages"      
+      },
+      {
+        "nom": "6fromages"
+      }
+    ]
+  }
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru
new file mode 100644
index 0000000..65b4660
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes findById Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes findById Faill
+  type: http
+  seq: 1
+}
+
+get {
+  url: http://localhost:8080/pizzeria/commandes/0
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru
new file mode 100644
index 0000000..52863bc
--- /dev/null
+++ b/WEB-INF/bruno/pizzeria/6_CommandeFaill/Commandes totalPrice Faill.bru	
@@ -0,0 +1,15 @@
+meta {
+  name: Commandes totalPrice Faill
+  type: http
+  seq: 4
+}
+
+get {
+  url: http://localhost:8080/pizzeria/commandes/0/prixfinal
+  body: none
+  auth: none
+}
+
+assert {
+  res.status: eq 404
+}
diff --git a/WEB-INF/classes/controleurs/CommandeRestAPI.class b/WEB-INF/classes/controleurs/CommandeRestAPI.class
index 04276ec9131778ccc102a3960304d92762e5adc6..c98b6f66a7b70781ab826741e6f0617d08f57a87 100644
GIT binary patch
delta 2638
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

delta 1238
zcmdm@vPP2Y)W2Q(7#J9A8K!UKTEQ$RsNt#UlTwne@0_2To0yl9I{74X9y2>b=;Qzv
z1Ktn@ZZ3uph6o;pNQS7%y(~@wF+2=G49Z*#JPdI>4Dk#Jlkc-Avn25_Bu{2zeJaI~
z3^j$3fe*!0>&Y)!z14Er8Oj+Mc#y4QWME6l56CYr;bu@}sN!L$W~iC$!KSTH$H*Xr
ztj;C1Br!7w<d_B?hDL^_$&=aKICvOZco<q4+9v;GQ)U#IY{(%p*@m5;t&4}Do1tfN
z2fGPN9}h$S<OA%olh1KXVq}?|$eGFcje(hglYxQZ^yCjbQuQ-*h4i*D7+A4NvhHJD
z!r&^&%4#HJwvEAJCWECUD~r(%1{*Urtt|}vqHNn3oUGU-*^e{u>j*MV*~#F>#IT&9
zNRkC6>$Q!+Z#hGvB<ntwB@9u-Xg1w#$Pf~_ogvJMLy|?3Ly~<PL-;m^=;aKuyP@K&
zk}Q&}APcrJ#DXOgC$Hnush4N)Vo+f4XHaB_U{GR+W>99xWKd<uVNho%X3$`$VbEk~
zXV7BkVbErn%AmtAgF%;JA%h;nS_VUg4Gbm>I~hzFPBEA>2r)1)R59>?!h%7VL4*MW
zPBWx1q%tsq#nKqk8JHOO8TK$_Fk~_?Gl(;6VaQ_0W?-pjP-f_2$YIE3U}dmp&|=7A
z$Y)?<@M4f>C}1dLU}vadFocS=GpIqu7BcWK6fqPta4_s-5CpSW8A=!!7<3s}|1(50
zaIiBlvNNc%Gsv?u7_u|?von-3vNM!1F#Kc?_{*RTV*g+emt<gMs9+GQXJBFwXJBAp
zV_;&CV2}bw=Vk_G1~vu;274VLnVk%BObj|Z8MGJ~{9qx;BFUn?lcAE4L8x{cL;V4U
zS}Sn4O0sTaXx0UVG9-96GB7YOF$gj+Fvu~mGcYh%F>o+gGw?ImFi0@iGH5Z_F&H!0
zXEE3@IDmuC4q_)f`0U}qXU_l&J_B%|F*8UosDu5@!l1<<%22@2&cMpR$k4$chUptd
zc?M<%4h9B>IB+6$MNOo#@U#U=tyb)y^dZUyN<E#B#3u?@0Fm0p&<pYxGuU5d47>~s
z49*N33@!}(46Y2~3?2;944w?i3|<Uc4BiaJ3_c8&489C54E_w>3;_%w4E2Ewu?!(#
z|HgpBIu7pNIJke~;QsZ8Cl`0H&si9h8LXhG#h5`5nldaIxEUreWHPWbgfMVI#X#vn
tkb&tRg9|(n{9=$`kY!?+2#%IX43ilc82A_%8Ky8WGE9wTU@T^s1^_iv<SYOH

diff --git a/WEB-INF/classes/controleurs/IngredientRestAPI.class b/WEB-INF/classes/controleurs/IngredientRestAPI.class
index 8f19fdae6e2690d550afc107a97dc4403156e46c..988dddf397f43b80c8c0477201f253a125d97c54 100644
GIT binary patch
delta 2159
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

delta 2200
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

diff --git a/WEB-INF/classes/controleurs/PizzasRestAPI.class b/WEB-INF/classes/controleurs/PizzasRestAPI.class
index 4be926579fa3acd9f6aa791e484994c348ae879e..890114179c6965f2838a5e6611cb3e5e4f18b844 100644
GIT binary patch
delta 2823
zcmew^{a;Ps)W2Q(7#J9A8P2dXFflSnPJAf2QS%YAdP#6eVo7N+BLj<ur)C&8gDgV;
z4?`e>A0q>2acW+QYf({t5eGx?WEmD2sZbt<Fa||N2KIuY%)FAEJT3+!h6o;pNQS7%
zK`a_<F+2>h3~`eiSe)1rco-5Hk~W`U*~2K3$H>5zk{^&?T*A$u%uvn4P{U9=c?O%d
zOg$q5UrI^7en4hbRibl#Zb3d5gAPL@4?`0}^W^(%ZqjuOtvn2E4C;&wZ0V^be)+jv
z3_J`SJPe%-U6Xa$wd8vl`q>%!7#Re!63Y_xa}x8?^*!@SQqxn5co-%yOq^WCuFgA|
zhhYlCR7M8jw9LGe$!plvxuZa)Oy^;k!7y|3Vs>N3*^{rcy9&+aVVDQ<8(T_hPHIUi
z2g8ENdK{YdtSR{cr6uePOBopyvJ$fsi%Jspi&Klra#Bn5gCVqQMRICENoIZ?$lT>T
z3@aGA7#Y|~3sMqGQW+W8Q}P26OOi7{lB;<b)-bGPWZ)_QiGaP$$e^m>gK&OuNl|8A
zy0uRVG+62(;bN^B#>l`9vNtn16%>jaco;T<!i6(EwZu2IBqKkCgJClx19L!V2p0n*
z!&V-K#SCH`4BHtQ*j!wFTti$zqC0sQx<R7585vjt{DZ+N_wq1Qg2eVSGBCTlf`tz9
zFo=SL4l^>a@&`DEID3FJALU_K$sjg4l%t=KeezQdQ%(^E76wrUeg=`r%AA^<Mhwgh
zoD2*MFD3`@h)>Sp<f-4NE2O`T!O)6Ll5HRB5{5`gHdZ4c^KA^4GZ}m(*;tIM*tNDW
z@Jq69W3WBOpaExFaY(YjIF8#GTy+E)^>#9NGchb@DA5sQoU)U_pNT<|MJQ++L&$Q5
zL`k-NEK3-obXm4Bgrk^PuLd*47G$I(t0c!ZhUje!AxH+Qzztl^AOTXojUnEOO_D{D
zRgw*&cq0P?0}F#70|P@5gA4-$g9HNygCqk#gA{`}gEWHzgA9WTgDis%gB*iBgFJ&P
zg91Y!gCau=gAzl17K1WFF@q{Y8G{-_J%c(!8-pf8CxaHl1O{z}=?ppyiy3qo)-mWY
z>|)SoILu(caE!r_;XH#0!zBh&hT9Bg49^)X7=#!Y7^)a}K;g<D%pk%50xuYn8B!P+
z!D6WlX$(vZ{0ui4(it)sm>I+wE;3{?WHGQXDAY5YV8~|3VPFMYmCKOFz{cRp;K-2A
zkio#t5W^tOP{2^gz`-z`!2&9_jzN^6fT4(igW)y<4?{6S2?HBLDFXuo4+A4qq>O=$
zp`3w%L63p;KSLP<2Rj2JJA*PigDg9P5j%q$JA)28Lj^m75d*_7hI*kt3^wcxMn4(2
zMHm=CiHw1XK^z>Mj0_UswDO06nSqUgfgxE(NNOj83=@OSP6iD|2EW}5I+5EM^sHDU
zS+sXDR53CL)oo*FIKWV6#R`ffN!D!)E#OqcuOrAf6PzHHGbq5M+I2w@xUC)<*$gMa
zsRtC1%;1RBW8h|BV6b7}V6bK2XRu?CV6bP<VsK!vWN>6~VsK_~WpH8eV{m1NWN>3h
zV(<dTfgQx1@Hj|@$3Zd!EDl1zA<xVp!Qc%Fct-{n1}z3la455aLyez-=^ukDES&0O
z7#Km>5j|8Gk1{Yba4;}1?3^6HBUQfunu}N^SwXodNs^Vt$cjypmDOkmLys9G3$cL%
z!x|g_Y@+Pj7$(hP00j*suPkSXLC8##WD%ML&IAl6z~Qo-!44@C7(wz88$`o42HW~$
z3}P_O97z_T`QTi~1J{BG)-(o51_lOS1`Y;427U&A262W!25E*M24#j|1}%mV1_Opr
z21|x823Lj%hG2$Bh8Tt@hIob;hAf6yhC+rohAM^xhFXS1hBk&|hE9ewh6xPm409Oj
zGZ>aKWHPK_$YNN}kj=1zp%5G&G2ryG6CNKs;qkE(9v`dVd14VbW>^@M8KyGiGUPF^
zG8iy~ffGF&gC&D6!$O8d4D1XO7&M?_pd_vXO5*Vh^_XcKl)xDo7-WAkaQ|UY1*dQh
z21ZbM3yn%P1}26jR7&FY49ei(XWhoI43e&4$r=`Y*x~|`#7h}C7|Iy<8Oj+X7%CXF
z7%CYo8LAkZ7^)e38EP297-|_J8R{647#hGqiam+fgUT74X&ieJkAx?2P`IpQ5W@@?
z#vo{QQAr@{*CXY9?VSutj0~Xq1X8iEOR}>VS#f~FhXb4iR3U6o0kMks(6VCSV_;xt
zVc=kBW#DIMV~}8IXV7BkWH4grVyL%f=w@(a=w<L_=wpar=x0b~n81+3Fp(jjVG=_H
z!xV7PK~iHSJT+FrQ)4AOHD-a+AgFXm1eFfpkn@KY4n_>_;IzudV9j6$PND1!j*w!x
zo`C~gcBnEi{b$H$;6y5MA;oPSxab9?Nd^WE1{Q{O*n*qk2?H|&GXn!dq4rLO^^6Qc
zo50mDkCwL1Hij+B8DgNq+mM8JEN5`l-dPV;z6(iw&vFJmsPcVC!UvW!h(m=BfrUB2
zh95x`5RgPUlYx(67J~@GYz9?^ISkqia~W(H<}o-i%x4H@Silg;u#h2(VG%<C!xC`F
zDtJSj4G-Evc+eI?gBFxo*%?^H#l*yf8JHN3F)%PNF&t+&!N9=4$H2&Nl7W%oR5Sx)
HF~ey9E-M-c

delta 1448
zcmeyb_FY=w)W2Q(7#J9A8RoMyFflSnPJAf2QS%YAdtQobQBi&oBLj<ur)C%jLjWU#
zs86CoL1tA|qC%c}YDH#oNvc9YVlfwk8$%EeLokCPBLjOuQD$CAP97J75kn{sLl{H&
z<O~)Kwn!d^D2C|C(^#C?VtE+i7~(hIW7)$flFi7#mXaTkUtGe?pv+Lg!%)dkHF+JI
zwoDBp17Au>zJ376GUxo<f_yFp9fmp{hI)pE$zR#rICvPEco>=)S|*3FYst4Wbh0ya
zFfs^cC6*=X=OpH(>wD&vq^749@i25TbWfhouFlrW!_ddjKbe)om~rA{OAc3|$vg~G
zKrUuWNzF+uN#$UeHhBVv=HwHcy^JiA!?;X2g&9~FL>TxPgeOno(&Ut2U}oTCU|_g5
z`52dS{d`>^{cQ|}R&0`N`&gGS1W2;68VQ+iW3Zgb;3CP!Vr0dxwS|FSl6@P4?J)*<
zINORtk_E<b+{WO#oFQ9Bka5aR25%+?NfsghZ480S86qUv_OUEs2-IcS#t?#HkSt7Z
zy)DQjNmfaYZ441$O)7A6mNQ6zlx<^(v0{^Ckz|!*gQ(faz`(%5AjrVLki{Uyz`!8R
zz`-EFz|SDbAkHAgpuix_pu!--pu-@`V9y}O;L0G+5Xhjw5W}Fzkj0?PkjtRLP{yFj
zP|Kjs(7;fy!O+g2$<W83#W0IOn_($~4#P$UU4|_TdJKCR3>gkE7%`k=FlM;QV9FrG
zz`#(&zyk_724Myf1`xQ$kid}0zz7ygVn}9SV&G>u&XB^8%D~JZ&aj^$jUk<Zg+YN~
z8$$*|CIc&j4#Px-EQV|bHU?J)3x*tq)OrSXh8PAuhFpd`1`dWk27Qnq13SY~1|Ei7
zhI|GNhLa3D3<V5@3~UTV3=9lB42)2bVg@#b5(WkaJqFhQ47m&(><o<T49e^bvg`~-
z><n(~3_9!#rR)qw3=F>*g#IuXvojd|WZ)KIU}Pv`5My9s5Ql^!BZCAuHEd>JW?*Ar
zV6dMoz$;r{&d4BCy^W#v07JDED<~2qS+_AX>Vjec5eH1*IFMstXJBBkWZ+=1V&G@6
zW{_a8VbEf*WiV#2W3Xdz00)~L#AtZ1*~5d)o&gqY2H?PAW{_Y|XQ&5-77K$GgD5y)
zSQ!`@T9F(Lbu;5c24)5h1_p*{Izm!A8Dy9kw0ANnF*5k+>}1ejWUyk<J;qQAP2Q}M
ztf1s=FUiVcWW^@Q%4)QOq0J1Ew%NdG8=Tf8*+kj5G4#|+vItE8r$#%Z)Mx}r$86y6
zfM^nfu_sBg2u%g+;DPG^rBh~b7=<y2GB7Z>GH@`sG4M0EGl(;IGDtIcF(@;5GiWjR
zFc>iSGFUSBF}O1LGXyXMFw}=L1TsW11TiEtgfOHrgfrwaL@-n`L^3onL@{(SL^Jd-
z#4t={NCF3L3^@L#!2@?1JaDJM1GgQXChNh$%)+3|Py|kitPBPW#^6N9#$d^y#W0;=
z1_OH}LoR~`R1lQLv>90bGeluYW1s}a$iVQEf%^}GDmaC4FfcL9WME)mVwlA+n}LCW
TkAab44g({@+-L^IVupDD_mBqb

diff --git a/WEB-INF/classes/dao/CommandeDAO.class b/WEB-INF/classes/dao/CommandeDAO.class
index 63a4a0686cf2de0a30e4ab095ec70bf6c675117c..a793b6d4b42dfc3387b39dcac0c8d30fd65e3523 100644
GIT binary patch
delta 3989
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
PE(S(M9!5S!0R~9`Xgy;=

delta 2158
zcmZ2r`9_oL)W2Q(7#J9A8D3B1Iw>fq;i>79Qj)LloS&PUn3s~e@l_;~E(e1bBLize
zW>r-pJA)4+18+)VzJ36RTkPWK&&A-)zzrh&c^Cp10w<?3Td)Q5FoZCKPF~Ecsu#|~
z5W&E~$iSMMlV6<5$q>a5!_E-R$RLoFSeB@tlbDyTA6!{nlA6oI5X%rZ`5UtWTLME8
zJ451R85RlVWQLT<<}7N8X$%?c4C#yv!eCvQ`T7AxnRz9_B}J);xjYP+3|W)wSQbuJ
zXSHXnoSe>@%2+@7EUN@(9RoK9LlYx|#N?0M;%3(D3@wZdJjmYTVrXV?<7Q}Q=wxT;
zU}WF}n_gOynWOKMSzN-y(8bU_*_v&Az!V;asSMK?8CcU(OFUB;8JIORJ-HYR8D{V>
z%w$MmWME5AE%D3G1qsdOVQ^-c!^j|{q3MG#&Ly!V)tZZ;f?*yH!+eGXldagzIT!IT
z$TBQuWU!oEz#%fZk6qJjDG$Rk1`9?8-qecJ<kFJV(1Mi2l2nkXD|i@IGE_4%aHgl0
zKtdkm>eW09YZ%r}e#@>FwVq)kJHrM>1|fu<o+YV8i6!|(JPi5_n;02HU=9L@xqnht
zYI2D+JHr-620l=bfK7GI&n?L3V%W?uLx_QyVLQlyJ0|CH=&-G4*u}%Jd-8k^M{aM1
zBRmWT7>+VBh)!O}Br^Fwha=<m$&Q?|lb>@Lvt44i!p?AcvI4g@<JHMN-1As2axmPO
z{El0T<rX7@_T-P;Vw3;zim+I7Fx;8!#bdyDZ*nz{A>)I|YkAaJ86Gh*Xinb1BLY&w
zZq32)1Qa+BzN8{J{VCWgs57ctGcxda=H;apIp-u67pE4pGdyQxP@Npet;)>K@N#k-
zpDiQD<T-q&+&y<PSTiwLvF&E?j@-`RE6KKv!Ox0al2wv@8$*yJ%T5MuMuu7cZ|dx1
z2xDZBWZmGqi6K&F8$<jyhE&E442%p643inAFeFS~%b#AK&A`aO!O+8y!;s6s#K6zc
z%8<v9&%n$e%TUfxz);A*!r;l^%}~Tp%)rW!!yw9F#gNay#!$t;&fvvR!obcjm4S<)
zl%b4)iJ_c<fkA_T`9DJ<0~<R7BO^P50y{$mJA)28gCPTh{C@@^1}2a=10y>_0s|vM
z6+<-xlPyCH0|NsSLoEX*0|TQk0~-Sy0|P_hZic$Z?F<b*T3Z<Sw=szO3N`xa>|~H<
zWYFEopvuHx#j>2iU^hea<O>3FX02AN+LEk08QPc_!r`7j1M&QF20kRuYlA$`!H~$1
z!jLdoMKG|whoP5&kwJhV5bAwl20y6x6&W0$-uGbOWGG_jV_;=Sg?qK1fq{Vs9B`Qo
zJq!~V7{Q*`Vqp2tpu)h)4)S3;-1`g+IxxSpGqi)`61W%`874AJs%KyXd)tPA1?=s5
zn0K|eF-+Fp#xPxb8^f#}40CreEM#Cn1i%s|hH&j|49j;itYT!aVqMMv_Wn9Xh64<n
ztyn;MC0VvHY~97M4P6%~n0A8F#zk=ONHL&>&qi?CC}1dNNSNF!<eLJDbx`WafCi5&
zLohUWTo`1)@z26g0uK~W{A+`Pzyciq><osGAYfo;SkJ(qjtB!oco^(q*gM%ySlVSD
zx<jRRG3-Yd13MY3i_I7;84@PX6?Qj)q-H&+d-)mEq3*RpaV0wgQzbhCI2H~t9Gom6
zA{T#%fx(IulzQYrIR=u**p@TMO0o$-a~rz`EW5F9V>q1bDai)SXZJzc!WbErGYD9*
zY+{H61wJUNX{={pWME<lWC&qMm^@V^7@XCZ7!nzdF&t-LV&G<Q13Qz2L72e~>`Yb$
zWd=QPs$*j?WZ(y9HFkzD25xW$V*#fz4Nw59fdiP484|wi3_1)9lK&Zm8JI!Yiy0ic
zpwxMS;Upx1G3;evW?-G1E-GMjih;q3MHifvK+XmwC0%eav7CX=ZxchLE~J=%qy$w4
z4TgltD@E<?K;g>3V8Y<Vkk7!xz`-C3b~-bIAcF|l=`0MI&=6(@JCmJ(DFYh9r=f9t
z20cEdcQKqr7b6tMtzz!rVB}yRI*yqc&Vfsq^9&al7#QprxEQW6Ffv>RlQ+TSZ7_Kk
jOx_2R55Xiv_A!_Z5xLLsl!2Fl0hE28F}z@S#UKd)E-Bu3

diff --git a/WEB-INF/classes/dao/IngredientDAODatabase.class b/WEB-INF/classes/dao/IngredientDAODatabase.class
index a2ed957200e05d1bad87951fbb6f9ad621d8cd88..2e267c7694f8dee10b5ea5251bcb79a30a556ef3 100644
GIT binary patch
delta 586
zcmZ3ayjF$l)W2Q(7#J9A8Ln;Qn#j&%sWJIKo62Mx4)Mu1*-hmZGBU6xXC&qpFfy=}
zCFZ1-7BMog<R)h3F*1m0L{AoE7Y+;KVqj$8=3v;!$iP;TpPN{c%4YwA0SrJgTX`7f
zGqf@?up}0x7c(*lNBd+YmL=-vB<7{-2bUCO=A~ORG6-hor5B~9WTxhoxH$UzWEPi9
zPUNs>+sm+@onhbPWgOb92N)S<XiVnkl$iXEqltYF2g6}T2KC9ctdf%_a0)OUoxG6K
zfa^FTgKA1@PHIW&<a$m;mXnMOR+G3a#jQCQPBStvt23%|Fq~y%U}WTAIM2wSHHk}n
zauJsb%Oyqz)yV>!;*;NT@UgKoTw!F8gL2s?KjxBQ<k-X=&ceBifrWvEfq}t(ast2j
z<Z6E1$x3`e+P(}N41Nr<4E_vS3;_%V41o-G3_%P+3=9k=46Gp448jZ|;GnRd9M2~!
zz{QZmkjuctkjKElz|O!_yjVzpk$W{mIs-EUJ3|J;n#r<)R`r|=YZ=xtFfwp5Ffc@d
zlrb<c$nIufjNHz!-bZ^kgJC4I&;}8PO*<G|w=;NeW7x8hfq{XEL6CugfscWifq@~1
zfrBBJL53j@>=H2sCXfLP+ZeVpFfed1h%)S85Mf|sU}o3}*0+mcHv<EM4g)*GK?X*K
nLkz|s>Ij%~3{0K?lc&Js88CT{;Q|8#11NScGF)c3${+~<i%x&-

delta 423
zcmZ3hvPhZh)W2Q(7#J9A8P06vn#j&%r7_unQ<fvRq$o2l-P&{VL3SUm)jSNc3~Lw}
zEWvV<cd^UyC1)h&7BDifl_ln+mKIH(!eP(0nPDqC!<NZ6IkeffF*3~1@R|IUOK$Q5
zF80a#oF(j=I2d*^GN@0kWtE&P&n3XPd-4@d1IE3RS-G@W_A@fLPB!MUlvgOvNG(cL
z$V{<iwB}$q$jHE~&Zy48aF~&Sk&%Pp=;Q`2JH``}_j746o|^oM%a)OSvj%rKi^4tz
zRt6RZ1_o!XEe!nI7{q<Gw=r~SZ)51)!7x#K8$;XV+5CpgCJg42&-050DKhvo=rIH^
zm@ot~I57k<2r)1)m@u${v@-}Zh%kVFGeZ_bHUlFA2ZIhn3PUOb6N4gyFhd$cIs-F<
z1p^mD4nr;j6GI*Y0|Pq)Q~6>u0Y>h%U`cj{42E@+9R;ntnHknIFfcGNY+%^Pz`&rx
tz|OFpfstVcnA`;>_khWLVDbQ%JOn0>FdSoGVBlh4WH`=nlHoLiBmne`Vafmi

diff --git a/WEB-INF/classes/dao/PizzasDAO.class b/WEB-INF/classes/dao/PizzasDAO.class
index 91b0c032c9d8b5010e1c80e45ae4696067a276c3..fd7209becc0578418f1662aafb264d0e6090c4f3 100644
GIT binary patch
delta 1587
zcmeyP+h@sj>ff$?3=9mmi~<|EHgQS`F>o`;2r=+5oML3)Do89z&Irh?s!C*JP@Vjd
zT|_RWBwrsa;GCaZkZ-LSCd9zYaF2&Umf=1lgT>^J?5dMBIE1x?82A|OaWhO|c*Mi-
zn8ARNfjzU>HMgLoQiy>cWV`^#c;U3nyp+l5oa$^*LJWcorzY>=G-i9t@SdIF-Q=&F
z+KeA2D{{?af5XA>8EiY3$mCmG!i--hzvD7x{61NQyMpoO<hk6=jK3#8<ThsfJ6V*+
znDPH)PabtvMn*;k%gGWvy8H@>c_|8+DGIg<jMf~C%#%0r*m-d<vNAI0mKLNWmZT~a
zfP7c1P@Gz#PypiFDyTE6E0kxX7NsiW<>xAZ`PLka?2HWh7+NM@<dI|JVB}<Eu%7&p
zOJ5GzHbw>>&%C_UBIlgM;^Nd|c1E7bjJ%pmjC_-Icx@TEH)rwYap*BdGq5tSF)%Pp
z)7rwozl}lMS9=@7a_wylt9CG~)85A5xr^Zj1A`xgb#t<lkSXJ>$rVDflbOU+>f0H*
z7%~}{83Y*^7|a-W85kH^7&sVO8Dtqc7}Oa$8B7?u8T=S}7-AWE8L}9<8A=%X85$WT
zFtjsFWaws?#4wd%3WE>>1A`sJ1q{LrA`BofjiHL6nt_plgQ1?Gl%b4)i9wbji=mvM
zgn^mCk3oi^j-j4`g`vBifs3Jmp^<@!p^1TkL7Rc)KZ6qk8#@CdJA)xRg91B4GXp!r
zeg+2h{|xdBOb~I9WF{8_Bg1WmI}D5roD2+1$_y+F><kPH_n{%+r?ZV=`7s7r5T(6~
z;VuJ%6^rgp26;vXNtT@qTbLNab+$3AI>w;D4WdE8w2R@v<VX><dYx?y+jlZNWMr7d
zPy#bddl$nKtR`&V$*_x&!HR7;gO()QPKJGq3<nqvTd`_OvTkEIx{Ki{rY4ZGGmH$g
z{$JAF$q>)Tu$+O<Zxch3?ly*uZ49{^8S0rB7#M;X!Wc3cav3f#T!zO@6oVK81H*I%
z4u%;F{0uW0q#0&0Xfn)UFkqO+V9zk0!IxnnLomZ4hH!?(42cX&8FCqxGn6u{V5ntS
z$<WQPieV|kYKBb=YZwkNtYSFDu%6)p!v=;c3>z8lF>D3LUjYL*DE#W-5qO`$grS6i
z5hMtXN+t#l25)dwGBZds@PVU}g~1-q3WvrdGeapuG*n$JLoig`QU+;ol(RBifvW?>
zxDNxz9|lc!1_kB+3>*y1?De3?ZDwaM1kssX{~62~*uk+55<^Z9YX2F87?|Nw5akSv
z49^&zL(&8z2Lm%WO?tqiQDzsz3)Co4Wn!>mm1Nz?pv}lIlYv`zXFVuVSk_>R9Og9)
zpvW;`ux7|)Fk-L((~yj##lXeDz_5dXgJCCwAj2*O1%}-WS`2#_3>fw@7%}W;uwXdA
zV8d{b!HwZCIIumyiPZxh)*kS%uJ>T@XQ*WW1-1b+5Cs|3p@FEtAi+?<P|3i`V1p8f
z3JlEu7>ppH!_J@s2}w|hG&6$8OfCjyhL;Qs3``8K7+y0lFyt`^F??iTWcUOozko>y
z`&$Z_^8-x&0+WBh<UbI}$N(Z4z~YQdU^YY+BEkX^VPpf549MafjG)lrVqj$CX5?k$
HXOIK{0n=Gc

delta 414
zcmeCP{G-ct>ff$?3=9mm48JyVZQ`6foy(Z*F2j9xhI^AQaA`9>nEZ!p9?KmLhR2iV
zaci+WWn?gzypUUD@&j%;#^;m&b5}6FoLs@<%=mip9v)-Hx065c7&E?~tir3##PD&l
zFRv{t!)HbY>&X{*WhSrYl^11X;PK4MOD%HFNh~f-EoNu<#>k*LnUPzSnVsRs<PChb
zjGUX_@#S%-GwfqvVPIikV6fNP!oa_cLEKk+8^dz#Z49e+Fs#$w#^AY&;RXYP-{f23
z>h%T;#tfMZ%nX7I3=DD%><kPHEesqCtqigZZ46or?F<GC9SkN6oeXvi-3&qu3=Ad=
ztRRCKgc(E_K){}%ilLf;k%5CjgQ1k6jDd+kmO+@IoS}q)nZbmCi=ly`k%5V!iGhKE
zoq?&CogtHpftleZ0|NsS!!3r}4B-q6E)3iZ4;dI49)ZaxU=qT924=qildr(!8!-6}
cOnv~95b;k8Ul<q|xEL52zA}7g_{ks%0QPTcQvd(}

diff --git a/WEB-INF/classes/dto/Commande.class b/WEB-INF/classes/dto/Commande.class
index cfcc9a6b601dd06e02f7629dd6209c528fb2cd9a..d49fa6b369cb286580e17608e05111a1d2c0e32b 100644
GIT binary patch
delta 126
zcmZ3$_M46C)W2Q(7#J9A8B{lNMKkiU7N?eYrZ6(FXn1OdO-^QXU}W38gt444P>F$&
zftP`S!H$86fr){EflW(#D}(4p1_lNu1_1^J1}?Cu0s||9B7-0U1A`ct&&D9cAj|*)
SYz(XnYz&MHj10<PJt_eF)({o|

delta 36
scmey(wt$W6)W2Q(7#J9A8I(72MKew=VYFjp-MpExoRO7*fr&v00O9fpy#N3J

diff --git a/WEB-INF/classes/dto/CommandeDetail$1.class b/WEB-INF/classes/dto/CommandeDetail$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..bdb9610e7f79e0926ac1dd537dd8d841c365c2a0
GIT binary patch
literal 527
zcmX^0Z`VEs1_oOO8FmIHMh20Tl6-yV{M_8cyp&Xz)RM%^92G-$1{OvJ;jF~6ME%l|
z%p85kqN2n~pUmPCMh3Q$jLc#c14afBA55Lrj0|ixnR%Hdc8m<-8rT$QhA}d*IOnIN
zaxyS7aPu&*GO%$mFf;J-Ft9W5F)}b~fE4iiWag#%mF6a;7KJ1x<)kt)2>IkEC+37D
z7G;9?P(c=uQy3Y<u-KzwXwAsL6`WsMl$`382{J(#)sK20&oMG^24|+{C6<&Hr7|+8
z`+&sIJZu9tJRq~GD$zMVw;<oz&YF>d-!(5eC%-r|FWon_BqKkCok5b3K?pNA7#Vmx
z^YT)QoO2S3i&Kjk894k>i%UH6i%S?37#JCt85kHC1q4800AevPFt9UlFfcN3GB7Zh
zFfcJNF)%Q2X=!g|;L_U8z_XEofq{vEpMimaje(JYfq|1jfPsO52h8ST5M&TyU|?Wn
n5C*FfVGsq=VhrL83=Av`5)2FsQXtb97{Tfp7#J9&!73yG@Yr`X

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/dto/CommandeDetail.class b/WEB-INF/classes/dto/CommandeDetail.class
index d96f18c44e99303a239e20149f94a463faf551d3..51974b2fa4b0c2f38b7b10b75ca2f548257c5f9f 100644
GIT binary patch
delta 837
zcmey!HI0Ys)W2Q(7#J9A8EhwVP4{4D;AdnINh!(Kch1kvP0UM4bxAEr%*;_S<YM4s
z5aeOtWDsIx5ZCa*RAQ|e#>v3QAi~4I%D^^p;aN@@kZM^*2DOPVRhTrxCNF1<WK^5X
z$Rxq2I$4TIRYsdZmz_a}k%2EOu`E%)v?Mb}-zT%Ugoi<oL4R^IlP8BZg9#6VDTDsx
zHB2S4j0`-Ud3mWt&N+$2#i_-N4BURH#U;L}xk;%-#gi47HS3)jSQr=?7#IY#wlnZ(
z?PlPM)Y{G<u$4i0BLf2i6N4xN0|OreGniyy;A9YB;AaqHU|`^ZXkrj&kYHe7U}WHA
zkYr$DU<d1wV&G<AVCZ6CVPIuoV35+1*3sS0AdPIcmLv<*hI(eO6+#Rw3=9lH4D1Y?
z48jb;43Z2YU~5buMnJ7$V31;vV~_`1EybX~pvb@kvVcK}K^g2sDNrCXurR2=9S9QP
z0Q-=WL6(6L?66`67O-vdAcxhXyKFauYUFkXb*S?o0RVBGIMj6#3~~&TVAp9u%z?X3
z9_~7Mxa;Jhu481-V9<oRz=eSc>~bEhE%gk-+B+Gvm>9wl;mrk>lx5&%kONyI2Ilj?
zt>IxXU@&B0WME`4!e%7cL}M%_Dl%|0D505H28upVbi#}@V=#wDqy;#<^ubm!FtBQE
yVG!N`j$u%$U;{^kD%d<oYG8%BkeR^}tjdbPnt_3Vi-D1Wj{yQ~7#P5j!3O|qonM3i

delta 642
zcmbQn^O1||)W2Q(7#J9A8O$bfO`rJkET<?B11EzRBZJyxLq-)I%`i>|Mg|EU237{P
z$xj(085JknGf6NiOpahul~H5RU}sQgWZ=t6EKAfcEy>K$_sJ|S;bG8Z(3(7x$&*8k
zL7#`gfI(~WE2fgk)y$gp#te)Mj0_A6tXkU{cs4RHFfcLjF)%Q2F)%SOFz_(2Fz_<)
zgIQoj3<3;-3=9m644e!?3``8{VD-Wb+zbp1RSYZ)tPBhcd|J{vy4x8<v?N)!GKhmr
zWCoka$H2_Mz#zcD&LGIZ%OC_c)r6rQtOaT;0|Os}B!d*#J$ww(3^HIx@G;0T$bmKU
zf&9$C!XOWK5J-fBfd%X!F$PAkLy{R-7+4q>7=&RC+0CF3xt&1?>KcguAg&Q*uw`cu
zV-R8x2Rla#q7UvGVYq9A;jR&ex`vTKnL%Z8BCD{yxb{v4RVIdTkXIpwLjq5lftx`F
zY_1sCA3Sh#c^I@Abim=R3o)Y}WQHCVGvpb#859VZVaQ+vj|yXO2<U^&2F2+X2JsEx
cI0D5f8#rK<!N&1`*{o0}aWXQPfR&j70KEq}ivR!s

diff --git a/WEB-INF/classes/dto/PizzaCompo.class b/WEB-INF/classes/dto/PizzaCompo.class
index 812d177e3fdbe0aba470dd63198d8ec2b5dd78a3..2562c799453f10f1ab0ee3799ce2f4e4f8793e9d 100644
GIT binary patch
delta 107
zcmdlbuv%clLDslr1{MYu1_lOUEo~j$?F<rHyBYW*w=)QAWf0uRz`(%7Ak4tPz{kMM
zz`!8Jz|O$IAjBZSAi}`Fpas#!Aj%-d00P1ciVR8&j3A>Jlo^y5m_V$}dTcyQ09|qm
AjQ{`u

delta 106
zcmZ22uuEXWL00J^1{MYu1_lN>Eo~j$?F<rHyBYW*w=)QAWe}WvkyX@I2rMhcz|O$I
xAjBZfAj=@ZAi}`Fpam9}V-RH!V*mj;21N!X21bxc49W~j3``)_W_dOqCIFU@46gtH

diff --git a/WEB-INF/pizzeria.sql b/WEB-INF/pizzeria.sql
new file mode 100644
index 0000000..5a7a403
--- /dev/null
+++ b/WEB-INF/pizzeria.sql
@@ -0,0 +1,100 @@
+Drop table if exists commande_detail cascade;
+Drop table if exists commandes cascade;
+Drop table if exists pizzas_ingredients cascade;
+
+Drop table if exists pizzas cascade;
+Drop table if exists ingredients cascade;
+
+CREATE TABLE ingredients(
+    id int primary key,
+    name text,
+    price double precision 
+    );
+
+
+CREATE TABLE pizzas(
+    nom text primary key,
+    pate text,
+    prixBase double precision    
+    );
+
+CREATE TABLE pizzas_ingredients(
+    nom text,
+    id int,
+    constraint fk_pizza foreign key (nom) references pizzas(nom) ,
+    constraint fk_ingredient foreign key (id) references ingredients(id) ,
+    primary key (nom,id)   
+    );
+
+
+
+CREATE TABLE commandes(
+    id int primary key,
+    nom text,
+    date date 
+    );
+
+
+
+CREATE table commande_detail(
+    id int,
+    nom text,
+    constraint fk_commande foreign key (id) references commandes(id) on delete cascade,
+    constraint fk_pizza foreign key (nom) references pizzas(nom),
+    primary key (id,nom)
+    );
+
+/* Insertion des données */
+
+insert into ingredients values (1,'pomme de terre',1);
+insert into ingredients values (3,'chorizo',2);
+insert into ingredients values (4,'lardons',2);
+insert into ingredients values (5,'aubergines',1);
+insert into ingredients values (6,'champignons',1);
+insert into ingredients values (10,'fromage',3);
+insert into ingredients values (7,'sauce tomate',0.5);
+insert into ingredients values (8,'chevre',1.25);
+insert into ingredients values (9,'mozzarella',0.75);
+insert into ingredients values (2,'crème',2);
+
+
+insert into pizzas values ('3fromages','classique',3.25);
+insert into pizzas values ('4fromages','classique',3.75);
+insert into pizzas values ('5fromages','fine',10);
+insert into pizzas values ('6fromages','fine',10);
+
+
+insert into pizzas_ingredients values ('3fromages',10);
+insert into pizzas_ingredients values ('3fromages',7);
+insert into pizzas_ingredients values ('3fromages',8);
+insert into pizzas_ingredients values ('3fromages',9);
+insert into pizzas_ingredients values ('6fromages',1);
+insert into pizzas_ingredients values ('6fromages',2);
+insert into pizzas_ingredients values ('6fromages',3);
+insert into pizzas_ingredients values ('6fromages',8);
+insert into pizzas_ingredients values ('4fromages',9);
+insert into pizzas_ingredients values ('4fromages',8);
+insert into pizzas_ingredients values ('4fromages',7);
+insert into pizzas_ingredients values ('4fromages',10);
+
+
+insert into commandes values (1,'jean machin','2024-04-01');
+insert into commandes values (2,'jean truc','2024-04-01');
+insert into commandes values (3,'jean bidule','2024-04-01');
+
+
+insert into commande_detail values (1,'3fromages');
+insert into commande_detail values (1,'4fromages');
+insert into commande_detail values (2,'3fromages');
+insert into commande_detail values (2,'4fromages');
+insert into commande_detail values (2,'6fromages');
+insert into commande_detail values (3,'3fromages');
+
+
+
+
+
+
+
+
+
diff --git a/WEB-INF/src/controleurs/CommandeRestAPI.java b/WEB-INF/src/controleurs/CommandeRestAPI.java
index e4878b6..3876a07 100644
--- a/WEB-INF/src/controleurs/CommandeRestAPI.java
+++ b/WEB-INF/src/controleurs/CommandeRestAPI.java
@@ -28,26 +28,27 @@ public class CommandeRestAPI extends HttpServlet{
             // si /commandes/{id}/prixtotal alors on renvoie le prix total de la commande {id}
             if (pathParts.length > 2 && pathParts[2].equals("prixfinal")) {
                 int id = Integer.parseInt(pathParts[1]);
-                Commande commande = commandeDAO.findById(id);
-                if (commande == null) {
+    
+                if (commandeDAO.findById(id) == null) {
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 } else {
                     out.print(commandeDAO.totalPrice(id));
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                 }
             }
             // si /commandes/{id} alors on renvoie la commande {id} en JSON
             else if (pathParts.length > 1) {
                 int id = Integer.parseInt(pathParts[1]);
-                Commande commande = commandeDAO.findById(id);
-                if (commande == null) {
+                if (commandeDAO.findById(id) == null) {
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 } else {
                     ObjectMapper mapper = new ObjectMapper();
-                    out.print(mapper.writeValueAsString(commande));
+                    out.print(mapper.writeValueAsString(commandeDAO.findById(id)));
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                 }
             }
         }
-        // si /commandes alors on renvoie la liste des commandes en JSON 
+        // si /commandes alors on renvoie toutes les commandes en JSON
         else {
             ObjectMapper mapper = new ObjectMapper();
             out.println(mapper.writeValueAsString(commandeDAO.findAll()));
@@ -59,28 +60,100 @@ public class CommandeRestAPI extends HttpServlet{
         PrintWriter out = response.getWriter();
         ObjectMapper mapper = new ObjectMapper();
         CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class);
-        commandeDAO.save(commande);
-        out.println(mapper.writeValueAsString(commande));
+        // si la commande existe déjà, on renvoie une erreur  conflict
+        if (commandeDAO.findById(commande.getId()) != null) {
+            response.sendError(HttpServletResponse.SC_CONFLICT);
+            
+        }else{
+            // sinon on l'ajoute à la base de données
+            commandeDAO.save(commande);
+            out.println(mapper.writeValueAsString(commande));
+            response.setStatus(HttpServletResponse.SC_CREATED);
+        }
     }
 
     public void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         response.setContentType("application/json; charset=UTF-8");
         String pathInfo = request.getPathInfo();
         PrintWriter out = response.getWriter();
-
-        // si /commandes/{id}/{pizza} alors on supprime la pizza {pizza} de la commande {id}
+        
         if (pathInfo != null) {
             String[] pathParts = pathInfo.split("/");
+            // si /commandes/{id}/{pizza} alors on supprime la pizza {pizza} de la commande {id}
             if (pathParts.length > 2) {
                 int id = Integer.parseInt(pathParts[1]);
-                String pizza = pathParts[2];
-                commandeDAO.deleteCommandeDetail(id, pizza);
-            }            
-            if (pathParts.length > 1) {
+                // si la commande {id} n'existe pas, on renvoie une erreur 404
+                if (commandeDAO.findById(id) == null) {
+                    response.sendError(HttpServletResponse.SC_NOT_FOUND);
+                }else {
+                    String pizza = pathParts[2];
+                    // si la pizza {pizza} n'existe pas dans la commande {id}, on renvoie une erreur 404
+                    if (commandeDAO.commandeFindPizza(id, pizza)) {
+                        commandeDAO.deleteCommandeDetail(id, pizza);
+                    } else {
+                        response.sendError(HttpServletResponse.SC_NOT_FOUND);
+                    }
+                }
+            }
+            // sinon on supprime la commande {id}
+            else if (pathParts.length > 1) {
+                
                 int id = Integer.parseInt(pathParts[1]);
+                if (commandeDAO.findById(id) == null) {
+                    response.sendError(HttpServletResponse.SC_NOT_FOUND);
+                } else {
                 commandeDAO.deleteCommande(id);
+                }
             }
         }        
     }
     
+    public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        response.setContentType("application/json; charset=UTF-8");
+        PrintWriter out = response.getWriter();
+        ObjectMapper mapper = new ObjectMapper();
+        CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class);
+        if (commandeDAO.findById(commande.getId()) == null) {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        } else {
+            commandeDAO.update(commande);
+            out.println(mapper.writeValueAsString(commande));
+        }
+
+    }
+
+    public void doPatch(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        
+        response.setContentType("application/json; charset=UTF-8");
+        PrintWriter out = response.getWriter();
+        ObjectMapper mapper = new ObjectMapper();
+        CommandeDetail commande = mapper.readValue(request.getReader(), CommandeDetail.class);
+
+        String pathInfo = request.getPathInfo();
+        String[] pathParts = pathInfo.split("/");
+        int id = Integer.parseInt(pathParts[1]);
+        if (commandeDAO.findById(id) == null) {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        } else {
+            commande.setId(id);
+            commandeDAO.commandePatch(id, commande);
+            out.println(mapper.writeValueAsString(commande));
+            response.setStatus(HttpServletResponse.SC_OK);
+        }
+    }
+    @Override
+    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        if (request.getMethod().equals("GET")) {
+            doGet(request, response);
+        } else if (request.getMethod().equals("POST")) {
+            doPost(request, response);
+        } else if (request.getMethod().equals("DELETE")) {
+            doDelete(request, response);
+        } else if (request.getMethod().equals("PUT")) {
+            doPut(request, response);
+        } else if (request.getMethod().equals("PATCH")) {
+            doPatch(request, response);
+        }
+    }
+    
 }
diff --git a/WEB-INF/src/controleurs/IngredientRestAPI.java b/WEB-INF/src/controleurs/IngredientRestAPI.java
index b86f8ad..99c991e 100644
--- a/WEB-INF/src/controleurs/IngredientRestAPI.java
+++ b/WEB-INF/src/controleurs/IngredientRestAPI.java
@@ -37,6 +37,7 @@ public class IngredientRestAPI extends HttpServlet{
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 } else {
                     out.print(ingredient.getName());
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                 }
             }
             // si /ingrédients/{id} alors on renvoie l'ingrédient {id} en JSON
@@ -47,6 +48,7 @@ public class IngredientRestAPI extends HttpServlet{
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 } else {
                     ObjectMapper mapper = new ObjectMapper();
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                     out.print(mapper.writeValueAsString(ingredient));
 
                 }
@@ -92,17 +94,16 @@ public class IngredientRestAPI extends HttpServlet{
                 int id = Integer.parseInt(pathParts[1]);
                 // regarde si l'ingrédient existe
                 if (ingredientDAOList.findById(id) == null) {
-                    //renvoie une erreur 404
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
 
-                    out.println("L'ingrédient n'existe pas");
-                    
+
                 } else {
                     //sinon on le supprime
                     ingredientDAOList.delete(id);
                     //et renvoi un message  is le json de l'ingrédient supprimé
+                    response.setStatus(HttpServletResponse.SC_OK);
                     
-                    out.println("L'ingrédient a bien été supprimé");
+                    out.println("{}");
                                       
                 }
             }
@@ -156,6 +157,8 @@ public class IngredientRestAPI extends HttpServlet{
         }
     }
 
+
+
     // faire une méthode service qui redirige vers les bonnes méthodes en fonction de la méthode de la requête
     public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         if (request.getMethod().equals("GET")) {
@@ -164,7 +167,7 @@ public class IngredientRestAPI extends HttpServlet{
             doPost(request, response);
         } else if (request.getMethod().equals("DELETE")) {
             doDelete(request, response);
-        } else if (request.getMethod().equals("UPDATE")) {
+        } else if (request.getMethod().equals("PUT")) {
             doPut(request, response);
         } else if (request.getMethod().equals("PATCH")) {
             doPatch(request, response);
diff --git a/WEB-INF/src/controleurs/PizzasRestAPI.java b/WEB-INF/src/controleurs/PizzasRestAPI.java
index 96585b9..cb5c37f 100644
--- a/WEB-INF/src/controleurs/PizzasRestAPI.java
+++ b/WEB-INF/src/controleurs/PizzasRestAPI.java
@@ -1,5 +1,6 @@
 package controleurs;
 
+import jakarta.servlet.ServletException;
 import jakarta.servlet.annotation.WebServlet;
 
 import java.io.IOException;
@@ -31,6 +32,7 @@ public class PizzasRestAPI extends HttpServlet{
                 if (pizzasDAO.findByName(nom) != null){
                     PizzaCompo pizza = pizzasDAO.findByName(nom);
                     out.print(pizzasDAO.totalPrice(nom));
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                     
                 } else {
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -42,6 +44,7 @@ public class PizzasRestAPI extends HttpServlet{
                 if (pizzasDAO.findByName(nom) != null){
                     Pizza pizza = pizzasDAO.findByName(nom);
                     out.println(mapper.writeValueAsString(pizza));
+                    response.setStatus(HttpServletResponse.SC_FOUND);
                 } else {
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 }
@@ -58,12 +61,17 @@ public class PizzasRestAPI extends HttpServlet{
         PrintWriter out = response.getWriter();
         ObjectMapper mapper = new ObjectMapper();
         PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class);
-        pizzasDAO.save(pizza);
-        out.println(mapper.writeValueAsString(pizza));
+        if (pizzasDAO.findByName(pizza.getNom()) != null){
+            response.sendError(HttpServletResponse.SC_CONFLICT);
+            
+        }else {
+            pizzasDAO.save(pizza);
+            out.println(mapper.writeValueAsString(pizza));
+            response.setStatus(HttpServletResponse.SC_CREATED);
+        }
+        
 
     }
-
-
     // Supprimez une pizza de la base de données
     public void doDelete(HttpServletRequest request, HttpServletResponse response) throws IOException {
         response.setContentType("application/json; charset=UTF-8");
@@ -76,8 +84,15 @@ public class PizzasRestAPI extends HttpServlet{
                 String nom = pathParts[1];
                 int id = Integer.parseInt(pathParts[2]);
                 if (pizzasDAO.findByName(nom) != null){
+                    // regarde si l'ingrédient existe dans la table pizzas_ingredient
+                    if (!pizzasDAO.findPizzaIngredient(nom, id)) {
+                        response.sendError(HttpServletResponse.SC_NOT_FOUND);
+                    }
+                    else{                    
                     pizzasDAO.deletePizzaIngredient(nom, id);
                     out.println("La relation entre la pizza et l'ingrédient a été supprimée");
+                    response.setStatus(HttpServletResponse.SC_OK);
+                    }
                 } else {
                     response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 }
@@ -96,4 +111,55 @@ public class PizzasRestAPI extends HttpServlet{
        
        
     }
+
+    @Override
+    public void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        response.setContentType("application/json; charset=UTF-8");
+        PrintWriter out = response.getWriter();
+        ObjectMapper mapper = new ObjectMapper();
+        PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class);
+        if (pizzasDAO.findByName(pizza.getNom()) != null){
+            pizzasDAO.update(pizza);
+            out.println(mapper.writeValueAsString(pizza));
+            response.setStatus(HttpServletResponse.SC_OK);
+        } else {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        }
+    }
+
+
+    public void doPatch(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        response.setContentType("application/json; charset=UTF-8");
+        PrintWriter out = response.getWriter();
+        ObjectMapper mapper = new ObjectMapper();
+        PizzaCompo pizza = mapper.readValue(request.getReader(), PizzaCompo.class);
+
+        String pathInfo = request.getPathInfo();
+        String[] pathParts = pathInfo.split("/");
+        String nom = pathParts[1];
+        
+        if( pizzasDAO.findByName(nom) != null){
+            pizzasDAO.patchPizza(nom, pizza);
+            out.println(mapper.writeValueAsString(pizza));
+            response.setStatus(HttpServletResponse.SC_OK);
+        } else {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+        }
+    }
+
+
+    @Override
+    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        if(request.getMethod().equals("PUT")) {
+            doPut(request, response);
+        } else if (request.getMethod().equals("DELETE")) {
+            doDelete(request, response);
+        } else if (request.getMethod().equals("POST")) {
+            doPost(request, response);
+        } else if(request.getMethod().equals("GET")) {
+            doGet(request, response);     
+        } else if (request.getMethod().equals("PATCH")) {
+            doPatch(request, response);
+        }
+    }
 }
diff --git a/WEB-INF/src/dao/CommandeDAO.java b/WEB-INF/src/dao/CommandeDAO.java
index ecdbc2e..c3caa90 100644
--- a/WEB-INF/src/dao/CommandeDAO.java
+++ b/WEB-INF/src/dao/CommandeDAO.java
@@ -19,7 +19,7 @@ public class CommandeDAO {
     }
 
 
-    public Commande findById(int id) {
+    public CommandeDetail findById(int id) {
         try {
             Connection con = ds.getConnection();
             String query = "select * from commandes where id = " + id + ";";
@@ -30,7 +30,7 @@ public class CommandeDAO {
             query = "select * from commande_detail where id = " + id + ";";
             rs = con.createStatement().executeQuery(query);
             while (rs.next()) {
-                String nom = rs.getString("pizza");
+                String nom = rs.getString("nom");
                 PizzaCompo pizza = new PizzasDAO().findByName(nom);
                 commande.addPizza(pizza);
             }
@@ -95,7 +95,7 @@ public class CommandeDAO {
             ResultSet rs = con.createStatement().executeQuery(query);
             
             while (rs.next()) {
-                String nom = rs.getString("pizza");
+                String nom = rs.getString("nom");
                 total += new PizzasDAO().totalPrice(nom);
             }
             con.close();
@@ -110,7 +110,7 @@ public class CommandeDAO {
     public void deleteCommandeDetail(int id, String pizza) {
         try {
             Connection con = ds.getConnection();
-            String query = "delete from commande_detail where id = " + id + " and pizza = '" + pizza + "';";
+            String query = "delete from commande_detail where id = " + id + " and nom = '" + pizza + "';";
             con.createStatement().executeUpdate(query);
             con.close();
         } catch (Exception e) {
@@ -130,4 +130,75 @@ public class CommandeDAO {
             System.out.println(e.getMessage());
         }
     }
-}
+
+    public void update(CommandeDetail commande) {
+        try {
+            Connection con = ds.getConnection();
+            String query = "update commandes set nom = '" + commande.getNom() + "', date = '" + commande.getDate() + "' where id = " + commande.getId() + ";";
+            con.createStatement().executeUpdate(query);
+            query = "delete from commande_detail where id = " + commande.getId() + ";";
+            con.createStatement().executeUpdate(query);
+            for (PizzaCompo pizza : commande.getPizzas()) {
+                query = "insert into commande_detail values (" + commande.getId() + ", '" + pizza.getNom() + "');";
+                con.createStatement().executeUpdate(query);
+            }
+            con.close();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+    }
+
+    public void commandePatch(int id, CommandeDetail commande) {
+        try {
+            Connection con = ds.getConnection();
+            if (commande.getNom() != null) {
+                String query = "update commandes set nom = '" + commande.getNom() + "' where id = " + id + ";";
+                con.createStatement().executeUpdate(query);                
+            }
+            if (commande.getDate() != null) {
+                String query = "update commandes set date = '" + commande.getDate() + "' where id = " + id + ";";
+                con.createStatement().executeUpdate(query);                
+            }
+            con.close();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+        if (!commande.getPizzas().isEmpty()) {
+            try {
+                Connection con = ds.getConnection();
+                String query = "delete from commande_detail where id = " + id + ";";
+                con.createStatement().executeUpdate(query);
+                for (PizzaCompo pizza : commande.getPizzas()) {
+                    query = "insert into commande_detail values (" + id + ", '" + pizza.getNom() + "');";
+                    con.createStatement().executeUpdate(query);
+                }
+                con.close();
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+            
+        }
+    }
+
+    public boolean commandeFindPizza(int id, String nom) {
+        try {
+            Connection con = ds.getConnection();
+            String query = "select * from commande_detail where id = " + id + " and nom = '" + nom + "';";
+            ResultSet rs = con.createStatement().executeQuery(query);
+            if (rs.next()) {
+                con.close();
+                return true;
+            }
+            con.close();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+        return false;
+    }
+
+    public static void main(String[] args) {
+        CommandeDAO commandeDAO = new CommandeDAO();
+        CommandeDetail commande = commandeDAO.findById(1);
+        System.out.println(commande);
+        }
+    }
diff --git a/WEB-INF/src/dao/IngredientDAODatabase.java b/WEB-INF/src/dao/IngredientDAODatabase.java
index 053dc2b..86ab394 100644
--- a/WEB-INF/src/dao/IngredientDAODatabase.java
+++ b/WEB-INF/src/dao/IngredientDAODatabase.java
@@ -75,7 +75,7 @@ public class IngredientDAODatabase {
     public void update(Ingredient ingredient) {
         try {
             Connection con = ds.getConnection();            
-            String query = "update ingredients set name = '" + ingredient.getName() + "', price = " + ingredient.getPrice() + " where id = " + ingredient.getId() + " where id=" + ingredient.getId() + ";";        
+            String query = "update ingredients set name = '" + ingredient.getName() + "', price = " + ingredient.getPrice() + " where id = " + ingredient.getId() +";";        
             con.createStatement().executeUpdate(query);
             con.close();
         } catch (Exception e) {System.out.println(e.getMessage());}
@@ -102,6 +102,13 @@ public class IngredientDAODatabase {
             con.close();
         } catch (Exception e) {System.out.println(e.getMessage());}
     }
+
+
+    public static void main(String[] args) {
+        IngredientDAODatabase ingredientDAOList = new IngredientDAODatabase();
+        ingredientDAOList.update(new Ingredient(0, "tomate", 1.5));
+    }
+
 }
 
 
diff --git a/WEB-INF/src/dao/PizzasDAO.java b/WEB-INF/src/dao/PizzasDAO.java
index 27cf9d0..b315d10 100644
--- a/WEB-INF/src/dao/PizzasDAO.java
+++ b/WEB-INF/src/dao/PizzasDAO.java
@@ -131,11 +131,68 @@ public class PizzasDAO {
         try {
             Connection con = ds.getConnection();
             String query = "update pizzas set pate = '" + pizza.getPate() + "', prixbase = " + pizza.getPrixBase() + " where nom = '" + pizza.getNom() + "';";
+
+            // delete all ingredients de la pizza
+            query = "delete from pizzas_ingredient where nom = '" + pizza.getNom() + "';";
             con.createStatement().executeUpdate(query);
+
+            for (Ingredient ingredient : pizza.getIngredients()) {
+                query = "insert into pizzas_ingredient values ('" + pizza.getNom() + "', " + ingredient.getId() + ");";
+                con.createStatement().executeUpdate(query);
+            }
+            con.createStatement().executeUpdate(query);
+            con.close();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+    }
+    public void patchPizza(String nom ,PizzaCompo pizza){
+        try{
+            Connection con = ds.getConnection();
+            if (pizza.getPate() != null) {
+                String query = "update pizzas set pate = '" + pizza.getPate() + "' where nom = '" + nom + "';";
+                con.createStatement().executeUpdate(query);
+            }
+            if (pizza.getPrixBase() != null) {
+                
+                String query = "update pizzas set prixbase = " + pizza.getPrixBase() + " where nom = '" + nom + "';";
+                con.createStatement().executeUpdate(query);
+            }
+            con.close();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+        if (!pizza.getIngredients().isEmpty()) {
+            try{
+                Connection con = ds.getConnection();
+                String query = "delete from pizzas_ingredient where nom = '" + nom + "';";
+                con.createStatement().executeUpdate(query);
+                for(Ingredient ingredient : pizza.getIngredients()){
+                    query = "insert into pizzas_ingredient values ('" + nom + "', " + ingredient.getId() + ");";
+                    con.createStatement().executeUpdate(query);
+                }
+
+                con.close();
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+            }
+            
+        }
+    }
+    public boolean findPizzaIngredient(String nom, int id) {
+        try {
+            Connection con = ds.getConnection();
+            String query = "select * from pizzas_ingredient where nom = '" + nom + "' and id = " + id + ";";
+            ResultSet rs = con.createStatement().executeQuery(query);
+            if (rs.next()) {
+                con.close();
+                return true;
+            }
             con.close();
         } catch (Exception e) {
             System.out.println(e.getMessage());
         }
+        return false;
     }
 
 }
diff --git a/WEB-INF/src/dto/Commande.java b/WEB-INF/src/dto/Commande.java
index 229f84c..1ec667d 100644
--- a/WEB-INF/src/dto/Commande.java
+++ b/WEB-INF/src/dto/Commande.java
@@ -27,6 +27,10 @@ public class Commande {
     public Date getDate() {
         return date;
     }
+
+    public void setId(int id) {
+        this.id = id;
+    }
     
 
 }
diff --git a/WEB-INF/src/dto/CommandeDetail.java b/WEB-INF/src/dto/CommandeDetail.java
index 8361f71..834f2ee 100644
--- a/WEB-INF/src/dto/CommandeDetail.java
+++ b/WEB-INF/src/dto/CommandeDetail.java
@@ -6,7 +6,9 @@ import java.util.ArrayList;
 
 public class CommandeDetail extends Commande{
        
-    private List<PizzaCompo> pizzas;
+    private List<PizzaCompo> pizzas = new ArrayList<PizzaCompo>() {
+        
+    };
 
     public CommandeDetail() {
         super();
diff --git a/WEB-INF/src/dto/PizzaCompo.java b/WEB-INF/src/dto/PizzaCompo.java
index d97db67..b3bc71c 100644
--- a/WEB-INF/src/dto/PizzaCompo.java
+++ b/WEB-INF/src/dto/PizzaCompo.java
@@ -20,7 +20,7 @@ public class PizzaCompo extends Pizza {
 
     public PizzaCompo(String nom, String pate, Double prixBase) {
         super(nom, pate, prixBase);
-        this.ingredients = new ArrayList<Ingredient>();
+        
     }
     public Double totalPrice() {
         Double total = super.getPrixBase() ;
-- 
GitLab