src/content/pages/home.json
La page d'accueil : hero, texte pédagogique, CTA, grille d'articles, bloc image + texte.
Guide opérateur
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.
src/content/pages/home.jsonLa page d'accueil : hero, texte pédagogique, CTA, grille d'articles, bloc image + texte.
src/content/pages/faq.jsonLa page FAQ : blocs de questions/réponses et textes structurés.
src/content/pages/mentions.jsonLa page mentions : contenu légal simple, toujours en JSON.
src/content/articles/*.mdLe blog : un fichier Markdown par article. Le champ draft: true masque un article.
src/content/articles/, par exemple article-5.md.---.npm run build.git add . && git commit -m "edit: update article" && git push.draft: true dans l'en-tête Markdown.
Les pages JSON contiennent une liste blocks. Chaque bloc a :
block_key : identifiant humain stable ;template : type de bloc, par exemple hero_v1 ou image_text_v1 ;title, body, cta, items, etc.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.
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.
| Template | Usage | Fichiers techniques |
|---|---|---|
hero_v1 | Grand titre + sous-titre + CTA. | Hero.astro + schema Zod. |
rich_text_v1 | Texte Markdown simple. | RichText.astro + marked. |
faq_v1 | Questions/réponses. | Faq.astro. |
articles_grid_v1 | Derniers articles du blog. | ArticlesGrid.astro. |
cta_band_v1 | Bandeau d'appel à l'action. | CtaBand.astro. |
image_text_v1 | Image + texte côte à côte. | ImageText.astro. |
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.
npm run dev.http://localhost:4321/admin/ dans Chrome, Edge ou Brave.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.
npm install installe les dépendances.npm run dev lance le site local.npm run build vérifie et génère dist/.dist/ par rsync et Nginx sert les fichiers en HTTPS.Tout le site reste noindex : meta HTML + header Nginx X-Robots-Tag.