diff --git a/app.js b/app.js
index 0046875078c7bbb2d4b9cf1f75b7b04302520570..a82e0d468037dd72bfe8e5137b147e5daf4ea5e5 100644
--- a/app.js
+++ b/app.js
@@ -6,6 +6,7 @@ const auth = require('./controller/AuthController.js');
 const bodyParser = require('body-parser');
 const cookieParser = require('cookie-parser');
 const bcrypt = require('bcrypt');
+const { createHash, randomBytes } = require('crypto');
 
 
 
@@ -40,30 +41,46 @@ app.get("/signup" , (req ,res)=>{
     res.render("signup", { title: 'Inscription' });
     
 });
-const saltRounds = 10;
+function generateRandomSalt() {
+    return randomBytes(16).toString('hex');
+}
+
 app.post('/signup', async (req, res) => {
     try {
-        // Récupère les données du formulaire
-        const { username, email, password  } = req.body;
+        const { username, email, password } = req.body;
 
-        // hasher le passWord
-        const hashedPassword = await bcrypt.hash(password, saltRounds);
+        // Générer un sel aléatoire
+        const salt = generateRandomSalt();
 
-        // Insère les données dans la base de données
-        await db.insert('users', { username, email, password:hashedPassword });
+        // Concaténer le mot de passe avec le sel et hacher le tout
+        const passwordToHash = salt + password;
+        const hashedPassword = createHash('sha256').update(passwordToHash).digest('hex');
 
-        //res.send('Inscription réussie');
-        res.redirect("/login");
+        // Insérer les données dans la base de données avec le sel et le mot de passe haché
+        await db.insert('users', { username, email, salt, password: hashedPassword });
+
+        // Rediriger vers la page de connexion après l'inscription
+        res.redirect('/login');
     } catch (error) {
         console.error(error);
-        res.status(500).send('Erreur lors de l\'inscription');
+        res.status(500).send("Erreur lors de l'inscription");
     }
-    
 });
 
+
+// route pour logout
+app.post('/logout', function(req, res) {
+    res.clearCookie('accessToken'); // Assurez-vous que le nom du cookie est correct
+    res.redirect('/accueil');
+});
+
+
 //route pour document
-app.get("/document" , (req ,res)=>{
-    res.render("document", { title: 'doc' });
+app.get("/document", (req, res) => {
+    if (!res.locals.user) {
+        return res.redirect("/login"); // Redirige vers la page de connexion si l'utilisateur n'est pas connecté
+    }
+    res.render("document", { title: 'Créer un Document' });
 });
 
 
@@ -95,15 +112,25 @@ async function dbAdmin(req, res){
 }
 
 async function postLogin(req, res){
-    let { username, password } = req.body;
-    let token = await auth.checkLogin(username, password);
-    if (token == -1) {
-        res.render("login",{username, password, error: "Il semblerait que le nom d'utilisateur ou le mot de passe soit incorrect."});
-    } else {
-        res.cookie("accessToken", token, {httpOnly: true});
-        res.redirect("/accueil");
+    const { username, password } = req.body;
+
+    try {
+        let token = await auth.checkLogin(username, password);
+        if (token == -1) {
+            // Si l'authentification échoue
+            res.render("login", { error: "Il semblerait que le nom d'utilisateur ou le mot de passe soit incorrect." });
+        } else {
+            // Si l'authentification réussit
+            res.cookie("accessToken", token, { httpOnly: true });
+            res.redirect("/accueil");
+        }
+    } catch (error) {
+        console.error(error);
+        res.status(500).send('Erreur lors de la connexion');
     }
 }
 
 
+
+
 module.exports = app;
\ No newline at end of file
diff --git a/views/index.ejs b/views/index.ejs
index b3a1e8a6468a37c45eb7a686115efd0200927b63..8e182f485ea8e9f1fb7c8a510f4615d5da7afe4f 100644
--- a/views/index.ejs
+++ b/views/index.ejs
@@ -1,24 +1,34 @@
 <!DOCTYPE html>
-<html lang="en">
-    <head>
-        <meta charset="UTF-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-        <title>Accueil</title>
-        <link rel="stylesheet" href="/css/style.css">
-    </head>
-    <body>
-        <div class="home-container">
-            <h1>Bienvenue sur Notre Application de Tableur</h1>
-            <p>Organisez vos données efficacement et en toute simplicité.</p>
+<html lang="fr">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Accueil</title>
+    <link rel="stylesheet" href="/css/style.css">
+</head>
+<body>
+    <div class="home-container">
+        <h1>Bienvenue sur Notre Application de Tableur</h1>
+        <p>Organisez vos données efficacement et en toute simplicité.</p>
 
+        <% if (locals.user) { %>
+            <p>Bonjour, <%= locals.user.username %>!</p>
+            <div class="button-container">
+                <a href="/document" class="button">Créer un Document</a>
+                <form action="/logout" method="post" style="display: inline;">
+                    <button type="submit" class="button">Se Déconnecter</button>
+                </form>
+            </div>
+        <% } else { %>
             <div class="button-container">
                 <a href="/login" class="button">Se Connecter</a>
                 <a href="/signup" class="button">S'inscrire</a>
             </div>
-        </div>
+        <% } %>
+    </div>
 
-    <script>
-    // JavaScript pour d'autres interactions si nécessaire
-    </script>
-    </body>
-</html>
\ No newline at end of file
+<script>
+// JavaScript pour d'autres interactions si nécessaire
+</script>
+</body>
+</html>
diff --git a/views/login.ejs b/views/login.ejs
index afaf4f091cde526fd9ffe8176b9f3e6d3f57025f..8d9d864985af141d41bb43828e6d3480fba45681 100644
--- a/views/login.ejs
+++ b/views/login.ejs
@@ -10,7 +10,7 @@
         <h1>Connexion</h1>
             <form action="/login" method="post">
                 <input type="text" name="username" value="<%= locals.username ?? '' %>">
-                <input type="password" name="password" value="<%= locals.password ?? '' %>">
+                <input type="password" name="password" placeholder="Mot de passe">
                 <input type="submit" class="button" value="Se connecter">
             </form>
             <% if (locals.error) {%>
diff --git a/views/partials/header.ejs b/views/partials/header.ejs
index 198f0c617ecfdcfc721126d05b815cc36b51c8af..0a58c8c5815abe346721d276e987a623b4b9ad2f 100644
--- a/views/partials/header.ejs
+++ b/views/partials/header.ejs
@@ -1,5 +1,15 @@
+<header>
+    <!-- Contenu de l'en-tête ici -->
+    
 
-    <header>
-        <!-- Contenu de ton en-tête ici -->
-        <p>this is header</p>
-    </header>
+    <p>this is header</p>
+
+    <% if (locals.user) { %>
+        <div class="main-content">
+            Bonjour, <%= locals.user.username %>!
+            <form action="/logout" method="post">
+                <button type="submit">Se Déconnecter</button>
+            </form>
+        </div>
+    <% } %>
+</header>