diff --git a/pom.xml b/pom.xml
index 39fff25f0769e449ac776a1e0e2ce078eb4d20b6..17b76ca6305e77c3c5b1f2781d78e72b0a1653da 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,6 +64,11 @@
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-validation</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.tomcat.embed</groupId>
+			<artifactId>tomcat-embed-jasper</artifactId>
+			<scope>compile</scope>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/MeetingController.java b/src/main/java/fr/but/infoetu/MeetingPlannr/MeetingController.java
new file mode 100644
index 0000000000000000000000000000000000000000..9abb03c8afda2c8bf9b943c1a314cc6965d72f8b
--- /dev/null
+++ b/src/main/java/fr/but/infoetu/MeetingPlannr/MeetingController.java
@@ -0,0 +1,46 @@
+package fr.but.infoetu.MeetingPlannr;
+
+import java.util.Optional;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import fr.but.infoetu.MeetingPlannr.pojo.User;
+import fr.but.infoetu.MeetingPlannr.repository.MeetingRepository;
+import fr.but.infoetu.MeetingPlannr.repository.RequestRepository;
+import fr.but.infoetu.MeetingPlannr.repository.UserRepository;
+import jakarta.servlet.http.HttpSession;
+import jakarta.validation.Valid;
+
+@Controller
+public class MeetingController {
+    @Autowired
+    MeetingRepository mr;
+
+    @Autowired UserRepository ur;
+
+    @Autowired
+    RequestRepository rr;
+
+    @RequestMapping(value = "login", method = RequestMethod.GET)
+    private String loginForm(){
+        return "login";
+    }
+
+    @RequestMapping(value = "login", method = RequestMethod.POST)
+    private String loginFormPost(String email, String password, HttpSession session){
+        Optional<User> userOpt = ur.findByEmail(email);
+        if(userOpt.isPresent()){
+            User user = userOpt.get();
+            if(user.getPassword().equals(password)){
+                session.setAttribute("currentUser", user);
+    
+                return "listeAction";
+            }
+        }
+        return "login";
+    }
+}
diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java
index 724a4f728abf803e4c184e74a620905a31d14e09..4c391ddbc1dc3aa63671fd5f1ca8539517fb5ee1 100644
--- a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java
+++ b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/Meeting.java
@@ -1,6 +1,6 @@
 package fr.but.infoetu.MeetingPlannr.pojo;
 
-import java.sql.Date;
+import java.time.LocalDate;
 
 import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
@@ -29,9 +29,9 @@ public class Meeting {
     private Request request;
 
     @ManyToOne
-    @JoinColumn(name = "rno")
+    @JoinColumn(name = "uno")
     private User user;
 
     @NotNull(message = REQUIRED)
-    private Date date;
+    private LocalDate date;
 }
diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java
index 4ae05b33a3bf8c83b2a06289fb81a4062d237443..75f17df8701118a7843ba9f3a6356501b8e7f031 100644
--- a/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java
+++ b/src/main/java/fr/but/infoetu/MeetingPlannr/pojo/User.java
@@ -1,11 +1,12 @@
 package fr.but.infoetu.MeetingPlannr.pojo;
 
-import java.sql.Date;
+import java.time.LocalDate;
 
 import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
 import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
+import jakarta.persistence.Table;
 import jakarta.validation.constraints.Email;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.PastOrPresent;
@@ -19,6 +20,7 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @Data
 @NoArgsConstructor
