diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..c55f41bf7357966b0569b5fc44f8d45ada7d92de
Binary files /dev/null and b/.DS_Store differ
diff --git a/sae/.DS_Store b/sae/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..80e05f87d5ce7a3369fdede7be02b4ce2fd0508c
Binary files /dev/null and b/sae/.DS_Store differ
diff --git a/sae/WEB-INF/src/controleur/GetFils.java b/sae/WEB-INF/src/controleur/GetFils.java
new file mode 100644
index 0000000000000000000000000000000000000000..87ad95b57b99c688d4f050d6871de85ab4545d65
--- /dev/null
+++ b/sae/WEB-INF/src/controleur/GetFils.java
@@ -0,0 +1,60 @@
+package controleur;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; // Importation du module
+
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import modele.Abonnement;
+import modele.AbonnementDao;
+import modele.FilDeDiscussion;
+import modele.FilDeDiscussionDAO;
+import modele.Message;
+import modele.MessageDao;
+
+@WebServlet("/getFils")
+public class GetFils extends HttpServlet {
+    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+        if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) {
+            res.sendRedirect(req.getContextPath() + "/login");
+            return;
+        }
+
+        String email = (String) req.getSession().getAttribute("email");
+        AbonnementDao abonnementDao = new AbonnementDao();
+        FilDeDiscussionDAO filDao = new FilDeDiscussionDAO();
+        MessageDao messageDao = new MessageDao();
+
+        List<Abonnement> abonnements = abonnementDao.findAbonnements(email);
+        List<FilDeDiscussion> fils = new ArrayList<>();
+        Map<Integer, List<Message>> messagesMap = new HashMap<>();
+
+        for (Abonnement abonnement : abonnements) {
+            FilDeDiscussion fil = filDao.findById(abonnement.getIdFil());
+            fils.add(fil);
+            List<Message> messages = messageDao.findByFil(fil.getId());
+            messagesMap.put(fil.getId(), messages);
+        }
+
+        ObjectMapper objectMapper = new ObjectMapper();
+        objectMapper.registerModule(new JavaTimeModule()); // Enregistrement du module
+        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+
+        Map<String, Object> jsonResponse = new HashMap<>();
+        jsonResponse.put("fils", fils);
+        jsonResponse.put("messages", messagesMap);
+
+        res.setContentType("application/json");
+        res.getWriter().write(objectMapper.writeValueAsString(jsonResponse));
+    }
+}
\ No newline at end of file
diff --git a/sae/WEB-INF/src/modele/Message.java b/sae/WEB-INF/src/modele/Message.java
index 5e7b1bdb8e54550c4d5f9293b97b08504b244016..371ef61b042f7aad4e024a6e45d0e183555304f9 100644
--- a/sae/WEB-INF/src/modele/Message.java
+++ b/sae/WEB-INF/src/modele/Message.java
@@ -1,13 +1,23 @@
 package modele;
 
+import java.sql.Connection;
+import java.sql.PreparedStatement;
 import java.time.LocalDateTime;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 public class Message {
     private int id;
     private String contenu;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss")
     private LocalDateTime datePublication;
     private int filId;
     private String auteurEmail;
+    private String imageUrl;
+    private int like;
+    private int unlike;
+
+    // Constructeurs, getters et setters
 
     public Message() {
     }
@@ -64,4 +74,37 @@ public class Message {
     public String toString() {
         return "Message{" + "id=" + id + ", contenu=" + contenu + ", datePublication=" + datePublication + ", filId=" + filId + ", auteurEmail=" + auteurEmail + '}';
     }
+
+    public String getImageUrl() {
+        return imageUrl;
+    }
+
+    public int getLike() {
+        return like;
+    }
+
+    public void setLike(int like) {
+        this.like = like;
+    }
+
+    public int getUnlike() {
+        return unlike;
+    }
+
+    public void setUnlike(int unlike) {
+        this.unlike = unlike;
+    }
+
+    // filepath: /Users/othemanek./Desktop/tomcat/webapps/sae/WEB-INF/src/modele/MessageDao.java
+    public void create(Message message) {
+        try (Connection con = DS.instance.getConnection()) {
+            PreparedStatement ps = con.prepareStatement("INSERT INTO message (contenu, filid, auteuremail, imageUrl) VALUES (?, ?, ?)");
+            ps.setString(1, message.getContenu());
+            ps.setInt(2, message.getfilId());
+            ps.setString(3, message.getAuteurEmail());
+            ps.executeUpdate();
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+        }
+    }
 }