diff --git a/docker/Dockerfile b/docker/Dockerfile
index b1872955b06e1de629af0c5cefd3e00743d2e5ad..8ef1ac974908a4885b3d580a9f2daaeb6dfc673a 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -39,9 +39,9 @@ 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
\ No newline at end of file
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 100%
rename from business/pom.xml
rename to jee/business/pom.xml
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/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/jsf/pom.xml b/jee/jsf/pom.xml
similarity index 90%
rename from jsf/pom.xml
rename to jee/jsf/pom.xml
index d5f2855adc5d82f07e03c3c5167b0e0b849000d3..ec52d71953a9d9c80fa3d5d59751abba28808e45 100644
--- a/jsf/pom.xml
+++ b/jee/jsf/pom.xml
@@ -51,6 +51,14 @@
             <artifactId>junit-jupiter</artifactId>
         </dependency>
 
+        <!-- https://mvnrepository.com/artifact/jakarta.faces/jakarta.faces-api -->
+        <dependency>
+            <groupId>jakarta.faces</groupId>
+            <artifactId>jakarta.faces-api</artifactId>
+            <version>3.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+
         <!--dependency>
             <groupId>org.omnifaces</groupId>
             <artifactId>omnifaces</artifactId>
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/jsf/src/main/resources/META-INF/log4j.properties b/jee/jsf/src/main/resources/META-INF/log4j.properties
similarity index 100%
rename from jsf/src/main/resources/META-INF/log4j.properties
rename to jee/jsf/src/main/resources/META-INF/log4j.properties
diff --git a/jsf/src/main/resources/META-INF/persistence.xml b/jee/jsf/src/main/resources/META-INF/persistence.xml
similarity index 100%
rename from jsf/src/main/resources/META-INF/persistence.xml
rename to jee/jsf/src/main/resources/META-INF/persistence.xml
diff --git a/jsf/src/main/resources/insert.sql b/jee/jsf/src/main/resources/insert.sql
similarity index 100%
rename from jsf/src/main/resources/insert.sql
rename to jee/jsf/src/main/resources/insert.sql
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 100%
rename from jsf/src/main/webapp/index.xhtml
rename to jee/jsf/src/main/webapp/index.xhtml
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..f6c3b84ec17678a45e90071ed7f5cbb68e836889
--- /dev/null
+++ b/jee/pom.xml
@@ -0,0 +1,42 @@
+<?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>
+    </modules>
+
+    <dependencies>
+        <dependency>
+            <groupId>jakarta.platform</groupId>
+            <artifactId>jakarta.jakartaee-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+            <version>3.0.0</version>
+            <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 100%
rename from restApp/pom.xml
rename to jee/restApp/pom.xml
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/resources/META-INF/persistence.xml b/jee/restApp/src/main/resources/META-INF/persistence.xml
similarity index 100%
rename from restApp/src/main/resources/META-INF/persistence.xml
rename to jee/restApp/src/main/resources/META-INF/persistence.xml
diff --git a/restApp/src/main/resources/insert.sql b/jee/restApp/src/main/resources/insert.sql
similarity index 100%
rename from restApp/src/main/resources/insert.sql
rename to jee/restApp/src/main/resources/insert.sql
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/wsApp/pom.xml b/jee/wsApp/pom.xml
similarity index 100%
rename from wsApp/pom.xml
rename to jee/wsApp/pom.xml
diff --git a/wsApp/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 wsApp/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/wsApp/src/main/resources/META-INF/log4j.properties b/jee/wsApp/src/main/resources/META-INF/log4j.properties
similarity index 100%
rename from wsApp/src/main/resources/META-INF/log4j.properties
rename to jee/wsApp/src/main/resources/META-INF/log4j.properties
diff --git a/wsApp/src/main/resources/META-INF/persistence.xml b/jee/wsApp/src/main/resources/META-INF/persistence.xml
similarity index 100%
rename from wsApp/src/main/resources/META-INF/persistence.xml
rename to jee/wsApp/src/main/resources/META-INF/persistence.xml
diff --git a/wsApp/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 wsApp/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 7b344197500b639a8eace92c5927a761b8b3c160..f93700cdfed7355876f66da9e29431d137f05c78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,30 +3,24 @@
     <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>business</module>
-        <module>restApp</module>
-        <module>wsApp</module>
-        <module>dao</module>
         <module>wsClient</module>
         <module>entites</module>
         <module>utils</module>
-        <module>jsf</module>
+        <module>jee</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.1.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>
     </properties>
 
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/wsClient/pom.xml b/wsClient/pom.xml
index 378075cd4df7f97f767a9331ba8a4a93522fcd73..2773146a4ec0d48fd10395e72fee1c763165a829 100644
--- a/wsClient/pom.xml
+++ b/wsClient/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>