> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/fr/insights/onsite/traffic/netlify-agent-analytics.md).

# Netlify

Connectez votre site Netlify à AirOps pour suivre le trafic des bots IA via Netlify Log Drains.

Connectez votre site Netlify à AirOps pour suivre le trafic des robots d’IA. Vous ajoutez un **Netlify Log Drain** qui transmet les journaux de trafic en périphérie à AirOps, lequel classe les visites des robots d’IA (ChatGPT, Claude, Perplexity, Google, et plus encore) et fait remonter des analyses dans votre tableau de bord Agent Analytics.

La configuration est une étape manuelle unique dans le tableau de bord Netlify. Les Log Drains sont une **Netlify Enterprise** fonctionnalité. Aucun tag de site ni script côté client n’est requis.

***

## Prérequis

* Un **AirOps** compte actif avec Agent Analytics activé
* Un **Netlify Enterprise** compte (les Log Drains ne sont pas disponibles sur les offres Free, Personal ou Pro)
* Un **site Netlify** qui sert votre site web
* Un **Brand Kit** dans AirOps pour ce site. Définissez son URL de marque sur le domaine de votre site afin que les répartitions au niveau des pages se résolvent (configurable sous Context > Brand Kits > Brand URL)

Si vous n’êtes pas sûr que votre Brand Kit est correctement configuré, vérifiez avec votre interlocuteur AirOps Customer Success avant de configurer le drain.

***

## Étape 1 : obtenez votre point de terminaison et votre jeton AirOps

Dans AirOps, ouvrez **Insights → Sur site → Analytics des agents**, cliquez sur **Configurer Agent Analytics** et choisissez **Netlify**. Le panneau affiche les deux valeurs dont vous avez besoin :

* le **URL du point de terminaison d’ingestion** pour votre Brand Kit
* votre **jeton API de l’espace de travail**, masqué par défaut. Cliquez sur **Afficher** pour l’afficher, ou **Copier** pour le copier directement dans votre presse-papiers.

Le jeton correspond à la `Authorization: Bearer` valeur à l’étape 2.

{% hint style="info" %}
Si le jeton ne s’affiche pas, votre rôle n’a pas accès à la clé API de l’espace de travail. Demandez à un administrateur de l’espace de travail.

Vous pouvez aussi construire vous-même le point de terminaison : `https://ingest.airops.com/api/v1/netlify/<YOUR_BRAND_KIT_ID>/ingest`. L’ID de votre Brand Kit se trouve dans l’URL sous Context > Brand Kits, sous la forme `https://app.airops.com/<YOUR_WORKSPACE_SLUG>/data/brand_kits/<YOUR_BRAND_KIT_ID>`. Le jeton se trouve également sous Settings > Workspace.
{% endhint %}

## Étape 2 : ajoutez un Log Drain dans Netlify

Dans Netlify, allez dans **Logs & Metrics > Log Drains > Ajouter un Log Drain**, puis :

1. **Service :** Point de terminaison HTTP général
2. **Types de journaux :** Trafic uniquement (désactivez les journaux function, edge, deploy et firewall)
3. **Format :** NDJSON
4. **URL du point de terminaison :** le point de terminaison AirOps de l’étape 1
5. **En-tête :** ajouter `Authorization: Bearer <your token>`
6. **Exclure les données personnelles :** laissez cette option **désactivée** (voir l’avertissement ci-dessous)
7. Cliquez sur **Connecter** pour enregistrer le drain.

{% hint style="warning" %}
Laissez **"Exclude PII" désactivé**. L’option d’exclusion des données personnelles de Netlify supprime le User-Agent et l’adresse IP du client des journaux de trafic. AirOps identifie les agents d’IA à partir du User-Agent, donc si les données personnelles sont exclues, aucun trafic de robot ne peut être classé et votre tableau de bord reste vide. Laissez-la désactivée pour Agent Analytics.
{% endhint %}

## Étape 3 : Vérifier la connexion

De retour dans AirOps, rouvrez **Configurer Agent Analytics** et choisissez **Netlify**, puis cliquez sur **J’ai configuré cela**. Netlify affiche maintenant un badge vert **Connecté** dans la liste des sources.

Votre drain est actif dès que Netlify l’accepte, et le trafic apparaît dans le tableau de bord au fur et à mesure que les agents d’IA explorent vos pages suivies.

{% hint style="info" %}
Testez avec un chemin réel existant sur votre site. Les requêtes vers des pages inexistantes peuvent être servies depuis le cache en périphérie de Netlify sans atteindre le drain, donc un test 404 ne produira pas de données. Vérifiez aussi que le type de journal du drain est défini sur **Trafic**.
{% endhint %}

***

## Dépannage

