diff --git a/S2/DevWeb/Projet/docker-compose.yaml b/S2/DevWeb/Projet/docker-compose.yaml
index b7ce81e..a7f3937 100644
--- a/S2/DevWeb/Projet/docker-compose.yaml
+++ b/S2/DevWeb/Projet/docker-compose.yaml
@@ -2,13 +2,12 @@ version: '2'
services:
mysql-db:
image: mysql:latest
- volumes:
- - ./mysql:/docker-entrypoint-initdb.d
environment:
- - MYSQL_DATABASE=db
- MYSQL_ROOT_PASSWORD=root
+ volumes:
+ - ./mysql/init:/docker-entrypoint-initdb.d
ports:
- - "6033:3306"
+ - "3306:3306"
expose:
- "3306"
@@ -16,12 +15,10 @@ services:
image: maildev/maildev
environment:
- TZ=Asia/Shanghai
- - MAILDEV_WEB_PORT=1080
- - MAILDEV_SMTP_PORT=1025
ports:
- - "8090:1080"
- - "8025:1025"
+ - "1080:1080"
+ - "1025:1025"
logging:
driver: "json-file"
options:
- max-size: "1m"
\ No newline at end of file
+ max-size: "1m"
diff --git a/S2/DevWeb/Projet/mysql/.gitignore b/S2/DevWeb/Projet/mysql/.gitignore
new file mode 100644
index 0000000..1754ef8
--- /dev/null
+++ b/S2/DevWeb/Projet/mysql/.gitignore
@@ -0,0 +1 @@
+init/
\ No newline at end of file
diff --git a/S2/DevWeb/Projet/mysql/build.sh b/S2/DevWeb/Projet/mysql/build.sh
new file mode 100755
index 0000000..89d3040
--- /dev/null
+++ b/S2/DevWeb/Projet/mysql/build.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+databases=("db_test" "db_prod")
+
+template="template.sql"
+output="init/init.sql"
+
+> "$output"
+for database in "${databases[@]}"; do
+ sed "s/\${database}/$database/g" "$template" >> "$output"
+ echo "" >> "$output"
+done
\ No newline at end of file
diff --git a/S2/DevWeb/Projet/mysql/init.sql b/S2/DevWeb/Projet/mysql/template.sql
similarity index 85%
rename from S2/DevWeb/Projet/mysql/init.sql
rename to S2/DevWeb/Projet/mysql/template.sql
index 4c5cc8f..800246f 100644
--- a/S2/DevWeb/Projet/mysql/init.sql
+++ b/S2/DevWeb/Projet/mysql/template.sql
@@ -1,5 +1,5 @@
-CREATE DATABASE IF NOT EXISTS db;
-USE db;
+CREATE DATABASE IF NOT EXISTS ${database};
+USE ${database};
-- Table: User
CREATE TABLE IF NOT EXISTS `user`
@@ -55,8 +55,8 @@ CREATE TABLE IF NOT EXISTS recovery_password_token
FOREIGN KEY (user_id) REFERENCES `user` (id)
);
-DELIMITER //
-CREATE TRIGGER expires_at BEFORE INSERT ON recovery_password_token FOR EACH ROW
-BEGIN
- SET NEW.`expires_at` = TIMESTAMPADD(MINUTE, 15, CURRENT_TIMESTAMP);
-END;//
+# DELIMITER //
+# CREATE TRIGGER expires_at BEFORE INSERT ON recovery_password_token FOR EACH ROW
+# BEGIN
+# SET NEW.`expires_at` = TIMESTAMPADD(MINUTE, 15, CURRENT_TIMESTAMP);
+# END;//
diff --git a/S2/DevWeb/Projet/pom.xml b/S2/DevWeb/Projet/pom.xml
index b31c033..a319e69 100644
--- a/S2/DevWeb/Projet/pom.xml
+++ b/S2/DevWeb/Projet/pom.xml
@@ -34,6 +34,13 @@
gson
2.8.6
+
+
+ io.github.cdimascio
+ dotenv-java
+ 3.0.0
+
+
mysql
mysql-connector-java
@@ -60,10 +67,11 @@
-
+
org.apache.maven.plugins
maven-war-plugin
3.3.2
-
+
+
-
+
\ No newline at end of file
diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/Main.java b/S2/DevWeb/Projet/src/main/java/uppa/project/Main.java
index 5212ad1..2160692 100644
--- a/S2/DevWeb/Projet/src/main/java/uppa/project/Main.java
+++ b/S2/DevWeb/Projet/src/main/java/uppa/project/Main.java
@@ -15,11 +15,11 @@ public class Main {
// DAO daoJpaPlayer = jpaDaoFactory.getDAOPlayer();
// Contenu de la BD au début
-// User[] users = daoJpaUser.findAll();
-// for (User u : users) {
-// System.out.println(u.toString());
-// }
-// System.out.println();
+ User[] users = daoJpaUser.findAll();
+ for (User u : users) {
+ System.out.println(u.toString());
+ }
+ System.out.println();
// // Ajout d'User :
// Calendar cal1 = Calendar.getInstance();
@@ -33,12 +33,12 @@ public class Main {
// daoJpaUser.create(user1);
// daoJpaUser.create(user2);
- System.out.println("test récupération user");
- User[] users2 = daoJpaUser.findByField("username", "Kevin");
- for (User user : users2) {
- System.out.println(user.toString());
- }
- System.out.println("fin test");
+// System.out.println("test récupération user");
+// User[] users2 = daoJpaUser.findByField("username", "Kevin");
+// for (User user : users2) {
+// System.out.println(user.toString());
+// }
+// System.out.println("fin test");
} catch (DAOException e) {
throw new RuntimeException(e);
}
diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/provider/DotenvProvider.java b/S2/DevWeb/Projet/src/main/java/uppa/project/provider/DotenvProvider.java
new file mode 100644
index 0000000..b1b4043
--- /dev/null
+++ b/S2/DevWeb/Projet/src/main/java/uppa/project/provider/DotenvProvider.java
@@ -0,0 +1,14 @@
+package uppa.project.provider;
+
+import io.github.cdimascio.dotenv.Dotenv;
+
+public class DotenvProvider {
+ static Dotenv instance;
+
+ public static Dotenv getInstance() {
+ if (instance == null) {
+ instance = Dotenv.configure().load();
+ }
+ return instance;
+ }
+}
\ No newline at end of file
diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/provider/EntityManagerProvider.java b/S2/DevWeb/Projet/src/main/java/uppa/project/provider/EntityManagerProvider.java
index cabcdc0..2f199dc 100644
--- a/S2/DevWeb/Projet/src/main/java/uppa/project/provider/EntityManagerProvider.java
+++ b/S2/DevWeb/Projet/src/main/java/uppa/project/provider/EntityManagerProvider.java
@@ -18,8 +18,7 @@ import jakarta.persistence.Persistence;
* @see jakarta.persistence.EntityManager
*/
public final class EntityManagerProvider {
-
- private final static String PERSISTANCE_UNIT_NAME = "db";
+ private static final String PERSISTANCE_UNIT_NAME = DotenvProvider.getInstance().get("PERSISTANCE_UNIT_NAME");
private static EntityManager instance;
private static EntityManagerFactory factory;
diff --git a/S2/DevWeb/Projet/src/main/resources/META-INF/persistence.xml b/S2/DevWeb/Projet/src/main/resources/META-INF/persistence.xml
index 8d3f42d..e76e244 100644
--- a/S2/DevWeb/Projet/src/main/resources/META-INF/persistence.xml
+++ b/S2/DevWeb/Projet/src/main/resources/META-INF/persistence.xml
@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
version="3.0">
-
+
uppa.project.pojo.User
uppa.project.pojo.Game
@@ -12,11 +12,29 @@
-
+
+
+
+
+ uppa.project.pojo.User
+ uppa.project.pojo.Game
+ uppa.project.pojo.Player
+ uppa.project.pojo.RecoveryPasswordToken
+
+
+
+
+
+
+
+
+
+
+