diff --git a/WEB-INF/src/controleurs/Discover.java b/WEB-INF/src/controleurs/Discover.java
index 49054609d4eee6c46cb876ddb77cd649626edeec..7a790c3bf766688e5e823e212afa8c1c60110d9a 100644
--- a/WEB-INF/src/controleurs/Discover.java
+++ b/WEB-INF/src/controleurs/Discover.java
@@ -13,6 +13,7 @@ import jakarta.servlet.http.HttpServletResponse;
 import java.io.PrintWriter;
 import java.io.IOException;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 @WebServlet("/Discover")
@@ -28,8 +29,7 @@ public class Discover extends HttpServlet {
             User user = (User) req.getSession().getAttribute("user");
 
             if (user != null) {
-                List<Message> messages = null;
-                messages = threadDao.getAllMessages();
+                List<MyThread> threads = threadDao.getAllThreads();
 
                 out.println("<html><body><meta charset=\"utf-8\">");
                 out.println("<link rel=\"stylesheet\" href=\"css/feed.css\">");
@@ -50,25 +50,18 @@ public class Discover extends HttpServlet {
                     sqle.getStackTrace();
                 }
 
-                if (!messages.isEmpty()) {
-                    for (Message message : messages) {
-                        MyThread msgThread = null;
-                        try {
-                            msgThread = threadDao.getThreadById(message.getThreadId());
-                        } catch (SQLException e) {
-                            throw new RuntimeException(e);
-                        }
-                        User sender = userDao.getUserById(message.getSenderId());
+                if (!threads.isEmpty()) {
+                    for (MyThread th : threads) {
+                        User sender = userDao.getUserById(th.getUserId());
                         String senderName = sender.getUserName();
-                        boolean followed = followedThreads.contains(msgThread.getId());
+                        boolean followed = followedThreads.contains(th.getId());
                         
                         out.println("<div class=\"message\">");
-                        out.println("<h3 class=\"msgThread\">" + msgThread.getThreadName() + "</h3>");
-                        out.println("<p class=\"msgContent\">" + message.getContent() + "</p>");
+                        out.println("<h3 class=\"msgThread\">" + th.getThreadName() + "</h3>");
                         out.println("<p class=\"sender\">by " + senderName + "</p>");
 
                         out.println("<form class=\"followThread\" action=\"http://localhost:8080/s4a021-web-backend/FollowThread\" method=\"post\">");
-                        out.println("<input name=\"threadid\" type=\"hidden\" value=\"" + msgThread.getId() +"\">");
+                        out.println("<input name=\"threadid\" type=\"hidden\" value=\"" + th.getId() +"\">");
                         
                         if (followed) {
                             out.println("<button class=\"followed\" type=\"submit\">Followed</button>");
diff --git a/WEB-INF/src/controleurs/Feed.java b/WEB-INF/src/controleurs/Feed.java
index d4558b9f9aceb98183c903a8c280984f77f5303f..331e2d8cceae8ba3a82a9aa02addf30e5af5b944 100644
--- a/WEB-INF/src/controleurs/Feed.java
+++ b/WEB-INF/src/controleurs/Feed.java
@@ -57,7 +57,7 @@ public class Feed extends HttpServlet {
                 for (Message message : messages) {
                     try {
                         msgThread = threadDao.getThreadById(message.getThreadId());
-                    } catch (SQLException e) {
+                    } catch (Exception e) {
                         throw new RuntimeException(e);
                     }
                     out.println("<div class=\"message\">");
diff --git a/WEB-INF/src/controleurs/Following.java b/WEB-INF/src/controleurs/Following.java
index 518696e7607fc657141fd83c44ba176face684e0..68921377efc8d7c01b152f94c0cc8d4a41916aec 100644
--- a/WEB-INF/src/controleurs/Following.java
+++ b/WEB-INF/src/controleurs/Following.java
@@ -55,7 +55,7 @@ public class Following extends HttpServlet {
                     try {
                         thread = threadDao.getThreadById(t);
                     }
-                    catch (SQLException sqle) {
+                    catch (Exception sqle) {
                         sqle.getStackTrace();
                     }
                     LocalDate followDate = null;
diff --git a/WEB-INF/src/dao/ThreadDAO.java b/WEB-INF/src/dao/ThreadDAO.java
index 8c3860f2f21cfa147c9fa75005c20dad93243b30..891338f0816672ab8395db6de6c6f096bf20a773 100644
--- a/WEB-INF/src/dao/ThreadDAO.java
+++ b/WEB-INF/src/dao/ThreadDAO.java
@@ -37,10 +37,25 @@ public class ThreadDAO {
         return messages;
     }
 
-    public MyThread getThreadById(int threadID) throws SQLException {
+    public List<MyThread> getAllThreads(){
+        ArrayList<MyThread> threads = new ArrayList<>();
+        try {
+            PreparedStatement ps = this.con.prepareStatement("SELECT * FROM thread;");
+            ResultSet rs = ps.executeQuery();
+            while(rs.next()){
+                threads.add(new MyThread(rs.getInt(1), rs.getInt(2), rs.getString(3)));
+            }
+        }
+        catch (SQLException sqle) {
+            sqle.getStackTrace();
+        }
+        return threads;
+    }
+
+    public MyThread getThreadById(int threadID) {
         MyThread thread = new MyThread(0, null);
-        PreparedStatement ps = this.con.prepareStatement("SELECT threadID, threadName FROM thread WHERE threadID = ?");
         try {
+            PreparedStatement ps = this.con.prepareStatement("SELECT threadID, threadName FROM thread WHERE threadID = ?");
             ps.setInt(1, threadID);
             ResultSet rs = ps.executeQuery();
             if(rs.next()){
diff --git a/WEB-INF/src/dto/MyThread.java b/WEB-INF/src/dto/MyThread.java
index 73cab30615fac2783d70d0165c08809ce7d0aafa..f278c4f09e9f90eb198f5e421209b5da5d8c294d 100644
--- a/WEB-INF/src/dto/MyThread.java
+++ b/WEB-INF/src/dto/MyThread.java
@@ -2,6 +2,7 @@ package dto;
 
 public class MyThread {
     private int threadID;
+    private int userID;
     private String threadName;
 
 
@@ -12,6 +13,12 @@ public class MyThread {
         this.threadName = name;
     }
 
+    public MyThread(int id, int userId, String name){
+        this.threadID = id;
+        this.userID = userId;
+        this.threadName = name;
+    }
+
 
     //      Getter      //
 
@@ -19,6 +26,10 @@ public class MyThread {
         return threadID;
     }
 
+    public int getUserId() {
+        return userID;
+    }
+
     public String getThreadName() {
         return threadName;
     }