diff --git a/lps/base/__init__.py b/lps/base/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/lps/base/apps.py b/lps/base/apps.py
new file mode 100644
index 0000000..bca3fb0
--- /dev/null
+++ b/lps/base/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class BaseConfig(AppConfig):
+    default_auto_field = "django.db.models.BigAutoField"
+    name = "base"
diff --git a/lps/base/migrations/0001_initial.py b/lps/base/migrations/0001_initial.py
new file mode 100644
index 0000000..91fdaaf
--- /dev/null
+++ b/lps/base/migrations/0001_initial.py
@@ -0,0 +1,47 @@
+# Generated by Django 5.0.6 on 2024-06-12 14:16
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    initial = True
+
+    dependencies = []
+
+    operations = [
+        migrations.CreateModel(
+            name="NavigationSettings",
+            fields=[
+                (
+                    "id",
+                    models.BigAutoField(
+                        auto_created=True,
+                        primary_key=True,
+                        serialize=False,
+                        verbose_name="ID",
+                    ),
+                ),
+                (
+                    "address",
+                    models.CharField(
+                        blank=True, max_length=256, verbose_name="Adresse"
+                    ),
+                ),
+                (
+                    "phone",
+                    models.CharField(
+                        blank=True, max_length=16, verbose_name="Numéro de téléphone"
+                    ),
+                ),
+                (
+                    "email",
+                    models.EmailField(
+                        blank=True, max_length=254, verbose_name="Adresse de courriel"
+                    ),
+                ),
+            ],
+            options={
+                "abstract": False,
+            },
+        ),
+    ]
diff --git a/lps/base/migrations/0002_alter_navigationsettings_phone.py b/lps/base/migrations/0002_alter_navigationsettings_phone.py
new file mode 100644
index 0000000..3666094
--- /dev/null
+++ b/lps/base/migrations/0002_alter_navigationsettings_phone.py
@@ -0,0 +1,19 @@
+# Generated by Django 5.0.6 on 2024-06-12 14:18
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ("base", "0001_initial"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="navigationsettings",
+            name="phone",
+            field=models.CharField(
+                blank=True, max_length=32, verbose_name="Numéro de téléphone"
+            ),
+        ),
+    ]
diff --git a/lps/base/migrations/__init__.py b/lps/base/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/lps/base/models.py b/lps/base/models.py
new file mode 100644
index 0000000..a421328
--- /dev/null
+++ b/lps/base/models.py
@@ -0,0 +1,23 @@
+from django.db import models
+from wagtail.admin.panels import FieldPanel, MultiFieldPanel
+from wagtail.contrib.settings.models import BaseGenericSetting, register_setting
+
+
+@register_setting
+class NavigationSettings(BaseGenericSetting):
+    address = models.CharField(max_length=256, verbose_name="Adresse", blank=True)
+    phone = models.CharField(
+        max_length=32, verbose_name="Numéro de téléphone", blank=True
+    )
+    email = models.EmailField(verbose_name="Adresse de courriel", blank=True)
+
+    panels = [
+        MultiFieldPanel(
+            [
+                FieldPanel("address"),
+                FieldPanel("phone"),
+                FieldPanel("email"),
+            ],
+            "Informations de contact",
+        )
+    ]
diff --git a/lps/home/migrations/0004_homepage_hero_text_homepage_image.py b/lps/home/migrations/0004_homepage_hero_text_homepage_image.py
new file mode 100644
index 0000000..a5ffb26
--- /dev/null
+++ b/lps/home/migrations/0004_homepage_hero_text_homepage_image.py
@@ -0,0 +1,33 @@
+# Generated by Django 5.0.6 on 2024-06-12 14:24
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ("home", "0003_homepage_body"),
+        ("wagtailimages", "0026_delete_uploadedimage"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="homepage",
+            name="hero_text",
+            field=models.CharField(
+                blank=True, help_text="Phrase d'accueil", max_length=1024
+            ),
+        ),
+        migrations.AddField(
+            model_name="homepage",
+            name="image",
+            field=models.ForeignKey(
+                blank=True,
+                help_text="Image page d'accueil",
+                null=True,
+                on_delete=django.db.models.deletion.SET_NULL,
+                related_name="+",
+                to="wagtailimages.image",
+            ),
+        ),
+    ]
diff --git a/lps/home/models.py b/lps/home/models.py
index fe0adbe..a9941be 100644
--- a/lps/home/models.py
+++ b/lps/home/models.py
@@ -1,11 +1,25 @@
+from django.db import models
 from wagtail.admin.panels import FieldPanel
 from wagtail.fields import RichTextField
 from wagtail.models import Page
 
 
 class HomePage(Page):
