Glossaire

Qu'est-ce que Cross-Origin-Opener-Policy (COOP) et Cross-Origin-Embedder-Policy (COEP) ?

20 mai 2026

Cross-Origin-Opener-Policy (COOP) et Cross-Origin-Embedder-Policy (COEP) sont deux en-têtes de réponse HTTP introduits par Chromium en 2020 et supportés aujourd'hui par tous les navigateurs majeurs (Chrome 83+, Firefox 79+, Safari 15.2+). COOP contrôle si une page partage son groupe de contexte de navigation avec les fenêtres qu'elle ouvre ou qui l'ont ouverte ; COEP contrôle si la page peut charger des sous-ressources cross-origin. La combinaison COOP: same-origin + COEP: require-corp ou credentialless active le mode "cross-origin isolated", requis pour utiliser SharedArrayBuffer, performance.measureUserAgentSpecificMemory() et les timers haute précision de performance.now(). Ils font partie du durcissement post-Spectre du navigateur, aux côtés de Cross-Origin-Resource-Policy (CORP).

Pourquoi COOP et COEP ont-ils été introduits ?

En janvier 2018, les vulnérabilités CPU side-channel Spectre et Meltdown (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754) ont montré qu'un JavaScript malveillant peut lire la mémoire d'autres origines dans le même processus de rendu. Les navigateurs ont désactivé SharedArrayBuffer et abaissé la résolution de performance.now() de microsecondes à 100 µs. COOP et COEP permettent à un site de demander explicitement un contexte isolé par processus et propre côté cross-origin pour réactiver ces APIs.

Que fait Cross-Origin-Opener-Policy (COOP) ?

  • unsafe-none — par défaut.
  • same-origin-allow-popups — vos popups conservent la référence ; les documents cross-origin qui veulent vous accéder sont isolés.
  • same-origin — isolation totale.
Cross-Origin-Opener-Policy: same-origin

Que fait Cross-Origin-Embedder-Policy (COEP) ?

  • unsafe-none — par défaut.
  • require-corp — chaque sous-ressource cross-origin doit consentir via Cross-Origin-Resource-Policy: cross-origin ou CORS.
  • credentialless — depuis Chrome 96 (octobre 2021). Requêtes cross-origin sans cookies, la ressource n'a pas besoin de consentir.
Cross-Origin-Embedder-Policy: require-corp

Qu'est-ce que la cross-origin isolation ?

if ( self.crossOriginIsolated ) {
  // SharedArrayBuffer et timers haute résolution disponibles
}

Sans isolation, les navigateurs modernes bloquent new SharedArrayBuffer() et arrondissent performance.now() à 100 µs.

Quand a-t-on besoin de COOP et COEP sur WordPress ?

  • Inutile sur un site de contenu, un blog ou un WooCommerce standard. Les activer peut casser les embeds (YouTube, Google Maps, Stripe Checkout, Facebook).
  • Nécessaire si vous déployez du WebAssembly multi-thread (Photopea, Figma, FFmpeg.wasm), de l'édition vidéo navigateur, des jeux Emscripten ou des mesures de perf précises.
  • COOP seul (same-origin-allow-popups) est utile sur les pages de login et dashboards contre le tabnabbing.

Comment configurer COOP et COEP dans WordPress ?

Apache :

<IfModule mod_headers.c>
  Header set Cross-Origin-Opener-Policy "same-origin"
  Header set Cross-Origin-Embedder-Policy "require-corp"
  Header set Cross-Origin-Resource-Policy "same-site"
</IfModule>

Nginx :

add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Resource-Policy "same-site" always;

Qu'est-ce qui casse quand on active COEP: require-corp ?

  • iframes YouTube et Vimeo (sauf en mode credentialless).
  • Google Fonts depuis fonts.gstatic.com sans CORS.
  • Avatars externes comme Gravatar.
  • Pixels de tracking, Stripe.js, hCaptcha.

DevTools » Réseau » colonne "Bloqué" pour identifier les coupables. credentialless assouplit l'exigence.

Comment tester si mon site est cross-origin isolated ?

  1. Ouvrir le site dans Chrome.
  2. DevTools (F12) » Application » Frames » top » ligne "Cross-Origin Isolated: Yes".
  3. Ou taper self.crossOriginIsolated dans la console.

Ce que vérifie InspectWP

InspectWP analyse chaque en-tête de réponse HTTP de la page crawlée et signale la présence et la valeur de Cross-Origin-Opener-Policy, Cross-Origin-Embedder-Policy et Cross-Origin-Resource-Policy dans la section Sécurité. L'absence est marquée comme avertissement, pas comme critique, car la plupart des sites de contenu n'ont pas besoin d'isolation complète.

Vérifiez votre site WordPress dès maintenant

InspectWP analyse votre site WordPress pour détecter les problèmes de sécurité, de SEO, de conformité RGPD et de performance — gratuitement.

Analyser votre site gratuitement