diff --git a/app/Http/Controllers/Public/LegalMentionsController.php b/app/Http/Controllers/Public/LegalMentionsController.php
new file mode 100644
index 0000000000000000000000000000000000000000..4098697920ba33c78d7742a818a9902af53125af
--- /dev/null
+++ b/app/Http/Controllers/Public/LegalMentionsController.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Http\Controllers\Public;
+
+use App\Http\Controllers\Controller;
+use App\Models\LegalMention;
+
+class LegalMentionsController extends Controller
+{
+    public function __invoke()
+    {
+        $activeLegalMentionsText = LegalMention::where('active', true)->first();
+
+        if (! $activeLegalMentionsText) {
+            abort(404);
+        }
+        $activeLegalMentionsText = $activeLegalMentionsText->contentTransKey->getTranslation();
+
+        return view('public.legal-mentions', compact('activeLegalMentionsText'));
+    }
+}
diff --git a/lang/fr/generic.php b/lang/fr/generic.php
index 4b27032c33a73fb3c47194d9a0b8197c2d786f5d..0c369358497101f7f0bfffd75983290fdc6b7610 100644
--- a/lang/fr/generic.php
+++ b/lang/fr/generic.php
@@ -4,4 +4,6 @@
     'custom_needs' => 'Un besoin particulier ?',
     'custom_needs_desc' => 'Je suis ouverte à toute proposition. N’hésitez pas à me contacter !',
     'completed_in' => 'Réalisé en',
+    'legal_mentions' => 'Mentions légales',
+    'terms' => 'Conditions générales de vente',
 ];
diff --git a/resources/views/components/public/footer.blade.php b/resources/views/components/public/footer.blade.php
index 82765bb782807edccefa43c627b51a3c27a4e383..720ebc31fcceffa73e42d48bb0a02060f8f95286 100644
--- a/resources/views/components/public/footer.blade.php
+++ b/resources/views/components/public/footer.blade.php
@@ -36,11 +36,12 @@
                     <div class="self-stretch text-2xl font-bold">Informations légales</div>
                     <ul class="flex flex-col gap-2">
                         <li>
-                            <a href="{{ route('legal-mentions') }}" class="text-muted hover:text-primary">Mentions
-                                légales</a>
+                            <a href="{{ route('legal-mentions') }}"
+                               class="text-muted hover:text-primary">{{ __('generic.legal_mentions') }}</a>
                         </li>
                         <li>
-                            <a href="#" class="text-muted hover:text-primary">Conditions générales de vente</a>
+                            <a href="{{ route('terms') }}"
+                               class="text-muted hover:text-primary">{{ __('generic.terms') }}</a>
                         </li>
                     </ul>
                 </div>
diff --git a/resources/views/public/legal-mentions.blade.php b/resources/views/public/legal-mentions.blade.php
new file mode 100644
index 0000000000000000000000000000000000000000..65d3c5cc42d7c0a94a6e7782337eb2535d96c795
--- /dev/null
+++ b/resources/views/public/legal-mentions.blade.php
@@ -0,0 +1,16 @@
+@extends('layouts.public', ['title' => __('generic.legal_mentions')])
+
+@section('content')
+    <x-public.navbar class="container mx-auto px-4"/>
+
+    <div class="container mx-auto px-4 py-24 flex flex-col gap-16">
+        <x-public.generic-page-header title="{{ __('generic.legal_mentions') }}"/>
+        <div>
+            <x-markdown class="markdown">
+                {{ $activeLegalMentionsText }}
+            </x-markdown>
+        </div>
+    </div>
+
+    <x-public.footer/>
+@endsection
\ No newline at end of file
diff --git a/resources/views/public/terms.blade.php b/resources/views/public/terms.blade.php
index 65b7b6766651422bc96a416fbe14bebe5d836b23..c7d919ab651ef56b0fc097ccca6d36e41e0cdc9d 100644
--- a/resources/views/public/terms.blade.php
+++ b/resources/views/public/terms.blade.php
@@ -1,11 +1,11 @@
-@extends('layouts.public', ['title' => "Mentions légales"])
+@extends('layouts.public', ['title' => __('generic.terms')])
 
 @section('content')
     <x-public.navbar class="container mx-auto px-4"/>
 
     <div class="container mx-auto px-4 py-24 flex flex-col gap-16">
-        <x-public.generic-page-header title="Mentions légales"/>
-        <div class="">
+        <x-public.generic-page-header title="{{ __('generic.terms') }}"/>
+        <div>
             <x-markdown class="markdown">
                 {{ $activeTermsText }}
             </x-markdown>
diff --git a/routes/web.php b/routes/web.php
index d92fdd428e1abb9ea761ad63045b12ddbd2a8c13..3f72ca537dad8768b14793c321871478b4695110 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -11,6 +11,7 @@
 use App\Http\Controllers\Admin\SocialMediaLinksController;
 use App\Http\Controllers\Admin\TermsSectionController;
 use App\Http\Controllers\Public\IndexController;
+use App\Http\Controllers\Public\LegalMentionsController;
 use App\Http\Controllers\Public\PortfolioController;
 use App\Http\Controllers\Public\PrestationController as PublicPrestationController;
 use App\Http\Controllers\Public\TermsController;
@@ -30,7 +31,8 @@
     Route::get('/portfolio/api', [PortfolioController::class, 'api'])->name('portfolio.api');
     Route::get('/portfolio/{slug}', [PortfolioController::class, 'show'])->name('portfolio.show');
     Route::get('/prestations/{slug}', [PublicPrestationController::class, 'index'])->name('prestations.show');
-    Route::get('/mentions-legales', TermsController::class)->name('legal-mentions');
+    Route::get('/mentions-legales', LegalMentionsController::class)->name('legal-mentions');
+    Route::get('/conditions-generales-de-vente', TermsController::class)->name('terms');
 
     Route::view('/maintenance', 'public.maintenance')->name('maintenance');
 });