diff --git a/accounts/urls.py b/accounts/urls.py
index 60de3255e9098e61ad2e83e92d61b99fb44a5445..199c1c450bd55da512ac05067a49bdc219910bca 100644
--- a/accounts/urls.py
+++ b/accounts/urls.py
@@ -1,6 +1,6 @@
 from django.urls import include, path
 import django.contrib.auth.views as dj_auth_views
-from .views import login, logout 
+from .views import logout 
 
 app_name = "accounts"
 
diff --git a/accounts/views.py b/accounts/views.py
index 386c73a2405548451e3b3b7efc5d4af4af7edb54..9d3a0ab6e178939677bb3d461623e9930a686281 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -1,6 +1,8 @@
 from django.shortcuts import render, redirect
+from django.contrib.auth import logout as auth_logout
+from django.contrib.auth.decorators import login_required
 
 @login_required
 def logout(req):
     auth_logout(req)
-    return redirect("home:home")
+    return redirect("home")
diff --git a/home/templates/base.html b/home/templates/base.html
index 47aecd9a6f47c7395a2654e3b366079a8b46cdac..9905f469533f765b6b5ce5194c6984cc2e67ce3c 100644
--- a/home/templates/base.html
+++ b/home/templates/base.html
@@ -40,6 +40,11 @@
 				class={% if slug == "faq" %}"current"{% else %}"internal"{% endif %}>
 				FAQ
 			</a>
+			{% if request.user.is_authenticated %}
+				<a class="logout" href="{% url "accounts:logout" %}">Déconnexion</a>
+			{% else %}
+				<a class="login" href="{% url "accounts:login" %}?next={{ request.get_full_path }}">Connexion</a>
+			{% endif %}
 		</nav>
 
 		<main>
@@ -65,4 +70,4 @@
 		</footer>
 
 	</body>
-</html>
\ No newline at end of file
+</html>
diff --git a/home/templates/registration/login.html b/home/templates/registration/login.html
new file mode 100644
index 0000000000000000000000000000000000000000..b044e9577f59dca2fce1ac64c3506a8b1f8d2018
--- /dev/null
+++ b/home/templates/registration/login.html
@@ -0,0 +1,35 @@
+{% extends "base.html" %}
+
+{% block "content" %}
+<div id="content-area">
+	{% if form.errors %}
+	<p>Login ou mot de passe incorrect</p>
+	{% endif %}
+
+	{% if next %}
+	{% if user.is_authenticated %}
+	<p>Accès non autorisé.</p>
+	{% else %}
+	<p>Merci de vous connecter.</p>
+	{% endif %}
+	{% endif %}
+
+	<form method="post" action="{% url "accounts:login" %}?next={{ next|urlencode }}">
+		{% csrf_token %}
+		<table>
+			<tr>
+				<td>{{ form.username.label_tag }}</td>
+				<td>{{ form.username }}</td>
+			</tr>
+			<tr>
+				<td>{{ form.password.label_tag }}</td>
+				<td>{{ form.password }}</td>
+			</tr>
+		</table>
+
+		<input type="submit" value="connexion" />
+		<input type="hidden" name="next" value="{{ next }}" />
+	</form>
+</div>
+
+{% endblock %}
diff --git a/home/urls.py b/home/urls.py
index bf87cf7a70f138e0a893b42f0ce9734c362b4027..7d5eb71b15d4da96a04269182050e2c8ae8e92d1 100644
--- a/home/urls.py
+++ b/home/urls.py
@@ -1,6 +1,6 @@
 from django.contrib.sitemaps.views import sitemap
 from django.views.generic import RedirectView
-from django.urls import path
+from django.urls import path, include
 from . import views
 
 sitemaps = {"static_pages": views.StaticViewSitemap}
@@ -15,4 +15,5 @@ urlpatterns = [
 		'sitemap.xml', sitemap, {'sitemaps': sitemaps},
 		name='django.contrib.sitemaps.views.sitemap'
 	),
-]
\ No newline at end of file
+        path('accounts/', include("accounts.urls")),
+]
diff --git a/interludes/settings.py b/interludes/settings.py
index 67b227ce2ce30b1ac26a6a883dc510a427365b5a..57549aeb5e0290d551965a63257293afd9598f7f 100644
--- a/interludes/settings.py
+++ b/interludes/settings.py
@@ -38,7 +38,8 @@ INSTALLED_APPS = [
 	'django.contrib.messages',
 	'django.contrib.staticfiles',
 	'django.contrib.sitemaps',
-  'home.apps.HomeConfig',
+        'home.apps.HomeConfig',
+        'accounts',
 ]
 
 MIDDLEWARE = [
@@ -82,6 +83,9 @@ DATABASES = {
 	}
 }
 
+AUTHENTICATION_BACKENDS = (
+    'django.contrib.auth.backends.ModelBackend',
+)
 
 # Password validation
 # https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators