diff --git a/assets/css/_bootstrap.scss b/assets/css/_bootstrap.scss
index 7c18f401c9957390321b6a6c3bf49237519ec566..465990ace11fdcd221e037ca5130798f0f5593e2 100644
--- a/assets/css/_bootstrap.scss
+++ b/assets/css/_bootstrap.scss
@@ -1,37 +1,53 @@
+/*!
+ * Bootstrap v5.1.3 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+
+// scss-docs-start import-stack
+// Configuration
 @import "~bootstrap/scss/functions";
 @import "~bootstrap/scss/variables";
 @import "~bootstrap/scss/mixins";
+@import "~bootstrap/scss/utilities";
+
+// Layout & components
 @import "~bootstrap/scss/root";
 @import "~bootstrap/scss/reboot";
 @import "~bootstrap/scss/type";
 @import "~bootstrap/scss/images";
-@import "~bootstrap/scss/code";
+@import "~bootstrap/scss/containers";
 @import "~bootstrap/scss/grid";
 @import "~bootstrap/scss/tables";
 @import "~bootstrap/scss/forms";
 @import "~bootstrap/scss/buttons";
 @import "~bootstrap/scss/transitions";
-//  @import "~bootstrap/scss/dropdown";
-//  @import "~bootstrap/scss/button-group";
-@import "~bootstrap/scss/input-group";
-//  @import "~bootstrap/scss/custom-forms";
+// @import "~bootstrap/scss/dropdown";
+// @import "~bootstrap/scss/button-group";
 @import "~bootstrap/scss/nav";
 @import "~bootstrap/scss/navbar";
 @import "~bootstrap/scss/card";
+@import "~bootstrap/scss/accordion";
 @import "~bootstrap/scss/breadcrumb";
-//  @import "~bootstrap/scss/pagination";
+// @import "~bootstrap/scss/pagination";
 @import "~bootstrap/scss/badge";
-// @import "~bootstrap/scss/jumbotron";
 @import "~bootstrap/scss/alert";
-//  @import "~bootstrap/scss/progress";
-//  @import "~bootstrap/scss/media";
+// @import "~bootstrap/scss/progress";
 @import "~bootstrap/scss/list-group";
 @import "~bootstrap/scss/close";
-//  @import "~bootstrap/scss/toasts";
-//  @import "~bootstrap/scss/modal";
+// @import "~bootstrap/scss/toasts";
+// @import "~bootstrap/scss/modal";
 @import "~bootstrap/scss/tooltip";
-//  @import "~bootstrap/scss/popover";
-//  @import "~bootstrap/scss/carousel";
-//  @import "~bootstrap/scss/spinners";
-@import "~bootstrap/scss/utilities";
-@import "~bootstrap/scss/print";
+// @import "~bootstrap/scss/popover";
+// @import "~bootstrap/scss/carousel";
+// @import "~bootstrap/scss/spinners";
+@import "~bootstrap/scss/offcanvas";
+// TODO : A tester
+// @import "~bootstrap/scss/placeholders";
+
+// Helpers
+@import "~bootstrap/scss/helpers";
+
+// Utilities
+@import "~bootstrap/scss/utilities/api";
diff --git a/assets/css/style _back.scss b/assets/css/style _back.scss
new file mode 100644
index 0000000000000000000000000000000000000000..3432e1cc784873c4ac1577f93dca6d84cf836a3b
--- /dev/null
+++ b/assets/css/style _back.scss	
@@ -0,0 +1,110 @@
+// Bootstrap variables customisation
+// Fonts & Typo
+$link-hover-decoration: none;
+$text-muted: var(--text-secondary-color);
+$enable-responsive-font-sizes: true;
+$font-family-base: Montserrat, Helvetica, Arial, serif;
+$small-font-size: 70%;
+
+// Body
+$body-bg: var(--background-color-primary);
+$body-color: var(--text-primary-color);
+
+// Tables;
+$table-border-color: var(--background-color-primary);
+$table-cell-padding: 0.5rem;
+$table-bg: var(--background-color-primary);
+$table-color: var(--text-primary-color);
+$table-head-bg: var(--background-color-secondary);
+$table-head-color: var(--text-primary-color);
+$table-hover-bg: rgba(0, 0, 255, 0.075);
+
+// Breadcrumb
+$breadcrumb-bg: var(--background-color-secondary);
+$breadcrumb-active-color: var(--text-primary-color);
+$breadcrumb-divider-color: var(--text-primary-color);
+
+// List-groups
+$list-group-bg: var(--background-color-secondary);
+$list-group-active-bg: rgba(0, 0, 255, 0.075);
+$list-group-active-color: var(--text-primary-color);
+$list-group-action-hover-color: var(--text-secondary-color);
+$list-group-action-color: var(--text-primary-color);
+
+// Cards
+$card-bg: var(--background-color-secondary);
+
+// Close button
+$close-color: var(--text-primary-color);
+$close-font-weight: 500;
+
+// Mark
+$mark-padding: 0.2em 0;
+$mark-bg: yellow;
+
+// Colors
+$info: #0a8299;
+
+@import "font";
+@import "bootstrap";
+
+.btn:disabled {
+	cursor: not-allowed;
+}
+
+.table {
+	&-fixed {
+		table-layout: fixed;
+	}
+
+	&.sortable thead {
+		tr {
+			border-left: 1px solid var(--text-primary-color);
+		}
+
+		th {
+			border-right: 1px solid;
+			border-top: 1px solid;
+			border-bottom: 1px solid;
+		}
+	}
+	tbody tr > * {
+		vertical-align: middle;
+	}
+
+	&-hover tbody tr {
+		cursor: pointer;
+	}
+
+	.td-date {
+		width: 165px;
+	}
+}
+
+.list-group-item {
+	&-action:not(.active) {
+		&:hover {
+			background: rgba(0, 0, 255, 0.075);
+			color: var(--text-primary-color);
+		}
+	}
+
+	.menu-item {
+		transition: left 0.3s ease-in-out;
+		left: 0;
+
+		&::before {
+			content: "›";
+			position: relative;
+			left: -0.5em;
+		}
+
+		&:hover {
+			left: 0.5em;
+		}
+	}
+}
+
+.icon {
+	width: 1.15rem;
+}
diff --git a/assets/css/style.scss b/assets/css/style.scss
index 3432e1cc784873c4ac1577f93dca6d84cf836a3b..57ddf82a98ad19f4d97293a642fea3f8889430e2 100644
--- a/assets/css/style.scss
+++ b/assets/css/style.scss
@@ -1,50 +1,3 @@
-// Bootstrap variables customisation
-// Fonts & Typo
-$link-hover-decoration: none;
-$text-muted: var(--text-secondary-color);
-$enable-responsive-font-sizes: true;
-$font-family-base: Montserrat, Helvetica, Arial, serif;
-$small-font-size: 70%;
-
-// Body
-$body-bg: var(--background-color-primary);
-$body-color: var(--text-primary-color);
-
-// Tables;
-$table-border-color: var(--background-color-primary);
-$table-cell-padding: 0.5rem;
-$table-bg: var(--background-color-primary);
-$table-color: var(--text-primary-color);
-$table-head-bg: var(--background-color-secondary);
-$table-head-color: var(--text-primary-color);
-$table-hover-bg: rgba(0, 0, 255, 0.075);
-
-// Breadcrumb
-$breadcrumb-bg: var(--background-color-secondary);
-$breadcrumb-active-color: var(--text-primary-color);
-$breadcrumb-divider-color: var(--text-primary-color);
-
-// List-groups
-$list-group-bg: var(--background-color-secondary);
-$list-group-active-bg: rgba(0, 0, 255, 0.075);
-$list-group-active-color: var(--text-primary-color);
-$list-group-action-hover-color: var(--text-secondary-color);
-$list-group-action-color: var(--text-primary-color);
-
-// Cards
-$card-bg: var(--background-color-secondary);
-
-// Close button
-$close-color: var(--text-primary-color);
-$close-font-weight: 500;
-
-// Mark
-$mark-padding: 0.2em 0;
-$mark-bg: yellow;
-
-// Colors
-$info: #0a8299;
-
 @import "font";
 @import "bootstrap";
 
diff --git a/components/btn/Clipboard.vue b/components/btn/Clipboard.vue
index 194b9dbfccf8acc089547320a72ed3a9a062f125..1ccd7c16e9c2d3c15e6fc0b31a082d49cefb66df 100644
--- a/components/btn/Clipboard.vue
+++ b/components/btn/Clipboard.vue
@@ -28,14 +28,14 @@ export default {
 	methods: {
 		copyText() {
 			navigator.clipboard.writeText(this.textContent)
-			$("#btncopy").tooltip({
-				title: this.$t("copie") + " !",
-				trigger: "manual"
-			})
-			$("#btncopy").tooltip("show")
-			setTimeout(() => {
-				$("#btncopy").tooltip("hide")
-			}, 1000)
+			// $("#btncopy").tooltip({
+			// 	title: this.$t("copie") + " !",
+			// 	trigger: "manual"
+			// })
+			// $("#btncopy").tooltip("show")
+			// setTimeout(() => {
+			// 	$("#btncopy").tooltip("hide")
+			// }, 1000)
 		}
 	}
 }
diff --git a/layouts/default.vue b/layouts/default.vue
index 0f7e668b7196a17374722d0400dad1a363dfb0e6..6e92b150a74d83970777e5ce3ad03f287765efb3 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -3,7 +3,7 @@
 		<NavigationBar :breadcrumb="breadcrumb" :menus="menus" />
 		<Nuxt />
 		<a
-			class="scrollToTop bg-info position-fixed text-white d-flex align-items-center justify-content-center rounded"
+			class="scrollToTop fade bg-info position-fixed text-white d-flex align-items-center justify-content-center rounded"
 			href="#"
 			@click="scrollToTop($event)">
 			<outline-chevron-double-up-icon class="icon" />
@@ -49,16 +49,13 @@ export default {
 		}
 	},
 	beforeMount() {
-		let animated = false
 		window.addEventListener("scroll", function (e) {
-			if (window.scrollY > 250 && !animated) {
-				$(".scrollToTop").css("right", "1rem")
-			} else {
-				animated = true
-				setTimeout(function () {
-					animated = false
-				}, 300)
-				$(".scrollToTop").css("right", "-4rem")
+			let scrollClassList = document.querySelector(".scrollToTop").classList
+			let visible = scrollClassList.contains("show")
+			if (!visible && window.scrollY > 250) {
+				scrollClassList.add("show")
+			} else if (visible && window.scrollY <= 250) {
+				scrollClassList.remove("show")
 			}
 		})
 	},
@@ -129,6 +126,10 @@ main {
 	opacity: 0.7;
 	transition: all 0.3s ease-in;
 
+	&.show {
+		right: 1rem;
+	}
+
 	&:hover {
 		opacity: 1;
 	}
diff --git a/nuxt.config.js b/nuxt.config.js
index 41270b5bd9089f81f7f646c3c19eab256281f6e9..f2984f2aff02d668b230c7441068945e827ef132 100644
--- a/nuxt.config.js
+++ b/nuxt.config.js
@@ -34,7 +34,7 @@ export default {
 	plugins: [
 		"~plugins/favourites.js",
 		"~plugins/filters.js",
-		"~plugins/bootstrap.js"
+		{ src: "~/plugins/bootstrap.js", mode: "client" }
 	],
 
 	// Auto import components: https://go.nuxtjs.dev/config-components
@@ -129,10 +129,6 @@ export default {
 
 	// Build Configuration: https://go.nuxtjs.dev/config-build
 	build: {
-		plugins: [
-			new webpack.ProvidePlugin({
-				$: "jquery"
-			})
-		]
+		plugins: []
 	}
 }
diff --git a/package.json b/package.json
index eaf1b1bb717cc529750145983157468d7a873d0a..2cf212306239944fb393bc1185223c760a26a1db 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
 		"@nuxtjs/pwa": "^3.3.5",
 		"apollo-link-context": "^1.0.20",
 		"apollo-link-http": "^1.5.17",
-		"bootstrap": "^4.6.1",
+		"bootstrap": "^5.1.3",
 		"core-js": "^3.15.1",
 		"graphql-tag": "^2.12.6",
 		"nuxt": "^2.15.8",
diff --git a/pages/lexique.vue b/pages/lexique.vue
index 8db090354ec8572ea491866633035cb456e1bc3c..c71a3a8b4ef94792505f710699998f2e297bf088 100644
--- a/pages/lexique.vue
+++ b/pages/lexique.vue
@@ -122,10 +122,12 @@ export default {
 	},
 	beforeMount() {
 		window.addEventListener("scroll", function (e) {
-			if (window.scrollY > 20) {
-				$(".rech-lexique").addClass("reduced")
-			} else {
-				$(".rech-lexique").removeClass("reduced")
+			let scrollClassList = document.querySelector(".rech-lexique").classList
+			let reduced = scrollClassList.contains("reduced")
+			if (!reduced && window.scrollY > 20) {
+				scrollClassList.add("reduced")
+			} else if (reduced && window.scrollY <= 20) {
+				scrollClassList.remove("reduced")
 			}
 		})
 	},
diff --git a/plugins/bootstrap.js b/plugins/bootstrap.js
index 18c3e09b6810be9f51b91d406efc9073ad9a8e8f..af4c79da2707d7edb450607c6cb22012e2b36517 100644
--- a/plugins/bootstrap.js
+++ b/plugins/bootstrap.js
@@ -1,3 +1 @@
-if (process.browser) {
-	require("bootstrap")
-}
\ No newline at end of file
+import bootstrap from "bootstrap"
diff --git a/plugins/favourites.js b/plugins/favourites.js
index 73187ba0f3604bec6af3edd14eb7a134daa34839..d140fccc276e69be228a80c680752c792067d1b0 100644
--- a/plugins/favourites.js
+++ b/plugins/favourites.js
@@ -6,20 +6,20 @@ export default (context, inject) => {
 		: []
 
 	let toggleFavourite = (uid, e) => {
-		$(e.target).tooltip({
-			title: function () {
-				return context.$favourites.list.includes(uid)
-					? context.app.i18n.t("favoris.supprime")
-					: context.app.i18n.t("favoris.enregistre")
-			},
-			html: true,
-			trigger: "manual"
-		})
+		// $(e.target).tooltip({
+		// 	title: function () {
+		// 		return context.$favourites.list.includes(uid)
+		// 			? context.app.i18n.t("favoris.supprime")
+		// 			: context.app.i18n.t("favoris.enregistre")
+		// 	},
+		// 	html: true,
+		// 	trigger: "manual"
+		// })
 
-		$(e.target).tooltip("show")
-		setTimeout(() => {
-			$(e.target).tooltip("hide")
-		}, 600)
+		// $(e.target).tooltip("show")
+		// setTimeout(() => {
+		// 	$(e.target).tooltip("hide")
+		// }, 600)
 
 		if (!context.$favourites.list.includes(uid)) {
 			context.$favourites.list.push(uid)