Umbraco & Astro
Umbraco CMS est un CMS ASP.NET Core qui est Open Source. Par défaut, Umbraco utilise des pages Razor pour son interface, mais peut être utilisé comme un CMS headless.
Intégrer avec Astro
Titre de la section Intégrer avec AstroDans cette section, vous utiliserez l’API native d’Umbraco Content Delivery API pour fournir du contenu à votre projet Astro.
Prérequis
Titre de la section PrérequisPour commencer, vous devez disposer des éléments suivants :
- 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.
- Un projet Umbraco (v12+) - Si vous n’avez pas encore de projet Umbraco, veuillez consulter ce Guide d’installation.
Configuration de l’API de diffusion de contenu
Titre de la section Configuration de l’API de diffusion de contenuPour activer l’API de diffusion de contenu, mettez à jour le fichier appsettings.json
de votre projet Umbraco :
Vous pouvez configurer des options supplémentaires selon vos besoins, telles que l’accès public, les clés API, les types de contenu autorisés, l’autorisation des membres, etc. Voir la documentation Umbraco Content Delivery API pour plus d’informations.
Récupération de données
Titre de la section Récupération de donnéesUtilisez un appel fetch()
à l’API de diffusion de contenu pour accéder à votre contenu et le mettre à la disposition de vos composants Astro.
L’exemple suivant affiche une liste d’articles récupérés, y compris des propriétés telles que la date et le contenu de l’article.
Créer un blog avec Umbraco et Astro
Titre de la section Créer un blog avec Umbraco et 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.
-
Un projet Umbraco (v12+)** avec l’API de diffusion de contenu activée - Suivez ce Guide d’installation pour créer un nouveau projet.
Créer des articles de blog dans Umbraco
Titre de la section Créer des articles de blog dans UmbracoDepuis le back-office d’Umbraco, créez un type de document pour un simple article de blog appelé ‘Article’.
-
Configurez votre type de document “Article” avec les propriétés suivantes :
- Title (DataType: Textstring)
- Article Date (DataType: Date Picker)
- Content (DataType: Richtext Editor)
-
Basculez “Allow as root” à
true
sur le type de document ‘Article’. -
Dans la section “Content” du back-office d’Umbraco, créez et publiez votre premier article de blog. Répétez le processus autant de fois que vous le souhaitez.
Pour plus d’informations, regardez le guide vidéo sur la création de types de documents.
Afficher une liste d’articles de blog dans Astro
Titre de la section Afficher une liste d’articles de blog dans AstroCréez un dossier src/layouts/
, puis ajoutez un nouveau fichier Layout.astro
avec le code suivant :
Votre projet doit maintenant contenir les fichiers suivants :
Répertoiresrc/
Répertoirelayouts/
- Layout.astro
Répertoirepages/
- index.astro
Pour créer une liste d’articles de blog, il faut d’abord appeler le point de terminaison content
de l’API de diffusion de contenu (Content Delivery API) et filtrer par le type de contenu ‘article’. Les objets article incluront les propriétés et le contenu définis dans le CMS. Vous pouvez ensuite parcourir les articles en boucle et afficher chaque titre avec un lien vers son article.
Remplacez le contenu par défaut de index.astro
par le code suivant :
Générer des articles de blog individuels
Titre de la section Générer des articles de blog individuelsCréez le fichier [...slug].astro
à la racine du répertoire /pages/
. Ce fichier sera utilisé pour générer dynamiquement les pages individuelles du blog.
Notez que la propriété params
, qui génère le chemin de l’URL de la page, contient article.route.path
de l’API. De même, la propriété props
doit inclure l’intégralité de article
lui-même afin que vous puissiez accéder à toutes les informations dans votre entrée CMS.
Ajoutez le code suivant à [...slug].astro
qui créera vos pages individuelles d’articles de blog :
Votre projet doit maintenant contenir les fichiers suivants :
Répertoiresrc/
Répertoirelayouts/
- Layout.astro
Répertoirepages/
- index.astro
- […slug].astro
Avec le serveur de développement en marche, vous devriez maintenant être en mesure de voir votre contenu créé par Umbraco dans l’aperçu du navigateur de votre projet Astro. Félicitations ! 🚀
Publier votre site
Titre de la section Publier votre sitePour déployer votre site, consultez nos guides de déploiement et suivez les instructions de votre hébergeur préféré.
Développement local, HTTPS et certificats SSL auto-signés
Titre de la section Développement local, HTTPS et certificats SSL auto-signésSi vous utilisez le point de terminaison HTTPS d’Umbraco localement, toute requête fetch
résultera en un fetch failed
avec le code DEPTH_ZERO_SELF_SIGNED_CERT
. Ceci est dû au fait que Node (sur lequel Astro est construit) n’accepte pas les certificats auto-signés par défaut. Pour éviter cela, utilisez le point de terminaison HTTP d’Umbraco pour le développement local.
Alternativement, vous pouvez mettre NODE_TLS_REJECT_UNAUTHORIZED=0
dans un fichier env.development
et mettre à jour astro.config.js
comme indiqué :
Cette méthode est décrite plus en détail dans ce billet de blog montrant comment configurer votre projet pour les certificats auto-signés, avec un dépôt GitHub pour vous accompagner.
Documentation officielle
Titre de la section Documentation officielleRessources communautaires
Titre de la section Ressources communautaires- Sites web astro-nomiquement performants utilisant l’API de livraison de contenu - Louis Richardson (en)
- Génération d’un client TypeScript OpenAPI à partir de l’API de diffusion de contenu d’Umbraco - Rick Butterfield (en)
- Jamstack gratuit avec Azure et CloudFlare - Kenn Jacobsen (en)
- Blog rapide avec Astro et Umbraco - Kenn Jacobsen (en)
- Présentation : Cuisinez au lieu de frire - Astro et l’API de diffusion de contenu - Adam Prendergast (en)