Imprimer
Catégorie : SAÉ S3 - développement appli. avec BdD
Affichages : 977

Préambule

L'objectif de ce sujet est de réaliser une application web "moderne" dans un contexte full-stack, c'est-à-dire en implémentant aussi bien la partie interface graphique utilisateur (= front) au sein d'un navigateur, que la partie serveur (= back) sous la forme d'une API REST couplé avec un serveur de BdD. Le côté front prend la forme d'une application dite SPA (Single Page Application) implémentée en vuejs, et l'API REST est faite en nodejs avec le module express (entre autres). Le rôle du serveur n'est pas de fournir des pages HTML comme dans une application basée sur php, mais juste des données que le navigateur va utiliser pour modifier le visuel de la fenêtre.

Ce sujet offre également l'occasion de se familiariser avec un processus de développement qui part d'une étape de conception relativement poussée, afin de pouvoir implémenter ensuite un maximum de chose en parallèle.

 

1°/ Contexte

 

Le cadre global du sujet de type 1 est une application Web permettant de gérer une manifestation (au travers d'un navigateur), comme par exemple un forum étudiant, un salon thématique, un festival de musique, etc. Les possibilités d'interaction sont définies par rapport aux droits de l'utilisateur, à savoir public, prestataire ou ou organisateur, les deux derniers nécessitant une authentification.

Globalement :

 

Cette application doit être réalisée selon des principes de conception actuels du Web, à savoir avec une partie visuelle côté navigateur (front-end) écrite en Javascript grâce au framework vuejs, une partie base de données implémentée grâce à un serveur de type MySQL, une partie serveur (back-end) écrite en nodejs, qui fait l'interface entre le navigateur et la BdD, sous la forme d'une API REST et qui sert également à envoyer le code javascript créé en vuejs au navigateur (=comme un serveur web).

Cette organisation permet au navigateur, au travers des interactions de l'utilisateur avec l'interface graphique de l'application, d'envoyer des requêtes au serveur API. En fonction du type de requête et des données associées (en principe des objets JSON) le serveur API va exécuter certaines instructions permettant de mettre à jour la BdD, et/ou d'en extraire des informations pour produire de nouvelles données envoyées au navigateur. Ce dernier les utilise pour mettre à jour l'interface graphique.

La structure de l'interface graphique et de la BdD ainsi que les requêtes possibles à l'API sont à déduire du cahier des charges donné en section 2.

 

 IMPORTANT !

Les attendus en fin de semestre 3 ne sont pas de fournir l'implémentation complète de toutes les fonctionnalités. C'est pourquoi, le développement s'étalera également sur le semestre 4  (qui est relativement court)

Pour les fonctionnalités communes à toutes les applications, la section 2.3 précise quel est le minimum attendu en fin de S3 et S4.

 

2°/ Cahier des charges

 

2.1°/ Droits d'accès et informations utilisateur

 

2.2°/ Structuration de l'application

2.2.1°/ Page principale

2.2.2°/ Page prestataire

Remarques sur les services :

 

2.2.3°/ Page organisateur

 

2.3°/ Fonctionnalités communes

 

2.3.1°/ Authentification

Remarques :

 

 

ATTENTION ! Vu qu'il est possible de modifier les valeurs de variables grâce à la console javascript du navigateur, un utilisateur public pourrait facilement devenir organisateur. Ce principe NE DOIT donc jamais être utilisé pour une application en production.

 

2.3.2°/ Carte interactive

 

 

2.3.3°/ Statistiques

 

 

 2.3.4°/ Interface de documentation et test de l'API

 

Remarque : chaque route correspondant en gros à une fonction javascript qui va traiter une requête, il n'y a pas besoin que cette fonction soit pleinement opérationnelle pour être testée via l'interface de test. Cette fonction peut très bien dans un premier temps simplement renvoyer des données fixes mais au format attendu, et quand la BdD est opérationnelle, modifier son code pour accéder à la BdD.

 

 

2.3.5°/ Langue de l'application

 

 3°/ Conseils