SNMP Switch Surveillance System
Mis à jour :
Introduction
Ce projet propose une plateforme web permettant la supervision en temps réel des switches réseau, un élément clé dans l’infrastructure informatique d’entreprise. Face aux risques liés à un défaut sur ces équipements (port défaillant, surchauffe, panne…), surveiller proactivement leur état est essentiel pour éviter les interruptions de service et garantir la disponibilité du réseau.
La solution développée facilite la gestion des switches HP via une interface moderne, automatisant la collecte des informations importantes (état des ports, température, alimentation…), l’envoi d’alertes instantanées et la génération de synthèses graphiques. Elle s’adresse principalement aux administrateurs réseau ou aux services IT souhaitant anticiper les incidents, réagir rapidement aux anomalies et disposer d’une vue d’ensemble fiable sur la santé du parc réseau.
Avec ce système, la supervision devient un véritable levier pour renforcer la sécurité, optimiser la maintenance et améliorer la performance globale de l’infrastructure informatique
Plan du projet
- 1. Glossaire technique
- 2. Fonctionnalités clés
- 3. Technologies utilisées
- 4. Démonstration / Parcours utilisateur
- 5. Résultats
- 6. Valeur ajoutée / Avantages
- 7. Défis techniques rencontrés
- 8. Liens et accès
1. Glossaire technique
SNMP (Simple Network Management Protocol)
Protocole standard qui permet la supervision, la gestion et la collecte automatique d’informations sur les équipements réseau (switches, routeurs…). SNMP repose sur des agents installés sur les équipements et sur des messages d’interrogation envoyés depuis une station de gestion centrale.
Switch
Équipement réseau qui relie plusieurs appareils sur un même réseau local (LAN). Il gère le trafic entre les appareils connectés à ses ports Ethernet et permet de segmenter et sécuriser le réseau.
OID (Object Identifier)
Identifiant unique associé à chaque donnée mesurable via SNMP (par exemple, l’état d’un port, la température interne, etc.). Chaque OID pointe vers un paramètre précis sur un appareil réseau.
Port “Up” / “Down”
Un port “Up” signifie que le port du switch est actif et prêt à transmettre des données. Un port “Down” est inactif (hors service), indiquant une déconnexion ou une panne du périphérique connecté.
AJAX (Asynchronous JavaScript and XML)
Technologie web qui permet de rafraîchir uniquement certaines parties d’une page sans la recharger complètement, offrant ainsi une expérience utilisateur fluide et en temps réel.
Base de données MySQL/MariaDB
Système de gestion de base de données relationnelle utilisé pour stocker toutes les informations collectées (état des ports, historiques, alertes…).
Telegram Bot
Programme automatisé qui permet d’envoyer automatiquement des messages (alertes, rapports) sur la messagerie Telegram via son API.
Rapport PDF (TCPDF)
Synthèse automatique, exportée en fichier PDF, permettant de partager facilement l’état du réseau et les alertes récentes avec l’administrateur. TCPDF est la bibliothèque PHP utilisée pour créer ces rapports.
Interface web
Espace interactif accessible via un navigateur, permettant à l’utilisateur de piloter, suivre et configurer la supervision réseau.
Alertes temps réel
Notifications immédiates envoyées lorsqu’une anomalie critique est détectée (ex : port “Down”), pour garantir une réactivité maximale.
2. Fonctionnalités clés
La plateforme se distingue par un ensemble de fonctionnalités puissantes, pensées pour rendre la supervision réseau simple, efficace et réactive :
- Supervision en temps réel des switches HP : visualisation instantanée de l’état du réseau depuis n’importe quel navigateur web.
- Affichage dynamique de l’état des ports (Up/Down), température interne, alimentation et ventilateurs.
- Détection automatique des anomalies avec génération et envoi d’alertes immédiates sur Telegram en cas d’incident détecté.
- Ajout, modification et suppression des switches depuis l’interface, sans intervention manuelle sur la base de données.
- Rafraîchissement automatique des données toutes les 30 secondes via la technologie AJAX, sans rechargement de la page.
- Génération quotidienne de rapports PDF récapitulatifs envoyés automatiquement à l’administrateur.
- Visualisation graphique interactive des données historiques (trafic, erreurs…) pour une analyse précise des tendances.
- Interface claire pour le suivi des alertes passées et des historiques de ports, facilitant l’audit et la maintenance.
Chaque fonctionnalité vise à améliorer la réactivité de l’équipe IT, l’anticipation des incidents et la continuité des services numériques.
3. Technologies utilisées
La solution repose sur plusieurs outils et frameworks essentiels à la fois pour le développement, la configuration et les tests :
Backend (PHP, SNMP)
Développement principal en PHP avec utilisation de la bibliothèque SNMP pour interroger les switches HP et centraliser les données. Automatisation de la logique métier, de la sécurité et de la génération des rapports PDF.Base de données MySQL/MariaDB via PDO
Enregistrement sécurisé des informations (état des ports, alertes, historiques) pour un suivi et une analyse performants.- Frontend (HTML, CSS, JavaScript / jQuery, Chart.js)
- HTML et CSS : conception d’une interface utilisateur claire et responsive.
- JavaScript/jQuery : mise à jour dynamique des données sans recharger la page (AJAX toutes les 30 secondes).
- Chart.js : graphes interactifs pour visualiser les états et les historiques.
Éditeur de code – Visual Studio Code
L’environnement de développement utilisé est Visual Studio Code, un éditeur polyvalent, moderne et optimisé pour la programmation web (HTML, CSS, JavaScript, PHP).Serveur local et tests – XAMPP
XAMPP offre un environnement de serveur local complet avec Apache, PHP et MySQL pour tester et simuler l’application dans un contexte contrôlé avant déploiement.Configuration réseau – PuTTY
PuTTY est l’outil retenu pour accéder en SSH, Telnet ou console série à l’interface de configuration des switches, permettant de définir les paramètres SNMP et de tester la connectivité réseau des équipements.- Automatisation & alertes (Telegram Bot, TCPDF)
Gestion des notifications en temps réel via un bot Telegram, et génération quotidienne de rapports PDF grâce à la bibliothèque TCPDF.
4. Démonstration / Parcours utilisateur
La plateforme a été conçue pour offrir aux administrateurs une expérience utilisateur intuitive et efficace à chaque étape :
Connexion sécurisée
Dès la connexion, l’utilisateur s’authentifie via un formulaire sécurisé pour accéder au tableau de bord principal.Tableau de bord principal
Sur ce tableau de bord, l’état global du réseau s’affiche : listes des switches surveillés, état des ports (Up/Down), température et alertes récentes. Les données se mettent à jour automatiquement sans rechargement de la page.Navigation intuitive
Un menu latéral permet d’accéder rapidement aux différentes sections : supervision en temps réel, gestion des switches, consultation détaillée des ports, historique des données, alertes et rapport PDF.Ajout et modification de switches
Pour ajouter ou modifier un switch, rien de plus simple : un formulaire dédié pour renseigner l’IP et le nom, avec validation instantanée et messages de statut.Alertes en temps réel
En cas de port “Down” ou de problème détecté sur un switch, une alerte est générée et envoyée automatiquement sur Telegram, affichée à l’écran et enregistrée pour analyse ultérieure.Analyse des historiques
La consultation des historiques de ports ou de trafic se fait via des graphiques interactifs, facilitant l’exploration des tendances ou la recherche d’anomalies.
5. Résultats
A. Interface de Connexion (login.php)
Point d’entrée sécurisé du système.
Fonctionnalités :
- Formulaire simple pour saisir les informations de connexion.
- Vérification des identifiants et gestion du hachage des mots de passe.
- Session PHP lancée à la connexion réussie.
- Blocage temporaire en cas de tentatives multiples échouées.
- Redirection vers le tableau de bord après authentification.
B. Interface d’Accueil (accueil.php)
Page principale affichant instantanément l’état global du réseau.
Fonctionnalités :
- Vérification de la session utilisateur.
- Barre de navigation latérale pour accès direct à toutes les sections.
- Tableau des alertes récentes (ports Down), actualisé via AJAX.
- Diagrammes graphiques (répartition Up/Down par switch).
- Tableau de bord synthétique : température, état des ports, dernières vérifications.
C. Interface de Gestion des Switches (gestion_switches.php)
Administration complète de la liste des équipements surveillés.
Fonctionnalités :
- Ajout, édition et suppression des switches.
- Mise à jour dynamique du tableau sans rechargement.
- Messages de succès/erreur après chaque action.
D. Interface d’État des Ports (etat_ports.php)
Consultation détaillée de tous les ports d’un switch sélectionné.
Fonctionnalités :
- Sélection du switch via liste déroulante.
- Affichage complet : état Up/Down, vitesse, trafic, erreurs, etc.
- Données rafraîchies en temps réel via AJAX.
E. Interface Historique des Données (historique.php)
Analyse des tendances et historiques.
Fonctionnalités :
- Sélection du switch et des ports à analyser.
- Graphiques interactifs du trafic et des métriques dans le temps.
- Données mises à jour régulièrement.
F. Interface Alertes Récentes (alertes.php)
Suivi complet des incidents et notifications.
Fonctionnalités :
- Tableau chronologique des alertes passées.
- Détails par switch, port, date et type d’incident.
- Affichage des notifications Telegram reçues.
G. Génération de Rapports Quotidiens
Automatisation quotidienne (exécution à 8h45 via Task Scheduler sous Windows).
Fonctionnalités :
- Le script
generate_report.phpcompile automatiquement l’état global du réseau : liste des switches, alertes détectées, statistiques sur les ports problématiques. - Génération du rapport au format PDF via la bibliothèque TCPDF v6.10.0 (mise en page professionnelle et claire).
- Envoi immédiat du rapport à l’administrateur via Telegram.
- Purge automatique des rapports de plus de 7 jours pour optimiser l’espace disque et garder l’historique propre.
6. Valeur ajoutée / Avantages
Ce système de supervision se démarque par plusieurs atouts majeurs :
- Reprise rapide d’incidents : la surveillance continue avec alertes instantanées Telegram permet de réagir immédiatement en cas de panne ou port “Down”.
- Centralisation de l’administration : chaque switch, chaque port et chaque alerte sont gérés depuis une seule interface web, facile d’accès.
- Visualisation intelligente : graphiques animés et rapports quotidiens synthétisent les données, facilitant la prise de décision et l’analyse des tendances.
- Sécurité renforcée : gestion de la connexion, hachage des mots de passe, limitation des tentatives d’accès et journalisation complète des événements.
- Automatisation & gain de temps : les tâches répétitives (collecte, envoi de rapports, purge des historiques…) sont faites automatiquement.
- Historique accessible : les administrateurs peuvent suivre l’évolution de la santé du réseau et documenter les incidents sur toute la période souhaitée.
- Facilité de déploiement et d’utilisation : installation locale via XAMPP, configuration réseau simplifiée avec PuTTY, développement accessible via Visual Studio Code.
7. Défis techniques rencontrés
Durant le développement et l’utilisation de la plateforme, plusieurs défis ont été relevés :
- Adaptation des OIDs SNMP : chaque modèle de switch peut avoir ses propres codes d’identification pour accéder aux données. Il a fallu adapter le système pour gérer ces spécificités.
- Sécurité du protocole SNMP : la version utilisée (SNMPv2c) envoie les données en clair, exposant à d’éventuels risques d’interception. L’intégration future du protocole SNMPv3, plus sécurisé et chiffré, est recommandée.
- Optimisation des requêtes SNMP : afin de réduire la charge réseau, des requêtes SNMP plus sélectives peuvent être mises en place.
- Extension multi-sites : pour surveiller plusieurs sites ou installations, l’architecture serveur peut être centralisée et déployée sur différents réseaux.
- Interface graphique avancée : des visualisations 3D et des seuils dynamiques pour les alertes sont envisagés pour rendre la plateforme encore plus intuitive et prédictive.
8. Liens et accès
Pour aller plus loin, contribuer ou tester la plateforme, voici les liens et ressources accessibles :
Code source en accès libre
L’ensemble du projet (scripts PHP, front-end, configuration…) est disponible sur GitHub pour permettre la consultation, l’installation et l’amélioration collaborative du système.Démonstration complète
Chaque fonctionnalité principale est illustrée pour montrer le fonctionnement et les apports concrets de la solution.Contact & support
Besoin d’aide pour installer, personnaliser ou faire évoluer le projet ?
N’hésite pas à me contacter :
→ assia.elmourtadah@usmba.ac.ma
→ LinkedIn – Assia EL MOURTADAH
Merci d’avance pour ton intérêt et tes éventuelles contributions !
