Files
2026-06-09 18:40:21 +02:00

166 lines
6.5 KiB
Markdown

---
title: ChangeDetection.io
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, monitoring, change-detection, web-scraping, alertes, python, auto-hebergement]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/dgtlmoon/changedetection.io]
---
# 📊 ChangeDetection.io
> **Le veilleur de pages web** : surveillez n'importe quel site et soyez alerté en temps réel dès qu'un contenu change (prix, stock, news, dispo produit...).
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [changedetection.io](https://changedetection.io/) |
| **GitHub** | [dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) |
| **License** | Apache-2.0 |
| **Langage** | Python |
| **Étoiles GitHub** | 31.9k ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-monitoring|Monitoring]], Web Scraping, Veille |
## 📝 Description
**ChangeDetection.io** est un **outil de veille et de monitoring de pages web**. Vous lui donnez une URL, et il vérifie périodiquement si le contenu a changé. Dès qu'un changement est détecté, vous recevez une **alerte** par le canal de votre choix (email, Telegram, Discord, Slack, webhook, etc.).
Cas d'usage typiques :
- **Suivi de prix** : être alerté quand un produit Amazon passe sous un seuil
- **Dispo de stock** : GPU, PS5, billets de concert
- **Veille concurrentielle** : changements sur les sites de vos concurrents
- **Surveillance de sorties** : nouveaux articles sur un blog, nouvelles offres d'emploi
- **Monitoring de sites internes** : changements non versionnés sur un intranet
- **Détection de modifications** sur des pages légales (CGV, CGU)
- **Changement de contenu** : retours en stock sur des sites e-commerce
-**CSS/XPath filters** : cibler une zone précise de la page
-**Visual diff** : voir exactement ce qui a changé
-**Notifications** : 30+ services (email, Telegram, Discord, Slack, Ntfy, Pushover, etc.)
-**Browser steps (Playwright)** : pour les sites en JS dynamique
-**JSONPath/JMESPath** : monitorer des APIs REST
-**Webhooks** : intégration custom
-**Visual selector** : cliquer-glisser pour définir la zone à surveiller
-**Multi-utilisateurs** (depuis v0.45+)
-**Proxy support** (SOCKS, HTTP)
-**Ressources contrôlables** : throttling, user-agent, headers custom
**Public cible** : **consommateurs avertis, e-commerce watchers, devs, veilleurs**. Tout le monde peut l'installer, le niveau débutant suffit.
**Comparaison** : ChangeDetection.io se distingue d'[[app-uptime-kuma]] (qui vérifie qu'une URL répond avec un code 200) en allant **au-delà du up/down** : on compare le **contenu** lui-même. Ce n'est pas un outil de monitoring système (vs [[app-netdata]] ou [[app-prometheus]]), c'est un **monitoring de contenu web**.
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
changedetection:
image: ghcr.io/dgtlmoon/changedetection.io:latest
container_name: changedetection
restart: unless-stopped
ports:
- "5000:5000" # Web UI
volumes:
- changedetection:/datastore
environment:
TZ: Europe/Paris
PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
labels:
- "traefik.enable=true"
- "traefik.http.routers.changedetection.rule=Host(`watch.example.com`)"
- "traefik.http.routers.changedetection.entrypoints=websecure"
- "traefik.http.routers.changedetection.tls.certresolver=letsencrypt"
volumes:
changedetection:
```
### Option 2 : Python (bare-metal)
```bash
git clone https://github.com/dgtlmoon/changedetection.io.git
cd changedetection.io
pip install -r requirements.txt
python -m changedetection.io
```
### Option 3 : Snap (Linux)
```bash
sudo snap install changedetection-io
```
## ⚙️ Configuration Initiale
1. **Accéder à l'UI** : `http://IP:5000`
2. **Ajouter une URL** : coller l'URL, définir la fréquence de check (ex: 1h)
3. **Définir un filtre** (optionnel) :
- **CSS selector** : `#price` pour ne surveiller que le prix
- **XPath** : `//span[@class='stock']`
- **Regex** : filtrer les lignes qui matchent
4. **Configurer les notifications** : Settings > Notifications > Add
5. **Tester** : "Recheck" sur une watch pour valider que la notif arrive
6. **Activer le visual diff** : voir la diff en un clic sur l'UI
## 🔄 Alternatives
### Open Source
- **Visualping** (freemium cloud) — UI plus simple, pas self-hosted
- **Distill.io** (extension navigateur + cloud)
- **Wachete** (freemium)
- **PageFreezer** (payant, orienté compliance)
- **Crawlio / Huginn** — Plus généralistes, automatisation
### Comparaison ChangeDetection vs alternatives
| Critère | ChangeDetection.io | Visualping | Huginn |
| :--- | :--- | :--- | :--- |
| Self-hosted | ✅ | ❌ | ✅ |
| Prix | Gratuit | Freemium | Gratuit |
| CSS/XPath filters | ✅ | Basique | ✅ |
| Browser (JS) | ✅ (Playwright) | ✅ | ❌ |
| Visual diff | ✅ | ✅ | ❌ |
| Notifications | 30+ | Email/Slack | 50+ |
| Setup | 5 min | 0 min | 30 min |
**Verdict** : ChangeDetection.io est **la meilleure option self-hosted** pour la veille de pages. Huginn est plus puissant pour de l'automatisation générale, mais beaucoup plus complexe.
### Propriétaires (ce que ChangeDetection.io remplace)
- **Visualping** (à partir de $10/mois)
- **Distill.io** (Premium $5/mois)
- **Wachete** (Premium $7/mois)
- **Versionista** (entreprise)
- **OnWebChange** (payant)
## 🔐 Sécurité
- **Pas d'auth par défaut** : protéger via reverse proxy avec BasicAuth ([[app-traefik]])
- **HTTPS** obligatoire ([[app-traefik]]) si vous voulez chiffrer les requêtes
- **Respect des sites** : configurer un `User-Agent` correct et un `request_timeout` raisonnable
- **Rate limit** : éviter de spammer les sites (paramétrer la fréquence minimale)
- **Robots.txt** : techniquement ChangeDetection.io l'ignore, c'est à l'utilisateur d'être éthique
## 📚 Ressources
- [GitHub dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io)
- [Documentation officielle](https://changedetection.io/docs/)
- [Wiki & FAQ](https://github.com/dgtlmoon/changedetection.io/wiki)
- [Démo en ligne](https://demo.changedetection.io/)
## Pages Liées
- [[cat-monitoring]] — Catégorie Monitoring
- [[app-uptime-kuma]] — Monitoring d'uptime
- [[app-traefik]] — Reverse proxy HTTPS
- [[observabilite]] — Vue d'ensemble observabilité
- [[checklist-monitoring-minimal]] — Checklist