Ce site — CV statique sur Pi

This site — a static CV on a Pi

mars 2026

March 2026

AstroTypeScriptDockerApacheRaspberry PiMarkdown
Capture récursive de cette même page — effet Droste, mise en abyme / A recursive screenshot of this very page — Droste effect, mise en abyme
Effet Droste : la figure de cette page est une capture… de cette page. La capture contient sa propre capture, à l'infini.
Droste effect: the picture on this page is a screenshot… of this page. The screenshot contains its own screenshot, endlessly.

Ce CV en ligne. Pensé pour être à la fois une vitrine et un terrain de jeu technique.

Architecture

[ Vous ] ── http(s) ──► [ Apache vhost ]

                            └── reverse proxy ──► [ Docker · nginx:alpine ]

                                                      └── /srv/moncv/dist
                                                          (build Astro)

Apache joue le rôle de point d’entrée unique sur 80/443 et route selon le domaine. Le conteneur n’est joignable que depuis 127.0.0.1 — invisible du LAN, isolé du WordPress voisin.

Stack

  • Astro pour générer un site 100% statique, donc rapide et sans surface d’attaque côté serveur.
  • Content Collections : chaque projet est un fichier Markdown avec un schéma Zod — ajouter une entrée = créer un fichier.
  • Docker + bind-mount du dossier de build : déployer = rsync + le conteneur sert immédiatement la nouvelle version.
  • Apache en reverse proxy avec certificats Let’s Encrypt côté domaine.

Pourquoi pas WordPress (qui tourne déjà à côté)

Parce qu’un CV n’a pas besoin d’une base SQL, ni d’un panneau d’admin, ni de PHP. Statique = rapide, versionnable dans Git, audit-friendly.

This CV, online. Meant to be both a showcase and a technical playground.

Architecture

[ You ] ── http(s) ──► [ Apache vhost ]

                            └── reverse proxy ──► [ Docker · nginx:alpine ]

                                                      └── /srv/moncv/dist
                                                          (Astro build)

Apache acts as the single entry point on 80/443 and routes based on the domain. The container is only reachable from 127.0.0.1 — invisible from the LAN, isolated from the WordPress instance next door.

Stack

  • Astro to generate a 100% static site, so it’s fast and has no server-side attack surface.
  • Content Collections: each project is a Markdown file with a Zod schema — adding an entry just means creating a file.
  • Docker + bind-mount of the build folder: deploying is rsync + the container immediately serves the new version.
  • Apache as a reverse proxy with Let’s Encrypt certificates on the domain side.

Why not WordPress (which is already running next to it)

Because a CV doesn’t need a SQL database, an admin panel, or PHP. Static means fast, versionable in Git, audit-friendly.