Guide opérateur

Modifier le site sans admin web

Ici, le CMS est un dossier Git. Emmanuel édite des fichiers, lance un build, puis pousse/deploie. C'est volontairement rustique pour tester la piste migration.

La stack en 3 lignes

Où vit le contenu ?

src/content/pages/home.json

La page d'accueil : hero, texte pédagogique, CTA, grille d'articles, bloc image + texte.

src/content/pages/faq.json

La page FAQ : blocs de questions/réponses et textes structurés.

src/content/pages/mentions.json

La page mentions : contenu légal simple, toujours en JSON.

src/content/articles/*.md

Le blog : un fichier Markdown par article. Le champ draft: true masque un article.

Éditer un article à la main

  1. Ouvrir un fichier dans src/content/articles/, par exemple article-5.md.
  2. Modifier le titre, la description, les tags ou le texte sous le bloc ---.
  3. Lancer npm run build.
  4. Si le build est vert : git add . && git commit -m "edit: update article" && git push.
Astuce : pour cacher un article, mettre draft: true dans l'en-tête Markdown.

Éditer une page multi-blocs

Les pages JSON contiennent une liste blocks. Chaque bloc a :

Pour changer une phrase du CTA de la home : ouvrir src/content/pages/home.json, trouver "block_key": "home.cta", modifier payload.headline ou payload.note, puis lancer npm run build.

Le modèle de blocs typés

TemplateUsageFichiers techniques
hero_v1Grand titre + sous-titre + CTA.Hero.astro + schema Zod.
rich_text_v1Texte Markdown simple.RichText.astro + marked.
faq_v1Questions/réponses.Faq.astro.
articles_grid_v1Derniers articles du blog.ArticlesGrid.astro.
cta_band_v1Bandeau d'appel à l'action.CtaBand.astro.
image_text_v1Image + texte côte à côte.ImageText.astro.

Demander une modif à l'agent

Formule utile :

Dans src/content/pages/home.json, modifie le bloc home.cta : remplace payload.note par "Nouvelle date : 20 juin 2026". Lance npm run build, commit et déploie sur cms.maestro-seo.com.

Pour un nouveau type de bloc, demander explicitement : schema Zod + composant Astro + enregistrement dans src/lib/blocks.ts + usage dans un JSON + build vert.

Build + déploiement

  1. npm install installe les dépendances.
  2. npm run dev lance le site local.
  3. npm run build vérifie et génère dist/.
  4. Le serveur reçoit ensuite dist/ par rsync et Nginx sert les fichiers en HTTPS.

Tout le site reste noindex : meta HTML + header Nginx X-Robots-Tag.