diff --git a/doc/guide_bonnes_pratiques.md b/doc/guide_bonnes_pratiques.md
index 97675d95a1754f511a1ad24b6cad7f851470eb83..9a0b1f12f79877ce520ad5a923d61a3d54884809 100644
--- a/doc/guide_bonnes_pratiques.md
+++ b/doc/guide_bonnes_pratiques.md
@@ -124,6 +124,24 @@ services:
       - docker_default
 ```
 
+## Système init
+
+Tous les systèmes Linux ont un système dit `init`, correspondant au processus avec le premier PID (1). Ce processus est le parent de tous les autres, et doit transmettre les signaux qu'il reçoit à ses enfants (par exemple, un signal de terminaison).
+
+Quand vous lancez un conteneur avec un script Shell ou Bash comme entrypoint, ce script a le PID 1.
+S'il démarre ensuite l'application, il ne transmettra pas le signal de terminaison à ses enfants.
+
+Le souci, c'est qu'un `docker stop` enverra un signal `SIGTERM` au script d'entrypoint, mais il ne sera pas transmis au service en lui-même, qui se terminera brutalement par un `SIGKILL` après expiration du timeout.
+
+Docker Compose, depuis la version 3.7, adresse ce problème avec une directive très simple :
+```
+services:
+  exemple:
+    init: true
+```
+
+[Plus d'informations sur ce lien](https://hynek.me/articles/docker-signals/) et [sur la documentation de Compose](https://docs.docker.com/compose/compose-file/#init)
+
 ## Réseaux
 
 L'idée est de mettre dans des réseaux séparés les services n'ayant pas besoin de communiquer entre eux, pour améliorer la sécurité de l'infrastructure.
diff --git a/template/docker-compose.yml b/template/docker-compose.yml
index 3f4129de4839c12f7a4708a65b1caa6347ec6913..81c97073f9115e58056884fe602861e79452363d 100644
--- a/template/docker-compose.yml
+++ b/template/docker-compose.yml
@@ -36,6 +36,11 @@ services:
     # Use a comprehensive name for easy
     # understanding of `docker ps` output
     container_name: app
+    # Add a init-like process in the container to
+    # forward signals to the child process.
+    # Use this line if you are using an Bash script
+    # entrypoint, for exemple.
+    init: true
     # If the container has to be reached from
     # the Internet, put in docker_default
     # Otherwise, just in its own network