diff --git a/sae/WEB-INF/src/.DS_Store b/sae/WEB-INF/src/.DS_Store
index a98287ea9bb9904820a616b46527faa616b68ab0..582de7cbf34dfc3cd5280df1e023c54cf10cc6ec 100644
Binary files a/sae/WEB-INF/src/.DS_Store and b/sae/WEB-INF/src/.DS_Store differ
diff --git a/sae/WEB-INF/src/controleur/.DS_Store b/sae/WEB-INF/src/controleur/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..48a99a9ad01e4601dba5748834a23b47792f957a
Binary files /dev/null and b/sae/WEB-INF/src/controleur/.DS_Store differ
diff --git a/sae/WEB-INF/src/controleur/CreerFil.java b/sae/WEB-INF/src/controleur/CreerFil.java
index 9e31e62023732982e498956d7a58721c3fb8e736..7f252aa690ff9e6427ed149d0469c00b61d2d9ad 100644
--- a/sae/WEB-INF/src/controleur/CreerFil.java
+++ b/sae/WEB-INF/src/controleur/CreerFil.java
@@ -8,6 +8,7 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import modele.FilDeDiscussion;
 import modele.FilDeDiscussionDAO;
+import modele.UtilisateurDao;
 import jakarta.servlet.ServletException;
 import java.io.IOException;
 import org.apache.commons.text.StringEscapeUtils;
@@ -29,6 +30,12 @@ public class CreerFil extends HttpServlet {
         FilDeDiscussionDAO f = new FilDeDiscussionDAO();
         String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom"));
         String createuremail = StringEscapeUtils.escapeHtml4(req.getParameter("createuremail"));
+        UtilisateurDao udao = new UtilisateurDao();
+        if (!udao.emailExists(createuremail)) {
+            req.setAttribute("error", "L'email n'existe pas.");
+            req.getRequestDispatcher("/WEB-INF/vue/creerFil.jsp").forward(req, res);
+            return;
+        }
         f.create(new FilDeDiscussion(
             -1,
             nom,
diff --git a/sae/WEB-INF/src/modele/AbonnementDao.java b/sae/WEB-INF/src/modele/AbonnementDao.java
index 56539883d30c122b082efefd23eee92da29da67c..151db56f829371b350e8ac9b0be21c0da1e0a84d 100644
--- a/sae/WEB-INF/src/modele/AbonnementDao.java
+++ b/sae/WEB-INF/src/modele/AbonnementDao.java
@@ -7,6 +7,26 @@ import java.util.List;
 import java.util.ArrayList;
 
 public class AbonnementDao {
+    
+    public Abonnement findAbonnement(String utilisateurEmail, int idFil) {
+        Abonnement abonnement = new Abonnement();
+        try(Connection con = DS.instance.getConnection()) {
+            PreparedStatement ps = con.prepareStatement("SELECT * FROM abonnement WHERE utilisateuremail = ? AND filid = ?");
+            ps.setString(1, utilisateurEmail);
+            ps.setInt(2, idFil);
+            ResultSet rs = ps.executeQuery();
+            if (rs.next()) {
+                abonnement.setUtilisateurEmail(rs.getString("utilisateuremail"));
+                abonnement.setIdFil(rs.getInt("filid"));
+                abonnement.setDateAbonnement(rs.getDate("dateabonnement").toLocalDate());
+            } else {
+                System.out.println("Abonnement inexistant");
+            }
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+        return abonnement;
+    }
 
     public List<Abonnement> findAll() {
         List<Abonnement> abonnements = new ArrayList<>();
diff --git a/sae/WEB-INF/vue/creerFil.jsp b/sae/WEB-INF/vue/creerFil.jsp
index b95276236515684f1732a71fea86374828a68d3a..b7f303fb9d13c7a7edd00a4dcf1d84d656c701d3 100644
--- a/sae/WEB-INF/vue/creerFil.jsp
+++ b/sae/WEB-INF/vue/creerFil.jsp
@@ -45,6 +45,17 @@
         <div class="text-center mb-4">
             <a href="<%= request.getContextPath() %>/listerFil" class="btn btn-primary">Retour aux fils de discussion</a>
         </div>
+
+        <%
+            if (request.getAttribute("error") != null) {
+        %>
+            <div class="alert alert-danger" role="alert">
+                <%= request.getAttribute("error") %>
+            </div>
+        <%
+            }
+        %>
+
         <div class="form-container">
             <h1 class="text-center">Créer un nouveau fil de discussion</h1>
             <form action="creerFil" method="post" class="mt-4">
diff --git a/sae/WEB-INF/vue/listerFil.jsp b/sae/WEB-INF/vue/listerFil.jsp
index c90ab353677804a8c4ae5fb1981704fdddb54b02..12a35482bee0b34e7d3589ce1a31f1a57ce51621 100644
--- a/sae/WEB-INF/vue/listerFil.jsp
+++ b/sae/WEB-INF/vue/listerFil.jsp
@@ -81,9 +81,9 @@
                     if (!abonnementsIds.contains(f.getId())) {
             %>
                 <div class="thread-item">
-                    <h4>
-                        <a href="<%= request.getContextPath() %>/fil?id=<%= f.getId() %>"><%= f.getNom() %></a>
-                        <a href="<%= request.getContextPath() %>/suivreFil?id=<%= f.getId() %>" class="btn btn-primary btn-sm float-right">Suivre</a>
+                    <h4 class="d-flex justify-content-between align-items-center">
+                        <p class="thread-name mb-0"><%= f.getNom() %></p>
+                        <a href="<%= request.getContextPath() %>/suivreFil?id=<%= f.getId() %>" class="btn btn-primary btn-sm">Suivre</a>
                     </h4>
                     <!-- potentiellement mettre une description -->
                 </div>