diff --git a/.dockerignore b/.dockerignore
index ce1917084af255c7752d36250a47f555d43d0b40..972b728930b4da57f3edf726cbfa8e2621a21a46 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,2 +1,5 @@
 .idea
 README.md
+docker-compose.yml
+.gitignore
+*.log
diff --git a/docker/Dockerfile b/docker/Dockerfile
index d2dc7d62473dc018f28fbfbbc71a3e1b1f8bd07b..b0fdff5d1f8422ef772a39fdc5667d5c02ea5780 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,16 +1,17 @@
 # syntax=docker/dockerfile:1.3
 
 ### First we build the application in docker in a controlled env
-FROM maven:3.8.3-eclipse-temurin-11 as build
+FROM maven:3.8.4-eclipse-temurin-11 as build
 WORKDIR /app
-COPY ./ /app/
-RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
-	mvn -B clean package
+# COPY pom.xml /app/pom.xml
+COPY . /app/
 
+RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
+	mvn -B package
 
 ### Then we add the builded war to a JEE server.
-FROM payara/server-full:5.2021.9-jdk11 as server
-#FROM brunoe/payara:jdk11-6 as server
+#FROM payara/server-full:5.2021.9-jdk11 as server
+FROM brunoe/payara:jdk11-6 as server
 
 ARG STORE_PASSWORD=changeit
 ## Download the JDBC driver
@@ -39,11 +40,11 @@ RUN keytool -importkeystore -noprompt -destkeystore /opt/payara/appserver/glassf
 #RUN wget https://github.com/eclipse-ee4j/mojarra/releases/download/2.3.17-RELEASE/jakarta.faces-2.3.17.jar \
 #    -O /opt/payara/appserver/glassfish/modules/jakarta.faces.jar
 FROM server as production
-#COPY --from=build /app/restApp/target/*.war \
+#COPY --from=build /app/jee/restApp/target/*.war \
 #                  $DEPLOY_DIR
-#COPY --from=build /app/wsApp/target/*.war \
+#COPY --from=build /app/jee/wsApp/target/*.war \
 #                  $DEPLOY_DIR
-#COPY --from=build /app/jsf/target/*.war \
+#COPY --from=build /app/jee/jsf/target/*.war \
 #                  $DEPLOY_DIR
