Projet scolaire

Easy2Drive (E2D) — Application de gestion d'auto-écoles & Sécurisation

Conception, développement MVC et sécurisation complète (RGPD/infrastructure) d'une application web multi-établissements pour auto-écoles en tant que chef de projet.

Terminé PHP MySQL HTML5 CSS3 Bootstrap Git Trello Proxmox
Contexte, besoins & réalisations

Easy2Drive (E2D) est un projet d'application web multi-utilisateurs destiné à la gestion d'auto-écoles (Directeurs, Formateurs, Élèves). Réalisé dans le cadre de deux sessions "piscines" intensives en 1ère année de BTS SIO, le projet imposait la conception d'une solution applicative complète couplée à une infrastructure réseau virtualisée sous Proxmox.

En tant que Chef de projet, j'ai orchestré le travail d'une équipe de 4 personnes (2 développeurs SLAM et 2 administrateurs système SISR). Mon rôle a été d'assurer la coordination transversale entre le pôle Développement et le pôle Infrastructure, tout en participant activement au codage de l'application. Le projet s'est déroulé en 2 grandes phases : Piscine 1 (Fonctionnelle) : Développement des fonctionnalités métier et déploiement d'infrastructures. Piscine 2 (Sécurité & Audit) : mise en conformité RGPD, gestion fine des privilèges et journalisation des événements.

Besoins :
  • Offrir une interface Web responsive avec gestion des rôles (Directeur, Formateur, Élève) et cloisonnement des données par auto-école.
  • Repenser l'architecture logicielle vers un modèle MVC Orienté Objet robuste et maintenable.
  • Assurer une sécurité applicative et base de données maximale ( chiffrement, gestion d'accès, traçabilité RGPD ).
  • Permettre un déploiement continu fluide entre l'équipe Dev (Git) et l'équipe SISR (Serveur Web/BDD).
Réalisations :
  • Pilotage & Gouvernance (Chef de projet) : Suivi des tâches via Trello, gestion du versioning sur Gitea/Git, et coordination avec l'équipe SISR pour les scripts de déploiement sur le serveur de production.
  • Développement Web & Architecture MVC : Implémentation du pattern MVC en PHP / MySQL avec programmation orientée objet (Utilisateur, Eleve, Formateur). Développement des modules CRUD complets selon la matrice des droits.
  • Sécurisation Applicative & Base de données (Piscine 2) :
    • Hachage et salage des mots de passe en base via bcrypt / password_hash() et isolation des identifiants dans une table dédiée.
    • Politiques de mots de passe strictes (complexité, expiration à 90 jours, renouvellement obligatoire à la 1ère connexion).
    • Gestion des privilèges MySQL avec des comptes utilisateurs restreints par rôle (cpt_dir, cpt_for, cpt_ele, cpt_auth).
  • Conformité RGPD & Auditabilité : Création d'un système de traçage automatique des événements sensibles (gererLog()) enregistrant les actions (connexions, modifications, suppressions) dans une base de données d'audit dédiée (bdRgpdLog)
Difficultés rencontrées & solutions
Coordination entre les pôles Dev (SLAM) et Infra (SISR) :
  • Difficulté : Alignements complexes entre l'avancement du code applicatif et l'architecture réseau hébergée sur l'hyperviseur Proxmox (connexions BDD à distance, droits d'accès au serveur).
  • Solution : En tant que chef de projet, mise en place de réunions de journalière, création d'un script de mise à jour de production automatisé (majcode.sh) avec droits restreints pour les devs, et centralisation de la documentation technique sur DokuWiki.
Sécurisation des accès et compartimentage des données en BDD :
  • Difficulté : Permettre à l'application de s'interfacer avec la BDD sans donner un accès administrateur global (root) qui compromettrait l'infrastructure.
  • Solution : Définition d'une matrice CRUD stricte et création de comptes MySQL spécifiques par type d'utilisateur. Le compte d'authentification (cpt_auth) est isolé et restreint au strict nécessaire.
Conformité RGPD et journalisation non intrusive :
  • Difficulté : Tracer les opérations sensibles sur les données utilisateurs.
  • Solution : Architecture de logs pointant vers une base de données séparée bdRgpdLog , permettant de garantir l'immuabilité des traces et de simplifier la politique de rétention/purge des logs.
Compétences BTS SIO associées

Gérer le patrimoine informatique : Vérifier les niveaux d'habilitation (privilèges MySQL dédiés), gérer des sauvegardes et vérifier le respect des règles d'utilisation (journalisation RGPD).

Répondre aux incidents et aux demandes d'assistance et d'évolution : Evolution du projet en matière de sécurité (logs, salage et hashage, politique de complexité des mots de passe, respects des normes RGPD...).

Développer la présence en ligne de l'organisation : Participer à l'évolution d'un site Web exploitant les données de l'organisation (développement web PHP).

Travailler en mode projet : Analyser les objectifs, planifier les activités et évaluer les indicateurs de suivi via Trello (coordination des équipes SLAM/SISR en tant que chef de projet).

Mettre à disposition des utilisateurs un service informatique : Déployer un service (mise en production de l'application sur serveur web Apache).