diff --git a/htdocs/chess.js b/htdocs/chess.js
index f71fd5e7e99ca2e0871dee033af9128e08f479dd..9ed64ff712e8d72fefcfe0226f2db0723dcfcba8 100644
--- a/htdocs/chess.js
+++ b/htdocs/chess.js
@@ -79,7 +79,6 @@ let selectedPiece = null;
 let selectedPosition = null;
 
 canvas.addEventListener("click", function(event) {
-    console.log("clické")
     const col = Math.floor(event.offsetX / size);
     const row = Math.floor(event.offsetY / size);
 
@@ -96,26 +95,68 @@ function selectPiece(row, col) {
     if (piece !== "") {  // Vérifier que ce n'est pas une case vide
         selectedPiece = piece;
         selectedPosition = { row, col };
+        highlightMoves(piece, row, col);
+    }
+}
 
+function highlightMoves(piece, row, col) {
+    let moves = [];
+    if (piece.toLowerCase() === "p") {
+        if(row===6){
+            if (board[row - 2][col] === "") {
+                moves.push({row: row - 2,col});
+            }
+        }
+        let direction = -1;  // Pion blanc monte, pion noir descend
+        if (board[row + direction] && board[row + direction][col] === "") {
+            moves.push({ row: row + direction, col });
+        }
     }
+    
+    
+
+    return moves;
+
 }
 
 
+
+
+
+function drawHighlightedMoves(moves) {
+    ctx.fillStyle = "rgba(0, 255, 0, 0.5)";  // Vert transparent
+
+    for (let move of moves) {
+        ctx.beginPath();
+        ctx.arc(move.col * size + size / 2, move.row * size + size / 2, size / 4, 0, 2 * Math.PI);
+        ctx.fill();
+    }
+}
 function movePiece(newRow, newCol) {
     if (!selectedPiece) return;
 
     // Vérifier si le mouvement est valide
-    //const validMoves = highlightMoves(selectedPiece, selectedPosition.row, selectedPosition.col);
-    //const isValidMove = validMoves.some(m => m.row === newRow && m.col === newCol);
+    const validMoves = highlightMoves(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 }
+    const isValidMove = Array.isArray(validMoves) && validMoves.some(m => m.row === newRow && m.col === newCol);
 
-    //if (isValidMove) {
+    if (isValidMove) {
+        // Déplacer la pièce
         board[newRow][newCol] = selectedPiece;
         board[selectedPosition.row][selectedPosition.col] = "";
 
+        // Réinitialiser la pièce sélectionnée
         selectedPiece = null;
         selectedPosition = null;
 
+        // Redessiner le plateau
         drawBoard();
         drawPieces();
-    //}
+    } else {
+        // Si le mouvement est invalide, tu pourrais afficher un message
+        console.log("Mouvement invalide !");
+        selectedPiece=null;
+    }
 }
\ No newline at end of file