From bac4d4f0ff01cfaeebd2ce32f3a8d2c8c6b576d0 Mon Sep 17 00:00:00 2001
From: Sacha LEPAGE <lepages@ayou16.iut-infobio.priv.univ-lille1.fr>
Date: Tue, 9 Mar 2021 11:58:10 +0100
Subject: [PATCH] commandes

---
 Commande.md                                   |  38 +
 Pizza.md                                      |  29 +
 Pizza.md~                                     |  29 +
 bin/.gitignore                                | 212 ++++
 bin/.project                                  |  23 +
 .../org.eclipse.core.resources.prefs          |   2 +
 bin/README.md                                 | 984 ++++++++++++++++++
 bin/architecture.svg                          | 409 ++++++++
 bin/pom.xml                                   | 163 +++
 .../java/fr/ulille/iut/pizzaland/ApiV1.class  | Bin 0 -> 1384 bytes
 .../fr/ulille/iut/pizzaland/BDDFactory.class  | Bin 0 -> 5050 bytes
 .../java/fr/ulille/iut/pizzaland/Main.class   | Bin 0 -> 2663 bytes
 .../fr/ulille/iut/pizzaland/beans/.gitkeep    |   0
 .../java/fr/ulille/iut/pizzaland/dao/.gitkeep |   0
 .../iut/pizzaland/dao/UUIDArgument.class      | Bin 0 -> 1839 bytes
 .../pizzaland/dao/UUIDArgumentFactory.class   | Bin 0 -> 1797 bytes
 .../iut/pizzaland/dto/IngredientDto.class     | Bin 0 -> 664 bytes
 .../resources/BDDClearRessource.class         | Bin 0 -> 1375 bytes
 .../resources/IngredientResource.class        | Bin 0 -> 2250 bytes
 bin/src/main/resources/ingredients.json       |  14 +
 bin/src/main/resources/logging.properties     |   4 +
 .../pizzaland/IngredientResourceTest.class    | Bin 0 -> 3410 bytes
 bin/src/test/resources/logging.properties     |   4 +
 bin/target/classes/META-INF/MANIFEST.MF       |   5 +
 .../ulille/iut/pizzaland/beans/Commande.java  | 120 +++
 .../ulille/iut/pizzaland/dao/CommandeDao.java |  99 ++
 .../iut/pizzaland/dto/CommandeCreateDto.java  |  24 +
 .../ulille/iut/pizzaland/dto/CommandeDto.java |  38 +
 .../iut/pizzaland/dto/PizzaCreateDto.java     |   2 -
 .../resources/CommandeRessource.java          | 108 ++
 .../pizzaland/resources/PizzaRessource.java   |  13 +-
 .../iut/pizzaland/CommandeRessourceTest.java  | 193 ++++
 .../iut/pizzaland/IngredientResourceTest.java |  18 +-
 .../iut/pizzaland/PizzaRessourceTest.java     |  22 +-
 target/classes/META-INF/MANIFEST.MF           |   5 +
 .../pizzaland_jdbi/pom.properties             |   7 +
 .../pizzaland_jdbi/pom.xml                    | 163 +++
 .../fr/ulille/iut/pizzaland/ApiV1$1.class     | Bin 0 -> 609 bytes
 .../fr/ulille/iut/pizzaland/ApiV1.class       | Bin 0 -> 3039 bytes
 .../fr/ulille/iut/pizzaland/BDDFactory.class  | Bin 0 -> 4503 bytes
 .../fr/ulille/iut/pizzaland/Main.class        | Bin 0 -> 2368 bytes
 .../fr/ulille/iut/pizzaland/beans/.gitkeep    |   0
 .../ulille/iut/pizzaland/beans/Commande.class | Bin 0 -> 4384 bytes
 .../iut/pizzaland/beans/Ingredient.class      | Bin 0 -> 3482 bytes
 .../fr/ulille/iut/pizzaland/beans/Pizza.class | Bin 0 -> 4171 bytes
 .../fr/ulille/iut/pizzaland/dao/.gitkeep      |   0
 .../iut/pizzaland/dao/CommandeDao.class       | Bin 0 -> 4937 bytes
 .../iut/pizzaland/dao/IngredientDao.class     | Bin 0 -> 1504 bytes
 .../ulille/iut/pizzaland/dao/PizzaDao.class   | Bin 0 -> 4816 bytes
 .../iut/pizzaland/dao/UUIDArgument.class      | Bin 0 -> 947 bytes
 .../pizzaland/dao/UUIDArgumentFactory.class   | Bin 0 -> 2057 bytes
 .../iut/pizzaland/dto/CommandeCreateDto.class | Bin 0 -> 774 bytes
 .../iut/pizzaland/dto/CommandeDto.class       | Bin 0 -> 1540 bytes
 .../pizzaland/dto/IngredientCreateDto.class   | Bin 0 -> 588 bytes
 .../iut/pizzaland/dto/IngredientDto.class     | Bin 0 -> 812 bytes
 .../iut/pizzaland/dto/PizzaCreateDto.class    | Bin 0 -> 573 bytes
 .../ulille/iut/pizzaland/dto/PizzaDto.class   | Bin 0 -> 1380 bytes
 .../resources/BDDClearRessource.class         | Bin 0 -> 647 bytes
 .../resources/CommandeRessource.class         | Bin 0 -> 6342 bytes
 .../resources/IngredientResource.class        | Bin 0 -> 6739 bytes
 .../pizzaland/resources/PizzaRessource.class  | Bin 0 -> 6238 bytes
 target/classes/ingredients.json               |  14 +
 target/classes/logging.properties             |   4 +
 .../compile/default-compile/createdFiles.lst  |   0
 .../compile/default-compile/inputFiles.lst    |  20 +
 .../default-testCompile/createdFiles.lst      |   0
 .../default-testCompile/inputFiles.lst        |   2 +
 ...le.iut.pizzaland.CommandeRessourceTest.xml |  75 ++
 ...e.iut.pizzaland.IngredientResourceTest.xml |  75 ++
 ...lille.iut.pizzaland.PizzaRessourceTest.xml |  75 ++
 ...le.iut.pizzaland.CommandeRessourceTest.txt |   4 +
 ...e.iut.pizzaland.IngredientResourceTest.txt |   4 +
 ...lille.iut.pizzaland.PizzaRessourceTest.txt |   4 +
 .../pizzaland/CommandeRessourceTest$1.class   | Bin 0 -> 768 bytes
 .../iut/pizzaland/CommandeRessourceTest.class | Bin 0 -> 8040 bytes
 .../pizzaland/IngredientResourceTest$1.class  | Bin 0 -> 776 bytes
 .../pizzaland/IngredientResourceTest.class    | Bin 0 -> 7582 bytes
 .../iut/pizzaland/PizzaRessourceTest$1.class  | Bin 0 -> 752 bytes
 .../iut/pizzaland/PizzaRessourceTest.class    | Bin 0 -> 7282 bytes
 target/test-classes/logging.properties        |   4 +
 80 files changed, 2978 insertions(+), 31 deletions(-)
 create mode 100644 Commande.md
 create mode 100644 Pizza.md
 create mode 100644 Pizza.md~
 create mode 100644 bin/.gitignore
 create mode 100644 bin/.project
 create mode 100644 bin/.settings/org.eclipse.core.resources.prefs
 create mode 100644 bin/README.md
 create mode 100644 bin/architecture.svg
 create mode 100644 bin/pom.xml
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/ApiV1.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/BDDFactory.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/Main.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/beans/.gitkeep
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/dao/.gitkeep
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgument.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/dto/IngredientDto.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class
 create mode 100644 bin/src/main/java/fr/ulille/iut/pizzaland/resources/IngredientResource.class
 create mode 100644 bin/src/main/resources/ingredients.json
 create mode 100644 bin/src/main/resources/logging.properties
 create mode 100644 bin/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.class
 create mode 100644 bin/src/test/resources/logging.properties
 create mode 100644 bin/target/classes/META-INF/MANIFEST.MF
 create mode 100644 src/main/java/fr/ulille/iut/pizzaland/beans/Commande.java
 create mode 100644 src/main/java/fr/ulille/iut/pizzaland/dao/CommandeDao.java
 create mode 100644 src/main/java/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.java
 create mode 100644 src/main/java/fr/ulille/iut/pizzaland/dto/CommandeDto.java
 create mode 100644 src/main/java/fr/ulille/iut/pizzaland/resources/CommandeRessource.java
 create mode 100644 src/test/java/fr/ulille/iut/pizzaland/CommandeRessourceTest.java
 create mode 100644 target/classes/META-INF/MANIFEST.MF
 create mode 100644 target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.properties
 create mode 100644 target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.xml
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/ApiV1$1.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/ApiV1.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/BDDFactory.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/Main.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/beans/.gitkeep
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/beans/Commande.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/beans/Ingredient.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/beans/Pizza.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/.gitkeep
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/CommandeDao.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/IngredientDao.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/PizzaDao.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgument.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/CommandeDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/IngredientCreateDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/IngredientDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/dto/PizzaDto.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/resources/CommandeRessource.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/resources/IngredientResource.class
 create mode 100644 target/classes/fr/ulille/iut/pizzaland/resources/PizzaRessource.class
 create mode 100644 target/classes/ingredients.json
 create mode 100644 target/classes/logging.properties
 create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
 create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
 create mode 100644 target/surefire-reports/TEST-fr.ulille.iut.pizzaland.CommandeRessourceTest.xml
 create mode 100644 target/surefire-reports/TEST-fr.ulille.iut.pizzaland.IngredientResourceTest.xml
 create mode 100644 target/surefire-reports/TEST-fr.ulille.iut.pizzaland.PizzaRessourceTest.xml
 create mode 100644 target/surefire-reports/fr.ulille.iut.pizzaland.CommandeRessourceTest.txt
 create mode 100644 target/surefire-reports/fr.ulille.iut.pizzaland.IngredientResourceTest.txt
 create mode 100644 target/surefire-reports/fr.ulille.iut.pizzaland.PizzaRessourceTest.txt
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest$1.class
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest.class
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest$1.class
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest.class
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest$1.class
 create mode 100644 target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest.class
 create mode 100644 target/test-classes/logging.properties

