# Report COEP (/fr/docs/web-security/reporting-api/reports/coep)



Un report `coep` vous indique que [Cross-Origin-Embedder-Policy (COEP)](/fr/docs/web-security/policies/cross-origin-embedder-policy) a bloqué, ou bloquerait, une ressource cross-origin qui ne s'est pas explicitement déclarée. C'est ainsi que vous repérez, avant d'activer COEP, chaque embed qui casserait. Cela compte, car COEP est un prérequis de l'isolation cross-origin.

<Callout type="info" title="Disponibilité limitée">
  COEP est standardisé, mais la prise en charge du reporting est inégale d'un navigateur à l'autre. Vérifiez la compatibilité avant de vous appuyer sur ce flux de reports.
</Callout>

## Quand le navigateur l'envoie [#quand-le-navigateur-lenvoie]

Quand un document `require-corp` (ou `credentialless`) charge une sous-ressource cross-origin qui n'envoie pas de [`Cross-Origin-Resource-Policy`](/fr/docs/web-security/security-headers/cross-origin-resource-policy) correspondant ou ne passe pas le CORS, ou embarque une frame ou un worker sans COEP correspondant. En mode `Cross-Origin-Embedder-Policy-Report-Only`, le navigateur signale le blocage potentiel sans bloquer réellement, ce qui permet de mesurer l'impact avant d'appliquer la politique.

## Exemple de payload [#exemple-de-payload]

```json
{
  "type": "coep",
  "age": 14,
  "url": "https://example.com/",
  "user_agent": "Mozilla/5.0 ...",
  "body": {
    "type": "corp",
    "blockedURL": "https://another-example.com/image.png",
    "destination": "image",
    "disposition": "enforce"
  }
}
```

Chaque body de report `coep` porte ces champs à l'intérieur de l'enveloppe de report partagée.

## Référence des champs [#référence-des-champs]

| Champ         | Signification                                                         |
| ------------- | --------------------------------------------------------------------- |
| `type`        | La cause : `corp`, `navigation` ou `worker initialization`.           |
| `blockedURL`  | La ressource cross-origin qui a été bloquée.                          |
| `destination` | La destination de la requête, par exemple `image`, `script`, `frame`. |
| `disposition` | `enforce`, ou `report` en mode Report-Only.                           |

## Comment le recevoir [#comment-le-recevoir]

Ajoutez un paramètre `report-to="..."` au header COEP et déclarez cet endpoint dans [`Reporting-Endpoints`](/fr/docs/web-security/reporting-api/headers/reporting-endpoints). Utilisez d'abord `Cross-Origin-Embedder-Policy-Report-Only` pour un essai à blanc. CentralCSP collecte le [flux coep](/fr/docs/platform/monitoring/coep).

```http
Reporting-Endpoints: coep-endpoint="https://<Endpoint-ID>.report.centralcsp.com"
```

```http
Cross-Origin-Embedder-Policy-Report-Only: require-corp; report-to="coep-endpoint"
```

## Ce qu'il vous apprend sur la sécurité [#ce-quil-vous-apprend-sur-la-sécurité]

Chaque report correspond à une ressource cross-origin qui franchit la frontière d'embarquement sans s'être déclarée. Les passer en revue avant d'appliquer la politique évite les casses et referme la page sur les fuites de données cross-origin, ce qui est l'objet même de COEP et de l'isolation cross-origin.

## Pièges [#pièges]

Le champ `disposition` indique si COEP appliquait la politique ou tournait en mode Report-Only. La chaîne exacte n'est pas totalement cohérente selon les sources : l'énumération de la spec est `enforce` / `report`, tandis que certaines documentations de navigateur montrent `reporting`. Lisez-le comme l'indication enforce ou report plutôt que comme une valeur littérale figée, et vérifiez sur une capture réelle issue de votre propre trafic.

## Prise en charge par les navigateurs [#prise-en-charge-par-les-navigateurs]

COEP est défini dans le HTML Living Standard et `require-corp` est largement pris en charge, mais la livraison des reports est portée par Chromium, et la valeur `credentialless` n'est pas prise en charge dans Safari.

## Voir aussi [#voir-aussi]

* [Cross-Origin-Embedder-Policy (COEP)](/fr/docs/web-security/policies/cross-origin-embedder-policy)
* [report coop](/fr/docs/web-security/reporting-api/reports/coop)
* [Monitoring COEP dans CentralCSP](/fr/docs/platform/monitoring/coep)
* [Header Reporting-Endpoints](/fr/docs/web-security/reporting-api/headers/reporting-endpoints)
* [Le format de livraison des rapports](/fr/docs/web-security/reporting-api/concepts/report-delivery-format)

## Sources [#sources]

* [MDN, COEPViolationReport](https://developer.mozilla.org/en-US/docs/Web/API/COEPViolationReport)
* [MDN, Cross-Origin-Embedder-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cross-Origin-Embedder-Policy)