+@Table(name = "users")
 public class User {
     private static final String REQUIRED = "is required";
 
@@ -45,7 +47,7 @@ public class User {
 
     @NotNull(message = REQUIRED)
     @PastOrPresent(message = "date must be within the past")
-    private Date birthdate;
+    private LocalDate birthdate;
 
     @NotNull(message = REQUIRED)
     @Size(min = 8, message = "password too short")
diff --git a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java
index 3905be5a4e747829a4161735f2e74a11f1caa7ef..bd3af6d32cd4c41bd9fb412aedb68650194ec5a9 100644
--- a/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java
+++ b/src/main/java/fr/but/infoetu/MeetingPlannr/repository/UserRepository.java
@@ -1,9 +1,11 @@
 package fr.but.infoetu.MeetingPlannr.repository;
 
+import java.util.Optional;
+
 import org.springframework.data.repository.CrudRepository;
 
 import fr.but.infoetu.MeetingPlannr.pojo.User;
 
 public interface UserRepository extends CrudRepository<User, Integer>{
-    
+    Optional<User> findByEmail(String email);
 }
diff --git a/src/main/webapp/WEB-INF/jsp/listeAction.jsp b/src/main/webapp/WEB-INF/jsp/listeAction.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..ca92f4f1fdc605385c12db9ce0a4b7d17bf8f60d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/listeAction.jsp
@@ -0,0 +1,78 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Liste des Actions</title>
+    <style>
+        body {
+            font-family: Arial, sans-serif;
+            margin: 0;
+            padding: 0;
+            background-color: #f4f4f9;
+        }
+        .container {
+            max-width: 800px;
+            margin: 50px auto;
+            padding: 20px;
+            background-color: #fff;
+            border-radius: 8px;
+            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+        }
+        h1 {
+            text-align: center;
+            color: #333;
+        }
+        .actions {
+            display: flex;
+            flex-direction: column;
+            gap: 15px;
+        }
+        .actions button {
+            padding: 10px 20px;
+            font-size: 16px;
+            color: #fff;
+            background-color: #007bff;
+            border: none;
+            border-radius: 4px;
+            cursor: pointer;
+            transition: background-color 0.3s;
+        }
+        .actions button:hover {
+            background-color: #0056b3;
+        }
+        .actions button.logout {
+            background-color: #dc3545;
+        }
+        .actions button.logout:hover {
+            background-color: #c82333;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>Actions Disponibles</h1>
+        <div class="actions">
+            <!-- Bouton pour voir le calendrier et poser des requêtes -->
+            <form action="/calendar" method="get">
+                <button type="submit">Voir le Calendrier</button>
+            </form>
+
+            <!-- Bouton pour accéder à ses rendez-vous -->
+            <form action="/appointments" method="get">
+                <button type="submit">Mes Rendez-Vous</button>
+            </form>
+
+            <!-- Bouton pour voir les détails de son profil -->
+            <form action="/profile" method="get">
+                <button type="submit">Mon Profil</button>
+            </form>
+
+            <!-- Bouton pour se déconnecter -->
+            <form action="/logout" method="post">
+                <button type="submit" class="logout">Se Déconnecter</button>
+            </form>
+        </div>
+    </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/jsp/login.jsp b/src/main/webapp/WEB-INF/jsp/login.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..17e461351693bbc6d36070a37073fa9ff8ec531d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/login.jsp
@@ -0,0 +1,84 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Login</title>
+    <style>
+        body {
+            font-family: Arial, sans-serif;
+            margin: 0;
+            padding: 0;
+            background-color: #f4f4f9;
+        }
+        .container {
+            max-width: 400px;
+            margin: 100px auto;
+            padding: 20px;
+            background: #ffffff;
+            border: 1px solid #ddd;
+            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+        }
+        h2 {
+            text-align: center;
+            color: #333;
+        }
+        .form-group {
+            margin-bottom: 15px;
+        }
+        label {
+            display: block;
+            margin-bottom: 5px;
+            color: #555;
+        }
+        input[type="email"],
+        input[type="password"] {
+            width: 100%;
+            padding: 10px;
+            border: 1px solid #ccc;
+            border-radius: 5px;
+            font-size: 14px;
+        }
+        button {
+            width: 100%;
+            padding: 10px;
+            background: #007bff;
+            border: none;
+            color: white;
+            font-size: 16px;
+            border-radius: 5px;
+            cursor: pointer;
+        }
+        button:hover {
+            background: #0056b3;
+        }
+        .error {
+            color: red;
+            font-size: 14px;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h2>Login</h2>
+        <form action="login" method="POST">
+            <div class="form-group">
+                <label for="email">Email :</label>
+                <input type="email" id="email" name="email" placeholder="Entrez votre email">
+            </div>
+            <div class="form-group">
+                <label for="password">Mot de passe :</label>
+                <input type="password" id="password" name="password" placeholder="Entrez votre mot de passe">
+            </div>
+            <button type="submit">Se connecter</button>
+        </form>
+        <%
+            String errorMessage = (String) request.getAttribute("errorMessage");
+            if (errorMessage != null) {
+        %>
+            <div class="error"><%= errorMessage %></div>
+        <%
+            }
+        %>
+    </div>
+</body>
+</html>
diff --git a/src/main/webapp/WEB-INF/jsp/signup.jsp b/src/main/webapp/WEB-INF/jsp/signup.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391