Projet personnel

vntp.fr : ce site

Un site statique généré depuis un CMS headless, republié en quelques secondes à chaque modification.

Rôle
Conception et développement, seul
Période
oct. 2026 – en cours · VNTP
Stack
  • Astro
  • Directus 11
  • Node.js
  • PostgreSQL
  • Docker
  • Caddy
  • Schema.org

Le principe

Le contenu (CV, blog, portfolio, fiches projets comme celle-ci) se gère dans Directus. Le site public est fait de pages statiques générées par Astro : rapide, sobre, et sans surface d'attaque côté serveur. Directus n'est jamais exposé au public.

Publication instantanée

  • Chaque enregistrement dans Directus déclenche un Flow qui appelle un petit service de génération.
  • Le service copie les sources, lance la génération, puis bascule d'un coup vers la nouvelle version (lien symbolique atomique, trois versions conservées). Une génération qui échoue ne touche pas au site en ligne.
  • Plusieurs enregistrements pendant une génération n'en déclenchent qu'une de plus. Les articles programmés sont publiés à l'heure par une génération périodique.
  • Les images et PDF sont téléchargés au moment de la génération, convertis en WebP à la bonne taille et publiés avec le site.

SEO et accessibilité

  • Bilingue français / anglais : hreflang, x-default, URL traduites des articles.
  • Données structurées JSON-LD (Person, BlogPosting, CreativeWork, fil d'Ariane), Open Graph, sitemap, RSS par langue.
  • Thème clair / sombre, HTML sémantique, sans framework JavaScript côté visiteur.

L'infrastructure

Tout tourne en conteneurs Docker sur un serveur auto-hébergé, derrière Caddy, avec le CMS sur un réseau interne. Le schéma du CMS est créé par un script idempotent et versionné dans Git.

← Retour au portfolio