Français
Commencer

← Tous les templates · Audience et monitoring

Déployez changedetection.io en un clic

Surveille des pages web et vous prévient quand elles changent : prix, retours en stock, actualités

Une alternative auto-hébergée à Visualping et Distill.io.

Qu’est-ce que changedetection.io ?

changedetection.io surveille des pages web et vous prévient quand elles changent. On l’utilise à la place de Visualping ou de Distill.io pour les baisses de prix et les produits de retour en stock, les offres d’emploi, les avis officiels, les notes de version et les documents qui changent sans prévenir. Chaque moniteur vérifie sa page selon un calendrier, toutes les trois heures sauf si vous en choisissez un autre, et montre ce qui a changé mot par mot, ligne par ligne ou caractère par caractère.

Il peut ne surveiller que la partie d’une page qui compte, choisie par un sélecteur CSS, XPath ou, pour du JSON, JSONPath ou jq, et se déclencher sur un texte, en ignorer un autre ou suivre le prix et le stock d’un produit. Il lit aussi les fichiers PDF. Les alertes partent vers plus de 85 services via Apprise, comme l’e-mail, Telegram, Discord, Slack et ntfy, et chaque changement figure aussi dans un flux RSS.

Ce template fait tourner changedetection.io avec son mode de récupération simple et rapide, ses données dans un volume et le mot de passe que vous indiquez dès le premier démarrage, donc sa page n’est jamais ouverte à tous. Il récupère les pages telles qu’elles sont envoyées : le Sélecteur de filtre visuel, les Étapes du navigateur et les pages dont le texte est dessiné par JavaScript demandent un navigateur Chrome pour récupérer les pages, que le template laisse de côté pour rester léger.

Hébergement de changedetection.io sur Pethost

  1. Vous vous connectez à Pethost avec une clé d’accès, GitHub ou Google. Pas encore de machine ? Vous choisissez une offre, et le lien attend qu’elle soit prête.
  2. Nouveau projet s’ouvre sur changedetection.io. Vous remplissez ce qu’il demande et cliquez sur Créer le projet : Mot de passe.
  3. En une minute ou deux, changedetection.io tourne à sa propre adresse en HTTPS. Ses secrets sont créés au hasard, et ses données sont dans la sauvegarde nocturne.
  4. C’est un projet comme les autres : vous ou votre agent pouvez le modifier, revenir à une version précédente ou le restaurer.

Questions sur changedetection.io

changedetection.io est-il gratuit ?

Oui. changedetection.io est open source sous licence Apache 2.0, et le faire tourner vous-même ne coûte que la machine. Ses créateurs vendent aussi une version hébergée à 8,99 $ par mois, avec Chrome et des proxys inclus.

Comment recevoir les alertes sur Telegram, Discord ou par e-mail ?

Ajoutez une URL de notification dans Settings → Notifications : changedetection.io envoie via Apprise, qui connaît plus de 85 services, écrits sous forme d’URL comme tgram://, discord:// ou mailto://. Un moniteur peut aussi avoir ses propres URL, dans son onglet Notifications.

changedetection.io peut-il suivre les prix et les retours en stock ?

Oui. Choisissez « Détection de réapprovisionnement et de prix » quand vous ajoutez une page produit : changedetection.io lit le prix et le stock dans les données de la page et vous alerte quand le prix passe sous un seuil ou au-dessus, change d’un pourcentage que vous fixez, ou que le produit est de retour en stock.

Pourquoi une page arrive-t-elle vide ou sans son contenu ?

Certaines pages dessinent leur texte avec JavaScript après leur chargement, et ce template récupère les pages telles que le serveur les envoie. Surveillez plutôt le flux RSS du site, son API JSON ou une page qui contient le texte, ou ajoutez au fichier compose un navigateur Chrome pour récupérer les pages, comme sockpuppetbrowser, et faites pointer PLAYWRIGHT_DRIVER_URL vers lui.

Comment surveiller une seule partie d’une page ?

Dans la page Modifier du moniteur, sous Filtres et déclencheurs, indiquez un sélecteur CSS ou un XPath pour la partie qui vous intéresse, et des lignes de texte à ignorer. Seuls les changements à l’intérieur comptent, donc une horloge ou une publicité ailleurs sur la page ne déclenche rien.

De combien de mémoire et de disque changedetection.io a-t-il besoin ?

changedetection.io est léger : environ 60 MB de mémoire, et chaque moniteur garde une copie compressée de la page à chaque changement, donc ses données grossissent de quelques kilo-octets par vérification qui trouve un changement. Sur Pethost, l’offre Starter lui suffit, avec de la place pour d’autres applications à côté.

Le fichier Docker Compose de changedetection.io

Le template, c’est ce compose.yaml et les variables écrites dans le .env du projet à sa création. Pethost exécute le fichier tel qu’il est écrit.

Conteneurs : changedetection (dgtlmoon/changedetection.io:0.60).

Volumes, dans la sauvegarde nocturne : datastore.

services:
  changedetection:
    image: dgtlmoon/changedetection.io:0.60
    restart: unless-stopped
    environment:
      BASE_URL: ${URL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      # The sites watched do not see this address as the referrer of each check.
      HIDE_REFERER: "true"
    # changedetection.io has one password and none at first, so its page would be open to anyone
    # until it is set. SALTED_PASS gives it the password from the first start, salted and hashed as
    # changedetection.io stores one; its settings cannot remove it.
    command:
      - sh
      - -c
      - |
        SALTED_PASS=$$(python3 -c '
        import base64, hashlib, os
        salt = os.urandom(32)
        key = hashlib.pbkdf2_hmac("sha256", os.environ["ADMIN_PASSWORD"].encode(), salt, 100000)
        print(base64.b64encode(salt + key).decode())
        ') || exit 1
        export SALTED_PASS
        unset ADMIN_PASSWORD
        exec python ./changedetection.py -d /datastore
    volumes:
      - datastore:/datastore

volumes:
  datastore:

Aussi dans Audience et monitoring