diff --git a/ALVARIZA-BILLAR_DESERT_KANY/projet.js b/ALVARIZA-BILLAR_DESERT_KANY/projet.js
index f5fba8c20f24fa56269b16e3a25f3b9eb6c8b16c..397bdcda86380cf4240864b1f228a8f300e6bae2 100644
--- a/ALVARIZA-BILLAR_DESERT_KANY/projet.js
+++ b/ALVARIZA-BILLAR_DESERT_KANY/projet.js
@@ -5,10 +5,10 @@
 /*global THREE, $ */
 import * as THREE from 'three';
 
-import { OBJLoader } from 'three/addons/loaders/OBJLoader.js';
-import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
+import {OBJLoader} from 'three/addons/loaders/OBJLoader.js';
+import {OrbitControls} from 'three/addons/controls/OrbitControls.js';
 import * as dat from 'https://cdn.jsdelivr.net/npm/dat.gui@0.7.9/build/dat.gui.module.js';
-import { MTLLoader } from 'three/addons/loaders/MTLLoader.js';
+import {MTLLoader} from 'three/addons/loaders/MTLLoader.js';
 
 window.scene = new THREE.Scene();
 
@@ -17,8 +17,8 @@ var camera, renderer;
 var cameraControls;
 var clock = new THREE.Clock();
 var beton;
