Logo Lanfrica

maliadsdp-code/mali-web-observatory

Domaine:

digital infrastructure

Type de record:

software
Créateur:
mal
Hôte:
# 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 …