diff --git a/admin_pages/views.py b/admin_pages/views.py
index 051e7a364438bbd5705633039606bcb70c73182e..7ba8c0e1bf8210132ade4451e6c316f24bcca35c 100644
--- a/admin_pages/views.py
+++ b/admin_pages/views.py
@@ -9,7 +9,7 @@ from django.views.generic import RedirectView, TemplateView
 from accounts.models import EmailUser
 from home import models
 from home.views import get_planning_context
-from site_settings.models import SiteSettings
+from site_settings.models import Colors, SiteSettings
 from shared.views import CSVWriteView, SuperuserRequiredMixin
 
 # ==============================
@@ -229,7 +229,7 @@ class ExportSlots(SuperuserRequiredMixin, CSVWriteView):
 			rows.append([
 				str(slot), slot.start, slot.room,
 				slot.subscribing_open, slot.on_planning,
-				models.InterludesSlot.Colors(slot.color).name, slot.duration, slot.activity.duration	,
+				Colors(slot.color).name, slot.duration, slot.activity.duration	,
 			])
 		return rows
 
@@ -316,7 +316,7 @@ class SendUserEmail(SendEmailBase):
 				"my_choices": my_choices.filter(accepted=True),
 			})
 			emails.append((
-				"Information interludes", # subject
+				"[interludes] Vos activités", # subject
 				message,
 				self.from_address, # From:
 				[participant.user.email], # To:
@@ -360,7 +360,7 @@ class SendOrgaEmail(SendEmailBase):
 				"slots": slots,
 			})
 			emails.append((
-				"[interludes] Liste d'inscrit à votre activité {}".format(activity.title), # subject
+				"[interludes] Liste d'inscrits à votre activité {}".format(activity.title), # subject
 				message,
 				self.from_address, # From:
 				[activity.host_email] # To:
diff --git a/home/migrations/0007_auto_20210911_1733.py b/home/migrations/0007_auto_20210911_1733.py
new file mode 100644
index 0000000000000000000000000000000000000000..57246056bcd25e3183b2042c4acc0dcd697ed01e
--- /dev/null
+++ b/home/migrations/0007_auto_20210911_1733.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.0.14 on 2021-09-11 15:33
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0006_interludesslot_duration'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='interludesslot',
+            name='color',
+            field=models.CharField(choices=[('a', 'Rouge'), ('b', 'Orange'), ('c', 'Jaune'), ('d', 'Vert'), ('e', 'Bleu'), ('f', 'Bleu foncé'), ('g', 'Noir')], default='f', help_text='La légende des couleurs est modifiable dans les paramètres', max_length=1, verbose_name='Couleur'),
+        ),
+    ]
diff --git a/home/models.py b/home/models.py
index c66746f66bb36863905bc5fc2e2f88fd5006eda9..12feeb61ba9387e629ac95e506bdc9e2ae1de96f 100644
--- a/home/models.py
+++ b/home/models.py
@@ -5,7 +5,7 @@ from django.utils.translation import gettext_lazy as _
 from django.utils import timezone
 
 from accounts.models import EmailUser
-from site_settings.models import SiteSettings
+from site_settings.models import Colors, SiteSettings
 
 class InterludesActivity(models.Model):
 	"""une activité des interludes (i.e. JDR, murder)..."""
