diff --git a/WEB-INF/src/controleur/Authent.java b/WEB-INF/src/controleur/Authent.java
index 6d308e71594c1f7d52002128c6d808a7fe23a9aa..e3a7973101e71b272a5a1a3089f2fec15cff637f 100644
--- a/WEB-INF/src/controleur/Authent.java
+++ b/WEB-INF/src/controleur/Authent.java
@@ -4,6 +4,9 @@ import java.io.IOException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
+import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.text.translate.CharSequenceTranslator;
+
 import jakarta.servlet.ServletException;
 import jakarta.servlet.annotation.WebServlet;
 import jakarta.servlet.http.HttpServlet;
@@ -20,6 +23,9 @@ public class Authent extends HttpServlet {
         String action = req.getParameter("action");
         String username = req.getParameter("username");
         String password = req.getParameter("password");
+        
+        CharSequenceTranslator cst = StringEscapeUtils.ESCAPE_HTML4;
+        
         if(username == null || password == null){
             req.setAttribute("error", "Vous ne pouvez pas avoir un pseudo ou mot de passe vide !");
             req.getRequestDispatcher("/WEB-INF/vue/error.jsp").forward(req, resp);
@@ -27,6 +33,7 @@ public class Authent extends HttpServlet {
         }
         String hashedPassword;
         username = username.toLowerCase();
+        username = cst.translate(username);
         
         MessageDigest md;
         this.getServletContext();
@@ -69,7 +76,7 @@ public class Authent extends HttpServlet {
                     resp.sendRedirect("navigation?page=accueil");
                     return;
                 } catch (Exception e) {
-                    req.setAttribute("error", "Nom d'utilisateur déjà pris");
+                    req.setAttribute("error", "Pseudonyme invalide / Nom d'utilisateur déjà pris");
                     vue = "WEB-INF/vue/signin.jsp";
                 }
                 break;
diff --git a/WEB-INF/vue/signin.jsp b/WEB-INF/vue/signin.jsp
index 75adace2355ad529d3cc1e35c7a14d0e6ba0c7fb..8b405e07df8e5f671b3b7760f8f97fccf8586659 100644
--- a/WEB-INF/vue/signin.jsp
+++ b/WEB-INF/vue/signin.jsp
@@ -30,7 +30,7 @@
                     <div>
                         <div class="mt-2 mb-3">
                             <p class="mb-1">Pseudonyme</p>
-                            <input class="form-control" name="username" type="text" placeholder="pmathieu" maxlength="24" required>
+                            <input class="form-control" name="username" type="text" placeholder="pmathieu" maxlength="24" pattern="\w{3,24}" required>
                         </div>
                         <div class="mb-3">
                             <p class="mb-1">Mot de passe</p>