Panneau d'administration

Sur cette page

Le panneau d’administration est l’interface d’édition incluse avec un site EmDash. Il est servi par l’application Astro à /_emdash/admin/ et utilise la même base de données, le même stockage de médias, le même modèle de contenu et les mêmes plugins que les pages publiques.

La première visite de la route d’administration d’un nouveau site ouvre l’assistant de configuration. Après la configuration, les permissions de l’utilisateur connecté déterminent quels outils de contenu et d’administration sont disponibles.

Zones de travail

La navigation s’adapte aux collections du site et aux plugins installés. Voici les principales zones qu’un éditeur ou administrateur peut voir :

ZoneÀ quoi elle sert
Tableau de bordUne vue de démarrage avec des widgets du site et des plugins
Noms de collections, comme ArticlesLister, créer, modifier, publier et déplacer des entrées vers la corbeille
Groupes de collectionsDossiers réductibles contenant des collections partageant un groupe, plus les taxonomies assignées uniquement aux collections de ce dossier
MédiasTéléverser, rechercher, inspecter, remplacer et supprimer des fichiers
Taxonomies et SignaturesOrganiser le contenu et gérer les auteurs crédités
Menus et Zones de widgetsGérer la navigation et les régions contrôlées par les éditeurs rendues par le site
CommentairesExaminer et modérer les commentaires quand une collection les active
Types de contenuCréer des collections et des champs et modifier leurs paramètres
PluginsInstaller, configurer et ouvrir les pages fournies par les plugins
ParamètresConfigurer le site, l’authentification, les sauvegardes, l’email, la recherche et d’autres services

Cette interface gère les données et la configuration. Les pages et composants Astro définissent toujours la mise en page publique. L’ajout d’un élément de menu ou d’un widget dans l’admin ne change le site public que quand un composant Astro interroge et rend ce menu ou cette zone de widgets.

Éditeur de contenu

L’éditeur de contenu construit son formulaire à partir de la collection sélectionnée. Un champ de texte court devient un champ de saisie, un champ portableText devient l’éditeur de texte riche, un champ média ouvre le sélecteur de médias, et un champ de référence permet à l’éditeur de sélectionner une autre entrée. Les paramètres de collection ajoutent des contrôles de publication, d’aperçu, de révision, de commentaire et de recherche le cas échéant.

L’éditeur de texte riche prend en charge les titres, listes, citations, code, liens, images et blocs personnalisés enregistrés. Si le contenu importé contient un bloc que l’éditeur ne peut pas afficher, EmDash préserve le bloc stocké plutôt que de le supprimer lors de la prochaine sauvegarde.

Sauvegarder et publier sont des états séparés pour les collections avec brouillons. Sauvegarder stocke le travail en cours comme brouillon. Publier ou Publier les modifications rend cette version sauvegardée disponible pour les requêtes publiques. La planification enregistre quand un brouillon ou une modification en attente doit devenir publique.

Quand le verrouillage d’édition est activé pour une collection, l’ouverture d’une entrée maintient un verrou pour cet éditeur. Les autres rédacteurs sont refusés tant que le verrou est actif au lieu d’écraser silencieusement l’entrée. Si une entrée change après qu’un éditeur l’a chargée, EmDash refuse aussi la sauvegarde obsolète pour que l’éditeur puisse recharger la version plus récente au lieu de l’écraser.

Rôles et permissions

EmDash inclut cinq rôles : Abonné, Contributeur, Auteur, Éditeur et Admin. Les permissions augmentent avec le niveau du rôle, mais la propriété reste importante pour les actions sur le contenu et les médias. Par exemple, les Auteurs peuvent modifier et publier leurs propres entrées, tandis que les Éditeurs peuvent le faire pour n’importe quelle entrée.

Les zones administratives ont des vérifications de permissions séparées :

  • Les Éditeurs peuvent gérer les taxonomies, menus, signatures, widgets, sections et le contenu d’autres auteurs.
  • Les Admins peuvent modifier le modèle de contenu, les utilisateurs, les plugins, les redirections, les sauvegardes et les paramètres, et peuvent supprimer définitivement le contenu de la corbeille.
  • Le serveur vérifie les permissions pour chaque action. Masquer un élément de navigation n’est pas la frontière de sécurité.

Lisez Authentification et rôles utilisateur pour la configuration des comptes et les descriptions complètes des rôles.

Médias

La bibliothèque de médias peut afficher les fichiers en grille ou en liste, les rechercher et les filtrer, afficher les métadonnées et effectuer des actions sur plusieurs éléments. Le comportement de téléversement dépend de l’adaptateur de stockage configuré. Quand l’adaptateur prend en charge les téléversements signés, le navigateur envoie le fichier au stockage en utilisant une URL signée de courte durée puis confirme le téléversement terminé auprès d’EmDash.

La suppression d’un élément média peut affecter les entrées qui le référencent. Utilisez les informations d’utilisation des médias et les outils de remplacement avant de supprimer un asset utilisé sur les pages publiques. Voir Bibliothèque de médias pour les flux de téléversement, de remplacement et de suppression.

Interfaces de plugins

Les plugins peuvent ajouter des widgets au tableau de bord, des sections de paramètres, des contrôles d’éditeur ou des pages d’administration complètes. Une page de plugin est montée sous la propre route d’administration du plugin ; elle ne peut pas remplacer un écran d’administration principal. Le plugin a toujours besoin de vérifications de permissions côté serveur pour toute action protégée, même quand le lien d’administration n’est affiché qu’à un rôle particulier.

Lisez Installer des plugins pour ajouter une extension. Les développeurs de sites qui construisent une interface devraient utiliser les APIs d’administration natives des plugins plutôt que de modifier l’application d’administration principale.

Exigences de configuration

L’admin est une application React, donc le projet Astro doit installer @astrojs/react, react et react-dom et enregistrer react() dans astro.config.mjs. Le site a aussi besoin d’une sortie serveur, d’une base de données et d’un stockage de médias. Ajouter EmDash à un projet Astro existant montre la configuration locale complète.