166 lines
6.5 KiB
Markdown
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
|