diff --git a/Readme.md b/Readme.md
index 5999c40e3b17c1e0f27e9cdef66895e76d9b9ad1..973ab32cc3cca0a99f5e7ffee300dd3fe566d2df 100644
--- a/Readme.md
+++ b/Readme.md
@@ -66,4 +66,7 @@ Ci-dessous merci de répondre à ces deux questions (merci de répondre avec que
 copier/coller, je ne souhaite pas de définition toute faite, mais une réponse personnelle) :
 
 - Quel est le protocole utilisé pour communiquer avec le serveur ?
+  Le HTTP (HyperText Transfer Protocol) et aussi plus safe le HTTPS (HTTP Secure)
+
 - JS est un langage asynchrone ou synchrone ? Expliquez.
+  assynchrone, avec la utilisation de promises et AJAX request JS n'est synchrone et il devient plus dinamique pour repondre a utilisateur.
diff --git a/assets/actions/gameTableSize.php b/assets/actions/gameTableSize.php
index ebe98e0cc4f72b90c37b601b4c256995d279273e..6d2f47eda808a64aeccaff989d4c2f9f2f428024 100644
--- a/assets/actions/gameTableSize.php
+++ b/assets/actions/gameTableSize.php
@@ -3,3 +3,7 @@
 // utiliser le fichier Database.php pour charger le nombre de jeu total dans la base et le retourner en JSON. (1 points)
 
 require_once __DIR__ . '/../db/Database.php';
+//$totalJeux =($_POST);
+
+$db = new Database();
+$totalJeux = $db->getGameTableSize();
diff --git a/assets/actions/register.php b/assets/actions/register.php
index c816c019d41381bc9d56fbdf1d4bcbc1d0ee349f..d6910291410be0b38ba8c58cc1b14bc312769514 100644
--- a/assets/actions/register.php
+++ b/assets/actions/register.php
@@ -6,3 +6,15 @@
  */
 
 require_once __DIR__ . '/../db/Database.php';
+
+$db = new Database();
+$result = $db->register(
+    $_POST['username'],
+    $_POST['password'],
+);
+
+if ($result) {
+    header('Location: /login.php');
+} else {
+    header('Location: /register.php?error=1');
+}
diff --git a/assets/db/Database.php b/assets/db/Database.php
index e24cb94ac718b10ebe58b24b37a036a2908c5cb9..a72c53f6cab9344cef0751c76427b381d8e0c0d1 100644
--- a/assets/db/Database.php
+++ b/assets/db/Database.php
@@ -33,6 +33,10 @@ class Database
     public function getGames()
     {
         // Charger ici les jeux de la base de données trois par trois
+        $statement = $this->pdo->prepare('SELECT * FROM game LIMIT 3');
+        $statement->execute();
+
+        return $statement->fetchAll();
     }
 
     /**
@@ -51,6 +55,11 @@ class Database
     public function getGameTableSize()
     {
         // Retourner le nombre de jeux dans la base de données
+        $statement = $this->pdo->prepare('SELECT COUNT(*) total FROM game');
+        $statement->execute();
+        $total = $statement->fetchColumn();
+        $resultat = (int) $total;
+        return $resultat;
     }
 
     /**
@@ -61,6 +70,19 @@ class Database
     public function register($username, $password)
     {
         // Faire une fonction pour enregistrer un utilisateur dans la base de données.
+        if(preg_match('#^[a-z0-9.-_]+@[a-z0-9.-_]+\.[a-z]{2,}$#', $username) &&
+            $this->checkField($username, true, ) &&
+            $this->checkField($password, true,8, 255)
+        ) {
+            try {
+                $statement = $this->pdo->prepare('INSERT INTO user (username, password) VALUES (:username, :password)');
+                $statement->bindValue(':username', htmlspecialchars($username), PDO::PARAM_STR);
+                $statement->bindValue(':password', $password, PDO::PARAM_STR);
+                return $statement->execute();
+            } catch (Exception $e) {
+                return false;
+            }
+        }
     }
 
     public function login($username, $password)
diff --git a/assets/js/loadGame.js b/assets/js/loadGame.js
index 4f82f01fd05ae1abb7017ce828f4adfa6a6b6b35..626b1bda4e610de39c77935e0aa957f6e9c576ca 100644
--- a/assets/js/loadGame.js
+++ b/assets/js/loadGame.js
@@ -3,3 +3,34 @@
  * ajouter une fonction pour charger, en ajax, la quantité totale de jeux dans la base ( API = /assets/actions/gameTableSize.php). (3 points)
  * ajouter un événement sur le bouton "Load more" pour lancer la fonction créée au premier point. (1 point)
  */
+const charger = document.querySelector('main button')
+
+charger.addEventListener("click", () => {
+    charger3jeux();
+});
+
+const charger3jeux = async () => {}
+try {
+
+} catch (error) {
+
+}
+const NombreJeuxAJAX = async () => {
+    try {
+        const response = await fetch('/assets/actions/gameTableSize.php', {
+            method: 'POST',
+        });
+        const data = await response.json();
+        //logic fetch
+        console.log(data);
+        if (data.ok == 'true') {
+            location.href = '/index.php';
+        } else {
+            const li = document.createElement('li');
+            li.textContent = data.messages;
+            mess.appendChild(li);
+        }
+    } catch (error) {
+        console.log(error)
+    }
+}
\ No newline at end of file
diff --git a/assets/locale/en.php b/assets/locale/en.php
index 302d53af3c848723463b7432d9cdc02827223a5c..fb03be1769000bdd12e3e89ca0870c0f6c30df4c 100644
--- a/assets/locale/en.php
+++ b/assets/locale/en.php
@@ -23,6 +23,8 @@ $trad = [
     ],
     'register' => [
         'title' => 'Register',
+        'username' => 'Username',
+        'password' => 'Password',
         'submit' => 'Register',
     ],
     'admin' => [
diff --git a/assets/locale/fr.php b/assets/locale/fr.php
index 96c508ad91b6ed36a2eeb780943f2e15875dd5a0..67ae6589849b12df587f59ac38464ba53bd1c2da 100644
--- a/assets/locale/fr.php
+++ b/assets/locale/fr.php
@@ -23,6 +23,8 @@ $trad = [
     ],
     'register' => [
         'title' => 'Inscription',
+        'username' => 'Nom d\'utilisateur',
+        'password' => 'Mot de passe',
         'submit' => 'S\'inscrire',
     ],
     'admin' => [
diff --git a/register.php b/register.php
index 1dcff4356d30f2006708b18a056eacae73ba9a5e..697009ea69b64b907c4080334d8b9454687b3bbd 100644
--- a/register.php
+++ b/register.php
@@ -19,7 +19,11 @@ require_once __DIR__ . '/assets/template/nav.php';
 ?>
 
 <!-- ajouter un formulaire pour permettre à l'utilisateur de s'inscrire sur le site. Attention un style existe déjà, utilisez une structure pour permettre de l'adapter au mieux. -->
-
 <?php
+$title = $translate->getTrad('register.title');
+$action = '/assets/actions/login.php'. (isset($_GET['target']) ? '?target=' . $_GET['target'] : '');
+$button = $translate->getTrad('register.submit');
+require_once __DIR__ . '/assets/template/registerLoginForm.php';
+
 require_once __DIR__ . '/assets/template/footer.php';
 ?>