Le WordPress d'aujourd'hui, décodé pour les développeurs

Headless & API

Fastly, Bunny.net ou Cloudflare devant une API REST à trafic saisonnier

Comparatif de trois CDN pour mettre en cache un endpoint REST consommé par un front à trafic très saisonnier, cas d'un domaine skiable.

Par Clément Hadrot • 20 juin 2025 • 5 min de lecture • Aucun commentaire
Fastly, Bunny.net ou Cloudflare devant une API REST à trafic saisonnier

Un site qui reçoit dix visiteurs par heure en juin et quatre cents en février pose un problème que peu d’articles sur le cache abordent : comment choisir un CDN quand le trafic n’est pas seulement variable, mais multiplié par quarante sur quelques semaines ? C’est la situation d’un domaine skiable qui expose son API REST WordPress (horaires des remontées, état des pistes, tarifs du jour) à un front consommé par plusieurs applications partenaires.

Trois CDN ont été testés en conditions réelles sur une saison complète : Fastly, Bunny.net et Cloudflare. L’objectif n’était pas de trouver « le meilleur » dans l’absolu, mais celui qui tient la charge de février sans faire exploser la facture de juin.

Purge par tag : la fonctionnalité qui change tout sur ce cas d’usage

L’état des pistes change plusieurs fois par jour en pleine saison. Sans purge ciblée, chaque mise à jour oblige soit à attendre l’expiration du cache, soit à vider l’intégralité du cache, ce qui provoque un pic de requêtes non mises en cache juste après chaque purge. Les trois CDN proposent un mécanisme de purge par tag ou par clé de substitution (surrogate key), mais avec des niveaux de granularité différents.

Comparatif sur les critères qui comptaient pour ce projet

L'essentiel à retenir : Les trois CDN gèrent la purge par tag, mais pas avec la même finesse ; Le coût varie fortement selon la répartition saisonnière du trafic ; La configuration par API diffère nettement d'un fournisseur à l'autre
CritèreFastlyBunny.netCloudflare
Purge par tag/cléTrès fine, quasi instantanéeFine, délai de quelques secondesFine depuis les plans payants, moins immédiate
Modèle tarifaireVolumétrique, prévisible sur gros traficTrès bas coût au gigaoctetForfait avec paliers, avantageux hors pointe
Configuration par APIAPI riche, VCL pour les cas avancésAPI REST simple, moins d’options finesAPI REST complète, règles de cache par expression
Tenue en pic saisonnierExcellente, testée sur gros traficBonne, quelques latences en cas de pic brutalExcellente, réseau très étendu

Ce que révèle une saison complète de mesures

Sur la période creuse de juin à octobre, le coût de Bunny.net s’est révélé nettement inférieur aux deux autres solutions, un avantage logique puisque son modèle tarifaire pénalise moins un trafic faible. En pleine saison, de décembre à mars, Fastly a montré la meilleure capacité à absorber les purges fréquentes sans dégradation de la latence, grâce à une granularité de purge par clé de substitution qui évite d’invalider tout un ensemble de réponses pour un seul changement de piste.

La configuration qui a fait la différence chez Fastly

Chaque réponse de l’API REST porte un en-tête Surrogate-Key construit à partir de l’identifiant de la remontée mécanique ou de la piste concernée. La purge, déclenchée par un webhook au moment de la mise à jour du contenu dans WordPress, cible uniquement les clés concernées :

curl -X POST "https://api.fastly.com/service/$SERVICE_ID/purge/piste-123" \
  -H "Fastly-Key: $API_KEY" \
  -H "Accept: application/json"

Cette approche évite de recalculer l’ensemble des réponses de l’API à chaque mise à jour d’une seule piste, un point critique quand plusieurs dizaines de modifications surviennent en quelques heures un jour de forte affluence.

Un point souvent négligé : la latence en dehors des massifs

Un domaine skiable reçoit aussi des visiteurs bien au-delà de sa région, notamment des acheteurs de forfaits qui consultent le site depuis d’autres pays européens plusieurs semaines avant leur séjour. Le réseau de points de présence de Cloudflare, particulièrement étendu, a montré l’avantage le plus net sur ce critère précis, avec une latence mesurée sensiblement plus basse depuis des points d’accès situés hors de France, un avantage qui ne serait pas apparu sur un test limité au seul trafic local.

Ce que la mise en place a coûté en temps d’ingénieur

Configurer la purge par clé de substitution chez Fastly a demandé le plus de temps d’implémentation des trois solutions testées, en raison de la nécessité d’ajouter systématiquement l’en-tête Surrogate-Key sur chaque réponse de l’API concernée. Bunny.net et Cloudflare ont proposé une mise en route plus rapide, au prix d’une granularité de purge légèrement moins fine sur les cas les plus spécifiques rencontrés en cours de saison.

Notre verdict

Pour un trafic à forte saisonnalité, aucun des trois CDN n’est un mauvais choix technique : la décision dépend surtout de la répartition du budget entre saison basse et saison haute, et de l’origine géographique du public à couvrir. Bunny.net convient à une structure qui veut minimiser les coûts hors saison, Fastly convainc sur la finesse de purge en période de forte activité éditoriale, et Cloudflare reste un choix solide et sans mauvaise surprise si l’équipe préfère un forfait prévisible toute l’année et un public dispersé géographiquement plutôt qu’une facturation strictement volumétrique.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi