# Surveillance de site web

> Planifier le crawl d’un site web et détecter les modifications sur chaque page découverte

import CreateCrawlCURL from "/snippets/fr/v2/monitor/create/crawl/curl.mdx";
import CreateCrawlNode from "/snippets/fr/v2/monitor/create/crawl/js.mdx";
import CreateCrawlPython from "/snippets/fr/v2/monitor/create/crawl/python.mdx";
import TargetCrawl from "/snippets/fr/v2/monitor/target/crawl.mdx";

La surveillance de site web porte sur un site entier plutôt que sur une liste fixe d’URL. À chaque vérification, un crawl est exécuté pour l’`url` cible, scrape chaque page découverte, puis compare le résultat au dernier instantané conservé. Cela permet de détecter les pages ajoutées, modifiées ou supprimées, et pas seulement les modifications apportées aux pages que vous avez déjà spécifiées. C’est le bon choix pour les sites de documentation, les blogs, les journaux des modifications, les centres d’aide et les sites de concurrents.

Cette page couvre la cible `crawl`. La planification, les objectifs et l’évaluation, le suivi des modifications, les notifications et la tarification sont communs à tous les types de surveillance. Consultez la [vue d’ensemble de la surveillance](/fr/features/monitoring).

<div id="create-a-website-monitor">
  ## Créer un monitor pour un site web
</div>

Créez un monitor avec une cible `crawl` afin de générer un diff pour chaque page découverte lors d’un crawl à chaque vérification :

<CodeGroup>
  <CreateCrawlPython />

  <CreateCrawlNode />

  <CreateCrawlCURL />
</CodeGroup>

<div id="crawl-target">
  ## Cible de crawl
</div>

Une cible `crawl` nécessite `type` et une seule `url`. Utilisez `crawlOptions` pour définir le comportement du crawl et `scrapeOptions` pour définir la façon dont chaque page découverte est scrapée :

<TargetCrawl />

Champs courants de `crawlOptions` :

* `limit` : Nombre maximal de pages qu&#39;une vérification peut crawler.
* `maxDiscoveryDepth` : Nombre de niveaux de liens à parcourir depuis l&#39;`url` de départ pour découvrir des pages.
* `maxDepth` : Profondeur maximale du crawl.
* `includePaths` : Surveille uniquement les URL correspondant à ces modèles de chemin (par exemple, `/docs`).
* `excludePaths` : Ignore les URL correspondant à ces modèles de chemin.

Comme pour les monitors de page, les scrapes déclenchés par un monitor définissent `maxAge` sur `0` par défaut. Ainsi, chaque vérification re-scrape les pages découvertes à neuf, sauf si vous définissez une autre valeur de `maxAge` dans `scrapeOptions`.

<div id="what-each-check-reports">
  ## Ce que chaque vérification rapporte
</div>

Une vérification de crawl compare chaque page découverte à la vérification précédente et enregistre un état pour chaque page :

* `same` : La page a de nouveau été découverte et n’a pas changé.
* `changed` : La page a de nouveau été découverte et a changé.
* `new` : La page a été découverte pour la première fois.
* `removed` : Une page présente lors de la vérification précédente n’a plus été découverte.
* `error` : La page n’a pas pu être vérifiée.

Pour déclencher une alerte sur des champs structurés spécifiques dans les pages explorées, ajoutez un format `changeTracking` à `scrapeOptions`. Voir [Suivi des modifications](/fr/features/monitoring#change-tracking).

<div id="shared-configuration">
  ## Configuration partagée
</div>

* [Planification](/fr/features/monitoring#schedules) : cron ou cadence en langage naturel, minimum : 5 minutes.
* [Objectifs et évaluation](/fr/features/monitoring#goals-and-judging) : alerter uniquement sur les changements pertinents.
* [Notifications](/fr/features/monitoring#notifications) : envoi par webhook et e-mail.
* [Résultats des vérifications](/fr/features/monitoring#check-results) : consultez chaque vérification et les diffs de chaque page.
* [Tarification](/fr/features/monitoring#pricing) : 1 crédit par page découverte à chaque vérification, plus l’évaluation facultative.
