From 3158820a79285bf95dcd0793efff70742ca1e209 Mon Sep 17 00:00:00 2001
From: Abelangel <abelange.burgosdi@hes-so.ch>
Date: Mon, 24 Mar 2025 15:39:14 +0100
Subject: [PATCH] microservice helloworld supp, migrations de la databases
 faites par le service auth

---
 microservices/auth/dockerfile                 |  26 +++--
 .../{helloworld => auth}/entrypoint.sh        |   0
 microservices/auth/prisma/database.db         | Bin 81920 -> 0 bytes
 .../migration.sql                             |   1 -
 .../migration.sql                             |  14 ---
 .../migration.sql                             |  48 ---------
 .../20240530082347_update_db/migration.sql    |  30 ------
 .../20240530082946_add_champs/migration.sql   |  24 -----
 .../20240530151620_update/migration.sql       |  20 ----
 .../migrations/20240530161440_/migration.sql  |  53 ----------
 .../20240530162619_test/migration.sql         |  53 ----------
 .../migrations/20240606084017_c/migration.sql |  37 -------
 .../migration.sql                             |  40 --------
 .../migrations/20240606094407_v/migration.sql |   1 -
 .../migration.sql                             |  24 -----
 .../migration.sql                             |  22 ----
 .../migration.sql                             |  19 ----
 .../migration.sql                             |  26 -----
 .../20240613130357_test/migration.sql         |   1 -
 .../migrations/20240613135314_/migration.sql  |  25 -----
 .../20240613135344_test2/migration.sql        |   1 -
 .../20240613145516_test3/migration.sql        |  25 -----
 .../20240613150814_es/migration.sql           |   1 -
 .../migration.sql                             |  30 ------
 .../20240613195132_database/migration.sql     |   1 -
 .../migrations/20240615191543_/migration.sql  |  26 -----
 .../migrations/20240615192133_/migration.sql  |  20 ----
 .../migrations/20240615194339_/migration.sql  |  26 -----
 .../20240615194422_add_score/migration.sql    |   1 -
 .../20240615195336_regle_erreur/migration.sql |   1 -
 .../migration.sql                             |  27 -----
 .../20240615235741_addorder/migration.sql     |   1 -
 .../migrations/20240616122454_/migration.sql  |  27 -----
 .../migration.sql                             |   1 -
 .../20240616125927_new_mig/migration.sql      |  27 -----
 .../20250316233505_init/migration.sql         |   0
 .../prisma/migrations/migration_lock.toml     |   4 +-
 microservices/auth/prisma/schema.prisma       |   3 +-
 microservices/auth/prisma/seed.ts             |  88 +++++++++-------
 microservices/docker-compose.yml              |  16 +--
 .../question/question.component.html          |   4 +-
 microservices/helloworld/dockerfile           |  39 -------
 .../prisma/migrations/migration_lock.toml     |   3 -
 microservices/helloworld/prisma/schema.prisma |  95 ------------------
 microservices/helloworld/prisma/seed.ts       |  76 --------------
 microservices/minikube/k8s-auth.yaml          |  31 ++++++
 microservices/minikube/k8s-postgres.yaml      |  55 ++++++++++
 microservices/nginx.conf                      |   5 +-
 48 files changed, 166 insertions(+), 932 deletions(-)
 rename microservices/{helloworld => auth}/entrypoint.sh (100%)
 delete mode 100644 microservices/auth/prisma/database.db
 delete mode 100644 microservices/auth/prisma/migrations/20240417125028_database_creation/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240417125048_add_user_schema/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240523145021_create_complete_database/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240530082347_update_db/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240530082946_add_champs/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240530151620_update/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240530161440_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240530162619_test/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240606084017_c/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240606093824_relation_added/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240606094407_v/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240612164927_change_date_type/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240612180153_change_temps_type/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613090400_add_has_finished/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613125037_change_numeric_type/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613130357_test/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613135314_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613135344_test2/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613145516_test3/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613150814_es/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613154612_add_some_action/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240613195132_database/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615191543_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615192133_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615194339_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615194422_add_score/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615195336_regle_erreur/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615235649_add_random_order_choix/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240615235741_addorder/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240616122454_/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240616122525_change_type_numeric_question/migration.sql
 delete mode 100644 microservices/auth/prisma/migrations/20240616125927_new_mig/migration.sql
 rename microservices/{helloworld => auth}/prisma/migrations/20250316233505_init/migration.sql (100%)
 delete mode 100644 microservices/helloworld/dockerfile
 delete mode 100644 microservices/helloworld/prisma/migrations/migration_lock.toml
 delete mode 100644 microservices/helloworld/prisma/schema.prisma
 delete mode 100644 microservices/helloworld/prisma/seed.ts
 create mode 100644 microservices/minikube/k8s-auth.yaml
 create mode 100644 microservices/minikube/k8s-postgres.yaml

diff --git a/microservices/auth/dockerfile b/microservices/auth/dockerfile
index 548d9151..5ecf6a1d 100644
--- a/microservices/auth/dockerfile
+++ b/microservices/auth/dockerfile
@@ -1,25 +1,39 @@
 # Étape 1 : Construction de l'application
 FROM node:18 AS builder
 
+# Définir le répertoire de travail
 WORKDIR /app
 
-# Copier tout le projet depuis ta machine (y compris tsconfig.json)
-COPY . .
+# Copier les fichiers package
+COPY package.json package-lock.json ./
 
 # Installer les dépendances
 RUN npm install
 
-# Compiler TypeScript
+# Copier les fichiers sources
+COPY . .
+
+# Compiler le projet TypeScript
 RUN npm run build
 
 # Étape 2 : Image de production
 FROM node:18
 
