diff --git a/aep-schedule-website/.cargo/config.toml b/aep-schedule-website/.cargo/config.toml
new file mode 100644
index 0000000000000000000000000000000000000000..1aa838e5390ab42c84455a8f630fda66c13b0c41
--- /dev/null
+++ b/aep-schedule-website/.cargo/config.toml
@@ -0,0 +1,2 @@
+[build]
+rustflags = ["-Z", "threads=8"]
diff --git a/aep-schedule-website/Cargo.toml b/aep-schedule-website/Cargo.toml
index 51d57cc29ea8f7f8a170e1ffa34fd4782cf4d986..e5193b63afb31c5b702f50b545395b9644daaf33 100644
--- a/aep-schedule-website/Cargo.toml
+++ b/aep-schedule-website/Cargo.toml
@@ -66,6 +66,12 @@ ssr = [
     "dep:tracing",
 ]
 
+[profile.dev]
+opt-level = 1
+
+[profile.dev.package."*"]
+opt-level = 3
+
 # Defines a size-optimized profile for the WASM bundle in release mode
 [profile.wasm-release]
 inherits = "release"
diff --git a/aep-schedule-website/src/frontend/components/options/form.rs b/aep-schedule-website/src/frontend/components/options/form.rs
index 301894ee2e20d7156359499d24f97c494f5ba797..11fe24e9bbc1b3fdcc8be9c76ebee8f44b78c6c8 100644
--- a/aep-schedule-website/src/frontend/components/options/form.rs
+++ b/aep-schedule-website/src/frontend/components/options/form.rs
@@ -15,9 +15,9 @@ pub fn OptionsForms(action: Action<SchedulesOptions, Vec<Schedule>>) -> impl Int
 
     view! {
         <CoursesSelector state=state submit/>
-        <span class="spacer"></span>
+        <span class="grow"></span>
         <div class="row-container input-item auto-bottom"><p>"Nombre de conflits maximum"</p><NumberInput value=state.max_nb_conflicts max=127/></div>
         <SelectOptimizations state=state submit/>
-        <button on:click=move |_| {submit()} class="submit">"Générer les horaires"</button>
+        <button on:click=move |_| {submit()} class="select-none rounded-lg bg-amber-500 py-2 text-xl px-4 w-64 self-center text-center align-middle text-black shadow-md shadow-amber-500/20 transition-all hover:shadow-lg hover:shadow-amber-500/40 focus:opacity-[0.85] focus:shadow-none active:opacity-[0.85] active:shadow-none disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none">"Générer les horaires"</button>
     }
 }
diff --git a/aep-schedule-website/src/frontend/components/options/search.rs b/aep-schedule-website/src/frontend/components/options/search.rs
index a69d236b840e5e7dea41528be753f7e70fd062a3..3a6c12a55ad251107259f112458d133743f79ede 100644
--- a/aep-schedule-website/src/frontend/components/options/search.rs
+++ b/aep-schedule-website/src/frontend/components/options/search.rs
@@ -42,6 +42,6 @@ pub fn SearchCourse(
     };
 
     Some(view! {
-        <AutoComplete suggestion_list=courses placeholder="Cours" class="input-item" submit=on_submit id="course-submitter"/>
+        <AutoComplete suggestion_list=courses placeholder="Cours" submit=on_submit id="course-submitter"/>
     })
 }
