diff --git a/WEB-INF/classes/controleurs/Authent.class b/WEB-INF/classes/controleurs/Authent.class deleted file mode 100644 index 3be564f09e79e6598960e34c8956bf4b8bd9ba9c..0000000000000000000000000000000000000000 Binary files a/WEB-INF/classes/controleurs/Authent.class and /dev/null differ diff --git a/WEB-INF/classes/controleurs/Create.class b/WEB-INF/classes/controleurs/Create.class deleted file mode 100644 index 966311437ac925bff2069c902821b237c7b96b4c..0000000000000000000000000000000000000000 Binary files a/WEB-INF/classes/controleurs/Create.class and /dev/null differ diff --git a/WEB-INF/classes/dao/DS.class b/WEB-INF/classes/dao/DS.class deleted file mode 100644 index ea8b81ae114f2026463b7d95aea04956195bb671..0000000000000000000000000000000000000000 Binary files a/WEB-INF/classes/dao/DS.class and /dev/null differ diff --git a/WEB-INF/classes/dao/UtilisateurDAO.class b/WEB-INF/classes/dao/UtilisateurDAO.class deleted file mode 100644 index 835d862924a4d135d653ceb6191de24ef12c1220..0000000000000000000000000000000000000000 Binary files a/WEB-INF/classes/dao/UtilisateurDAO.class and /dev/null differ diff --git a/WEB-INF/classes/dto/Utilisateur.class b/WEB-INF/classes/dto/Utilisateur.class deleted file mode 100644 index a71b683cdb265925591456bce2ba70b2d61eaabd..0000000000000000000000000000000000000000 Binary files a/WEB-INF/classes/dto/Utilisateur.class and /dev/null differ diff --git a/WEB-INF/src/controleurs/APIRest.java b/WEB-INF/src/controleurs/APIRest.java index 1ff6e04fa5b2984b1ff4dbd21fc14bb94d5b749f..5010a479bc09220d4c4a5d023331d5122b302d8e 100644 --- a/WEB-INF/src/controleurs/APIRest.java +++ b/WEB-INF/src/controleurs/APIRest.java @@ -19,11 +19,10 @@ import dto.Fil; import dto.Message; import dto.Utilisateur; - @WebServlet("/filUser") public class APIRest extends HttpServlet { - private boolean verifToken(HttpServletRequest req){ + private boolean verifToken(HttpServletRequest req) { String authorization = req.getHeader("Authorization"); if (authorization == null || !authorization.startsWith("Bearer")) { @@ -38,22 +37,20 @@ public class APIRest extends HttpServlet { System.out.println("Le login est : " + claims.getSubject()); req.setAttribute("login", claims.getSubject()); return true; - }catch (Exception e){ + } catch (Exception e) { System.err.println("Token pas valide ! : " + e.getMessage()); return false; } } - - public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("application/json;charset=UTF-8"); PrintWriter out = res.getWriter(); - if(!verifToken(req)){ + if (!verifToken(req)) { res.setStatus(HttpServletResponse.SC_UNAUTHORIZED); out.println("Erreur !! Le token n'est pas reconnu"); - }else{ + } else { FilDAO filDAO = new FilDAO(); MessageDAO messageDAO = new MessageDAO(); UtilisateurDAO utilisateurDAO = new UtilisateurDAO(); @@ -70,7 +67,7 @@ public class APIRest extends HttpServlet { for (Fil fil : fils) { List<Message> messages = messageDAO.getLastMessages(fil.getFid()); - // Construction du JSON + // Construction du JSON Map<String, Object> filData = new HashMap<>(); filData.put("id", fil.getFid()); filData.put("titre", fil.getTitre()); @@ -82,10 +79,12 @@ public class APIRest extends HttpServlet { msgData.put("auteurId", msg.getUid()); if (msg.isImage()) { - // Encodage en Base64 pour les images - //msgData.put("message", Base64.getEncoder().encodeToString(msg.getMessageData())); + // Encodage en Base64 pour les images + // msgData.put("message", + // Base64.getEncoder().encodeToString(msg.getMessageData())); Utilisateur user = utilisateurDAO.getUserById(msg.getUid()); - msgData.put("message", "Ceci est une image envoyé par " + user.getPrenom() + " " + user.getNom()); + msgData.put("message", + "Ceci est une image envoyé par " + user.getPrenom() + " " + user.getNom()); } else { // Texte classique (UTF-8) msgData.put("message", new String(msg.getMessageData(), StandardCharsets.UTF_8)); @@ -100,7 +99,10 @@ public class APIRest extends HttpServlet { filsList.add(filData); } - String jsonstring = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(filsList); // Convertit la liste des fils en JSON + String jsonstring = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(filsList); // Convertit + // la liste + // des fils + // en JSON out.println(jsonstring); // Envoie la réponse en JSON au client return; diff --git a/WEB-INF/src/controleurs/FilLeave.java b/WEB-INF/src/controleurs/FilLeave.java index 4355aeb2f2aeef281b55c9a2eda2f678fee88728..e940e0757eb646eb38e3dddbaaa9aa7985ef0a83 100644 --- a/WEB-INF/src/controleurs/FilLeave.java +++ b/WEB-INF/src/controleurs/FilLeave.java @@ -23,7 +23,7 @@ public class FilLeave extends HttpServlet { int filId = Integer.parseInt(StringEscapeUtils.escapeHtml4(req.getParameter("filId"))); ParticipantFilDAO participantFilDAO = new ParticipantFilDAO(); - participantFilDAO.deleteUserById(uid,filId); + participantFilDAO.deleteUserById(uid, filId); res.sendRedirect("Menu"); } diff --git a/WEB-INF/src/controleurs/JwtManager.java b/WEB-INF/src/controleurs/JwtManager.java index 2763cf2bc0ce432e9bcb515da5884e7d0d5e74c4..3b5c0d62aac88839037592af19ad0ed5764c61f8 100644 --- a/WEB-INF/src/controleurs/JwtManager.java +++ b/WEB-INF/src/controleurs/JwtManager.java @@ -60,12 +60,12 @@ public class JwtManager { System.out.println(JwtManager.SECRET_KEY); String token = JwtManager.createJWT("Toto"); /* - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - */ + * try { + * Thread.sleep(10000); + * } catch (InterruptedException e) { + * e.printStackTrace(); + * } + */ System.out.println(token); Claims claims = null; diff --git a/WEB-INF/src/controleurs/LikeControler.java b/WEB-INF/src/controleurs/LikeControler.java index 1dd23002f09cb0423758308ecabde306fb84a08e..9e898b0978799429b461408fa4b09a4603fd8afe 100644 --- a/WEB-INF/src/controleurs/LikeControler.java +++ b/WEB-INF/src/controleurs/LikeControler.java @@ -26,7 +26,8 @@ public class LikeControler extends HttpServlet { messageDAO = new MessageDAO(); } - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); HttpSession session = request.getSession(true); diff --git a/WEB-INF/src/controleurs/MessageSend.java b/WEB-INF/src/controleurs/MessageSend.java index 7c51f9fc76922a075b0680b8b36bc77f252a6e37..a7f4c354cbfa0ee96db43631c5a693b94999a06b 100644 --- a/WEB-INF/src/controleurs/MessageSend.java +++ b/WEB-INF/src/controleurs/MessageSend.java @@ -11,11 +11,7 @@ import jakarta.servlet.http.*; import jakarta.servlet.annotation.WebServlet; import org.apache.tomcat.jakartaee.commons.lang3.StringEscapeUtils; -@MultipartConfig( - fileSizeThreshold = 1024 * 1024, - maxFileSize = 1024 * 1024 * 10, - maxRequestSize = 1024 * 1024 * 50 -) +@MultipartConfig(fileSizeThreshold = 1024 * 1024, maxFileSize = 1024 * 1024 * 10, maxRequestSize = 1024 * 1024 * 50) @WebServlet("/EnvoyerMessage") public class MessageSend extends HttpServlet { private static final long serialVersionUID = 1L; @@ -27,7 +23,8 @@ public class MessageSend extends HttpServlet { messageDAO = new MessageDAO(); } - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { int fid = Integer.parseInt(request.getParameter("fid")); int uid = Integer.parseInt(request.getParameter("uid")); diff --git a/WEB-INF/src/controleurs/UserInfo.java b/WEB-INF/src/controleurs/UserInfo.java index ba5055410f6d2d13a3c494f58eeaa038cd5b98ea..fc7b9c45c9515ec42369a4f9b8046287f2e8d17c 100644 --- a/WEB-INF/src/controleurs/UserInfo.java +++ b/WEB-INF/src/controleurs/UserInfo.java @@ -8,6 +8,7 @@ import jakarta.servlet.http.*; import jakarta.servlet.annotation.WebServlet; import dto.Utilisateur; import org.apache.tomcat.jakartaee.commons.lang3.StringEscapeUtils; + @WebServlet("/UserInfo") public class UserInfo extends HttpServlet { diff --git a/WEB-INF/src/dao/DS.java b/WEB-INF/src/dao/DS.java index 9d523834b69ea86e8fb0b96c936d79e63dd9b2a6..a1cd0761cb8678b15ae5f7b47509e4fc4e88d9ed 100644 --- a/WEB-INF/src/dao/DS.java +++ b/WEB-INF/src/dao/DS.java @@ -9,24 +9,25 @@ public class DS { private String url; private String login; private String password; - public DS(){ + + public DS() { Properties p = new Properties(); - try{ + try { this.driver = ConfigLoader.getProperty("driver"); Class.forName(driver); this.url = ConfigLoader.getProperty("url"); this.login = ConfigLoader.getProperty("login"); this.password = ConfigLoader.getProperty("mdp"); - }catch (Exception e) { + } catch (Exception e) { System.out.println(e.getMessage()); } } - public Connection getConnection(){ - try{ + public Connection getConnection() { + try { Connection con = DriverManager.getConnection(url, login, password); return con; - }catch (Exception e){ + } catch (Exception e) { System.out.println("Il y a une erreur lors de la connection : " + e.getMessage()); return null; } diff --git a/WEB-INF/src/dao/FilDAO.java b/WEB-INF/src/dao/FilDAO.java index 74d3f2cd74702dc84bafa9d836cf256ee40f6148..34e1466df4a50195a21a736fa5dee51ff562556e 100644 --- a/WEB-INF/src/dao/FilDAO.java +++ b/WEB-INF/src/dao/FilDAO.java @@ -16,7 +16,8 @@ public class FilDAO { this.ds = new DS(); } - //Méthode qui rerourne une Liste des fils de l'utilisateur, dont l'identifiant à été passé en paramètre + // Méthode qui rerourne une Liste des fils de l'utilisateur, dont l'identifiant + // à été passé en paramètre public List<Fil> getFilsByUser(int id) { List<Fil> fils = new ArrayList<>(); String query = "SELECT F.F_ID, F.TITRE FROM FIL AS F JOIN PARTICIPANT_FIL AS P ON F.F_ID = P.FP_ID WHERE P.UP_ID = ?"; @@ -44,7 +45,7 @@ public class FilDAO { UtilisateurDAO utilisateurDAO = new UtilisateurDAO(); try (Connection con = ds.getConnection(); - PreparedStatement psFil = con.prepareStatement(insertFilQuery)) { + PreparedStatement psFil = con.prepareStatement(insertFilQuery)) { psFil.setString(1, titre); ResultSet rs = psFil.executeQuery(); diff --git a/WEB-INF/src/dao/LikeDAO.java b/WEB-INF/src/dao/LikeDAO.java index 84ec8864c89791db433466ab26e73eba88a3f47e..c8e7036f6da7e060c2ce69f36d5bac34d00a7e3c 100644 --- a/WEB-INF/src/dao/LikeDAO.java +++ b/WEB-INF/src/dao/LikeDAO.java @@ -16,7 +16,7 @@ public class LikeDAO { public boolean hasLiked(int mid, int user) { String checkLikeQuery = "SELECT COUNT(*) FROM LIKES WHERE M_ID = ? AND U_ID = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(checkLikeQuery)) { + PreparedStatement ps = con.prepareStatement(checkLikeQuery)) { ps.setInt(1, mid); ps.setInt(2, user); @@ -31,7 +31,7 @@ public class LikeDAO { public void addLike(int mid, int user) { String insertLikeQuery = "INSERT INTO LIKES (M_ID, U_ID) VALUES (?, ?)"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(insertLikeQuery)) { + PreparedStatement ps = con.prepareStatement(insertLikeQuery)) { ps.setInt(1, mid); ps.setInt(2, user); @@ -44,7 +44,7 @@ public class LikeDAO { public void removeLike(int mid, int user) { String deleteLikeQuery = "DELETE FROM LIKES WHERE M_ID = ? AND U_ID = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(deleteLikeQuery)) { + PreparedStatement ps = con.prepareStatement(deleteLikeQuery)) { ps.setInt(1, mid); ps.setInt(2, user); @@ -58,10 +58,11 @@ public class LikeDAO { String query = "SELECT count(*) FROM LIKES WHERE m_id = ?"; int nbLikes = 0; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setInt(1, mid); try (ResultSet rs = ps.executeQuery()) { - if (rs.next()) nbLikes = rs.getInt(1); + if (rs.next()) + nbLikes = rs.getInt(1); } } catch (SQLException e) { System.err.println(e.getMessage()); diff --git a/WEB-INF/src/dao/MessageDAO.java b/WEB-INF/src/dao/MessageDAO.java index 827abdfa2466ea5be58130763c2079e533574d45..516711eff639b47928c8bbbf3f802c68e02b02a9 100644 --- a/WEB-INF/src/dao/MessageDAO.java +++ b/WEB-INF/src/dao/MessageDAO.java @@ -23,7 +23,7 @@ public class MessageDAO { String query = "SELECT * FROM message WHERE f_id = ? ORDER BY DateMessage ASC"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setInt(1, id_fil); ResultSet rs = ps.executeQuery(); @@ -35,8 +35,7 @@ public class MessageDAO { rs.getBytes("message_data"), // Récupère les données sous forme de bytes rs.getBoolean("is_image"), // Vérifie si c'est une image rs.getInt("d_vie"), - rs.getTimestamp("DateMessage") - ); + rs.getTimestamp("DateMessage")); messages.add(mess); } } catch (SQLException e) { @@ -50,7 +49,7 @@ public class MessageDAO { boolean success = false; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setInt(1, fid); ps.setInt(2, uid); ps.setBytes(3, data); // Stocke l'image ou le texte @@ -69,10 +68,11 @@ public class MessageDAO { public void checkTimeMessage() { String query = "SELECT * FROM message"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ResultSet rs = ps.executeQuery(); while (rs.next()) { - LocalDate dateMessage = rs.getTimestamp("datemessage").toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusDays(rs.getInt("d_vie")); + LocalDate dateMessage = rs.getTimestamp("datemessage").toInstant().atZone(ZoneId.systemDefault()) + .toLocalDate().plusDays(rs.getInt("d_vie")); LocalDate dateLimite = LocalDate.now(); if (dateMessage.isBefore(dateLimite)) { deleteMessage(rs.getInt("m_id")); @@ -87,7 +87,7 @@ public class MessageDAO { public void deleteMessage(int mId) { String query = "DELETE from message where m_id = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setInt(1, mId); ps.executeUpdate(); } catch (Exception e) { diff --git a/WEB-INF/src/dao/ParticipantFilDAO.java b/WEB-INF/src/dao/ParticipantFilDAO.java index af165a09971c5ce700ae3768a32a4ba7e97ceb7e..b2f04d35191d5d18260beb78cec283cef7533b3c 100644 --- a/WEB-INF/src/dao/ParticipantFilDAO.java +++ b/WEB-INF/src/dao/ParticipantFilDAO.java @@ -20,7 +20,7 @@ public class ParticipantFilDAO { String insertParticipantQuery = "INSERT INTO participant_fil (up_id, fp_id, administrateur) VALUES (?, ?, ?);"; try (Connection con = ds.getConnection(); - PreparedStatement psParticipant = con.prepareStatement(insertParticipantQuery)) { + PreparedStatement psParticipant = con.prepareStatement(insertParticipantQuery)) { psParticipant.setInt(1, userId); psParticipant.setInt(2, filId); psParticipant.setBoolean(3, administrateur); @@ -29,12 +29,13 @@ public class ParticipantFilDAO { System.err.println(e.getMessage()); } } + public boolean isAdmin(dto.Utilisateur u, int filId) { int userId = u.getId(); String query = "SELECT administrateur FROM participant_fil WHERE up_id = ? AND fp_id = ?"; try (Connection conn = ds.getConnection(); - PreparedStatement stmt = conn.prepareStatement(query)) { + PreparedStatement stmt = conn.prepareStatement(query)) { stmt.setInt(1, userId); stmt.setInt(2, filId); try (ResultSet rs = stmt.executeQuery()) { @@ -50,18 +51,19 @@ public class ParticipantFilDAO { } } - public List<dto.Utilisateur> getUsersByFilId(int filId){ + public List<dto.Utilisateur> getUsersByFilId(int filId) { String query = "SELECT u.* FROM UTILISATEUR AS u JOIN PARTICIPANT_FIL AS participant ON u.U_ID = participant.UP_ID WHERE participant.FP_ID = ?"; - try (Connection con = ds.getConnection();){ - PreparedStatement ps = con.prepareStatement(query); - ps.setInt(1, filId); - ResultSet rs = ps.executeQuery(); - List<dto.Utilisateur> liste = new ArrayList<>(); - while (rs.next()){ - liste.add(new Utilisateur(rs.getInt("u_id"), rs.getString("mail"), rs.getString("nom"), rs.getString("prenom"))); - } - return liste; - }catch (Exception e){ + try (Connection con = ds.getConnection();) { + PreparedStatement ps = con.prepareStatement(query); + ps.setInt(1, filId); + ResultSet rs = ps.executeQuery(); + List<dto.Utilisateur> liste = new ArrayList<>(); + while (rs.next()) { + liste.add(new Utilisateur(rs.getInt("u_id"), rs.getString("mail"), rs.getString("nom"), + rs.getString("prenom"))); + } + return liste; + } catch (Exception e) { System.err.println(e.getMessage()); return null; } @@ -83,7 +85,7 @@ public class ParticipantFilDAO { public boolean partFil(int fid, int uid) { String query = "SELECT 1 FROM participant_fil WHERE fp_id = ? AND up_id = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setInt(1, fid); ps.setInt(2, uid); ResultSet rs = ps.executeQuery(); diff --git a/WEB-INF/src/dao/UtilisateurDAO.java b/WEB-INF/src/dao/UtilisateurDAO.java index 5d6217006e448d93d552f4638dea0193a44f2d81..042f6822ec9542cac30160cf85b42340a38a8a29 100644 --- a/WEB-INF/src/dao/UtilisateurDAO.java +++ b/WEB-INF/src/dao/UtilisateurDAO.java @@ -17,7 +17,7 @@ public class UtilisateurDAO { public Utilisateur editUser(dto.Utilisateur user, String email, String nom, String prenom, String mdp) { String query = "UPDATE utilisateur SET mail = ?, nom = ?, prenom = ?, mdp = MD5(?) WHERE u_id = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setString(1, email); ps.setString(2, nom); ps.setString(3, prenom); @@ -39,11 +39,10 @@ public class UtilisateurDAO { return user; } - public boolean userExist(String mail) { String query = "SELECT mail FROM utilisateur WHERE mail = ?"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setString(1, mail); ResultSet rs = ps.executeQuery(); return rs.next(); @@ -56,7 +55,7 @@ public class UtilisateurDAO { public boolean addUser(Utilisateur utilisateur, String mdp) { String query = "INSERT INTO utilisateur(prenom, nom, mail, mdp) VALUES(?, ?, ?, MD5(?))"; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(query)) { + PreparedStatement ps = con.prepareStatement(query)) { ps.setString(1, utilisateur.getPrenom()); ps.setString(2, utilisateur.getNom()); ps.setString(3, utilisateur.getEmail()); @@ -77,7 +76,8 @@ public class UtilisateurDAO { ps.setString(2, mdp); ResultSet rs = ps.executeQuery(); if (rs.next()) { - utilisateur = new Utilisateur(rs.getInt("U_ID"), rs.getString("mail"), rs.getString("nom"), rs.getString("prenom")); + utilisateur = new Utilisateur(rs.getInt("U_ID"), rs.getString("mail"), rs.getString("nom"), + rs.getString("prenom")); } } catch (Exception e) { System.err.println(e.getMessage()); @@ -105,7 +105,7 @@ public class UtilisateurDAO { String getUserIdQuery = "SELECT u_id FROM utilisateur WHERE mail = ?;"; int userId = -1; try (Connection con = ds.getConnection(); - PreparedStatement ps = con.prepareStatement(getUserIdQuery)) { + PreparedStatement ps = con.prepareStatement(getUserIdQuery)) { ps.setString(1, email); ResultSet rs = ps.executeQuery(); if (rs.next()) { diff --git a/WEB-INF/src/dto/Fil.java b/WEB-INF/src/dto/Fil.java index 0f02ac381e8ea3ac3c5b06abffb492f13ccf64c8..f61c26d9fe624b4022db938999c3bdd4f2ee272e 100644 --- a/WEB-INF/src/dto/Fil.java +++ b/WEB-INF/src/dto/Fil.java @@ -4,15 +4,27 @@ public class Fil { private int fid; private String titre; - public Fil(){} + public Fil() { + } public Fil(int fid, String titre) { this.fid = fid; this.titre = titre; } - public int getFid() {return fid;} - public void setFid(int fid) {this.fid = fid;} - public String getTitre() {return titre;} - public void setTitre(String titre) {this.titre = titre;} + public int getFid() { + return fid; + } + + public void setFid(int fid) { + this.fid = fid; + } + + public String getTitre() { + return titre; + } + + public void setTitre(String titre) { + this.titre = titre; + } } \ No newline at end of file diff --git a/WEB-INF/src/dto/Message.java b/WEB-INF/src/dto/Message.java index 69095459279b17368cd80a87441dee31131b9380..69a18f1c3be183496b89beb14bbeaff58d17554f 100644 --- a/WEB-INF/src/dto/Message.java +++ b/WEB-INF/src/dto/Message.java @@ -1,4 +1,5 @@ package dto; + import java.sql.Timestamp; public class Message { @@ -20,11 +21,31 @@ public class Message { this.dateMessage = dateMessage; } - public int getMid() { return mId; } - public int getFid() { return fId; } - public int getUid() { return uId; } - public byte[] getMessageData() { return messageData; } - public boolean isImage() { return isImage; } - public int getDVie() { return dVie; } - public Timestamp getDateMessage() { return dateMessage; } + public int getMid() { + return mId; + } + + public int getFid() { + return fId; + } + + public int getUid() { + return uId; + } + + public byte[] getMessageData() { + return messageData; + } + + public boolean isImage() { + return isImage; + } + + public int getDVie() { + return dVie; + } + + public Timestamp getDateMessage() { + return dateMessage; + } } diff --git a/WEB-INF/src/dto/PartFil.java b/WEB-INF/src/dto/PartFil.java index 4a3f1194c8915111b1604b3f1bb8843f6f0d066d..3b1ff0ebb4bd6cdd22a2d23895687087e78ac9e0 100644 --- a/WEB-INF/src/dto/PartFil.java +++ b/WEB-INF/src/dto/PartFil.java @@ -4,17 +4,34 @@ public class PartFil { private int uid; private int fid; private boolean admin; - + public PartFil(int uid, int fid, boolean admin) { this.uid = uid; this.fid = fid; this.admin = admin; } - public int getUid() {return uid;} - public void setUid(int uid) {this.uid = uid;} - public int getFid() {return fid;} - public void setFid(int fid) {this.fid = fid;} - public boolean isAdmin() {return admin;} - public void setAdmin(boolean admin) {this.admin = admin;} + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public int getFid() { + return fid; + } + + public void setFid(int fid) { + this.fid = fid; + } + + public boolean isAdmin() { + return admin; + } + + public void setAdmin(boolean admin) { + this.admin = admin; + } } \ No newline at end of file diff --git a/WEB-INF/src/dto/QuiLike.java b/WEB-INF/src/dto/QuiLike.java index d4373bef0f7f9d60e47f4e3c6428cd91b78a04d2..aff8b9facd4bb94aa37f9e8f18a63b60985c1201 100644 --- a/WEB-INF/src/dto/QuiLike.java +++ b/WEB-INF/src/dto/QuiLike.java @@ -3,14 +3,25 @@ package dto; public class QuiLike { private int mid; private int uid; - + public QuiLike(int mid, int uid) { this.mid = mid; this.uid = uid; } - public int getMid() {return mid;} - public void setMid(int mid) {this.mid = mid;} - public int getUid() {return uid;} - public void setUid(int uid) {this.uid = uid;} + public int getMid() { + return mid; + } + + public void setMid(int mid) { + this.mid = mid; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } } \ No newline at end of file diff --git a/WEB-INF/src/dto/Utilisateur.java b/WEB-INF/src/dto/Utilisateur.java index c8754b32ce3473192e866e4b7a4dd227756487e8..420fbc02b2a284ff3c7d994faa77d8d9d35a575a 100644 --- a/WEB-INF/src/dto/Utilisateur.java +++ b/WEB-INF/src/dto/Utilisateur.java @@ -19,9 +19,17 @@ public class Utilisateur { this.prenom = prenom; } - public String getEmail() { return email; } - public String getNom() { return nom; } - public String getPrenom() { return prenom; } + public String getEmail() { + return email; + } + + public String getNom() { + return nom; + } + + public String getPrenom() { + return prenom; + } public void setEmail(String email) { this.email = email; @@ -38,6 +46,7 @@ public class Utilisateur { public int getId() { return id; } + public void setId(int id) { this.id = id; } diff --git a/css/style.css b/css/style.css index 250e85d992bc728a3c444af15e0524ae72b994ed..3bf1c0cc30a193295e7784fb4a12d814bf0d7921 100644 --- a/css/style.css +++ b/css/style.css @@ -27,13 +27,23 @@ body::before { } @keyframes fadeIn { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + + to { + opacity: 1; + } } @keyframes blurFadeIn { - from { backdrop-filter: blur(0px); } - to { backdrop-filter: blur(3px); } + from { + backdrop-filter: blur(0px); + } + + to { + backdrop-filter: blur(3px); + } } .container { @@ -50,8 +60,15 @@ body::before { } @keyframes slideIn { - from { transform: translateY(-20px); opacity: 0; } - to { transform: translateY(0); opacity: 1; } + from { + transform: translateY(-20px); + opacity: 0; + } + + to { + transform: translateY(0); + opacity: 1; + } } h2 { @@ -108,4 +125,4 @@ a { a:hover { text-decoration: underline; transform: scale(1.1); -} +} \ No newline at end of file diff --git a/css/styleMenu.css b/css/styleMenu.css index 03dc0377014cc2a6f662e5fd942f51dd38c3effb..06029f7693612f79a5d7608f4113759e9a0e6156 100644 --- a/css/styleMenu.css +++ b/css/styleMenu.css @@ -1,4 +1,5 @@ -.container, .container-fluid { +.container, +.container-fluid { margin: 0 !important; padding: 0 !important; max-width: 100% !important; @@ -131,40 +132,26 @@ body { text-decoration: none; } -/* Pour la sidebar, en mode mobile (quand elle est ouverte) */ -#sidebar { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #00072D; - z-index: 1050; /* Assure que la sidebar sera au-dessus du contenu */ - padding-top: 50px; /* Pour laisser de l'espace sous le bouton hamburger */ - box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); -} - -/* Pour la sidebar, en mode mobile (quand elle est ouverte) */ -#sidebar { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #00072D; - z-index: 1050; /* Assure que la sidebar sera au-dessus du contenu */ - padding-top: 50px; /* Pour laisser de l'espace sous le bouton hamburger */ - box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); -} - -/* Pour ajuster la marge de la sidebar quand elle est affichée en mode mobile */ @media (max-width: 991px) { + #sidebar { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #00072D; + z-index: 1050; + padding-top: 50px; + box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); + } + .sidebar { width: 250px; height: 100%; } .main-content { - display: none; !important + display: none; + !important } } \ No newline at end of file diff --git a/menu.jsp b/menu.jsp index 11f69a671f7c90202106e15b022207f6248ad046..c1fa6e5c97b34df019664cac124abd60eb045327 100644 --- a/menu.jsp +++ b/menu.jsp @@ -30,7 +30,6 @@ <span class="navbar-toggler-icon"></span> </button> - <!-- Sidebar (visible sur PC et cachée sur mobile) --> <div class="sidebar collapse d-lg-block col-12 col-md-3" id="sidebar"> <div class="d-flex align-items-center justify-content-between w-100"> <a href="UserInfo" class="d-flex align-items-center gap-3 fs-4 text-decoration-none text-light"> @@ -43,7 +42,7 @@ </a> </div> - <div class="border-top border-3 border-primary my-4"></div> + <div class="separator"></div> <h3>Vos fils de discussion</h3> <div class="separator"></div> @@ -61,7 +60,11 @@ <% } %> </ul> <% } else { %> - <p>Aucun fil de discussion trouvé.</p> + <ul class="list-group"> + <li class="list-group-item d-flex justify-content-center align-items-center text-white border-0" style="background-color: #00072D;"> + <p>Aucun fil de discussion trouvé.</p> + </li> + </ul> <% } %> <div class="separator"></div> @@ -103,7 +106,7 @@ } %> <% if (isImage) { %> - <img src="data:image/jpeg;base64,<%= encodedImage %>" alt="Message Image" class="contenu-img img-fluid" /> + <img src="data:image/jpeg;base64,<%= encodedImage %>" alt="Message Image" class="contenu-img img-fluid" /> <% } else { %> <p class="contenu"><%= new String(messageData, "UTF-8") %></p> <% } %> @@ -149,12 +152,13 @@ if(isAdmin){ </div> </form> <% } else { %> - <div class="d-flex"> - <div class="text-center p-5 rounded-3 shadow-lg text-white" style="background-color: #291968;"> - <h1 class="display-4 mb-4">Bienvenue sur LilleConnect</h1> - <p class="lead">Veuillez sélectionner un fil de discussion.</p> - </div> - </div> +<div class="container d-flex justify-content-center"> + <div class="text-center mx-auto align-self-start p-5 rounded-3 shadow-lg text-white" + style="background-color: #291968; width: fit-content;"> + <h1 class="display-4 mb-4">Bienvenue sur LilleConnect</h1> + <p class="lead">Veuillez sélectionner un fil de discussion.</p> + </div> +</div> <% } %> </div> </div>