Imprimer
Catégorie : R4.01 - Services web (nodejs)
Affichages : 4634

Projet : 

Description du Projet : Authentification et Gestion des Sessions avec Vue.js et Node.js

Contexte :

Ce projet vise à explorer différentes stratégies d’authentification et de gestion des sessions à travers trois mini-projets distincts utilisant Vue.js pour le frontend et Node.js pour le backend.

Ce projet peut être réalisé individuellement ou en groupe de deux. Il doit être transféré vers le dépôt Github des étudiants qui y travaillent.

Mini-projet 1 : Authentification avec Passport-Local et Session

Dans ce premier mini-projet, nous mettons en place une authentification basée sur Passport-Local avec une gestion des sessions via cookies.

Technologies utilisées :

Fonctionnalités :

Mini-projet 2 : Authentification avec JWT (JSON Web Token)

Ce second mini-projet repose sur une authentification basée sur JWT, où le client (Vue.js) doit gérer le stockage et la gestion des tokens JWT.

Technologies utilisées :

Fonctionnalités :

Mini-projet 3 : Authentification OAuth2 avec Google et Chat en temps réel

Ce troisième mini-projet implémente une authentification OAuth2 via Google et ajoute un système de messagerie instantanée en temps réel entre utilisateurs connectés.

Technologies utilisées :

Fonctionnalités :

Objectifs pédagogiques :

 

 

🔍 Soumission et Évaluation du Projet

📌 Dépôt des Travaux

Chaque étudiant (même en cas de travail en groupe) doit impérativement soumettre son projet sur Moodle dans le cours BUT_INFO_S4 R4.01 services web / Mini projets (Web + MongoDB) en insérant :

Chaque groupe ou étudiant doit créer un repository GitHub spécifique pour ce projet avec les éléments suivants :

  1. Un fichier README.md détaillé qui mentionne :
    • Les noms des étudiants du groupe.
    • Une description claire du projet et de son organisation.
    • Les instructions pour exécuter le projet (prérequis, commandes, etc.).
  2. Une structure organisée du dépôt :
    • Un dossier principal contenant trois sous-dépôts pour chaque mini-projet.
    • Chaque sous-dépôt doit inclure un dossier backend et frontend.

🚨 À noter :

🎥 Vidéo de démonstration obligatoire

Pour chaque mini-projet, une vidéo doit être fournie en plus du code GitHub (il peut être téléchargé sur Moodle).

Mini-projet 1 : Authentification avec Passport-Local et Session

📌 Contenu de la vidéo :

Mini-projet 2 : Authentification avec JWT (JSON Web Token)

📌 Contenu de la vidéo :

Mini-projet 3 : Authentification OAuth2 avec Google et Chat en temps réel

📌 Contenu de la vidéo :

⚠️ Originalité et Plagiat

🚨 Tout plagiat ou copie entre groupes sera sévèrement sanctionné.

🔍 Conseil : Personnalisez votre projet en modifiant l’interface utilisateur et en ajoutant des fonctionnalités supplémentaires pour éviter toute confusion.

 

ℹ️ Remarque pour les étudiants utilisant leur projet SAE

Les étudiants qui souhaitent utiliser leur projet SAE comme base pour ce projet ont deux options :

1️⃣ Créer trois sous-dossiers dans le dépôt GitHub, correspondant aux trois mini-projets (mini-projet 1, 2 et 3), où chaque dossier contiendra le code source adapté à la fonctionnalité demandée.

OU

2️⃣ Utiliser un seul dépôt pour le projet SAE, et intégrer toutes les fonctionnalités demandées dans le même projet. Dans ce cas :

💡 À retenir : L’organisation du projet doit être claire et explicite dans le README.md pour indiquer le choix adopté.

 

Critères d’évaluation

Les projets seront évalués selon les critères suivants :

CritèrePoints
Respect des consignes et soumission correcte sur Moodle 5
Organisation et clarté du repo GitHub (README, structure) 5
Fonctionnalités implémentées (inscription, connexion, sessions, etc.) 15
Fonctionnement correct des 3 mini-projets 10
Qualité du code (lisibilité, bonnes pratiques) 5
Présence et pertinence des vidéos de démonstration 5
Optimisation avec Redis pour le mini-projet 3 5
Pénalité pour plagiat ou absence des noms dans la vidéo -10 à -20 points
Total 50 points