diff --git a/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp b/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp
index 8b998c4dd2b1a0f74c3675198079cf5db390d1ac..3e55f24f2367cdcbe019791a9ab971559bab4d12 100644
--- a/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp
+++ b/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp
@@ -83,22 +83,14 @@ namespace cgp
 			camera_model.manipulator_translate_front(magnitude);
 
 		// with arrows:
-		if (inputs->keyboard.ctrl == false) {
-			if (inputs->keyboard.up)
-				camera_model.manipulator_translate_in_plane({ 0,-magnitude });
-			if (inputs->keyboard.down)
-				camera_model.manipulator_translate_in_plane({ 0, magnitude });
-			if (inputs->keyboard.left)
-				camera_model.manipulator_translate_in_plane({ magnitude ,0 });
-			if (inputs->keyboard.right)
-				camera_model.manipulator_translate_in_plane({ -magnitude ,0 });
-		}
-		else {
-			if (inputs->keyboard.up)
-				camera_model.manipulator_translate_front(-magnitude);
-			if (inputs->keyboard.down)
-				camera_model.manipulator_translate_front(magnitude);
-		}
+		if (inputs->keyboard.up)
+			camera_model.manipulator_translate_front(-magnitude);
+		if (inputs->keyboard.down)
+			camera_model.manipulator_translate_front(magnitude);
+		if (inputs->keyboard.left)
+			camera_model.manipulator_translate_in_plane({ magnitude ,0 });
+		if (inputs->keyboard.right)
+			camera_model.manipulator_translate_in_plane({ -magnitude ,0 });
 
 
 		update(camera_matrix_view);
diff --git a/projet-code/scenes_inf443/base/base.exe b/projet-code/scenes_inf443/base/base.exe
index dce488f2c1f3623a125c43b6c259dd7e8c6b341e..f74f65cd0f787e75efac0d42bc582eab637f05cf 100644
Binary files a/projet-code/scenes_inf443/base/base.exe and b/projet-code/scenes_inf443/base/base.exe differ
diff --git a/projet-code/scenes_inf443/base/src/scene.cpp b/projet-code/scenes_inf443/base/src/scene.cpp
index 6b3cb845b092eaa8389e1c9138551c645155b701..2a6246698bf58eb0889b92f1c1f0e50fc0375b56 100644
--- a/projet-code/scenes_inf443/base/src/scene.cpp
+++ b/projet-code/scenes_inf443/base/src/scene.cpp
@@ -119,6 +119,10 @@ void scene_structure::display_frame()
 	//custom function we added to ..first_person_eulor, changes whether the cursor is trapped or not
 	camera_control.trap_cursor(gui.trap_cursor);
 
+	vec3 eye_level = camera_control.camera_model.position_camera;
+	eye_level[2] = evaluate_terrain_height(eye_level[0], eye_level[1]) + 0.75;
+	camera_control.camera_model.position_camera = eye_level;
+
 	// Set the light to the current position of the camera
 	environment.light = camera_control.camera_model.position();