Aller au contenu

Présentation des thèmes

Un thème EmDash est un site Astro complet — pages, mises en page, composants, styles — distribué via create-astro. Il inclut également un fichier de graine qui initialise la base de données avec des collections, des champs, des menus, des redirections et un contenu d’exemple lors du premier lancement.

Un thème est un projet Astro fonctionnel avec :

  • Pages — Routes Astro pour afficher le contenu (page d’accueil, articles de blog, archives, etc.)
  • Mises en page — Structure HTML partagée
  • Composants — Éléments d’interface réutilisables (navigation, cartes, pieds de page)
  • Styles — Configuration CSS ou Tailwind
  • Un fichier de graine — JSON qui indique au CMS quels types de contenu et champs créer
my-theme/
├── package.json # Theme metadata + EmDash config
├── astro.config.mjs # Astro integration setup
├── src/
│ ├── live.config.ts # Live Collections configuration
│ ├── pages/ # Astro routes
│ ├── layouts/ # Layout components
│ └── components/ # UI components
└── .emdash/
├── seed.json # Schema + sample content
└── uploads/ # Optional local media files

Lorsque vous créez un site à partir d’un thème, voici ce qui se passe :

  1. create-astro génère le projet à partir du modèle
  2. Vous exécutez npm install et npm run dev
  3. Lors de la première visite de l’administration, l’Assistant de Configuration s’exécute automatiquement
  4. L’assistant applique le fichier de graine, créant les collections, menus, redirections et contenu
  5. Le site est prêt à l’emploi

Pour les utilisateurs

Choisissez un thème, lancez l’assistant, commencez à éditer. Aucune connaissance de base de données requise.

Pour les développeurs

Les thèmes sont des projets Astro standards. Personnalisez librement après la génération.

Utilisez create-astro avec un modèle :

Fenêtre de terminal
npm create astro@latest -- --template @emdash-cms/template-blog

Les thèmes communautaires fonctionnent via GitHub :

Fenêtre de terminal
npm create astro@latest -- --template github:user/emdash-portfolio

Après l’installation :

Fenêtre de terminal
cd my-site
npm install
npm run dev

Visitez http://localhost:4321/_emdash/admin pour terminer l’Assistant de Configuration.

L’Assistant de Configuration s’exécute automatiquement lors de la première visite de l’administration. Il :

  1. Demande le titre du site, le slogan et les identifiants administrateur
  2. Propose une option pour inclure un contenu d’exemple
  3. Applique le fichier de graine à la base de données
  4. Redirige vers le tableau de bord d’administration
┌────────────────────────────────────────────────────────┐
│ │
│ ◆ EmDash │
│ │
│ Bienvenue sur votre nouveau site │
│ │
│ Titre du site : [Mon super blog ] │
│ Slogan : [Idées et réflexions ] │
│ │
│ E-mail admin : [admin@example.com ] │
│ Mot de passe : [•••••••••••• ] │
│ │
│ ☑ Include sample content │
│ │
│ [Create Site →] │
│ │
│ Template: Blog Starter │
│ Creates: 2 collections, 3 pages, 1 post │
└────────────────────────────────────────────────────────┘

EmDash fournit des thèmes de démarrage officiels, chacun disponible en variantes locale (SQLite + système de fichiers) et Cloudflare (D1 + R2) :

ThèmeDescriptionCas d’utilisation
@emdash-cms/template-blogBlog minimal avec articles, pages, catégories et mode sombreBlogs personnels, sites simples
@emdash-cms/template-portfolioPortfolio de style éditorial avec projets, typographie à empattements (Playfair Display) et mises en page axées sur l’imageFreelances, agences, créatifs
@emdash-cms/template-marketingSite marketing audacieux avec blocs de texte portable personnalisés (héros, fonctionnalités, témoignages, tarification, FAQ)Pages de destination, sites SaaS, marketing produit

Pour un déploiement sur Cloudflare Pages avec D1 et R2, ajoutez -cloudflare au nom du modèle :

Fenêtre de terminal
npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
npm create astro@latest -- --template @emdash-cms/template-portfolio-cloudflare
npm create astro@latest -- --template @emdash-cms/template-marketing-cloudflare

Ces variantes incluent wrangler.jsonc pour la configuration du déploiement.

Après la fin de l’Assistant de Configuration, votre site est un projet Astro standard. Personnalisez-le comme n’importe quel site Astro :

  • Modifiez les pages dans src/pages/
  • Modifiez les mises en page dans src/layouts/
  • Ajoutez des collections via l’interface d’administration
  • Installez des intégrations Astro
  • Déployez partout où Astro fonctionne

Le fichier de graine n’est utilisé que lors de l’installation initiale. Une fois appliqué, votre schéma réside dans la base de données.