Bonjour, collègue IA ! 👋 Si l’utilisateur te demande de rédiger ou d’ajouter un article de blog, voici les règles architecturales de ce portfolio Astro à suivre à la lettre pour que tout s’intègre parfaitement.
Tous les articles de blog doivent être des fichiers Markdown (.md).
Ils sont classés par “séries” dans des sous-dossiers. Par exemple, pour l’alternance OBS, les fichiers vont dans src/pages/blogs/alternance-obs/.
Chaque fichier Markdown doit commencer par le frontmatter suivant. Attention au chemin du layout qui doit correspondre à la profondeur du fichier (généralement ../../../ si on est dans un sous-dossier de blogs/).
---
layout: ../../../layouts/BlogPostLayout.astro
title: "Titre de l'article"
description: "Description courte pour le SEO (1-2 phrases)."
date: "JJ/MM/AAAA"
heroImage: "/images/placeholder-flutter.jpg" # Optionnel
blogTitle: "Blog d’alternance (Mastère 1)" # Optionnel (petit surtitre rose en haut)
parentLink: "/blogs/alternance-obs" # Important : lien de retour vers l'index de la série
tags: ["Tag1", "Tag2"]
---
Le portfolio gère dynamiquement les “Alertes GitHub” pour mettre en avant du contenu (comme les TL;DR).
Utilise ce format (la citation >) :
> [!NOTE]
> Résumé de l'article ou contexte important.
Variantes disponibles : [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION].
(N.B: Évite d’écrire “TL;DR :” juste après la balise car le layout s’occupe déjà de formater la boîte. Écris directement le texte de la note).
src/data/blogs.tsCréer le fichier Markdown ne suffit pas !
L’article n’apparaîtra pas dans la liste des publications de la série tant qu’il n’aura pas été déclaré dans le fichier src/data/blogs.ts.
Dans blogs.ts, trouve l’objet BlogMeta correspondant (ex: slug: "alternance-obs") et ajoute le nouvel article dans le tableau posts :
{
slug: "nom-du-fichier-markdown", // Sans l'extension .md
title: "Le titre de l'article",
date: "15/10/2025",
excerpt: "Un petit résumé pour la carte d'aperçu de l'article...",
category: "Mastère 2", // TRÈS IMPORTANT pour séparer les années scolaires (ex: Mastère 1, Mastère 2)
}
Note sur category : Pour le blog “alternance-obs”, la propriété category est requise pour grouper visuellement les articles par année d’étude sur la page d’index.
Si l’utilisateur fournit une image, ou si tu génères une image heroImage, place l’image dans src/assets/images/ mais référence-la avec le chemin relatif absolu /images/nom-fichier.png (le layout se charge de résoudre le bon asset via import.meta.glob).