Topics

Implémentation partielle d'un CMS sur un site existant à l'aide du « SSR post-traitement » (Notes sur l'utilisation des fonctions Cloudflare Pages + microCMS)

  • column

Bonjour, je suis Otsuka, directeur technique chez Liberogic.

Même si vous me demandez de faire quelque chose concernant l'article...

J'ai donc pensé laisser une petite note technique concernant « l'implémentation partielle d'un CMS sur un site web existant ».

Auparavant, l'approche standard consistait à utiliser PHP pour « injecter de la logique dans le HTML », mais maintenant, grâce à Cloudflare Pages Functions, vous pouvez créer une structure beaucoup plus intelligente et optimisée pour le référencement naturel, qui peut être correctement indexée par Google.

Cette fois-ci, je vais vous montrer comment j'ai intégré un microCMS dans un site statique construit avec Eleventy en appliquant le « post-traitement SSR » à l'aide des fonctions Cloudflare Pages.

Points clés de cette configuration

Dans ce projet, nous développons l'interface utilisateur avec Eleventy et Nunjucks. Contrairement à Astro, qui encapsule les fonctions au sein du projet,dist/Nous avons adopté une méthode selon laquelle le contenu dynamique est inséré ultérieurement dans la sortie HTML statique.

Il est étonnamment facile à manipuler et pratique.

1. Je souhaite appliquer l'authentification de base uniquement à l'environnement de prévisualisation.

L’exigence était la suivante : « Nous voulons inclure l’authentification dans l’environnement de prévisualisation, mais nous voulons minimiser l’exécution (le coût) des processus inutiles en production. » Nous avons donc légèrement modifié le traitement de pré-compilation.Uniquement pendant la phase de production_middleware.jsLe processus consiste à le supprimer.

En environnement de production, l'authentification n'est pas requise, ce qui permet d'équilibrer sécurité et commodité tout en minimisant les coûts d'exécution inutiles.

2. Mettre en cache les réponses microCMS à l'aide de l'API Cache.

Lors de l'utilisation du rendu côté serveur (SSR), l'une des principales préoccupations est la charge et la latence causées par les appels API effectués à chaque requête.

C'est celui de Cloudflare.Cache APINous avons opté pour cette méthode afin de mettre en cache la réponse en périphérie du réseau. La durée de vie du cache a été fixée à une valeur relativement courte, de l'ordre de 5 à 10 minutes.

Nous préservons la fraîcheur tout en assurant d'excellentes performances.

3. Purge du cache (revalidation) à l'aide de la clé de volume

Même si le TTL est court, le fait que les mises à jour ne soient pas reflétées instantanément est un peu stressant pour l'équipe des opérations.Cloudflare KVNous l'avons utilisé comme espace de stockage pour contrôler le processus de revalidation.

Le mécanisme est simple.

  • Lorsqu'un article est mis à jour via microCMS, un webhook est déclenché.
  • La valeur KV est mise à jour à ce moment-là.
  • Pages Functions utilise la valeur KV comme déclencheur pour déterminer s'il faut invalider le cache.

Cette conception offre le meilleur des deux mondes : « des mises à jour ultra-rapides grâce à la mise en cache et des mises à jour instantanées ».

résumé

J'apprécie cette approche qui consiste à « tirer parti des atouts des sites statiques existants tout en modifiant uniquement les parties nécessaires avec Edge » car elle offre une grande flexibilité opérationnelle.

Retrouvez la simplicité d'utilisation des anciens PHP grâce à la puissance de Cloudflare ! Si les migrations de frameworks spectaculaires sont attrayantes, ce sont ces « améliorations concrètes » qui s'avèrent les plus utiles dans des situations réelles.

Eh bien, alors.

Écrit par

Il est le pilier du département technologique de Liberogic. Dès qu'il entend quelqu'un dire : « J'aimerais bien avoir quelque chose comme ça, ce serait tellement pratique ! », il fait preuve d'ingéniosité pour apporter une valeur ajoutée et le mettre en œuvre en un clin d'œil. C'est un atout précieux pour notre entreprise : doté d'excellentes compétences en communication et d'une clientèle fidèle, il adore les chats.

Kakeru

Directeur technique / Ingénieur en chef / PDG de Nekoana Inc. / Apparence insensée

Consultez l'article de ce membre du personnel

Nous sommes fiers de la fiabilité de notre équipe et de notre réactivité.

Chez Liberogic, notre personnel expérimenté fait avancer les projets de manière proactive, ce qui explique pourquoi nous sommes très appréciés de nos clients.
Nous veillons à ce que les chefs de projet et les directeurs soient correctement désignés afin de garantir le bon déroulement de l'ensemble du projet. Nous prévenons les dépassements de coûts liés aux engagements initiaux et allouons les ressources aux personnes compétentes aux postes appropriés. Notre capacité à appréhender rapidement les enjeux du projet, à établir et à soumettre des devis est reconnue.

Veuillez noter que nous ne participons pas activement à des travaux sur site de type SES.

Nous prenons en charge la quasi-totalité des principaux outils de gestion de projet et de messagerie instantanée, notamment Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom et Webex.

Dans les projets de grande envergure utilisant des SES et des technologies offshoreAvez-vous des problèmes techniques ou des inquiétudes quant à la manière de les résoudre ?

Étude de cas