diff --git a/API/src/database/Database.ts b/API/src/database/Database.ts
index 7926aba7f6c7893db68bbd01742eda479e3ef2a7..aed639afc9c9892afe79a72f9b36029316f313f7 100644
--- a/API/src/database/Database.ts
+++ b/API/src/database/Database.ts
@@ -34,7 +34,7 @@ export class Database{
         return Database._instance;
     }
 
-    static async createAccount(username: string, password: string, accountType: userType): Promise<[number, string]> {
+    static async createAccount(username: string, password: string, firstname: string, lastname: string, email:string, accountType: userType): Promise<[number, string]> {
         let result: [number, string];
         const user = await User.findOne({where: {username}});
 
@@ -46,6 +46,9 @@ export class Database{
             await User.create({
                 username: username,
                 password: password,
+                lastname: lastname,
+                firstname: firstname,
+                email: email,
                 type: accountType === userType.Gamer ? 'user' : 'admin'
             }).then(user => {
                 console.log(`Utilisateur "${user.username}" ajouté avec succès !`);
@@ -87,6 +90,17 @@ export class Database{
 
     }
 
+    static async checkUserPassword(username: string, password: string): Promise<boolean>{
+        const user= await User.findOne({ where: { username } });
+        if(user){
+            return password==user.dataValues.password
+        }else{
+            return false
+        }
+
+
+    }
+
 
     static async getAllUsers(): Promise<User[]>{
         return await User.findAll();
@@ -104,10 +118,13 @@ export class Database{
         return await Question.destroy({ where: { id: id } });
     }
 
-    static async updateUserAccount(username: string, password?:string, typeUser?: userType){
+    static async updateUserAccount(username: string, password?:string, firstname?: string, lastname?: string, email?: string, typeUser?: userType){
         let updatedData: User=new User();
         updatedData.username=username;
         if(password!==undefined) updatedData.password = password;
+        if(firstname!==undefined) updatedData.firstname = firstname;
+        if(lastname!==undefined) updatedData.lastname = lastname;
+        if(email!==undefined) updatedData.email = email;
         if(typeUser!==undefined) updatedData.type = typeUser===userType.Gamer?'user':'admin';
         console.log(`updatedDate=${updatedData}`)
 
diff --git a/API/src/database/database.sqlite b/API/src/database/database.sqlite
index 62529667cf8732a4e82d5028fddb2338c4399ca7..5a843bb909e96719d7fe7976748a1bcf9692a046 100644
Binary files a/API/src/database/database.sqlite and b/API/src/database/database.sqlite differ
diff --git a/API/src/database/migrations/User_init.ts b/API/src/database/migrations/User_init.ts
index 034bc4be298ea17965ac2d275c544cb96628a964..50e4535bebf954f624d319c947700cd7df445c0b 100644
--- a/API/src/database/migrations/User_init.ts
+++ b/API/src/database/migrations/User_init.ts
@@ -13,6 +13,18 @@ export function initUser(sequelize: Sequelize){
             type: DataTypes.STRING,
             allowNull: false
         },
+        firstname: {
+            type: DataTypes.STRING,
+            allowNull: false
+        },
+        lastname: {
+            type: DataTypes.STRING,
+            allowNull: false
+        },
+        email: {
+            type: DataTypes.STRING,
+            allowNull: false
+        },
         type: {
             type: DataTypes.STRING,
             allowNull: false
diff --git a/API/src/database/models/User.ts b/API/src/database/models/User.ts
index d5d8b06cbf06de3bb377990502a7182867024e8a..6eeead2f8b218c70b4a4cb0a092cb852553496a3 100644
--- a/API/src/database/models/User.ts
+++ b/API/src/database/models/User.ts
@@ -6,6 +6,9 @@ export enum userType{
 }
 export class User extends Model {
     public id!: number;
+    public firstname!: string;
+    public lastname!: string;
+    public email!: string;
     public username!: string;
     public password!: string;
     public type!: string;
diff --git a/API/src/routes/middleware.ts b/API/src/routes/middleware.ts
index 12931375642941485c8a2803bd54165fea4dff77..9ea44d2308b93d21e6fdbcc01423b877266a6a8c 100644
--- a/API/src/routes/middleware.ts
+++ b/API/src/routes/middleware.ts
@@ -34,7 +34,7 @@ export async function checkExistingUser(req: express.Request, res: express.Respo
         console.log(`type = ${typeAccount}`);
         console.log({message: typeAccount === 'user' ? `"${id}" => user` : `"${id}" => admin`});
     }else{
-        res.status(StatusCodes.OK).json({message: 'Username not exist'});
+        res.status(StatusCodes.NOT_FOUND).json({message: 'Username not exist'});
     }
 
     next();
@@ -74,16 +74,22 @@ export function checkUsernameField(req: express.Request, res: express.Response,
 
 export function createAccountCheck(req: express.Request, res: express.Response){
     const data=req.body
-    Database.createAccount(data.username, data.password, data.accountType)
+    Database.createAccount(data.username, data.password, data.firstname, data.lastname, data.email, data.accountType)
         .then(result => {
             if(result[0] !== -1){
                 if(result[1] === "User") res.status(StatusCodes.OK).json({new_user: {
                         username: data.username,
-                        password: data.password
+                        password: data.password,
+                        lastname: data.lastname,
+                        firstname: data.firstname,
+                        email: data.email
                     }});
                 if(result[1] === "Admin") res.status(StatusCodes.OK).json({new_admin: {
                         username: data.username,
-                        password: data.password
+                        password: data.password,
+                        lastname: data.lastname,
+                        firstname: data.firstname,
+                        email: data.email
                     }});
             }else{
                 if(result[1] === "Exist"){
diff --git a/API/src/routes/router-admin.ts b/API/src/routes/router-admin.ts
index 35b31562a2c71ab552a9f0141d01782e3c707a86..e47fd002f222421a56a9740f66c10a1fcb54b8a6 100644
--- a/API/src/routes/router-admin.ts
+++ b/API/src/routes/router-admin.ts
@@ -86,7 +86,7 @@ router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField,
                 return;
             }
             try{
-                const nbUserUpdated=await Database.updateUserAccount(data.username, data.password, data.accountType);
+                const nbUserUpdated=await Database.updateUserAccount(data.username, data.password, data.firstname, data.lastname, data.email, data.accountType);
                 if(nbUserUpdated){
                     res.status(StatusCodes.OK).json({
                         message: `User ${data.username} updated`
diff --git a/API/src/routes/router-guest.ts b/API/src/routes/router-guest.ts
index d3207a81ce9068634cc6f7888feeb627f67dc015..a23f51f2719959b058bba459ce84f5d17ef87006 100644
--- a/API/src/routes/router-guest.ts
+++ b/API/src/routes/router-guest.ts
@@ -1,6 +1,7 @@
 import express         from 'express';
 import { StatusCodes } from 'http-status-codes';
-import {checkUserFields, createAccountCheck} from './middleware'
+import {checkExistingUser, checkUserFields, createAccountCheck} from './middleware'
+import {Database} from "../database/Database";
 
 
 
@@ -18,5 +19,14 @@ router.post('/create-account', checkUserFields, (req: express.Request, res: expr
     createAccountCheck(req, res);
 });
 
+router.post('/:username', checkExistingUser, async (req: express.Request, res: express.Response) => {
+    const data = req.body
+    if (await Database.checkUserPassword(req.params.username, data.password)) {
+        res.status(StatusCodes.OK).json({message: "User can be authentified"})
+    }else{
+        res.status(StatusCodes.BAD_REQUEST).json({message: "User cannot be authentified"})
+    }
+});
+
 
 export default router;