ProjetCovoit

ProjetCovoit est une application web de covoiturage dĂ©veloppĂ©e en PHP procĂ©dural avec une architecture MVC simplifiĂ©e. Elle permet aux utilisateurs de rechercher, rĂ©server, crĂ©er ou modifier des trajets selon leurs besoins, tout en interagissant via un systĂšme d’évaluation et de notifications. Chaque utilisateur peut s’inscrire, se connecter, visualiser son historique, noter ses chauffeurs, ou encore choisir des conducteurs favoris pour les retrouver plus facilement.

Le back-office de l’application, accessible aux administrateurs, offre la possibilitĂ© de visualiser les utilisateurs, de bannir des comptes mal notĂ©s, et d’administrer la plateforme. La sĂ©curitĂ© est gĂ©rĂ©e via une sĂ©paration des ré─les user/admin, un systĂšme de session robuste et un mĂ©canisme d’interdiction d’action pour les utilisateurs bannis. Le projet repose sur une base de donnĂ©es relationnelle solide, optimisĂ©e pour gĂ©rer les trajets, Ă©tapes intermĂ©diaires, utilisateurs, rĂ©servations, et interactions sociales. L’ensemble de l’interface utilisateur est conĂ©Âșu pour offrir une navigation fluide et intuitive.

CompĂ©tences associĂ©es : GĂ©rer le patrimoine informatique RĂ©pondre aux incidents et aux demandes d’assistance et d’évolution DĂ©velopper la prĂ©sence en ligne de l’organisation Travailler en mode projet Mettre Ă  disposition des utilisateurs un service informatique Organiser son dĂ©veloppement professionnel

Conception et mise en place de la base de données relationnelle

La base de donnĂ©es est le socle fondamental du projet ProjetCovoit. Elle a Ă©tĂ© pensĂ©e pour modĂ©liser fidĂšlement l’univers d’une application de covoiturage : utilisateurs, trajets, rĂ©servations, avis et notifications y sont interconnectĂ©s de maniĂšre cohĂ©rente. Chaque utilisateur peut crĂ©er ou rĂ©server des trajets, dĂ©poser un avis sur un conducteur, et marquer certains comme favoris grĂłce Ă  la table preferred_drivers. Le systĂšme assure l’intĂ©gritĂ© des donnĂ©es via des relations bien dĂ©finies et l’usage de clĂ©s Ă©trangĂšres, notamment pour sĂ©curiser les suppressions en cascade (ON DELETE CASCADE). Un systĂšme de ré─le (user, admin) et une gestion de bannissement sont Ă©galement intĂ©grĂ©s pour contré─ler les droits d’action. Cette base robuste est alimentĂ©e automatiquement grĂłce Ă  un fichier fixtures.php qui gĂ©nĂšre des utilisateurs, trajets, Ă©tapes, rĂ©servations et avis rĂ©alistes. Enfin, elle est optimisĂ©e pour interagir avec toutes les fonctionnalitĂ©s de l’application (recherche, historique, notation, modĂ©ration...).

Conception et modélisation de la base

La premiĂšre Ă©tape a consistĂ© Ă  concevoir un modĂšle relationnel complet, en identifiant les entitĂ©s clĂ©s : users, trips, reservations, reviews, notifications, trip_stops, et preferred_drivers. Chaque relation a Ă©tĂ© structurĂ©e avec des clĂ©s primaires, des relations 1-N et N-N via des tables de liaison. Les types ont Ă©tĂ© choisis de maniĂšre cohĂ©rente pour respecter les bonnes pratiques (ex : ENUM, TIMESTAMP, BOOLEAN). L’objectif Ă©tait de permettre une gestion fluide des donnĂ©es utilisateurs et des trajets tout en prĂ©parant la base Ă  accueillir des fonctionnalitĂ©s plus avancĂ©es (comme les filtres par chauffeur favori ou la gestion des bannissements).

media
Le modÚle relationnel généré (cf. image jointe) montre clairement les entités, leurs relations et les clés étrangÚres. Chaque table est lisible, normalisée, et connectée de maniÚre logique pour refléter les processus métier du covoiturage.