Installation de Plugins

Sur cette page

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 :

  1. 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,
        }),
      ],
    });
  2. Accès admin — Seuls les administrateurs peuvent installer ou supprimer des plugins.

Parcourir et installer

  1. Ouvrez le panneau admin et naviguez vers Plugins > Marché
  2. Parcourez ou recherchez un plugin
  3. 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é
  4. Cliquez sur Installer
  5. Examinez le dialogue de consentement des capacités — cela montre ce que le plugin pourra accéder
  6. 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:contentLire votre contenu
write:contentCréer, mettre à jour et supprimer du contenu
read:mediaAccéder à votre bibliothèque média
write:mediaTélécharger et gérer les médias
network:fetchFaire 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 :

  1. Allez dans Plugins dans le panneau admin
  2. Les plugins du marché affichent un badge Mise à jour disponible
  3. Cliquez sur Mettre à jour pour voir le changelog et tout changement de capacité
  4. Si la nouvelle version nécessite des capacités supplémentaires, vous verrez un diff et devrez approuver
  5. Confirmez pour mettre à jour

Désinstallation

  1. Allez dans Plugins dans le panneau admin
  2. Cliquez sur le plugin du marché que vous souhaitez supprimer
  3. Cliquez sur Désinstaller
  4. Choisissez de conserver ou supprimer les données stockées du plugin
  5. 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’installationUn clic dans l’interface adminChangement de code + npm install + déploiement
ExécutionIsolate V8 isoléEn processus
CapacitésImposées à l’exécutionConsultatif uniquement
API Node.jsNon disponibleAccès complet
Pages admin ReactNon (Block Kit à la place)Oui
Composants de rendu PTNonOui
Mises à jourUn clic dans l’adminBump de version + déploiement
Mieux pourLa plupart des pluginsPlugins nécessitant intégration au build