diff --git a/WEB-INF/src/controleur/ThreadController.java b/WEB-INF/src/controleur/ThreadController.java
index 3e68542fac22146e662cd840a0f064d67bea62c2..b6e99aa8a66056a00ebbc3603ce6dcb17a406964 100644
--- a/WEB-INF/src/controleur/ThreadController.java
+++ b/WEB-INF/src/controleur/ThreadController.java
@@ -30,6 +30,10 @@ public class ThreadController extends HttpServlet {
 
         switch (action){
             case "follow":
+                if(daoFollower.checkFollowerExist(follow)){
+                    resp.sendRedirect("index.html");
+                    return ;
+                }
                 daoFollower.create(follow);
                 vue = "WEB-INF/vue/filsSuivis.jsp";
                 break;
diff --git a/WEB-INF/src/modele/dao/DaoFollower.java b/WEB-INF/src/modele/dao/DaoFollower.java
index 837db24b91fb3e53bfe56c5200d330ddc2c7b2c9..2870eeb0c8841e19347c3b272594e337bd7faef6 100644
--- a/WEB-INF/src/modele/dao/DaoFollower.java
+++ b/WEB-INF/src/modele/dao/DaoFollower.java
@@ -53,7 +53,7 @@ public class DaoFollower {
         }
     }
 
-    public List<User> findByThreadID(int idThread){
+    public List<User> findUsersByThreadID(int idThread){
         DS bdd = DS.getInstance();
         List<User> res = new ArrayList<>();
         try(Connection con = bdd.getConnection()) {
@@ -69,7 +69,7 @@ public class DaoFollower {
         return res;
     }
 
-    public List<Thread> findByUsername(String username){
+    public List<Thread> findThreadsByUsername(String username){
         DS bdd = DS.getInstance();
         List<Thread> res = new ArrayList<>();
         try(Connection con = bdd.getConnection()) {
@@ -84,4 +84,19 @@ public class DaoFollower {
         }
         return res;
     }
+
+    public boolean checkFollowerExist(Follower follower){
+        DS bdd = DS.getInstance();
+        boolean res = false;
+        try(Connection con = bdd.getConnection()) {
+            PreparedStatement ps = con.prepareStatement("SELECT * FROM followers WHERE username = ? AND id_thread = ?");
+            ps.setString(1, follower.getUsername());
+            ps.setInt(2, follower.getId_thread());
+            ResultSet rs = ps.executeQuery();
+            res = rs.next();
+        } catch (SQLException e) {
+            throw new RuntimeException(e);
+        }
+        return res;
+    }
 }