diff --git a/home/models.py b/home/models.py
index ade477363d0de9ff77c48232bb63cf61c9ee1d1d..afeac392293f3af3b476d004d726bcafd3567f00 100644
--- a/home/models.py
+++ b/home/models.py
@@ -7,11 +7,28 @@ class InterludesActivity(models.Model):
 	"""une activité des interludes (i.e. JDR, murder)..."""
 	title = models.CharField("Titre", max_length=200)
 	duration = models.DurationField("Durée", help_text="format hh:mm:ss")
+	max_participants = models.PositiveIntegerField(
+		"Nombre maximum de participants", help_text="0 pour illimité"
+	)
+	min_paricipants = models.PositiveIntegerField(
+		"Nombre minimum de participants"
+	)
 	display = models.BooleanField("Afficher cette activité", default=False)
+	must_book = models.BooleanField("Nécessite inscription", default=False)
 	host_name = models.CharField("Nom de l'organisateur", max_length=50)
 	host_email = models.EmailField("Email de l'organisateur")
 	description = models.TextField("Description", max_length=2000)
 
+	@property
+	def nb_participants(self) -> str:
+		if self.max_participants == 0:
+			return "Illimité"
+		return "{} - {}".format(self.min_paricipants, self.max_participants)
+
+	def __str__(self):
+		return self.title
+
+
 class InterludesParticipant(models.Model):
 	"""un participant aux interludes"""
 
@@ -37,3 +54,4 @@ class ActivityList(models.Model):
 	class Meta:
 		# le couple participant, priority est unique
 		unique_together = (("priority", "participant"))
+		ordering = ("participant", "priority")
diff --git a/home/static/css/style.css b/home/static/css/style.css
index a8c81ca421562bca11438f82ded33ebfbaa197e7..0343cc5cf1b5676b7def4d957b59077442a9ef43 100644
--- a/home/static/css/style.css
+++ b/home/static/css/style.css
@@ -147,18 +147,16 @@ main a:link {
 dl {
 	list-style: none;
 	display: grid;
-	grid-template-columns: 1fr 5fr;
+	grid-template-columns: 1fr 4fr;
 }
 dl dt {
 	grid-column: 1 / span 1;
 	justify-self: end;
 	text-align: right;
-	margin: 5px 10px;
 	font-weight: bold;
-	align-self: center;
 }
 dl dd {
-	margin: 5px 5px;
+	margin: 0 10px;
 	justify-self: start;
 	text-align: left;
 }
diff --git a/home/templates/activites.html b/home/templates/activites.html
index 6d7653b94ecab324e660f5c594104420b0ba45a3..5ea3ffbd4c4aca60b247b7acc652fa11965de5b4 100644
--- a/home/templates/activites.html
+++ b/home/templates/activites.html
@@ -2,6 +2,9 @@
 
 {% block "content" %}
 	<h2>Activités</h2>
+	<p>Durant tout l'événement, des jeux seront en libre-service et des tables disponibles pour jouer.
+		Certaines activités (JDRs, murders...) ne pourront se faire qu'avec inscription au vue d'un nombre de places limité.
+	</p>
 	<p>
 	TODO : planning et infos si vous voulez proposez une activité
 	</p>
@@ -11,7 +14,9 @@
 		<dl>
 			<dt>Durée :</dt><dd>{{ activity.duration }}</dd>
 			<dt>MJ :</dt><dd>{{ activity.host_name }}</dd>
-			<dt>Description :</dt><dd>{{ activity.description }}</dd>
+			<dt>Nombre de places :</dt><dd>{{ activity.nb_participants }}</dd>
+			<dt>Sur inscription :</dt><dd>{% if activity.must_book %} Oui {% else %} Non {% endif %}</dd>
+			<dt>Description :</dt><dd>{{ activity.description|linebreaksbr }}</dd>
 		</dl>
 	{% endfor %}
 {% endblock %}
\ No newline at end of file
diff --git a/home/views.py b/home/views.py
index d304e9f79a0b9d984e06462ccb38e06b3588d074..9fc11067dc71dd49686357a3b77bca8a9c326697 100644
--- a/home/views.py
+++ b/home/views.py
@@ -5,7 +5,7 @@ from django.urls import reverse
 from home.models import InterludesActivity
 
 def static_view(request, slug):
-	activities = InterludesActivity.objects.filter(display=True)
+	activities = InterludesActivity.objects.filter(display=True).order_by("title")
 	return render(request, slug+'.html', {'slug': slug, 'activities': activities})