diff --git a/aep-schedule-website/src/frontend/pages/apropos.rs b/aep-schedule-website/src/frontend/pages/apropos.rs
index cb634f4c23a268c48fd285697f2cd2135d17b0e3..cc6810e530b9843dbde817443d8c18cc31714d2e 100644
--- a/aep-schedule-website/src/frontend/pages/apropos.rs
+++ b/aep-schedule-website/src/frontend/pages/apropos.rs
@@ -3,7 +3,7 @@ use leptos::*;
 #[component]
 pub fn HomePage() -> impl IntoView {
     view! {
-        <section class="home">
+        <section class="p-1 w-full h-full">
             <h1>"Générateur d'horaire de l'AEP v2"</h1>
             <p>
                 "Vous en avez assez d'avoir des horaires horribles fait pas le registrariat? Vous êtes au bon endroit. Le générateur d'horaire v2 est une réécriture plus performante, intuive et moderne du générateur d'horaire. Il vous aidera à trouver un horaire parfait."
diff --git a/aep-schedule-website/src/frontend/pages/classroom.rs b/aep-schedule-website/src/frontend/pages/classroom.rs
index 3485aad63da23067d717c56d2b8eaf5c42cc5d91..cc24ea0a0f7d38008b9e7d6d8842dd00a1fe8b78 100644
--- a/aep-schedule-website/src/frontend/pages/classroom.rs
+++ b/aep-schedule-website/src/frontend/pages/classroom.rs
@@ -66,7 +66,7 @@ pub fn ClassRoomComponent() -> impl IntoView {
                 {classrooms.as_ref().map(|classrooms| {
                     let classrooms = classrooms.iter().map(|c| AutoCompleteOption::new(c.to_string(), c.to_string())).collect();
                     view!{
-                        <AutoComplete suggestion_list=classrooms placeholder="Local" class="input-item" submit=on_submit id="input-classroom"/>
+                        <AutoComplete suggestion_list=classrooms placeholder="Local" class="w-96" submit=on_submit id="input-classroom"/>
                     }
                 }).ok()}
             </Await>
diff --git a/aep-schedule-website/style/common.scss b/aep-schedule-website/style/common.scss
index e8a48d9c9d5a102fcd86738da545e35072c93ebd..5d3bed4de9b3e64377080bd307f8698c775c243e 100644
--- a/aep-schedule-website/style/common.scss
+++ b/aep-schedule-website/style/common.scss
@@ -41,10 +41,6 @@ input:focus~.result-box {
     background-color: #d4d4d4;
 }
 
-.spacer {
-    flex-grow: 1;
-}
-
 .warning-box {
     padding: 1em;
     gap: 1em;
@@ -55,8 +51,4 @@ input:focus~.result-box {
     text-justify: auto;
     background-color: $error-color;
     color: white;
-}
-
-.small-margin {
-    margin: 0.1em;
 }
\ No newline at end of file
diff --git a/aep-schedule-website/style/main.scss b/aep-schedule-website/style/main.scss
index ceb4b3fd412ca68fbb480748509783983d54e11d..d617d222ef3fc1793998390d5d6a04f6c9ffb7da 100644
--- a/aep-schedule-website/style/main.scss
+++ b/aep-schedule-website/style/main.scss
@@ -78,11 +78,6 @@ main {
 	}
 }
 
-section {
-	width: 100%;
-	height: 100%;
-}
-
 .hide-left-panel.left-panel {
 	@media screen and (max-width: 1000px) {
 		animation: 0.5s ease-out 0s 1 slideOutToLeft;
@@ -112,7 +107,7 @@ section {
 	flex-direction: column;
 	justify-items: center;
 	background-color: $background-color;
-	padding: 1em 1em;
+	padding: 1.0rem;
 	gap: 0.2em;
 	animation: 0.5s ease-out 0s 1 slideInFromLeft;
 }
@@ -131,7 +126,7 @@ section {
 	flex-direction: column;
 	align-items: center;
 	gap: 10px;
-	padding: 0.42em;
+	padding: 0.25rem;
 	background-color: $light-background;
 }
 
@@ -176,10 +171,6 @@ a:hover {
 	text-decoration: underline;
 }
 
-.home {
-	padding: 0em 1em;
-}
-
 nav>a {
 	color: black;
 }
@@ -235,9 +226,4 @@ nav.active {
 	@media screen and (max-width: 1000px) {
 		top: 0;
 	}
-}
-
-.classroom-page {
-	justify-content: space-between;
-	padding: 2em;
 }
\ No newline at end of file
diff --git a/aep-schedule-website/style/options.scss b/aep-schedule-website/style/options.scss
index 6d81169263dad6eec3b2cccd57c6af32586fa8bd..faf7ecad7229df97bcfa4ea62bdae8aa59e043ff 100644
--- a/aep-schedule-website/style/options.scss
+++ b/aep-schedule-website/style/options.scss
@@ -1,18 +1,5 @@
 @import 'constant.scss';
 
-.submit {
-  background-color: $highlight-color;
-  border: none;
-  color: $highlight-text;
-  padding: 0.2em 0.5em;
-  text-decoration: none;
-  border-radius: 10px;
-  cursor: pointer;
-  font-size: 20pt;
-  width: 12em;
-  align-self: center;
-}
-
 .relative {
   position: relative;
 }
@@ -132,13 +119,6 @@
   background-color: $error-color;
 }
 
-.input-item {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  gap: 10px;
-}
-
 .vertical-bar {
   max-height: 100%;
   width: 2px;