diff --git a/content/08_dockerfiles.md b/content/08_dockerfiles.md
index 66d9832f6f1f715b6992a3e7c9a6e28a414ea203..83afb02e98d9d7c52f715d1122164e6a4c24ef6d 100644
--- a/content/08_dockerfiles.md
+++ b/content/08_dockerfiles.md
@@ -277,3 +277,59 @@ ENTRYPOINT ["/usr/bin/alienwave"]
 REPOSITORY             TAG       IMAGE ID       CREATED         SIZE
 alienwave_multistage   1.0       1c7f0a242c2c   4 minutes ago   12MB
 ```
+
+## Exercice 4
+
+### Partie 1
+
+#### Dockerfile
+
+```bash
+FROM ubuntu:22.04 as BUILDER
+
+RUN apt update -y && apt install -y golang ca-certificates
+RUN go install github.com/alfg/asciicat@latest
+
+
+FROM alpine:3.20
+
+RUN apk update
+COPY --from=builder /root/go/bin/asciicat /usr/bin
+COPY . .
+
+ENTRYPOINT ["usr/bin/asciicat"]
+```
+
+#### Fabrication de l'image
+
+```bash
+docker buildx build . -t asciicat:1.0 -f Dockerfile1
+```
+
+#### Utilisation
+
+```bash
+docker run --rm asciicat:1.0 -i gopher.png
+```
+
+- Quelle est la taille de l'image générée ?
+
+```bash
+docker run --rm asciicat:1.0 --help
+```
+
+```bash
+Usage of usr/bin/asciicat:
+  -i string
+        Use -i <filename> (default "gopher.png")
+  -w int
+        Use -w <width> (default 80)
+```
+
+Donc la largeur par défaut de l'image est 80
+
+- Quelle est la ligne de commande à exécuter pour obtenir une largeur de 40
+
+```bash
+docker run --rm asciicat:1.0 -i gopher.png -w 40
+```