# Mali Web Observatory
Outil de veille citoyenne pour surveiller la disponibilité et la performance des sites internet au Mali (gouvernementaux, publics, locaux, privés, télécoms, médias).
## 🚀 Fonctionnalités
- **Scanner** : Vérifie périodiquement les URLs avec User-Agent personnalisé (`MaliWebObservatory/1.0; Veille Citoyenne`)
- **SSL** : Détecte la validité des certificats SSL/TLS
- **Performance** : Mesure le temps de réponse (détection des sites lents > 2000ms)
- **Statut** : Classe les sites comme Opérationnels 🟢, Lents 🟠, SSL 🟡, Hors ligne 🔴
- **Dashboard** : Interface web sombre (Dark Mode) avec graphiques Chart.js
- **Scores** : Calcul de l'uptime (24h) et classement A/B/C par fiabilité
- **Comparatif** : Graphiques temps de réponse moyen et uptime par catégorie
- **Automatisation** : Workflow GitHub Actions (scan toutes les 30 minutes)
## 🗄️ Base de données (Supabase)
Le projet utilise **Supabase/PostgreSQL** pour le stockage des résultats.
Table : `monitors`
| Colonne | Type | Description |
|---------|------|-------------|
| id | uuid | Identifiant unique |
| url | text | URL du site |
| name | text | Nom lisible du site |
| category | text | Catégorie (Gouvernemental, Public, Local, Privé, Télécoms, Médias) |
| status | text | État (ok, slow, down, ssl_error) |
| response_time | numeric | Temps de réponse en ms |
| ssl_valid | boolean | Validité du certificat SSL |
| created_at | timestamptz | Horodatage du scan |
## 📦 Installation
```bash
# Cloner le repository
cd Mali\ Web\ Observatory
# Installer les dépendances
pip install -r requirements.txt
```
## 🔧 Configuration
### Variables d'environnement requises
```bash
export SUPABASE_URL="
votre-projet.supabase.co"
export SUPABASE_KEY="votre-cle-anon-publique"
```
### Configuration Supabase
Créez la table `monitors` dans votre base Supabase :
```sql
create table monitors (
id uuid primary key default uuid_generate_v4(),
url text not null,
name text,
category text not null,
status tex …