cd ../log

Le contenu d'abord, le code ensuite

Une courte note sur pourquoi le contenu du portfolio vit en Markdown au lieu d'être codé directement dans les composants Astro.

  • markdown
  • architecture
  • astro

Un site personnel doit être facile à modifier pendant que l’idée est encore fraîche. Si changer un paragraphe demande d’ouvrir un composant, de vérifier le code de layout et d’éviter de casser le style, le workflow est déjà trop lourd.

Mockup d'éditeur montrant du contenu Markdown localisé à côté d'un aperçu d'article rendu
Un workflow content-first garde l'écriture, la traduction et le rendu proches, sans les mélanger dans le même fichier.

Pourquoi Markdown suffit

Ce portfolio n’a pas encore besoin d’une base de données. Il a besoin d’une manière propre d’écrire, relire, traduire et publier de petits contenus.

Markdown suffit pour cela. Il se lit bien dans l’éditeur, fonctionne très bien avec les diffs Git, et reste portable si le site change de framework plus tard. Il rend aussi l’écriture plus naturelle : on écrit du contenu, pas de la configuration.

C’est important parce que la majorité des mises à jour d’un portfolio ne sont pas des features techniques. Ce sont des changements de contenu :

  • le résumé d’un projet devient plus précis
  • un lien externe change
  • un nouvel article est publié
  • une traduction française demande une meilleure phrase
  • une ancienne expérience devient moins importante

Ces changements doivent rester petits.

src/content/
├─ blog/
│  ├─ en/
│  └─ fr/
├─ pages/
│  ├─ en/
│  └─ fr/
└─ site/
   ├─ en/
   └─ fr/

La séparation propre

Le codebase suit une séparation simple :

  • les fichiers de contenu décrivent le sens de la page
  • les pages Astro décident quel contenu charger
  • les composants rendent les structures répétables
  • les fichiers CSS portent le système visuel

Cette séparation évite que le code devienne un amas de textes. Elle évite aussi que le Markdown connaisse trop de détails sur l’interface.

Par exemple, une entrée de projet peut contenir un nom, un résumé, une stack et des liens. Le layout de la carte peut changer plus tard sans réécrire le projet lui-même.

ChangementFichier à modifierCode touché ?
Modifier le résumé d’un projetsrc/content/pages/*/work.mdNon
Publier un articlesrc/content/blog/{locale}/nouvel-article.mdNon
Ajouter un nouveau layout de cartecomposant + CSSOui
Traduire le footersrc/content/site/{locale}/footer.mdNon

Pourquoi cela aide l’internationalisation

Quand le site existe en français et en anglais, la structure du contenu devient encore plus importante. Chaque langue peut avoir son propre fichier Markdown, mais les routes et les composants restent partagés.

La traduction n’est donc pas un cas spécial. Elle fait partie du workflow de contenu.

Si une autre langue est ajoutée plus tard, le même modèle continue : créer le dossier localisé, ajouter les traductions et laisser l’interface partagée les rendre.

Le compromis

Cette approche n’est pas magique. Si le modèle de contenu change, le schéma doit changer aussi. C’est une bonne contrainte. Elle force le site à définir clairement les types de contenu qu’il supporte.

Pour un portfolio, ce compromis vaut le coup. Le site reste statique, rapide et simple à déployer, tandis que le contenu garde assez de souplesse pour grandir.