Cloudflare Pages · Deploy Hook · Cache · En-têtes · OpenClaw · Mac distant · 2026

2026 OpenClaw, front-end terrain :
Cloudflare Pages Deploy Hook → Mac distant — fumée, audit d’en-têtes et rappel de résumé de build

16 avril 2026 Front-end / automatisation edge 10 min de lecture

Public : équipes Cloudflare Pages avec caches résiduels et régressions d’en-têtes. Par rapport au flux Netlify, cette chaîne ajoute purge, diff _headers, lots curl, OpenClaw et métriques → PR. Voir aussi fumée pré-déploiement, CSP Safari, Service Worker.

01 Pourquoi un hook Pages exige encore un runner Mac distant

Un Deploy Hook annonce la fin de build, pas que CSP, HSTS ou Permissions-Policy survivent à Workers + _headers. Sans convergence de purge, la CI peut être verte alors que le bord sert encore une coquille ancienne.

  1. Invalidation. Purge ciblée ou actifs hachés : sinon la fumée rate un document collant au CDN.
  2. En-têtes fusionnés. Comparez les en-têtes effectifs après déploiement (apex, www, préprod).
  3. Navigateurs réels. WebKit vs stockage/SW : un Mac distant pour Playwright ; voir HTTP/3 · QUIC pour les preuves réseau.

02 Matrice de décision : hooks Netlify vs hooks Cloudflare Pages

Même principe de hook, sémantique du bord différente : Pages exige purge, Workers et _headers vérifiés par diff face au vivant.

Sujet Accent Netlify Deploy Hook Accent Cloudflare Pages
Contrat du hook Build terminé ; les URL de preview sont citoyennes de première classe. Projets prod/preview ; associer le hook à une purge et aux routes Workers qui recollent le trafic.
Source de vérité des en-têtes Blocs headers dans netlify.toml. Fichier _headers + règles tableau de bord ; exiger un diff curl face aux réponses réelles.
Risque de contenu périmé Patterns d’invalidation CDN propres à la plateforme. API de purge explicites et stratégies de tags ; traiter HTML et fragments hachés séparément.
Style de vérification Chauffe GET + Playwright reste souvent suffisant. Ajouter des lots curl sur les en-têtes de sécurité et les chaînes de redirection pour plusieurs entrées.

03 Chaîne reproductible que l’on peut coller dans un shell

Secret de hook, OPENCLAW_RUN_ID, réponse 202 Accepted rapide ; travail lourd sur Mac loué. Même script en dry-run local et en prod.

  1. Contexte : GIT_SHA, CF_PAGES_COMMIT_SHA, DEPLOYMENT_ID, PAGES_URL.
  2. Purge : coquille HTML et JSON non empreint, ou actifs immuables émis par le bundler.
  3. Chauffe : curl sur /healthz jusqu’à 200 ; backoff si 429.
  4. Diff _headers : diff -u vs tag précédent ; artefact texte pour la revue.
  5. Lot curl : liste d’URL → curl -sSI pour HSTS/CSP/Permissions-Policy ; échec si directive requise manque.
  6. Playwright : npx playwright test tests/smoke --project=webkit --project=chromium après les portes curl.
  7. build_summary : .openclaw/reports/build_summary.json (build_summary/v1), POST avec Idempotency-Key: ${GIT_SHA}:${DEPLOYMENT_ID}:cfpages.

04 Passerelle OpenClaw : orchestration et digest d’échecs

La passerelle OpenClaw enchaîne curl_batch, headers_diff, playwright_smoke ; arrêt au premier échec. NDJSON : phase, attempt, http_status, openclaw_run_id ; digest avec première URL faute et DEPLOYMENT_ID.

Même en succès, logguez cf_cache_status / age. Multi-dépôts : un digest par repo et environment.

05 Informations réutilisables (audit, preuve, périmètre)

Périmètre de purge

Listez URL, préfixe ou tag ; évitez la purge zone sauf urgence (limites API).

Artefact de diff _headers

Artefact diff + déploiement : intention Git vs curl réel.

Hygiène du jeton passerelle

Jeton passerelle : résumé et file seulement ; jamais de jetons CF dans le front ou les logs publics.

06 FAQ : hooks, caches et en-têtes

Symptôme Cause probable Que vérifier
Fumée verte puis flakiness Course avec la purge ou POP différents. Allongez la deadline de chauffe, tracez cf-ray et age, relancez le lot curl avant Playwright.
CSP absente seulement en prod Une autre règle écrase les en-têtes statiques. Comparez curl -sSI sur apex et www ; inspectez les Workers pour des injections d’en-têtes concurrentes.
Hook en 403 Secret pivoté ou mauvais slug de projet. Régénérez l’URL de hook, mettez à jour le coffre et chassez les endpoints obsolètes dans la documentation interne.
429 sur les API Cloudflare Rafales de purge ou limites secondaires. Échelonnez les purges, backoff jitterisé, mettez en cache les métadonnées de déploiement ~5 minutes.

Les lots curl remplacent-ils Playwright ?

Non : curl prouve transport, redirections et directives d’en-têtes ; le navigateur applique encore CSP et contenu mixte différemment. Servez-vous du lot comme porte rapide, puis laissez Playwright couvrir DOM et stockage.

Que reprendre du guide Netlify ?

L’hygiène générique des hooks, les champs NDJSON et l’idempotence des callbacks restent valables ; substituez simplement les URL fournisseur et ajoutez les étapes cache plus en-têtes propres à Pages.

Mac distant · CF Pages · runners hook 7×24

Enchaînez vos hooks Cloudflare sur du matériel Apple réel

Gardez les déploiements Pages attachés à une automatisation Safari et Chromium durable, diffusez les synthèses OpenClaw et évitez les nuits sur portable. Parcourez les tarifs et le centre d’aide sans compte, puis achat ou location lorsque vos releases edge dépassent les minutes CI partagées.

Hooks de déploiement Audits d’en-têtes Fumée WebKit

Pour poursuivre : index du blog, accueil MacWww, centre d’aide.

Louer un Mac — QA hook CF Pages