diff --git a/sae/WEB-INF/classes/controleur/AjoutUtilisateur.class b/sae/WEB-INF/classes/controleur/AjoutUtilisateur.class
new file mode 100644
index 0000000000000000000000000000000000000000..d4a9fca24ddc39c44b74b43a198ccb1c4fed36c7
Binary files /dev/null and b/sae/WEB-INF/classes/controleur/AjoutUtilisateur.class differ
diff --git a/sae/WEB-INF/classes/modele/Abonnement.class b/sae/WEB-INF/classes/modele/Abonnement.class
new file mode 100644
index 0000000000000000000000000000000000000000..c1a9f6454e72462fe838e4f1461344443543f741
Binary files /dev/null and b/sae/WEB-INF/classes/modele/Abonnement.class differ
diff --git a/sae/WEB-INF/classes/modele/AbonnementDao.class b/sae/WEB-INF/classes/modele/AbonnementDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..2950105ebed5a68f95ebb2d5a29fdba7979c4292
Binary files /dev/null and b/sae/WEB-INF/classes/modele/AbonnementDao.class differ
diff --git a/sae/WEB-INF/classes/modele/FilDeDiscussion.class b/sae/WEB-INF/classes/modele/FilDeDiscussion.class
new file mode 100644
index 0000000000000000000000000000000000000000..4d8c39007722e728ad9e4d239dbd1b80d37739ba
Binary files /dev/null and b/sae/WEB-INF/classes/modele/FilDeDiscussion.class differ
diff --git a/sae/WEB-INF/classes/modele/FilDeDiscussionDAO.class b/sae/WEB-INF/classes/modele/FilDeDiscussionDAO.class
new file mode 100644
index 0000000000000000000000000000000000000000..8aedd62f374c4cc74a21e9c124214c11fef968fa
Binary files /dev/null and b/sae/WEB-INF/classes/modele/FilDeDiscussionDAO.class differ
diff --git a/sae/WEB-INF/classes/modele/Message.class b/sae/WEB-INF/classes/modele/Message.class
new file mode 100644
index 0000000000000000000000000000000000000000..250f09bcd567afc424baa83d781835cb85fc4431
Binary files /dev/null and b/sae/WEB-INF/classes/modele/Message.class differ
diff --git a/sae/WEB-INF/classes/modele/MessageDao.class b/sae/WEB-INF/classes/modele/MessageDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..a0b5934509a82682db29d13bf5ccfb63861c0426
Binary files /dev/null and b/sae/WEB-INF/classes/modele/MessageDao.class differ
diff --git a/sae/WEB-INF/classes/modele/Utilisateur.class b/sae/WEB-INF/classes/modele/Utilisateur.class
new file mode 100644
index 0000000000000000000000000000000000000000..3f30ae22bf7bd696169a44be4e595b148f683c8e
Binary files /dev/null and b/sae/WEB-INF/classes/modele/Utilisateur.class differ
diff --git a/sae/WEB-INF/classes/modele/UtilisateurDao.class b/sae/WEB-INF/classes/modele/UtilisateurDao.class
new file mode 100644
index 0000000000000000000000000000000000000000..d265cf048edcea99b835274671b38e6f421c6950
Binary files /dev/null and b/sae/WEB-INF/classes/modele/UtilisateurDao.class differ
diff --git a/sae/WEB-INF/src/controleur/AjoutUtilisateur.java b/sae/WEB-INF/src/controleur/AjoutUtilisateur.java
new file mode 100644
index 0000000000000000000000000000000000000000..ac7a68fd1ca71238e7d9082b28f55c83bf014657
--- /dev/null
+++ b/sae/WEB-INF/src/controleur/AjoutUtilisateur.java
@@ -0,0 +1,21 @@
+package controleur;
+
+import java.time.LocalDate;
+
+import modele.Utilisateur;
+import modele.UtilisateurDao;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletException;
+import java.io.IOException;
+
+@WebServlet("/ajoutUtilisateur")
+public class AjoutUtilisateur extends HttpServlet {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+        UtilisateurDao udao = new UtilisateurDao();
+        udao.insert(new Utilisateur(-1, req.getParameter("nom"), req.getParameter("email"), req.getParameter("mdp"), LocalDate.now()));
+        req.getRequestDispatcher("/WEB-INF/vue/ajoutUtilisateur.jsp").forward(req, res);
+    }
+}
diff --git a/sae/WEB-INF/src/controleur/Control.java b/sae/WEB-INF/src/controleur/Control.java
deleted file mode 100644
index 1eeb54bd17798dc1c17dcdcd1a8768fd0fd8a109..0000000000000000000000000000000000000000
--- a/sae/WEB-INF/src/controleur/Control.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package controleur;
-
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import modele.JoueurDao;
-import modele.JoueurJdbcDao;
-import modele.Partie;
-import modele.PartieDAO;
-import modele.Joueur;
-import java.io.IOException;
-import jakarta.servlet.ServletException;
-
-@WebServlet("/Control")
-public class Control extends HttpServlet {
-    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
-        String pnoS;
-        int pno;
-
-        PartieDAO pdao = new PartieDAO();
-
-        Joueur j1;
-        Joueur j2;
-
-        Partie partie = new Partie();
-
-        String action = req.getParameter("action");
-        if (action == null)
-            action = "voir";
-
-        if (action.equals("voir")) {
-            pnoS = req.getParameter("pno");
-            pno = Integer.parseInt(pnoS);
-            j1 = pdao.findPlayers(pno)[0];
-            j2 = pdao.findPlayers(pno)[1];
-            partie = pdao.findPartie(pno);
-            req.setAttribute("partie", partie);
-            req.getRequestDispatcher("/WEB-INF/vue/view.jsp").forward(req, res);
-        } else if (action.equals("modifier")) {
-            pnoS = req.getParameter("pno");
-            pno = Integer.parseInt(pnoS);
-            j1 = pdao.findPlayers(pno)[0];
-            j2 = pdao.findPlayers(pno)[1];
-            partie = pdao.findPartie(pno);
-            req.setAttribute("partie", partie);
-            req.getRequestDispatcher("/WEB-INF/vue/edit.jsp").forward(req, res);
-        } else if (action.equals("list")) {
-            req.getRequestDispatcher("/WEB-INF/vue/list.jsp").forward(req, res);
-        } else if (action.equals("supprimer")) {
-            req.getRequestDispatcher("/WEB-INF/vue/delete.jsp").forward(req, res);
-        }
-    }
-}
diff --git a/sae/WEB-INF/src/controleur/Controlpt1.java b/sae/WEB-INF/src/controleur/Controlpt1.java
deleted file mode 100644
index 233b69d9197e386f3f00b0435c5e62616b71b15e..0000000000000000000000000000000000000000
--- a/sae/WEB-INF/src/controleur/Controlpt1.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package controleur;
-
-import jakarta.servlet.RequestDispatcher;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import modele.DAO;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import java.io.IOException;
-
-@WebServlet("/Controlpt1")
-public class Controlpt1 extends HttpServlet {
-    private DAO dao;
-
-    public Controlpt1() {
-        super();
-        dao = new DAO();
-    }
-    
-    protected void doGet(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        String action = request.getParameter("action");
-        if (action == null) action = "liste"; // Par défaut, afficher la liste
-        
-        if (action.equals("vignette")) {
-            String param = request.getParameter("n");
-            int n = (param != null) ? Integer.parseInt(param) : 0;
-            request.setAttribute("item", dao.findById(n));
-            request.setAttribute("index", n);
-            request.getRequestDispatcher("/WEB-INF/vue/Vignette.jsp").forward(request, response);
-        } else {
-            request.setAttribute("items", dao.findAll());
-            request.getRequestDispatcher("/WEB-INF/vue/Liste.jsp").forward(request, response);
-        }
-    }
-
-    protected void doPost(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        doGet(request, response);
-    }
-}
diff --git a/sae/WEB-INF/src/controleur/ModifierPartie.java b/sae/WEB-INF/src/controleur/ModifierPartie.java
deleted file mode 100644
index 9abf5de60cdca292a07b75bc5bf88ee56044a341..0000000000000000000000000000000000000000
--- a/sae/WEB-INF/src/controleur/ModifierPartie.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package controleur;
-
-import java.io.IOException;
-import java.time.LocalDate;
-
-import jakarta.servlet.ServletException;
-import jakarta.servlet.annotation.WebServlet;
-import jakarta.servlet.http.HttpServlet;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import modele.Joueur;
-import modele.PartieDAO;
-
-@WebServlet("/ModifierPartie")
-public class ModifierPartie extends HttpServlet {
-    @Override
-    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
-        int jno1 = Integer.parseInt(req.getParameter("j1"));
-        int jno2 = Integer.parseInt(req.getParameter("j2"));
-        String date = req.getParameter("date");
-        String statut = req.getParameter("statut");
-        int pno = Integer.parseInt(req.getParameter("pno"));
-        PartieDAO pdao = new PartieDAO();
-        pdao.modifierPartie(pno, jno1, jno2, date, statut);
-        req.getRequestDispatcher("/WEB-INF/vue/edit.jsp").forward(req, res);
-    }
-}
diff --git a/sae/WEB-INF/src/modele/UtilisateurDao.java b/sae/WEB-INF/src/modele/UtilisateurDao.java
index 60f1d67d17187915d2d65d3d83c268076cd85238..24369bbd5bcec4a9dc1ab29f87c72e11cb55ddf3 100644
--- a/sae/WEB-INF/src/modele/UtilisateurDao.java
+++ b/sae/WEB-INF/src/modele/UtilisateurDao.java
@@ -30,7 +30,7 @@ public class UtilisateurDao {
     public Utilisateur findUtilisateur(String email, String motDePasse) {
         Utilisateur utilisateur = new Utilisateur();
         try(Connection con = DS.instance.getConnection()) {
-            PreparedStatement ps = con.prepareStatement("SELECT * FROM utilisateur WHERE email = ? AND motDePasse = ?");
+            PreparedStatement ps = con.prepareStatement("SELECT * FROM Utilisateur WHERE email = ? AND mot_de_passe = ?");
             ps.setString(1, email);
             ps.setString(2, motDePasse);
             ResultSet rs = ps.executeQuery();
@@ -51,7 +51,7 @@ public class UtilisateurDao {
 
     public void delete(int id) {
         try(Connection con = DS.instance.getConnection()) {
-            PreparedStatement ps = con.prepareStatement("DELETE FROM utilisateur WHERE id = ?");
+            PreparedStatement ps = con.prepareStatement("DELETE FROM Utilisateur WHERE id = ?");
             ps.setInt(1, id);
             ps.executeUpdate();
         } catch (Exception e) {
@@ -61,7 +61,7 @@ public class UtilisateurDao {
 
     public void update(Utilisateur utilisateur) {
         try(Connection con = DS.instance.getConnection()) {
-            PreparedStatement ps = con.prepareStatement("UPDATE utilisateur SET nom = ?, email = ?, motDePasse = ? WHERE id = ?");
+            PreparedStatement ps = con.prepareStatement("UPDATE Utilisateur SET nom = ?, email = ?, motDePasse = ? WHERE id = ?");
             ps.setString(1, utilisateur.getNom());
             ps.setString(2, utilisateur.getEmail());
             ps.setString(3, utilisateur.getMotDePasse());
@@ -74,7 +74,7 @@ public class UtilisateurDao {
 
     public void insert(Utilisateur utilisateur) {
         try(Connection con = DS.instance.getConnection()) {
-            PreparedStatement ps = con.prepareStatement("INSERT INTO utilisateur (nom, email, motDePasse, dateInscription) VALUES (?, ?, ?, ?)");
+            PreparedStatement ps = con.prepareStatement("INSERT INTO Utilisateur (nom, email, mot_de_passe, date_inscription) VALUES (?, ?, MD5(?), ?)");
             ps.setString(1, utilisateur.getNom());
             ps.setString(2, utilisateur.getEmail());
             ps.setString(3, utilisateur.getMotDePasse());
diff --git a/sae/WEB-INF/vue/ajoutUtilisateur.jsp b/sae/WEB-INF/vue/ajoutUtilisateur.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..1f86bb0f38d1d38f487bae0d0bab0b425fcf2104
--- /dev/null
+++ b/sae/WEB-INF/vue/ajoutUtilisateur.jsp
@@ -0,0 +1,24 @@
+<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@ page import="modele.Joueur" %>
+<%@ page import="modele.JoueurDao" %>
+
+
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Ajout utilisateur</title>
+</head>
+<body>
+    <form action="ajoutUtilisateur" method="post">
+        <label for="nom">Nom</label>
+        <input type="text" name="nom" id="nom">
+        <label for="email">Email</label>
+        <input type="email" name="email" id="email">
+        <label for="mdp">Mot de passe</label>
+        <input type="password" name="mdp" id="mdp">
+        <input type="submit" value="Ajouter">
+    </form>
+</body>
+</html>