# 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 chaque embed qui casserait avant d'activer COEP, ce qui compte parce que 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 à la fois les casses et resserre la page contre les fuites de données cross-origin, ce qui est l'objet 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 le signal enforce-contre-report plutôt que comme un littéral fixe, 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)
