# URL Monitoring Script

Ce script est conçu pour surveiller l'état et le contenu des URLs spécifiées dans une base de données SQLite. Il envoie des notifications par e-mail lorsqu'il détecte des changements dans le statut HTTP ou le contenu HTML des sites Web surveillés.

## Prérequis

- Système d'exploitation Linux (testé sur Debian et Fedora)
- Bash (Bourne Again Shell)
- SQLite
- Curl

## Configuration

1. Assurez-vous d'avoir les droits d'exécution sur le script : `chmod +x script_monitoring.sh`
2. Assurez-vous que les dépendances (SQLite, Curl) sont installées sur votre système.

## Utilisation

1. Éditez le script `script_monitoring.sh` et configurez les variables au début du fichier selon vos besoins :
   - `email` : Adresse e-mail pour les notifications
   - `userAgent` : User-Agent pour les requêtes HTTP
   - `database` : Chemin vers la base de données SQLite contenant les URLs à surveiller
   - `delay_expiration` : Délai d'expiration en secondes pour les URLs sans prochaine vérification spécifiée

2. Exécutez le script en utilisant la commande suivante :
   ```
   ./script_monitoring.sh
   ```

## Fonctionnalités

### 1. Vérification du statut HTTP (Code 200)

Le script vérifie régulièrement le statut HTTP des URLs spécifiées. Si le statut change, une notification par e-mail est envoyée, et le nouveau statut est enregistré dans la base de données.

### 2. Vérification du contenu HTML

Le script peut également vérifier le contenu HTML des URLs en utilisant une expression Bash. Si le contenu change, une notification par e-mail est envoyée, et le nouveau contenu est enregistré dans la base de données.

### 3. Planification des vérifications

Le script utilise le champ `next_check` dans la base de données pour planifier les prochaines vérifications. Une fois la vérification effectuée, le champ est mis à jour avec la prochaine date de vérification.

### 4. Enregistrement des Logs

Toutes les vérifications et les changements détectés sont enregistrés dans une table de logs de la base de données.

---

Assurez-vous de comprendre comment fonctionne le script et d'adapter les paramètres en fonction de vos besoins avant de l'exécuter dans un environnement de production.
