Les ressources fournies pour ce projet comprennent tout d’abord un diagramme UML, utilisé pour la modélisation des données et des
relations entre entités. Ce diagramme facilite la compréhension de la structure de la base de données, notamment en ce qui concerne
la création des entités, les relations entre elles ainsi que l’intégration des fixtures. Ce document est accessible ci-dessous.
Le site du Lycée Elie Vinet repose sur des spécifications fonctionnelles précises : les utilisateurs peuvent se connecter avec l’un
des trois rôles suivants — ROLE_ADMIN, ROLE_AUTEUR ou ROLE_SELF.
Les auteurs ont la possibilité d’accéder au tableau de bord, mais uniquement aux données qui leur sont nécessaires, sans accès aux
informations des autres rôles.
Les utilisateurs disposant du rôle ROLE_SELF bénéficient d’un accès encore plus limité : ils peuvent uniquement consulter certaines
données sans pouvoir les modifier, les créer ni les supprimer.
En revanche, les administrateurs disposent d’un accès complet leur permettant de consulter, créer, modifier et supprimer l’ensemble
des informations du site.
Le serveur de développement est configuré avec Symfony 7 et utilise une base de données MySQL, accessible et modifiable via des outils
tels qu’Adminer ou phpMyAdmin.
Enfin, le projet est hébergé sur GitLab, assurant un suivi rigoureux de l’évolution du code et des différentes versions du développement.
Les résultats attendus consistent en la réalisation d’une maquette fonctionnelle permettant l’authentification des utilisateurs ainsi
que la gestion fine des rôles et des droits d’accès (lecture, création, modification et suppression) à travers le tableau de bord.
Le déroulement du projet devra suivre les étapes définies dans le diagramme de Gantt fourni, afin de garantir une organisation claire
et un avancement conforme aux objectifs fixés.
Pour commencer, nous avons commencé par nous organiser en faisant un Gantt afin de se répartir les tâches et avons mis en place un
Trello pour faire une liste des problèmes que nous allions rencontrer tout du long de ce projet et de pouvoir savoir ce résolu, en
cours ou à résoudre.
Voici le planning Gantt du projet :
Voici le Trello du projet :
Par la suite, nous avons fait un schéma conceptuel afin de savoir comment nous allions devoir modifier les entités afin que celles-ci
puissent correspondre à Symfony.
Voici le schéma conceptuel explicatif UML :
Voici le schéma de la base de données :
Nous avons donc commencé, après avoir refait la base de données en équipe, à passer la majorité du site de Laravel à Symfony.
Après avoir fait la transition entre Laravel et Symfony, je me suis occupé de faire les modifications de la barre de navigation
demandée et avec l’arrivée de sous-menu j’ai changé les boutons cliquables en des boutons ou il suffit de passer sa souris par dessus
pour faire dérouler les menus.
Voici le menu déroulant avant modification :
Voici le menu déroulant après modification :
Ensuite, je me suis occupé de recréer la partie administrative du site en commençant par créer le dashboard avec Easy Admin et en
créant la plupart des controllers afin d’avoir une base sur laquelle nous pourrions tous commencé à travailler sur la gestion des PDF
du site, la création d’un article et ça validation ou non ainsi que la gestion des utilisateurs.
Après, je me suis occupé de la gestion des utilisateurs pour les administrateurs ainsi que de recréer les rôles existants et de refaire
leur hiérarchisation.
J’ai ensuite réorganisé le dashboard afin de créer des sections pour que cela soit plus simple de se repérer pour les utilisateurs.
Ensuite, je me suis occupé de faire en sorte que l’utilisateur qui est connecté puisse modifier ses informations personnelles.
Puis j’ai reproduit le visuel de la page sur laquelle la personne qui se connecte arrive, c’est-à-dire une carte avec ses informations
personnelles et enfin je me suis occupé de la gestion des accès utilisateur. Chaque utilisateur à une vision différente en fonction de
son rôle.
Voici la vue d’un admin :
Voici la vue d’un auteur :
Voici la vue d’un utilisateur avec le rôle self :
Voici le controller Utilisateurs qui permet à l’admin de gérer les utilisateurs :
Voici le controller de la modification des informations de l’utilisateur (seul les administrateurs peuvent modifier leur rôle) :
Je vous souhaite la bienvenue sur mon Portfolio.