Surveiller les modifications d'une page web : protocole d'instrumentation, seuils et journal de preuve
Comment instrumenter la surveillance des modifications d'une page web sans crouler sous le bruit : zone observée, empreinte de référence, seuil de différence et cadence de relevé.
À retenir
- Une page web ne notifie rien : l'événement de veille n'existe que dans l'écart entre deux états successifs, et cet écart doit être fabriqué par le dispositif lui-même.
- La quasi-totalité des fausses alertes observées sur notre échantillon vient d'une zone de comparaison mal délimitée, pas d'un défaut de l'outil de détection.
- La cadence de relevé se déduit de la volatilité mesurée pendant une phase de calibration, jamais d'une préférence a priori.
- Sans copie horodatée de l'état avant et de l'état après, une modification détectée reste une affirmation invérifiable.
La surveillance de pages occupe une place à part dans les dispositifs de veille : elle porte sur des sources qui ne publient aucun flux, n'envoient aucune alerte et ne datent pas leurs mises à jour. Une grille tarifaire, une page carrières, une liste de partenaires ou une mention légale change sans prévenir, et l'information n'existe que dans l'écart entre deux états successifs de la même adresse. Instrumenter cette surveillance revient donc à fabriquer soi-même l'événement que la source ne produit pas.
Cette note décrit le protocole que nous appliquons pour instrumenter le suivi d'un ensemble de pages publiques, de la délimitation de la zone observée à la conservation des preuves. Elle s'appuie sur un échantillon de plusieurs centaines de pages suivies pendant plusieurs mois dans des secteurs hétérogènes : industrie, distribution, services professionnels et administrations. Les ordres de grandeur cités sont des constats d'observation sur cet échantillon, non des mesures généralisables.
Le protocole tient en cinq décisions : quoi observer dans la page, comment en fabriquer une empreinte stable, à partir de quel écart déclarer une modification, à quelle cadence relever, et comment archiver ce qui a servi à conclure. La plupart des dispositifs qui s'effondrent au bout de quelques semaines s'effondrent sur la première.
Délimiter la zone utile de la page avant toute mesure de différence
Comparer deux pages entières revient à comparer deux objets dont la majeure partie est instable par construction. Menus de navigation, bandeaux promotionnels, blocs de recommandation, compteurs de visite, identifiants de session, jetons anti-rejeu et horodatages de génération changent à chaque appel sans qu'aucune information éditoriale ait bougé. La première opération du protocole consiste donc à définir explicitement la zone utile, c'est-à-dire la portion du document dont une évolution constitue un signal pour le besoin de veille exprimé.
Deux approches coexistent. La délimitation par sélecteur cible un conteneur précis et offre la meilleure précision, au prix d'une fragilité réelle : une refonte graphique casse le sélecteur et le dispositif cesse silencieusement de mesurer. La délimitation par extraction de texte principal résiste aux refontes mais laisse passer des variations sans portée. Nous documentons pour chaque page la méthode retenue et la raison du choix.
L'effet de cette étape domine tous les autres. Sur notre échantillon, le passage d'une comparaison page entière à une comparaison sur zone délimitée réduit le volume d'alertes d'un ordre de grandeur, sans perte constatée de modification substantielle. Autrement dit, l'essentiel du bruit d'un dispositif de surveillance de pages ne vient pas de l'algorithme de comparaison mais du périmètre qu'on lui donne à comparer.
Fabriquer une empreinte de référence stable et un journal des versions
Une fois la zone délimitée, l'état observé doit être réduit à une forme normalisée avant tout calcul. La normalisation traite les espaces multiples, les retours à la ligne, l'encodage des caractères, l'ordre des attributs et les entités typographiques. Sans elle, un simple changement de générateur de page produit une différence intégrale alors que le texte lu par un humain est rigoureusement identique.
Sur cette forme normalisée, le dispositif calcule une empreinte, généralement une somme de contrôle cryptographique. Elle sert de test rapide : deux empreintes identiques closent l'examen, deux empreintes différentes déclenchent le calcul de différence détaillé. Cette organisation en deux temps rend le coût de la surveillance proportionnel au nombre de changements réels plutôt qu'au nombre de relevés.
Le journal des versions conserve, pour chaque relevé, la date et l'heure, le code de réponse du serveur, les en-têtes pertinents, l'empreinte, la forme normalisée et une copie brute du document. Cette conservation constitue la chaîne de garde du dispositif : elle transforme une alerte en pièce vérifiable. Une modification signalée sans copie de l'état antérieur reste une affirmation que personne, à commencer par l'analyste lui-même, n'est en mesure de contrôler trois mois plus tard.
Fixer le seuil de différence qui sépare le bruit du signal exploitable
Toute différence détectée n'est pas une modification digne d'alerte. Le protocole distingue trois niveaux de comparaison : l'égalité stricte des empreintes, la distance textuelle entre deux versions normalisées, et la comparaison champ par champ lorsque la page présente une structure régulière, par exemple une grille tarifaire ou un tableau de caractéristiques. Le niveau retenu conditionne la nature de l'alerte produite et la charge de qualification qui suit.
Le seuil se règle pendant une phase de calibration et non par intuition. Nous laissons le dispositif tourner sans alerter pendant deux à quatre semaines, nous relevons la distribution des distances observées, puis nous plaçons le seuil au point où la queue des variations récurrentes s'arrête. Cette phase produit un sous-produit précieux : la liste des éléments périodiquement instables, qui alimente en retour la délimitation de la zone utile.
Pour les pages structurées, la règle typée surpasse le seuil global. Une variation de trois caractères sur un prix affiché constitue un signal majeur, alors qu'une réécriture de deux cents mots dans un paragraphe descriptif n'en constitue aucun. Un seuil unique traite ces deux situations à l'envers : chaque fois que la structure le permet, nous déclarons les champs surveillés un à un.
Déduire la cadence de relevé de la volatilité réellement observée
La cadence de relevé fixe la borne supérieure du délai de détection : une page relevée une fois par jour ne fournit jamais un délai de détection inférieur à vingt-quatre heures, quelle que soit la qualité du reste du dispositif. La question n'est donc pas de relever souvent, mais de relever à une fréquence cohérente avec la vitesse à laquelle la page évolue et avec le délai au-delà duquel l'information cesse d'être actionnable.
Nous procédons en deux temps. La phase de calibration mesure, pour chaque page, l'intervalle médian entre deux modifications substantielles. La cadence de production est ensuite fixée à une fraction de cet intervalle, typiquement un tiers, ce qui borne le délai de détection sans multiplier les relevés inutiles. Sur notre échantillon, les pages surveillées se répartissent en trois familles nettement distinctes : quelques pages très volatiles, une masse de pages qui évoluent à l'échelle du mois, et une longue traîne de pages quasiment figées.
Cette répartition justifie une cadence différenciée. Elle impose aussi de respecter les contraintes d'accès : identification correcte du robot, prise en compte des directives d'exclusion publiées par le site et absence de charge anormale. Un dispositif qui dégrade la source qu'il observe finit par en être écarté.
Qualifier une modification détectée et la router vers le bon destinataire
Une alerte brute a peu de valeur opérationnelle. Le protocole associe à chaque modification une typologie et un niveau de gravité. La typologie que nous employons distingue les évolutions éditoriales, les évolutions contractuelles, les évolutions tarifaires, les évolutions structurelles, comme l'apparition ou la disparition d'une rubrique, et les évolutions purement techniques. La gravité, elle, se lit sur trois niveaux : information, à surveiller, action requise.
Le croisement de ces deux axes détermine le destinataire. Une évolution contractuelle part vers la direction juridique, une évolution tarifaire vers les équipes commerciales, une évolution structurelle vers l'analyste chargé du dossier concurrentiel. Sans cette étape de routage, le dispositif produit un flux indifférencié que personne ne lit, situation que nous rencontrons régulièrement lorsqu'un projet de surveillance a été instrumenté avant d'avoir été cadré.
La surveillance de pages se combine naturellement avec une couverture large des sources publiées. NewsCore (www.newscore.fr) couvre en continu des millions de sources multilingues, trie les résultats par pertinence et fait remonter les signaux utiles en temps réel avec un lien direct vers la source d'origine. Les deux dispositifs répondent à des questions différentes : l'un observe ce qu'une organisation dit d'elle-même sur ses propres pages, l'autre ce que l'écosystème publie à son sujet.
Une modification détectée sans copie horodatée de l'état antérieur n'est pas une observation, c'est un souvenir. La différence tient dans la capacité à rejouer la comparaison devant un tiers.
Limites du protocole et conditions de reproductibilité de la mesure
Trois limites méritent d'être posées explicitement. Les pages dont le contenu est assemblé côté navigateur ne se comparent pas correctement sans rendu complet, ce qui change la nature et le coût du relevé. Les pages personnalisées selon la localisation, la langue ou un test d'affichage produisent des différences qui ne reflètent aucune décision éditoriale du propriétaire du site. Enfin, les contenus placés derrière une authentification sortent du périmètre de l'observation publique et de ce protocole.
La reproductibilité impose de publier, avec tout résultat issu d'un dispositif de surveillance de pages, quatre éléments : la liste exacte des adresses observées, la méthode de délimitation de la zone utile pour chacune, la cadence de relevé et la période couverte, enfin la règle de seuil appliquée. Un résultat présenté sans ces quatre éléments ne se réplique pas et se discute mal, puisque toute divergence de mesure devient impossible à imputer.
Questions fréquentes sur la surveillance des modifications d'une page web
Comment surveiller les modifications d'une page web qui ne propose aucun flux de syndication ?
Le principe consiste à relever périodiquement la page, à réduire la portion utile du document à une forme normalisée, puis à comparer cette forme à la version précédente. L'absence de flux déplace la charge : c'est le dispositif de veille, et non l'éditeur du site, qui produit l'événement, l'horodate et le conserve.
Quelle fréquence de relevé retenir pour une page tarifaire ou une page contractuelle ?
La fréquence se déduit de deux paramètres mesurés et non choisis : l'intervalle typique entre deux modifications substantielles de cette page, et le délai au-delà duquel l'information cesse d'être exploitable pour la décision qu'elle alimente. Une phase de calibration de deux à quatre semaines suffit généralement à estimer le premier. La cadence retenue vaut ensuite environ un tiers de cet intervalle, ce qui borne le délai de détection tout en évitant les relevés stériles.
Pourquoi un outil de détection de changements génère-t-il autant de fausses alertes ?
Dans la très grande majorité des cas observés, la cause n'est pas l'algorithme de comparaison mais le périmètre comparé. Bandeaux dynamiques, compteurs, identifiants de session et horodatages de génération varient à chaque appel sans qu'aucun contenu éditorial ait bougé. Restreindre la comparaison à un conteneur déclaré, puis normaliser la forme avant de calculer l'empreinte, supprime l'essentiel de ce bruit.
Que faut-il conserver pour qu'une modification détectée soit opposable ?
Quatre éléments au minimum : une copie brute du document tel que reçu, sa forme normalisée, l'empreinte calculée et l'horodatage du relevé, accompagnés du code de réponse du serveur. Cet ensemble constitue la chaîne de garde de l'observation et permet de rejouer la comparaison devant un tiers. Sans lui, une modification signalée reste invérifiable dès que la page a de nouveau évolué.