Blog Lab Notes - Contexte Projet
Identité
- Nom : Lab Notes (blog.sylvain.pham.fr)
- URL : https://blog.sylvain.pham.fr
- Statut : Production
- Développeur : Sylvain Pham
Stack Technique
- Moteur : Quarto >= 1.8
- Format : fichiers
.qmd(Markdown + YAML front matter) - Diagrammes : Mermaid natif (blocs
```{mermaid}) - Python : Jupyter pour les articles avec code (
source ~/venv/bin/activate) - Infra / CI-CD : GitLab Pages (
.gitlab-ci.yml), freeze auto - Thème : cosmo + brand, CSS custom (
styles.css)
Architecture Clé
- Les articles sont dans
posts/<slug>/index.qmd - Créer un article :
./new-post.sh Mon Titre(crée le dossier + front matter avecdraft: true) - Publier : retirer
draft: true, commit et push → GitLab Pages déploie automatiquement - Les résultats Python sont pré-rendus dans
_freeze/et commités
Conventions de Code
- Commits : Conventional Commits (feat:, fix:, chore:)
- Langue des articles : français avec accents (é, è, ê, à, ù, ç)
- Langue du code : anglais
Guides de rédaction
Articles de blog
Suivre les instructions détaillées dans docs/blog-tone.md. Points essentiels : - Le fil narratif suit l’expérience, pas la source - Un seul fil rouge par article - Les concepts arrivent quand ils résolvent quelque chose - Montrer les déclics et les galères - Diagrammes Mermaid : 2-3 max (sauf articles de référence), doivent apporter ce que le texte ne dit pas - Pas de tableaux artificiels avant/après - Callouts Quarto : {.callout-warning}, {.callout-tip}, {.callout-important}, {.callout-note collapse="true"} - Zoom Mermaid : inclure le CSS/JS de zoom si diagrammes (voir posts/genai-governance/index.qmd)
Posts LinkedIn
Suivre les instructions détaillées dans docs/linkedin-tone.md. Points essentiels : - Jamais ventard, critique et honnête - Structure : contexte → ce qui a fonctionné → ce qui a merdé → lien article - Anonymisation : jamais de nom de projet, client, ESN - Hashtags : 4-5 max, techniques uniquement - Deux formats : REX personnel ou positionnement “sachant” (cible DSI/RSSI)
Front matter minimal
---
title: "..."
date: "YYYY-MM-DD"
categories: [tag1, tag2]
author: "Sylvain Pham"
format:
html:
toc: true
toc-depth: 3
toc-location: left
number-sections: true
smooth-scroll: true
anchor-sections: true
---Documentation disponible
docs/blog-tone.md— ton et structure des articles (LIRE AVANT d’écrire un article)docs/linkedin-tone.md— ton et structure des posts LinkedIn (LIRE AVANT d’écrire un post)docs/mcp-chrome.md— setup MCP Chrome DevToolsdocs/journal/— journal de bord des sessions
⚠️ RÈGLE CRITIQUE : Gestion du contexte
Tu DOIS suivre ces règles sans exception :
Après CHAQUE tâche terminée (article, bugfix, refactoring), tu fais systématiquement :
git add . && git commitavec un message conventionnel- Mise à jour de SESSION_LOG.md (ce qui a été fait, décisions, prochaines étapes)
- Tu me dis : “✅ Session sauvegardée, tu peux /clear si besoin”
Tu ne dois JAMAIS me demander de faire /clear ou /compact sans avoir d’abord :
- Commité tout le travail en cours
- Mis à jour SESSION_LOG.md
Si tu sens que le contexte devient lourd (beaucoup de fichiers lus, longues conversations), tu prends l’initiative de sauvegarder AVANT d’être bloqué. N’attends pas d’être saturé.
Tâches courtes : découpe le travail en petites tâches. Une tâche = un commit = une mise à jour SESSION_LOG. Ne jamais enchaîner 5 modifications sans committer.
Ce qu’il NE FAUT PAS faire
- Ne JAMAIS écrire un article sans avoir lu
docs/blog-tone.mdd’abord - Ne JAMAIS écrire un post LinkedIn sans avoir lu
docs/linkedin-tone.mdd’abord - Ne JAMAIS demander /clear sans avoir sauvegardé le contexte dans SESSION_LOG.md
- Ne pas publier d’article (retirer
draft: true) sans confirmation explicite - Ne pas modifier
_quarto.ymlsans confirmation explicite