# Vue d'ensemble (/fr/docs/web-security/reporting-api)



La Reporting API est le mécanisme du navigateur qui collecte les événements survenus
sur une page, violations de politiques, erreurs réseau, dépréciations, interventions
et crashs, et les livre à un endpoint que vous contrôlez. Vous déclarez un endpoint
avec un seul header HTTP, vous y pointez une politique, et le navigateur envoie des
reports JSON structurés hors bande. Cette documentation est une référence des
standards en langage clair pour l'ensemble du sujet : ce qu'est l'API, comment
configurer chaque header de reporting, et la signification de chaque politique et de
chaque type de report.

CentralCSP est construit sur cette API. Elle collecte et agrège tous les types de
report sur un endpoint unique, puis transforme le flux en [supervision de la sécurité côté client](/fr/docs/platform/monitoring)
et en preuves PCI DSS v4, avec la [politique de sécurité du contenu (CSP)](/fr/docs/web-security/policies/content-security-policy) comme cas d'usage le plus approfondi.

## Ce qu'est la Reporting API [#ce-quest-la-reporting-api]

Il est utile de distinguer deux rôles. Une **politique** ou une fonctionnalité de la
plateforme est le producteur d'un report : Content Security Policy,
Cross-Origin-Opener-Policy, Network Error Logging, un avertissement de dépréciation,
un crash. La Reporting API est le transport partagé sous-jacent : une file d'attente
dans le navigateur qui collecte ces reports et les livre. Le producteur décide de ce
qui mérite d'être signalé ; l'API décide de la manière dont cela circule.

Trois termes reviennent tout au long de cette référence. Un **report** est un objet
JSON unique décrivant un événement (une violation CSP, un échec réseau). Un
**endpoint** est une URL que vous contrôlez et qui reçoit les reports, nommée dans un
header. Une **politique** est un ensemble de règles que le navigateur applique,
configuré par un header de réponse, et qui peut nommer un endpoint où reporter. L'API
elle-même ne définit aucun comportement de politique ; elle se contente de
structurer, de mettre en file d'attente et de livrer ce que les politiques
produisent.

Une chose à comprendre dès le départ : la livraison est au mieux possible, ce n'est
pas un canal garanti. La spécification le dit explicitement. Les reports peuvent être
regroupés, retardés, dédupliqués ou abandonnés, alors traitez le flux comme un signal
de grande valeur, pas comme un journal d'audit complet.

## Comment ça fonctionne [#comment-ça-fonctionne]

Une politique signale un événement. Le navigateur ne l'envoie pas immédiatement ; il
collecte le report, le regroupe avec d'autres, et POST le lot vers l'endpoint nommé
en tant que `application/reports+json`, selon son propre calendrier. La livraison
s'exécute indépendamment de la page, ce qui explique qu'un report puisse encore
arriver après que la page a quitté ou même planté.

```mermaid
flowchart LR
  A["Page + policy<br/>(CSP, COOP, NEL)"] -->|flags an event| B["Browser<br/>report queue"]
  B -->|batches, out of band| C["POST<br/>application/reports+json"]
  C --> D["Your reporting<br/>endpoint"]
```

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

```http
Content-Security-Policy: default-src 'self'; report-to csp-endpoint
```

## Ce que vous pouvez en faire [#ce-que-vous-pouvez-en-faire]

* **Détecter les violations CSP** avant que les utilisateurs ne signalent une page cassée ou attaquée, avec le [report `csp-violation`](/fr/docs/web-security/reporting-api/reports/csp-violation).
* **Inventorier les scripts** qui s'exécutent dans le navigateur via le hash reporting CSP, le [report `csp-hash`](/fr/docs/web-security/reporting-api/reports/csp-hash), base d'un [inventaire de scripts et d'un SBOM](/fr/docs/platform/features/script-inventory).
* **Surveiller les échecs réseau** que votre serveur ne voit jamais (DNS, TLS, connexion) avec [Network Error Logging](/fr/docs/web-security/policies/network-error-logging) et le [report `network-error`](/fr/docs/web-security/reporting-api/reports/network-error).
* **Voir les dépréciations et les interventions** avant qu'elles ne cassent le site, avec les reports [`deprecation`](/fr/docs/web-security/reporting-api/reports/deprecation) et [`intervention`](/fr/docs/web-security/reporting-api/reports/intervention).
* **Obtenir des signaux de crash** d'utilisateurs réels avec le [report `crash`](/fr/docs/web-security/reporting-api/reports/crash).
* **Déployer les politiques cross-origin en toute sécurité** (COOP, COEP, Permissions-Policy) en mode report-only et observer ce qui casserait.

CentralCSP collecte tout cela sur [un endpoint](/fr/docs/platform/monitoring) et le transforme en alertes et en preuves.

## Dans cette référence [#dans-cette-référence]

<Cards>
  <Card title="Concepts" href="/fr/docs/web-security/reporting-api/concepts/how-the-reporting-api-works" description="Comment fonctionnent la livraison et le batching, le format des reports, et Report-To face à Reporting-Endpoints." />

  <Card title="Headers" href="/fr/docs/web-security/reporting-api/headers" description="Déclarez des endpoints et routez les reports avec Reporting-Endpoints et Report-To." />

  <Card title="Types de report" href="/fr/docs/web-security/reporting-api/reports" description="Une page par payload de report, avec sa forme et sa signification." />

  <Card title="Politiques" href="/fr/docs/web-security/policies" description="Comment fonctionne chaque politique configurable et comment elle reporte. CSP est le sous-arbre le plus approfondi." />
</Cards>

## Pour commencer [#pour-commencer]

Le chemin le plus court consiste à déclarer un endpoint et à confirmer l'arrivée d'un
premier report. Voir [Pour commencer](/fr/docs/web-security/reporting-api/get-started). Pour
vérifier qu'un site en production est correctement câblé, utilisez le
[vérificateur de configuration de la Reporting API](/tools/reporting-api).

## Sources [#sources]

* [W3C, Reporting API](https://www.w3.org/TR/reporting-1/)
* [MDN, Reporting API](https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API)
* [Chrome, the Reporting API](https://developer.chrome.com/docs/capabilities/web-apis/reporting-api)
