# Intervention (/fr/docs/web-security/reporting-api/reports/intervention)



Un rapport `intervention` vous indique que le navigateur a refusé de faire quelque chose que la page
a demandé parce que cela nuirait à l'expérience utilisateur, aux performances ou à la batterie. Un
exemple courant est le blocage d'un son qui tente de se lancer automatiquement sans geste de l'utilisateur. Le
rapport nomme ce sur quoi l'intervention a porté et l'endroit dans le code d'où cela provient.

<Callout type="warn" title="Expérimental">
  Le reporting d'intervention est un brouillon, implémenté principalement dans Chromium. Le comportement et l'ensemble des interventions peuvent changer.
</Callout>

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

Quand le navigateur applique une intervention, refusant une action demandée par la page dans
l'intérêt de l'utilisateur (bloquer l'autoplay sans geste, limiter une opération
lourde). Il est délivré à [l'endpoint de reporting par défaut](/fr/docs/web-security/reporting-api/concepts/default-endpoint) et est aussi observable
dans la page via [`ReportingObserver`](/fr/docs/web-security/reporting-api/concepts/reporting-observer).

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

```json
{
  "type": "intervention",
  "age": 18,
  "url": "https://example.com/",
  "user_agent": "Mozilla/5.0 ...",
  "body": {
    "id": "AudioContextAutoplay",
    "message": "A request to play audio was blocked because it was not triggered by user activation.",
    "sourceFile": "https://example.com/player.js",
    "lineNumber": 1234,
    "columnNumber": 42
  }
}
```

Chaque body de report `intervention` 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                                                                          |
| ----------------------------- | -------------------------------------------------------------------------------------- |
| `id`                          | Un identifiant lisible par machine pour l'intervention, la clé stable de regroupement. |
| `message`                     | Une description lisible de ce qui a été refusé et pourquoi.                            |
| `sourceFile`                  | Le fichier qui a déclenché l'intervention.                                             |
| `lineNumber` / `columnNumber` | L'emplacement dans ce fichier.                                                         |

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

Déclarez un endpoint `default` dans [`Reporting-Endpoints`](/fr/docs/web-security/reporting-api/headers/reporting-endpoints) ; les interventions n'ont pas
de directive par politique. CentralCSP les collecte avec le reste du flux de rapports.

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

Les interventions sont surtout des signaux d'expérience utilisateur et de performance plutôt que des
constats de sécurité directs. Elles valent quand même la peine d'être surveillées : une vague d'interventions provenant d'un
script que vous n'avez pas écrit peut être le premier signe d'un comportement tiers inattendu ou abusif
sur la page.

## Pièges [#pièges]

L'`id` est la clé stable pour suivre une intervention ; la formulation du `message` peut
changer entre versions du navigateur, donc regroupez par `id`, pas par texte.

## Support navigateur [#support-navigateur]

Navigateurs basés sur Chromium uniquement ; expérimental. Les autres moteurs n'émettent pas de rapports
d'intervention.

## Voir aussi [#voir-aussi]

* [rapport deprecation](/fr/docs/web-security/reporting-api/reports/deprecation)
* [ReportingObserver](/fr/docs/web-security/reporting-api/concepts/reporting-observer)
* [Rapports de dépréciation et d'intervention](/fr/blog/deprecation-intervention-reports)
* [Surveillance des interventions dans CentralCSP](/fr/docs/platform/monitoring/intervention)
* [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, InterventionReport](https://developer.mozilla.org/en-US/docs/Web/API/InterventionReport)
* [MDN, Reporting API](https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API)
