Yoan Brugière — retour à l'accueilYoan Brugière — retour à l'accueil

Student Evaluator

Scolaire2023-2024

  • PHP
  • Blazor
  • Kotlin

Présentation du projet :

"Student Evaluator" simplifie l'évaluation des étudiants lors des travaux pratiques et dirigés. Il réunit une partie Web composée de deux applications, l'une en PHP pour la gestion des emplois du temps et des évaluations, l'autre en Blazor pour les statistiques et l'administration, ainsi qu'une application Android reprenant les fonctionnalités de la partie PHP. Son objectif est de faciliter la création et le suivi des évaluations grâce à une interface ergonomique.

Pour réaliser ce projet, nous étions une équipe de 5 étudiants, à raison de 175 heures chacun, encadrés par 2 enseignants. L'un jouait le rôle de SCRUM Master et l'autre celui de Product Owner, pour simuler un travail selon la méthode agile. Cela nous a permis d'améliorer notre capacité à conduire un projet et à collaborer au sein d'une équipe.

Pour continuer, je vais vous présenter mon travail sur les différentes parties de ce projet…

Partie WEB : PHP

DEPOT GIT


Pour commencer, sur la partie PHP du projet, j'ai pris en charge la création de la page d'accueil du site, qui inclut l'emploi du temps de l'enseignant, ainsi que de la page contenant l'historique de ses évaluations. Cette section du projet suivant le modèle Modèle-Vue-Contrôleur (MVC), j'ai également pris en charge cette structure à travers le front controller de l'application.

Partie WEB : Blazor

DEPOT GIT


Dans la section Blazor, j'ai approfondi mes compétences en utilisant JSRuntime et en intégrant la bibliothèque Highcharts, qui permet de réaliser des graphiques. Cela m'a permis de concevoir des pages fournissant des statistiques détaillées à la fois pour les étudiants et les enseignants.
Cette partie du projet m'a permis de développer ma compétence à gérer des données de l'information.

ORM et API REST

DEPOT GIT


Pour l'API du projet, j'ai utilisé l'ORM (Object-Relational Mapping) Entity Framework pour mapper les classes de la base de données et les exposer. J'ai développé des endpoints REST avec les méthodes HTTP appropriées (GET, POST, PUT, DELETE) pour effectuer des opérations CRUD (Create, Read, Update, Delete) sur les données.
Cette approche a permis de créer une API robuste et flexible, répondant aux besoins de nos applications.

Partie Mobile : Android

DEPOT GIT


Enfin, pour la partie mobile, j'ai pris en charge l'implémentation de Retrofit pour récupérer les données de mon API de manière asynchrone. De plus, j'ai été responsable de la création de la page d'emploi du temps ainsi que de la page de connexion et j'ai dû comprendre le MVVM (Modèle-Vue-VueModèle) pour arriver à un résultat satisfaisant.
J'ai également appris à utiliser EncryptedSharedPreferences pour sauvegarder le token de l'utilisateur, nécessaire aux appels à l'API, et éviter ainsi une reconnexion à chaque ouverture de l'application.