diff --git a/htdocs/chess.js b/htdocs/chess.js
index 155ffc4a57cc1a3f5e859213af0a0bd780cefc39..b648491a8040b4f15c32f664e440b377ec2c142e 100644
--- a/htdocs/chess.js
+++ b/htdocs/chess.js
@@ -1,7 +1,7 @@
 const canvas = document.getElementById("chessboard");
 const ctx = canvas.getContext("2d");
 const size = 60; // Taille des cases
-
+currentPlayer = 0;
 // Disposition initiale de l'échiquier
 const board = [
     ["T", "C", "F", "Q", "K", "F", "C", "T"],
@@ -16,8 +16,6 @@ const board = [
 
 // Charger les images des pièces
 
-
-
 const pieceImages = {
     "p": "pion_blanc.png",
     "P": "pion_noir.png",
@@ -33,8 +31,8 @@ const pieceImages = {
     "K": "roi_noir.png"
 };
 
-const noirs = ["P","T","C","F","Q","K"];
-const blancs = ["p","t","c","f","q","k"];
+const pieces_joueurs = {0: ["p","t","c","f","q","k"],1:["P","T","C","F","Q","K"]};
+
 
 
 
@@ -97,29 +95,40 @@ canvas.addEventListener("click", function(event) {
 function selectPiece(row, col) {
     const piece = board[row][col];
 
-    if (piece !== "") {  // Vérifier que ce n'est pas une case vide
+    if (piece !== "" && pieces_joueurs[currentPlayer].includes(piece)) {  // Vérifier que ce n'est pas une case vide
         selectedPiece = piece;
         selectedPosition = { row, col };
-        highlightMoves(piece, row, col);
+        highlightMoves(currentPlayer,piece, row, col);
     }
 }
 
-function highlightMoves(piece, row, col) {
+function highlightMoves(player,piece, row, col) {
+    if (player===0){
+        direction=-1;
+        opponent=1;
+    }
+    else{direction=1;
+        opponent=0;
+    }
     let moves = [];
     if (piece.toLowerCase() === "p") {
-        if(row===6){
-            if (board[row - 2][col] === "") {
-                moves.push({row: row - 2,col});
+        if(row===6 && player===0){
+            if (board[row + 2*direction][col] === "") {
+                moves.push({row: row + 2*direction,col});
+            }
+        }
+        if(row===1 && player===1){
+            if (board[row +2*direction][col] === "") {
+                moves.push({row: row + 2*direction,col});
             }
         }
-        let direction = -1;  // Pion blanc monte
         if (board[row + direction] && board[row + direction][col] === "") {
             moves.push({ row: row + direction, col });
         }
-        if (noirs.includes(board[row + direction][col + direction])){
+        if (pieces_joueurs[opponent].includes(board[row + direction][col + direction])){
             moves.push({row: row +direction, col: col + direction })
         }
-        if (noirs.includes(board[row + direction][col - direction])){
+        if (pieces_joueurs[opponent].includes(board[row + direction][col - direction])){
             moves.push({row: row +direction, col: col - direction })
         }
     }
@@ -130,7 +139,7 @@ function highlightMoves(piece, row, col) {
             moves.push({ row: r, col });
             } 
             else {
-                if (noirs.includes(board[r][col])) {
+                if (pieces_joueurs[opponent].includes(board[r][col])) {
                 moves.push({ row: r, col }); // Capture possible
                 }
                 break // Bloqué par une pièce
@@ -142,7 +151,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][col] === "") {
                 moves.push({ row: r, col });
             } else {
-                if (noirs.includes(board[r][col])) {
+                if (pieces_joueurs[opponent].includes(board[r][col])) {
                     moves.push({ row: r, col });
                 }
                 break;
@@ -154,7 +163,7 @@ function highlightMoves(piece, row, col) {
             if (board[row][c] === "") {
                 moves.push({ row, col: c });
             } else {
-                if (noirs.includes(board[row][c])) {
+                if (pieces_joueurs[opponent].includes(board[row][c])) {
                     moves.push({ row, col: c });
                 }
                 break;
@@ -166,7 +175,7 @@ function highlightMoves(piece, row, col) {
             if (board[row][c] === "") {
                 moves.push({ row, col: c });
             } else {
-                if (noirs.includes(board[row][c])) {
+                if (pieces_joueurs[opponent].includes(board[row][c])) {
                     moves.push({ row, col: c });
                 }
                 break;
@@ -179,7 +188,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break; // Bloqué par une pièce
@@ -191,7 +200,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -203,7 +212,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -215,7 +224,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -240,7 +249,7 @@ function highlightMoves(piece, row, col) {
     
             // Vérifie que la nouvelle position est sur l'échiquier
             if (newRow >= 0 && newRow < 8 && newCol >= 0 && newCol < 8) {
-                if (board[newRow][newCol] === "" || noirs.includes(board[newRow][newCol])) {
+                if (board[newRow][newCol] === "" || pieces_joueurs[opponent].includes(board[newRow][newCol])) {
                     moves.push({ row: newRow, col: newCol });
                 }
             }
@@ -260,7 +269,7 @@ function highlightMoves(piece, row, col) {
     
             // Vérifie que la nouvelle position est sur l'échiquier
             if (newRow >= 0 && newRow < 8 && newCol >= 0 && newCol < 8) {
-                if (board[newRow][newCol] === "" || noirs.includes(board[newRow][newCol])) {
+                if (board[newRow][newCol] === "" || pieces_joueurs[opponent].includes(board[newRow][newCol])) {
                     moves.push({ row: newRow, col: newCol });
                 }
             }
@@ -273,7 +282,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][col] === "") {
                 moves.push({ row: r, col });
             } else {
-                if (noirs.includes(board[r][col])) {
+                if (pieces_joueurs[opponent].includes(board[r][col])) {
                     moves.push({ row: r, col }); // Capture possible
                 }
                 break; // Bloqué par une pièce
@@ -283,7 +292,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][col] === "") {
                 moves.push({ row: r, col });
             } else {
-                if (noirs.includes(board[r][col])) {
+                if (pieces_joueurs[opponent].includes(board[r][col])) {
                     moves.push({ row: r, col });
                 }
                 break;
@@ -295,7 +304,7 @@ function highlightMoves(piece, row, col) {
             if (board[row][c] === "") {
                 moves.push({ row, col: c });
             } else {
-                if (noirs.includes(board[row][c])) {
+                if (pieces_joueurs[opponent].includes(board[row][c])) {
                     moves.push({ row, col: c });
                 }
                 break;
@@ -305,7 +314,7 @@ function highlightMoves(piece, row, col) {
             if (board[row][c] === "") {
                 moves.push({ row, col: c });
             } else {
-                if (noirs.includes(board[row][c])) {
+                if (pieces_joueurs[opponent].includes(board[row][c])) {
                     moves.push({ row, col: c });
                 }
                 break;
@@ -317,7 +326,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -327,7 +336,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -337,7 +346,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -347,7 +356,7 @@ function highlightMoves(piece, row, col) {
             if (board[r][c] === "") {
                 moves.push({ row: r, col: c });
             } else {
-                if (noirs.includes(board[r][c])) {
+                if (pieces_joueurs[opponent].includes(board[r][c])) {
                     moves.push({ row: r, col: c });
                 }
                 break;
@@ -376,7 +385,7 @@ function movePiece(newRow, newCol) {
     if (!selectedPiece) return;
 
     // Vérifier si le mouvement est valide
-    const validMoves = highlightMoves(selectedPiece, selectedPosition.row, selectedPosition.col);
+    const validMoves = highlightMoves(currentPlayer,selectedPiece, selectedPosition.row, selectedPosition.col);
     console.log(validMoves);  // Vérifie la structure des validMoves
 
     // Vérifier que validMoves est un tableau et qu'il contient des objets avec { row, col }
@@ -390,7 +399,7 @@ function movePiece(newRow, newCol) {
         // Réinitialiser la pièce sélectionnée
         selectedPiece = null;
         selectedPosition = null;
-
+        currentPlayer=(currentPlayer+1)%2;
         // Redessiner le plateau
         drawBoard();
         drawPieces();
diff --git a/htdocs/page_acceuil.html b/htdocs/page_acceuil.html
index fb30a0a495ecd7dc5ec77c0792ee6202f22fba8e..0b812f90962a1620d6c3deab4ab6661e4a0ee970 100644
--- a/htdocs/page_acceuil.html
+++ b/htdocs/page_acceuil.html
@@ -7,7 +7,7 @@
         <link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap" rel="stylesheet"> <!-- Ajout de la police Libre Baskerville -->
         <link rel="stylesheet" href="style_page_acceuil.css">
     </head>    
-    
+
     
 <body>
     <header>
diff --git a/htdocs/page_jeu.html b/htdocs/page_jeu.html
index 9a494cec9e4beff8be8c0eeab260dd92304805dd..64bc92d71ff310b3ba43cda53eadc4d96e9366a0 100644
--- a/htdocs/page_jeu.html
+++ b/htdocs/page_jeu.html
@@ -20,14 +20,14 @@
             socket.on('hello', function(data) {
                 console.log("Message du serveur : ", data);
             });
-        
+            
             // Envoi d'un message vers le serveur
             socket.emit('message', { 'msg': 'Hello, serveur !' });
-        
+            socket.emit('disconnect',{'msg': 'Le client est deco'});
             // Optionnel : écouter d'autres événements, par exemple pour les erreurs
             socket.on('connect_error', function(err) {
                 console.error("Erreur de connexion : ", err);
-            });
+            });   
         });
     </script>
     <canvas id="chessboard" width="480" height="480"></canvas>
diff --git a/server.js b/server.js
index 922767adc55abb85115362bba674cbcb1d0cb855..d5bd6dd14c42e288290079d7e56720bcbdcc3171 100644
--- a/server.js
+++ b/server.js
@@ -70,16 +70,17 @@ io.on('connection', function (socket) {
 
     // Envoyer un message "hello" au client
     socket.emit('hello', { 'this': 'is my data' });
-
     // Écouter un message du client (optionnel)
     socket.on('message', function (data) {
         console.log("Message reçu du client :", data);
+    socket.on('disconnect', () => {
+         console.log('Le client est déconnecté');
+    });
     });
+
 });
 
 // Lancer le serveur sur le port 8080
 server.listen(8080, () => {
     console.log("Serveur WebSocket démarré sur http://localhost:8080");
-});
-
-
+});
\ No newline at end of file