+# Définir le répertoire de travail
 WORKDIR /app
 
-# Copier les fichiers de production depuis le builder
-COPY --from=builder /app .
+# Copier les fichiers nécessaires depuis le builder
+COPY --from=builder /app/dist ./dist
+COPY --from=builder /app/node_modules ./node_modules
+COPY --from=builder /app/prisma ./prisma
+COPY package.json ./
+COPY .env .env
+COPY entrypoint.sh ./entrypoint.sh
+
+# Donner les permissions nécessaires
+RUN chmod +x entrypoint.sh
 
 EXPOSE 30992
 
-CMD ["npm", "run", "start:dev"]
\ No newline at end of file
+# Utilisation du script d'entrée
+ENTRYPOINT ["sh", "./entrypoint.sh"]
diff --git a/microservices/helloworld/entrypoint.sh b/microservices/auth/entrypoint.sh
similarity index 100%
rename from microservices/helloworld/entrypoint.sh
rename to microservices/auth/entrypoint.sh
diff --git a/microservices/auth/prisma/database.db b/microservices/auth/prisma/database.db
deleted file mode 100644
index d43cbe19ddee87ab6f09e2644d0559a1d0a36e4f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 81920
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
ItRj3&05&u^*Z=?k

diff --git a/microservices/auth/prisma/migrations/20240417125028_database_creation/migration.sql b/microservices/auth/prisma/migrations/20240417125028_database_creation/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240417125028_database_creation/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240417125048_add_user_schema/migration.sql b/microservices/auth/prisma/migrations/20240417125048_add_user_schema/migration.sql
deleted file mode 100644
index d8030354..00000000
--- a/microservices/auth/prisma/migrations/20240417125048_add_user_schema/migration.sql
+++ /dev/null
@@ -1,14 +0,0 @@
--- CreateTable
-CREATE TABLE "User" (
-    "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "name" TEXT,
-    "mail" TEXT,
-    "gitlabUsername" TEXT NOT NULL,
-    "deleted" BOOLEAN NOT NULL DEFAULT false
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "User_mail_key" ON "User"("mail");
-
--- CreateIndex
-CREATE UNIQUE INDEX "User_gitlabUsername_key" ON "User"("gitlabUsername");
diff --git a/microservices/auth/prisma/migrations/20240523145021_create_complete_database/migration.sql b/microservices/auth/prisma/migrations/20240523145021_create_complete_database/migration.sql
deleted file mode 100644
index b6a8b802..00000000
--- a/microservices/auth/prisma/migrations/20240523145021_create_complete_database/migration.sql
+++ /dev/null
@@ -1,48 +0,0 @@
--- CreateTable
-CREATE TABLE "QCM" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" TEXT NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL
-);
-
--- CreateTable
-CREATE TABLE "Type" (
-    "idType" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomType" TEXT NOT NULL
-);
-
--- CreateTable
-CREATE TABLE "Choix" (
-    "idChoix" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "isCorrect" BOOLEAN NOT NULL,
-    "idQuestion" INTEGER NOT NULL,
-    CONSTRAINT "Choix_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-
--- CreateTable
-CREATE TABLE "Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" BOOLEAN,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QCM" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-
--- CreateTable
-CREATE TABLE "Reponse" (
-    "idQuestion" INTEGER NOT NULL,
-    "idChoix" INTEGER NOT NULL,
-    "idUser" INTEGER NOT NULL,
-    "numeric" REAL,
-
-    PRIMARY KEY ("idQuestion", "idChoix", "idUser"),
-    CONSTRAINT "Reponse_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idChoix_fkey" FOREIGN KEY ("idChoix") REFERENCES "Choix" ("idChoix") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
diff --git a/microservices/auth/prisma/migrations/20240530082347_update_db/migration.sql b/microservices/auth/prisma/migrations/20240530082347_update_db/migration.sql
deleted file mode 100644
index 60c86e8c..00000000
--- a/microservices/auth/prisma/migrations/20240530082347_update_db/migration.sql
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `codeAcces` to the `QCM` table without a default value. This is not possible if the table is not empty.
-
-*/
--- CreateTable
-CREATE TABLE "Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QCM" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_QCM" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" TEXT NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "codeAcces" INTEGER NOT NULL
-);
-INSERT INTO "new_QCM" ("idQCM", "nomQCM", "randomOrder", "temps") SELECT "idQCM", "nomQCM", "randomOrder", "temps" FROM "QCM";
-DROP TABLE "QCM";
-ALTER TABLE "new_QCM" RENAME TO "QCM";
-PRAGMA foreign_key_check("QCM");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240530082946_add_champs/migration.sql b/microservices/auth/prisma/migrations/20240530082946_add_champs/migration.sql
deleted file mode 100644
index 2eb101b8..00000000
--- a/microservices/auth/prisma/migrations/20240530082946_add_champs/migration.sql
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `feedback` to the `Participer` table without a default value. This is not possible if the table is not empty.
-  - Added the required column `note` to the `Participer` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QCM" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("idQCM", "idUser") SELECT "idQCM", "idUser" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240530151620_update/migration.sql b/microservices/auth/prisma/migrations/20240530151620_update/migration.sql
deleted file mode 100644
index cd6e8980..00000000
--- a/microservices/auth/prisma/migrations/20240530151620_update/migration.sql
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `nomChoix` to the `Choix` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Choix" (
-    "idChoix" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "isCorrect" BOOLEAN NOT NULL,
-    "idQuestion" INTEGER NOT NULL,
-    "nomChoix" TEXT NOT NULL,
-    CONSTRAINT "Choix_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Choix" ("idChoix", "idQuestion", "isCorrect") SELECT "idChoix", "idQuestion", "isCorrect" FROM "Choix";
-DROP TABLE "Choix";
-ALTER TABLE "new_Choix" RENAME TO "Choix";
-PRAGMA foreign_key_check("Choix");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240530161440_/migration.sql b/microservices/auth/prisma/migrations/20240530161440_/migration.sql
deleted file mode 100644
index ac44a9b4..00000000
--- a/microservices/auth/prisma/migrations/20240530161440_/migration.sql
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to drop the `QCM` table. If the table is not empty, all the data it contains will be lost.
-
-*/
--- DropTable
-PRAGMA foreign_keys=off;
-DROP TABLE "QCM";
-PRAGMA foreign_keys=on;
-
--- CreateTable
-CREATE TABLE "Qcm" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" TEXT NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "codeAcces" INTEGER NOT NULL
-);
-
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" BOOLEAN,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "Qcm" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "Qcm" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "idQCM", "idUser", "note") SELECT "feedback", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240530162619_test/migration.sql b/microservices/auth/prisma/migrations/20240530162619_test/migration.sql
deleted file mode 100644
index aa822b84..00000000
--- a/microservices/auth/prisma/migrations/20240530162619_test/migration.sql
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to drop the `Qcm` table. If the table is not empty, all the data it contains will be lost.
-
-*/
--- DropTable
-PRAGMA foreign_keys=off;
-DROP TABLE "Qcm";
-PRAGMA foreign_keys=on;
-
--- CreateTable
-CREATE TABLE "QcmTable" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" TEXT NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "codeAcces" INTEGER NOT NULL
-);
-
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" BOOLEAN,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "idQCM", "idUser", "note") SELECT "feedback", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240606084017_c/migration.sql b/microservices/auth/prisma/migrations/20240606084017_c/migration.sql
deleted file mode 100644
index dfcc3f54..00000000
--- a/microservices/auth/prisma/migrations/20240606084017_c/migration.sql
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `heureDebut` to the `Participer` table without a default value. This is not possible if the table is not empty.
-  - Added the required column `position` to the `Choix` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "heureDebut" TEXT NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "idQCM", "idUser", "note") SELECT "feedback", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-CREATE TABLE "new_Choix" (
-    "idChoix" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "isCorrect" BOOLEAN NOT NULL,
-    "idQuestion" INTEGER NOT NULL,
-    "nomChoix" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    CONSTRAINT "Choix_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Choix" ("idChoix", "idQuestion", "isCorrect", "nomChoix") SELECT "idChoix", "idQuestion", "isCorrect", "nomChoix" FROM "Choix";
-DROP TABLE "Choix";
-ALTER TABLE "new_Choix" RENAME TO "Choix";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_key_check("Choix");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240606093824_relation_added/migration.sql b/microservices/auth/prisma/migrations/20240606093824_relation_added/migration.sql
deleted file mode 100644
index 3419aa37..00000000
--- a/microservices/auth/prisma/migrations/20240606093824_relation_added/migration.sql
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `isMultiple` to the `Question` table without a default value. This is not possible if the table is not empty.
-  - Added the required column `idUserCreator` to the `QcmTable` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" BOOLEAN,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    "isMultiple" BOOLEAN NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-CREATE TABLE "new_QcmTable" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" TEXT NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "codeAcces" INTEGER NOT NULL,
-    "idUserCreator" INTEGER NOT NULL,
-    CONSTRAINT "QcmTable_idUserCreator_fkey" FOREIGN KEY ("idUserCreator") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_QcmTable" ("codeAcces", "idQCM", "nomQCM", "randomOrder", "temps") SELECT "codeAcces", "idQCM", "nomQCM", "randomOrder", "temps" FROM "QcmTable";
-DROP TABLE "QcmTable";
-ALTER TABLE "new_QcmTable" RENAME TO "QcmTable";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_key_check("QcmTable");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240606094407_v/migration.sql b/microservices/auth/prisma/migrations/20240606094407_v/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240606094407_v/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240612164927_change_date_type/migration.sql b/microservices/auth/prisma/migrations/20240612164927_change_date_type/migration.sql
deleted file mode 100644
index fa2acb9a..00000000
--- a/microservices/auth/prisma/migrations/20240612164927_change_date_type/migration.sql
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to alter the column `heureDebut` on the `Participer` table. The data in that column could be lost. The data in that column will be cast from `String` to `Int`.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "heureDebut" INTEGER NOT NULL,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "heureDebut", "idQCM", "idUser", "note") SELECT "feedback", "heureDebut", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240612180153_change_temps_type/migration.sql b/microservices/auth/prisma/migrations/20240612180153_change_temps_type/migration.sql
deleted file mode 100644
index 5e75a88d..00000000
--- a/microservices/auth/prisma/migrations/20240612180153_change_temps_type/migration.sql
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to alter the column `temps` on the `QcmTable` table. The data in that column could be lost. The data in that column will be cast from `String` to `Int`.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_QcmTable" (
-    "idQCM" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "nomQCM" TEXT NOT NULL,
-    "temps" INTEGER NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "codeAcces" INTEGER NOT NULL,
-    "idUserCreator" INTEGER NOT NULL,
-    CONSTRAINT "QcmTable_idUserCreator_fkey" FOREIGN KEY ("idUserCreator") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_QcmTable" ("codeAcces", "idQCM", "idUserCreator", "nomQCM", "randomOrder", "temps") SELECT "codeAcces", "idQCM", "idUserCreator", "nomQCM", "randomOrder", "temps" FROM "QcmTable";
-DROP TABLE "QcmTable";
-ALTER TABLE "new_QcmTable" RENAME TO "QcmTable";
-PRAGMA foreign_key_check("QcmTable");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613090400_add_has_finished/migration.sql b/microservices/auth/prisma/migrations/20240613090400_add_has_finished/migration.sql
deleted file mode 100644
index 192dde74..00000000
--- a/microservices/auth/prisma/migrations/20240613090400_add_has_finished/migration.sql
+++ /dev/null
@@ -1,19 +0,0 @@
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "heureDebut" INTEGER NOT NULL,
-    "hasFinished" BOOLEAN NOT NULL DEFAULT false,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "heureDebut", "idQCM", "idUser", "note") SELECT "feedback", "heureDebut", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613125037_change_numeric_type/migration.sql b/microservices/auth/prisma/migrations/20240613125037_change_numeric_type/migration.sql
deleted file mode 100644
index db70c6b0..00000000
--- a/microservices/auth/prisma/migrations/20240613125037_change_numeric_type/migration.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to alter the column `numeric` on the `Question` table. The data in that column could be lost. The data in that column will be cast from `Boolean` to `Int`.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" INTEGER,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    "isMultiple" BOOLEAN NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613130357_test/migration.sql b/microservices/auth/prisma/migrations/20240613130357_test/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240613130357_test/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240613135314_/migration.sql b/microservices/auth/prisma/migrations/20240613135314_/migration.sql
deleted file mode 100644
index f0ced18d..00000000
--- a/microservices/auth/prisma/migrations/20240613135314_/migration.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-  Warnings:
-
-  - The primary key for the `Reponse` table will be changed. If it partially fails, the table could be left without primary key constraint.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Reponse" (
-    "idQuestion" INTEGER NOT NULL,
-    "idChoix" INTEGER,
-    "idUser" INTEGER NOT NULL,
-    "numeric" REAL,
-
-    PRIMARY KEY ("idQuestion", "idUser"),
-    CONSTRAINT "Reponse_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idChoix_fkey" FOREIGN KEY ("idChoix") REFERENCES "Choix" ("idChoix") ON DELETE SET NULL ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Reponse" ("idChoix", "idQuestion", "idUser", "numeric") SELECT "idChoix", "idQuestion", "idUser", "numeric" FROM "Reponse";
-DROP TABLE "Reponse";
-ALTER TABLE "new_Reponse" RENAME TO "Reponse";
-CREATE UNIQUE INDEX "Reponse_idQuestion_idUser_idChoix_key" ON "Reponse"("idQuestion", "idUser", "idChoix");
-PRAGMA foreign_key_check("Reponse");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613135344_test2/migration.sql b/microservices/auth/prisma/migrations/20240613135344_test2/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240613135344_test2/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240613145516_test3/migration.sql b/microservices/auth/prisma/migrations/20240613145516_test3/migration.sql
deleted file mode 100644
index 1ed20e0e..00000000
--- a/microservices/auth/prisma/migrations/20240613145516_test3/migration.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-  Warnings:
-
-  - The primary key for the `Reponse` table will be changed. If it partially fails, the table could be left without primary key constraint.
-  - Added the required column `idReponse` to the `Reponse` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Reponse" (
-    "idReponse" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "idQuestion" INTEGER NOT NULL,
-    "idChoix" INTEGER,
-    "idUser" INTEGER NOT NULL,
-    "numeric" REAL,
-    CONSTRAINT "Reponse_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idChoix_fkey" FOREIGN KEY ("idChoix") REFERENCES "Choix" ("idChoix") ON DELETE SET NULL ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Reponse" ("idChoix", "idQuestion", "idUser", "numeric") SELECT "idChoix", "idQuestion", "idUser", "numeric" FROM "Reponse";
-DROP TABLE "Reponse";
-ALTER TABLE "new_Reponse" RENAME TO "Reponse";
-CREATE UNIQUE INDEX "Reponse_idQuestion_idUser_idChoix_key" ON "Reponse"("idQuestion", "idUser", "idChoix");
-PRAGMA foreign_key_check("Reponse");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613150814_es/migration.sql b/microservices/auth/prisma/migrations/20240613150814_es/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240613150814_es/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240613154612_add_some_action/migration.sql b/microservices/auth/prisma/migrations/20240613154612_add_some_action/migration.sql
deleted file mode 100644
index 1e72d45c..00000000
--- a/microservices/auth/prisma/migrations/20240613154612_add_some_action/migration.sql
+++ /dev/null
@@ -1,30 +0,0 @@
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Choix" (
-    "idChoix" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "isCorrect" BOOLEAN NOT NULL,
-    "idQuestion" INTEGER NOT NULL,
-    "nomChoix" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    CONSTRAINT "Choix_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE CASCADE ON UPDATE CASCADE
-);
-INSERT INTO "new_Choix" ("idChoix", "idQuestion", "isCorrect", "nomChoix", "position") SELECT "idChoix", "idQuestion", "isCorrect", "nomChoix", "position" FROM "Choix";
-DROP TABLE "Choix";
-ALTER TABLE "new_Choix" RENAME TO "Choix";
-CREATE TABLE "new_Reponse" (
-    "idReponse" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "idQuestion" INTEGER NOT NULL,
-    "idChoix" INTEGER,
-    "idUser" INTEGER NOT NULL,
-    "numeric" REAL,
-    CONSTRAINT "Reponse_idQuestion_fkey" FOREIGN KEY ("idQuestion") REFERENCES "Question" ("idQuestion") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idChoix_fkey" FOREIGN KEY ("idChoix") REFERENCES "Choix" ("idChoix") ON DELETE CASCADE ON UPDATE CASCADE,
-    CONSTRAINT "Reponse_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Reponse" ("idChoix", "idQuestion", "idReponse", "idUser", "numeric") SELECT "idChoix", "idQuestion", "idReponse", "idUser", "numeric" FROM "Reponse";
-DROP TABLE "Reponse";
-ALTER TABLE "new_Reponse" RENAME TO "Reponse";
-CREATE UNIQUE INDEX "Reponse_idQuestion_idUser_idChoix_key" ON "Reponse"("idQuestion", "idUser", "idChoix");
-PRAGMA foreign_key_check("Choix");
-PRAGMA foreign_key_check("Reponse");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240613195132_database/migration.sql b/microservices/auth/prisma/migrations/20240613195132_database/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240613195132_database/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240615191543_/migration.sql b/microservices/auth/prisma/migrations/20240615191543_/migration.sql
deleted file mode 100644
index 83a47a17..00000000
--- a/microservices/auth/prisma/migrations/20240615191543_/migration.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `score` to the `Participer` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "score" INTEGER NOT NULL,
-    "heureDebut" INTEGER NOT NULL,
-    "hasFinished" BOOLEAN NOT NULL DEFAULT false,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note") SELECT "feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240615192133_/migration.sql b/microservices/auth/prisma/migrations/20240615192133_/migration.sql
deleted file mode 100644
index 9be8341d..00000000
--- a/microservices/auth/prisma/migrations/20240615192133_/migration.sql
+++ /dev/null
@@ -1,20 +0,0 @@
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "score" INTEGER,
-    "heureDebut" INTEGER NOT NULL,
-    "hasFinished" BOOLEAN NOT NULL DEFAULT false,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note", "score") SELECT "feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note", "score" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240615194339_/migration.sql b/microservices/auth/prisma/migrations/20240615194339_/migration.sql
deleted file mode 100644
index a1699f14..00000000
--- a/microservices/auth/prisma/migrations/20240615194339_/migration.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-  Warnings:
-
-  - Made the column `score` on table `Participer` required. This step will fail if there are existing NULL values in that column.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Participer" (
-    "idUser" INTEGER NOT NULL,
-    "idQCM" INTEGER NOT NULL,
-    "feedback" TEXT NOT NULL,
-    "note" REAL NOT NULL,
-    "score" INTEGER NOT NULL,
-    "heureDebut" INTEGER NOT NULL,
-    "hasFinished" BOOLEAN NOT NULL DEFAULT false,
-
-    PRIMARY KEY ("idUser", "idQCM"),
-    CONSTRAINT "Participer_idUser_fkey" FOREIGN KEY ("idUser") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Participer_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Participer" ("feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note", "score") SELECT "feedback", "hasFinished", "heureDebut", "idQCM", "idUser", "note", "score" FROM "Participer";
-DROP TABLE "Participer";
-ALTER TABLE "new_Participer" RENAME TO "Participer";
-PRAGMA foreign_key_check("Participer");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240615194422_add_score/migration.sql b/microservices/auth/prisma/migrations/20240615194422_add_score/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240615194422_add_score/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240615195336_regle_erreur/migration.sql b/microservices/auth/prisma/migrations/20240615195336_regle_erreur/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240615195336_regle_erreur/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240615235649_add_random_order_choix/migration.sql b/microservices/auth/prisma/migrations/20240615235649_add_random_order_choix/migration.sql
deleted file mode 100644
index 4e5fbeea..00000000
--- a/microservices/auth/prisma/migrations/20240615235649_add_random_order_choix/migration.sql
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `randomOrder` to the `Question` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" INTEGER,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    "isMultiple" BOOLEAN NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/auth/prisma/migrations/20240615235741_addorder/migration.sql b/microservices/auth/prisma/migrations/20240615235741_addorder/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240615235741_addorder/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240616122454_/migration.sql b/microservices/auth/prisma/migrations/20240616122454_/migration.sql
deleted file mode 100644
index e0ece44a..00000000
--- a/microservices/auth/prisma/migrations/20240616122454_/migration.sql
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-  Warnings:
-
-  - You are about to alter the column `numeric` on the `Question` table. The data in that column could be lost. The data in that column will be cast from `Int` to `Float`.
-
-*/
--- RedefineTables
-PRAGMA defer_foreign_keys=ON;
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" REAL,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    "isMultiple" BOOLEAN NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-PRAGMA foreign_keys=ON;
-PRAGMA defer_foreign_keys=OFF;
diff --git a/microservices/auth/prisma/migrations/20240616122525_change_type_numeric_question/migration.sql b/microservices/auth/prisma/migrations/20240616122525_change_type_numeric_question/migration.sql
deleted file mode 100644
index af5102c8..00000000
--- a/microservices/auth/prisma/migrations/20240616122525_change_type_numeric_question/migration.sql
+++ /dev/null
@@ -1 +0,0 @@
--- This is an empty migration.
\ No newline at end of file
diff --git a/microservices/auth/prisma/migrations/20240616125927_new_mig/migration.sql b/microservices/auth/prisma/migrations/20240616125927_new_mig/migration.sql
deleted file mode 100644
index d0391af0..00000000
--- a/microservices/auth/prisma/migrations/20240616125927_new_mig/migration.sql
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-  Warnings:
-
-  - Added the required column `randomOrder` to the `Question` table without a default value. This is not possible if the table is not empty.
-
-*/
--- RedefineTables
-PRAGMA foreign_keys=OFF;
-CREATE TABLE "new_Question" (
-    "idQuestion" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-    "question" TEXT NOT NULL,
-    "position" INTEGER NOT NULL,
-    "randomOrder" BOOLEAN NOT NULL,
-    "nbPtsPositif" INTEGER NOT NULL,
-    "nbPtsNegatif" INTEGER NOT NULL,
-    "numeric" REAL,
-    "idQCM" INTEGER NOT NULL,
-    "idType" INTEGER NOT NULL,
-    "isMultiple" BOOLEAN NOT NULL,
-    CONSTRAINT "Question_idQCM_fkey" FOREIGN KEY ("idQCM") REFERENCES "QcmTable" ("idQCM") ON DELETE RESTRICT ON UPDATE CASCADE,
-    CONSTRAINT "Question_idType_fkey" FOREIGN KEY ("idType") REFERENCES "Type" ("idType") ON DELETE RESTRICT ON UPDATE CASCADE
-);
-INSERT INTO "new_Question" ("idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question") SELECT "idQCM", "idQuestion", "idType", "isMultiple", "nbPtsNegatif", "nbPtsPositif", "numeric", "position", "question" FROM "Question";
-DROP TABLE "Question";
-ALTER TABLE "new_Question" RENAME TO "Question";
-PRAGMA foreign_key_check("Question");
-PRAGMA foreign_keys=ON;
diff --git a/microservices/helloworld/prisma/migrations/20250316233505_init/migration.sql b/microservices/auth/prisma/migrations/20250316233505_init/migration.sql
similarity index 100%
rename from microservices/helloworld/prisma/migrations/20250316233505_init/migration.sql
rename to microservices/auth/prisma/migrations/20250316233505_init/migration.sql
diff --git a/microservices/auth/prisma/migrations/migration_lock.toml b/microservices/auth/prisma/migrations/migration_lock.toml
index e5e5c470..648c57fd 100644
--- a/microservices/auth/prisma/migrations/migration_lock.toml
+++ b/microservices/auth/prisma/migrations/migration_lock.toml
@@ -1,3 +1,3 @@
 # Please do not edit this file manually
-# It should be added in your version-control system (i.e. Git)
-provider = "sqlite"
\ No newline at end of file
+# It should be added in your version-control system (e.g., Git)
+provider = "postgresql"
\ No newline at end of file
diff --git a/microservices/auth/prisma/schema.prisma b/microservices/auth/prisma/schema.prisma
index 61e3d4e6..981df4b3 100644
--- a/microservices/auth/prisma/schema.prisma
+++ b/microservices/auth/prisma/schema.prisma
@@ -7,6 +7,7 @@ datasource db {
   url      = env("DATABASE_URL")
 }
 
+
 // This model is not complete. It's a base for you to start working with Prisma.
 model User {
     id         		Int     @id /// The user's id is the same as their gitlab id
@@ -34,7 +35,7 @@ model QcmTable {
 
 model Type {
 	idType			Int 	@id @default(autoincrement())
-	nomType			String
+	nomType			String @unique
 	questions      	Question[]
 }
 
diff --git a/microservices/auth/prisma/seed.ts b/microservices/auth/prisma/seed.ts
index 7d08e7c3..37b26eda 100644
--- a/microservices/auth/prisma/seed.ts
+++ b/microservices/auth/prisma/seed.ts
@@ -1,11 +1,11 @@
 import process from 'process';
-import logger  from '../src/logging/WinstonLogger.js';
-import db      from '../src/helpers/DatabaseHelper.js';
-import Config  from '../src/config/Config.js';
-
+import logger from '../src/logging/WinstonLogger.js';
+import db from '../src/helpers/DatabaseHelper.js';
+import Config from '../src/config/Config.js';
 
 async function main() {
     await users();
+    await types();
 }
 
 main().then(async () => {
@@ -20,47 +20,57 @@ main().then(async () => {
 
 async function users() {
     await db.user.upsert({
-                             where : { id: 142 },
-                             update: {
-                                 name: 'Michaël Minelli'
-                             },
-                             create: {
-                                 id            : 142,
-                                 name          : 'Michaël Minelli',
-                                 gitlabUsername: 'michael.minelli',
-                                 deleted       : false
-                             }
-                         });
+        where: { id: 142 },
+        update: {
+            name: 'Michaël Minelli'
+        },
+        create: {
+            id: 142,
+            name: 'Michaël Minelli',
+            gitlabUsername: 'michael.minelli',
+            deleted: false
+        }
+    });
 
-    if ( !Config.production ) {
+    if (!Config.production) {
         await db.user.upsert({
-                                 where : { id: 525 },
-                                 update: {
-                                     deleted: false
-                                 },
-                                 create: {
-                                     id            : 525,
-                                     gitlabUsername: 'stephane.malandai',
-                                     deleted       : false
-                                 }
-                             });
+            where: { id: 525 },
+            update: {
+                deleted: false
+            },
+            create: {
+                id: 525,
+                gitlabUsername: 'stephane.malandai',
+                deleted: false
+            }
+        });
     }
-    await db.type.create({
-        data: {
-            idType        : 1,
-            nomType       : 'text',
+}
+
+async function types() {
+    await db.type.upsert({
+        where: { nomType: 'text' },
+        update: {},
+        create: {
+            nomType: 'text'
         }
     });
-    await db.type.create({
-        data: {
-            idType        : 2,
-            nomType       : 'numerique',
+
+    await db.type.upsert({
+        where: { nomType: 'numerique' },
+        update: {},
+        create: {
+            nomType: 'numerique'
         }
     });
-    await db.type.create({
-        data: {
-            idType        : 3,
-            nomType       : 'vraiFaux',
+
+    await db.type.upsert({
+        where: { nomType: 'vraiFaux' },
+        update: {},
+        create: {
+            nomType: 'vraiFaux'
         }
     });
-}
\ No newline at end of file
+
+    console.log("✅ Types de base insérés ou déjà présents.");
+}
diff --git a/microservices/docker-compose.yml b/microservices/docker-compose.yml
index d4cf58cd..364c81fb 100644
--- a/microservices/docker-compose.yml
+++ b/microservices/docker-compose.yml
@@ -18,7 +18,6 @@ services:
       - ./nginx.conf:/etc/nginx/nginx.conf:ro
       - ./cors.conf:/etc/nginx/cors.conf:ro
     depends_on:
-      - service-helloworld
       - service-auth
       - service-correction-qcm
       - service-realise-qcm
@@ -40,23 +39,16 @@ services:
     networks:
       - backend_network
 
-  service-helloworld:
-    image: service-helloworld
-    build: ./helloworld
-    ports:
-      - "8002:30992"   # Expose pour les tests locaux si nécessaire
-    networks:
-      - backend_network
-
   service-auth:
     image: service-auth
     build: ./auth
     ports:
-      - "8001:30992"
-    environment:
-      - API_PORT=30992  # S'assurer que le service écoute sur le bon port
+      - "8002:30992"   # Expose pour les tests locaux si nécessaire
     networks:
       - backend_network
+    depends_on:
+      - service-database
+
 
   service-correction-qcm:
     image: service-correction-qcm
diff --git a/microservices/frontend/src/app/affichage-examen/question/question.component.html b/microservices/frontend/src/app/affichage-examen/question/question.component.html
index fb398d5c..bbea2d35 100644
--- a/microservices/frontend/src/app/affichage-examen/question/question.component.html
+++ b/microservices/frontend/src/app/affichage-examen/question/question.component.html
@@ -13,9 +13,9 @@
     <ng-template #singleChoice>
       <div *ngFor="let choix of question.choix">
         <div class="form-check">
-          <input id="formCheck-3" [value]="choix.id" class="form-check-input" name="choices" type="radio"
+          <input [id]="choix.id" [value]="choix.id" class="form-check-input" name="choices" type="radio"
             (change)="onRadioChange($event)" [checked]="contain(choix.id)" />
-          <label  for="choix">{{choix.text}}</label>
+          <label  [for]="choix.id">{{choix.text}}</label>
         </div>
       </div>
     </ng-template>
diff --git a/microservices/helloworld/dockerfile b/microservices/helloworld/dockerfile
deleted file mode 100644
index 5ecf6a1d..00000000
--- a/microservices/helloworld/dockerfile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Étape 1 : Construction de l'application
-FROM node:18 AS builder
-
-# Définir le répertoire de travail
-WORKDIR /app
-
-# Copier les fichiers package
-COPY package.json package-lock.json ./
-
-# Installer les dépendances
-RUN npm install
-
-# Copier les fichiers sources
-COPY . .
-
-# Compiler le projet TypeScript
-RUN npm run build
-
-# Étape 2 : Image de production
-FROM node:18
-
-# Définir le répertoire de travail
-WORKDIR /app
-
-# Copier les fichiers nécessaires depuis le builder
-COPY --from=builder /app/dist ./dist
-COPY --from=builder /app/node_modules ./node_modules
-COPY --from=builder /app/prisma ./prisma
-COPY package.json ./
-COPY .env .env
-COPY entrypoint.sh ./entrypoint.sh
-
-# Donner les permissions nécessaires
-RUN chmod +x entrypoint.sh
-
-EXPOSE 30992
-
-# Utilisation du script d'entrée
-ENTRYPOINT ["sh", "./entrypoint.sh"]
diff --git a/microservices/helloworld/prisma/migrations/migration_lock.toml b/microservices/helloworld/prisma/migrations/migration_lock.toml
deleted file mode 100644
index 648c57fd..00000000
--- a/microservices/helloworld/prisma/migrations/migration_lock.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-# Please do not edit this file manually
-# It should be added in your version-control system (e.g., Git)
-provider = "postgresql"
\ No newline at end of file
diff --git a/microservices/helloworld/prisma/schema.prisma b/microservices/helloworld/prisma/schema.prisma
deleted file mode 100644
index 981df4b3..00000000
--- a/microservices/helloworld/prisma/schema.prisma
+++ /dev/null
@@ -1,95 +0,0 @@
-generator client {
-    provider = "prisma-client-js"
-}
-
-datasource db {
-  provider = "postgresql"
-  url      = env("DATABASE_URL")
-}
-
-
-// This model is not complete. It's a base for you to start working with Prisma.
-model User {
-    id         		Int     @id /// The user's id is the same as their gitlab id
-    name           	String?
-    mail           	String? @unique
-    gitlabUsername 	String  @unique
-    deleted        	Boolean @default(false)
-	reponses       	Reponse[]
-	participer     	Participer[]
-	qcmCree			QcmTable[]
-}
-
-model QcmTable {
-    idQCM			Int 	@id @default(autoincrement())
-	nomQCM			String
-	temps			Int
-	randomOrder		Boolean
-	questions      	Question[]
-	codeAcces		Int
-    participer     	Participer[]
-	idUserCreator	Int		
-	creator			User	@relation(fields: [idUserCreator], references: [id])
-	
-}
-
-model Type {
-	idType			Int 	@id @default(autoincrement())
-	nomType			String @unique
-	questions      	Question[]
-}
-
-model Choix {
-	idChoix			Int 		@id @default(autoincrement())
-	isCorrect		Boolean
-	idQuestion		Int
-	question		Question	@relation(fields: [idQuestion], references: [idQuestion], onDelete: Cascade, onUpdate: Cascade)
-	reponses       	Reponse[]
-	nomChoix		String
-	position		Int
-}
-
-model Question {
-	idQuestion		Int 		@id @default(autoincrement())
-	question		String
-	position		Int
-	randomOrder		Boolean
-	nbPtsPositif	Int
-	nbPtsNegatif	Int
-	numeric			Float?
-	idQCM			Int
-	qcm				QcmTable	@relation(fields: [idQCM], references: [idQCM])
-	idType			Int
-	type			Type		@relation(fields: [idType], references: [idType])
-	choix          	Choix[]
-	reponses       	Reponse[]
-	isMultiple		Boolean
-}
-
-model Reponse {
-	idReponse		Int 		@id @default(autoincrement())
-	idQuestion		Int
-	question		Question	@relation(fields: [idQuestion], references: [idQuestion])
-	idChoix			Int?
-	choix			Choix?		@relation(fields: [idChoix], references: [idChoix], onDelete: Cascade, onUpdate: Cascade)
-	idUser			Int
-	user			User		@relation(fields: [idUser], references: [id])
-	numeric			Float?
-
-  	@@unique([idQuestion, idUser, idChoix])
-}
-
-model Participer {
-    idUser  	Int
-    idQCM   	Int
-    user    	User  	@relation(fields: [idUser], references: [id])
-    qcm     	QcmTable   	@relation(fields: [idQCM], references: [idQCM])
-	feedback	String
-	note		Float
-	score		Int
-	heureDebut	Int
-	hasFinished	Boolean @default(false)
-
-    @@id([idUser, idQCM])
-}
-
diff --git a/microservices/helloworld/prisma/seed.ts b/microservices/helloworld/prisma/seed.ts
deleted file mode 100644
index 37b26eda..00000000
--- a/microservices/helloworld/prisma/seed.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import process from 'process';
-import logger from '../src/logging/WinstonLogger.js';
-import db from '../src/helpers/DatabaseHelper.js';
-import Config from '../src/config/Config.js';
-
-async function main() {
-    await users();
-    await types();
-}
-
-main().then(async () => {
-    await db.$disconnect();
-}).catch(async e => {
-    logger.error(JSON.stringify(e));
-    await db.$disconnect();
-    process.exit(1);
-});
-
-//----------------------------------------------------------------------------------------------------------------------------------------------------------
-
-async function users() {
-    await db.user.upsert({
-        where: { id: 142 },
-        update: {
-            name: 'Michaël Minelli'
-        },
-        create: {
-            id: 142,
-            name: 'Michaël Minelli',
-            gitlabUsername: 'michael.minelli',
-            deleted: false
-        }
-    });
-
-    if (!Config.production) {
-        await db.user.upsert({
-            where: { id: 525 },
-            update: {
-                deleted: false
-            },
-            create: {
-                id: 525,
-                gitlabUsername: 'stephane.malandai',
-                deleted: false
-            }
-        });
-    }
-}
-
-async function types() {
-    await db.type.upsert({
-        where: { nomType: 'text' },
-        update: {},
-        create: {
-            nomType: 'text'
-        }
-    });
-
-    await db.type.upsert({
-        where: { nomType: 'numerique' },
-        update: {},
-        create: {
-            nomType: 'numerique'
-        }
-    });
-
-    await db.type.upsert({
-        where: { nomType: 'vraiFaux' },
-        update: {},
-        create: {
-            nomType: 'vraiFaux'
-        }
-    });
-
-    console.log("✅ Types de base insérés ou déjà présents.");
-}
diff --git a/microservices/minikube/k8s-auth.yaml b/microservices/minikube/k8s-auth.yaml
new file mode 100644
index 00000000..14eaec52
--- /dev/null
+++ b/microservices/minikube/k8s-auth.yaml
@@ -0,0 +1,31 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: auth
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: auth
+  template:
+    metadata:
+      labels:
+        app: auth
+    spec:
+      containers:
+        - name: auth
+          image: service-auth
+          ports:
+            - containerPort: 8002
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: auth
+spec:
+  selector:
+    app: auth
+  ports:
+    - port: 8002
+      targetPort: 8002
+  type: ClusterIP
\ No newline at end of file
diff --git a/microservices/minikube/k8s-postgres.yaml b/microservices/minikube/k8s-postgres.yaml
new file mode 100644
index 00000000..172b726a
--- /dev/null
+++ b/microservices/minikube/k8s-postgres.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: postgres-pvc
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 1Gi
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: postgres
+spec:
+  selector:
+    app: postgres
+  ports:
+    - port: 5432
+      targetPort: 5432
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: postgres
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: postgres
+  template:
+    metadata:
+      labels:
+        app: postgres
+    spec:
+      containers:
+        - name: postgres
+          image: postgres:latest
+          ports:
+            - containerPort: 5432
+          env:
+            - name: POSTGRES_USER
+              value: "user"
+            - name: POSTGRES_PASSWORD
+              value: "super"
+            - name: POSTGRES_DB
+              value: "dbqcm"
+          volumeMounts:
+            - mountPath: /var/lib/postgresql/data
+              name: postgres-storage
+      volumes:
+        - name: postgres-storage
+          persistentVolumeClaim:
+            claimName: postgres-pvc
\ No newline at end of file
diff --git a/microservices/nginx.conf b/microservices/nginx.conf
index 128a4639..4689b482 100644
--- a/microservices/nginx.conf
+++ b/microservices/nginx.conf
@@ -17,10 +17,7 @@ http {
             
         }
 
-        location /helloworld {
-            proxy_pass http://service-helloworld:30992;
-            include cors.conf;
-        }
+     
 
         location /reponseCorrect/ {
             proxy_pass http://service-correction-qcm:30992;
-- 
GitLab