Les plugins EmDash peuvent être installés de deux manières : depuis le marché via le tableau de bord admin, ou ajoutés directement dans votre configuration Astro. Les plugins du marché s’exécutent dans un sandbox isolé ; les plugins basés sur la configuration s’exécutent en processus.
Depuis le marché
Le tableau de bord admin inclut un navigateur de marché où vous pouvez rechercher, installer et gérer des plugins.
Prérequis
Pour installer des plugins du marché, votre site a besoin de :
-
Exécuteur sandbox configuré — Les plugins du marché s’exécutent dans des workers V8 isolés, ce qui nécessite le runtime sandbox :
import { emdash } from "emdash/astro"; export default defineConfig({ integrations: [ emdash({ marketplace: "https://marketplace.emdashcms.com", sandboxRunner: true, }), ], }); -
Accès admin — Seuls les administrateurs peuvent installer ou supprimer des plugins.
Parcourir et installer
- Ouvrez le panneau admin et naviguez vers Plugins > Marché
- Parcourez ou recherchez un plugin
- Cliquez sur la carte du plugin pour voir sa page de détail — README, captures d’écran, capacités et résultats d’audit de sécurité
- Cliquez sur Installer
- Examinez le dialogue de consentement des capacités — cela montre ce que le plugin pourra accéder
- Confirmez l’installation
Le plugin sera téléchargé, stocké dans le bucket R2 de votre site et chargé dans l’exécuteur sandbox. Il est actif immédiatement.
Consentement des capacités
Avant l’installation, vous verrez un dialogue listant ce que le plugin a besoin d’accéder :
| Capacité | Signification |
|---|---|
read:content | Lire votre contenu |
write:content | Créer, mettre à jour et supprimer du contenu |
read:media | Accéder à votre bibliothèque média |
write:media | Télécharger et gérer les médias |
network:fetch | Faire des requêtes réseau vers des hôtes spécifiques |
Audit de sécurité
Chaque version de plugin dans le marché a passé un audit de sécurité automatisé. Le verdict de l’audit apparaît sur la carte du plugin :
- Réussi — Aucun problème trouvé
- Avertissement — Préoccupations mineures signalées (examinez les résultats)
- Échec — Problèmes de sécurité significatifs détectés
Vous pouvez consulter le rapport d’audit complet sur la page de détail du plugin, y compris les découvertes individuelles et leur gravité.
Mises à jour
Lorsqu’une version plus récente d’un plugin installé est disponible :
- Allez dans Plugins dans le panneau admin
- Les plugins du marché affichent un badge Mise à jour disponible
- Cliquez sur Mettre à jour pour voir le changelog et tout changement de capacité
- Si la nouvelle version nécessite des capacités supplémentaires, vous verrez un diff et devrez approuver
- Confirmez pour mettre à jour
Désinstallation
- Allez dans Plugins dans le panneau admin
- Cliquez sur le plugin du marché que vous souhaitez supprimer
- Cliquez sur Désinstaller
- Choisissez de conserver ou supprimer les données stockées du plugin
- Confirmez
Le code sandbox du plugin est supprimé de votre bucket R2 et il cesse de s’exécuter immédiatement.
Depuis la configuration
Pour les plugins natifs (votre propre code, ou packages installés via npm), ajoutez-les directement à votre config Astro :
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});
Plugins natifs :
- S’exécutent en processus (pas sandboxés)
- Ont un accès complet aux API Node.js
- Sont chargés au moment du build et à chaque démarrage du serveur
- Ne peuvent pas être installés ou supprimés depuis l’interface admin
Marché vs Configuration : Quand utiliser lequel
| Marché (sandboxé) | Configuration (natif) | |
|---|---|---|
| Méthode d’installation | Un clic dans l’interface admin | Changement de code + npm install + déploiement |
| Exécution | Isolate V8 isolé | En processus |
| Capacités | Imposées à l’exécution | Consultatif uniquement |
| API Node.js | Non disponible | Accès complet |
| Pages admin React | Non (Block Kit à la place) | Oui |
| Composants de rendu PT | Non | Oui |
| Mises à jour | Un clic dans l’admin | Bump de version + déploiement |
| Mieux pour | La plupart des plugins | Plugins nécessitant intégration au build |