@@ -123,17 +123,6 @@ class InterludesSlot(models.Model):
 	Dans une table à part car un activité peut avoir plusieurs créneaux.
 	Les inscriptions se font à des créneaux et non des activités"""
 
-	class Colors(models.TextChoices):
-		"""Couleur d'affichage dans le planning
-		Leur code HTML est hardcodé dans la template "_planning.html"."""
-		DARK_BLUE = "a", "Bleu foncé"
-		RED = "b", "Rouge"
-		YELLOW = "c", "Jaune"
-		BLUE = "d", "Bleu"
-		GREEN = "e", "Vert"
-		BLACK = "f", "Noir"
-		ORANGE = "g", "Orange"
-
 	TITLE_SPECIFIER = "{act_title}"
 
 	activity = models.ForeignKey(InterludesActivity, on_delete=models.CASCADE, verbose_name="Activité")
@@ -156,7 +145,8 @@ class InterludesSlot(models.Model):
 		help_text="Si vrai, apparaît dans la liste du formulaire d'inscription"
 	)
 	color = models.CharField(
-		"Couleur", choices=Colors.choices, max_length=1, default=Colors.DARK_BLUE
+		"Couleur", choices=Colors.choices, max_length=1, default=Colors.DARK_BLUE,
+		help_text="La légende des couleurs est modifiable dans les paramètres"
 	)
 
 	@property
diff --git a/home/templates/_planning.html b/home/templates/_planning.html
index 829d4a1e88c70b3a1e5a5c08ee3fd4d3e8c050a0..3f1662f0fd26b1b26bd3c7ba03c60f98e2ab1378 100644
--- a/home/templates/_planning.html
+++ b/home/templates/_planning.html
@@ -99,27 +99,41 @@ I.E we set all dates to the first day (Friday) and set groups allowing vertical
 
 	/* Color specific things */
 	:root {
-		--color_1: var(--color_bg_1);
-		--color_1_hover: var(--color_bg_2);
+		/* red */
+		--color_1: #e84855;
+		--color_1_hover: #da1b2b;
 		--color_1_fg: white;
-		--color_2: #e84855;
-		--color_2_hover: #da1b2b;
+
+		/* orange */
+		--color_2: #dd7230;
+		--color_2_hover: #c15d1f;
 		--color_2_fg: white;
+
+		/* yellow */
 		--color_3: #f9dc5c;
 		--color_3_hover: #f7d126;
 		--color_3_fg: black;
-		--color_4: #3185fc;
-		--color_4_hover: #0467f1;
+
+		/* green */
+		--color_4: #7cae7a;
+		--color_4_hover: #5f8b55;
 		--color_4_fg: white;
-		--color_5: #7cae7a;
-		--color_5_hover: #5f8b55;
+
+		/* blue */
+		--color_5: #3185fc;
+		--color_5_hover: #0467f1;
 		--color_5_fg: white;
-		--color_6: #483D3F;
-		--color_6_hover: #2c2627;
+
+		/* dark blue */
+		--color_6: #4c4c7c;
+		--color_6_hover: #26263c;
 		--color_6_fg: white;
-		--color_7: #dd7230;
-		--color_7_hover: #c15d1f;
+
+		/* black */
+		--color_7: #483D3F;
+		--color_7_hover: #2c2627;
 		--color_7_fg: white;
+
 	}
 	.vis-item.color-a {
 		background-color: var(--color_1);
@@ -195,19 +209,20 @@ I.E we set all dates to the first day (Friday) and set groups allowing vertical
 	}
 
 </style>
-
+{% if settings.has_caption %}
 <div class="caption">
 	<p><strong>Légende :</strong></p>
 	<ul style="list-style-type: none; margin-left:-20px">
-		<li><span style="background-color: var(--color_2);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Jeux de rôle grandeur nature</li>
-		<li><span style="background-color: var(--color_7);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Jeux de rôle sur table</li>
-		<li><span style="background-color: var(--color_3);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Activités libres</li>
-		<li><span style="background-color: var(--color_5);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Tournois</li>
-		<li><span style="background-color: var(--color_4);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Événements de début et fin</li>
-		<li><span style="background-color: var(--color_1);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Jeux vidéos</li>
-		<li><span style="background-color: var(--color_6);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> Autre</li>
+		{% if settings.caption_red %}<li><span style="background-color: var(--color_1);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_red }}</li>{% endif %}
+		{% if settings.caption_orange %}<li><span style="background-color: var(--color_2);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_orange }}</li>{% endif %}
+		{% if settings.caption_yellow %}<li><span style="background-color: var(--color_3);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_yellow }}</li>{% endif %}
+		{% if settings.caption_green %}<li><span style="background-color: var(--color_4);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_green }}</li>{% endif %}
+		{% if settings.caption_blue %}<li><span style="background-color: var(--color_5);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_blue }}</li>{% endif %}
+		{% if settings.caption_dark_blue %}<li><span style="background-color: var(--color_6);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_dark_blue }}</li>{% endif %}
+		{% if settings.caption_black %}<li><span style="background-color: var(--color_7);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ settings.caption_black }}</li>{% endif %}
 	</ul>
 </div>
+{% endif %}
 {% if settings.planning_file %}
-	<div></div><a class="button" href="{{ settings.planning_file.url }}"><i class="fa fa-download"></i> Télécharger le planning</a></div>
+	<div><p><a class="button" href="{{ settings.planning_file.url }}"><i class="fa fa-download"></i> Télécharger le planning</a></p></div>
 {% endif %}
diff --git a/site_settings/migrations/0007_auto_20210911_1732.py b/site_settings/migrations/0007_auto_20210911_1732.py
new file mode 100644
index 0000000000000000000000000000000000000000..7aa65d17d9ea19089b867a28cde269bd7b6162d8
--- /dev/null
+++ b/site_settings/migrations/0007_auto_20210911_1732.py
@@ -0,0 +1,48 @@
+# Generated by Django 3.0.14 on 2021-09-11 15:32
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('site_settings', '0006_auto_20210428_1446'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_black',
+            field=models.CharField(blank=True, default='Autre', max_length=200, null=True, verbose_name='Légende planning (noir)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_blue',
+            field=models.CharField(blank=True, default='Événements de début et fin', max_length=200, null=True, verbose_name='Légende planning (bleu)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_dark_blue',
+            field=models.CharField(blank=True, default='Jeux vidéos', max_length=200, null=True, verbose_name='Légende planning (bleu foncé)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_green',
+            field=models.CharField(blank=True, default='Tournois', max_length=200, null=True, verbose_name='Légende planning (vert)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_orange',
+            field=models.CharField(blank=True, default='Jeux de rôle sur table', max_length=200, null=True, verbose_name='Légende planning (orange)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_red',
+            field=models.CharField(blank=True, default='Jeux de rôle grandeur nature', max_length=200, null=True, verbose_name='Légende planning (rouge)'),
+        ),
+        migrations.AddField(
+            model_name='sitesettings',
+            name='caption_yellow',
+            field=models.CharField(blank=True, default='Activités libres', max_length=200, null=True, verbose_name='Légende planning (jaune)'),
+        ),
+    ]
diff --git a/site_settings/models.py b/site_settings/models.py
index fe37ead5aa1c584cfe592ad608cc36d82daed837..339854187d32b32887386fa4fb023f3228ac7d8e 100644
--- a/site_settings/models.py
+++ b/site_settings/models.py
@@ -7,6 +7,18 @@ from django.core.files.storage import FileSystemStorage
 from django.utils.timezone import now
 
 
+class Colors(models.TextChoices):
+	"""Couleur d'affichage dans le planning
+	Leur code HTML est hardcodé dans la template "_planning.html"."""
+	RED = "a", "Rouge"
+	ORANGE = "b", "Orange"
+	YELLOW = "c", "Jaune"
+	GREEN = "d", "Vert"
+	BLUE = "e", "Bleu"
+	DARK_BLUE = "f", "Bleu foncé"
+	BLACK = "g", "Noir"
+
+
 class OverwriteStorage(FileSystemStorage):
 	"""used to enforcing a fixed filename to upload file
 	This allow for a constant link to a changeable file"""
@@ -112,6 +124,37 @@ class SiteSettings(SingletonModel):
 		help_text="Assurez vous que le message est bien formaté, cela peut casser toutes les pages du site",
 	)
 
+	# Légende du planning modifiable
+	caption_red = models.CharField(
+		"Légende planning (rouge)", default="Jeux de rôle grandeur nature",
+		blank=True, null=True, max_length=200,
+	)
+	caption_orange = models.CharField(
+		"Légende planning (orange)", default="Jeux de rôle sur table",
+		blank=True, null=True, max_length=200,
+	)
+	caption_yellow = models.CharField(
+		"Légende planning (jaune)", default="Activités libres",
+		blank=True, null=True, max_length=200,
+	)
+	caption_green = models.CharField(
+		"Légende planning (vert)", default="Tournois",
+		blank=True, null=True, max_length=200,
+	)
+	caption_blue = models.CharField(
+		"Légende planning (bleu)", default="Événements de début et fin",
+		blank=True, null=True, max_length=200,
+	)
+	caption_dark_blue = models.CharField(
+		"Légende planning (bleu foncé)", default="Jeux vidéos",
+		blank=True, null=True, max_length=200,
+	)
+	caption_black = models.CharField(
+		"Légende planning (noir)", default="Autre",
+		blank=True, null=True, max_length=200,
+	)
+
+
 	@property
 	def contact_email_reversed(self) -> str:
 		return self.contact_email[::-1]
@@ -134,6 +177,17 @@ class SiteSettings(SingletonModel):
 		if self.date_start:
 			return self.date_start + timedelta(days=1)
 
+	@property
+	def has_caption(self) -> bool:
+		"""Vérifie si l'une des légende est non-nulle"""
+		return self.caption_red \
+			or self.caption_orange \
+			or self.caption_yellow \
+			or self.caption_green \
+			or self.caption_blue \
+			or self.caption_dark_blue \
+			or self.caption_black
+
 	class Meta:
 		verbose_name = "paramètres"
 		verbose_name_plural = "paramètres"