Aller au contenu

Installation des Extensions

Les plugins EmDash peuvent être installés de deux manières : depuis la marketplace via le tableau de bord d’administration, ou ajoutés directement dans votre configuration Astro. Les plugins de la marketplace s’exécutent dans un bac à sable isolé ; les plugins basés sur la configuration s’exécutent dans le processus.

Le tableau de bord d’administration inclut un navigateur de marketplace où vous pouvez rechercher, installer et gérer des plugins.

Pour installer des plugins de la marketplace, votre site a besoin :

  1. Exécuteur de bac à sable configuré — Les plugins de la marketplace s’exécutent dans des workers V8 isolés, ce qui nécessite le runtime de bac à sable :

    astro.config.mjs
    import { emdash } from "emdash/astro";
    export default defineConfig({
    integrations: [
    emdash({
    marketplace: "https://marketplace.emdashcms.com",
    sandboxRunner: true,
    }),
    ],
    });
  2. Accès administrateur — Seuls les administrateurs peuvent installer ou supprimer des plugins.

  1. Ouvrez le panneau d’administration et naviguez vers Plugins > Marketplace
  2. Parcourez ou recherchez un plugin
  3. Cliquez sur la carte du plugin pour voir sa page de détails — README, captures d’écran, capacités et résultats de l’audit de sécurité
  4. Cliquez sur Installer
  5. Examinez la boîte de dialogue de consentement des capacités — cela montre ce à quoi le plugin aura accès
  6. Confirmez l’installation

Le plugin sera téléchargé, stocké dans votre bucket R2 du site et chargé dans l’exécuteur de bac à sable. Il est actif immédiatement.

Avant l’installation, vous verrez une boîte de dialogue listant ce à quoi le plugin a besoin d’accéder :

CapacitéCe que cela signifie
read:contentLire votre contenu
write:contentCréer, mettre à jour et supprimer du contenu
read:mediaAccéder à votre médiathèque
write:mediaTélécharger et gérer des médias
network:fetchEffectuer des requêtes réseau vers des hôtes spécifiques

Chaque version de plugin dans la marketplace a subi 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étails du plugin, y compris les résultats individuels et leur gravité.

Lorsqu’une version plus récente d’un plugin installé est disponible :

  1. Allez dans Plugins dans le panneau d’administration
  2. Les plugins de la marketplace affichent un badge Mise à jour disponible
  3. Cliquez sur Mettre à jour pour voir le journal des modifications et tout changement de capacités
  4. Si la nouvelle version nécessite des capacités supplémentaires, vous verrez un diff et devrez approuver
  5. Confirmez pour mettre à jour
  1. Allez dans Plugins dans le panneau d’administration
  2. Cliquez sur le plugin de la marketplace que vous souhaitez supprimer
  3. Cliquez sur Désinstaller
  4. Choisissez de conserver ou de supprimer les données stockées du plugin
  5. Confirmez

Le code du plugin en bac à sable est supprimé de votre bucket R2 et il cesse de s’exécuter immédiatement.

Pour les plugins de confiance (votre propre code, ou des packages que vous installez via npm), ajoutez-les directement à votre configuration Astro :

typescript title="astro.config.mjs"
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 basés sur la configuration :

  • S’exécutent dans le processus (pas en bac à sable)
  • Ont un accès complet aux APIs Node.js
  • Sont chargés au moment de la construction et à chaque démarrage du serveur
  • Ne peuvent pas être installés ou supprimés depuis l’interface d’administration

Marketplace vs. Configuration : Quand Utiliser Chacun

Section intitulée « Marketplace vs. Configuration : Quand Utiliser Chacun »
MarketplaceConfiguration
ExécutionIsolat V8 en bac à sableDans le processus
Méthode d’installationInterface d’administrationChangement de code + déploiement
CapacitésAppliquées à l’exécutionDocumentation uniquement
APIs Node.jsNon disponiblesAccès complet
Idéal pourPlugins tiersCode interne
Mises à jourEn un clic dans l’adminMise à jour de version + déploiement