Introduction à EmDash

Sur cette page

EmDash est un système de gestion de contenu natif d’Astro. Il apporte des modèles CMS familiers — collections, taxonomies, menus, widgets et une interface d’administration soignée — directement dans votre site Astro avec un support TypeScript complet et un déploiement portable.

Qu’est-ce qu’EmDash

EmDash est un CMS conçu spécifiquement pour Astro. Il utilise les Live Content Collections d’Astro 6 pour servir le contenu à l’exécution, de sorte que les modifications apparaissent immédiatement. Le contenu est stocké dans une base de données SQL — SQLite, libSQL, Cloudflare D1 ou PostgreSQL — et les médias dans un stockage compatible S3 (R2 ou le système de fichiers local).

Caractéristiques clés :

  • Modélisation visuelle du contenu — Définissez et modifiez les collections et les champs depuis l’interface d’administration ; les modifications prennent effet immédiatement.
  • Live Collections — Le contenu est servi à l’exécution, de sorte que les modifications apparaissent immédiatement.
  • Système de plugins — Hooks inspirés de WordPress, stockage, paramètres et extensions d’interface d’administration.
  • Cloud-portable — Fonctionne sur Cloudflare (Workers + D1 + R2) ou Node.js, avec SQLite, libSQL ou PostgreSQL et tout stockage compatible S3.

Ce qu’EmDash n’est pas

  • Pas un CMS headless — EmDash est étroitement intégré à Astro et s’exécute dans le même déploiement, plutôt que comme un service séparé que vous appelez via une API.
  • Pas compatible avec WordPress — Il n’exécute pas PHP ni les plugins WordPress. Le contenu et les concepts WordPress migrent vers des équivalents EmDash.
  • Pas un constructeur de pages — EmDash gère le contenu structuré. Construisez des mises en page visuelles avec des composants Astro.

Pour qui est EmDash

Développeurs d'agence

Créez rapidement des sites clients avec des plugins et des thèmes réutilisables. Les plugins s’exécutent dans des contextes isolés avec des API explicites.

Développeurs indépendants

La gestion de contenu fait partie du site Astro, déployé et géré comme un seul projet.

Éditeurs de contenu

Créez et modifiez du contenu dans le panneau d’administration.

Utilisateurs de WordPress

Chemin de migration pour le contenu et les plugins. Outils modernes, concepts familiers.

Architecture en un coup d’œil

Le diagramme suivant montre comment EmDash s’insère dans un site Astro, connectant le moteur de contenu, le panneau d’administration et les plugins à la couche de données.

┌─────────────────────────────────────────────────────────────┐
│                      Your Astro Site                        │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                 EmDash Integration                  │  │
│  │                                                       │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌──────────────┐   │  │
│  │  │  Content    │  │   Admin     │  │   Plugins    │   │  │
│  │  │  Engine     │  │   Panel     │  │              │   │  │
│  │  └─────────────┘  └─────────────┘  └──────────────┘   │  │
│  │                                                       │  │
│  │  ┌───────────────────────────────────────────────────┐│  │
│  │  │                  Data Layer                       ││  │
│  │  │Database (SQLite/libSQL/D1/Postgres) + media store ││  │
│  │  └───────────────────────────────────────────────────┘│  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                   Astro Framework                     │  │
│  │        Live Collections • Sessions • Middleware       │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Concepts de base

Voici les concepts clés utilisés dans toute la documentation :

  • Collections — Types de contenu définis dans la base de données (articles, pages, produits, etc.)
  • Fields — Les propriétés d’une collection (titre, contenu, prix, etc.)
  • Taxonomies — Systèmes de classification (catégories, tags, taxonomies personnalisées)
  • Menus — Structures de navigation modifiables depuis l’administration
  • Widget Areas — Régions de contenu configurables pour les barres latérales et les pieds de page
  • Plugins — Extensions qui ajoutent des fonctionnalités via des hooks, du stockage et une interface utilisateur

Prochaines étapes