diff --git a/WEB-INF/src/controleurs/AccountAuthent.java b/WEB-INF/src/controleurs/AccountAuthent.java
index 7d0522747cc5f898fd5f08e813ea1ed77f1e1dd8..af17eeeab1cfd022385aa1eb1e776815e22f045c 100644
--- a/WEB-INF/src/controleurs/AccountAuthent.java
+++ b/WEB-INF/src/controleurs/AccountAuthent.java
@@ -1,7 +1,6 @@
 package controleurs;
 
 import java.io.IOException;
-
 import jakarta.servlet.http.*;
 import jakarta.servlet.annotation.WebServlet;
 import dao.UtilisateurDAO;
@@ -20,6 +19,11 @@ public class AccountAuthent extends HttpServlet {
         String login = StringEscapeUtils.escapeHtml4(req.getParameter("login"));
         String mdp = StringEscapeUtils.escapeHtml4(req.getParameter("mdp"));
 
+        if (login == null || login.isEmpty() || mdp == null || mdp.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
         Utilisateur utilisateur = utilisateurDAO.checkUser(login, mdp);
 
         if (utilisateur != null) {
diff --git a/WEB-INF/src/controleurs/AccountCreate.java b/WEB-INF/src/controleurs/AccountCreate.java
index 740558ccc54b2fac2f6bb70a54863602250c0471..d6b1f38c39e93f6bb4d075ee343c86744834497c 100644
--- a/WEB-INF/src/controleurs/AccountCreate.java
+++ b/WEB-INF/src/controleurs/AccountCreate.java
@@ -1,7 +1,6 @@
 package controleurs;
 
 import java.io.IOException;
-
 import jakarta.servlet.http.*;
 import jakarta.servlet.annotation.WebServlet;
 import dao.UtilisateurDAO;
@@ -32,7 +31,9 @@ public class AccountCreate extends HttpServlet {
             res.sendRedirect("new.html");
             return;
         }
+
         Utilisateur utilisateur = new Utilisateur(mail, nom, prenom);
+
         if (utilisateurDAO.addUser(utilisateur, mdp)) {
             utilisateur.setId(utilisateurDAO.getUserIdByEmail(mail));
             session.setAttribute("utilisateur", utilisateur);
diff --git a/WEB-INF/src/controleurs/FilAddUser.java b/WEB-INF/src/controleurs/FilAddUser.java
index fa37b7dbb65fcda205e22608b82434c1d287c49e..f757ae37641cb3e851c99476949067990779522d 100644
--- a/WEB-INF/src/controleurs/FilAddUser.java
+++ b/WEB-INF/src/controleurs/FilAddUser.java
@@ -28,10 +28,27 @@ public class FilAddUser extends HttpServlet {
             return;
         }
 
-        String filIdParam = StringEscapeUtils.escapeHtml4(req.getParameter("filId"));
-        int filId = Integer.parseInt(filIdParam);
-        String utilisateurs = StringEscapeUtils.escapeHtml4(req.getParameter("utilisateurs"));
-        boolean admin = Boolean.parseBoolean(StringEscapeUtils.escapeHtml4(req.getParameter("admin")));
+        String filIdParam = req.getParameter("filId");
+        if (filIdParam == null || filIdParam.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
+        int filId;
+        try {
+            filId = Integer.parseInt(filIdParam);
+        } catch (NumberFormatException e) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
+        String utilisateurs = req.getParameter("utilisateurs");
+        if (utilisateurs == null || utilisateurs.isEmpty()) {
+            res.sendRedirect("Menu?filId=" + filId);
+            return;
+        }
+
+        boolean admin = Boolean.parseBoolean(req.getParameter("admin"));
 
         if (!participantFilDAO.isAdmin(u, filId)) {
             res.sendRedirect("Menu?filId=" + filId);
@@ -46,7 +63,6 @@ public class FilAddUser extends HttpServlet {
 
         for (String email : users) {
             int userId = utilisateurDAO.getUserIdByEmail(email);
-            System.out.println(email);
             if (userId != -1) {
                 participantFilDAO.addParticipant(userId, filId, admin);
             }
diff --git a/WEB-INF/src/controleurs/FilCreate.java b/WEB-INF/src/controleurs/FilCreate.java
index dc8abe1f253c2c7586a369c6bfac9ec3ca8e9cad..3eadc30312421e64a6555c20b34cb2ac4239e900 100644
--- a/WEB-INF/src/controleurs/FilCreate.java
+++ b/WEB-INF/src/controleurs/FilCreate.java
@@ -27,6 +27,12 @@ public class FilCreate extends HttpServlet {
 
         String titre = StringEscapeUtils.escapeHtml4(req.getParameter("titre"));
         String utilisateurs = StringEscapeUtils.escapeHtml4(req.getParameter("utilisateurs"));
+
+        if (titre == null || titre.isEmpty() || utilisateurs == null || utilisateurs.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
         boolean admin = Boolean.parseBoolean(req.getParameter("admin"));
 
         List<String> users = Arrays.stream(utilisateurs.split("/"))
@@ -34,6 +40,11 @@ public class FilCreate extends HttpServlet {
                 .filter(email -> !email.isEmpty())
                 .collect(Collectors.toList());
 
+        if (users.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
         FilDAO filDAO = new FilDAO();
         int fid = filDAO.addFil(uid, titre, users, admin);
 
diff --git a/WEB-INF/src/controleurs/FilLeave.java b/WEB-INF/src/controleurs/FilLeave.java
index 3dacc7a961e106e8db877c8b6303b2fc9aef9f97..fa127f8a4e825966e6444a71c18b3d2132424dfa 100644
--- a/WEB-INF/src/controleurs/FilLeave.java
+++ b/WEB-INF/src/controleurs/FilLeave.java
@@ -10,8 +10,9 @@ import org.apache.tomcat.jakartaee.commons.lang3.StringEscapeUtils;
 
 @WebServlet("/LeaveFil")
 public class FilLeave extends HttpServlet {
+
     protected void service(HttpServletRequest req, HttpServletResponse res)
-            throws ServletException, IOException {
+            throws IOException {
         HttpSession session = req.getSession(false);
         Utilisateur u = (Utilisateur) session.getAttribute("utilisateur");
         if (u == null || u.getId() == 0) {
@@ -19,11 +20,28 @@ public class FilLeave extends HttpServlet {
             return;
         }
         int uid = u.getId();
-        int filId = Integer.parseInt(StringEscapeUtils.escapeHtml4(req.getParameter("filId")));
+
+        String filIdParam = StringEscapeUtils.escapeHtml4(req.getParameter("filId"));
+        if (filIdParam == null || filIdParam.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
+        int filId = -1;
+        try {
+            filId = Integer.parseInt(filIdParam);
+        } catch (NumberFormatException e) {
+            res.sendRedirect("Menu");
+            return;
+        }
+
+        if (filId <= 0) {
+            res.sendRedirect("Menu");
+            return;
+        }
 
         ParticipantFilDAO participantFilDAO = new ParticipantFilDAO();
         participantFilDAO.deleteUserById(uid, filId);
-
         res.sendRedirect("Menu");
     }
 }
diff --git a/WEB-INF/src/controleurs/FilUser.java b/WEB-INF/src/controleurs/FilUser.java
index f48c60a5a671b311180277fe877e4a0932e519e6..f67fa131578d732cc6cdec2e5d710adfc7b959f3 100644
--- a/WEB-INF/src/controleurs/FilUser.java
+++ b/WEB-INF/src/controleurs/FilUser.java
@@ -21,40 +21,48 @@ public class FilUser extends HttpServlet {
         res.setContentType("text/html;charset=UTF-8");
         HttpSession session = req.getSession(true);
         Utilisateur utilisateur = (Utilisateur) session.getAttribute("utilisateur");
+
         if (utilisateur == null) {
             res.sendRedirect("login.html");
-        } else {
-            List<Fil> fils = filDAO.getFilsByUser(utilisateur.getId());
-            req.setAttribute("fils", fils);
-            String rese = req.getParameter("filId");
-            if (rese != null) {
-                rese = StringEscapeUtils.escapeHtml4(rese);
-                if (participantFilDAO.partFil(Integer.parseInt(rese), utilisateur.getId())) {
-                    req.setAttribute("filId", rese);
+            return;
+        }
 
-                    List<Utilisateur> liste = participantFilDAO.getUsersByFilId(Integer.parseInt(rese));
+        List<Fil> fils = filDAO.getFilsByUser(utilisateur.getId());
+        req.setAttribute("fils", fils);
+        String filIdParam = req.getParameter("filId");
+        if (filIdParam != null && !filIdParam.isEmpty()) {
+            filIdParam = StringEscapeUtils.escapeHtml4(filIdParam);
 
+            try {
+                int filId = Integer.parseInt(filIdParam);
+                if (participantFilDAO.partFil(filId, utilisateur.getId())) {
+                    req.setAttribute("filId", filIdParam);
+                    List<Utilisateur> liste = participantFilDAO.getUsersByFilId(filId);
                     req.setAttribute("listeUsers", liste);
                 }
+            } catch (NumberFormatException e) {
+                res.sendRedirect("Menu");
+                return;
             }
-            req.getRequestDispatcher("addUser.jsp").forward(req, res);
         }
+        req.getRequestDispatcher("addUser.jsp").forward(req, res);
     }
 
     protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException {
         String userIdString = req.getParameter("userId");
         String filIdString = req.getParameter("filId");
-
-        if (userIdString != null) {
+        if (userIdString != null && filIdString != null && !userIdString.isEmpty() && !filIdString.isEmpty()) {
             userIdString = StringEscapeUtils.escapeHtml4(userIdString);
             filIdString = StringEscapeUtils.escapeHtml4(filIdString);
 
-            int userId = Integer.parseInt(userIdString);
-            int filId = Integer.parseInt(filIdString);
-
-            participantFilDAO.deleteUserById(userId, filId);
-
-            res.sendRedirect("Menu?filId=" + filIdString);
+            try {
+                int userId = Integer.parseInt(userIdString);
+                int filId = Integer.parseInt(filIdString);
+                participantFilDAO.deleteUserById(userId, filId);
+                res.sendRedirect("Menu?filId=" + filIdString);
+            } catch (NumberFormatException e) {
+                res.sendRedirect("Menu");
+            }
         } else {
             res.sendRedirect("Menu");
         }
diff --git a/WEB-INF/src/controleurs/LikeControler.java b/WEB-INF/src/controleurs/LikeControler.java
index 58ddaf52a86ef3270a3562f6b8f37f1edb0bd357..4a93ac13a62e9eb063181cc14f90c5d74074716a 100644
--- a/WEB-INF/src/controleurs/LikeControler.java
+++ b/WEB-INF/src/controleurs/LikeControler.java
@@ -28,8 +28,27 @@ public class LikeControler extends HttpServlet {
         response.setContentType("text/html;charset=UTF-8");
         HttpSession session = request.getSession(true);
 
-        int mid = Integer.parseInt(StringEscapeUtils.escapeHtml4(request.getParameter("messId")));
-        int fid = Integer.parseInt(StringEscapeUtils.escapeHtml4(request.getParameter("fid")));
+        String messIdParam = request.getParameter("messId");
+        String fidParam = request.getParameter("fid");
+
+        if (messIdParam == null || messIdParam.isEmpty() || fidParam == null || fidParam.isEmpty()) {
+            response.sendRedirect("Menu");
+            return;
+        }
+
+        messIdParam = StringEscapeUtils.escapeHtml4(messIdParam);
+        fidParam = StringEscapeUtils.escapeHtml4(fidParam);
+
+        int mid;
+        int fid;
+
+        try {
+            mid = Integer.parseInt(messIdParam);
+            fid = Integer.parseInt(fidParam);
+        } catch (NumberFormatException e) {
+            response.sendRedirect("Menu");
+            return;
+        }
 
         Utilisateur user = (Utilisateur) session.getAttribute("utilisateur");
 
@@ -45,6 +64,7 @@ public class LikeControler extends HttpServlet {
         } else {
             likeDAO.addLike(mid, user.getId());
         }
+
         response.sendRedirect("Menu?filId=" + fid);
     }
 }
diff --git a/WEB-INF/src/controleurs/Menu.java b/WEB-INF/src/controleurs/Menu.java
index 118d59e8cff41f9a97ac8bde1568f0a60984ef9e..987ac7c0098ccf0c9a9bfc1ac57402e3982abab0 100644
--- a/WEB-INF/src/controleurs/Menu.java
+++ b/WEB-INF/src/controleurs/Menu.java
@@ -23,43 +23,54 @@ public class Menu extends HttpServlet {
         res.setContentType("text/html;charset=UTF-8");
         HttpSession session = req.getSession(true);
         Utilisateur utilisateur = (Utilisateur) session.getAttribute("utilisateur");
+
         if (utilisateur == null) {
             res.sendRedirect("login.html");
-        } else {
-            FilDAO filDAO = new FilDAO();
-            ParticipantFilDAO participantFilDAO = new ParticipantFilDAO();
-            List<Fil> fils = filDAO.getFilsByUser(utilisateur.getId());
-            req.setAttribute("fils", fils);
-            String rese = StringEscapeUtils.escapeHtml4(req.getParameter("filId"));
-            if (rese != null) {
-                if (participantFilDAO.partFil(Integer.parseInt(rese), utilisateur.getId())) {
-                    MessageDAO mDAO = new MessageDAO();
-                    mDAO.checkTimeMessage();
-                    List<dto.Message> messages = mDAO.getLastMessages(Integer.parseInt(rese));
-                    req.setAttribute("message", messages);
-                    req.setAttribute("filId", rese);
-
-                    Map<Integer, String> userNames = new HashMap<>();
-                    UtilisateurDAO utilisateurDAO = new UtilisateurDAO();
-                    for (dto.Message mess : messages) {
-                        if (!userNames.containsKey(mess.getUid())) {
-                            Utilisateur user = utilisateurDAO.getUserById(mess.getUid());
-                            userNames.put(mess.getUid(), user.getPrenom() + " " + user.getNom());
-                        }
-                    }
-
-                    boolean isAdmin = participantFilDAO.isAdmin(utilisateur, Integer.parseInt(rese));
+            return;
+        }
 
-                    req.setAttribute("isAdmin", isAdmin);
+        FilDAO filDAO = new FilDAO();
+        ParticipantFilDAO participantFilDAO = new ParticipantFilDAO();
+        List<Fil> fils = filDAO.getFilsByUser(utilisateur.getId());
+        req.setAttribute("fils", fils);
 
-                    req.setAttribute("userNames", userNames);
+        String filIdParam = StringEscapeUtils.escapeHtml4(req.getParameter("filId"));
+        if (filIdParam == null || filIdParam.isEmpty()) {
+            res.sendRedirect("Menu");
+            return;
+        }
 
-                    List<Utilisateur> liste = participantFilDAO.getUsersByFilId(Integer.parseInt(rese));
+        try {
+            int filId = Integer.parseInt(filIdParam);
+            if (participantFilDAO.partFil(filId, utilisateur.getId())) {
+                MessageDAO mDAO = new MessageDAO();
+                mDAO.checkTimeMessage();
+                List<dto.Message> messages = mDAO.getLastMessages(filId);
+                req.setAttribute("message", messages);
+                req.setAttribute("filId", filIdParam);
 
-                    req.setAttribute("listeUsers", liste);
+                Map<Integer, String> userNames = new HashMap<>();
+                UtilisateurDAO utilisateurDAO = new UtilisateurDAO();
+                for (dto.Message mess : messages) {
+                    if (!userNames.containsKey(mess.getUid())) {
+                        Utilisateur user = utilisateurDAO.getUserById(mess.getUid());
+                        if (user != null) {
+                            userNames.put(mess.getUid(), user.getPrenom() + " " + user.getNom());
+                        }
+                    }
                 }
+                boolean isAdmin = participantFilDAO.isAdmin(utilisateur, filId);
+                req.setAttribute("isAdmin", isAdmin);
+                List<Utilisateur> liste = participantFilDAO.getUsersByFilId(filId);
+                req.setAttribute("listeUsers", liste);
+            } else {
+                res.sendRedirect("Menu");
+                return;
             }
-            req.getRequestDispatcher("menu.jsp").forward(req, res);
+        } catch (NumberFormatException e) {
+            res.sendRedirect("Menu");
+            return;
         }
+        req.getRequestDispatcher("menu.jsp").forward(req, res);
     }
 }
diff --git a/WEB-INF/src/controleurs/MessageSend.java b/WEB-INF/src/controleurs/MessageSend.java
index 7d746c663023944cd0c2633c205adc5df9c29bea..257443691b2ebe88702fd4bd599ac21cf1edd182 100644
--- a/WEB-INF/src/controleurs/MessageSend.java
+++ b/WEB-INF/src/controleurs/MessageSend.java
@@ -24,13 +24,29 @@ public class MessageSend extends HttpServlet {
 
     protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-        int fid = Integer.parseInt(request.getParameter("fid"));
-        int uid = Integer.parseInt(request.getParameter("uid"));
+
+        String fidParam = request.getParameter("fid");
+        String uidParam = request.getParameter("uid");
+
+        if (fidParam == null || fidParam.isEmpty() || uidParam == null || uidParam.isEmpty()) {
+            response.sendRedirect("Menu");
+            return;
+        }
+
+        int fid = -1;
+        int uid = -1;
+
+        try {
+            fid = Integer.parseInt(fidParam);
+            uid = Integer.parseInt(uidParam);
+        } catch (NumberFormatException e) {
+            response.sendRedirect("Menu");
+            return;
+        }
 
         String message = StringEscapeUtils.escapeHtml4(request.getParameter("message"));
 
         HttpSession session = request.getSession(true);
-
         Utilisateur user = (Utilisateur) session.getAttribute("utilisateur");
 
         if (user == null || user.getId() == 0) {
@@ -53,7 +69,6 @@ public class MessageSend extends HttpServlet {
             response.sendRedirect("Menu?filId=" + fid);
             return;
         }
-
         if (message != null && !message.trim().isEmpty()) {
             if (isImage) {
                 messageDAO.addMessage(fid, uid, imageData, true);
diff --git a/sql/LilleConnect.sql b/sql/LilleConnect.sql
index a263fc82a5622e9be3b4d719d1518e6a3268ae34..41dd4b4e9e4c5d6ae6622f26a665a48e96b15564 100644
--- a/sql/LilleConnect.sql
+++ b/sql/LilleConnect.sql
@@ -147,14 +147,14 @@ INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de Tom seul'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Tom' AND NOM = 'Dequesnes'),
-    convert_to('Message 1 de Tom', 'UTF8'), FALSE, 14, '2025-03-10 00:00:01'
+    convert_to('Message 1 de Tom', 'UTF8'), FALSE, 14, '2025-03-17 00:00:01'
 );
 
 INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de Tom seul'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Tom' AND NOM = 'Dequesnes'),
-    convert_to('Message 2 de Tom', 'UTF8'), FALSE, 14, '2025-03-10 00:00:02'
+    convert_to('Message 2 de Tom', 'UTF8'), FALSE, 14, '2025-03-17 00:00:02'
 );
 
 /* Giorgio dans son fil */
@@ -162,14 +162,14 @@ INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de Giorgio seul'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Giorgio' AND NOM = 'Utzeri'),
-    convert_to('Message 1 de Giorgio', 'UTF8'), FALSE, 14, '2025-03-10 00:00:03'
+    convert_to('Message 1 de Giorgio', 'UTF8'), FALSE, 14, '2025-03-17 00:00:03'
 );
 
 INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de Giorgio seul'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Giorgio' AND NOM = 'Utzeri'),
-    convert_to('Message 2 de Giorgio', 'UTF8'), FALSE, 14, '2025-03-10 00:00:04'
+    convert_to('Message 2 de Giorgio', 'UTF8'), FALSE, 14, '2025-03-17 00:00:04'
 );
 
 /* Tom et Giorgio dans le fil commun */
@@ -177,14 +177,14 @@ INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de discussion entre Tom et Giorgio'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Tom' AND NOM = 'Dequesnes'),
-    convert_to('Message 1 de Tom dans le fil commun', 'UTF8'), FALSE, 14, '2025-03-10 00:00:05'
+    convert_to('Message 1 de Tom dans le fil commun', 'UTF8'), FALSE, 14, '2025-03-17 00:00:05'
 );
 
 INSERT INTO MESSAGE (F_ID, U_ID, MESSAGE_DATA, IS_IMAGE, d_vie, DateMessage)
 VALUES (
     (SELECT F_ID FROM FIL WHERE TITRE = 'Fil de discussion entre Tom et Giorgio'),
     (SELECT U_ID FROM UTILISATEUR WHERE PRENOM = 'Giorgio' AND NOM = 'Utzeri'),
-    convert_to('Message 1 de Giorgio dans le fil commun', 'UTF8'), FALSE, 14, '2025-03-10 00:00:06'
+    convert_to('Message 1 de Giorgio dans le fil commun', 'UTF8'), FALSE, 14, '2025-03-17 00:00:06'
 );
 
 \! echo 'Création de message de test avec succès'