+    image = models.ForeignKey(
+        "wagtailimages.Image",
+        null=True,
+        blank=True,
+        on_delete=models.SET_NULL,
+        related_name="+",
+        help_text="Image page d'accueil",
+    )
+    hero_text = models.CharField(
+        blank=True, max_length=1024, help_text="Phrase d'accueil"
+    )
     body = RichTextField(blank=True)
 
     content_panels = Page.content_panels + [
+        FieldPanel("image"),
+        FieldPanel("hero_text"),
         FieldPanel("body"),
     ]
diff --git a/lps/home/templates/home/home_page.html b/lps/home/templates/home/home_page.html
index 90b2270..02ece25 100644
--- a/lps/home/templates/home/home_page.html
+++ b/lps/home/templates/home/home_page.html
@@ -1,9 +1,12 @@
 {% extends "base.html" %}
-{% load wagtailcore_tags %}
+{% load wagtailcore_tags wagtailimages_tags %}
 {% block body_class %}template-homepage{% endblock %}
 {% block content %}
-    <h1>Lycée du Pays de Soule</h1>
-    <p>Formations générales, scientifiques et technologiques</p>
+    <h1>{{ page.title }}</h1>
+    <section>
+        <p>{{ page.hero_text }}</p>
+        {% srcset_image page.image width-{510,700,950,1200,1450} %}
+    </section>
     <hr>
     <section>
         {{ page.body|richtext }}
diff --git a/lps/lps/settings/base.py b/lps/lps/settings/base.py
index 0811b10..05746c9 100644
--- a/lps/lps/settings/base.py
+++ b/lps/lps/settings/base.py
@@ -24,10 +24,12 @@ BASE_DIR = os.path.dirname(PROJECT_DIR)
 # Application definition
 
 INSTALLED_APPS = [
+    "base",
     "home",
     "search",
     "wagtail.contrib.forms",
     "wagtail.contrib.redirects",
+    "wagtail.contrib.settings",
     "wagtail.embeds",
     "wagtail.sites",
     "wagtail.users",
@@ -73,6 +75,7 @@ TEMPLATES = [
                 "django.template.context_processors.request",
                 "django.contrib.auth.context_processors.auth",
                 "django.contrib.messages.context_processors.messages",
+                "wagtail.contrib.settings.context_processors.settings",
             ],
         },
     },
diff --git a/lps/lps/static/css/lps.css b/lps/lps/static/css/lps.css
index 92b7251..f49fa54 100644
--- a/lps/lps/static/css/lps.css
+++ b/lps/lps/static/css/lps.css
@@ -6,6 +6,6 @@ h1, h2, h3, h4, h5, h6 {
 	--pico-font-weight: 600;
 }
 
-img.full-width {
+img {
 	width: 100%;
 }
diff --git a/lps/lps/templates/footer.html b/lps/lps/templates/footer.html
index 708031b..5f1b0e3 100644
--- a/lps/lps/templates/footer.html
+++ b/lps/lps/templates/footer.html
@@ -1,6 +1,17 @@
 <hr>
 <section>
-    <p>
-        Lycée du Pays de Soule – Avenue Jean Monnet, 64130 Chéraute – <a href="tel:+33559282228">+33&nbsp;5&nbsp;59&nbsp;28&nbsp;22&nbsp;28</a> – <a href="mailto:ce.0641779L@ac-bordeaux.fr">ce.0641779L@ac-bordeaux.fr</a>
-    </p>
+    <nav>
+        <ul>
+            <li>Lycée du Pays de Soule</li>
+        </ul>
+        <ul>
+            <li>{{ settings.base.NavigationSettings.address }}</li>
+            <li>
+                <a href="tel:{{ settings.base.NavigationSettings.phone }}">Téléphone</a>
+            </li>
+            <li>
+                <a href="mailto:{{ settings.base.NavigationSettings.email }}">Courriel</a>
+            </li>
+        </ul>
+    </nav>
 </section>
