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.

Sur le plan fonctionnel, le but était de réaliser un système logique capable de vérifier non seulement l’identité d’un utilisateur, mais aussi de recouper cette information avec des critères stricts comme son emploi du temps (horaires de passage autorisés).
 

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.

Il s’agissait d’un travail collaboratif au sein d’un groupe de trois étudiants. Cette organisation a exigé une répartition claire des rôles : interface web, acquisition de données, et pour ma part, les tests des protocoles de connexion à la base de données et les retours d’informations matériels
 

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

  1. Analyse Matériel & Réseau : Inventaire des lecteurs RFID et établissement de la connectivité réseau entre les boîtiers et le serveur local.

  2. 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).

  3. 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.

  4. 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.

  5. 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.

Retour en haut