diff --git a/WEB-INF/classes/dao/Message.class b/WEB-INF/classes/dao/Message.class index 74e4b4ebc05748592bbb9752c0cea2ea666b44f4..2c6a25b9686a5788b38c79ecbbe7ae79ad210a22 100644 Binary files a/WEB-INF/classes/dao/Message.class and b/WEB-INF/classes/dao/Message.class differ diff --git a/WEB-INF/src/dao/Message.java b/WEB-INF/src/dao/Message.java index 269fb61a821ab60351784bd035081757d174dfe0..dbaa5ac68437ee0fb4b70c4690821f50c581cc3f 100644 --- a/WEB-INF/src/dao/Message.java +++ b/WEB-INF/src/dao/Message.java @@ -20,7 +20,7 @@ public class Message { } @Override public String toString(){ - return "<span style=\"font-style: italic;\">"+heure+"</span> " + utilisateur.getPseudo() + " : " + message; + return "<span class=\"message\">"+ utilisateur.getPseudo() + " : " + message + "</span><span class=\"time\"> le "+ jour +" à "+heure+"</span>"; } public int getIdMessage() { diff --git a/accueil.jsp b/accueil.jsp index ff5805c361b0dc641d61a039c630e5e3ab0df4c2..a96d2f2cb1adb3617fc5846ffb52093db2caf7bf 100644 --- a/accueil.jsp +++ b/accueil.jsp @@ -8,19 +8,20 @@ <head> <title> Accueil </title> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <% response.setIntHeader("Refresh", 5); %> </head> -<body> +<body style="background-color: rgb(244, 245, 241);"> <% - String UserEmail = (String) session.getAttribute("token"); + String UserEmail = (String) session.getAttribute("token"); if (UserEmail == null || UserEmail.isEmpty() || UserEmail == "err") { out.println("null"); response.sendRedirect("login.html"); } UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao(); Utilisateur utilisateur = jdbcUser.findByEmail(UserEmail); - out.println(utilisateur); + out.println("<br><div class=\"container btn-container\"> <div class=\"btn btn-primary\">Accueil</div> <a href=\"http://localhost:8080/sae-r4.01/rejoindre.jsp\" class=\"btn btn-primary\">Rejoindre / créer une conversation</a> <a href=\"http://localhost:8080/sae-r4.01/rejoindre.jsp?deconnection=true\" class=\"btn btn-primary\">Se déconnecter de " + utilisateur.getPseudo() + "</a> </div>"); ConversationJdbcDao jdbcConv = new ConversationJdbcDao(); List<Conversation> conv = jdbcConv.findByUser(utilisateur.getEmail()); String stringConv = request.getParameter("idConv"); @@ -41,12 +42,10 @@ } } if(request.getParameter("param") != null && request.getParameter("param").equals("create")){ - System.out.println("suce"); selectedConvId = jdbcConv.createConversation(request.getParameter("nomConv") ,utilisateur, request.getParameter("pwd")); jdbcMessage.createMessage(utilisateur, request.getParameter("Message"), selectedConvId); response.sendRedirect("http://localhost:8080/sae-r4.01/accueil.jsp?idConv=" + selectedConvId); } - System.out.println("bite"); %> <br> @@ -54,8 +53,22 @@ table, th, td { border: 1px solid black; } + .btn-container { + display: flex; + justify-content: space-between; + width: 50%; + } + .time{ + display: none; + } + .message:hover + .time{ + display: inline; + font-size:x-small; + font-style: italic; + } </style> <br> + <div class="container"> <table> <tr> <th>Identifiant</th> @@ -78,7 +91,9 @@ } %> </table> - + </div> + <br><br> + <div class="container"> <% if (selectedConvId > 0 && conv.contains(jdbcConv.findById(selectedConvId))) { List<Message> selectedConv = jdbcConv.findAllMessages(selectedConvId); @@ -95,33 +110,7 @@ out.println("<p>Aucune conversation sélectionnée.</p>"); } %> - - <h3>Rejoindre une conversation :</h3> - <% - out.println("<form action='accueil.jsp' method='POST'>"); - out.println("<label for=\"idConv,\">Identifiant de la conversation:</label>"); - out.println("<input type=\"text\" id=\"idConv\" name=\"idConv\">"); - out.println("<label for=\"pwd\">Mot de passe:</label>"); - out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">"); - out.println("<label for=\"Message\">Message:</label>"); - out.println("<input type=\"text\" id=\"Message\" name=\"Message\">"); - out.println("<button type=\"submit\" name=\"param\" value = \"join\" class=\"btn btn-primary\">Rejoindre</button>"); - out.println("</form>"); - %> - - <h3>Créer une conversation :</h3> - <% - out.println("<form action='accueil.jsp' method='get'>"); - out.println("<label for=\"nomConv\">Nom de la conversation:</label>"); - out.println("<input type=\"text\" id=\"nomConv\" name=\"nomConv\">"); - out.println("<label for=\"pwd\">Mot de passe:</label>"); - out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">"); - out.println("<label for=\"Message\">Message:</label>"); - out.println("<input type=\"text\" id=\"Message\" name=\"Message\">"); - out.println("<button type=\"submit\" name=\"param\" value =\"create\" class=\"btn btn-primary\">Créer</button>"); - out.println("</form>"); - %> - + </div> </body> </html> diff --git a/login.html b/login.html index c4d1f975ebec8519b7c02b425e536fafddd9af2e..08d5ce2c9442966daf089d5ad04895eb215bc0ee 100644 --- a/login.html +++ b/login.html @@ -3,31 +3,37 @@ <head> <meta charset="utf-8"> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> <title>Log In</title> </head> -<BODY> - <div> +<body style="background-color: rgb(244, 245, 241);"> + <br> + <div class="container"> <form method='get' action='Authent'> - <label for="email">Email:</label> - <input type="text" id="email" name="email"> - <br> - <label for="pwd">Mot de passe:</label> - <input type="password" id="pwd" name="pwd"> - <button type="submit" name="action" value="login">Se connecter</button> + <div class="mb-3"> + <label class="form-label"for="email">Email:</label> + <input type="text" id="email" name="email" class="form-control"> + </div> + <div class="mb-3"> + <label class="form-label"for="pwd">Mot de passe:</label> + <input type="password" id="pwd" name="pwd" class="form-control"> + </div> + <button type="submit" name="action" value="login" class="btn btn-primary">Se connecter</button> </form> <br><br><br> <form method='get' action='Authent'> - <label for="pseudo">Pseudo :</label> - <input type="text" id="pseudo" name="pseudo"> + <label class="form-label"for="pseudo">Pseudo :</label> + <input type="text" id="pseudo" name="pseudo" class="form-control"> <br> - <label for="pwd">Mot de passe :</label> - <input type="password" id="pwd" name="pwd"> + <label class="form-label"for="pwd">Mot de passe :</label> + <input type="password" id="pwd" name="pwd" class="form-control"> <br> - <label for="email">Email :</label> - <input type="text" id="email" name="email"> + <label class="form-label"for="email">Email :</label> + <input type="text" id="email" name="email" class="form-control"> <br> - <button type="submit" name="action" value="creer">Créer le compte</button> + <button type="submit" name="action" value="creer" class="btn btn-primary">Créer le compte</button> </form> -</BODY> + </div> +</body> </HTML> \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..ae5c869adeab3a879ab5aca97b71010cd9dfce0e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,42 @@ +{ + "name": "sae-r4.01", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "bootstrap": "^5.3.3" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000000000000000000000000000000000..f6dfea9bd4536cbf73d874f0a4d99b08970cc7fd --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "bootstrap": "^5.3.3" + } +} diff --git a/rejoindre.jsp b/rejoindre.jsp new file mode 100644 index 0000000000000000000000000000000000000000..492eb505384e1de18f140c3e5a2c1a93a603e964 --- /dev/null +++ b/rejoindre.jsp @@ -0,0 +1,79 @@ +<%@ page pageEncoding="UTF-8" %> +<%@ page import="dao.*" %> +<%@ page import="java.util.List" %> +<%@ page import="java.sql.*" %> +<%@ page import="jakarta.servlet.*" %> +<!DOCTYPE html> +<html> + +<head> + <title> Rejoindre </title> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> +</head> + +<body style="background-color: rgb(244, 245, 241);"> +<style> + .btn-container { + display: flex; + justify-content: space-between; + width: 50%; + } +</style> + <% + String UserEmail = (String) session.getAttribute("token"); + if (UserEmail == null || UserEmail.isEmpty() || UserEmail == "err") { + out.println("null"); + response.sendRedirect("login.html"); + } + String deco = request.getParameter("deconnection"); + if(deco != null && deco.equals("true")){ + session.removeAttribute("token"); + response.sendRedirect("login.html"); + } + UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao(); + Utilisateur utilisateur = jdbcUser.findByEmail(UserEmail); + out.println("<br><div class=\"container btn-container\"> <a href=\"http://localhost:8080/sae-r4.01/accueil.jsp\" class=\"btn btn-primary\">Accueil</a> <div class=\"btn btn-primary\">Rejoindre / créer une conversation</div> <a href=\"http://localhost:8080/sae-r4.01/rejoindre.jsp?deconnection=true\" class=\"btn btn-primary\">Se déconnecter de " + utilisateur.getPseudo() + "</a> </div>"); + ConversationJdbcDao jdbcConv = new ConversationJdbcDao(); + List<Conversation> conv = jdbcConv.findByUser(utilisateur.getEmail()); + String stringConv = request.getParameter("idConv"); + int selectedConvId; + try { + selectedConvId = Integer.parseInt(stringConv); + } catch (NumberFormatException e) { + selectedConvId = 0; + } + %> + <br> + <br> + <div class="container"> + <h3>Rejoindre une conversation :</h3> + <% + out.println("<form action='accueil.jsp' method='POST'>"); + out.println("<label for=\"idConv,\">Identifiant de la conversation:</label>"); + out.println("<input type=\"text\" id=\"idConv\" name=\"idConv\">"); + out.println("<label for=\"pwd\">Mot de passe:</label>"); + out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">"); + out.println("<label for=\"Message\">Message:</label>"); + out.println("<input type=\"text\" id=\"Message\" name=\"Message\">"); + out.println("<button type=\"submit\" name=\"param\" value = \"join\" class=\"btn btn-primary\">Rejoindre</button>"); + out.println("</form>"); + %> + </div> + <br><br> + <div class="container"> + <h3>Créer une conversation :</h3> + <% + out.println("<form action='accueil.jsp' method='get'>"); + out.println("<label for=\"nomConv\">Nom de la conversation:</label>"); + out.println("<input type=\"text\" id=\"nomConv\" name=\"nomConv\">"); + out.println("<label for=\"pwd\">Mot de passe:</label>"); + out.println("<input type=\"password\" id=\"pwd\" name=\"pwd\">"); + out.println("<label for=\"Message\">Message:</label>"); + out.println("<input type=\"text\" id=\"Message\" name=\"Message\">"); + out.println("<button type=\"submit\" name=\"param\" value =\"create\" class=\"btn btn-primary\">Créer</button>"); + out.println("</form>"); + %> + </div> +</body> + +</html> diff --git a/util.txt b/util.txt index 993006c3ea2b7fa53e4f57393fc839f00c24aeee..3e3eab419507cf395a63d5639d5c4ea175c32cfc 100644 --- a/util.txt +++ b/util.txt @@ -1,4 +1,5 @@ -Url d'appel : http://localhost:8080/sae-r4.01/accueil.jsp +Url d'appel : +http://localhost:8080/sae-r4.01/accueil.jsp Pour compiler : dans rep src :