Payload CMS & Astro
PayloadCMS est un système de gestion de contenu open-source qui peut être utilisé pour fournir du contenu à votre projet Astro.
Intégration avec Astro
Titre de la section Intégration avec AstroPrérequis
Titre de la section Prérequis- Un projet Astro - Si vous n’avez pas encore de projet Astro, notre Guide d’installation vous permettra d’être opérationnel en un rien de temps.
- Une base de données MongoDB - PayloadCMS vous demandera une chaîne de connexion MongoDB lors de la création d’un nouveau projet. Vous pouvez en installer une localement ou utiliser MongoDBAtlas pour héberger une base de données sur le web gratuitement.
- Une API REST PayloadCMS - Créez un projet PayloadCMS et connectez-le à votre base de données MongoDB pendant l’installation.
Lors de l’installation de PayloadCMS, il vous sera demandé si vous souhaitez utiliser un modèle.
Le choix d’un des modèles disponibles à cette étape (tel que ‘blog’) génère automatiquement des collections supplémentaires que vous pouvez utiliser. Sinon, vous devrez créer manuellement vos collections PayloadCMS.
Configurer Astro pour votre collection PayloadCMS
Titre de la section Configurer Astro pour votre collection PayloadCMSVotre modèle de projet Payload contiendra un fichier appelé Posts.ts dans src/collections/
. Si vous n’avez pas choisi un modèle lors de l’installation qui a créé une collection de contenu pour vous, vous pouvez créer une nouvelle collection Payload CMS en ajoutant ce fichier de configuration manuellement. L’exemple ci-dessous montre ce fichier pour une collection appelée posts
qui nécessite les champs title
, content
et slug
:
Importez et ajoutez Users
(disponible dans tous les projets PayloadCMS) et toutes les autres collections (par exemple Posts
) aux collections disponibles dans le fichier payload.config.ts
.
Une nouvelle collection appelée “Posts” apparaîtra dans votre tableau de bord PayloadCMS à côté de la collection “Users”.
-
Entrez dans la collection “Posts” et créez un nouveau message. Après l’avoir enregistré, vous remarquerez que l’URL de l’API apparaît dans le coin inférieur droit.
-
Avec le serveur de développement en cours d’exécution, ouvrez
http://localhost:4321/api/posts
dans votre navigateur. Vous devriez voir un fichier JSON contenant le message que vous avez créé en tant qu’objet.
Par défaut, Astro et PayloadCMS utilisent le port 4321. Vous pouvez changer le port de PayloadCMS dans le fichier src/server.ts
. N’oubliez pas de mettre à jour le serverURL
dans src/payload.config.ts
également.
Récupérer des données
Titre de la section Récupérer des donnéesRécupérez les données de PayloadCMS via l’URL unique de l’API REST de votre site et la route de votre contenu (par défaut, PayloadCMS monte toutes les routes via /api
). Ensuite, vous pouvez rendre les propriétés de vos données en utilisant la directive Astro set:html=""
.
Avec votre message, PayloadCMS renverra des métadonnées de premier niveau. Les documents réels sont imbriqués dans le tableau docs
.
Par exemple, pour afficher une liste de titres d’articles et leur contenu :
Créer un blog avec PayloadCMS et Astro
Titre de la section Créer un blog avec PayloadCMS et AstroCréez une page d’index de blog src/pages/index.astro
pour lister chacun de vos articles avec un lien vers sa propre page.
La recherche via l’API renvoie un tableau d’objets (posts) qui incluent, entre autres, les propriétés suivantes :
title
content
slug
Utiliser l’API PayloadCMS pour générer des pages
Titre de la section Utiliser l’API PayloadCMS pour générer des pagesCréer une page src/pages/posts/[slug].astro
pour générer dynamiquement une page pour chaque post.
Publier votre site
Titre de la section Publier votre sitePour déployer votre site, consultez notre guide de déploiement et suivez les instructions de votre hébergeur préféré.
Ressources communautaires
Titre de la section Ressources communautaires- Essayez ce Payload CMS & Astro Template.
- Consultez Astroad pour un développement facile et un déploiement VPS avec Docker.