Guide opérateur

Modifier le site en fichiers-first — avec ou sans Sveltia

Ici, le CMS reste un dossier Git. Sveltia est seulement une interface d'édition au-dessus des mêmes fichiers : pas de DB, pas de localStorage, pas de contenu caché ailleurs.

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 headline ou note, puis lancer npm run build.

Pourquoi plus de payload ? Le JSON initial était { template, payload: {...} }. Pour Sveltia, c'était un clic/accordéon inutile. On a aplati en { template, ...champs } afin que la liste typée affiche directement les vrais champs du bloc.

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 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.

Utiliser Sveltia en local

  1. Lancer npm run dev.
  2. Ouvrir http://localhost:4321/admin/ dans Chrome, Edge ou Brave.
  3. Cliquer Work with Local Repository puis sélectionner le dossier du repo.
  4. Éditer une page ou un article, sauvegarder, puis vérifier avec npm run build.

Important : Sveltia n'utilise pas decap-server. Le mode local passe par l'API navigateur File System Access ; Firefox/Safari ne suffisent pas.

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.