Introduction
Ce projet a été réalisée dans le cadre d’un projet de fin d’étude de cas pour le compte de mon BTS SNIR au Lycée Pilote Innovant International (LP2I). Il consistait à concevoir et à mettre en œuvre un système matériel et logiciel de « Contrôle d’accès en salle informatique » afin de sécuriser et de gérer les accès aux salles pour un public d’étudiants désigné.
Objectifs
Sur l’aspect technique, l’objectif était d’établir la communication réseau entre des lecteurs RFID Inveo, une gâche électrique et un serveur web Apache/MySQL. Développer les scripts PHP permettant d’interroger la base de données et de déclencher les signaux matériels via des balises spécifiques.
Contexte
Ce projet demandait une connaissance de l’environnement Internet des Objets (IoT) car cela nécessitait l’utilisation de lecteurs réseau (NANO RFID et RFID-IND-U2), couplés à un serveur local sous XAMPP hébergeant la base de données relationnelle.
Enjeux et risque
L’enjeu principal résidait dans le fait d’assurer la sécurité et la fiabilité des locaux. Le système devait traiter les données en temps réel pour ouvrir la porte sans latence si l’identifiant du badge était valide dans la base.
Quant au risque majeur, elle résidait notamment dans la communication entre le lecteur et le serveur. Si le script PHP chargé de recevoir la requête GET (contenant l’adresse MAC et l’ID du badge) échouait, ou si la base de données était injoignable, l’accès à la salle devenait impossible.
Les différentes étapes d’un projet
-
Analyse Matériel & Réseau : Inventaire des lecteurs RFID et établissement de la connectivité réseau entre les boîtiers et le serveur local.
-
Modélisation Logicielle : Création des diagrammes de cas d’utilisation et de séquence pour visualiser le parcours d’un étudiant (Badgeage > Vérification > Ouverture).
-
Développement des scripts de communication : Écriture des protocoles PHP chargés de réceptionner l’ID du badge via des requêtes HTTP GET et de consulter la base MySQL.
-
Programmation des retours matériels : Configuration des réponses XML renvoyées au lecteur pour déclencher physiquement les LEDs de couleur et le buzzer.
-
Tests d’intégration finaux : Simulation de passage avec différents profils (autorisés, refusés, hors horaires) pour valider la robustesse du système de sécurité.
Retour d’expérience et perspective d’avenir
Ce projet fut fondamental dans mon parcours, car il a matérialisé la convergence entre le code informatique et l’infrastructure physique. J’ai réellement pris conscience de l’importance vitale des protocoles de communication en réseau et de la gestion des bases de données relationnelles dans le monde réel.
Avec mon niveau d’expertise actuel, je poserais désormais un regard critique sur le code de l’époque. Aujourd’hui, je mettrais davantage d’importance sur la sécurisations des requêtes SQL avec des déclarations préparées (PDO) pour éviter toute faille d’injection et je remplacerais l’architecture de scripts individuels par une véritable API REST plus robuste.
