Skip to content
Snippets Groups Projects
Commit 9d0b1e09 authored by Adrien Fryson's avatar Adrien Fryson
Browse files

fixes

parent 703c941f
No related branches found
No related tags found
No related merge requests found
Showing with 35 additions and 51 deletions
......@@ -33,4 +33,4 @@ public class DeleteMessage extends HttpServlet {
}
res.sendRedirect(req.getHeader("Referer"));
}
}
}
\ No newline at end of file
......@@ -22,7 +22,8 @@ import modele.FilDeDiscussionDAO;
import modele.Message;
import modele.MessageDao;
//http GET http://localhost:8080/sae/getFils Cookie:"JSESSIONID=ton_session_id" --> F12>Storage>JSESSIONID
// http GET http://localhost:8080/CampusTalk/getFils Cookie:"JSESSIONID=?" --> F12>Storage>JSESSIONID
// curl -X GET http://localhost:8080/CampusTalk/getFils --cookie "JSESSIONID=?"
@WebServlet("/getFils")
public class GetFils extends HttpServlet {
......
......@@ -6,9 +6,6 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import modele.AbonnementDao;
import modele.FilDeDiscussionDAO;
import modele.MessageDao;
import modele.Utilisateur;
import modele.UtilisateurDao;
import org.apache.commons.text.StringEscapeUtils;
......
......@@ -3,7 +3,6 @@ package modele;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
......
......@@ -3,7 +3,6 @@ package modele;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
......
......@@ -3,7 +3,6 @@ package modele;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
......@@ -35,7 +34,7 @@ public class MessageDao {
public List<Message> findAll() {
List<Message> messages = new ArrayList<>();
try(Connection con = DS.instance.getConnection()) {
PreparedStatement ps = con.prepareStatement("SELECT * FROM message");
PreparedStatement ps = con.prepareStatement("SELECT * FROM message ORDER BY datePublication, id");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Message message = new Message();
......@@ -57,7 +56,7 @@ public class MessageDao {
public List<Message> findByFil(int idFil) {
List<Message> messages = new ArrayList<>();
try(Connection con = DS.instance.getConnection()) {
PreparedStatement ps = con.prepareStatement("SELECT * FROM message WHERE filId = ?");
PreparedStatement ps = con.prepareStatement("SELECT * FROM message WHERE filId = ? ORDER BY datePublication, id");
ps.setInt(1, idFil);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
......
......@@ -50,7 +50,7 @@ public class UtilisateurDao {
public void update(Utilisateur utilisateur, String oldEmail) {
try(Connection con = DS.instance.getConnection()) {
PreparedStatement ps = con.prepareStatement("UPDATE Utilisateur SET nom = ?, email = ?, motdepasse = ? WHERE email = ?");
PreparedStatement ps = con.prepareStatement("UPDATE Utilisateur SET nom = ?, email = ?, motdepasse = MD5(?) WHERE email = ?");
ps.setString(1, utilisateur.getNom());
ps.setString(2, utilisateur.getEmail());
ps.setString(3, utilisateur.getMotDePasse());
......
......@@ -8,7 +8,6 @@
<%@ page import="java.util.Set" %>
<%@ page import="java.util.HashSet" %>
<!DOCTYPE html>
<html lang="fr">
<head>
......@@ -18,8 +17,8 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
......
......@@ -9,8 +9,8 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
......
......@@ -30,8 +30,8 @@
}
</style>
</head>
<body class="bg-gray-900 text-white flex h-screen">
<aside class="w-64 bg-gray-800 text-white h-full">
<body class="bg-gray-900 text-white flex flex-col md:flex-row h-screen">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-full">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
......
......@@ -16,8 +16,8 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
......
......@@ -9,19 +9,19 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
</div>
<nav class="mt-4">
<!-- <nav class="mt-4">
<a href="<%= request.getContextPath() %>/accueil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Accueil</a>
<a href="<%= request.getContextPath() %>/listerFil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Autres Fils de Discussion</a>
<a href="<%= request.getContextPath() %>/creerFil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Créer un Fil</a>
<a href="<%= request.getContextPath() %>/parametre" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Paramètres</a>
<a href="<%= request.getContextPath() %>/logout" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-red-700">Se déconnecter</a>
</nav>
</nav> -->
</aside>
<div class="flex-1 p-6">
<div class="max-w-md mx-auto mt-12 p-6 bg-gray-800 rounded-lg shadow-md">
......
......@@ -17,8 +17,8 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
......
......@@ -9,19 +9,19 @@
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link rel="shortcut icon" href="<%= request.getContextPath() %>/images/logo.png">
</head>
<body class="bg-gray-900 text-white flex">
<aside class="w-64 bg-gray-800 text-white h-screen">
<body class="bg-gray-900 text-white flex flex-col md:flex-row">
<aside class="w-full md:w-64 bg-gray-800 text-white h-auto md:h-screen">
<div class="p-4 text-center">
<img src="<%= request.getContextPath() %>/images/logo.png" alt="CampusTalk Logo" class="w-16 h-16 mx-auto">
<h1 class="text-2xl font-bold mt-4">CampusTalk</h1>
</div>
<nav class="mt-4">
<!-- <nav class="mt-4">
<a href="<%= request.getContextPath() %>/accueil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Accueil</a>
<a href="<%= request.getContextPath() %>/listerFil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Autres Fils de Discussion</a>
<a href="<%= request.getContextPath() %>/creerFil" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Créer un Fil</a>
<a href="<%= request.getContextPath() %>/parametre" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-gray-700">Paramètres</a>
<a href="<%= request.getContextPath() %>/logout" class="block py-2.5 px-4 rounded transition duration-200 hover:bg-red-700">Se déconnecter</a>
</nav>
</nav> -->
</aside>
<div class="flex-1 p-6">
<div class="max-w-md mx-auto mt-12 p-6 bg-gray-800 rounded-lg shadow-md">
......
......@@ -82,54 +82,46 @@ VALUES
('utilisateur3@exemple.com', 2),
('utilisateur3@exemple.com', 3);
-- Lister tous les utilisateurs :
-- -- Lister tous les utilisateurs :
-- SELECT * FROM Utilisateur;
-- Lister tous les fils de discussion avec le nom du créateur :
-- -- Lister tous les fils de discussion avec le nom du créateur :
-- SELECT f.id, f.nom, u.nom AS nomCreateur
-- FROM FilDeDiscussion f
-- JOIN Utilisateur u ON f.createurEmail = u.email;
-- Lister tous les messages d'un fil de discussion spécifique avec le nom de l'auteur :
-- -- Lister tous les messages d'un fil de discussion spécifique avec le nom de l'auteur :
-- SELECT m.contenu, u.nom AS nomAuteur, m.datePublication
-- FROM Message m
-- JOIN Utilisateur u ON m.auteurEmail = u.email
-- WHERE m.filId = 1
-- ORDER BY m.datePublication;
-- Lister tous les abonnements d'un utilisateur spécifique :
-- -- Lister tous les abonnements d'un utilisateur spécifique :
-- SELECT f.nom AS nomFil, a.dateAbonnement
-- FROM Abonnement a
-- JOIN FilDeDiscussion f ON a.filId = f.id
-- WHERE a.utilisateurEmail = 'utilisateur1@exemple.com';
-- Lister les fils de discussion auxquels un utilisateur n'est pas abonné :
-- -- Lister les fils de discussion auxquels un utilisateur n'est pas abonné :
-- SELECT f.id, f.nom
-- FROM FilDeDiscussion f
-- LEFT JOIN Abonnement a ON f.id = a.filId AND a.utilisateurEmail = 'utilisateur1@exemple.com'
-- WHERE a.utilisateurEmail IS NULL;
-- Compter le nombre de messages par fil de discussion :
-- -- Compter le nombre de messages par fil de discussion :
-- SELECT f.nom AS nomFil, COUNT(m.id) AS nombreMessages
-- FROM FilDeDiscussion f
-- LEFT JOIN Message m ON f.id = m.filId
-- GROUP BY f.nom;
-- Trouver les utilisateurs qui ont publié des messages dans un fil spécifique :
-- -- Trouver les utilisateurs qui ont publié des messages dans un fil spécifique :
-- SELECT DISTINCT u.nom, u.email
-- FROM Utilisateur u
-- JOIN Message m ON u.email = m.auteurEmail
-- WHERE m.filId = 1;
-- Lister les 5 derniers messages publiés dans un fil de discussion :
-- -- Lister les 5 derniers messages publiés dans un fil de discussion :
-- SELECT m.contenu, u.nom AS nomAuteur, m.datePublication
-- FROM Message m
-- JOIN Utilisateur u ON m.auteurEmail = u.email
......@@ -137,16 +129,14 @@ VALUES
-- ORDER BY m.datePublication DESC
-- LIMIT 5;
-- Compter le nombre d'abonnés par fil de discussion :
-- -- Compter le nombre d'abonnés par fil de discussion :
-- SELECT f.nom AS nomFil, COUNT(a.utilisateurEmail) AS nombreAbonnes
-- FROM FilDeDiscussion f
-- LEFT JOIN Abonnement a ON f.id = a.filId
-- GROUP BY f.nom;
-- Lister les utilisateurs qui ne sont abonnés à aucun fil de discussion :
-- -- Lister les utilisateurs qui ne sont abonnés à aucun fil de discussion :
-- SELECT u.email, u.nom
-- FROM Utilisateur u
-- LEFT JOIN Abonnement a ON u.email = a.utilisateurEmail
-- WHERE a.utilisateurEmail IS NULL;
\ No newline at end of file
-- WHERE a.utilisateurEmail IS NULL;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment