diff --git a/WEB-INF/src/controleurs/Feed.java b/WEB-INF/src/controleurs/Feed.java
index a1b4a969d6bae004988fdf32f7b67ff984fbbf61..faafc66c9bbf2f4358cf3579cdf89046c196aaee 100644
--- a/WEB-INF/src/controleurs/Feed.java
+++ b/WEB-INF/src/controleurs/Feed.java
@@ -58,8 +58,9 @@ public class Feed extends HttpServlet {
                         out.println("<p class=\"msgContent\">" + message.getContent() + "</p>");
 
                         // le formulaire appelle une servlet qui poste le message et redirige vers cette page avec les messages updatés
-                        out.println("<form action=\"#\" method=\"post\">");
+                        out.println("<form action=\"http://localhost:8080/s4a021-web-backend/PostMessage\" method=\"post\">");
                         out.println("<textarea id=\"message\" name=\"message\" rows=\"3\" cols=\"45\" placeholder=\"Post a message in this thread\"></textarea>");
+                        out.println("<input name=\"threadid\" type=\"hidden\" value=\"" + msgThread.getId() +"\">");
                         out.println("<button type=\"submit\">Post</button>");
                         out.println("</form>");
 
diff --git a/WEB-INF/src/controleurs/PostMessage.java b/WEB-INF/src/controleurs/PostMessage.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1793870162fd9b4ef1a46d41776b8352be9aa66
--- /dev/null
+++ b/WEB-INF/src/controleurs/PostMessage.java
@@ -0,0 +1,48 @@
+package controleurs;
+
+import java.io.IOException;
+import java.sql.SQLException;
+
+import dao.ThreadDAO;
+import dao.UserDAO;
+import dto.User;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+
+@WebServlet("/PostMessage")
+public class PostMessage extends HttpServlet {
+    public void service(HttpServletRequest req, HttpServletResponse res) throws IOException {
+        User user = (User) req.getSession().getAttribute("user");
+        UserDAO userDAO = new UserDAO();
+        ThreadDAO threadDAO = new ThreadDAO();
+
+        if (user != null) {
+            String message = null;
+            int senderID = user.getId();
+            int threadID = 0;
+
+            if (req.getParameter("message") != null) {
+                message = req.getParameter("message");
+            }
+            if (req.getParameter("threadid") != null) {
+                threadID = Integer.parseInt(req.getParameter("threadid"));
+            }
+
+            if (!message.isEmpty() && senderID != 0 && threadID != 0) {
+                System.out.println("dans le if");
+                try {
+                    userDAO.postMessage(user, threadDAO.getThreadById(threadID), message);
+                    System.out.println("message posté");
+                }
+                catch (SQLException sqle) {
+                    sqle.getStackTrace();
+                }
+
+                res.sendRedirect("http://localhost:8080/s4a021-web-backend/Welcome");
+            }
+        }
+    }
+}
diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
index 54658038e5c7e1c35a15ad51fd7dc1d793b6c163..4ff0869ea2e54d23cc47c48dbed8af925000eba2 100644
--- a/WEB-INF/src/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -148,9 +148,7 @@ public class UserDAO {
         PreparedStatement ps = this.con.prepareStatement("INSERT INTO follow VALUES(?, ?, ?)");
         try {
             ps.setInt(1, user.getId());
-            System.out.println(user.getId());
             ps.setInt(2, thread.getId());
-            System.out.println(thread.getId());
             ps.setString(3, "TO_DATE(" +LocalDate.now().toString() + ", 'YYYY/MM/DD')");
             ps.executeUpdate();
         }
@@ -161,12 +159,16 @@ public class UserDAO {
 
     // Poster un message dans un thread
     public void postMessage(User user, MyThread thread, String message) throws SQLException {
-        PreparedStatement ps = this.con.prepareStatement("INSERT INTO msg (userID_msg, threadID, msg) VALUES(?, ?, ?)");
+        PreparedStatement ps = this.con.prepareStatement("INSERT INTO msg (userID_msg, threadID, msg, posted_at) VALUES(?, ?, ?, ?)");
         try {
-            ps.setInt(1, user.getId());
+            System.out.println("dans le try de post message");
+            ps.setString(1, ""+user.getId());
             // PROBLEME ICI 
-            ps.setInt(2, (int) thread.getId());
+            ps.setString(2, ""+thread.getId());
             ps.setString(3, message);
+            ps.setString(4, "TO_DATE(" + LocalDate.now().toString() + ", 'YYYY/MM/DD')");
+            System.out.println(ps);
+            ps.executeUpdate();
         }
         catch (SQLException sqle) {
             sqle.getStackTrace();