diff --git a/public/room.html b/public/room.html
index 8e48f2b1156d849f36375e0ecb2708d84af27739..da191205c4043cf2ad2d4c2d5f77536d1f23db9e 100644
--- a/public/room.html
+++ b/public/room.html
@@ -27,11 +27,45 @@
     const playerName = params.get('name');
     const roomId = window.location.pathname.split('/').pop();
 
+    const COLS = 7;
+    const ROWS = 6;
+    const CELL_SIZE = 100;
+    const RADIUS = CELL_SIZE / 2 - 10;
+
     // Initialize game board
     function drawBoard(board) {
       // Draw Connect4 grid based on board state
+      ctx.clearRect(0, 0, canvas.width, canvas.height);
+      for (let row = 0; row < ROWS; row++) {
+        for (let col = 0; col < COLS; col++) {
+          let x = col * CELL_SIZE + CELL_SIZE / 2;
+          let y = row * CELL_SIZE + CELL_SIZE / 2;
+
+          // Trou
+          ctx.beginPath();
+          ctx.arc(x, y, RADIUS, 0, Math.PI * 2);
+          ctx.fillStyle = 'white';
+          ctx.fill();
+
+          // Pion
+          if (board[row][col] !== null) {
+            ctx.beginPath();
+            ctx.arc(x, y, RADIUS, 0, Math.PI * 2);
+            ctx.fillStyle = board[row][col] === 0 ? 'red' : 'yellow';
+            ctx.fill();
+          }
+        }
+      }
     }
 
+    canvas.addEventListener('click', (e) => {
+      if (winner !== null) return;
+      const rect = canvas.getBoundingClientRect();
+      const x = e.clientX - rect.left;
+      const col = Math.floor(x / CELL_SIZE);
+      socket.emit('move', col);
+    });
+
     socket.on('connect', () => {
         socket.emit('joinRoom', {
             name: playerName,
@@ -40,8 +74,8 @@
     });
 
     socket.on('startGame', ({ board, currentPlayer }) => {
-        const messages = document.getElementById('messages');
-        messages.innerHTML += `<div><strong>Game starting</strong></div>`;
+      const messages = document.getElementById('messages');
+      messages.innerHTML += `<div><strong>Game starting</strong></div>`;
       drawBoard(board);
 
     });
@@ -74,79 +108,7 @@
       messages.innerHTML += `<div><strong>${name}:</strong> ${message}</div>`;
     });
 
-    //canvas game 
-    <script src="/socket.io/socket.io.js"></script>
-<script>
-  const socket = io();
-  const urlParams = new URLSearchParams(window.location.search);
-  const roomId = urlParams.get('room') || 'room0'; // par ex. /room.html?room=room2
-  const name = prompt("Ton nom ?") || "Player";
-
-  const COLS = 7;
-  const ROWS = 6;
-  const CELL_SIZE = 100;
-  const RADIUS = CELL_SIZE / 2 - 10;
-
-  let currentPlayer = 0;
-  let gameState = Array(ROWS).fill().map(() => Array(COLS).fill(null));
-  let winner = null;
-
-  const canvas = document.getElementById('gameCanvas');
-  const ctx = canvas.getContext('2d');
-
-  socket.emit('joinRoom', { name, roomId });
-
-  socket.on('startGame', (data) => {
-    gameState = data.board;
-    currentPlayer = data.currentPlayer;
-    drawBoard();
-  });
-
-  socket.on('updateGame', (data) => {
-    gameState = data.board;
-    currentPlayer = data.currentPlayer;
-    winner = data.winner;
-    drawBoard();
-    if (winner !== null) {
-      alert(`Le joueur ${winner} a gagné !`);
-    }
-  });
-
-  canvas.addEventListener('click', (e) => {
-    if (winner !== null) return;
-    const rect = canvas.getBoundingClientRect();
-    const x = e.clientX - rect.left;
-    const col = Math.floor(x / CELL_SIZE);
-    socket.emit('move', col);
-  });
-
-  function drawBoard() {
-    ctx.clearRect(0, 0, canvas.width, canvas.height);
-    for (let row = 0; row < ROWS; row++) {
-      for (let col = 0; col < COLS; col++) {
-        let x = col * CELL_SIZE + CELL_SIZE / 2;
-        let y = row * CELL_SIZE + CELL_SIZE / 2;
-
-        // Trou
-        ctx.beginPath();
-        ctx.arc(x, y, RADIUS, 0, Math.PI * 2);
-        ctx.fillStyle = 'white';
-        ctx.fill();
-
-        // Pion
-        if (gameState[row][col] !== null) {
-          ctx.beginPath();
-          ctx.arc(x, y, RADIUS, 0, Math.PI * 2);
-          ctx.fillStyle = gameState[row][col] === 0 ? 'red' : 'yellow';
-          ctx.fill();
-        }
-      }
-    }
-  }
-
   drawBoard(); // initial
 </script>
-
-  </script>
 </body>
 </html>
\ No newline at end of file
diff --git a/server.js b/server.js
index a7eeec61e284aab1ff6422e8f23aa9e90e24b83b..056eb348022f376fb70535aed43a7ceb67584c40 100644
--- a/server.js
+++ b/server.js
@@ -93,6 +93,7 @@ io.on('connection', (socket) => {
             id: socket.id,
             name
         });
+        socket.join(roomId);
         io.emit('updateRooms', rooms);
 
         io.to(roomId).emit('updatePlayers', room.players);
@@ -128,6 +129,7 @@ io.on('connection', (socket) => {
         }
 
         currentRoom.currentPlayer = 1 - currentRoom.currentPlayer;
+        socket.join(currentRoom.id)
         io.to(currentRoom.id).emit('updateGame', {
             board: currentRoom.gameState,
             currentPlayer: currentRoom.currentPlayer,