-var car; 
-window.carSpeed = 50; 
+var car;
+window.carSpeed = 50;
 window.carMoving = true;
 
 function fillScene() {
@@ -42,7 +42,7 @@ function fillScene() {
 
     var solidGround = new THREE.Mesh(
         new THREE.PlaneGeometry(100000, 100000, 1000, 1000),
-        new THREE.MeshLambertMaterial({ map: grassTexture })
+        new THREE.MeshLambertMaterial({map: grassTexture})
     );
     solidGround.rotation.x = -Math.PI / 2;
     scene.add(solidGround);
@@ -57,32 +57,68 @@ function fillScene() {
     roadTexture.wrapT = THREE.RepeatWrapping;
     roadTexture.repeat.set(1, 10);
 
+    var roadMaterial = new THREE.MeshLambertMaterial({  // Matériau de la route pour éviter le clipping
+        map: roadTexture,
+        polygonOffset: true,
+        polygonOffsetFactor: -2,
+        polygonOffsetUnits: -2
+    });
     var road = new THREE.Mesh(
         new THREE.PlaneGeometry(2000, 100000),
-        new THREE.MeshLambertMaterial({ map: roadTexture })
+        roadMaterial
     );
     road.rotation.x = -Math.PI / 2;
     road.position.y = 10;
     road.position.z = 10;
     scene.add(road);
 
+
     // DALLE DE BÉTON
     var betonTexture = texture.load('textures/beton.jpg');
     betonTexture.wrapS = THREE.RepeatWrapping;
     betonTexture.wrapT = THREE.RepeatWrapping;
     betonTexture.repeat.set(1, 1);
 
-    var betonMaterial = new THREE.MeshLambertMaterial({ map: betonTexture });
+    var betonMaterial = new THREE.MeshLambertMaterial({map: betonTexture});
 
     beton = new THREE.Mesh(
-        new THREE.BoxGeometry(5000, 350, 5000),
+        new THREE.BoxGeometry(5500, 350, 5500),
         betonMaterial
     );
-    beton.position.set(-5000, 0, 2000);
-    beton.rotation.y = 0.46;
+    beton.position.set(-8000, 0, 1850);
+    beton.rotation.y = 0.2225;
     scene.add(beton);
 
-    
+
+    // CAPSULE EN BÉTON (sous les pompes à essence)
+    var capsuleLength = 5700;         // Longueur de la capsule
+    var capsuleHeight = 800;          // Largeur de la capsule
+    var radius = capsuleHeight / 2;     // Rayon des extrémités arrondies
+
+    var capsuleShape = new THREE.Shape();
+    capsuleShape.moveTo(radius, 0);              // Début du tracé
+    capsuleShape.lineTo(capsuleLength - radius, 0);      // Ligne droite avant arrondi
+    capsuleShape.absarc(capsuleLength - radius, radius, radius, -Math.PI / 2, Math.PI / 2, false); // Arrondi
+    capsuleShape.lineTo(radius, capsuleHeight);    // Ligne droite après arrondi
+    capsuleShape.absarc(radius, radius, radius, Math.PI / 2, 3 * Math.PI / 2, false); // Arrondi
+
+    var extrudeSettings = {
+        depth: 350,            // Hauteur de la capsule
+        bevelEnabled: false    // Pas de biseau
+    };
+
+    var capsuleGeometry = new THREE.ExtrudeGeometry(capsuleShape, extrudeSettings); // Géométrie de la capsule
+    capsuleGeometry.center();           // Centrer la géométrie
+    var capsuleMaterial = new THREE.MeshLambertMaterial({map: betonTexture});     // Matériau de la capsule (béton)
+    var capsuleMesh = new THREE.Mesh(capsuleGeometry, capsuleMaterial);             // Création du mesh
+    capsuleMesh.rotation.x = Math.PI / 2;
+    capsuleMesh.rotation.z = 1.35;
+    capsuleMesh.position.set(-2750, 0, 650);
+
+    scene.add(capsuleMesh);
+
+
+    // ARBRES
     new MTLLoader()
         .load('tree_bonus.mtl', function (materials) {
             materials.preload();
@@ -91,12 +127,13 @@ function fillScene() {
                 .load('tree_bonus.obj', function (object) {
                     object.traverse(function (child) {
                         if (child.isMesh) {
-                            child.material = new THREE.MeshLambertMaterial({ color: 0x006600 });
+                            child.material = new THREE.MeshLambertMaterial({color: 0x006600});
                         }
                     });
 
                     // Arbres à gauche de la route
-                    var numTreesX = 23, numTreesZ = 100, spacingX = 2000, spacingZ = 1000, startX = 3000, startZ = -50000;
+                    var numTreesX = 23, numTreesZ = 100, spacingX = 2000, spacingZ = 1000, startX = 3000,
+                        startZ = -50000;
                     for (var x = 0; x < numTreesX; x++) {
                         for (var z = 0; z < numTreesZ; z++) {
                             var tree = object.clone();
@@ -107,8 +144,9 @@ function fillScene() {
                     }
 
                     // Arbres à droite de la route
-					var numTreesX = 20, numTreesZ = 100, spacingX = 2000, spacingZ = 1000, startX = 3000, startZ = -50000;
-                    startX = -7000;
+                    var numTreesX = 20, numTreesZ = 100, spacingX = 2000, spacingZ = 1000, startX = 3000,
+                        startZ = -50000;
+                    startX = -10000;
                     for (var x = 0; x < numTreesX; x++) {
                         for (var z = 0; z < numTreesZ; z++) {
                             var tree = object.clone();
@@ -120,35 +158,36 @@ function fillScene() {
                 });
         });
 
+    // Voiture
     loadCar();
 }
 
 // Charger la voiture
 function loadCar() {
     new OBJLoader().load('car.obj', function (object) {
-		car = object;
-		car.scale.setScalar(200);
-		car.position.set(0, 30, -9000);
-		car.rotation.y =  0;
-		
+        car = object;
+        car.scale.setScalar(200);
+        car.position.set(0, 30, -9000);
+        car.rotation.y = 0;
+
 
-		car.traverse(function (child) {
+        car.traverse(function (child) {
             if (child.isMesh) {
-                child.material = new THREE.MeshStandardMaterial({ color: 0xff0000 });
+                child.material = new THREE.MeshStandardMaterial({color: 0xff0000});
             }
         });
-		
-		scene.add(car);
-	});
+
+        scene.add(car);
+    });
 }
 
 function init() {
-	var canvasWidth = 846;
+    var canvasWidth = 846;
     var canvasHeight = 494;
     var canvasRatio = canvasWidth / canvasHeight;
 
     // RENDERER
-    renderer = new THREE.WebGLRenderer({ antialias: true });
+    renderer = new THREE.WebGLRenderer({antialias: true});
     renderer.setSize(canvasWidth, canvasHeight);
     renderer.setClearColor(0xAAAAAA, 1.0);
 
@@ -163,10 +202,10 @@ function init() {
     cameraControls = new OrbitControls(camera, renderer.domElement);
     cameraControls.target.set(0, 270, 0);
 
-    
+
     var gui = new dat.GUI();
     gui.add(window, 'carSpeed', 10, 200).step(5).name('Vitesse f1');
-	gui.add(window, 'carMoving').name('f1 on/off');
+    gui.add(window, 'carMoving').name('F1 mouvement');
 }
 
 function animate() {