-COPY --from=build /app/ear/target/*.ear \
+COPY --from=build /app/jee/ear/target/*.ear \
                   $DEPLOY_DIR
\ No newline at end of file
diff --git a/docker/payara/Dockerfile b/docker/payara/Dockerfile
index c0415edc2e9827ceda7b005e31e888d0405c2fba..369243efef57261fdbf19a04e29b6bb2a7838a5f 100644
--- a/docker/payara/Dockerfile
+++ b/docker/payara/Dockerfile
@@ -1,12 +1,12 @@
 # FROM azul/zulu-openjdk:8u222 as mypayara
 #FROM eclipse-temurin:17-jdk
-FROM eclipse-temurin:11-jdk
+FROM eclipse-temurin:11.0.13_8-jdk-focal
 # Default payara ports to expose
 # 4848: admin console
 # 9009: debug port (JPDA)
 # 8080: http
 # 8181: https
-EXPOSE 4848 9009 8080 8181
+EXPOSE 4848 9009 8080 8181 8686
 
 #ARG PAYARA_VERSION=5.2021.9
 #ARG PAYARA_SHA1=81c43f3c537ec74a813b48172758866615e1e792
diff --git a/docker/post-boot-commands.asadmin b/docker/post-boot-commands.asadmin
index 9afc702dd1921877e0862be202eaaeef548a827f..409f4fc943c35d3078a28af829fba46c20865794 100755
--- a/docker/post-boot-commands.asadmin
+++ b/docker/post-boot-commands.asadmin
@@ -1,7 +1,8 @@
 set-hazelcast-configuration --enabled=true --dynamic=true
 
 add-library  /tmp/h2.jar
-create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH" My-H2-pool
+#create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH" My-H2-pool
+create-jdbc-connection-pool --datasourceclassname org.h2.jdbcx.JdbcDataSource --restype javax.sql.ConnectionPoolDataSource --property password=password:user=user:url="jdbc:h2:tcp://db:9092/payara;MODE=PostgreSQL" My-H2-pool
 create-jdbc-resource --connectionpoolid My-H2-pool jdbc/my-h2-pool
 
 # set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=mycert
diff --git a/entites/pom.xml b/entites/pom.xml
index f21f6b1e11046acc206068def224850aa9319697..6ad01bf0328715cf90e865f6c11f7e85620ef270 100644
--- a/entites/pom.xml
+++ b/entites/pom.xml
@@ -2,7 +2,7 @@
 <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/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>jee9.1</artifactId>
+        <artifactId>parent</artifactId>
         <groupId>fr.univtln.bruno.samples.jee91</groupId>
         <version>1.0-SNAPSHOT</version>
     </parent>
@@ -11,14 +11,15 @@
     <artifactId>entites</artifactId>
 
     <dependencies>
-        <dependency>
-            <groupId>jakarta.platform</groupId>
-            <artifactId>jakarta.jakartaee-api</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jakarta.platform</groupId>
+            <artifactId>jakarta.jakartaee-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/business/pom.xml b/jee/business/pom.xml
similarity index 96%
rename from business/pom.xml
rename to jee/business/pom.xml
index 076aab2e775d1432874bb8bf6c4a73f2d7360658..d0abff1d273ceb289b357595a067db18b9c07d71 100644
--- a/business/pom.xml
+++ b/jee/business/pom.xml
@@ -30,7 +30,7 @@
                 <artifactId>maven-ejb-plugin</artifactId>
                 <version>3.1.0</version>
                 <configuration>
-                    <ejbVersion>3.0</ejbVersion>
+                    <ejbVersion>3.1</ejbVersion>
                     <generateClient>true</generateClient>
                 </configuration>
             </plugin>
diff --git a/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/Hello.java b/jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/Hello.java
similarity index 100%
rename from business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/Hello.java
rename to jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/Hello.java
diff --git a/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean1.java b/jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean1.java
similarity index 100%
rename from business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean1.java
rename to jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean1.java
diff --git a/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean2.java b/jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean2.java
similarity index 100%
rename from business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean2.java
rename to jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/HelloBean2.java
diff --git a/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/qualifiers/SpokenLanguage.java b/jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/qualifiers/SpokenLanguage.java
similarity index 100%
rename from business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/qualifiers/SpokenLanguage.java
rename to jee/business/src/main/java/fr/univtln/bruno/samples/jee91/ejb/qualifiers/SpokenLanguage.java
diff --git a/jee/business/src/test/java/META-INF/beans.xml b/jee/business/src/test/java/META-INF/beans.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b8962f1bab4a8ebe5d3012b7b1e1245520a7b9c4
--- /dev/null
+++ b/jee/business/src/test/java/META-INF/beans.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+       version="3.0"
+       bean-discovery-mode="all">
+</beans>
\ No newline at end of file
diff --git a/jee/common-persistence/pom.xml b/jee/common-persistence/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..42c65be118ee46406c5b66b7372a6cc4ca844915
--- /dev/null
+++ b/jee/common-persistence/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>jee9.1</artifactId>
+        <groupId>fr.univtln.bruno.samples.jee91</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>common-persistence</artifactId>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>fr.univtln.bruno.samples.jee91</groupId>
+            <artifactId>entites</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/ear/src/main/application/insert.sql b/jee/common-persistence/src/main/resources/insert.sql
similarity index 100%
rename from ear/src/main/application/insert.sql
rename to jee/common-persistence/src/main/resources/insert.sql
diff --git a/ear/src/main/application/persistence.xml b/jee/common-persistence/src/main/resources/persistence.xml
similarity index 92%
rename from ear/src/main/application/persistence.xml
rename to jee/common-persistence/src/main/resources/persistence.xml
index 98e834c17457047b4274b909e5a88cdd1e853f7d..e900259cf5ea473bb81e5f25c9f8716ceb87f03f 100644
--- a/ear/src/main/application/persistence.xml
+++ b/jee/common-persistence/src/main/resources/persistence.xml
@@ -5,9 +5,8 @@
     version="3.0">
     <persistence-unit name="myappPU" transaction-type="JTA">
         <jta-data-source>jdbc/my-h2-pool</jta-data-source>
-        <jar-file>lib/fr.univtln.bruno.samples.jee91-entites-1.0-SNAPSHOT.jar</jar-file>
         <class>fr.univtln.bruno.samples.jee91.dao.Person</class>
-
+        <validation-mode>CALLBACK</validation-mode>
         <properties>
             <property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create" />
             <property name="jakarta.persistence.schema-generation.scripts.action" value="drop-and-create" />
diff --git a/dao/pom.xml b/jee/dao/pom.xml
similarity index 100%
rename from dao/pom.xml
rename to jee/dao/pom.xml
diff --git a/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/MainDAO.java b/jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/MainDAO.java
similarity index 100%
rename from dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/MainDAO.java
rename to jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/MainDAO.java
diff --git a/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/PersonDAO.java b/jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/PersonDAO.java
similarity index 100%
rename from dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/PersonDAO.java
rename to jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/PersonDAO.java
diff --git a/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/EntityManagerProducer.java b/jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/EntityManagerProducer.java
similarity index 100%
rename from dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/EntityManagerProducer.java
rename to jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/EntityManagerProducer.java
diff --git a/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/H2Database.java b/jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/H2Database.java
similarity index 100%
rename from dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/H2Database.java
rename to jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/H2Database.java
diff --git a/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/PostgreSQLDatabase.java b/jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/PostgreSQLDatabase.java
similarity index 100%
rename from dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/PostgreSQLDatabase.java
rename to jee/dao/src/main/java/fr/univtln/bruno/samples/jee91/dao/entitymanagersproducers/PostgreSQLDatabase.java
diff --git a/dao/src/main/resources/META-INF/beans.xml b/jee/dao/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from dao/src/main/resources/META-INF/beans.xml
rename to jee/dao/src/main/resources/META-INF/beans.xml
diff --git a/ear/pom.xml b/jee/ear/pom.xml
similarity index 80%
rename from ear/pom.xml
rename to jee/ear/pom.xml
index d656870aa35789dabd003536230ee86b166f5b58..be6d22619290563f3a78034fb65df23eb4b08edd 100644
--- a/ear/pom.xml
+++ b/jee/ear/pom.xml
@@ -46,6 +46,14 @@
             <artifactId>dao</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+
+        <dependency>
+            <groupId>fr.univtln.bruno.samples.jee91</groupId>
+            <artifactId>common-persistence</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+
+
     </dependencies>
 
     <build>
@@ -56,6 +64,7 @@
                 <artifactId>maven-ear-plugin</artifactId>
                 <version>3.2.0</version>
                 <configuration>
+                    <version>8</version>
                     <displayName>Person manager</displayName>
                     <!-- If I want maven to generate the application.xml, set this to true -->
                     <generateApplicationXml>true</generateApplicationXml>
@@ -65,26 +74,28 @@
                         <webModule>
                             <groupId>fr.univtln.bruno.samples.jee91</groupId>
                             <artifactId>restApp</artifactId>
-                            <bundleFileName>restApp.war</bundleFileName>
-                            <contextRoot>/rest</contextRoot>
+                            <!--bundleFileName>restApp.war</bundleFileName-->
                         </webModule>
                         <webModule>
                             <groupId>fr.univtln.bruno.samples.jee91</groupId>
                             <artifactId>jsf</artifactId>
-                            <bundleFileName>jsf.war</bundleFileName>
-                            <contextRoot>/jsf</contextRoot>
+                            <!--bundleFileName>jsf.war</bundleFileName-->
                         </webModule>
                         <webModule>
                             <groupId>fr.univtln.bruno.samples.jee91</groupId>
                             <artifactId>wsApp</artifactId>
-                            <bundleFileName>wsApp.war</bundleFileName>
-                            <contextRoot>/ws</contextRoot>
+                            <!--bundleFileName>wsApp.war</bundleFileName-->
                         </webModule>
                         <ejbModule>
                             <groupId>fr.univtln.bruno.samples.jee91</groupId>
                             <artifactId>business</artifactId>
-                            <bundleFileName>business.jar</bundleFileName>
+                            <!--bundleFileName>business.jar</bundleFileName-->
                         </ejbModule>
+                        <jarModule>
+                            <groupId>fr.univtln.bruno.samples.jee91</groupId>
+                            <artifactId>common-persistence</artifactId>
+                            <bundleDir>lib</bundleDir>
+                        </jarModule>
                     </modules>
                 </configuration>
             </plugin>
diff --git a/jsf/pom.xml b/jee/jsf/pom.xml
similarity index 60%
rename from jsf/pom.xml
rename to jee/jsf/pom.xml
index ae4730cd39b79b5b54c46d085c16d0826fa00013..356170b0f809a433ea7696b913b7ba11078d0528 100644
--- a/jsf/pom.xml
+++ b/jee/jsf/pom.xml
@@ -13,25 +13,15 @@
 
     <properties>
         <primefaces.version>11.0.0-RC2</primefaces.version>
-        <!--primefaces.version>11.0.0-SNAPSHOT</primefaces.version-->
-        <omnifaces.version>4.0-M12</omnifaces.version>
         <all-themes.version>1.0.10</all-themes.version>
     </properties>
 
-    <!--repositories>
-        <repository>
-            <id>prime-repo</id>
-            <name>PrimeFaces Maven Repository</name>
-            <url>https://repository.primefaces.org</url>
-            <layout>default</layout>
-        </repository>
-    </repositories-->
-
     <dependencies>
         <dependency>
             <groupId>fr.univtln.bruno.samples.jee91</groupId>
             <artifactId>business</artifactId>
             <version>1.0-SNAPSHOT</version>
+            <type>ejb</type>
             <!--type>ejb-client</type-->
         </dependency>
 
@@ -41,38 +31,17 @@
             <version>1.0-SNAPSHOT</version>
         </dependency>
 
-        <dependency>
-            <groupId>jakarta.platform</groupId>
-            <artifactId>jakarta.jakartaee-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter</artifactId>
         </dependency>
 
-        <!--dependency>
-            <groupId>org.omnifaces</groupId>
-            <artifactId>omnifaces</artifactId>
-            <version>${omnifaces.version}</version>
-        </dependency-->
         <dependency>
             <groupId>org.primefaces</groupId>
             <artifactId>primefaces</artifactId>
             <version>${primefaces.version}</version>
             <classifier>jakarta</classifier>
         </dependency>
-        <!--dependency>
-            <groupId>org.primefaces.themes</groupId>
-            <artifactId>all-themes</artifactId>
-            <version>${all-themes.version}</version>
-        </dependency-->
-
-        <dependency>
-            <groupId>org.glassfish</groupId>
-            <artifactId>jakarta.faces</artifactId>
-            <version>3.0.1</version>
-        </dependency>
 
     </dependencies>
 
diff --git a/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/AddPersonView.java b/jee/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/AddPersonView.java
similarity index 100%
rename from jsf/src/main/java/fr/univtln/bruno/jee91/jsf/AddPersonView.java
rename to jee/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/AddPersonView.java
diff --git a/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/ViewPersonBean.java b/jee/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/ViewPersonBean.java
similarity index 100%
rename from jsf/src/main/java/fr/univtln/bruno/jee91/jsf/ViewPersonBean.java
rename to jee/jsf/src/main/java/fr/univtln/bruno/jee91/jsf/ViewPersonBean.java
diff --git a/ear/src/main/application/log4j.properties b/jee/jsf/src/main/resources/META-INF/log4j.properties
similarity index 100%
rename from ear/src/main/application/log4j.properties
rename to jee/jsf/src/main/resources/META-INF/log4j.properties
diff --git a/jsf/src/main/webapp/WEB-INF/beans.xml b/jee/jsf/src/main/webapp/WEB-INF/beans.xml
similarity index 100%
rename from jsf/src/main/webapp/WEB-INF/beans.xml
rename to jee/jsf/src/main/webapp/WEB-INF/beans.xml
diff --git a/jsf/src/main/webapp/WEB-INF/faces-config.xml b/jee/jsf/src/main/webapp/WEB-INF/faces-config.xml
similarity index 100%
rename from jsf/src/main/webapp/WEB-INF/faces-config.xml
rename to jee/jsf/src/main/webapp/WEB-INF/faces-config.xml
diff --git a/jsf/src/main/webapp/WEB-INF/web.xml b/jee/jsf/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from jsf/src/main/webapp/WEB-INF/web.xml
rename to jee/jsf/src/main/webapp/WEB-INF/web.xml
diff --git a/jsf/src/main/webapp/addPerson.xhtml b/jee/jsf/src/main/webapp/addPerson.xhtml
similarity index 100%
rename from jsf/src/main/webapp/addPerson.xhtml
rename to jee/jsf/src/main/webapp/addPerson.xhtml
diff --git a/jsf/src/main/webapp/index.xhtml b/jee/jsf/src/main/webapp/index.xhtml
similarity index 97%
rename from jsf/src/main/webapp/index.xhtml
rename to jee/jsf/src/main/webapp/index.xhtml
index f43818fbbdab8bdd6dfaa17173c8bc646063d593..7d188464dc239fab1b7379cc19f73e55ebf4ac6f 100644
--- a/jsf/src/main/webapp/index.xhtml
+++ b/jee/jsf/src/main/webapp/index.xhtml
@@ -13,7 +13,7 @@
     <h3 style="text-align: center"><h:outputText value="#{viewPersonBean.message}"/></h3>
 
     <div class="card">
-        <p:dataTable var="person" value="#{viewPersonBean.persons}">
+        <p:dataTable var="person" value="#{viewPersonBean.persons}" lazy="true">
             <p:column headerText="UUID">
                 <h:outputText value="#{person.uuid}"/>
             </p:column>
diff --git a/jsf/src/main/webapp/test.xhtml b/jee/jsf/src/main/webapp/test.xhtml
similarity index 100%
rename from jsf/src/main/webapp/test.xhtml
rename to jee/jsf/src/main/webapp/test.xhtml
diff --git a/jee/pom.xml b/jee/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dd29f03ee2c3631cb3e96f0cb95f64f832b6f429
--- /dev/null
+++ b/jee/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>parent</artifactId>
+        <groupId>fr.univtln.bruno.samples.jee91</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>jee9.1</artifactId>
+    <packaging>pom</packaging>
+
+    <properties>
+        <failOnMissingWebXml>false</failOnMissingWebXml>
+    </properties>
+
+    <modules>
+        <module>business</module>
+        <module>dao</module>
+        <module>jsf</module>
+        <module>restApp</module>
+        <module>wsApp</module>
+        <module>ear</module>
+        <module>common-persistence</module>
+    </modules>
+
+    <dependencies>
+        <dependency>
+            <groupId>jakarta.platform</groupId>
+            <artifactId>jakarta.jakartaee-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/restApp/pom.xml b/jee/restApp/pom.xml
similarity index 98%
rename from restApp/pom.xml
rename to jee/restApp/pom.xml
index f5b6c51ef97ce5e3b37aaead485d585fde23dd46..a8195afc1b03a13f4234d2791eb157f79c69d729 100644
--- a/restApp/pom.xml
+++ b/jee/restApp/pom.xml
@@ -16,6 +16,7 @@
             <groupId>fr.univtln.bruno.samples.jee91</groupId>
             <artifactId>business</artifactId>
             <version>1.0-SNAPSHOT</version>
+            <type>ejb</type>
             <!--type>ejb-client</type-->
         </dependency>
 
diff --git a/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java b/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
similarity index 100%
rename from restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
rename to jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
diff --git a/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/SampleResource.java b/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/SampleResource.java
similarity index 100%
rename from restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/SampleResource.java
rename to jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/SampleResource.java
diff --git a/restApp/src/main/webapp/WEB-INF/beans.xml b/jee/restApp/src/main/webapp/WEB-INF/beans.xml
similarity index 100%
rename from restApp/src/main/webapp/WEB-INF/beans.xml
rename to jee/restApp/src/main/webapp/WEB-INF/beans.xml
diff --git a/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java b/jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
similarity index 100%
rename from restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
rename to jee/restApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
diff --git a/websocketApp/pom.xml b/jee/wsApp/pom.xml
similarity index 98%
rename from websocketApp/pom.xml
rename to jee/wsApp/pom.xml
index 239ed116a5eda283c95616a6f747f52cff95b4a8..ef1b6d125d5964557defd92ff5b58db4f377b6c9 100644
--- a/websocketApp/pom.xml
+++ b/jee/wsApp/pom.xml
@@ -16,6 +16,7 @@
             <groupId>fr.univtln.bruno.samples.jee91</groupId>
             <artifactId>business</artifactId>
             <version>1.0-SNAPSHOT</version>
+            <type>ejb</type>
             <!--type>ejb-client</type-->
         </dependency>
 
diff --git a/websocketApp/src/main/java/fr/univtln/bruno/samples/jee91/ws/WSServer.java b/jee/wsApp/src/main/java/fr/univtln/bruno/samples/jee91/ws/WSServer.java
similarity index 100%
rename from websocketApp/src/main/java/fr/univtln/bruno/samples/jee91/ws/WSServer.java
rename to jee/wsApp/src/main/java/fr/univtln/bruno/samples/jee91/ws/WSServer.java
diff --git a/websocketClient/src/main/resources/log4j.properties b/jee/wsApp/src/main/resources/META-INF/log4j.properties
similarity index 100%
rename from websocketClient/src/main/resources/log4j.properties
rename to jee/wsApp/src/main/resources/META-INF/log4j.properties
diff --git a/websocketApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java b/jee/wsApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
similarity index 100%
rename from websocketApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
rename to jee/wsApp/src/test/java/fr/univtln/bruno/samples/SampleTest.java
diff --git a/pom.xml b/pom.xml
index 03aa942867f0b47de61aef08cffff24cd3556c57..2890842f2fbb5e8bc58e34827130fb38c12d4d60 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,36 +3,25 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>fr.univtln.bruno.samples.jee91</groupId>
-    <artifactId>jee9.1</artifactId>
+    <artifactId>parent</artifactId>
     <version>1.0-SNAPSHOT</version>
-
+    <packaging>pom</packaging>
 
     <modules>
-        <module>utils</module>
-
         <module>entites</module>
-        <module>dao</module>
-
-        <module>business</module>
-        <module>restApp</module>
-        <module>websocketApp</module>
-        <module>jsf</module>
-        <module>ear</module>
-
+        <module>utils</module>
+        <module>jee</module>
         <module>websocketClient</module>
-
     </modules>
-    <packaging>pom</packaging>
+
 
     <properties>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
-        <failOnMissingWebXml>false</failOnMissingWebXml>
+        <jakarta.jakartaee-api.version>9.0.0</jakarta.jakartaee-api.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
-        <jakarta.jakartaee-api.version>9.0.0</jakarta.jakartaee-api.version>
-        <junit-jupiter.version>5.8.1</junit-jupiter.version>
+        <junit-jupiter.version>5.8.2</junit-jupiter.version>
     </properties>
 
     <dependencyManagement>
@@ -52,7 +41,7 @@
             <dependency>
                 <groupId>org.projectlombok</groupId>
                 <artifactId>lombok</artifactId>
-                <version>1.18.20</version>
+                <version>1.18.22</version>
                 <scope>compile</scope>
             </dependency>
             <dependency>
@@ -66,10 +55,16 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.8.1</version>
+                <configuration>
+                    <showDeprecation>true</showDeprecation>
+                    <showWarnings>true</showWarnings>
+                </configuration>
             </plugin>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <version>2.22.2</version>
             </plugin>
@@ -89,6 +84,7 @@
                                 <requireMavenVersion>
                                     <version>3.8</version>
                                 </requireMavenVersion>
+                                <dependencyConvergence/>
                             </rules>
                         </configuration>
                     </execution>
diff --git a/rules.xml b/rules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..571d5df6f2f051ffa7b30b47be2bde00e3cdc54f
--- /dev/null
+++ b/rules.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
+    <ignoreVersions>
+        <!-- Ignore Alpha's, Beta's, release candidates and milestones -->
+        <ignoreVersion type="regex">(?i).*Alpha(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*a(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*Beta(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*-B(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*RC(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*CR(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">(?i).*M(?:-?\d+)?</ignoreVersion>
+        <ignoreVersion type="regex">.*jre[0-9]+$</ignoreVersion>
+    </ignoreVersions>
+    <rules>
+    </rules>
+</ruleset>
diff --git a/server.xml b/server.xml
deleted file mode 100644
index 7882a0fb550ebc84e56b0825f8ad6464e6b86537..0000000000000000000000000000000000000000
--- a/server.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server description="new server">
-
-    <featureManager>
-        <feature>javaee-9.1</feature>
-        <feature>microProfile-3.0</feature>
-    </featureManager>
-
-    <httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443"/>
-
-    <quickStartSecurity userName="duke" userPassword="dukeduke"/>
-</server>
\ No newline at end of file
diff --git a/utils/pom.xml b/utils/pom.xml
index 16c46ecd64bc9ce00a4d30d5c01e68ee5ff5dce3..db2f4057da4f9738636357dcda2fd5f9540fee04 100644
--- a/utils/pom.xml
+++ b/utils/pom.xml
@@ -2,7 +2,7 @@
 <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/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>jee9.1</artifactId>
+        <artifactId>parent</artifactId>
         <groupId>fr.univtln.bruno.samples.jee91</groupId>
         <version>1.0-SNAPSHOT</version>
     </parent>
diff --git a/websocketClient/pom.xml b/websocketClient/pom.xml
index 378075cd4df7f97f767a9331ba8a4a93522fcd73..2773146a4ec0d48fd10395e72fee1c763165a829 100644
--- a/websocketClient/pom.xml
+++ b/websocketClient/pom.xml
@@ -2,7 +2,7 @@
 <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/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>jee9.1</artifactId>
+        <artifactId>parent</artifactId>
         <groupId>fr.univtln.bruno.samples.jee91</groupId>
         <version>1.0-SNAPSHOT</version>
     </parent>