diff --git a/.gitmodules b/.gitmodules
index 1226ba308c0c5af4005da3adc87cadd9d481ac75..688e2be1897f22de596e5bc000e949236a6fe30e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,7 @@
 [submodule "www/static/pi-billion"]
 	path = www/static/pi-billion
 	url = https://git.laquadrature.net/lqdn-interne/pi-billion.git
+[submodule "ansible/don-lqdn"]
+	path = ansible/don-lqdn
+	url = https://git.laquadrature.net/lqdn-interne/piops-roles/don-lqdn
+	branch = main
diff --git a/ansible/configuration.test.yml b/ansible/configuration.test.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6c5bf1e71a7a3ad5d4508e83fdbe4236f9383e98
--- /dev/null
+++ b/ansible/configuration.test.yml
@@ -0,0 +1,6 @@
+# Ce fichier contient les variables de configuration de l'environment de test
+# du site de don.
+
+# Si certaines variables ne sont pas mentionnées ici, c'est qu'elles ont
+# été assignées leurs valeurs par défaut, présentes dans le rôle don-lqdn sous
+# defaults/main.yml ou vars/main.yml
diff --git a/ansible/don-lqdn b/ansible/don-lqdn
new file mode 160000
index 0000000000000000000000000000000000000000..5fd2833e823edec9bb64702cb9b6a925e163d6bd
--- /dev/null
+++ b/ansible/don-lqdn
@@ -0,0 +1 @@
+Subproject commit 5fd2833e823edec9bb64702cb9b6a925e163d6bd
diff --git a/ansible/playbook.yml b/ansible/playbook.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e5f41cc11bd4d1cd93859bc68c4420589034a543
--- /dev/null
+++ b/ansible/playbook.yml
@@ -0,0 +1,13 @@
+# Example de playbook permettant d'installer le site de don.
+
+# Ce playbook peut à la fois être utilisé pour l'installation en production du
+# site de don, mais aussi mettre en place le site de don dans un environment de
+# test grâce à Vagrant.
+
+- name: Installation du site de don dans l'environment de test
+  hosts: default
+  become: true
+  vars_files:
+    - configuration.test.yml
+  roles:
+    - don-lqdn