diff --git a/client/public/build/main.bundle.js b/client/public/build/main.bundle.js
index ea30d6df8278e89763c282e029b8c7390e14f278..db7ec9cb17ea37da79cbde1be58eb9b90d1c6d44 100644
--- a/client/public/build/main.bundle.js
+++ b/client/public/build/main.bundle.js
@@ -60,8 +60,12 @@ var Player = /*#__PURE__*/function () {
     }
   }, {
     key: "move",
-    value: function move(ctx) {
+    value: function move(ctx, mouseX, mouseY) {
       // Déplacer le cercle en fonction de la direction
+      if (mouseX > ctx.canvas.width / 2 - this.radius && mouseX < ctx.canvas.width / 2 + this.radius && mouseY > ctx.canvas.height / 2 - this.radius && mouseY < ctx.canvas.height / 2 + this.radius) {
+        return;
+      }
+      console.log(mouseX, ctx.canvas.width / 2);
       this.x += this.direction.x * this.speed;
       this.y += this.direction.y * this.speed;
       if (this.x < this.radius) this.x = this.radius;
@@ -213,7 +217,7 @@ var canvas = document.querySelector(".map");
 var ctx = canvas.getContext("2d");
 canvas.width = document.documentElement.clientWidth;
 canvas.height = document.documentElement.clientHeight;
-ctx.width = 2000;
+ctx.width = 2300;
 ctx.height = 2000;
 window.addEventListener("resize", function (e) {
   e.preventDefault();
@@ -277,11 +281,7 @@ document.addEventListener("keyup", function (event) {
       break;
   }
 });
-canvas.addEventListener("mousemove", function (event) {
-  var mouseX = event.offsetX;
-  var mouseY = event.offsetY;
-  player.moveTo(mouseX, mouseY);
-});
+var rect = canvas.getBoundingClientRect();
 var sushis = [];
 for (var i = 0; i < 400; i++) {
   var x = Math.random() * ctx.width;
@@ -289,22 +289,36 @@ for (var i = 0; i < 400; i++) {
   var test = new _Ressources_js__WEBPACK_IMPORTED_MODULE_1__.Sushi(x, y, 5);
   sushis.push(test);
 }
+var mouseX;
+var mouseY;
+canvas.addEventListener("mousemove", function (event) {
+  event.preventDefault();
+  mouseX = event.clientX;
+  mouseY = event.clientY;
+  player.moveTo(mouseX, mouseY);
+});
 function update() {
+  ctx.save();
   ctx.clearRect(0, 0, ctx.width, ctx.height);
   ctx.beginPath();
-  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);
+
   // Déplacer le joueur en fonction de la direction
   var cameraX = canvas.width / 2 - player.x;
   var cameraY = canvas.height / 2 - player.y;
-  //ctx.translate(cameraX, cameraY);
+  ctx.translate(cameraX, cameraY);
   // Déplacer le contexte pour centrer la caméra ssur le joueur
   // Dessiner le joueur et les autres éléments du jeu
+  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);
   sushis.forEach(function (sushi) {
     sushi.draw(ctx);
   });
-  player.draw(ctx, image);
-  player.move(ctx);
+
+  //player.move(ctx);
   player.eatSushi(sushis);
+  player.draw(ctx, image);
+  player.move(ctx, mouseX, mouseY);
+  ctx.restore();
+
   // Déplacer le contexte pour centrer la caméra sur le joueur
   //ctx.translate(-cameraX, -cameraY);
   requestAnimationFrame(update);
diff --git a/client/public/build/main.bundle.js.map b/client/public/build/main.bundle.js.map
index dbbeb529ebbef1149902adb0fa18d8b0b1ed1218..c40170790f777057f8738bde4cdff8894dd9f6b6 100644
--- a/client/public/build/main.bundle.js.map
+++ b/client/public/build/main.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"main.bundle.js","mappings":"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","sources":["webpack://sae-2023-groupei-lasoa-gomis/./client/src/Player.js","webpack://sae-2023-groupei-lasoa-gomis/./client/src/Ressources.js","webpack://sae-2023-groupei-lasoa-gomis/webpack/bootstrap","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/define property getters","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/hasOwnProperty shorthand","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/make namespace object","webpack://sae-2023-groupei-lasoa-gomis/./client/src/main.js"],"sourcesContent":["class Player {\r\n  constructor(x, y, radius) {\r\n    this.x = x;\r\n    this.y = y;\r\n    this.radius = radius;\r\n    this.speed = 4;\r\n    this.direction = {\r\n      x: 0,\r\n      y: 0,\r\n    };\r\n  }\r\n\r\n  draw(ctx, image) {\r\n    // Dessiner le cercle\r\n    ctx.beginPath();\r\n    ctx.drawImage(\r\n      image,\r\n      this.x - this.radius,\r\n      this.y - this.radius,\r\n      this.radius * 2,\r\n      this.radius * 2\r\n    );\r\n    ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);\r\n    ctx.strokeStyle = \"black\";\r\n    ctx.stroke();\r\n  }\r\n\r\n  grow() {\r\n    this.radius += 1;\r\n  }\r\n\r\n  eatSushi(sushis) {\r\n    sushis.forEach((sushi, idx) => {\r\n      const dx = sushi.x - this.x;\r\n      const dy = sushi.y - this.y;\r\n      const distance = Math.sqrt(dx * dx + dy * dy);\r\n      if (distance < this.radius) {\r\n        // Supprime la nourriture de la liste\r\n        sushis.splice(idx, 1);\r\n        // Augmente la taille du joueur\r\n        this.grow();\r\n      }\r\n    });\r\n  }\r\n\r\n  move(ctx) {\r\n    // Déplacer le cercle en fonction de la direction\r\n    this.x += this.direction.x * this.speed;\r\n    this.y += this.direction.y * this.speed;\r\n\r\n    if (this.x < this.radius) this.x = this.radius;\r\n    if (this.y < this.radius) this.y = this.radius;\r\n    if (this.x > ctx.width - this.radius) {\r\n      this.x = ctx.width - this.radius;\r\n    }\r\n    if (this.y > ctx.height - this.radius) {\r\n      this.y = ctx.height - this.radius;\r\n    }\r\n  }\r\n  moveTo(x, y) {\r\n    const directionX = x - this.x;\r\n    const directionY = y - this.y;\r\n\r\n    const distance = Math.sqrt(directionX ** 2 + directionY ** 2);\r\n\r\n    this.direction.x = directionX / distance;\r\n    this.direction.y = directionY / distance;\r\n  }\r\n}\r\n\r\nexport default Player;\r\n","class Ressources {\r\n  constructor(name, x, y, size, image) {\r\n    this.name = name;\r\n    this.x = x;\r\n    this.y = y;\r\n    this.size = size;\r\n    this.image = image;\r\n  }\r\n}\r\n\r\nexport class Sushi extends Ressources {\r\n  constructor(x, y, size) {\r\n    const backgroundImage = new Image();\r\n    backgroundImage.src = \"/images/sushi.png\";\r\n    super(\"sushi\", x, y, size, backgroundImage);\r\n  }\r\n\r\n  draw(ctx) {\r\n    ctx.beginPath();\r\n    ctx.drawImage(this.image, this.x, this.y, 25, 25);\r\n    ctx.closePath();\r\n  }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Player from \"./Player.js\";\r\nimport { Sushi } from \"./Ressources.js\";\r\n\r\nconst canvas = document.querySelector(\".map\");\r\nconst ctx = canvas.getContext(\"2d\");\r\n\r\ncanvas.width = document.documentElement.clientWidth;\r\ncanvas.height = document.documentElement.clientHeight;\r\nctx.width = 2000;\r\nctx.height = 2000;\r\n\r\nwindow.addEventListener(\"resize\", (e) => {\r\n  e.preventDefault();\r\n  canvas.width = document.documentElement.clientWidth;\r\n  canvas.height = document.documentElement.clientHeight;\r\n});\r\n\r\nconst player = new Player(canvas.width / 2, canvas.height / 2, 20);\r\n\r\nconst image = new Image();\r\nimage.src = \"/images/goku.png\";\r\nconst backgroundImage = new Image();\r\nbackgroundImage.src = \"/images/map.jpg\";\r\n\r\ndocument.addEventListener(\"keydown\", (event) => {\r\n  event.preventDefault();\r\n  // Mettre à jour la direction en fonction des touches enfoncées\r\n  switch (event.keyCode) {\r\n    case 37: // Gauche\r\n      player.direction.x = -1;\r\n      break;\r\n    case 38: // Haut\r\n      player.direction.y = -1;\r\n      break;\r\n    case 39: // Droite\r\n      player.direction.x = 1;\r\n      break;\r\n    case 40: // Bas\r\n      player.direction.y = 1;\r\n      break;\r\n  }\r\n});\r\n\r\ndocument.addEventListener(\"keyup\", (event) => {\r\n  event.preventDefault();\r\n  // Mettre à jour la direction en fonction des touches relâchées\r\n  switch (event.keyCode) {\r\n    case 37: // Gauche\r\n      if (player.direction.x < 0) {\r\n        player.direction.x = 0;\r\n      }\r\n      break;\r\n    case 38: // Haut\r\n      if (player.direction.y < 0) {\r\n        player.direction.y = 0;\r\n      }\r\n      break;\r\n    case 39: // Droite\r\n      if (player.direction.x > 0) {\r\n        player.direction.x = 0;\r\n      }\r\n      break;\r\n    case 40: // Bas\r\n      if (player.direction.y > 0) {\r\n        player.direction.y = 0;\r\n      }\r\n      break;\r\n  }\r\n});\r\n\r\ncanvas.addEventListener(\"mousemove\", (event) => {\r\n  const mouseX = event.offsetX;\r\n  const mouseY = event.offsetY;\r\n\r\n  player.moveTo(mouseX, mouseY);\r\n});\r\n\r\nlet sushis = [];\r\n\r\nfor (let i = 0; i < 400; i++) {\r\n  const x = Math.random() * ctx.width;\r\n  const y = Math.random() * ctx.height;\r\n  const test = new Sushi(x, y, 5);\r\n  sushis.push(test);\r\n}\r\n\r\nfunction update() {\r\n  ctx.clearRect(0, 0, ctx.width, ctx.height);\r\n  ctx.beginPath();\r\n  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);\r\n  // Déplacer le joueur en fonction de la direction\r\n  const cameraX = canvas.width / 2 - player.x;\r\n  const cameraY = canvas.height / 2 - player.y;\r\n  //ctx.translate(cameraX, cameraY);\r\n  // Déplacer le contexte pour centrer la caméra ssur le joueur\r\n  // Dessiner le joueur et les autres éléments du jeu\r\n  sushis.forEach((sushi) => {\r\n    sushi.draw(ctx);\r\n  });\r\n  player.draw(ctx, image);\r\n  player.move(ctx);\r\n  player.eatSushi(sushis);\r\n  // Déplacer le contexte pour centrer la caméra sur le joueur\r\n  //ctx.translate(-cameraX, -cameraY);\r\n  requestAnimationFrame(update);\r\n}\r\n\r\nupdate();\r\n"],"names":["Player","x","y","radius","_classCallCheck","speed","direction","_createClass","key","value","draw","ctx","image","beginPath","drawImage","arc","Math","PI","strokeStyle","stroke","grow","eatSushi","sushis","_this","forEach","sushi","idx","dx","dy","distance","sqrt","splice","move","width","height","moveTo","directionX","directionY","pow","Ressources","name","size","Sushi","_Ressources","_inherits","_super","_createSuper","backgroundImage","Image","src","call","closePath","canvas","document","querySelector","getContext","documentElement","clientWidth","clientHeight","window","addEventListener","e","preventDefault","player","event","keyCode","mouseX","offsetX","mouseY","offsetY","i","random","test","push","update","clearRect","cameraX","cameraY","requestAnimationFrame"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"main.bundle.js","mappings":"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","sources":["webpack://sae-2023-groupei-lasoa-gomis/./client/src/Player.js","webpack://sae-2023-groupei-lasoa-gomis/./client/src/Ressources.js","webpack://sae-2023-groupei-lasoa-gomis/webpack/bootstrap","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/define property getters","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/hasOwnProperty shorthand","webpack://sae-2023-groupei-lasoa-gomis/webpack/runtime/make namespace object","webpack://sae-2023-groupei-lasoa-gomis/./client/src/main.js"],"sourcesContent":["class Player {\r\n  constructor(x, y, radius) {\r\n    this.x = x;\r\n    this.y = y;\r\n    this.radius = radius;\r\n    this.speed = 4;\r\n    this.direction = {\r\n      x: 0,\r\n      y: 0,\r\n    };\r\n  }\r\n\r\n  draw(ctx, image) {\r\n    // Dessiner le cercle\r\n    ctx.beginPath();\r\n    ctx.drawImage(\r\n      image,\r\n      this.x - this.radius,\r\n      this.y - this.radius,\r\n      this.radius * 2,\r\n      this.radius * 2\r\n    );\r\n    ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);\r\n    ctx.strokeStyle = \"black\";\r\n    ctx.stroke();\r\n  }\r\n\r\n  grow() {\r\n    this.radius += 1;\r\n  }\r\n\r\n  eatSushi(sushis) {\r\n    sushis.forEach((sushi, idx) => {\r\n      const dx = sushi.x - this.x;\r\n      const dy = sushi.y - this.y;\r\n      const distance = Math.sqrt(dx * dx + dy * dy);\r\n      if (distance < this.radius) {\r\n        // Supprime la nourriture de la liste\r\n        sushis.splice(idx, 1);\r\n        // Augmente la taille du joueur\r\n        this.grow();\r\n      }\r\n    });\r\n  }\r\n\r\n  move(ctx, mouseX, mouseY) {\r\n    // Déplacer le cercle en fonction de la direction\r\n    if (\r\n      mouseX > ctx.canvas.width / 2 - this.radius &&\r\n      mouseX < ctx.canvas.width / 2 + this.radius &&\r\n      mouseY > ctx.canvas.height / 2 - this.radius &&\r\n      mouseY < ctx.canvas.height / 2 + this.radius\r\n    ) {\r\n      return;\r\n    }\r\n    console.log(mouseX, ctx.canvas.width / 2);\r\n    this.x += this.direction.x * this.speed;\r\n    this.y += this.direction.y * this.speed;\r\n\r\n    if (this.x < this.radius) this.x = this.radius;\r\n    if (this.y < this.radius) this.y = this.radius;\r\n    if (this.x > ctx.width - this.radius) {\r\n      this.x = ctx.width - this.radius;\r\n    }\r\n    if (this.y > ctx.height - this.radius) {\r\n      this.y = ctx.height - this.radius;\r\n    }\r\n  }\r\n  moveTo(x, y) {\r\n    const directionX = x - this.x;\r\n    const directionY = y - this.y;\r\n\r\n    const distance = Math.sqrt(directionX ** 2 + directionY ** 2);\r\n    this.direction.x = directionX / distance;\r\n    this.direction.y = directionY / distance;\r\n  }\r\n}\r\n\r\nexport default Player;\r\n","class Ressources {\r\n  constructor(name, x, y, size, image) {\r\n    this.name = name;\r\n    this.x = x;\r\n    this.y = y;\r\n    this.size = size;\r\n    this.image = image;\r\n  }\r\n}\r\n\r\nexport class Sushi extends Ressources {\r\n  constructor(x, y, size) {\r\n    const backgroundImage = new Image();\r\n    backgroundImage.src = \"/images/sushi.png\";\r\n    super(\"sushi\", x, y, size, backgroundImage);\r\n  }\r\n\r\n  draw(ctx) {\r\n    ctx.beginPath();\r\n    ctx.drawImage(this.image, this.x, this.y, 25, 25);\r\n    ctx.closePath();\r\n  }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Player from \"./Player.js\";\r\nimport { Sushi } from \"./Ressources.js\";\r\n\r\nconst canvas = document.querySelector(\".map\");\r\nconst ctx = canvas.getContext(\"2d\");\r\n\r\ncanvas.width = document.documentElement.clientWidth;\r\ncanvas.height = document.documentElement.clientHeight;\r\nctx.width = 2300;\r\nctx.height = 2000;\r\n\r\nwindow.addEventListener(\"resize\", (e) => {\r\n  e.preventDefault();\r\n  canvas.width = document.documentElement.clientWidth;\r\n  canvas.height = document.documentElement.clientHeight;\r\n});\r\n\r\nconst player = new Player(canvas.width / 2, canvas.height / 2, 20);\r\n\r\nconst image = new Image();\r\nimage.src = \"/images/goku.png\";\r\nconst backgroundImage = new Image();\r\nbackgroundImage.src = \"/images/map.jpg\";\r\n\r\ndocument.addEventListener(\"keydown\", (event) => {\r\n  event.preventDefault();\r\n  // Mettre à jour la direction en fonction des touches enfoncées\r\n  switch (event.keyCode) {\r\n    case 37: // Gauche\r\n      player.direction.x = -1;\r\n      break;\r\n    case 38: // Haut\r\n      player.direction.y = -1;\r\n      break;\r\n    case 39: // Droite\r\n      player.direction.x = 1;\r\n      break;\r\n    case 40: // Bas\r\n      player.direction.y = 1;\r\n      break;\r\n  }\r\n});\r\n\r\ndocument.addEventListener(\"keyup\", (event) => {\r\n  event.preventDefault();\r\n  // Mettre à jour la direction en fonction des touches relâchées\r\n  switch (event.keyCode) {\r\n    case 37: // Gauche\r\n      if (player.direction.x < 0) {\r\n        player.direction.x = 0;\r\n      }\r\n      break;\r\n    case 38: // Haut\r\n      if (player.direction.y < 0) {\r\n        player.direction.y = 0;\r\n      }\r\n      break;\r\n    case 39: // Droite\r\n      if (player.direction.x > 0) {\r\n        player.direction.x = 0;\r\n      }\r\n      break;\r\n    case 40: // Bas\r\n      if (player.direction.y > 0) {\r\n        player.direction.y = 0;\r\n      }\r\n      break;\r\n  }\r\n});\r\n\r\nconst rect = canvas.getBoundingClientRect();\r\n\r\nlet sushis = [];\r\n\r\nfor (let i = 0; i < 400; i++) {\r\n  const x = Math.random() * ctx.width;\r\n  const y = Math.random() * ctx.height;\r\n  const test = new Sushi(x, y, 5);\r\n  sushis.push(test);\r\n}\r\n\r\nlet mouseX;\r\nlet mouseY;\r\n\r\ncanvas.addEventListener(\"mousemove\", (event) => {\r\n  event.preventDefault();\r\n  mouseX = event.clientX;\r\n  mouseY = event.clientY;\r\n\r\n  player.moveTo(mouseX, mouseY);\r\n});\r\n\r\nfunction update() {\r\n  ctx.save();\r\n  ctx.clearRect(0, 0, ctx.width, ctx.height);\r\n  ctx.beginPath();\r\n\r\n  // Déplacer le joueur en fonction de la direction\r\n  const cameraX = canvas.width / 2 - player.x;\r\n  const cameraY = canvas.height / 2 - player.y;\r\n  ctx.translate(cameraX, cameraY);\r\n  // Déplacer le contexte pour centrer la caméra ssur le joueur\r\n  // Dessiner le joueur et les autres éléments du jeu\r\n  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);\r\n  sushis.forEach((sushi) => {\r\n    sushi.draw(ctx);\r\n  });\r\n\r\n  //player.move(ctx);\r\n  player.eatSushi(sushis);\r\n  player.draw(ctx, image);\r\n  player.move(ctx, mouseX, mouseY);\r\n  ctx.restore();\r\n\r\n  // Déplacer le contexte pour centrer la caméra sur le joueur\r\n  //ctx.translate(-cameraX, -cameraY);\r\n  requestAnimationFrame(update);\r\n}\r\n\r\nupdate();\r\n"],"names":["Player","x","y","radius","_classCallCheck","speed","direction","_createClass","key","value","draw","ctx","image","beginPath","drawImage","arc","Math","PI","strokeStyle","stroke","grow","eatSushi","sushis","_this","forEach","sushi","idx","dx","dy","distance","sqrt","splice","move","mouseX","mouseY","canvas","width","height","console","log","moveTo","directionX","directionY","pow","Ressources","name","size","Sushi","_Ressources","_inherits","_super","_createSuper","backgroundImage","Image","src","call","closePath","document","querySelector","getContext","documentElement","clientWidth","clientHeight","window","addEventListener","e","preventDefault","player","event","keyCode","rect","getBoundingClientRect","i","random","test","push","clientX","clientY","update","save","clearRect","cameraX","cameraY","translate","restore","requestAnimationFrame"],"sourceRoot":""}
\ No newline at end of file
diff --git a/client/src/Player.js b/client/src/Player.js
index f94448eefb2cda16477d3ae00940c921221dd6ba..1ea097102d682bef7175e3690183815db53fae2a 100644
--- a/client/src/Player.js
+++ b/client/src/Player.js
@@ -43,8 +43,17 @@ class Player {
     });
   }
 
-  move(ctx) {
+  move(ctx, mouseX, mouseY) {
     // Déplacer le cercle en fonction de la direction
+    if (
+      mouseX > ctx.canvas.width / 2 - this.radius &&
+      mouseX < ctx.canvas.width / 2 + this.radius &&
+      mouseY > ctx.canvas.height / 2 - this.radius &&
+      mouseY < ctx.canvas.height / 2 + this.radius
+    ) {
+      return;
+    }
+    console.log(mouseX, ctx.canvas.width / 2);
     this.x += this.direction.x * this.speed;
     this.y += this.direction.y * this.speed;
 
@@ -62,7 +71,6 @@ class Player {
     const directionY = y - this.y;
 
     const distance = Math.sqrt(directionX ** 2 + directionY ** 2);
-
     this.direction.x = directionX / distance;
     this.direction.y = directionY / distance;
   }
diff --git a/client/src/main.js b/client/src/main.js
index 0d1820a37e2cdc89364c6ff1f4ece0104032add7..6d0566f33787f3857ae84b4c80ebb2473c71f783 100644
--- a/client/src/main.js
+++ b/client/src/main.js
@@ -6,7 +6,7 @@ const ctx = canvas.getContext("2d");
 
 canvas.width = document.documentElement.clientWidth;
 canvas.height = document.documentElement.clientHeight;
-ctx.width = 2000;
+ctx.width = 2300;
 ctx.height = 2000;
 
 window.addEventListener("resize", (e) => {
@@ -68,12 +68,7 @@ document.addEventListener("keyup", (event) => {
   }
 });
 
-canvas.addEventListener("mousemove", (event) => {
-  const mouseX = event.offsetX;
-  const mouseY = event.offsetY;
-
-  player.moveTo(mouseX, mouseY);
-});
+const rect = canvas.getBoundingClientRect();
 
 let sushis = [];
 
@@ -84,22 +79,39 @@ for (let i = 0; i < 400; i++) {
   sushis.push(test);
 }
 
+let mouseX;
+let mouseY;
+
+canvas.addEventListener("mousemove", (event) => {
+  event.preventDefault();
+  mouseX = event.clientX;
+  mouseY = event.clientY;
+
+  player.moveTo(mouseX, mouseY);
+});
+
 function update() {
+  ctx.save();
   ctx.clearRect(0, 0, ctx.width, ctx.height);
   ctx.beginPath();
-  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);
+
   // Déplacer le joueur en fonction de la direction
   const cameraX = canvas.width / 2 - player.x;
   const cameraY = canvas.height / 2 - player.y;
-  //ctx.translate(cameraX, cameraY);
+  ctx.translate(cameraX, cameraY);
   // Déplacer le contexte pour centrer la caméra ssur le joueur
   // Dessiner le joueur et les autres éléments du jeu
+  ctx.drawImage(backgroundImage, 0, 0, ctx.width, ctx.height);
   sushis.forEach((sushi) => {
     sushi.draw(ctx);
   });
-  player.draw(ctx, image);
-  player.move(ctx);
+
+  //player.move(ctx);
   player.eatSushi(sushis);
+  player.draw(ctx, image);
+  player.move(ctx, mouseX, mouseY);
+  ctx.restore();
+
   // Déplacer le contexte pour centrer la caméra sur le joueur
   //ctx.translate(-cameraX, -cameraY);
   requestAnimationFrame(update);