diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
index 9455f4d9df3cefc7c8abd5b470e123205f253d14..a24270ef9dbf9768ab20c65de81ccdef496ff1db 100644
--- a/WEB-INF/src/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -1,7 +1,9 @@
 package dao;
 
 import java.sql.*;
+import java.time.LocalDate;
 
+import dto.Message;
 import dto.User;
 import jakarta.servlet.http.*;
 
@@ -56,7 +58,7 @@ public class UserDAO extends HttpServlet{
     public void addUser(User nUser){
         try{
             PreparedStatement stmt = this.con.prepareStatement("INSERT INTO userAccount VALUES (?,?,?)");
-            stmt.setInt(1, nUser.getID());
+            stmt.setInt(1, nUser.getId());
             stmt.setString(2, nUser.getUserName());
             stmt.setString(3, nUser.getPwd());
 
@@ -70,7 +72,7 @@ public class UserDAO extends HttpServlet{
     public void removeUser(User nUser){
         try{
             PreparedStatement stmt = this.con.prepareStatement("DELETE FROM userAccount WHERE userID=?");
-            stmt.setInt(1, nUser.getID());
+            stmt.setInt(1, nUser.getId());
 
             stmt.executeUpdate();
 
@@ -78,4 +80,43 @@ public class UserDAO extends HttpServlet{
             sqle.getStackTrace();
         }
     }
+
+    // S'abonner à un thread
+    public void followThread(User user, Thread thread) throws SQLException {
+        PreparedStatement ps = this.con.prepareStatement("INSERT INTO follow VALUES(?, ?, ?)");
+        try {
+            ps.setString(1, ""+user.getId());
+            ps.setString(2, ""+thread.getId());
+            ps.setString(3, LocalDate.now().toString());
+        }
+        catch (SQLException sqle) {
+            sqle.getStackTrace();
+        }
+    }
+
+    // Poster un message dans un thread
+    public void postMessage(User user, Thread thread, String message) throws SQLException {
+        PreparedStatement ps = this.con.prepareStatement("INSERT INTO msg (userID_msg, threadID, msg) VALUES(?, ?, ?)");
+        try {
+            ps.setInt(1, user.getId());
+            ps.setInt(2, (int) thread.getId());
+            ps.setString(3, message);
+        }
+        catch (SQLException sqle) {
+            sqle.getStackTrace();
+        }
+    }
+
+    // Réagir à un message
+    public void reactToMsg(User user, Message msg) throws SQLException {
+        PreparedStatement ps = this.con.prepareStatement("INSERT INTO reactions VALUES(?, ?, ?)");
+        try {
+            ps.setInt(1, user.getId());
+            ps.setInt(2, msg.getId());
+            ps.setString(3, "true");
+        }
+        catch (SQLException sqle) {
+            sqle.getStackTrace();
+        }
+    }
 }
\ No newline at end of file