diff --git a/Commande.md b/Commande.md
new file mode 100644
index 0000000..2ec1d58
--- /dev/null
+++ b/Commande.md
@@ -0,0 +1,38 @@
+## Développement d'une ressource *pizza*
+
+### API et représentation des données
+
+| URI            	   | Opération   | MIME 														| Requête 		    | Réponse                       |
+| :--------------	   | :---------- | :---------------------------------------------               | :--               | :---------------------------- | 
+| /commande      	   | GET         | <-application/json<br><-application/xml                      |                   | liste des commandes (C2)      |
+| /commande/{id} 	   | GET         | <-application/json<br><-application/xml                      |                   | une commande ou 404           |
+| /commande/{id}/name  | GET         | <-text/plain                                                 |                   | le nom de l'acheteur ou 404   | 
+| /commande/{id}/pizzas| GET         | <-text/plain                                                 |                   | la liste des pizas ou 404     |
+| /commande            | POST        | <-/->application/json<br>->application/x-www-form-urlencoded | Commande(C2)      | Nouvelle commande(C2)<br>409 si la commande existe déjà (même nom)   |
+| /commande/{id}       | DELETE      |                                                              |                   |                               |
+
+
+Une commande comporte uniquement une liste des pizzas, un identifiant, un nom et un prénom. Sa
+représentation JSON (C2) prendra donc la forme suivante :
+
+    {
+      "id": "f38806a8-7c85-49ef-980c-149dcd81d450",
+      "nom": "Jean",
+	  "prénom":"Paul"
+    [{[{"id":"f38806a8-7c85-49ef-980c-149dcd81d200", "nom":"Saumon"}],
+		"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "Norvegienne"}],
+    }
+
+Lors de la création, l'identifiant n'est pas connu car il sera fourni
+par le JavaBean qui représente une commande. Aussi on aura une
+représentation JSON (C1) qui comporte uniquement le nom et le prénom et la liste des pizzas :
+
+    {
+      "nom": "Jean",
+	  "prénom":"Paul"
+    [{[{"id":"f38806a8-7c85-49ef-980c-149dcd81d200", "nom":"Saumon"}],
+		"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "Norvegienne"}],
+    }
+
diff --git a/Pizza.md b/Pizza.md
new file mode 100644
index 0000000..937c190
--- /dev/null
+++ b/Pizza.md
@@ -0,0 +1,29 @@
+		  | Réponse                       |
+| :--------------| :---------- | :---------------------------------------------               | :--               | :---------------------------- | 
+| /pizza         | GET         | <-application/json<br><-application/xml                      |                   | liste des pizzas (P2)         |
+| /pizza/{id}    | GET         | <-application/json<br><-application/xml                      |                   | une pizza (P2) ou 404         |
+| /pizz/{id}/name| GET         | <-text/plain                                                 |                   | le nom de le pizza ou 404     | 
+| /pizz/{id}/name| GET         | <-text/plain                                                 |                   | la liste d'ingrédients ou 404 |
+| /pizza         | POST        | <-/->application/json<br>->application/x-www-form-urlencoded | Pizza(P1)         | Nouvelle pizza(P2)<br>409 si la pizza existe déjà (même nom) |
+| /pizza/{id}    | DELETE      |                                                              |                   |                               |
+
+
+Une pizza comporte uniquement une liste d'ingrédients, un identifiant et un nom. Sa
+représentation JSON (P2) prendra donc la forme suivante :
+
+    {
+    "[{"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "Saumon"}],
+      "id": "f38806a8-7c85-49ef-980c-149dcd81d450",
+      "name": "Norvegienne"
+    }
+
+Lors de la création, l'identifiant n'est pas connu car il sera fourni
+par le JavaBean qui représente un ingrédient. Aussi on aura une
+représentation JSON (I1) qui comporte uniquement le nom et la liste des ingrédients :
+
+    { 
+    "[{"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "Saumon"}],
+    "name": "Norveginne" 
+    }
diff --git a/Pizza.md~ b/Pizza.md~
new file mode 100644
index 0000000..05f5960
--- /dev/null
+++ b/Pizza.md~
@@ -0,0 +1,29 @@
+		  | Réponse                       |
+| :--------------| :---------- | :---------------------------------------------               | :--               | :---------------------------- | 
+| /pizza         | GET         | <-application/json<br><-application/xml                      |                   | liste des pizzas (P2)         |
+| /pizza/{id}    | GET         | <-application/json<br><-application/xml                      |                   | une pizza (P2) ou 404         |
+| /pizz/{id}/name| GET         | <-text/plain                                                 |                   | le nom de le pizza ou 404     | 
+| /pizz/{id}/name| GET         | <-text/plain                                                 |                   | la liste d'ingrédients ou 404 |
+| /pizza         | POST        | <-/->application/json<br>->application/x-www-form-urlencoded | Pizza(P1)         | Nouvelle pizza(P2)<br>409 si la pizza existe déjà (même nom) |
+| /pizza/{id}    | DELETE      |                                                              |                   |                               |
+
+
+Une pizza comporte uniquement une liste d'ingrédients, un identifiant et un nom. Sa
+représentation JSON (P2) prendra donc la forme suivante :
+
+    {
+    "[{"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "mozzarella"}],
+      "id": "f38806a8-7c85-49ef-980c-149dcd81d450",
+      "name": "Reine"
+    }
+
+Lors de la création, l'identifiant n'est pas connu car il sera fourni
+par le JavaBean qui représente un ingrédient. Aussi on aura une
+représentation JSON (I1) qui comporte uniquement le nom et la liste des ingrédients :
+
+    { 
+    "[{"id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "mozzarella"}],
+    "name": "Reine" 
+    }
diff --git a/bin/.gitignore b/bin/.gitignore
new file mode 100644
index 0000000..67516d3
--- /dev/null
+++ b/bin/.gitignore
@@ -0,0 +1,212 @@
+
+# Created by https://www.gitignore.io/api/git,java,emacs,maven,java-web,visualstudiocode
+# Edit at https://www.gitignore.io/?templates=git,java,emacs,maven,java-web,visualstudiocode
+
+### Emacs ###
+# -*- mode: gitignore; -*-
+*~
+\#*\#
+/.emacs.desktop
+/.emacs.desktop.lock
+*.elc
+auto-save-list
+tramp
+.\#*
+
+# Org-mode
+.org-id-locations
+*_archive
+
+# flymake-mode
+*_flymake.*
+
+# eshell files
+/eshell/history
+/eshell/lastdir
+
+# elpa packages
+/elpa/
+
+# reftex files
+*.rel
+
+# AUCTeX auto folder
+/auto/
+
+# cask packages
+.cask/
+dist/
+
+# Flycheck
+flycheck_*.el
+
+# server auth directory
+/server/
+
+# projectiles files
+.projectile
+
+# directory configuration
+.dir-locals.el
+
+# network security
+/network-security.data
+
+
+### Git ###
+# Created by git for backups. To disable backups in Git:
+# $ git config --global mergetool.keepBackup false
+*.orig
+
+# Created by git when using merge tools for conflicts
+*.BACKUP.*
+*.BASE.*
+*.LOCAL.*
+*.REMOTE.*
+*_BACKUP_*.txt
+*_BASE_*.txt
+*_LOCAL_*.txt
+*_REMOTE_*.txt
+
+### Java ###
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+### Java-Web ###
+## ignoring target file
+target/
+
+### Maven ###
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+.mvn/wrapper/maven-wrapper.jar
+.flattened-pom.xml
+
+### VisualStudioCode ###
+.vscode/
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+.classpath
+
+### VisualStudioCode Patch ###
+# Ignore all local history of files
+.history
+
+# End of https://www.gitignore.io/api/git,java,emacs,maven,java-web,visualstudiocode
+
+
+# Created by https://www.gitignore.io/api/eclipse,visualstudiocode
+# Edit at https://www.gitignore.io/?templates=eclipse,visualstudiocode
+
+### Eclipse ###
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+### Eclipse Patch ###
+# Eclipse Core
+.project
+
+# JDT-specific (Eclipse Java Development Tools)
+.classpath
+
+# Annotation Processing
+.apt_generated
+
+.sts4-cache/
+
+### VisualStudioCode ###
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+### VisualStudioCode Patch ###
+# Ignore all local history of files
+.history
+.project
+.settings
+.classpath
+# End of https://www.gitignore.io/api/eclipse,visualstudiocode
diff --git a/bin/.project b/bin/.project
new file mode 100644
index 0000000..62cd996
--- /dev/null
+++ b/bin/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>m4102_tp3</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/bin/.settings/org.eclipse.core.resources.prefs b/bin/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/bin/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/bin/README.md b/bin/README.md
new file mode 100644
index 0000000..0c7fa50
--- /dev/null
+++ b/bin/README.md
@@ -0,0 +1,984 @@
+# Projet REST avec Jersey
+
+## Récupération du projet initial
+Pour récupérer le projet vous pouvez utiliser la commande `git clone
+https://gitlab.univ-lille.fr/yvan.peter/m4102_tp3.git`
+
+L'arborescence ci-dessous vous montre le contenu du projet qui vous
+servira de point de départ. Maven est configuré grâce au fichier
+`pom.xml` qui permet entre autre de spécifier les dépendances du
+projet.
+
+La classe `ApiV1` sera le point d'entrée de notre application REST qui
+permet de configurer le chemin de l'URI (`@ApplicationPath`) ainsi que
+les paquetages Java qui contiennent les ressources.
+
+~~~
+.
+├── architecture.svg
+├── pom.xml
+├── README.md
+└── src
+    ├── main
+    │   ├── java
+    │   │   └── fr
+    │   │       └── ulille
+    │   │           └── iut
+    │   │               └── pizzaland
+    │   │                   ├── ApiV1.java
+    │   │                   ├── BDDFactory.java
+    │   │                   ├── beans
+    │   │                   ├── dao
+    │   │                   │   ├── UUIDArgumentFactory.java
+    │   │                   │   └── UUIDArgument.java
+    │   │                   ├── dto
+    │   │                   │   └── IngredientDto.java
+    │   │                   ├── Main.java
+    │   │                   └── resources
+    │   │                       ├── BDDClearRessource.java
+    │   │                       └── IngredientResource.java
+    │   └── resources
+    │       ├── ingredients.json
+    │       └── logging.properties
+    └── test
+        ├── java
+        │   └── fr
+        │       └── ulille
+        │           └── iut
+        │               └── pizzaland
+        │                   └── IngredientResourceTest.java
+        └── resources
+            └── logging.properties
+~~~
+	
+## Développement d'une ressource *ingredients*
+
+### API et représentation des données
+
+Nous pouvons tout d'abord réfléchir à l'API REST que nous allons offrir pour la ressource *ingredients*. Celle-ci devrait répondre aux URI suivantes :
+
+| URI                      | Opération   | MIME                                                         | Requête         | Réponse                                                              |
+| :----------------------- | :---------- | :---------------------------------------------               | :--             | :----------------------------------------------------                |
+| /ingredients             | GET         | <-application/json<br><-application/xml                      |                 | liste des ingrédients (I2)                                           |
+| /ingredients/{id}        | GET         | <-application/json<br><-application/xml                      |                 | un ingrédient (I2) ou 404                                            |
+| /ingredients/{id}/name   | GET         | <-text/plain                                                 |                 | le nom de l'ingrédient ou 404                                        |
+| /ingredients             | POST        | <-/->application/json<br>->application/x-www-form-urlencoded | Ingrédient (I1) | Nouvel ingrédient (I2)<br>409 si l'ingrédient existe déjà (même nom) |
+| /ingredients/{id}        | DELETE      |                                                              |                 |                                                                      |
+
+
+Un ingrédient comporte uniquement un identifiant et un nom. Sa
+représentation JSON (I2) prendra donc la forme suivante :
+
+    {
+      "id": "f38806a8-7c85-49ef-980c-149dcd81d306",
+      "name": "mozzarella"
+    }
+
+Lors de la création, l'identifiant n'est pas connu car il sera fourni
+par le JavaBean qui représente un ingrédient. Aussi on aura une
+représentation JSON (I1) qui comporte uniquement le nom :
+
+    { "name": "mozzarella" }
+
+### Architecture logicielle de la solution
+
+La figure ci-dessous présente l'architecture globale qui devra être
+mise en place pour notre développement :
+
+![Architecture de la solution](architecture.svg "Architecture")
+
+#### JavaBeans
+JavaBean est un standard pour les objets Java permettant de les créer
+et de les initialiser et de les manipuler facilement. Pour cela ces
+objets doivent respecter un ensemble de conventions :
+
+  - la classe est sérialisable
+  - elle fournit au moins un constructeur vide
+  - les attributs privés de la classe sont manipulables via des
+    méthodes publiques **get**_Attribut_ et **set**_Attribut_
+
+Les DTO et la classe `Ingredient`décrits dans la suite sont des
+JavaBeans.
+
+#### Data Transfer Object (DTO)
+Les DTO correspondent à la représentation des données qui sera
+transportée par HTTP. Ce sont des Javabeans qui possèdent les même
+propriétés que la représentation (avec les getter/setter
+correspondants).
+
+Jersey utilisera les *setter* pour initialiser l'objet à partir
+de la représentation JSON ou XML et les *getter* pour créer la
+représentation correspondante.
+
+#### Data Access Object (DAO)
+Le DAO permet de faire le lien entre la représentation objet et le
+contenu de la base de données.
+
+Nous utiliserons la [librairie JDBI](http://jdbi.org/) qui permet
+d'associer une interface à des requêtes SQL.
+La classe `BDDFactory` qui vous est fournie permet un accès facilité
+aux fonctionnalités de JDBI.
+
+#### La représentation des données manipulées par la ressource
+La classe `Ingredient` est un JavaBean qui représente ce qu'est un
+ingrédient. Elle porte des méthodes pour passer de cette
+représentation aux DTO.
+
+Cela permet de découpler l'implémentation de la ressource qui traite
+les requêtes HTTP et la donnée manipulée.
+
+Cette classe pourrait
+porter des comportements liés à cette donnée (par ex. calcul de TVA).
+
+## Mise en œuvre
+
+### Une première implémentation : récupérer les ingrédients existants
+Nous allons réaliser un développement dirigé par les tests. Dans un
+premier temps, nous allons commencer par un test qui récupère une
+liste d'ingrédients vide qui sera matérialisée par un tableau JSON
+vide `[]`.
+
+Le code suivant qui se trouve dans la classe `IngredientResourceTest`
+montre la mise en place de l'environnement (`configure()`) et l'amorce
+d'un premier test.
+
+~~~java
+public class IngredientResourceTest extends JerseyTest {
+      
+  @Override
+  protected Application configure() {
+    return new ApiV1();
+  }
+
+  @Test
+  public void testGetEmptyList() {
+    Response response = target("/ingredients").request().get();
+
+    // Vérification de la valeur de retour (200)
+    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+	  
+	// Vérification de la valeur retournée (liste vide)
+	List<IngredientDto> ingredients;
+    ingredients = response.readEntity(new GenericType<List<IngredientDto>>(){});
+
+    assertEquals(0, ingredients.size());
+  }
+~~~
+
+En héritant de JerseyTest, votre classe de test se comporte comme un
+[`Client`
+JAX-RS](https://docs.oracle.com/javaee/7/api/jakarta/ws/rs/client/Client.html). La
+méthode `target()` notamment permet de préparer une requête sur une
+URI particulière.
+
+
+Vous pouvez compiler votre code ainsi que les tests au moyen
+des commandes `mvn compile` et `mvn test-compile`. La compilation du
+code et des tests se fera automatiquement si nécessaire quand vous
+faites un `mvn test`.
+
+Pour pouvoir compiler ce premier test, il faut au minimum fournir le
+DTO `IngredientDto`.
+Pour commencer,  on se contentera de l'implémentation minimale
+suivante :
+
+~~~java
+package fr.ulille.iut.pizzaland.dto;
+
+  public class IngredientDto {
+
+  public IngredientDto() {
+  }
+}
+~~~
+
+Pour réussir, ce premier test, nous allons mettre en place la
+ressource `IngredientResource`.
+
+Une première implémentation de la ressource pourra avoir la forme
+suivante :
+
+~~~java
+@Path("/ingredients")
+public class IngredientResource {
+
+  @Context
+  public UriInfo uriInfo;
+
+  public IngredientResource() {
+  }
+
+  @GET
+  public List<IngredientDto> getAll() {
+
+    return new ArrayList<IngredientDto>();
+  }
+}
+~~~
+
+Avec cette première implémentation, on va pouvoir tester notre
+ressource : 
+
+~~~
+$ mvn test
+	
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+~~~
+
+### Récupérer un ingrédient existant
+Nous allons continuer en ajoutant la possibilité de récupérer un
+ingrédient particulier à partir de son identifiant.
+Pour cela voici un premier test qui permettra de vérifier cela :
+
+~~~java
+import fr.ulille.iut.pizzaland.beans.Ingredient;
+	 
+    @Test
+    public void testGetExistingIngredient() {
+
+        Ingredient ingredient = new Ingredient();
+        ingredient.setName("Chorizo");
+
+        Response response = target("/ingredients").path(ingredient.getId().toString()).request(MediaType.APPLICATION_JSON).get();
+
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        Ingredient result = Ingredient.fromDto(response.readEntity(IngredientDto.class));
+        assertEquals(ingredient, result);
+    }
+  }
+~~~
+
+Vous pourrez vérifier que le test échoue au moyen de la commande `mvn test`
+
+Afin de réussir ce test, nous devons compléter la classe IngredientDto
+avec les getter/setter correspondant aux propriétés de l'object JSON.
+
+~~~java
+public class IngredientDto {
+    private UUID id;
+    private String name;
+
+    public IngredientDto() {
+    }
+
+    public void setId(UUID id) {
+        this.id = id;
+    }
+
+    public UUID getId() {
+        return id;
+    }
+
+    public void setName(String name) {
+      this.name = name;
+    }
+
+    public String getName() {
+      return name;
+    }
+~~~
+
+Du côté de la ressource, on peut fournir une première implémentation :
+
+~~~java
+import jakarta.ws.rs.PathParam;
+import fr.ulille.iut.pizzaland.beans.Ingredient;
+	
+    @GET
+    @Path("{id}")
+    public IngredientDto getOneIngredient(@PathParam("id") UUID id) {
+      Ingredient ingredient = new Ingredient();
+      ingredient.setId(id); // juste pour avoir le même id pour le test
+      ingredient.setName("Chorizo");
+	  
+	  return Ingredient.toDto(ingredient);
+    }
+~~~
+
+Pour cette méthode, nous avons introduit la classe `Ingredient`. Ce
+JavaBean représente un ingrédient manipulé par la ressource.
+Voici une implémentation pour cette classe :
+
+~~~java
+package fr.ulille.iut.pizzaland.beans;
+
+import java.util.UUID;
+
+import fr.ulille.iut.pizzaland.dto.IngredientDto;
+
+public class Ingredient {
+    private UUID id = UUID.randomUUID();
+    private String name;
+
+    public Ingredient() {
+    }
+
+    public Ingredient(String name) {
+        this.name = name;
+    }
+
+    public Ingredient(UUID id, String name) {
+        this.id = id;
+        this.name = name;
+    }
+
+    public void setId(UUID id) {
+        this.id = id;
+    }
+
+    public UUID getId() {
+        return id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public static IngredientDto toDto(Ingredient i) {
+        IngredientDto dto = new IngredientDto();
+        dto.setId(i.getId());
+        dto.setName(i.getName());
+
+        return dto;
+    }
+    
+    public static Ingredient fromDto(IngredientDto dto) {
+        Ingredient ingredient = new Ingredient();
+        ingredient.setId(dto.getId());
+        ingredient.setName(dto.getName());
+
+        return ingredient;
+    }
+
+    @Override
+    public String toString() {
+        return "Ingredient [id=" + id + ", name=" + name + "]";
+    }
+}
+~~~
+
+Les méthodes `toDto()` et `fromDto()` permettrons de faire la conversion entre le Bean `Ingredient` et le DTO qui représente ce qui sera transféré dans la requête/réponse HTTP.
+
+Pour les différents beans que nous allons écrire générez également les méthodes `hashCode()` et `equals()` et `toString()`.
+
+Le test devrait maintenant réussir :
+
+~~~
+$ mvn test
+~~~
+
+## Introduction de la persistence
+Pour aller plus loin et mettre en place la création des ingrédients il
+va falloir introduire la persistence. Pour cela, nous allons utiliser
+la librairie JDBI qui permet d'associer un modèle objet aux tables de
+base de données.
+
+Pour cela nous allons devoir implémenter le DAO (Data Access Object) `IngredientDao` :
+
+~~~java
+package fr.ulille.iut.pizzaland.dao;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.jdbi.v3.sqlobject.config.RegisterBeanMapper;
+import org.jdbi.v3.sqlobject.customizer.Bind;
+import org.jdbi.v3.sqlobject.customizer.BindBean;
+import org.jdbi.v3.sqlobject.statement.SqlQuery;
+import org.jdbi.v3.sqlobject.statement.SqlUpdate;
+
+import fr.ulille.iut.pizzaland.beans.Ingredient;
+
+public interface IngredientDao {
+
+    @SqlUpdate("CREATE TABLE IF NOT EXISTS ingredients (id VARCHAR(128) PRIMARY KEY, name VARCHAR UNIQUE NOT NULL)")
+    void createTable();
+
+    @SqlUpdate("DROP TABLE IF EXISTS ingredients")
+    void dropTable();
+
+    @SqlUpdate("INSERT INTO ingredients (id, name) VALUES (:id, :name)")
+    void insert(@BindBean Ingredient ingredient);
+
+    @SqlUpdate("DELETE FROM ingredients WHERE id = :id")
+    void remove(@Bind("id") UUID id);
+
+    @SqlQuery("SELECT * FROM ingredients WHERE name = :name")
+    @RegisterBeanMapper(Ingredient.class)
+    Ingredient findByName(@Bind("name") String name);
+
+    @SqlQuery("SELECT * FROM ingredients")
+    @RegisterBeanMapper(Ingredient.class)
+    List<Ingredient> getAll();
+
+    @SqlQuery("SELECT * FROM ingredients WHERE id = :id")
+    @RegisterBeanMapper(Ingredient.class)
+    Ingredient findById(@Bind("id") UUID id);
+}
+~~~
+
+JDBI fonctionne par annotations :
+  - Les annotations `sqlUpdate` et `SqlQuery` correspondent à des
+  requêtes SQL en modification ou non.
+  - `@RegisterBeanMapper` permet d'associer une classe à un résultat
+  (les champs de la table sont associés aux propriétés du bean).
+  - `@Bind` permet d'associer un paramètre de méthode à un paramètre nommé dans la requête SQL.
+  
+Reprenons maintenant le code déjà écrit pour aller chercher les
+ingrédients dans une base de données (nous utiliserons `Sqlite`).
+
+### Les tests avec la base de données
+Nous allons utiliser le DAO pour insérer des données dans la table
+afin de réaliser nos tests. Nous utiliserons une base de données de
+tests qui est définie via la classe `BDDFactory`.
+
+Dans la classe `IngredientResourceTest`Les méthodes `setEnvUp` et `tearEnvDown` permettent de créer et
+détruire la base de données entre chaque test.
+
+~~~java
+import fr.ulille.iut.pizzaland.dao.IngredientDao;
+	
+public class IngredientResourceTest extends JerseyTest {
+  private IngredientDao dao;
+	  
+  @Override
+  protected Application configure() {
+     BDDFactory.setJdbiForTests();
+
+     return new ApiV1();
+  }
+	
+  @Before
+  public void setEnvUp() {
+    dao = BDDFactory.buildDao(IngredientDao.class);
+    dao.createTable();
+  }
+
+  @After
+  public void tearEnvDown() throws Exception {
+     dao.dropTable();
+  }
+	
+  @Test
+  public void testGetExistingIngredient() {
+    Ingredient ingredient = new Ingredient();
+    ingredient.setName("Chorizo");
+    dao.insert(ingredient);
+
+    Response response = target("/ingredients").path(ingredient.getId().toString()).request(MediaType.APPLICATION_JSON).get();
+
+    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+    Ingredient result = Ingredient.fromDto(response.readEntity(IngredientDto.class));
+    assertEquals(ingredient, result);
+}
+~~~
+
+### La ressource avec la base de données
+
+~~~java
+@Produces("application/json")
+@Path("/ingredients")
+public class IngredientResource {
+    private static final Logger LOGGER = Logger.getLogger(IngredientResource.class.getName());
+
+    private IngredientDao ingredients;
+
+    @Context
+    public UriInfo uriInfo;
+
+    public IngredientResource() {
+        ingredients = BDDFactory.buildDao(IngredientDao.class);
+        ingredients.createTable();
+    }
+
+    @GET
+    public List<IngredientDto> getAll() {
+        LOGGER.info("IngredientResource:getAll");
+
+        List<IngredientDto> l = ingredients.getAll().stream().map(Ingredient::toDto).collect(Collectors.toList());
+        LOGGER.info(l.toString());
+        return l;
+    }
+
+    @GET
+    @Path("{id}")
+    @Produces({ "application/json", "application/xml" })
+    public IngredientDto getOneIngredient(@PathParam("id") UUID id) {
+        LOGGER.info("getOneIngredient(" + id + ")");
+        try {
+            Ingredient ingredient = ingredients.findById(id);
+            LOGGER.info(ingredient.toString());
+            return Ingredient.toDto(ingredient);
+        } catch (Exception e) {
+            throw new WebApplicationException(Response.Status.NOT_FOUND);
+        }
+    }
+}
+~~~
+
+### Les tests fonctionnent avec la base de données
+Nous pouvons maintenant vérifier que la base fonctionne avec la base
+de données :
+
+~~~
+$ mvn test
+	
+Results :
+
+Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
+~~~
+
+## Complétons maintenant les différents tests
+L'implémentation de la classe devrait fonctionner avec le test suivant
+:
+
+~~~java
+  @Test
+  public void testGetNotExistingIngredient() {
+    Response response = target("/ingredients").path(UUID.randomUUID().toString()).request().get();
+    assertEquals(Response.Status.NOT_FOUND.getStatusCode(),response.getStatus());
+  }
+
+~~~
+
+~~~
+$ mvn test
+	
+Results :
+
+Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
+~~~
+
+### Implementation de la méthode POST
+Il va falloir implémenter la méthode POST pour la création des
+ingrédients. Commençons par les différents tests : création, création
+de deux ingrédients identiques et création d'ingrédient sans nom.
+
+~~~java
+import fr.ulille.iut.pizzaland.dto.IngredientCreateDto;
+
+   @Test
+    public void testCreateIngredient() {
+        IngredientCreateDto ingredientCreateDto = new IngredientCreateDto();
+        ingredientCreateDto.setName("Chorizo");
+
+        Response response = target("/ingredients").request().post(Entity.json(ingredientCreateDto));
+
+        assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
+
+        IngredientDto returnedEntity = response.readEntity(IngredientDto.class);
+
+        assertEquals(target("/ingredients/" + returnedEntity.getId()).getUri(), response.getLocation());
+        assertEquals(returnedEntity.getName(), ingredientCreateDto.getName());
+    }
+
+    @Test
+    public void testCreateSameIngredient() {
+        Ingredient ingredient = new Ingredient();
+        ingredient.setName("Chorizo");
+        dao.insert(ingredient);
+
+        IngredientCreateDto ingredientCreateDto = Ingredient.toCreateDto(ingredient);
+        Response response = target("/ingredients").request().post(Entity.json(ingredientCreateDto));
+
+        assertEquals(Response.Status.CONFLICT.getStatusCode(), response.getStatus());
+    }
+
+    @Test
+    public void testCreateIngredientWithoutName() {
+        IngredientCreateDto ingredientCreateDto = new IngredientCreateDto();
+
+        Response response = target("/ingredients").request().post(Entity.json(ingredientCreateDto));
+
+        assertEquals(Response.Status.NOT_ACCEPTABLE.getStatusCode(), response.getStatus());
+    }
+
+~~~
+
+Nous utiliserons un DTO spécifique `IngredientCreateDto` dans la
+mesure où nous n'aurons que le nom de l'ingrédient pour la création.
+
+La classe [`jakarta.ws.rs.client.Entity<T>`](https://docs.oracle.com/javaee/7/api/jakarta/ws/rs/client/Entity.html) permet de définir le corps de
+la requête POST et le type de données associée (ici `application/json`).
+
+Nous devons également fournir une implémentation de
+`IngredientCreateDto` pour pouvoir compiler notre code :
+
+~~~java
+package fr.ulille.iut.pizzaland.dto;
+	
+public class IngredientCreateDto {
+	private String name;
+		
+	public IngredientCreateDto() {}
+		
+	public void setName(String name) {
+		this.name = name;
+	}
+ 		
+	public String getName() {
+		return name;
+	}
+}
+~~~
+
+Nous pouvons maintenant compiler notre code de test et constater que
+ceux-ci échouent.
+
+~~~
+$ mvn test
+
+Results :
+
+Failed tests:   testCreateSameIngredient(fr.ulille.iut.pizzaland.IngredientResourceTest): expected:<409> but was:<405>
+	testCreateIngredientWithoutName(fr.ulille.iut.pizzaland.IngredientResourceTest): expected:<406> but was:<405>
+	testCreateIngredient(fr.ulille.iut.pizzaland.IngredientResourceTest): expected:<201> but was:<405>
+	
+Tests run: 6, Failures: 3, Errors: 0, Skipped: 0
+~~~
+
+Nous pouvons maintenant implémenter notre méthode POST dans la
+	ressource :
+
+~~~java
+import jakarta.ws.rs.POST;
+import fr.ulille.iut.pizzaland.dto.IngredientCreateDto;
+	
+    @POST
+    public Response createIngredient(IngredientCreateDto ingredientCreateDto) {
+        Ingredient existing = ingredients.findByName(ingredientCreateDto.getName());
+        if (existing != null) {
+            throw new WebApplicationException(Response.Status.CONFLICT);
+        }
+
+        try {
+            Ingredient ingredient = Ingredient.fromIngredientCreateDto(ingredientCreateDto);
+            ingredients.insert(ingredient);
+            IngredientDto ingredientDto = Ingredient.toDto(ingredient);
+
+            URI uri = uriInfo.getAbsolutePathBuilder().path(ingredient.getId().toString()).build();
+
+            return Response.created(uri).entity(ingredientDto).build();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new WebApplicationException(Response.Status.NOT_ACCEPTABLE);
+        }
+
+    }
+~~~
+
+Comme nous vérifions qu'il n'y a pas déjà un ingrédient avec le nom
+fourni, nous devont ajouter une méthode `findbyName` à notre DAO
+
+~~~java
+    @SqlQuery("SELECT * FROM ingredients WHERE name = :name")
+    @RegisterBeanMapper(Ingredient.class)
+    Ingredient findByName(@Bind("name") String name);
+~~~
+
+Nous avons également besoin de rajouter les méthodes de conversion
+	pour ce DTO à notre bean `Ingredient` :
+
+~~~java
+import fr.ulille.iut.pizzaland.dto.IngredientCreateDto;
+		
+  public static IngredientCreateDto toCreateDto(Ingredient ingredient) {
+    IngredientCreateDto dto = new IngredientCreateDto();
+    dto.setName(ingredient.getName());
+        
+    return dto;
+  }
+	
+  public static Ingredient fromIngredientCreateDto(IngredientCreateDto dto) {
+    Ingredient ingredient = new Ingredient();
+    ingredient.setName(dto.getName());
+
+    return ingredient;
+  }
+~~~
+
+Nous pouvons maintenant vérifier nos tests :
+
+~~~
+$ mvn test
+	
+Results :
+	
+Tests run: 6, Failures: 0, Errors: 0, Skipped: 0
+~~~
+
+Vous aurez peut-être un affichage d'exception liée au test de création
+de doublon, toutefois le test est réussi puisqu'il a levé une
+exception qui a été traduite par un code d'erreur HTTP 406.
+
+### Implémentation de la méthode DELETE
+Les tests liés à la méthode DELETE sont les suivants :
+
+~~~java
+   @Test
+   public void testDeleteExistingIngredient() {
+     Ingredient ingredient = new Ingredient();
+     ingredient.setName("Chorizo");
+     dao.insert(ingredient);
+
+     Response response = target("/ingredients/").path(ingredient.getId().toString()).request().delete();
+
+     assertEquals(Response.Status.ACCEPTED.getStatusCode(), response.getStatus());
+
+     Ingredient result = dao.findById(ingredient.getId());
+     assertEquals(result, null);
+  }
+
+  @Test
+  public void testDeleteNotExistingIngredient() {
+    Response response = target("/ingredients").path(UUID.randomUUID().toString()).request().delete();
+    assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+  }
+~~~
+
+Après avoir constaté que ces tests échouent, nous pouvons fournir une
+implémentation pour la méthode DELETE :
+
+~~~java
+import jakarta.ws.rs.DELETE;
+	
+  @DELETE
+  @Path("{id}")
+  public Response deleteIngredient(@PathParam("id") UUID id) {
+    if ( ingredients.findById(id) == null ) {
+      throw new WebApplicationException(Response.Status.NOT_FOUND);
+    }
+
+    ingredients.remove(id);
+
+    return Response.status(Response.Status.ACCEPTED).build();
+  }
+~~~
+
+Nous devons également implémenter la méthode remove dans
+`IngredientDao` :
+
+~~~java
+   @SqlUpdate("DELETE FROM ingredients WHERE id = :id")
+   void remove(@Bind("id") UUID id);
+~~~
+
+Avec cette implémentation, nos tests réussissent.
+
+### Implémentation de la méthode GET pour récupérer le nom de l'ingrédient
+Commençons par les tests correspondant à cette URI (GET
+/ingredients/{id}/name)
+
+~~~java
+   @Test
+   public void testGetIngredientName() {
+     Ingredient ingredient = new Ingredient();
+     ingredient.setName("Chorizo");
+     dao.insert(ingredient);
+
+     Response response = target("ingredients").path(ingredient.getId().toString()).path("name").request().get();
+
+     assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+     assertEquals("Chorizo", response.readEntity(String.class));
+  }
+
+  @Test
+  public void testGetNotExistingIngredientName() {
+    Response response = target("ingredients").path(UUID.randomUUID().toString()).path("name").request().get();
+
+    assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+  }
+~~~
+
+L'implémentation correspondant à ce test est simple :
+
+~~~java
+    @GET
+    @Path("{id}/name")
+    public String getIngredientName(@PathParam("id") UUID id) {
+        Ingredient ingredient = ingredients.findById(id);
+
+        if (ingredient == null) {
+            throw new WebApplicationException(Response.Status.NOT_FOUND);
+        }
+
+        return ingredient.getName();
+    }
+~~~
+
+### Implémentation d'une méthode de création avec des données de formulaire
+La création d'un ingrédient pourrait également se faire via un
+formulaire Web. Dans ce cas, le type de représentation sera
+`application/x-www-form-urlencoded`. 
+
+On peut déjà préparer un test pour cette méthode de création :
+
+~~~java
+   @Test
+    public void testCreateWithForm() {
+        Form form = new Form();
+        form.param("name", "chorizo");
+
+        Entity<Form> formEntity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE);
+        Response response = target("ingredients").request().post(formEntity);
+
+        assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
+        String location = response.getHeaderString("Location");
+        String id = location.substring(location.lastIndexOf('/') + 1);
+        Ingredient result = dao.findById(UUID.fromString(id));
+
+        assertNotNull(result);
+    }
+~~~
+
+On peut maintenant fournir une implémentation pour cette méthode :
+
+~~~java
+  @POST
+  @Consumes("application/x-www-form-urlencoded")
+  public Response createIngredient(@FormParam("name") String name) {
+    Ingredient existing = ingredients.findByName(name);
+    if (existing != null) {
+      throw new WebApplicationException(Response.Status.CONFLICT);
+    }
+
+    try {
+      Ingredient ingredient = new Ingredient();
+      ingredient.setName(name);
+
+      ingredients.insert(ingredient);
+
+      IngredientDto ingredientDto = Ingredient.toDto(ingredient);
+
+      URI uri = uriInfo.getAbsolutePathBuilder().path("" + ingredient.getId()).build();
+
+      return Response.created(uri).entity(ingredientDto).build();
+    } catch (Exception e) {
+        e.printStackTrace();
+        throw new WebApplicationException(Response.Status.NOT_ACCEPTABLE);
+    }
+  }
+~~~
+
+# Créer une base de données de test
+Nous avons maintenant implémenté et testé toutes les méthodes prévues
+par notre API. Si nous voulons tester avec des clients, il serait bien
+d'avoir quelques ingrédients dans la base de données. Pour cela, nous
+allons donner la possibilité de créer des ingrédients au démarrage sur la base
+d'une variable d'environnement : `PIZZAENV`.
+
+Quand cette variable aura la valeur `withdb`, nous allons remplir la
+base au démarrage avec le code suivant :
+
+~~~java
+package fr.ulille.iut.pizzaland;
+
+import org.glassfish.jersey.server.ResourceConfig;
+
+import fr.ulille.iut.pizzaland.beans.Ingredient;
+import fr.ulille.iut.pizzaland.beans.Pizza;
+import fr.ulille.iut.pizzaland.dao.IngredientDao;
+import fr.ulille.iut.pizzaland.dao.PizzaDao;
+import fr.ulille.iut.pizzaland.dto.PizzaCreateDto;
+
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+import java.util.logging.Logger;
+
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.ws.rs.ApplicationPath;
+
+@ApplicationPath("api/v1/")
+public class ApiV1 extends ResourceConfig {
+    private static final Logger LOGGER = Logger.getLogger(ApiV1.class.getName());
+
+    public ApiV1() {
+        packages("fr.ulille.iut.pizzaland");
+        String environment = System.getenv("PIZZAENV");
+
+        if ( environment != null && environment.equals("withdb") ) {
+            LOGGER.info("Loading with database");
+            try {
+                FileReader reader = new FileReader( getClass().getClassLoader().getResource("ingredients.json").getFile() );
+                List<Ingredient> ingredients = JsonbBuilder.create().fromJson(reader, new ArrayList<Ingredient>(){}.getClass().getGenericSuperclass());
+
+                IngredientDao ingredientDao = BDDFactory.buildDao(IngredientDao.class);
+                ingredientDao.dropTable();
+                ingredientDao.createTable();
+                for ( Ingredient ingredient: ingredients) {
+                        ingredientDao.insert(ingredient); 
+                }
+            } catch ( Exception ex ) {
+                throw new IllegalStateException(ex);
+            }
+        } 
+    }
+}
+~~~
+    
+Dans un terminal, nous pouvons maintenant fixer la variable
+d'environnemnet et démarrer notre serveur REST au moyen de la
+commande `mvn exec:java` :
+
+~~~
+$ export PIZZAENV=withdb
+$ mvn exec:java
+~~~	
+Dans un autre terminal, nous pouvons utiliser `curl` pour tester nos
+différentes méthodes :
+
+~~~
+$ curl -i localhost:8080/api/v1/ingredients
+
+HTTP/1.1 200 OK
+Content-Type: application/json
+Content-Length: 760
+
+[{"id":"f38806a8-7c85-49ef-980c-149dcd81d306","name":"mozzarella"},{"id":"d36903e1-0cc0-4bd6-a0ed-e0e9bf7b4037","name":"jambon"},{"id":"bc5b315f-442f-4ee4-96de-486d48f20c2f","name":"champignons"},{"id":"6a04320c-3a4f-4570-96d3-61faf3f898b0","name":"olives"},{"id":"c77deeee-d50d-49d5-9695-c98ec811f762","name":"tomate"},{"id":"c9375542-8142-43f6-b54d-0d63597cf614","name":"merguez"},{"id":"dee27dd6-f9b6-4d03-ac4b-216b5c9c8bd7","name":"lardons"},{"id":"657f8dd4-6bc1-4622-9af7-37d248846a23","name":"fromage"},{"id":"070d8077-a713-49a0-af37-3936b63d5ff2","name":"oeuf"},{"id":"5d9ca5c4-517f-40fd-aac3-5a823d680c1d","name":"poivrons"},{"id":"52f68024-24ec-46c0-8e77-c499dba1e27e","name":"ananas"},{"id":"dfdf6fae-f1b2-45fa-8c39-54e522c1933f","name":"reblochon"}]
+~~~
+
+# Implémentation de la ressource Pizza
+Maintenant que vous avez une ressource `ingrédients` fonctionnelle, vous pouvez passer à l'implémentation de la ressource `Pizzas`. Pour cette ressource, vous devrez d'abord définir l'API dans le fichier `pizzas.md` (URI, méthodes, représentations). Ensuite, vous pourrez développer la ressource avec les tests associés.
+
+Il est fortement recommandé d'adopter la même approche que pour `Ingredient` en développement progressivement les tests puis les fonctionnalitées associées.
+
+## Note sur la base de données
+Une pizza comprend des ingrédients. Pour développer cette ressource,
+vous aurez donc besoin d'un table d'association au niveau de la base
+de données. Cela pourra être géré au niveau du DAO grâce à
+[JDBI](https://jdbi.org/#_default_methods). Cet extrait de code montre
+comment faire :
+
+~~~java
+import org.jdbi.v3.sqlobject.transaction.Transaction;
+	
+  public interface PizzaDao {
+	
+    @SqlUpdate("CREATE TABLE IF NOT EXISTS Pizzas ....")
+    void createPizzaTable();
+
+    @SqlUpdate("CREATE TABLE IF NOT EXISTS PizzaIngredientsAssociation .....")
+    void createAssociationTable();
+
+    @Transaction
+    default void createTableAndIngredientAssociation() {
+      createAssociationTable();
+      createPizzaTable();
+    }
+~~~
+
+Vous écrivez les différentes méthodes annotées avec `@SqlUpdate` ou
+`@SqlQuery`. Vous utilisez ensuite ces méthodes au sein d'une méthode
+ayant le mot clé `default`. C'est cette méthode que vous utiliserez
+dans votre ressource.
diff --git a/bin/architecture.svg b/bin/architecture.svg
new file mode 100644
index 0000000..61b135b
--- /dev/null
+++ b/bin/architecture.svg
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="297mm"
+   height="210mm"
+   viewBox="0 0 297 210"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="architecture.svg">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:stockid="Arrow2Mstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path877"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker1309"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="scale(0.4) rotate(180) translate(10,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1307" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1133"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1131"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1309-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path1307-2" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.0180159"
+     inkscape:cx="482.67561"
+     inkscape:cy="436.14251"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1015"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-87)">
+    <rect
+       style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect815"
+       width="166.28093"
+       height="115.33292"
+       x="74.191422"
+       y="125.01431"
+       ry="9.5569305" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="0.68180948"
+       y="205.90202"
+       id="text819"><tspan
+         sodipodi:role="line"
+         id="tspan817"
+         x="0.68180948"
+         y="205.90202"
+         style="stroke-width:0.26458332">{ &quot;name&quot;: &quot;mozzarella&quot; }</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="1.9142494"
+       y="145.94934"
+       id="text819-3"><tspan
+         sodipodi:role="line"
+         id="tspan817-6"
+         x="1.9142494"
+         y="145.94934"
+         style="stroke-width:0.26458332">{</tspan><tspan
+         sodipodi:role="line"
+         x="1.9142494"
+         y="152.12296"
+         style="stroke-width:0.26458332"
+         id="tspan843"> &quot;id&quot;: 1,</tspan><tspan
+         sodipodi:role="line"
+         x="1.9142494"
+         y="158.29657"
+         style="stroke-width:0.26458332"
+         id="tspan839">  &quot;name&quot;: &quot;mozzarella&quot;</tspan><tspan
+         sodipodi:role="line"
+         x="1.9142494"
+         y="164.47017"
+         style="stroke-width:0.26458332"
+         id="tspan841">}</tspan></text>
+    <g
+       id="g912"
+       transform="translate(-137.34242,94.920052)">
+      <ellipse
+         ry="7.6670794"
+         rx="28.84901"
+         cy="127.93441"
+         cx="244.04703"
+         id="path845"
+         style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <text
+         id="text853"
+         y="129.16666"
+         x="215.79419"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.26458332"
+           y="129.16666"
+           x="215.79419"
+           id="tspan851"
+           sodipodi:role="line">IngredientCreateDto</tspan></text>
+    </g>
+    <g
+       id="g917"
+       transform="translate(-106.72563,21.571782)">
+      <g
+         id="g13293"
+         transform="translate(0,1.596614)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+           x="220.45509"
+           y="160.74463"
+           id="text857"><tspan
+             sodipodi:role="line"
+             id="tspan855"
+             x="220.45509"
+             y="160.74463"
+             style="stroke-width:0.26458332">IngredientResource</tspan></text>
+        <ellipse
+           cx="247.25438"
+           cy="159.51237"
+           rx="28.84901"
+           ry="30.538366"
+           style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="path845-7" />
+      </g>
+    </g>
+    <g
+       id="g922"
+       transform="translate(-23.037538,0.55700684)">
+      <text
+         id="text861"
+         y="183.35602"
+         x="220.51999"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan863"
+           style="stroke-width:0.26458332"
+           y="183.35602"
+           x="220.51999"
+           sodipodi:role="line">IngredientDao</tspan></text>
+      <ellipse
+         cx="239.88861"
+         cy="182.12376"
+         rx="22.611387"
+         ry="7.6670794"
+         id="path845-5"
+         style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       id="g927"
+       transform="translate(-43.829617,-56.398515)">
+      <text
+         id="text869"
+         y="206.7471"
+         x="217.68291"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.26458332"
+           y="206.7471"
+           x="217.68291"
+           id="tspan867"
+           sodipodi:role="line">Ingredient</tspan></text>
+      <ellipse
+         ry="7.6670794"
+         rx="16.373762"
+         cy="205.51485"
+         cx="232.58473"
+         id="path845-3"
+         style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       id="g907"
+       transform="translate(-106.44231,37.666913)">
+      <text
+         id="text849"
+         y="109.80403"
+         x="192.19078"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.26458332"
+           y="109.80403"
+           x="192.19078"
+           id="tspan847"
+           sodipodi:role="line">IngredientDto</tspan></text>
+      <ellipse
+         ry="7.6670794"
+         rx="22.871288"
+         cy="108.57178"
+         cx="211.5594"
+         id="path845-56"
+         style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    </g>
+    <g
+       transform="matrix(0.26458333,0,0,0.26458333,231.86606,-9.438136)"
+       inkscape:label="Calque 1"
+       id="layer1-9">
+      <path
+         d="m 174.72,639.58 c -29.2,0 -52.91,13.35 -52.91,29.79 v 119.12 c 0,16.44 23.71,29.78 52.91,29.78 29.2,0 52.91,-13.34 52.91,-29.78 V 669.37 h -0.04 c 0,-16.44 -23.67,-29.79 -52.87,-29.79 z"
+         style="fill:#ffffff;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round"
+         id="rect3196"
+         inkscape:connector-curvature="0" />
+      <ellipse
+         transform="matrix(1.6639,0,0,1.6225,-131.61,-463.2)"
+         style="fill:#ffffff;stroke:#000000;stroke-width:2.9375;stroke-linecap:round;stroke-linejoin:round"
+         id="path2527"
+         cx="184.11563"
+         cy="698.03149"
+         rx="30.68594"
+         ry="17.716536" />
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1309)"
+       d="M 2.339109,199.8064 117.47524,199.2866"
+       id="path1129"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1309-9)"
+       d="M 2.0517682,166.28965 117.18794,165.76985"
+       id="path1129-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:"
+       d="m 30.928217,152.75495 c 17.153463,-16.11386 50.940591,-9.09653 50.940591,-9.09653"
+       id="path14291"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 46.290469,208.6524 c 6.757426,13.25495 30.148513,13.77475 30.148513,13.77475"
+       id="path14337"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="4.938118"
+       y="198.4975"
+       id="text14341"><tspan
+         sodipodi:role="line"
+         id="tspan14339"
+         x="4.938118"
+         y="198.4975"
+         style="stroke-width:0.26458332">POST</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="6.4756169"
+       y="170.42822"
+       id="text14345"><tspan
+         sodipodi:role="line"
+         id="tspan14343"
+         x="6.4756169"
+         y="170.42822"
+         style="stroke-width:0.26458332">GET</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="122.41336"
+       y="162.8911"
+       id="text14349"><tspan
+         sodipodi:role="line"
+         id="tspan14347"
+         x="122.41336"
+         y="162.8911"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Courier;-inkscape-font-specification:'Courier Bold';stroke-width:0.26458332">/ingredients</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:1.25;font-family:Courier;-inkscape-font-specification:Courier;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+       x="146.99071"
+       y="130.25659"
+       id="text14349-9"><tspan
+         sodipodi:role="line"
+         id="tspan14347-1"
+         x="146.99071"
+         y="130.25659"
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Courier;-inkscape-font-specification:'Courier Bold';stroke-width:0.26458332">/api/v1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 234.43068,177.44555 c 10.39604,-8.31683 35.14282,3.63861 35.14282,3.63861"
+       id="path14369"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g14406"
+       transform="translate(66.702408,-73.292076)">
+      <rect
+         ry="0"
+         y="254.37624"
+         x="202.87109"
+         height="13.774752"
+         width="15.594059"
+         id="rect14375"
+         style="opacity:1;fill:none;fill-opacity:0.92941176;stroke:#1a1a1a;stroke-width:0.46499997;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14379"
+         d="m 203.131,258.79215 h 15.07425"
+         style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path14379-5"
+         d="m 203.131,263.55468 h 15.07425"
+         style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path14379-4"
+         d="m 210.66813,254.54246 v 12.99505"
+         style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833327,2.11666654;stroke-dashoffset:0"
+       d="m 124.75247,142.09901 c 20.53218,-8.31683 54.31931,-0.2599 54.31931,-0.2599"
+       id="path14408"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.5874999,1.5874999;stroke-dashoffset:0"
+       d="m 190.50742,157.43317 c 0.5198,37.16584 -8.83664,49.12128 -17.93317,54.5792 -9.09654,5.45792 -37.94554,10.65595 -37.94554,10.65595"
+       id="path14410"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="csc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833327,1.05833327;stroke-dashoffset:0"
+       d="m 198.82425,155.35396 c 12.47525,7.01733 14.81436,18.97278 14.81436,18.97278"
+       id="path14412"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/bin/pom.xml b/bin/pom.xml
new file mode 100644
index 0000000..727e9e2
--- /dev/null
+++ b/bin/pom.xml
@@ -0,0 +1,163 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>fr.ulille.iut.pizzaland</groupId>
+	<artifactId>pizzaland_jdbi</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0-SNAPSHOT</version>
+	<name>pizzaland_jdbi</name>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.glassfish.jersey</groupId>
+				<artifactId>jersey-bom</artifactId>
+				<version>${jersey.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+			<dependency>
+				<groupId>org.jdbi</groupId>
+				<artifactId>jdbi3-bom</artifactId>
+				<type>pom</type>
+				<version>${jdbi.version}</version>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.glassfish.jersey.containers</groupId>
+			<artifactId>jersey-container-grizzly2-http</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.inject</groupId>
+			<artifactId>jersey-hk2</artifactId>
+		</dependency>
+
+		<!-- uncomment this to get JSON support: -->
+		<dependency>
+			<groupId>org.glassfish.jersey.media</groupId>
+			<artifactId>jersey-media-json-binding</artifactId>
+		</dependency>
+		<!-- -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
+			<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+			<version>${jersey.version}</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
+		<dependency>
+			<groupId>org.xerial</groupId>
+			<artifactId>sqlite-jdbc</artifactId>
+			<version>${sqlite-jdbc.version}</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.jdbi/jdbi3-core -->
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-sqlobject</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-sqlite</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-testing</artifactId>
+			<version>3.12.0</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.xml.bind</groupId>
+			<artifactId>jakarta.xml.bind-api</artifactId>
+			<version>3.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<version>3.0.0</version>
+			<scope>runtime</scope>
+		</dependency>
+		<!-- dependency>
+			<groupId></groupId>
+			<artifactId></artifactId>
+			<version></version>
+		</dependency-->
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.8.1</version>
+				<inherited>true</inherited>
+				<configuration>
+					<release>11</release>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>exec-maven-plugin</artifactId>
+				<version>1.2.1</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>java</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<mainClass>fr.ulille.iut.pizzaland.Main</mainClass>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-shade-plugin</artifactId>
+				<version>${shade.version}</version>
+				<executions>
+					<execution>
+						<phase>package</phase>
+						<goals>
+							<goal>shade</goal>
+						</goals>
+						<configuration>
+							<transformers>
+								<transformer
+									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+									<mainClass>fr.ulille.iut.pizzaland.Main</mainClass>
+								</transformer>
+								<transformer
+									implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+							</transformers>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
+	<properties>
+		<jersey.version>3.0.0</jersey.version>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<shade.version>3.2.4</shade.version>
+		<lombok.version>1.18.16</lombok.version>
+		<jdbi.version>3.16.0</jdbi.version>
+		<sqlite-jdbc.version>3.34.0</sqlite-jdbc.version>
+		<jaxb.version>2.4.0-b180830.0359</jaxb.version>
+	</properties>
+</project>
diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/ApiV1.class b/bin/src/main/java/fr/ulille/iut/pizzaland/ApiV1.class
new file mode 100644
index 0000000000000000000000000000000000000000..8b65d451c34a08c3efd82cf634c55d77b62900a1
GIT binary patch
literal 1384
zcmX^0Z`VEs1_pBm1$G7|Mh5NTqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5oeaC{#Fhh0*7DfgEu)3VYymWp4q^#8B5=I6#AAfgu*C0j)4j-TV^z_ssYeoh(
zo6Nk-5<5l)W)00SMg|t={FGF725v?MeuRG4qN4mF4hCLEX4lZXqSWI2oU+suh2;F)
zg3O%6lFa-(g@U5|q@2{;Vk-qM&X9~$g_6pGR0WU$dLRerK^&lvoS2uFU!stdssJ-Y
zPr<W9A+uN^GcP5xC^fkxr&6IPH7&I$H7_|eMIo&yKUbkBwXig^C^bbvFF7Z%xL6@A
zGbgnet1ZDLMVWc&w6?_=><VgoB_%aEClTb!g2d$P#Pn1JrL-bFNDS*`mX_$jV^~Qc
zB|o)T0Thn8i6zMy3MCn-3aJ$ZsmUd&DGG4i#YM?_pwyxVjs#q0L4q+ew;;c$L?OQj
zTiBr}0UK6Yl9_`gkkJ%oCl-|?VpZl?P>_?E3{E!zi6t3W)F_nXD<p!`5Eo}qYH@yP
zQF5wteqLH8HU}arhNNl&CgN1Y#R-mE8*m=7BVY<BmFK3GWaPsGy;uX105w4gx->5(
zH7zp_l!)_-z;Oi55@4gbxEQz?_<0!E83Y&^L^XUsp{ftcC;AWrtU(!(-zPIK)vq)+
zDYYmhF)1gNkwM5OKRGccEU_pP#D@y9lw@QUGcxG<kWf5WGcs@mg9Ftq6J#(K*j3<^
z!pI;URGL?knVagFSC(0vnUs_22+FhI*eYgZ5cENdJ!?h=*0RK$(o{wUQO~^O{Ji4K
z;*!+75|7N(qQs))j7oL}8BoCkE^gQv<QN(FP-B#lfyXzqxHvN}J*2WAwU|MXfsuik
zfq{XML5hKufep-JWMF6DU|?k6WME)0VPIxpWME+6+ReZfDa5m#fp0$p0|OI-AOiyf
q8(4;sL5P8Yfd|ayVi0B!VPIfjW)KCd5@V2J00DWhY9<D023Y{_2eC~6

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/BDDFactory.class b/bin/src/main/java/fr/ulille/iut/pizzaland/BDDFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..acbca89019108638305794281d98599235d0aff6
GIT binary patch
literal 5050
zcmX^0Z`VEs1_pBmb9M$MMh1i8qGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5oeJ2+ex5VU<{Gv*B1{OvJ0kGnn#JqHU|D>$c<Pt^(maLSdOhyJaAFq_8Olw94
zwv?oR#F7j~1|c7W;^2~^%)E4vtW9QKW{Djm1G9!^7$XCVbAC!HI|DBx13yBsYf({t
z5eEZ5Bgfm&yrR_N{G77X6ousc+=9%U#FEVXJcWXy{G^=J++r&QF3ymQRE3n(<ebE!
z)D(q+#N_P6^i&0<v?4u-fAlg-OZ4FWQBp|BPc2r+%P&#LO)N>yP$<brRY<KUNKGz5
z)?HkbtOp7kJ&>dHaG3?MJ2ST+zo<k3tg^T;M<F>e4`h5&sshaEv{zSJl1ZG!#3;-!
zN+;wAx+zI3!s-;y+=86U<jfL<;?jcDB8BAqyyB9gQcyBgfFw%|O@+*2h0?r~)U?dJ
z)D(rZ{33;v)U?FXoDyW!dJ4X!#U&t_%)C^E#5_<^fEbKqBo`+rWn*!NLP@?tqC!b!
zK`Iv~B!LrBR9Re-nu|pd7iTb8Qbah62qghU`30#(C7G$kSe%CJNum`JVJQwJ#D-*`
zPi9GKKu&3TW*z}Y2N&i*(gabeLqk1X9E;LRb5rw5pamZR^Kp0tIoya)LUhm)t&j*y
zaVQz+I3O-B1^T#FB&QaD>jTU(7diM{5=#=35{pxPQ%e#-YyuGqs!(!MOEU6P6w*^m
zKw+ezsgPEbp9`)mK-paZQ7bAGrKY786@#n;RVBHZ#l@L<>EJ>^0i>0SGbpvVG^Zpu
zwS<7R!NhyWBQY-}CzXJCRQ3ia;7ABWVtwscRFqihlUYnKbifS=0$!%7Va_>;#e@n(
z>V`2F0}q2B4+AHI5F>-A24?FC)L`QG$;?ajE6q(xEec6Y%1H$^v+|P@bHWmfGC_Q(
zAWKO`W-%j!kq@b@JZnY<c4(?+WZ=-ygtY277^D~(PZH4>10{I^kwk<NqRTj<6%t`7
z4kZI!7}BCbVr1YihLmh>`9&eA#U;fY46=-jfz*j$q9cW9g*c)HROrImUpSNuaO^QM
zaFu{^rE5iIaS4u09mUAN1+U49*%_1=8F-NE0uBZhMn(xDqGm)^n~V%xDMk4O;9{?s
zgF&5<aT75?HCorA^-+=Y5>W|>nsqHB14mM6W=@JrVm>2-Dss&Su7s^Mk?KN7Ti%+H
zfipNWJuk7Ov?!I4!O$ke3R8_8hDkOdA=Y-*njs<991OaQ3{#0nDqt5V;BR13w;905
zz!jWdT9lmXmI<og`4Npx@Nfh>gCQdW3#hzfXD~(?Hvv19oxv1km<AG=j0`-!kfv!!
zWkG5&gCYYX12Y2y0}}%m11kd?0|NsW13Lo;0|Nsa10w?`0~Z4$12+Q$g9!sO10zUw
zHv><k5Z`tNf&E}z!cdhA42%pS3=9lB5LFDK3}Orn44e$&3=&Wiw7~W-FmQoQki=qw
z1lR;7us&(H&8Yfhu;^1o(kI6t&%nf>z`(%3!obL&2zEQj1ccj_v6!HbWP&OK7giG(
z;J#PGVuCr62^tKV3``7K;PBDL;sPBk`kmnVnHcoII`tXMz~RZtV8EcrV8p=8U;+S*
CBT#Pu

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/Main.class b/bin/src/main/java/fr/ulille/iut/pizzaland/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..743131675fb3658bdedb5007bfd51ab44355aed7
GIT binary patch
literal 2663
zcmX^0Z`VEs1_pBmJ$42rMh30oqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5oec!~)Jaz^aMg{?}vYf=cbbbG%tkmQZMg|Ti$6(j^&>&An1|c7WbZ|*gW?s5A
zBLlB<eqM1&VqQsDVoqr)2LmS~gKS1gNr9EVeolUJVopYWafy|MfrWv7VnL>UnV~)-
z16NLdx^H4$VtQ&3BLk0*51ePs$iQZknU`5&$H>5}p&7==z~Y>rlFH5?z{tRlu-mn$
zD8Gn<L5Pu6J~Xc=wKzYgEHy<TIX|}`GbgbmGe1wEpeR2nCpEX&N`Z?rBqLQJB{exG
zu_!e~p&&6iJ25>~K`E_B4-yo5nWZIq@SspqNXbtvR>;dQQOHd!NzPCx$w*a5ttd!M
zE<x5^T$HQ_3RXRkqx5i@1+hCbw;;c$L;<WaGhZP&F%M*VQmO*X<(SIyQcH+ZS6Y&p
zLw|+&Md^errL7Xr+=86U<jfL<;?jcDB86m70xT*`F3B%afTUUtO@+*2h0?r~)U?dJ
z)D(rZ{33;v)U?FXoDyW!dJ4X!#U&t_%)C^E#5_<$LkvbTl8Y0P)UkM3p(I}+QK6)=
zAeD;~k%%c#NP;=eIf=!^HlUnqN5DqcisaM+aJIlqd&pk!C@CojPAw_}1t~@%MONru
zlv!1kQ;AUTmIw;`N-XZ+;tUP)#41iys1l{f)1T@-1eF=NsU;ctDGJ3UiA5!lVA0T2
zNGr<E1(yk+SXTgrzCuxIT53@-D11O=MQ&zsab{jRI8`VhLWqkqxU#q;HJ7xYATsUY
zHkylppFxC&frmkqkwH`gv-k!TvHU)nd8vM-xk;%-A&E&jsi1NmRB(qS7G;9?P(hZG
zjLc$21|1*bs}yTS25zL_V`Sjd(DXrsi8Tj<EF;5KB8qT?9xUMp3VB#Aq+7~lWMBc6
z|BMV`8qwH;l?$FIi`f~J7#X;ck|_s+3L|4O5gs2+|KMf@fmp|#{uvp#g7Zs@l2hF>
zK?$1^lwrYjHamj`BLf#AU9mH0F*0x=3UPJ@9hBA(BqA6YczhxGJEXE8wU|MXfsuik
zfq{XEL6U)$fsKKYfgQ}_V31<qV&G<AU|?ooWZ+@oWng6BV_;w~0rMFcxOOw}M+ymU
zXAs^GRxifD0M^aGz{nuZz`(%6z{tSBz{McJAj!bMz{w!RAPqG^3v3_E1Q{$QsDe#k
z0_&4wkY`|GP+(wSU}0cnPz1XHWCGZ9up5-Im|zb#fr&vC>^?OHU9fvt7}OaQ88jKR
E0Zh(D$N&HU

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/beans/.gitkeep b/bin/src/main/java/fr/ulille/iut/pizzaland/beans/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/dao/.gitkeep b/bin/src/main/java/fr/ulille/iut/pizzaland/dao/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgument.class b/bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgument.class
new file mode 100644
index 0000000000000000000000000000000000000000..39cd3c891628f90bcf7e933b05694dc3b479cb56
GIT binary patch
literal 1839
zcmX^0Z`VEs1_pBmEp`SbMh3IuqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5o{glLf{m@WP7ssOX(%jU%5_Sd_Mg{?}mYl@AbbbG%tkmQZMh4ch#GKMpMg}$?
zkZNm21~!|_yv!0iMg~p|h>&I&BLj<beo87k12-cBKf(ytqN4mF4hCLEX7$j#qSWI2
zoU+suh2;F)g3O%6lFa-(g@U5|q@2{;Vk-qM&X9~$g_P9foW!Ek6orDs<m|-sR0XB9
zB0Y%n^)gFK^x)3dOG(UEQb@^9Emp|OFHy)%EJ@B#D9K1wNUbPHO)fz;p|~hn4-_1F
zAcyJUGY{g1%-n+fq7ntL>f*v2h2+FMkQGU(3NSB_udcKtlc0h5Md^g>#H9olmss>G
zl;kTUDwI?fq;heBB9ed-&)kBX%;d}xh2qkJ)FOrC{Ji3lqSEA&{2~QN!qCuE$ShVU
z%}Ys5%gjqn(Npj(EiM6tK3H2$r9x(2S$=k^LSkNiNd~G3L^*&6H~N>Q78PZtq!RE-
zKv8M|C`|>IB$lLtQaS<kaCOf4c_pb8C4`g*`nXmkrxt+IGiF*LE!?>nxET0(7}yyE
z7#T!0d_ZYXADkP5ONuh{(yc*Rjo&9TFV(L!Hz~C!Brz!`m61WnCqFqcCoHij6U2uK
zvXo?G7Bezf_>fl|STi!PCKeRrR5CJXYIyo!1fsPMdN_d{#|00IVs-{eMh2c>q~Kv>
zkPa%%E6L1F^~@{FEY3{INp%F}EpS;-%*epy1B+5?4hC69hHpfa8ZaFMVhO|j1k|H@
zj*xOBUlLGCIAJp~a0Ta=7A2>;WrAW?5TpZ^v%!TJBZH`C9w<v@7MG;vm3U;P79|!X
zXH>E?C^0f{z?8Bxs4y}JVtAaLL5-0?0NsD=3>u6KEFha08F+j%i;FY!(nBf>Qi~ZB
z85kLu85kHC8H5;E8Q2&Y7?>Cs8Q2*(7#JBi85kH$7?>HD7#JA1b~A8A3h``b;M)&Y
zBgnwOz{bD`)ycrX17>qE2s4O)#Y7pz7?>Hv85kH?7#JBO7^I-;r5PCD=CZ)emBC`J
oAcGJCy1C2@a$wu#859^mK$C%ifscWWL6Je3L4rY*L7jma0FaU}KmY&$

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class b/bin/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..c66b961477d717fea45b820759f110c3dea40826
GIT binary patch
literal 1797
zcmX^0Z`VEs1_pBm4R!`5Mh4sBqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5o{glLf{m@WP7ssOX(%jU%61T+UlKi4db_Nzk1_7|noW#6zegCAa)Z`LI1~!|_
zyv!0iMh0dL%`ip=7U%qwRCWeVMh1R_TGyhY{2~qpZbqg<p?O8A#rZj9sVNG{`MCv|
zIf*5i`FRQjMfpiNsky~g3S68a8L0{>smVEsMX4zY1&PVoiRq~dN@+!U5a;S;mX_$j
zovW9Un6IRelAl_vke6SgkegVNoS{&Xk*bhdQIMKkf^0%@QL-M$`+6XU>ESaE;)cxJ
zg8ZTq1+ePk!W@O<#5|A{NvR4jFJP)GEy*OPFuy3BkXaNcaZD;MDN0N(L5n^tHY$|l
zD<mqER2HOiae^Y8fRd2Pg4AN1YRVFeG82<>Qn@(&%TkMqGE-7<Duvhxa~}a^L^#Yj
zKQApaJt#Fjv$&+Fl7M-j#8r}5l%84w_PIiSnnFoNW-%za6r~mygVJJdX>o}{QmR6t
zLRx8FGAMZ_<|t(5m82G>B_^kGaWQZ(@bWOQGVn1nh-&zNl7~JxM+BD?W#*+@gK`1C
zPi9`KUukYqYEcL%R2UhAeDaeMbHbpZ1QlcfS<T2`??X|}v}R;rO)AaINnvDA((nNV
zn6(dTm{@E2z=GSFkwH4BG_NExH`Oz*EVDQ>DJRttl&-<~u$Ym7%Lf*L)*K8HjEu}g
z<XD&v0$~qx0|8|q9}rN2>OBIADUWhS26^-_1LX$Pa0|{aElN&x%gjk-WRL*)0p?w3
z0SYd57#TQ&Gt=`DOG=AU85tCPaO74SNHp46Gct&J<|XIn6=xQgq~?`)WTqA+7A0p?
zvNI?!GKk~Q&Ca02$iM-!o}EF3k%132#Ml|s7#UbVj$~xu@y#qQ&df^(`KXvdk%5tc
znE?ct7#JB?8Q2&Y8Q2*Z7)%(L85kKD7`S#ba6}4mZD-)w&%nUI#K6zM09M1mz{nuL
zz`(!*QN<w0AjH7Hz``KRAi}`RAPQ9_#=rnK4P*<%G;u7Z@nbPfl7WGNgMm?mfdOO=
h3xgEc1=0*MU|N<z4&-bGb&x9=SQz9P6d9BmQ~}mpC3gS-

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/dto/IngredientDto.class b/bin/src/main/java/fr/ulille/iut/pizzaland/dto/IngredientDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..e90678ab722be42c4381a388213dc2040bf677c6
GIT binary patch
literal 664
zcmX^0Z`VEs1_pBmQFaC<Mh5fZqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5o{gje?eb2n~qSTbk)Vvaxl6-as7DfgEu%4X6ymWp4q^#8B5=I6#o6Nk-5<5l)
zW)00SMg|t={FGF722Mr>euP@rqN4mF4hC*UMwZaLqSWI2oU+suh2;F)g3O%6lFa-(
zg@U5|q@2{;Vk-qM&X9~$g_P9foW!Ek6orDs<m|-sR0XB9B0Y#h^)gFK^xzKFODV}$
zQb@^9Emp|OFHy)%EJ@B#D9K1wNUbPHO)fz;p|~hn59Dz@ki+!wna9QHnOl&PnVeao
zP+VG&TBMMipI2N`RGM6pU!(x>xQ3=eX0bwPUP@|OW?pKFo`P>_aS6y$u(q5^h0MIN
z{OnYP#Jv2H3{(@ixEMGXczGCD8Tc3(L^XUs&d~>lX>dtVW?s5AC>;5HGV@aXN^_G^
zi$W5Ua#9%?gnaUo6LZ26i!wocs31#8MrJW1gQX9dv1-l8z!jWdT9lmXmI<~5CC<Si
z#h}Q*$iU110*nld46F=n42%ry3=9k=49pCS3=9lhyBRnlg}Ame@a$(`U|?e4XJ7!U
bVPIfn5MW?n;DM-O5M&Ty0Er2MRfzxqNC(4T

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class b/bin/src/main/java/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class
new file mode 100644
index 0000000000000000000000000000000000000000..93b051485a9723be1de298597e5f660167e799dc
GIT binary patch
literal 1375
zcmX^0Z`VEs1_pBm1$G7|Mh3^?qGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5o{i4+3{L-T2)M9-n7Z>N8)Wo8o)MAJbI|B<Ng8*1}PGVlVzJF3yYH|r91Dj1|
zUS^3MBLlOBW*8#_i*tTTDmw!wBLhD|t!q(Heh~))HzSirXdcLpoU+suh2;F)g3O%6
zlFa-(g@U5|q@2{;Vk-qM&X9~$g_P9foW!Ek6orDs<m|-sR0XB9B0Y$c^)gFK^x#g`
z0~rT)vXVkdermBoUVe!}ZemGthC)e3szPc-L27advN^>?$$FrG&;vP7kFco__hjZ4
z<QJ7Ffb|p?<|rg5=7B6qN>u>a5AqI*y0jufDzXx@6N^d`DNz=XSdxK7zd}jALZU)R
zWkD(zr)O?KPG)jui9&H{L28jga(-TMNl|HXNq&(6B>prs6*7wzO7l`u(=zi?Qxwwj
zixg5)(-KQ_N|06SDfpHamw;q4^HLQO^FZMWF&N26E>3sX5CRSg4)k%YNKP#PM>=L8
zBD>wm#l<ZV<kU(mW^!>ca4_)lFt9T4F*1m1_<$ltADk|OONuh{(yc*hk>4jXFV(L!
zHz~C!Brz!`m61WnCqFqcCoHij6U2uKvXo?G7Bez9`%s)mtQi@2lR>%0C9xziDX}<}
zk%0^D-C}kIF-8U+<PczFkPa%%E6L1F^~@{FEY3{INp%FJD{!7DW@KRXad!=|=3tOw
zWauLz<Ipkq85y{O!6k)TCMaCRFp3Ls_F`mU^8uw&Yeojvvc#OyR7M6K-^}9T%)IoF
z%7WBl21N!&24)5jU}9ioU}a!qU}RutU|=v|U}j)sU|`_d&A<^U#I>D)XFmf20}}&3
z0|QtM0|O(200RR94@4D%AcGJCNKBZ4je(g#gn@y9g@KVlltCP-UV?!Ei@B0m%;m>o
PE)#<^*mfBPd6>xngP5AA

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/fr/ulille/iut/pizzaland/resources/IngredientResource.class b/bin/src/main/java/fr/ulille/iut/pizzaland/resources/IngredientResource.class
new file mode 100644
index 0000000000000000000000000000000000000000..8fd0e2c4137569a7a7195610bf2bbe1309a232b9
GIT binary patch
literal 2250
zcmX^0Z`VEs1_pBmJ$42rMh2(iqGbKt#LPVXti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5o{i4+3{L-T2)M9<ly!4{fl+4t;k|3xUI|B<Ng8*22PGVlVzJF3yYH|r91DlV(
zySr-;BLjzzPkwrOYLPV~1AA#vre|JSJ|hFCPbh?G&B!1fRGL?knVagFSC(0vnUs_2
zn3tDdl30?NpH~c0>71Wel3Gz>&B(xJlbM%UV#mn9tf3jk$iU*9pOVVXz|Y9QkFejh
zs3^aPgF%pyB{MV+<nWxb)D(r}{M>@f9I%-R1x5KuIjOnDRtj94AsML(DXGahiAAX?
z3I&PD*@@|?3QB23dXR9?%PcL?gNK72$T)B~C@G}mrxq*Z<(DYrCYB^;D3oNRDx_8v
zq$Zajn^RnrtOp8RJ&^PC2%8FVPiAgGeo=`6SWjMRi9&KBC_EIBQWZe<gS>;OuCydG
zXCM@2Cl-|?61I5oDoZQE>iU4hk_;>o3MKgpi3%l^1*u$|kW@{sA}&tnoW$Z{8_W!4
zN5DvEb|9b%n!O09^2{yB$xO~HQ7A4gNG(!G&d)0@DJo4a$uClX<YNs@h0J1w(!7+^
zw9LHJ6g>ss(&7?ON(XDpsZ_|!E6dMLRY=UsFUdePfs51KHH3iuKAFYX(l>H2BLc{!
zB%hFR;DUyLBFCbl#7gQ~%*DXRAk4$S%^<?aAgbX5%DMXB!Z5g`C^IkJ8dO;E`();&
z`jzG;r51%GCgr3uG6?zPCnx5FB^G6Z_)tNXl8nq^Mg|uj%1dTYftj9K;+T`e$iShY
z=>zh!H6sIOaAta5Vo7OHDkFm=RM^G`C77-4tQi?tecW9`tT`Cu85wzqC`m_5WHU0z
zqgPlVl?AAk7FRI1zI4k3#j`jfY=fYcCb&WX)sdib1{Bt1i8-aI><ns*47>={E+zTw
z3>u6KETEWUXV3y^0H<(v1|3EQc4!u7WZ?15EH2K>O9wflm_d<&k%5_kfq{uZih-4Z
zje&uIk%66ogMpEOlYxPOje(JY3oOgXz|FwJz{tSMz`$U_z|6qNz`($@n}IJ<NMJjI
z(0;HQQK$}(8Db0!VD$_PTnyq25@2&B8Kf9k7^J~!W#Hz^GB98<RSt`(QVf`;DljmB
fTr0xB05XS(K@n`a5`!+teGDuNstoE3nhe?i-t)NV

literal 0
HcmV?d00001

diff --git a/bin/src/main/resources/ingredients.json b/bin/src/main/resources/ingredients.json
new file mode 100644
index 0000000..1dcc13b
--- /dev/null
+++ b/bin/src/main/resources/ingredients.json
@@ -0,0 +1,14 @@
+[
+{ "id": "f38806a8-7c85-49ef-980c-149dcd81d306", "name": "mozzarella"},
+{ "id": "d36903e1-0cc0-4bd6-a0ed-e0e9bf7b4037", "name": "jambon"},
+{ "id": "bc5b315f-442f-4ee4-96de-486d48f20c2f", "name": "champignons"},
+{ "id": "6a04320c-3a4f-4570-96d3-61faf3f898b0", "name": "olives"},
+{ "id": "c77deeee-d50d-49d5-9695-c98ec811f762", "name": "tomate"},
+{ "id": "c9375542-8142-43f6-b54d-0d63597cf614", "name": "merguez"},
+{ "id": "dee27dd6-f9b6-4d03-ac4b-216b5c9c8bd7", "name": "lardons"},
+{ "id": "657f8dd4-6bc1-4622-9af7-37d248846a23", "name": "fromage"},
+{ "id": "070d8077-a713-49a0-af37-3936b63d5ff2", "name": "oeuf"},
+{ "id": "5d9ca5c4-517f-40fd-aac3-5a823d680c1d", "name": "poivrons"},
+{ "id": "52f68024-24ec-46c0-8e77-c499dba1e27e", "name": "ananas"},
+{ "id": "dfdf6fae-f1b2-45fa-8c39-54e522c1933f", "name": "reblochon"}
+]
diff --git a/bin/src/main/resources/logging.properties b/bin/src/main/resources/logging.properties
new file mode 100644
index 0000000..db98114
--- /dev/null
+++ b/bin/src/main/resources/logging.properties
@@ -0,0 +1,4 @@
+handlers= java.util.logging.ConsoleHandler
+.level= INFO
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
\ No newline at end of file
diff --git a/bin/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.class b/bin/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..ebef1ae878ad3d33970b8588ea9aa2f3b0e8c960
GIT binary patch
literal 3410
zcmX^0Z`VEs1_pBm3w8!3Mh2VWqGbJ&)Z!BTti-ZJ{j?(e(wxkkoK*eH(h~iG%&Mxy
zoW#5oeb2n~qSTbk)Vz|Q)Z+ZoqU6+&)Z!9$1{OvJ0kFoL#JqHU|D>$c<Pt^(HXna?
zch?|B1`Z#e{PgtHB5OtlHk-`6%o00B24)S-Fh&Lz=lqmZb_Q-n27ZKo*P^2QA`S*#
zM%ERfc}1zk`8j2&DGJH?xdoXyi6xo&c?tzZ`AIpcxy4orT$~{psR}8n$vKHdsVNEt
ziOJcC>8T1zX+?SvALwP4mgvEKprnwJpIWStmtUfgn^=;Zp-_^Ms*qYykeXbAth=}<
zSq~H%dLT#X;W7(icV=!ueo=`+T9HC>Vjjrgq*Mi%qe)beUzASBkin!RD=|B<s3eh)
zlLtf@5#a=m+tQNE9Ks$bOVq=u&?~j5IJFX#53rb{P?E2Zs8CW_kjljg$phpn;^K79
zNh~h5!JY-}2pH>MmReMlnUYFCnPWjgPG&MBk71@}WY0JjWQG|MFwH47Ex(AMm1!lZ
z*s>0?Wv&&;sRiJSkKa*5L_$z%aY24wF(Frh3YFZ{l8pQmg_6Xg^wbiK;F6-uymU>4
z%wmPoyp+_m%)HbTg|z%4a0vp6U<K?k!^MfmN-j>H%;FLP!H6)|r6iw#TKCkv)S}Gf
zkjer=KBTV2Tnt<c{5%Zo3<8V{q8dJ+tfddG3n0N}4JzyTeKPY>{YrC_Qj0<olX6lS
z8H9ZDlM{2o5{oiHe5fExNk(QdBZHj}B~_9&BLio0eqLH;dTCKABLlyNrVmouwq|6I
z4l2zn$;?gl%qz<*&P>Wlbp(~&;FMp?$iU?T%P`g)3{s2?(}}2uU^)oI5Rx+psw9}j
z7#ZZz{Q-)46u)p3r<S<pm4z07>S0KhwB}%tXJl~0?<r8-3Q>;Vos10JC8>!;u6boH
z`Q>?x3|#QsTFlO%%*enA=QA>}`#6HKyEO-c8Y4p<e*3|dJ6Jh>`w`~jSI5X80IJg6
zQ%hWP3rZ?M=^xZY0hJln91L2FjB|-_4@fnBYw%@v<T7ovgh}P%B%x?yWZ()0w>aH0
zK}Cl&LTeCGQxx1_V`LEZ%uCMCE6yw~NzE(q$V@FtEK1I(WM|N4WZ*{1fb0y0j0{|e
z3Y?w67?dQyZB<4F9^cI3;>^5sP>w2QWZ?EoEiUm*1r=Y#><s3N40e<hP%4HDiVTbl
z%nS?+j0{o?tPE@n3=FIcj124y91M&MoD2*MCJf9Bj0_A6T)P>#B87OiGw|(aU|?Wk
z5M*FrU<1oAG6*p+Fz|rcTnxetA`A=+EDWLyVhqd-;!sr*3=CLIlf+`092V2085ltB
z5n*5enZw8+!@$A71UFk2tJ!i`%+|nSHY0-q0|x^$gCf|~j0{R}b5*dKtBS>3U99G+
vqqtH7t7)28Of$k_8ViFqIMj6*bQwUv1Qa6-EDU-KN(=@JMhvD<*P8(VELaX#

literal 0
HcmV?d00001

diff --git a/bin/src/test/resources/logging.properties b/bin/src/test/resources/logging.properties
new file mode 100644
index 0000000..db98114
--- /dev/null
+++ b/bin/src/test/resources/logging.properties
@@ -0,0 +1,4 @@
+handlers= java.util.logging.ConsoleHandler
+.level= INFO
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
\ No newline at end of file
diff --git a/bin/target/classes/META-INF/MANIFEST.MF b/bin/target/classes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a9dd036
--- /dev/null
+++ b/bin/target/classes/META-INF/MANIFEST.MF
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Built-By: lepages
+Build-Jdk: 11.0.9.1
+Created-By: Maven Integration for Eclipse
+
diff --git a/src/main/java/fr/ulille/iut/pizzaland/beans/Commande.java b/src/main/java/fr/ulille/iut/pizzaland/beans/Commande.java
new file mode 100644
index 0000000..ff52863
--- /dev/null
+++ b/src/main/java/fr/ulille/iut/pizzaland/beans/Commande.java
@@ -0,0 +1,120 @@
+package fr.ulille.iut.pizzaland.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import fr.ulille.iut.pizzaland.dto.CommandeCreateDto;
+import fr.ulille.iut.pizzaland.dto.CommandeDto;
+
+public class Commande {
+	private UUID id = UUID.randomUUID();
+    private String nom;
+    private String prenom;
+	private List<Pizza> pizzas=new ArrayList<>();
+	public UUID getId() {
+		return id;
+	}
+	public void setId(UUID id) {
+		this.id = id;
+	}
+	public String getNom() {
+		return nom;
+	}
+	public void setNom(String nom) {
+		this.nom = nom;
+	}
+	public String getPrenom() {
+		return prenom;
+	}
+	public void setPrenom(String prenom) {
+		this.prenom = prenom;
+	}
+	public List<Pizza> getPizzas() {
+		return pizzas;
+	}
+	public void setPizzas(List<Pizza> pizzas) {
+		this.pizzas = pizzas;
+	}
+	@Override
+	public String toString() {
+		return "Commande [id=" + id + ", nom=" + nom + ", prenom=" + prenom + ", pizzas=" + pizzas + "]";
+	}
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((id == null) ? 0 : id.hashCode());
+		result = prime * result + ((nom == null) ? 0 : nom.hashCode());
+		result = prime * result + ((pizzas == null) ? 0 : pizzas.hashCode());
+		result = prime * result + ((prenom == null) ? 0 : prenom.hashCode());
+		return result;
+	}
+	@Override
+	public boolean equals(Object obj) {
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		Commande other = (Commande) obj;
+		if (id == null) {
+			if (other.id != null)
+				return false;
+		} else if (!id.equals(other.id))
+			return false;
+		if (nom == null) {
+			if (other.nom != null)
+				return false;
+		} else if (!nom.equals(other.nom))
+			return false;
+		if (pizzas == null) {
+			if (other.pizzas != null)
+				return false;
+		} else if (!pizzas.equals(other.pizzas))
+			return false;
+		if (prenom == null) {
+			if (other.prenom != null)
+				return false;
+		} else if (!prenom.equals(other.prenom))
+			return false;
+		return true;
+	}
+	
+	public static Commande fromDto(CommandeDto dto) {
+        Commande commande = new Commande();
+        commande.setId(dto.getId());
+        commande.setNom(dto.getNom());
+        commande.setPrenom(dto.getPrenom());
+        commande.setPizzas(dto.getPizzas());
+
+        return commande;
+    }
+	
+	public static CommandeDto toDto(Commande c) {
+		CommandeDto dto = new CommandeDto();
+        dto.setId(c.getId());
+        dto.setNom(c.getNom());
+        dto.setPrenom(c.getPrenom());
+        dto.setPizzas(c.getPizzas());
+        return dto;
+    }
+
+	public static Commande fromCommandeCreateDto(CommandeCreateDto commandeCreateDto) {
+		Commande commande = new Commande();
+        commande.setNom(commandeCreateDto.getNom());
+        commande.setPrenom(commandeCreateDto.getPrenom());
+
+        return commande;
+	}
+	public static CommandeCreateDto toCreateDto(Commande commande) {
+		CommandeCreateDto dto = new CommandeCreateDto();
+	    dto.setNom(commande.getNom());
+	    dto.setPrenom(commande.getPrenom());
+
+	        
+	    return dto;
+	}
+	
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ulille/iut/pizzaland/dao/CommandeDao.java b/src/main/java/fr/ulille/iut/pizzaland/dao/CommandeDao.java
new file mode 100644
index 0000000..29d8077
--- /dev/null
+++ b/src/main/java/fr/ulille/iut/pizzaland/dao/CommandeDao.java
@@ -0,0 +1,99 @@
+package fr.ulille.iut.pizzaland.dao;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.jdbi.v3.sqlobject.config.RegisterBeanMapper;
+import org.jdbi.v3.sqlobject.customizer.Bind;
+import org.jdbi.v3.sqlobject.customizer.BindBean;
+import org.jdbi.v3.sqlobject.statement.SqlQuery;
+import org.jdbi.v3.sqlobject.statement.SqlUpdate;
+import org.jdbi.v3.sqlobject.transaction.Transaction;
+
+import fr.ulille.iut.pizzaland.BDDFactory;
+import fr.ulille.iut.pizzaland.beans.Commande;
+import fr.ulille.iut.pizzaland.beans.Pizza;
+
+public interface CommandeDao {
+
+	@SqlUpdate("CREATE TABLE IF NOT EXISTS Commande (id Varchar PRIMARY KEY, nom Varchar UNIQUE NOT NULL,prenom Varchar UNIQUE NOT NULL)")
+    void createCommandeTable();
+
+	@SqlUpdate("CREATE TABLE IF NOT EXISTS PizzaCommandeAssociation (pizzaID VARCHAR(128), commandeID VARCHAR(128), PRIMARY KEY(pizzaID, commandeID))")
+	void createTablePizzaAssociation();
+    
+    @SqlUpdate("DROP TABLE IF EXISTS PizzaCommandeAssociation")
+    void dropTable();
+    
+    @SqlUpdate("DROP TABLE IF EXISTS Commande")
+    void dropCommandeTable();
+    
+    @SqlUpdate("INSERT INTO Commande (id, nom, prenom) VALUES (:id, :nom, :prenom)")
+    void insert(@BindBean Commande commande);
+    
+    @SqlUpdate("INSERT INTO PizzaCommandeAssociation (pizzaID,commandeID) VALUES( :pizza.id, :commande.id)")
+    void insertPizzaAssociation(@BindBean("pizza") Pizza pizza ,@BindBean("commande") Commande commande);
+    
+    @Transaction
+    default void createCommandeAndPizzaAssociation() {
+      createTablePizzaAssociation();
+      createCommandeTable();
+    }
+    @Transaction
+    default void dropCommandeAndPizzaAssociation() {
+      dropCommandeTable();
+      dropTable();
+    }
+
+	@SqlQuery("SELECT * FROM Commande")
+    @RegisterBeanMapper(Commande.class)
+    List<Commande> getAll();
+
+	@SqlQuery("SELECT * FROM Commande WHERE id = :id")
+    @RegisterBeanMapper(Commande.class)
+    Commande findById(@Bind("id") UUID id);
+	
+	@SqlQuery("SELECT * FROM Commande WHERE nom = :nom")
+    @RegisterBeanMapper(Commande.class)
+	Commande findByName(@Bind("nom")String nom);
+	
+	@SqlUpdate("DELETE FROM Commande WHERE id = :id")
+    void remove(@Bind("id") UUID id);  
+	
+	@SqlQuery("Select * from Pizza where id in(SELECT pizzaID FROM PizzaCommandeAssociation WHERE commandeID = :id)")
+    @RegisterBeanMapper(Pizza.class)
+	List<Pizza> findPizzaById(@Bind("id") UUID id);
+	
+	default void insertTablePizzaAndCommandeAssociation(Commande commande) {
+    	this.insert(commande);
+    	for(Pizza pizza : commande.getPizzas()) {
+    		this.insertPizzaAssociation(pizza,commande);
+    	}
+    }
+	@SqlQuery("SELECT pizzaId FROM PizzaCommandeAssociation where commandeID=:idCommande")
+    @RegisterBeanMapper(Commande.class)
+    List<UUID> getAllPizzaID(@Bind("idCommande") UUID idCommande);
+	
+	@Transaction
+    default List<Pizza> getAllPizza(List<UUID> idPizzas){
+		PizzaDao pizzas = BDDFactory.buildDao(PizzaDao.class);
+		List<Pizza> pizza=new ArrayList<>();
+		for(UUID id: idPizzas) {
+			pizza.add(pizzas.getTableAndIngredientAssociation(id));
+		}
+		return pizza;
+    }
+	
+	@Transaction
+    default Commande getCommandeAndPizzaAssociation(UUID id) {
+      Commande commande=findById(id);
+      try{
+    	  List<UUID> pizzaID=getAllPizzaID(id);
+    	  commande.setPizzas(getAllPizza(pizzaID));
+      }catch(Exception e) {e.printStackTrace();}
+      return commande;
+    }
+	
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.java b/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.java
new file mode 100644
index 0000000..76471af
--- /dev/null
+++ b/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.java
@@ -0,0 +1,24 @@
+package fr.ulille.iut.pizzaland.dto;
+
+public class CommandeCreateDto {
+	private String nom;
+	private String prenom;
+
+	public String getPrenom() {
+		return prenom;
+	}
+
+	public void setPrenom(String prenom) {
+		this.prenom = prenom;
+	}
+
+	public CommandeCreateDto() {}
+		
+	public void setNom(String name) {
+		this.nom = name;
+	}
+ 		
+	public String getNom() {
+		return nom;
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeDto.java b/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeDto.java
new file mode 100644
index 0000000..daf48be
--- /dev/null
+++ b/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeDto.java
@@ -0,0 +1,38 @@
+package fr.ulille.iut.pizzaland.dto;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import fr.ulille.iut.pizzaland.beans.Pizza;
+
+public class CommandeDto {
+	private UUID id;
+    private String nom;
+    private String prenom;
+	private List<Pizza> pizzas=new ArrayList<>();
+    public UUID getId() {
+		return id;
+	}
+	public void setId(UUID id) {
+		this.id = id;
+	}
+	public String getNom() {
+		return nom;
+	}
+	public void setNom(String nom) {
+		this.nom = nom;
+	}
+	public String getPrenom() {
+		return prenom;
+	}
+	public void setPrenom(String prenom) {
+		this.prenom = prenom;
+	}
+	public List<Pizza> getPizzas() {
+		return pizzas;
+	}
+	public void setPizzas(List<Pizza> pizzas) {
+		this.pizzas = pizzas;
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.java b/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.java
index 8a7273a..87495ba 100644
--- a/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.java
+++ b/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.java
@@ -1,7 +1,5 @@
 package fr.ulille.iut.pizzaland.dto;
 
-import java.util.UUID;
-
 public class PizzaCreateDto {
 	private String name;
 
diff --git a/src/main/java/fr/ulille/iut/pizzaland/resources/CommandeRessource.java b/src/main/java/fr/ulille/iut/pizzaland/resources/CommandeRessource.java
new file mode 100644
index 0000000..571c486
--- /dev/null
+++ b/src/main/java/fr/ulille/iut/pizzaland/resources/CommandeRessource.java
@@ -0,0 +1,108 @@
+package fr.ulille.iut.pizzaland.resources;
+
+import java.net.URI;
+import java.util.List;
+import java.util.UUID;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+
+import fr.ulille.iut.pizzaland.BDDFactory;
+import fr.ulille.iut.pizzaland.beans.Commande;
+import fr.ulille.iut.pizzaland.dao.CommandeDao;
+import fr.ulille.iut.pizzaland.dto.CommandeCreateDto;
+import fr.ulille.iut.pizzaland.dto.CommandeDto;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+
+@Consumes("application/json")
+@Path("/commandes")
+public class CommandeRessource {
+	private static final Logger LOGGER = Logger.getLogger(CommandeRessource.class.getName());
+
+    private CommandeDao commandes;
+
+    @Context
+    public UriInfo uriInfo;
+
+    public CommandeRessource() {
+        commandes = BDDFactory.buildDao(CommandeDao.class);
+        commandes.createTablePizzaAssociation();
+    }
+    
+    @GET
+    public List<CommandeDto> getAll() {
+        LOGGER.info("CommandeRessource:getAll");
+
+        List<CommandeDto> l = commandes.getAll().stream().map(Commande::toDto).collect(Collectors.toList());
+        LOGGER.info(l.toString());
+        return l;
+    }
+    
+    @GET
+    @Path("{id}")
+    @Produces({ "application/json", "application/xml" })
+    public CommandeDto getOneCommande(@PathParam("id") UUID id) {
+        LOGGER.info("getOneCommande(" + id + ")");
+        try {
+            Commande commande = commandes.getCommandeAndPizzaAssociation(id);
+            LOGGER.info(commande.toString());
+            return Commande.toDto(commande);
+        } catch (Exception e) {
+            throw new WebApplicationException(Response.Status.NOT_FOUND);
+        }
+    }
+    
+    @POST
+    public Response createCommande(CommandeCreateDto commandeCreateDto) {
+        Commande existing = commandes.findByName(commandeCreateDto.getNom());
+        if (existing != null) {
+            throw new WebApplicationException(Response.Status.CONFLICT);
+        }
+
+        try {
+            Commande commande = Commande.fromCommandeCreateDto(commandeCreateDto);
+            commandes.insert(commande);
+            CommandeDto commandeDto = Commande.toDto(commande);
+            System.out.println(commande.getId().toString());
+            URI uri = uriInfo.getAbsolutePathBuilder().path(commande.getId().toString()).build();
+
+            return Response.created(uri).entity(commandeDto).build();
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new WebApplicationException(Response.Status.NOT_ACCEPTABLE);
+        }
+
+    }
+    @DELETE
+    @Path("{id}")
+    public Response deleteCommande(@PathParam("id") UUID id) {
+      if ( commandes.findById(id) == null ) {
+        throw new WebApplicationException(Response.Status.NOT_FOUND);
+      }
+
+      commandes.remove(id);
+
+      return Response.status(Response.Status.ACCEPTED).build();
+    }
+    @GET
+    @Path("{id}/nom")
+    public String getCommandeNom(@PathParam("id") UUID id) {
+        Commande commande = commandes.findById(id);
+
+        if (commande == null) {
+            throw new WebApplicationException(Response.Status.NOT_FOUND);
+        }
+
+        return commande.getNom();
+    }
+    
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ulille/iut/pizzaland/resources/PizzaRessource.java b/src/main/java/fr/ulille/iut/pizzaland/resources/PizzaRessource.java
index 5ac24ca..d8f98ec 100644
--- a/src/main/java/fr/ulille/iut/pizzaland/resources/PizzaRessource.java
+++ b/src/main/java/fr/ulille/iut/pizzaland/resources/PizzaRessource.java
@@ -7,11 +7,8 @@ import java.util.logging.Logger;
 import java.util.stream.Collectors;
 
 import fr.ulille.iut.pizzaland.BDDFactory;
-import fr.ulille.iut.pizzaland.beans.Ingredient;
 import fr.ulille.iut.pizzaland.beans.Pizza;
 import fr.ulille.iut.pizzaland.dao.PizzaDao;
-import fr.ulille.iut.pizzaland.dto.IngredientCreateDto;
-import fr.ulille.iut.pizzaland.dto.IngredientDto;
 import fr.ulille.iut.pizzaland.dto.PizzaCreateDto;
 import fr.ulille.iut.pizzaland.dto.PizzaDto;
 import jakarta.ws.rs.Consumes;
@@ -29,7 +26,7 @@ import jakarta.ws.rs.core.UriInfo;
 @Consumes("application/json")
 @Path("/pizzas")
 public class PizzaRessource {
-	private static final Logger LOGGER = Logger.getLogger(PizzaRessource.class.getName());
+	private static final Logger LOG = Logger.getLogger(PizzaRessource.class.getName());
 
     private PizzaDao pizzas;
 
@@ -43,20 +40,20 @@ public class PizzaRessource {
     
     @GET
     public List<PizzaDto> getAll() {
-        LOGGER.info("PizzaRessource:getAll");
+        LOG.info("PizzaRessource:getAll");
 
         List<PizzaDto> l = pizzas.getAll().stream().map(Pizza::toDto).collect(Collectors.toList());
-        LOGGER.info(l.toString());
+        LOG.info(l.toString());
         return l;
     }
     @GET
     @Path("{id}")
     @Produces({ "application/json", "application/xml" })
     public PizzaDto getOnePizza(@PathParam("id") UUID id) {
-        LOGGER.info("getOnePizza(" + id + ")");
+        LOG.info("getOnePizza(" + id + ")");
         try {
             Pizza pizza = pizzas.getTableAndIngredientAssociation(id);
-            LOGGER.info(pizza.toString());
+            LOG.info(pizza.toString());
             return Pizza.toDto(pizza);
         } catch (Exception e) {
             throw new WebApplicationException(Response.Status.NOT_FOUND);
diff --git a/src/test/java/fr/ulille/iut/pizzaland/CommandeRessourceTest.java b/src/test/java/fr/ulille/iut/pizzaland/CommandeRessourceTest.java
new file mode 100644
index 0000000..bb0933b
--- /dev/null
+++ b/src/test/java/fr/ulille/iut/pizzaland/CommandeRessourceTest.java
@@ -0,0 +1,193 @@
+package fr.ulille.iut.pizzaland;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import fr.ulille.iut.pizzaland.beans.Commande;
+import fr.ulille.iut.pizzaland.beans.Ingredient;
+import fr.ulille.iut.pizzaland.beans.Pizza;
+import fr.ulille.iut.pizzaland.dao.CommandeDao;
+import fr.ulille.iut.pizzaland.dao.IngredientDao;
+import fr.ulille.iut.pizzaland.dao.PizzaDao;
+import fr.ulille.iut.pizzaland.dto.CommandeCreateDto;
+import fr.ulille.iut.pizzaland.dto.CommandeDto;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+
+public class CommandeRessourceTest extends JerseyTest {
+	private CommandeDao dao;
+	private PizzaDao pizzadao;
+	private IngredientDao ingredientdao;
+	
+	 @Override
+	  protected Application configure() {
+	    return new ApiV1();
+	  }
+	 
+	 @Before
+	  public void setEnvUp() {
+	    dao = BDDFactory.buildDao(CommandeDao.class);
+	    pizzadao=BDDFactory.buildDao(PizzaDao.class);
+	    ingredientdao =BDDFactory.buildDao(IngredientDao.class);
+	    ingredientdao.createTable();
+	    dao.createCommandeAndPizzaAssociation();
+	    pizzadao.createTableAndIngredientAssociation();
+	  }
+
+	  @After
+	  public void tearEnvDown() throws Exception {
+		 dao.dropCommandeAndPizzaAssociation();
+		 ingredientdao.dropTable();
+		 pizzadao.dropTableAndIngredientAssociation();
+	  }
+
+
+	  @Test
+	  public void testGetEmptyList() {
+	    Response response = target("/commandes").request().get();
+
+	    // Vérification de la valeur de retour (200)
+	    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+		  
+		// Vérification de la valeur retournée (liste vide)
+		List<CommandeDto> commande;
+	    commande = response.readEntity(new GenericType<List<CommandeDto>>(){});
+
+	    assertEquals(0, commande.size());
+	  }
+	  
+	  @Test
+	  public void testGetExistingCommande() {
+	    Commande commande=new Commande();
+	    commande.setNom("Paul");
+	    commande.setPrenom("Jean");
+	    dao.insert(commande);
+
+	    Response response = target("/commandes").path(commande.getId().toString()).request(MediaType.APPLICATION_JSON).get();
+ 
+	    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+	    Commande result = Commande.fromDto(response.readEntity(CommandeDto.class));
+	    assertEquals(commande, result);
+	  }
+	    
+	    @Test
+		  public void testGetNotExistingCommande() {
+		    Response response = target("/commandes").path(UUID.randomUUID().toString()).request().get();
+		    assertEquals(Response.Status.NOT_FOUND.getStatusCode(),response.getStatus());
+		  }
+	    
+	    @Test
+	    public void testCreateCommande() {
+	        CommandeCreateDto commandeCreateDto = new CommandeCreateDto();
+	        commandeCreateDto.setNom("Paul");
+	        commandeCreateDto.setPrenom("Jean");
+
+	        Response response = target("/commandes").request().post(Entity.json(commandeCreateDto));
+
+	        assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
+
+	        CommandeDto returnedEntity = response.readEntity(CommandeDto.class);
+
+	        assertEquals(target("/commandes/" + returnedEntity.getId()).getUri(), response.getLocation());
+	        assertEquals(returnedEntity.getNom(), commandeCreateDto.getNom());
+	        assertEquals(returnedEntity.getPrenom(), commandeCreateDto.getPrenom());
+
+	    }
+	  @Test
+	    public void testCreateSameCommande() {
+	        Commande commande = new Commande();
+	        commande.setNom("Paul");
+	        commande.setPrenom("Jean");
+	        dao.insert(commande);
+
+	        CommandeCreateDto commandeCreateDto = Commande.toCreateDto(commande);
+	        Response response = target("/commandes").request().post(Entity.json(commandeCreateDto));
+
+	        assertEquals(Response.Status.CONFLICT.getStatusCode(), response.getStatus());
+	    }
+	  @Test
+	    public void testCreateCommandeWithoutName() {
+	        CommandeCreateDto commandeCreateDto = new CommandeCreateDto();
+
+	        Response response = target("/commandes").request().post(Entity.json(commandeCreateDto));
+
+	        assertEquals(Response.Status.NOT_ACCEPTABLE.getStatusCode(), response.getStatus());
+	    }
+	  @Test
+	    public void testDeleteExistingCommande() {
+	      Commande commande = new Commande();
+	      commande.setNom("Paul");
+	      commande.setPrenom("Jean");
+	      dao.insert(commande);
+
+	      Response response = target("/commandes/").path(commande.getId().toString()).request().delete();
+
+	      assertEquals(Response.Status.ACCEPTED.getStatusCode(), response.getStatus());
+
+	      Commande result = dao.findById(commande.getId());
+	      assertEquals(result, null);
+	   }
+	  @Test
+	   public void testDeleteNotExistingCommande() {
+	     Response response = target("/commandes").path(UUID.randomUUID().toString()).request().delete();
+	     assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+	   }
+	  @Test
+	   public void testGetCommandeNomAndPrenom() {
+	     Commande commande = new Commande();
+	     commande.setNom("Paul");
+	     commande.setPrenom("Jean");
+	     dao.insert(commande);
+
+	     Response response = target("commandes").path(commande.getId().toString()).path("nom").request().get();
+
+	     assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+	     assertEquals("Paul", response.readEntity(String.class));
+	  }
+	  @Test
+	  public void testGetNotExistingCommandeNom() {
+	    Response response = target("commandes").path(UUID.randomUUID().toString()).path("nom").request().get();
+
+	    assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+	  }
+	  @Test
+	  public void testGetExistingCommandeWithPizza() {
+		Commande commande = new Commande();
+		commande.setNom("Paul");
+		commande.setPrenom("Jean");
+		Pizza p=new Pizza();
+		p.setName("Norvegienne");
+		Ingredient Saumon=new Ingredient();
+		Saumon.setName("Saumon");
+		ingredientdao.insert(Saumon);
+		List<Ingredient> ingredient=new ArrayList<>();
+		ingredient.add(Saumon);
+		p.setIngredients(ingredient);
+		pizzadao.insertTablePizzaAndIngredientAssociation(p);
+	    List<Pizza> pizzas=new ArrayList<>();
+	    pizzas.add(p);
+	    commande.setPizzas(pizzas);
+	    dao.insertTablePizzaAndCommandeAssociation(commande);
+	    
+	    Response response = target("/commandes").path(commande.getId().toString()).request(MediaType.APPLICATION_JSON).get();
+ 
+	    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+	    Commande result = Commande.fromDto(response.readEntity(CommandeDto.class));
+	    assertEquals(commande, result);
+	  }
+
+}
diff --git a/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.java b/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.java
index e8153f1..23aa21c 100644
--- a/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.java
+++ b/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.java
@@ -1,11 +1,9 @@
 package fr.ulille.iut.pizzaland;
 
-import fr.ulille.iut.pizzaland.ApiV1;
 import fr.ulille.iut.pizzaland.dto.IngredientCreateDto;
 import fr.ulille.iut.pizzaland.dto.IngredientDto;
 
 import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.TestProperties;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +30,7 @@ import fr.ulille.iut.pizzaland.dao.IngredientDao;
  * la méthode configure() permet de démarrer la ressource à tester
  */
 public class IngredientResourceTest extends JerseyTest {
-    private static final Logger LOGGER = Logger.getLogger(IngredientResourceTest.class.getName());
+    private static final Logger LOG = Logger.getLogger(IngredientResourceTest.class.getName());
     private IngredientDao dao;
 
     @Override
@@ -85,7 +83,7 @@ public class IngredientResourceTest extends JerseyTest {
     @Test
     public void testGetExistingIngredient() {
       Ingredient ingredient = new Ingredient();
-      ingredient.setName("Chorizo");
+      ingredient.setName("Saumon");
       dao.insert(ingredient);
 
       Response response = target("/ingredients").path(ingredient.getId().toString()).request(MediaType.APPLICATION_JSON).get();
@@ -105,7 +103,7 @@ public class IngredientResourceTest extends JerseyTest {
     @Test
     public void testCreateIngredient() {
         IngredientCreateDto ingredientCreateDto = new IngredientCreateDto();
-        ingredientCreateDto.setName("Chorizo");
+        ingredientCreateDto.setName("Saumon");
 
         Response response = target("/ingredients").request().post(Entity.json(ingredientCreateDto));
 
@@ -120,7 +118,7 @@ public class IngredientResourceTest extends JerseyTest {
     @Test
     public void testCreateSameIngredient() {
         Ingredient ingredient = new Ingredient();
-        ingredient.setName("Chorizo");
+        ingredient.setName("Saumon");
         dao.insert(ingredient);
 
         IngredientCreateDto ingredientCreateDto = Ingredient.toCreateDto(ingredient);
@@ -141,7 +139,7 @@ public class IngredientResourceTest extends JerseyTest {
     @Test
     public void testDeleteExistingIngredient() {
       Ingredient ingredient = new Ingredient();
-      ingredient.setName("Chorizo");
+      ingredient.setName("Saumon");
       dao.insert(ingredient);
 
       Response response = target("/ingredients/").path(ingredient.getId().toString()).request().delete();
@@ -161,14 +159,14 @@ public class IngredientResourceTest extends JerseyTest {
    @Test
    public void testGetIngredientName() {
      Ingredient ingredient = new Ingredient();
-     ingredient.setName("Chorizo");
+     ingredient.setName("Saumon");
      dao.insert(ingredient);
 
      Response response = target("ingredients").path(ingredient.getId().toString()).path("name").request().get();
 
      assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
 
-     assertEquals("Chorizo", response.readEntity(String.class));
+     assertEquals("Saumon", response.readEntity(String.class));
   }
 
   @Test
@@ -181,7 +179,7 @@ public class IngredientResourceTest extends JerseyTest {
   @Test
   public void testCreateWithForm() {
       Form form = new Form();
-      form.param("name", "chorizo");
+      form.param("name", "Saumon");
 
       Entity<Form> formEntity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE);
       Response response = target("ingredients").request().post(formEntity);
diff --git a/src/test/java/fr/ulille/iut/pizzaland/PizzaRessourceTest.java b/src/test/java/fr/ulille/iut/pizzaland/PizzaRessourceTest.java
index 9684458..a9dfe92 100644
--- a/src/test/java/fr/ulille/iut/pizzaland/PizzaRessourceTest.java
+++ b/src/test/java/fr/ulille/iut/pizzaland/PizzaRessourceTest.java
@@ -64,7 +64,7 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	  public void testGetExistingPizza() {
 	    Pizza p=new Pizza();
-	    p.setName("Espagnole");
+	    p.setName("Norvegienne");
 	    dao.insert(p);
 
 	    Response response = target("/pizzas").path(p.getId().toString()).request(MediaType.APPLICATION_JSON).get();
@@ -82,7 +82,7 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	    public void testCreatePizza() {
 	        PizzaCreateDto pizzaCreateDto = new PizzaCreateDto();
-	        pizzaCreateDto.setName("Chorizo");
+	        pizzaCreateDto.setName("Saumon");
 
 	        Response response = target("/pizzas").request().post(Entity.json(pizzaCreateDto));
 
@@ -96,7 +96,7 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	    public void testCreateSamePizza() {
 	        Pizza pizza = new Pizza();
-	        pizza.setName("Chorizo");
+	        pizza.setName("Saumon");
 	        dao.insert(pizza);
 
 	        PizzaCreateDto pizzaCreateDto = Pizza.toCreateDto(pizza);
@@ -115,7 +115,7 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	    public void testDeleteExistingPizza() {
 	      Pizza pizza = new Pizza();
-	      pizza.setName("Chorizo");
+	      pizza.setName("Saumon");
 	      dao.insert(pizza);
 
 	      Response response = target("/pizzas/").path(pizza.getId().toString()).request().delete();
@@ -133,14 +133,14 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	   public void testGetPizzaName() {
 	     Pizza pizza = new Pizza();
-	     pizza.setName("Chorizo");
+	     pizza.setName("Saumon");
 	     dao.insert(pizza);
 
 	     Response response = target("pizzas").path(pizza.getId().toString()).path("name").request().get();
 
 	     assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
 
-	     assertEquals("Chorizo", response.readEntity(String.class));
+	     assertEquals("Saumon", response.readEntity(String.class));
 	  }
 	  @Test
 	  public void testGetNotExistingPizzaName() {
@@ -151,12 +151,12 @@ public class PizzaRessourceTest extends JerseyTest{
 	  @Test
 	  public void testGetExistingPizzaWithIngredients() {
 	    Pizza p=new Pizza();
-	    p.setName("Espagnole");
-	    Ingredient chorizo=new Ingredient();
-	    chorizo.setName("Chorizo");
-	    idao.insert(chorizo);
+	    p.setName("Norvegienne");
+	    Ingredient Saumon=new Ingredient();
+	    Saumon.setName("Saumon");
+	    idao.insert(Saumon);
 	    List<Ingredient> ingredient=new ArrayList<>();
-	    ingredient.add(chorizo);
+	    ingredient.add(Saumon);
 	    p.setIngredients(ingredient);
 	    dao.insertTablePizzaAndIngredientAssociation(p);
 	    
diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a9dd036
--- /dev/null
+++ b/target/classes/META-INF/MANIFEST.MF
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Built-By: lepages
+Build-Jdk: 11.0.9.1
+Created-By: Maven Integration for Eclipse
+
diff --git a/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.properties b/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.properties
new file mode 100644
index 0000000..c564727
--- /dev/null
+++ b/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.properties
@@ -0,0 +1,7 @@
+#Generated by Maven Integration for Eclipse
+#Tue Mar 09 09:15:51 CET 2021
+m2e.projectLocation=/home/infoetu/lepages/Prog_rep/m4102_tp3
+m2e.projectName=m4102_tp3
+groupId=fr.ulille.iut.pizzaland
+artifactId=pizzaland_jdbi
+version=1.0-SNAPSHOT
diff --git a/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.xml b/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.xml
new file mode 100644
index 0000000..727e9e2
--- /dev/null
+++ b/target/classes/META-INF/maven/fr.ulille.iut.pizzaland/pizzaland_jdbi/pom.xml
@@ -0,0 +1,163 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>fr.ulille.iut.pizzaland</groupId>
+	<artifactId>pizzaland_jdbi</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0-SNAPSHOT</version>
+	<name>pizzaland_jdbi</name>
+
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.glassfish.jersey</groupId>
+				<artifactId>jersey-bom</artifactId>
+				<version>${jersey.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+			<dependency>
+				<groupId>org.jdbi</groupId>
+				<artifactId>jdbi3-bom</artifactId>
+				<type>pom</type>
+				<version>${jdbi.version}</version>
+				<scope>import</scope>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.glassfish.jersey.containers</groupId>
+			<artifactId>jersey-container-grizzly2-http</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.inject</groupId>
+			<artifactId>jersey-hk2</artifactId>
+		</dependency>
+
+		<!-- uncomment this to get JSON support: -->
+		<dependency>
+			<groupId>org.glassfish.jersey.media</groupId>
+			<artifactId>jersey-media-json-binding</artifactId>
+		</dependency>
+		<!-- -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
+			<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+			<version>${jersey.version}</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
+		<dependency>
+			<groupId>org.xerial</groupId>
+			<artifactId>sqlite-jdbc</artifactId>
+			<version>${sqlite-jdbc.version}</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.jdbi/jdbi3-core -->
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-sqlobject</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-sqlite</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.jdbi</groupId>
+			<artifactId>jdbi3-testing</artifactId>
+			<version>3.12.0</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.xml.bind</groupId>
+			<artifactId>jakarta.xml.bind-api</artifactId>
+			<version>3.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<version>3.0.0</version>
+			<scope>runtime</scope>
+		</dependency>
+		<!-- dependency>
+			<groupId></groupId>
+			<artifactId></artifactId>
+			<version></version>
+		</dependency-->
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.8.1</version>
+				<inherited>true</inherited>
+				<configuration>
+					<release>11</release>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>exec-maven-plugin</artifactId>
+				<version>1.2.1</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>java</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<mainClass>fr.ulille.iut.pizzaland.Main</mainClass>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-shade-plugin</artifactId>
+				<version>${shade.version}</version>
+				<executions>
+					<execution>
+						<phase>package</phase>
+						<goals>
+							<goal>shade</goal>
+						</goals>
+						<configuration>
+							<transformers>
+								<transformer
+									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+									<mainClass>fr.ulille.iut.pizzaland.Main</mainClass>
+								</transformer>
+								<transformer
+									implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+							</transformers>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
+	<properties>
+		<jersey.version>3.0.0</jersey.version>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<shade.version>3.2.4</shade.version>
+		<lombok.version>1.18.16</lombok.version>
+		<jdbi.version>3.16.0</jdbi.version>
+		<sqlite-jdbc.version>3.34.0</sqlite-jdbc.version>
+		<jaxb.version>2.4.0-b180830.0359</jaxb.version>
+	</properties>
+</project>
diff --git a/target/classes/fr/ulille/iut/pizzaland/ApiV1$1.class b/target/classes/fr/ulille/iut/pizzaland/ApiV1$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..24bf15125a480e7981e5439782d609cbf54858c4
GIT binary patch
literal 609
zcmX^0Z`VEs1_pBm8BPXf25~M176wsv1_^csNk#^?l8nq^6$3^Fd7rc*{nDJwoSans
z%+eD5g3PL_#GJ&u6n)2n%rHZ1Mg}&U%)HDJJ4Oa24FYO4!x$M@obyvs85#I}GV@aX
zN^_G^i$W5Ua#9%?gnaUo6LZ26i!wocs2~f-8H@}(o_TqxMb0^i#l@+`j0}qS?NI@_
ziZeJfJuk7Ov?!I4!O<rxu`E%)v?Mb}-?6ADvC=2AxWophAxWu;dByskdFe%|DVeEx
zCDwM<j0{}C`K3k4scxAdw{n5~t_L!ek%8YeFF7Z_I5RKZH?<@qKZTt^iid%nL7I_)
z!!NbC#3R4BgolBZfsK(t9&b>p7&0;lgN#ITC?kU`UVV%V%o>_u3<?a)3@i)`42%K-
zAlpDJ1_lOp1`Y;B22KVB20I2O1||ju1}-h_tqhD>+ZmWPGB7YOF>o<3Ft9N&GB7YG
zFmN+4Fo;1^G4L?(F@OLU*fd54RtA2sdI1JOFfGI&%)r3F!XUyR${+?75n<p3na{w;
KzzovJzyJV2LXnsN

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/ApiV1.class b/target/classes/fr/ulille/iut/pizzaland/ApiV1.class
new file mode 100644
index 0000000000000000000000000000000000000000..6f39718d330c615943b7193e602cbafa80b8f914
GIT binary patch
literal 3039
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/BDDFactory.class b/target/classes/fr/ulille/iut/pizzaland/BDDFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..cdcbd60121fbfbdf1502ffc86ff6d9f055c53ac3
GIT binary patch
literal 4503
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/Main.class b/target/classes/fr/ulille/iut/pizzaland/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..2644378f8590d5a2ef9f74fa63104155282edc01
GIT binary patch
literal 2368
zcmX^0Z`VEs1_pD6N-hR&22*whGY$rGE(Qw*OLhh;E(TTxQ!WN;1{*F0CI(wh20I3O
z4h9Ey21hOiCkAIO1{Vfbkf0kEgFAx<7lS8*7Z-y!gAXSI6N4`ogCB!G2SWfCLm)#C
zNI00CA%u%ToFSBvfy2o$*fl;h$di#l$R{hYEKxrvF)v*|xTGjEFWs7vf!8@duec;J
zuOuunr!<w3fh#9J-8V5WF+H`2kwFfkqqHP5M?WV&Jv}ooUEc>TZ_UWSW|NthSz^b?
zz^tJe#>l|poS%})$iVNDnV0HUnwykb6q1;flM1prKRGccEU_pP#D@y9lw@QUgDgoa
z(l5=)%*jdB&nzv`FUYK_O3X>jOVRgD%*?Z9WZ*6?Nh~S}PAw_}xye97(<i?uT|Yf1
zvA8%bvp7RPy(qJ)DyLFEqokxjzZk4c-=n0Y0HVX1k%1*QF*A>mK};hW;veJ?06ROe
zD7~1GK^TiPBLf@6L`DWZQmy53tw>HSD9OyvD`sa1V`Sj4NzQ==7gK5lBZDZCYv4*j
zQ4(B|n4ImKSO5(tuHgLAqU2P!Oi)O2f&xVk6p=g(at!i}3^MpakC8zZ6e?Ew`Z=Ho
z$jC1)v9d6*Fwjpd$kZ=0)MsZ1=V6Foh-74t#bu0RL1vgCJ3|x?Lo`DS4}&U$8aqQQ
z4?`S7JR`$#uhgRA)JlcKf&v9_B&DV(lxLP?D1<w@_$VZnC1&P;;#(oHL_xJUv7jI)
zGdU3y9(v`8DLGuJ6$SZ4B?><N?(x2^!NHF1uEDk?MWv|<1^J~#3T643MG85o#R^5K
zg{6mAm82Fcq?RZY9bQ?GpI4k(4Abr6>J;i8@97uf8sz8bgH3;GQBi7XQL%!lfdQ9C
zW{E;-UP)?^LP@?taY=rGLS~7co*pBE04PKuS;IdmD>b=<ogsmTA(0`8ogtZrA%!88
zhart2ot+_rhar<8i=82xharbSo}D3=harz4pNBz)L6)7NfQO-wp@@+|2%1;)3X1Xz
zQj1D5Q;XRdig_4H7)p5<${5NS8H5qmxxx|&4?_hgJ|R+>`TCyza4ALx9<YYI)DnGg
zR%S~sN=+<DWn@s&KuSc=OsxqKf-1IVWN<{yFInJ7gJl~daK3>ga(#D5Rzl<+x5VU<
z{Gv)m1_6kT2pL9(EU4Wui_r21)EcPCL8-;yRP3CemzJ4sO>!PailE@i;*!){Mh52m
z(h_(s%FNdfD9X$$2`(v0P0Y1MiBU+nFfy>E<rn29mM}6{LS2qr5FlrMND{Dy1|+g7
zSk$3f$H>550J1zMkC8zXi`k$;h6z*zL9;w4cJm5K5spPfIzpI{fu$%lF$G+<dNMNT
zphhD8LXVMw1(doO8Dzle21fzT$iSPPT7oFh85tBbpnk@o!<vzSA8aBxOq@YQFe3wB
zdTI%n>64$B0xF^<VWuEdL8Po18AQ>vLnIg(gws<?U}?m$7!r$&44T*i6Oz0!!cY(t
zT9D*bS_Cd;7#Sp>`q31F;)5R?W8k7Tq$n{tl|hk#iGiDefq{uZl0lL|ih+?q8q8y6
zkOF0I1_lNe21Zbs%fQH>z`($u&%nsQ$iTqBs<oYgaU)o%A_D^h8(2_?L5YEZfd|ZH
zWl&~NVPIh31Qni8%^D2M3?LvN#Jq!nWj6zB<aP$O9SrOn7#J8B84%`}F>o@dGiWd{
zfvwD7U}IonU|>+$!NB3OiGfpyi)AkZcO<hAbMOuZo^1@gn;7`EG4O|LZ(|TZxJZnF
zm4Si5fq{j=kwJpNg+ZRdl|h-o4eUZOh<OZ}3|e3hDllj>=rAxc=z@8S40;S44EhZ6
zP*)c*FoS(0zk@+=GlS431|cD)Z4AOfBHI{5w=sw<XW;PG+QuNUk%5tcjX{h-l0lq-
z8SEJ;1~vu;22ln!21y1n23ZD425E4p$}z}+odF6cDFzk>0|r9|1_mPr1_pKprbu=M
MaZr#OgTvMY0Qii6jsO4v

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/beans/.gitkeep b/target/classes/fr/ulille/iut/pizzaland/beans/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/target/classes/fr/ulille/iut/pizzaland/beans/Commande.class b/target/classes/fr/ulille/iut/pizzaland/beans/Commande.class
new file mode 100644
index 0000000000000000000000000000000000000000..66e626a051ea03a7e2f0fac720abab31e6b2de9a
GIT binary patch
literal 4384
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/beans/Ingredient.class b/target/classes/fr/ulille/iut/pizzaland/beans/Ingredient.class
new file mode 100644
index 0000000000000000000000000000000000000000..4df2414151b5fe27b80d647674923b6197b55126
GIT binary patch
literal 3482
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
F0{~oY<T(HU

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/beans/Pizza.class b/target/classes/fr/ulille/iut/pizzaland/beans/Pizza.class
new file mode 100644
index 0000000000000000000000000000000000000000..6fa772e07d764c37940d366e4d8ca8a024a6b517
GIT binary patch
literal 4171
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/.gitkeep b/target/classes/fr/ulille/iut/pizzaland/dao/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/CommandeDao.class b/target/classes/fr/ulille/iut/pizzaland/dao/CommandeDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..1747c3ce9ad01f15a075e7678356e34099f7a6f5
GIT binary patch
literal 4937
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
M3!1mGz!@|f04-zrp#T5?

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/IngredientDao.class b/target/classes/fr/ulille/iut/pizzaland/dao/IngredientDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..e8d1e36b85adad7a03913a072ccda587c8eb7444
GIT binary patch
literal 1504
zcmX^0Z`VEs1_pBm4R!`Kb_R7u2JYmd)Wnk1ki?{%R7M774b3n{2Fak(ypqh^)UeFr
z%%q%D$Gp7!lEjkC{JdgD25q1GqICVNl%!1kGGqPX!kql1tkmQZ{o<0ulGNPPyb}H3
z!ko~8l*E!$Yeojvvc#OyR7Qp*=O9<d5Lbl|M<*Xw1y45xKmQN~*9gzxkYI((y!4{f
zl+4t;l41po%oK$%#~^19#~=+uBMVK1fFMs_$Dl|BZ`Vj2g}lVvRG73vsGnzGs4LhY
zzfd0^O-2UJl%o6ss7DlBg8Tyz)?r%3$iSAFSDac@!pNYj;geRRUz(Gdlas2SSz4lB
zkXcogn3I^7qMwwSm{+Xt33s72D0s{~{eoSCLKHmxLj2KP4{@ZXLYSjZsB5r-hE-;Y
zj)E1);hKyLN~qx)kXV$Mn_7}uL{tDLmll`g=Vn%=7U?@>=A}5LCgxc)GO!h;=H{2B
zGBOBj_+%xPCF+-!Waj9HhI+byovP;I>f;*Xs^Avn?~CHpa1YlYSB1<J1zQEH%oIij
zbsW)(W~((L0~1I&R~pC(m41o2sf-MEP^)ti^V0Q$ONuh{(ycX#4^l=3EgY7kq^ZEt
z)S^mjMh2Z=S07jB5Ctt<o&p6n$Xg(qk--p$*~$5NX_@KzL8<AP#U-glpy2dPEGS4V
zvIe<_==8wIzyh&{Ej_iwF(-$SK}bUrDJFa}i%YB-890M8)AJHbN{hh3g|5Jc_`tHW
zW@M1W83K$99FU0dOkrfOfkq2biXh$|Mg|R>wkV({9<Jd0(xT*4w@gqGB812-E{XYi
zphU^YpouF$Qxfx$vX@I@J|lwwNQ*u=G5Leb7B)r(Mg}GZ5MXCvWMF1sVPIrnWnf_7
zW?*DsV_;-pFJ|CiVPxRMCc(wR$iU6O!@z{DgO`Difq{V?WHvto0}CUA0D~Z=Dj~2c
z9*`<wh)p6aj0~a-Vo;?b3``8-5D5teNf0BMK?*~UGz%kx41+8K6N4NB0|OI-JlHWv
edKKV$Sr{1<8I&+hSB9&=FkOU!kwFD)t||bY5s?`H

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/PizzaDao.class b/target/classes/fr/ulille/iut/pizzaland/dao/PizzaDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..889259dd50dd7c39c63779e5e51e7144fb5556ae
GIT binary patch
literal 4816
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgument.class b/target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgument.class
new file mode 100644
index 0000000000000000000000000000000000000000..8ab0259d8479d2c392ee7866f83cefa28d1f494a
GIT binary patch
literal 947
zcmX^0Z`VEs1_pBmJuU_|23bx9Rt7mP26+YrZU#jLC3Xg7b_Nx8231A|*0RK$(o{wU
z0iUeIvPAvTlFS_a&`?hoYeoh(o6Nk-5<5l)VGVRi%`ip=7U%qwR7M7VpUk{eztY^K
z)S{5Yq?}Yn1|gsP<iwn?#G*_PA1cUFl95@=$e`tuR-|8=lbMr~s-Ia}qF<0%Rh5{N
zn3tlTl9&&+*s&<RG&eP`#F~+THL;)|r;?GuSHlzHfa1a&{eYs>g2bZKl;D!Yl2oul
zpZub9{j8LvO#L!r{p9?jRQ+O@oIYHYbADb)YDI}P$mJXb`Nf$fnfZB)42+(P44iP~
zj0`gPEMjC}PA;inWY8taMn(oM*NWuS0+5Bp><ns*3|ztarA5i9ZkeFa5(I@d%+q?H
zNZ?`MVo>K{;9%fnXVBnb&}7hJXVB(h&|%PJWY8cs_!t=kKxXOZB<7{-`zK|kCYLZW
zC}D(DA~dx1VJ=`~5C!W41$A(s58UO949ps!u;T;E!jlOj14l`Ia7j^SUOFR#h=wL4
z_`sGzM6DSaq`+E024ch=DDYEDASxLd#9;A^tY0&XL6L!#fsKKYft`VoK?oEs3=9lR
z42%q14BQNi3_J`B3~mfe3``6R3|v~<85p&+w=yto1gqg?U|`^5U}j)o;ALQ8;A7xq
z;Ah}tU|<k~sAk}25MTfSF0iSL42%qd3_=V{U^Al`m>F0Y7#R3<q_ws%Fl}RC-pRni
z%z!YM3v7rm10RD3*ibEqa=4-V48jZ|42&Qn7(}5~@-v7tNH8!nNHQ=murM$(NHH)n
JNQ0d!0|1B+<In&A

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class b/target/classes/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..8122dffbc0315bb1fdeec8164c1ccd3aa2cb7530
GIT binary patch
literal 2057
zcmX^0Z`VEs1_pBmA9e;cE(T5pbs+`@1|4<=T`mR=20bnY76yH81_K5|b_OGM24hAB
zHk-`6%o00B24)S-Fh&Lz=lqmZMh1SL%)C^;(%hufqL9R-oK!{zA)ox@#GJ6iqD&AU
zD#%ijky*^hVCa)pq+gnonUj;MpIKU>UyxZ<m6(&5m!hANn6Doi>gnQGlwO*fnpfhM
zm|T)yRB6q~z?xK=nUliE5U1gjl~|UjUs{rx16FG7lV6mspOuo7sb6NSpPXNms-K*n
zmzJ5X?+m7bQqwbwONuJ3H8B+?Laot<*$1+yEHS4vm61UJ-5y2;Hi*HD3>uh5L8Q>_
zWMoKyx;G~=FJ0e1DJwO(gxW6V%Sp^lN=Z}!hmeW^BSS3IPDB`aLOfGkn4=$1lv<Ej
zl$sJ;l30=o3S%tJDTc}E!&N!w=ar;ZlvslzoueSXII|=(KaY`t(UXyZ6Rw<*K?a{i
zj10`lB^8Vex|qQSHv-c}Mg}g|isaM+kcGwU3?_^WoWYstd5I;ZMX8Jou9#*aVl}C_
zq$n}D1Qxr{)MNv3BO-L{tQi@&g7Zs@l2hF>L5WuaOB&PzB|An2J`kl33doSkg4ALj
z1}+9uMg{?={QMG-Wd**eB^miC#r$jxW&#Z6{A>&sJPei$RxpilOL-Us8H9KktQl<B
z8EknN>=^7B8T3ia7K{vr7-^r7=NTD9;XVis^nr&gBLj<ur)C%zg9C#jBZIF7HB$_z
zC~;zBU`;G2$f;yxFvCcmL}pEnlKkM3qRhN>Mg|cLO-L+)^A$wYnvp>Y?l+8N4oat~
zB@mU23}P@3BJ0--V`p&YVQ^va;9-zpkYr>~0viWbl9^YQpPj1j1I}u`sU?YNkfMo^
zfjbw$V`uPUWMK2j&(AI`U}WI&%*#tHa?VLCE>10GWH<x$H?nz<<l>Q-my(lOtOC(!
zjp;Ka5vW5T8bN6gSvm2N5G(QPMGj)9$<B#6Il-AFsn+Za-i!>Y7~unP7Q}Fve;66$
z@T+4`WZ+=nWB>sc21W)h25tsM1|9|m22%zm21W)326in0p6v`w8yOfFm>75&7#O%1
zm>3usco^6icp3P>EU+>Leg**s1_l;T-hvw8%D~9L3^GD{7l_^fH-ZgpvLINy0!WI1
z9jcvyft^8^K?E$%&LGMl#=s=t!XU^X4mHw*ff=lxOH2Cz1B=c!23B-axxl9KfKA|n
zm@2>pN>U6=V1I=$Ff*`#oUJ3RwT*#oCj&b(1HyC2F4Kaj1G@(lK0FLk4ANk8c^G6E
zWTC+z#~{zZ%%A}FIwON30}F!^*q_P_Dqvcb!5tiEj0~;}o(ygbk_;Lk+Zh-cG#Qu~
Jv>3D*v;gv)F$n+w

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/CommandeCreateDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..faeff370c78e9295738fa796f1ed33748b284bc3
GIT binary patch
literal 774
zcmX^0Z`VEs1_pBmIZg%^21zakRt6~$OPZZQhMhr{k%2icKbMg~$R{hYEKxrvF)v*|
zxTGjEFWs7vfvun@6)ek{o>~$BWs7KNVpGfFoS%})$iVNDnV0HUnwykb6q1;flL|69
zKRGccEU_pP#D@y9lw@QUGcxG=q!sCx=49sNr0QpumgpB`R#heDB<7{)r<CODJLl)-
zCg!E2Iv1rTmZZ9r<XbZ`a26w6BC3Ju5X~?~1~!|_yv!0iMh0dLFt<3h#1G_0mb}E=
zR7M82bSR%IIKQ+gIn^x_<V-OP+w?#o!o$G9z|O-U#30PWz{bGN$e>G-iy0XNK&C*#
z)jugKHMxXAk%5JQm4ShQiGc}ZB$&m)z|O$Hz{<eLz{$YHz{tSOz`&r-z{tP|64lzm
zz_<adjE8}NfekFk!NAMFz`z4$voi28@G~$lFfs@*2tqa6fsJQiVAImx%D}i0uA7U2
z39OHmffsCo7?{rnH34Kg$SEL;g&2gPW+5E1oq-8q6vQF?U}Ml7B7)r^%n02OhX^sS
hG6;iBz;uWx13Neb#IS}4GkS=KfsH|Th&b5i5&+&Nf)fA$

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/CommandeDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/CommandeDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..5601622517bcc0665292903b01d4c3024a49098e
GIT binary patch
literal 1540
zcmX^0Z`VEs1_pBmQ!WNh23>XrJuU_&23<}D4hDS?VE`fwL4*-IgE2dU2_pkjW(p&N
zfKOIpS)zVvNoJ0IXsD-)H6sIaUVbhkgAha_CowNwKe(hQGcVnmk%6tCC>1QrR*+d$
zl~|0b-zT%U#F~+TGdMFnFR`SwD3y`H9AXOCc#yP>Pg;?FX-;NNPO5%pX^B4An4HAC
z6#b;s#Jpnt0FbfPb|9;4GV?M^>=+rCH8jH*8Cab2Q&Jfj_<b_-QvFJElTwR95|eUL
zLGH{?PRt2QEXoA&p@J+W8JWe544OD?ODW0Mch1kvP0UM4bt%cWW@KPZPc89GVPp`}
z&_r@GG)P#BA(Fxx=yD*pv8AV$_<_Pq1f~}))QX|<qEPL~(jWsk(^E?VpdrgyjKl_s
zgF>Vj-Cdxtv}R<mgjq;N0D~=p8jj*Gu-PDIiTR)eZDm0!G<dC`{vg>_kf~h3`K3k4
zscxB|*b_jC1U*nn<Y5qI5Mg8x2C*Tj(y^#0u@dAa9tM5}0Uib}25ue(9tK_>20jK}
zMh10U2?{NW85sn?W`e`sKPf9Uxr9NHfrEjQfq{XAfeB<R0|NsS$Ye0h$G{7w`56Ql
z7#Re?Y#|0t21bwr85kKv85kJs7?>Ft85kG@w6-%aYVBrVirmh?yp@4vBUrT<0|Nsn
z6EZMxGO#f4GKe!UFz`UsGe|H<GB7YOGDtB<L(S4>U<AvtYHeX)-2gX$4J^oyq?r}2
zS%yIts@aZ#iGhiMfq_j+dn*Ggy7fW~tPH|n6T~2@pe8Uduz|e|vRIBm9%>e{L)g$A
zA__JJ;tPaB6c`ktno%6WhVBpv237`1unCwB;bGtfhkz1Rhp?kNL>g=ix<iz)JA@tG
zA#x0?4Dw(TFdYJlcu<I_FsL#xfuk8YL|D)rq6jty)gh47qQ=0;pw6HHH6#Eziohv^
onE{bPR2WzpRKX@;ItY>iHQ}j;je(y*2%aXj7#JC}!O2Aj0GEps(f|Me

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/IngredientCreateDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/IngredientCreateDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..72f808355b3aea86906d0e983ebb7aee408358e3
GIT binary patch
literal 588
zcmX^0Z`VEs1_pBm2`&Z}1`$pMW(HAq1~GO9aYhD~yu{p8Mg}3Dti-ZJ{hY+Sbp7Cx
zqRhN>Yeoh(o6Nk-5<5l)W)00SMg|t={FGEi27aH+yi~u^+@#c^ki?`Mu;%>a#GJ6i
zqD&AUD#%ijky*^hVCa)pq+gnonUj;MpIKU>UyxZ<m6(&5m!h9ilCSTXmtK^bl9`%U
z;#`!PSd!{el5fq(z+RkM;s<t?s0OCHKu%##hp7<J(8N^2$iNkxUs{x$>Xr#|p9B_b
z^g#aQVPI$A;9+28U}I#^C()gZ3<4k{AVKDzl$DxX!l1~&%)r9Hz`)4B1TvI?fq|KU
z5o8AgBLgP`1A{&TBLgD?0|Tqpb_T|c3=9lR3|tHh3~XRQb_Q++1_mB5o0WlwffsBL
z9|J#BvmFBy0~1KKmiAT#CWLM-uqYP;D+4#!1Tiq54Qc|&bXKqpj0^${f>5&%4%x!M
Sv;oZ_d|+eH9U=r)B@6)ergQ)R

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/IngredientDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/IngredientDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..423b863bc37924e99050c20ee9cd5c81f033a817
GIT binary patch
literal 812
zcmX^0Z`VEs1_pBm1uh0w25C+P76us*A<NDn$Ic+n$iS4D!pI=tla*MOs9#!=nWG;X
z>gi(5$iR}9n48MTAOw-gNz6;v4=yRn%uBasWMH$&%*!mXV`N~~&<tZ_U~$e*No8c<
z_sPsl^()OyN-YXWOv(Xk&QDIv2}>->1o5GQEF~G4#f%KvK50ezr8${7IjQ=Yr6u|W
znN?MZIf;2G`Y9#(`kr~|MX4#7sd*(XCHdBj46MbeC7vma48j@^_aIyfasX>OL{>;c
z6J45-fxS4j#1HHjQK)8Q&w#YEr^8f;zzjfE!pOiCoL^d$oa&Yd_7sZS^gsc}!@$MB
z&BMUPz|O<K!NAGLph>jf7#RdWCg_7L^iRr4O)g<jWME-nWnf@nVqgN931)FHa56A3
zure@$tYTnf;9+23FlJz6U<8S3ZD(NI2v)|+z`(%8z{J47z|FwIz{|kLz`(!*QN+N{
zAi%)Dz{nuTAOtnQ4r~Pj1DlriRt6??69gDo83e&5h=EOHgPOp=zy@{}$Z}x@5vW=E
zaK~(6VA=q83>(;T5wJ1n4iRM#gK9=`2s64vBp6s3B*7+NIs_ChAcu%ENI=a(b_g@N
PLuA0lpgTko>|7}TFN=xL

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..df3ccff89cd1129f2b21094807d7a8567aec5efd
GIT binary patch
literal 573
zcmX^0Z`VEs1_pBm2`&Z}1`$pMW(HAq1~GO9aYhD~yu{p8Mg}3Dti-ZJ{hY+Sbp7Cx
zqRhN>Yeoh(o6Nk-5<5l)W)00SMg|t={FGEi27aH+yi~u^+@#c^ki?`Mu;%>a#GJ6i
zqD&AUD#%ijky*^hpyQKPq+gnonUj;MpIKU>UyxZ<m6(&5m!h9ilCK{C;yD+kCYGeS
zl;m48GO!n?miU2PB&vbwB#<lE(_tz^G&C`lFfwoj=a&{Gr@Cc=oF<HFgC5A2JPhm%
z96SuH3~Y=HTEx4KkwE~Y8xltTNm;4MB@BuT%nU3H3=E76Od#_Z7#Nrt7(vD}Ffwp5
zFfiydFfuSQFfg!cZD(NI$iTqB#K6VCz`zC;WMklFU|`?@vsoE<7<j=3@iFj2HQO;T
zF))EtYiVy~U_$8T0*i7ourhFgO%Ma~*`OwXOlJk#z{nuLAP6-J;gBs1OdHS~!V5MA
K-629?Rl)%5FKzq)

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/dto/PizzaDto.class b/target/classes/fr/ulille/iut/pizzaland/dto/PizzaDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..8a48bb38b57cf09dbc79df03d03a130916da0091
GIT binary patch
literal 1380
zcmX^0Z`VEs1_pBm15O5Z22Cyo4hAiD25l||W(F;ghz^L*WoOW1XV7P4V9HEkWDxMl
zN-Rs%FD=Q;(GLyvbg^b+V986&O=V;dg2?0~=B4WgmlS2@rCT#HaA)SF7p10TrskCt
zqiXiaEH1HTWZ(?WOwUU!DJ@E6WUzsl05%&WZR3+xq+gnonUj;MpIKU>UyxZ<m6(&5
zm!hAPnwVFt?+G{C+RmDhfiFF^1R+$+$RMPliDn|mwa)n|sf-N#KACx`ex<odsYM})
zNjYHm=O-uTge4Ybg7{EDmXeIjVnzlvoGwWz$=446xyz*_-<pxZ4#P@PJyDG231JO%
zKWK(AGKl%0IJUAN73yGnbmb)34>Fp~CNnRy#Ey}HSp&pn1vw~%kpaaW;Ft%?g2Frn
zJ*dIbj126>sU?2kv>^(06>{PLX=hJ|sStq$9I_Hd2Cm@z(xT*4w@gqB@xlUH50nOZ
z7<d`@co<|E<QN%*K?0CO=~z^hSP4o!JPe!+Ts#ci3_OesD!397a`Z7W2!M?NyTCsw
zD>b=<L6L!-frEj8fti5`WE=wn0~5$ZFwM)r$H2(I4`vH6urn|+2r>vUFfj--Ffiyd
zFfuSQFfg!cZDC;C09GQxz`(!;7UX9TWnf_70kc^d#2CaG7@)>TFfcMmGDtxU31DDi
zU;^pV(%#CzxDo6OkSSbXQ6UCa24S#CVqiWS)FhBC5T{AQZDC{JWe|WnR)&EQ6l@HP
zV5d4UFoRtpptYTWNozL)bL4gg7N~tp3?TdX7?>Ft7(^IY7<d@?8N|SLLR>EZwUd!S
zo<RX>o*lBQSwXIbm;!ON1OqFBB-jK@S93COfrCwvK?!OWaxk)@2crzw7>Gk)!N|y<
y%%B3*jN%YBbcZM~ureruO~7;rH#l+_8B`h6pk^UEgbm#xDqv&K9ik47bqxS;-3(j+

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class b/target/classes/fr/ulille/iut/pizzaland/resources/BDDClearRessource.class
new file mode 100644
index 0000000000000000000000000000000000000000..f614aa06861336d4e26735139598130a476c4d08
GIT binary patch
literal 647
zcmX^0Z`VEs1_pBmSuO?^22m~sF$QsV1_^csNk#@Xo6Nk-5<5l)W)00SMg|t={FGEi
z27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J{_>XTNaUz(Gdlas2S
zSz4lBkXcogn3I^7qF<C+oL^d$oLa2!<l^F-lbTo*lv)fCvSwu9O$Ld$B$gy5B^IYL
zGH|(8B&QaXWaj4;volCBGDrrM=9OgTriNt}XC~#OI_Bl&mn4Fv85x9qvJ$fsi%Jsp
z%Zv4kiuK)HL#!DYxPrmfxn+W!EQVpHURGjRA|rzcn%;oKk_>A`2G+8~oYGVt237_(
zb_Qu41{nr6Mh0UtyvE2N0J2CwCowNw-#;lUHMxY5K@==hT$rOD9Owi0C?kUsE(@Go
zT-*|qOY(~<85y`zit-D<fnLm@$iU3N!T<tH42&ShGB7f*GcYjdGcYnRGB7Z(YHep=
z+{nPdz{J48z`(!;7UX5%WME+60kc^dxEQz@7#J8Cco^6in8BKjz<dS<mK_XC2)$ek
zObiSRf(*<ILP+{qp!#_k7#LU>7#a8&_@VX)fNd27lR{uoZU#mMVFpG9kzxiO0QaPo
AD*ylh

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/resources/CommandeRessource.class b/target/classes/fr/ulille/iut/pizzaland/resources/CommandeRessource.class
new file mode 100644
index 0000000000000000000000000000000000000000..78914e4cabb082bee560f10148e0442293f83d17
GIT binary patch
literal 6342
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

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/resources/IngredientResource.class b/target/classes/fr/ulille/iut/pizzaland/resources/IngredientResource.class
new file mode 100644
index 0000000000000000000000000000000000000000..c382aaeafcaea73c236d9f73fda5b0d89dcaddda
GIT binary patch
literal 6739
zcmX^0Z`VEs1_pCR5iSO0h6;9uN-l;fhH6d*BZeAo1}27D5UY-Zp`MGOfuRv3(!|Zc
z&(JKyz`)SS&Ctcr&Bf5e&<kSqu`~3844ELrz{oHeq;v`wgC4^K5HXdVVH!KbbWVmD
z3^TbH#299AG0bL|15z^=BsLGEW<H3!0A$}nZiYn+i$P*bxEPj#OjyRSoSk6>7sE1!
zm0S#~7*=yJtYKISBGz#+h%&4PnXv(+eItmq38Z8*Nc$XihAkkv0z_;TVqjvJ%+9c#
zi(v=D9FTu@GBU9F_`AEi1~D>7`D7)QCF+-!WajAS<fo@+=B4ZV<fo^n7FjbgaA)SF
z7p10TrskCtGcsuVq!sCx=49sNr0QpumgpB`R#heDB<7{)rzGa<d%~5vB<5Q)GO(8x
zWqRhN<ufwK_+%w!Cl-|?>X#Sm7ZvL#=NF~wheBkn85tylO7luGb5p}Ii!+mQQXTX1
z@=Fp+GV}9_acFhU&nro-D6wW_V6(~0%Pg^DWMJ0N3}a+qan4UkWn|#@$;?ajE6q(x
zEec6Y%1LEp5c0`SPRt2QEXoA&p@J+W8JWe53}!feRg_wsUs{x$T8!kkAgCC~^7Paa
z$DABS1|bbiq(Jn^ECxA^F^7>s08>~D)g_e$sZiJ0qN%mP>8z9zl)x^@x3;rpWZ(?W
zOwUU!DJ@E6WU$9@5UHjKqeYp!Ylt-?gFt#}iGN-yBBmJ`Y&DSF9UAKCVy#Jn!x<U4
z5Gjn2K?|qWq}0Sb<Y=&FWME8XWDtc|o|BlDuJ2lroLT@%Hr9*`OqnUDp$~Q$BLi=6
zNn&!gZ(;#7&_&R^8IV|#Va>?ET9%kon##z)Qk|Jn%g7*suBs?Mr8GIU7!)Fj1qC^o
z$>8LwpH-Zn$H>5sEL4%3!^oh7n!p1RixP8FOHzwaQo1C%C5a^&V3i<Sl8aIkOHjf+
zKm%u3p{5UKuvV9nd}~l5#mI(1sl^5PdBv&Lj10VpsBkIC$D7?TQXnG(b7@f~BLg2K
zLh@2e^h1L@tr;1F5r)ED!pLAqvf~*UI8rMzi%T-|(is^rqRl@ToIF!fb5c=*Ngqq{
z#8Ma`g@PDbJh-^}xQ4h|GcpLKr<Nd6zF%T)DkFmmR^!VO^}#7JxTGjEFCCOOLFq_8
z53I!yss&jEp_pNTXcdA4F0xL{#Oa)$S6rG4PMnG;DN(n)yj(XezbIF?v?wPvFF8LY
zHHDD@J=wYC7v;i|9fwVF4zzsb3I>;iZkeFcR2&fuu;Ne;REaP$@aQ9=yO@W;mcfpZ
zL6hi8gPma)55sPTJv<EN3>G{Ldl~F_7)%+=7#SonEwq9ZzU&P9co_CG9N=MaVQ}SP
zILL5_kwL&IKfk27q$sh#H?<@qKc$$Tjp48W!x4Tq1`z><qdW}97>=_uoZw+N$#9CD
z;WQ7!8HTew4CffmGcxdjyaA~TLB%)^!v%(m{A>)DI2bPTFkE5C;bFMSaE*uII>S*$
z24S$;9F(GmkwFzTb%m!UIU-63coD_UaD#{8Hp3lI5Zz^GxW~hApWz}8!vltgJPeOO
z!jBoA@Gv}Oc*etE$za9K@SKO?1;a}ohF1))*%{ujGrZ+tc*pRbkwF0A2LGh2)Z`K#
zh7SxM*%?0ZFnnhC%FghOhv7TJ50Kzb9)@3_@ca!j{SU)m9)^D))_+C@Mg|RBF@#>~
z@-Q+o9N=JNVq`GEr3GJ|$<D~k!^pzO%E+LEOS_Yci(6uHNq$i!BLhcLX=YA}OJY7F
zgDP^San4CBE(Vuou#5)rJE*+^DJY?(y979Nu(WI#8CWvGEfY~>bD`N4)R15+E-6Y)
z%w=SdMyW|5qWZyLNoy`fHb!<v1~p_epe_MrXbi`N<1Vt%1DeE2logcGD;XK&QCyo=
znwJc!5B1%k3~NRPaYT@yc!rUIIXAI@k--A$8E~Ls8UXbdSQbUUH6w#GhSARXIXS7I
z$Sh`LU@OT7<tRo5ITSZS4S}l!wHuQm+87xOkR5}e66zLk280GXBLhcCJ|r3$8AM<f
zfmJ|6t+^OE7&#dkgwxR)G8&AUj11zriP@>n`FY8SCE=MR8K9E1BoW;5<w(oSOL407
zOkrfOL3R|lS%JI3gAuKa46G&j;L24AwVVJqiD9*nN^nVHNhv7MU<@A5yu8#RaKcY5
zW@O;>^ACx4^AGiNVPsH2tFN$`WX;H+4stfm+8=78H7M=t<I0;j+7*lp?CGf`kou4d
z5>60~9mq;pE`WwVNnyp|?C<C1<LMm2$RM6pl%I>J1(2E&vAA;;4hQ4OTv#HEEi<n;
zwWx%VK^M107}`MLD1{}4p`9K^1~E|el~kOcQ(BS=YIHh*in`PyMg~Q2s>O(?(4tJJ
z5>WFL)DlTS?{|RHB1#no5@BSJ#qJKMaf}Qs1&JjYj10zDV+*fdkW;{AG$VtuMl@36
z1ezV8ITX<tl*VElEYUMEutN&(6h;Pqm>}Gdux<v-ERfL{fdtc~0%Jh6TQf3f<FOfC
zIU@sGYF<fZNhKqLBXXc1`HB>)A%!wd9oCEt`~^jsc_rYkNk~y*aw;POA1H%6Iy<`t
zgg83+xH2-Z6{Y6pm!&c?2t!>2E`mW349>G05Vfu@j0|kW(841aq!OpK@Enh~_`nQE
z_F`CGXJlk#;0Kra-~tw0I59GCrl*!bh7TAS^gu4aC;-4(z|Kb-ZeVBR;$h@w<YQ;#
z=V7?QD8R^|1Xc?+J~OW@KRZ?5CowlECDAvvBry%vOyJH%@YorJKtmh(`Profj0|Ux
z?S~owX%c!Q=B4DM7OVJxRazq@U1&LlB!Z$bq_Q9tSvm2N5G(QP1*K|OctK5ePRz*(
z&MX1-&r~o%1L9anjRkKu&7i%nA@*A1&hp4n2KNCwqcFIAjOIgZF~Z0ohv8WibqtCO
zMhwaf3=GT+QlLHp0|NsSsMo;2z`zJ<GBYqTSTis%urV+)*f20Ka4;}}IwK5>4E78R
z3;_&G42%p63{qO#85p&Mn07EQA7EhG%D|$vg@I)!11lrLMzDDf3=9lH3@i)`3|b5<
z4B89=3_1*w47v=C3=9lB5EB@j7@Wa&x-hshFoR9+VqjumVqjpf*u=ml#J-Jz17a#C
zBg0MxE=Go34BQM1I~jPG7<Mr5?quL&VmQFS@3V=4O?w-Iz%~XB?G0dGA?!9};9xLj
z&|xrPFk>(U+bsq$A8NM_0}q26gF6Ewg9p@I5D`xXMg}jiKfK{#;RAN7FM}V{t&13#
z8JHOu7>q#n?_v;SV1T+;dnbbs6NB$21~#2-48q$OICOR}h-~oP%^()Ji9vijgT#IY
zMg|@RRR%Q%Q3hrPkZYwF*cccXY#4YL>=?uu>=_gp92nFX92wLZoWQOIg`qeDKZ8Fw
z{M8w_83GxCz&<g8`h<bOh#{CEgn^ME6cTr7><pq{x63gwGl1M4#=yuBUd#}|5D8*L
zGcXl1L=`hcGsJ*=4(iIpg2am%f*BYY;uzu?m_RYYD8j%Dc3Tc8CbYLPNbY2iVq);s
zImW;T@sKpgL)tqSWc)xXbayhyGBN1xU=Xnar3ks54DyT&y4x5OwlOGfV^Ct=%b>iC
zLB)zyl641zswB%c2DNPr>KpuYw=rlyjMD@e$H2%S3w9YSeDpvO&)~tp$Kc5z#Nfps
z%izbL#Nf}M!w|q=#1O>b#}L90!w||4%Miwp$Pf+=GY<xK1|<e7aF{VO7%^xuBrqg0
zurT;B@G&GYBr~uw#4_-M!x0pVIq-1IVMt*}Wng6BV~Ar&1BW*#M0psP{xHb0Gw9X9
z!j+AIks%$NCNdZ@p=qL&ff*btI-szCq=VzIfC9%nR9uURVH1P)4h9{N@6pn1JOeL7
z0)qrYGJ_IBD%dBGG^+!5p$<|^GczzsfTNk8fr%lDfq?-Y&Di2Kn;{44(sF3(m4~_r
zlwx&I-Kw*VK^HwkWixOy<TCIx<S|Gw6oMV60L}#RaL36*9mmZe0uFj6aDwDuVEn@%
z#m=AycPmno%*Bxg^B`_zRD`C%VyIiOB*5JadXd{1^!;?Tw=o!il;KQ>yBG{XIhBN@
zC<RU~u%u|jz{9}6P|m>3P{F{@P{|<0P|KjiP{*Lo(7<5G(8OTQ(83VP(8iF=(9V#;
z(7}+w&<PGFNOE)phY2%-IfD)~IflZMV+vAoEQW_?F+)B>0RtlgH$w(ea^wRgM^Jcv
zXYha}NYGRTC_xs2@^Lf+V=+S!B4CR_f*`Xv7)luIpoO^#xFBX=;1M#~#$ddI!DKT7
z8>skZ1Q$x61kS*q%)r7>3N8xEz;P$ezyvEn7>gOAVCk)#;TEV?U|?pL!LW+qrh_EI
u8irL2UsyO9c^Cy5c^M=bS{N7@Bp8?(S{axb+8EjyIv6H0FfvR6liL6irdzQ9

literal 0
HcmV?d00001

diff --git a/target/classes/fr/ulille/iut/pizzaland/resources/PizzaRessource.class b/target/classes/fr/ulille/iut/pizzaland/resources/PizzaRessource.class
new file mode 100644
index 0000000000000000000000000000000000000000..f8882dd44e9e1078bdb61c5b9c48e3c6381c7f79
GIT binary patch
literal 6238
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
RW`;(FCWdB)9tK8+UI2n$<?#Rj

literal 0
HcmV?d00001

diff --git a/target/classes/ingredients.json b/target/classes/ingredients.json
new file mode 100644
index 0000000..1dcc13b
--- /dev/null
+++ b/target/classes/ingredients.json
@@ -0,0 +1,14 @@
+[
+{ "id": "f38806a8-7c85-49ef-980c-149dcd81d306", "name": "mozzarella"},
+{ "id": "d36903e1-0cc0-4bd6-a0ed-e0e9bf7b4037", "name": "jambon"},
+{ "id": "bc5b315f-442f-4ee4-96de-486d48f20c2f", "name": "champignons"},
+{ "id": "6a04320c-3a4f-4570-96d3-61faf3f898b0", "name": "olives"},
+{ "id": "c77deeee-d50d-49d5-9695-c98ec811f762", "name": "tomate"},
+{ "id": "c9375542-8142-43f6-b54d-0d63597cf614", "name": "merguez"},
+{ "id": "dee27dd6-f9b6-4d03-ac4b-216b5c9c8bd7", "name": "lardons"},
+{ "id": "657f8dd4-6bc1-4622-9af7-37d248846a23", "name": "fromage"},
+{ "id": "070d8077-a713-49a0-af37-3936b63d5ff2", "name": "oeuf"},
+{ "id": "5d9ca5c4-517f-40fd-aac3-5a823d680c1d", "name": "poivrons"},
+{ "id": "52f68024-24ec-46c0-8e77-c499dba1e27e", "name": "ananas"},
+{ "id": "dfdf6fae-f1b2-45fa-8c39-54e522c1933f", "name": "reblochon"}
+]
diff --git a/target/classes/logging.properties b/target/classes/logging.properties
new file mode 100644
index 0000000..db98114
--- /dev/null
+++ b/target/classes/logging.properties
@@ -0,0 +1,4 @@
+handlers= java.util.logging.ConsoleHandler
+.level= INFO
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
\ No newline at end of file
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..66d815d
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,20 @@
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/resources/CommandeRessource.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/resources/PizzaRessource.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/resources/IngredientResource.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgument.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/beans/Pizza.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dao/CommandeDao.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dao/IngredientDao.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/resources/BDDClearRessource.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/BDDFactory.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaCreateDto.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dto/CommandeDto.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dao/PizzaDao.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dao/UUIDArgumentFactory.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/beans/Commande.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/beans/Ingredient.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dto/PizzaDto.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/ApiV1.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dto/IngredientCreateDto.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/Main.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/main/java/fr/ulille/iut/pizzaland/dto/IngredientDto.java
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..83c2836
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1,2 @@
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/test/java/fr/ulille/iut/pizzaland/IngredientResourceTest.java
+/home/infoetu/lepages/Prog_rep/m4102_tp3/src/test/java/fr/ulille/iut/pizzaland/PizzaRessourceTest.java
diff --git a/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.CommandeRessourceTest.xml b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.CommandeRessourceTest.xml
new file mode 100644
index 0000000..49d77b6
--- /dev/null
+++ b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.CommandeRessourceTest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite tests="11" failures="0" name="fr.ulille.iut.pizzaland.CommandeRessourceTest" time="2.79" errors="0" skipped="0">
+  <properties>
+    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+    <property name="java.vm.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/>
+    <property name="user.country.format" value="FR"/>
+    <property name="maven.multiModuleProjectDirectory" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.vendor" value="Debian"/>
+    <property name="java.vendor.url" value="https://tracker.debian.org/openjdk-11"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="path.separator" value=":"/>
+    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.compressedOopsMode" value="Zero based"/>
+    <property name="java.runtime.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="
+"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/usr/share/maven/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
+    <property name="maven.conf" value="/usr/share/maven/conf"/>
+    <property name="jdk.debug" value="release"/>
+    <property name="java.class.version" value="55.0"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.19.0-14-amd64"/>
+    <property name="library.jansi.path" value="/usr/share/maven/lib/jansi-native"/>
+    <property name="user.home" value="/home/infoetu/lepages"/>
+    <property name="user.timezone" value="Europe/Paris"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="java.specification.version" value="11"/>
+    <property name="user.name" value="lepages"/>
+    <property name="java.class.path" value="/usr/share/maven/boot/plexus-classworlds-2.x.jar"/>
+    <property name="java.vm.specification.version" value="11"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher test"/>
+    <property name="java.home" value="/usr/lib/jvm/java-11-openjdk-amd64"/>
+    <property name="user.language" value="en"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language.format" value="fr"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode, sharing"/>
+    <property name="java.version" value="11.0.9.1"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="java.vendor" value="Debian"/>
+    <property name="maven.home" value="/usr/share/maven"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.version.date" value="2020-11-04"/>
+    <property name="java.vendor.url.bug" value="https://bugs.debian.org/openjdk-11"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testDeleteNotExistingCommande" time="1.122"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testCreateCommande" time="0.247"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetEmptyList" time="0.154"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testDeleteExistingCommande" time="0.163"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testCreateCommandeWithoutName" time="0.16"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetExistingCommande" time="0.169"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetNotExistingCommande" time="0.2"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetExistingCommandeWithPizza" time="0.158"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetCommandeNomAndPrenom" time="0.182"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testCreateSameCommande" time="0.125"/>
+  <testcase classname="fr.ulille.iut.pizzaland.CommandeRessourceTest" name="testGetNotExistingCommandeNom" time="0.11"/>
+</testsuite>
\ No newline at end of file
diff --git a/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.IngredientResourceTest.xml b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.IngredientResourceTest.xml
new file mode 100644
index 0000000..c7f0df3
--- /dev/null
+++ b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.IngredientResourceTest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite tests="11" failures="0" name="fr.ulille.iut.pizzaland.IngredientResourceTest" time="0.668" errors="0" skipped="0">
+  <properties>
+    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+    <property name="java.vm.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/>
+    <property name="user.country.format" value="FR"/>
+    <property name="maven.multiModuleProjectDirectory" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.vendor" value="Debian"/>
+    <property name="java.vendor.url" value="https://tracker.debian.org/openjdk-11"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="path.separator" value=":"/>
+    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.compressedOopsMode" value="Zero based"/>
+    <property name="java.runtime.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="
+"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/usr/share/maven/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
+    <property name="maven.conf" value="/usr/share/maven/conf"/>
+    <property name="jdk.debug" value="release"/>
+    <property name="java.class.version" value="55.0"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.19.0-14-amd64"/>
+    <property name="library.jansi.path" value="/usr/share/maven/lib/jansi-native"/>
+    <property name="user.home" value="/home/infoetu/lepages"/>
+    <property name="user.timezone" value="Europe/Paris"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="java.specification.version" value="11"/>
+    <property name="user.name" value="lepages"/>
+    <property name="java.class.path" value="/usr/share/maven/boot/plexus-classworlds-2.x.jar"/>
+    <property name="java.vm.specification.version" value="11"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher test"/>
+    <property name="java.home" value="/usr/lib/jvm/java-11-openjdk-amd64"/>
+    <property name="user.language" value="en"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language.format" value="fr"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode, sharing"/>
+    <property name="java.version" value="11.0.9.1"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="java.vendor" value="Debian"/>
+    <property name="maven.home" value="/usr/share/maven"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.version.date" value="2020-11-04"/>
+    <property name="java.vendor.url.bug" value="https://bugs.debian.org/openjdk-11"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testGetNotExistingIngredient" time="0.061"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testCreateSameIngredient" time="0.065"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testCreateWithForm" time="0.083"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testCreateIngredientWithoutName" time="0.067"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testGetEmptyList" time="0.059"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testDeleteExistingIngredient" time="0.061"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testGetNotExistingIngredientName" time="0.048"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testCreateIngredient" time="0.059"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testGetExistingIngredient" time="0.058"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testDeleteNotExistingIngredient" time="0.05"/>
+  <testcase classname="fr.ulille.iut.pizzaland.IngredientResourceTest" name="testGetIngredientName" time="0.057"/>
+</testsuite>
\ No newline at end of file
diff --git a/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.PizzaRessourceTest.xml b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.PizzaRessourceTest.xml
new file mode 100644
index 0000000..53be68f
--- /dev/null
+++ b/target/surefire-reports/TEST-fr.ulille.iut.pizzaland.PizzaRessourceTest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite tests="11" failures="0" name="fr.ulille.iut.pizzaland.PizzaRessourceTest" time="1.055" errors="0" skipped="0">
+  <properties>
+    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+    <property name="java.vm.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/>
+    <property name="user.country.format" value="FR"/>
+    <property name="maven.multiModuleProjectDirectory" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.vendor" value="Debian"/>
+    <property name="java.vendor.url" value="https://tracker.debian.org/openjdk-11"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="path.separator" value=":"/>
+    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/home/infoetu/lepages/Prog_rep/m4102_tp3"/>
+    <property name="java.vm.compressedOopsMode" value="Zero based"/>
+    <property name="java.runtime.version" value="11.0.9.1+1-post-Debian-1deb10u2"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="line.separator" value="
+"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Linux"/>
+    <property name="classworlds.conf" value="/usr/share/maven/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib"/>
+    <property name="maven.conf" value="/usr/share/maven/conf"/>
+    <property name="jdk.debug" value="release"/>
+    <property name="java.class.version" value="55.0"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="4.19.0-14-amd64"/>
+    <property name="library.jansi.path" value="/usr/share/maven/lib/jansi-native"/>
+    <property name="user.home" value="/home/infoetu/lepages"/>
+    <property name="user.timezone" value="Europe/Paris"/>
+    <property name="java.awt.printerjob" value="sun.print.PSPrinterJob"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="java.specification.version" value="11"/>
+    <property name="user.name" value="lepages"/>
+    <property name="java.class.path" value="/usr/share/maven/boot/plexus-classworlds-2.x.jar"/>
+    <property name="java.vm.specification.version" value="11"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher test"/>
+    <property name="java.home" value="/usr/lib/jvm/java-11-openjdk-amd64"/>
+    <property name="user.language" value="en"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language.format" value="fr"/>
+    <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/>
+    <property name="java.vm.info" value="mixed mode, sharing"/>
+    <property name="java.version" value="11.0.9.1"/>
+    <property name="securerandom.source" value="file:/dev/./urandom"/>
+    <property name="java.vendor" value="Debian"/>
+    <property name="maven.home" value="/usr/share/maven"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.version.date" value="2020-11-04"/>
+    <property name="java.vendor.url.bug" value="https://bugs.debian.org/openjdk-11"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetEmptyListPizza" time="0.137"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testCreatePizza" time="0.099"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetNotExistingPizzaName" time="0.079"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetPizzaName" time="0.103"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetExistingPizzaWithIngredients" time="0.111"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testCreateSamePizza" time="0.095"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testDeleteNotExistingPizza" time="0.084"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetExistingPizza" time="0.099"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testDeleteExistingPizza" time="0.087"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testCreatePizzaWithoutName" time="0.079"/>
+  <testcase classname="fr.ulille.iut.pizzaland.PizzaRessourceTest" name="testGetNotExistingPizza" time="0.082"/>
+</testsuite>
\ No newline at end of file
diff --git a/target/surefire-reports/fr.ulille.iut.pizzaland.CommandeRessourceTest.txt b/target/surefire-reports/fr.ulille.iut.pizzaland.CommandeRessourceTest.txt
new file mode 100644
index 0000000..d81ee11
--- /dev/null
+++ b/target/surefire-reports/fr.ulille.iut.pizzaland.CommandeRessourceTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: fr.ulille.iut.pizzaland.CommandeRessourceTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.869 sec
diff --git a/target/surefire-reports/fr.ulille.iut.pizzaland.IngredientResourceTest.txt b/target/surefire-reports/fr.ulille.iut.pizzaland.IngredientResourceTest.txt
new file mode 100644
index 0000000..9182016
--- /dev/null
+++ b/target/surefire-reports/fr.ulille.iut.pizzaland.IngredientResourceTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: fr.ulille.iut.pizzaland.IngredientResourceTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.677 sec
diff --git a/target/surefire-reports/fr.ulille.iut.pizzaland.PizzaRessourceTest.txt b/target/surefire-reports/fr.ulille.iut.pizzaland.PizzaRessourceTest.txt
new file mode 100644
index 0000000..631b550
--- /dev/null
+++ b/target/surefire-reports/fr.ulille.iut.pizzaland.PizzaRessourceTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: fr.ulille.iut.pizzaland.PizzaRessourceTest
+-------------------------------------------------------------------------------
+Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.063 sec
diff --git a/target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest$1.class b/target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..78157a5e878c0a350e725f83af1184f248d528ae
GIT binary patch
literal 768
zcmX^0Z`VEs1_pBmIZg&<25~M176u7+21#}XDMkjil8nq^6$3^FeV?=<{nDJwoSans
z%+eD5g3PL_#GJ&u6n*FX+}y;xl+>Wq;^O?$qU6+&)Z!9rMg}&U%)HDJJ4Oa04HETg
zhA}d*IOnINGBWV{Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9?P(c=uGZ`6pJoEBW
zi=1;3i;Gi>85s;ovscB?nvsDsI5Ryjv81#pm60LVCo3^Kv8W_bzr0w#s8~NazbIAT
zJvA@2C^I>vvLMyQCo8cmQNOe#Ge_Siv$(_tr+q0U`S5UZDap6Cv$nHlWZ()0hnHI>
z$X`-e!%+`p10w^!YhH3resN}Ax^HSpMt%xAgES9=41+8q1BYK~afwHMaS0CtD+3!3
z13O4ipQN}_F=S+r!|zi@23?YjWMmL1Ni8mMPc3oHEhwo31r8$vvxa6Eg8~CH0}BHK
z1EYWd$iW~M0|Ns)0|x^m11AFmgB=4C0}}%S1DBTeRt83`?F>vC85kIt7`PZ17}yvX
z85kHG8Mql37{nl|7<d@?7(jpvY#Jj2D+51Ry#RwCm=<CXW?*1oVGv;uWe@|4h%oSi
O%x7R^U<PSqU;qGLLeOde

literal 0
HcmV?d00001

diff --git a/target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest.class b/target/test-classes/fr/ulille/iut/pizzaland/CommandeRessourceTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..469ac61461efa4359e697fa8309fbc44777e510e
GIT binary patch
literal 8040
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

literal 0
HcmV?d00001

diff --git a/target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest$1.class b/target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..9ddeff5fa817b7e7e5ed2913cf146e4066cd2eb8
GIT binary patch
literal 776
zcmX^0Z`VEs1_pBmIZg&<25~M176u7+21#}XDMkjil8nq^6$3^F1D~`a{nDJwoSans
z%+eD5g3PL_#GJ&u6n)RU^rF<1%+$P+pw#00(xT+lkksN5Yeoh(o6Nk-5<5l)V+~R@
zYlbm0usG+Zq%tz_`();&`jzG;r51%GCgr3uG6?zPCnx5FB^G6Z_)tL>kV6?6cs%p+
zQj45(5{rvdiy0Y=NVHhR(3+8fGdMFnFR`SwD3y^R-X|+DJF%!FQNO%czo=M0Ilm}X
z-#s-iwJ0+=q_QB@#wRPWEK$F-Br`|fC$qT32B(E7CHY7}<x-MwZD(y~&B(wN3=T85
zOpw>4u?MCe$Pz{de%HL@oc!X<yma5xl8pQmb_Qu41{nrfMg|VQ)Z!A4{NfTG237_(
z9tL)hpaE$yrees*Acx<#j0}3DnaRi?P?B0);+|UKnp;p(2?`-b24)S-Fa`w%W(F1p
z1_nj}0g#hHECvP!b_NaxMg~p>1_nC@CI%)31_mxI?X3)qTH6_zHZm|UFfnj3Ffgz&
zFfuSO_%LuYFffQgR59={@G*b@7uYmL237`suzCRoK`<@EAk4tPz``KHAj%*H77=0K
P1)0yl$iNKJ$iM&q^Z(Qi

literal 0
HcmV?d00001

diff --git a/target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest.class b/target/test-classes/fr/ulille/iut/pizzaland/IngredientResourceTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..a0439577ba0cac3f20f4a9f45c5a1bd3cd842c5b
GIT binary patch
literal 7582
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

literal 0
HcmV?d00001

diff --git a/target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest$1.class b/target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..fe0cf3663f70123a18f5b1dbec5430e76edef6b8
GIT binary patch
literal 752
zcmX^0Z`VEs1_pBmIZg&<25~M176u7+21#}XDMkjil8nq^6$3^F9iOx!{nDJwoSans
z%+eD5g3PL_#GJ&u6#W1YD=4+NIKQ+gIW;7;xWt-~fz2i}FSEpskwIUB6pfl;j0`N!
z`6;Q44E#Qsd8vM-xk;%-A&E&jsf-LlKKaRsIbn%KnIJw?kOkyGMg|_wyu8#R=bXgi
z;?!bB20aoiRWY<?WZ(?WOwUU!DJ@E6WQg*~O3Y3yDoNBYFV-(A)=$naO4WBy%}XuH
zOb)3mNVW0FN-Rs%FD=Q;(f7$LF0sLBSxQMhBzRm(@~!Qx?W`FYxPrmK<dzBYkvL}9
z>4D5<WZ-wrOU}tJ&df{qO)bgDPhn?}=3$UwkY!}x@JlT&@yIVO;bCB9VB=w62MOvB
zA2}+9j0|%4J;=zQMZ9^845B5e#U<{kC9b&zC6%B60sD%PfmuT{j6s2cnSq6Yfq_v#
z0OVc}i-CcGoq>aak%5zefx(V}iGhiMfq_d)dn*H@)^-M_jSLJ7OblEM3=C`xj0_A6
zHVoVh3=CorRSY}~d<-DK1vZV5ft7(DtX_aY5KId(2s1D+urP=)h%$(QMMM~QLFO|s
LGBATQGB5xD*Lcdw

literal 0
HcmV?d00001

diff --git a/target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest.class b/target/test-classes/fr/ulille/iut/pizzaland/PizzaRessourceTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..9ac6d6f83e83a3b75755abc5857a82c40e677b50
GIT binary patch
literal 7282
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

literal 0
HcmV?d00001

diff --git a/target/test-classes/logging.properties b/target/test-classes/logging.properties
new file mode 100644
index 0000000..db98114
--- /dev/null
+++ b/target/test-classes/logging.properties
@@ -0,0 +1,4 @@
+handlers= java.util.logging.ConsoleHandler
+.level= INFO
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
\ No newline at end of file
-- 
GitLab