| Symptôme                                                                          | Cause probable                                                                     | Correctif                                                                                                                                                        |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Vous ne voyez pas le **J’ai configuré cela** bouton                               | Votre rôle ne peut pas modifier les Brand Kits                                     | Demandez à un administrateur de l’espace de travail de confirmer la connexion pour vous.                                                                         |
| Drain enregistré dans Netlify, mais aucune donnée n’apparaît dans Agent Analytics | Aucun robot d’IA n’a encore visité le site, ou "Exclude PII" est activé            | Confirmez que du trafic réel atteint le site, et désactivez "Exclude PII" sur le drain.                                                                          |
| Le trafic brut apparaît, mais rien n’est classé                                   | "Exclude PII" est activé, donc le User-Agent est manquant                          | Modifiez le drain dans Netlify et désactivez l’exclusion des données personnelles. AirOps a besoin du User-Agent pour identifier les robots.                     |
| Les données au niveau des pages sont absentes dans Page360                        | Le domaine de votre Brand Kit ne correspond pas au site                            | Dans AirOps, ouvrez les paramètres du Brand Kit et confirmez que l’URL de marque correspond au domaine servi par votre site Netlify.                             |
| Drain configuré, mais aucune ligne après quelques minutes                         | Vous avez testé un chemin qui renvoie 404, ou le type de journal n’est pas Traffic | Visitez un chemin valide connu qui existe dans votre déploiement, et confirmez que le type de journal du drain est **Trafic** (et non function/edge uniquement). |
| Impossible de trouver Log Drains dans Netlify                                     | Votre équipe n’est pas sur une offre Enterprise                                    | Les Log Drains nécessitent **Netlify Enterprise**. Passez à une offre supérieure avant la configuration.                                                         |

***

## Exigences du forfait

Les Netlify Log Drains sont disponibles uniquement avec l’ **Netlify Enterprise** offre uniquement. Les offres Free, Personal et Pro ne peuvent pas créer de drains ; votre équipe doit disposer d’Enterprise avant de configurer cela.

Netlify ne publie pas de tarif distinct au Go pour l’egress des Log Drains ; tout coût de données fait partie de votre contrat Netlify Enterprise. Pour limiter le volume, ne drainez que **les journaux de trafic uniquement**.

***

## Configuration de sécurité et de moindre privilège

### Autorisations requises pour la configuration

**Dans Netlify :** un membre de l’équipe capable de gérer les Log Drains sur votre équipe Enterprise peut ajouter le drain.

**Dans AirOps :** l’utilisateur doit être connecté à AirOps et membre de l’espace de travail cible ; n’importe quel rôle AirOps convient.

### Authentification à l’exécution

Aucune session utilisateur n’intervient dans la livraison d’un drain. Chaque livraison s’authentifie avec un **jeton Bearer** dans l’ `Authorization` en-tête, qui correspond à votre **clé API AirOps de votre espace de travail**, saisi dans la configuration du drain lors de la mise en place. Le jeton est au niveau de l’espace de travail, pas au niveau de l’utilisateur. Il n’y a pas de secret de signature séparé à gérer.

### Rotation du jeton

La clé API de l’espace de travail peut être renouvelée dans l’application sous **Compte > Espace de travail > Clé API** (nécessite le rôle d’administrateur de l’espace de travail AirOps). Deux choses à comprendre avant la rotation :

* Le drain Netlify contient l’ancien jeton dans son en-tête sortant `Authorization` dans Netlify. Après rotation, mettez à jour l’en-tête du drain avec le nouveau jeton, sinon les livraisons commenceront à échouer lors de l’authentification.
* La même clé API d’espace de travail authentifie d’autres API AirOps (Public API, serveur MCP, SDK). La faire tourner affecte l’ensemble de ces services, pas seulement Netlify.

### Ce que cette intégration ne fait pas

* Elle ne reçoit que les journaux de trafic envoyés par le drain. Elle n’a aucun accès à votre compte Netlify, à vos variables d’environnement, à vos journaux de build ni à vos déploiements.
* Elle n’écrit rien dans votre compte Netlify. Après la configuration, AirOps ne reçoit que les données du drain.

Si votre revue de sécurité nécessite davantage de détails, contactez AirOps Customer Success et nous pourrons expliquer à votre équipe le flux de données au niveau de l’implémentation.

***

## Déconnexion

Pour supprimer l’intégration Netlify :

1. Dans Netlify, ouvrez **Logs & Metrics > Log Drains** et supprimez le drain AirOps.
2. Dans AirOps, déconnectez **Netlify** depuis le sélecteur de source de données.

Vos données Netlify historiques restent dans AirOps après la déconnexion. Pour reprendre le suivi, reconfigurez le drain.

***

## Ce qu’AirOps suit

Une fois connecté, AirOps :

* **Ingeste toutes les requêtes servies par Netlify** contenues dans les journaux de trafic : pages vues, ressources, appels API
* **Classe le trafic des bots d’IA :** identifie les visites provenant de ChatGPT, Claude, Google, Perplexity, Meta, Apple, Bing, Bytedance, Common Crawl, et d’autres
* **Catégorise le comportement de crawl :** distingue les crawlers d’entraînement de l’IA (GPTBot, ClaudeBot, etc.), les récupérations de recherche IA (PerplexityBot, OAI-SearchBot, etc.) et la navigation IA initiée par l’utilisateur (ChatGPT-User, Claude-User, etc.)
* **Affiche des analyses :** des répartitions du trafic, des ratios bots/humains et des tendances de crawl dans votre tableau de bord


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/fr/insights/onsite/traffic/netlify-agent-analytics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
