Répartition Option - Projet Developpement Web

Description

Objectifs

En cours d’ING2, les étudiants préparent leur année suivante en choisissant l’option de leur rêve en dernière année. Chaque option possède un nombre limité de places, elles ne peuvent pas systématiquement accueillir tous les étudiants souhaitant la faire. Aussi, certains étudiants souhaitent faire une option particulière mais n’ont malheureusement pas les résultats suffisants pour pouvoir réussir dans de bonnes conditions. Dès lors, il a été défini des critères de mérite permettant de classer les étudiants sur un vœu d’option. Chaque étudiant devra alors classer les options disponibles au bout de son parcours par ordre de préférence. Enfin, un algorithme placera les étudiants dans chaque option en minimisant les déceptions étudiantes, tout en respectant les critères de mérite de l’option, c’est l’algorithme des “mariages stables”.

Le but de ce projet est de vous faire réfléchir à cet algorithme, en proposant un ensemble de fonctionalités de saisie et de visualisation des résultats à travers une plateforme web. Cette plateforme devra accueillir plusieurs types d’utilisateurs, qui n’auront pas accès aux mêmes fonctionnalités selon qu’ils seront étudiants, responsable admission, ou administrateur.

Même si un certain nombre de contraintes sont fixes (contenu des formulaires, types de pages, etc), l’esthétique et l’ergonomie du site sont libres et feront appel à votre créativité. Vous pourrez également proposer des fonctionalités supplémentaires que vous estimerez aidant à l’utilisation et à la configuration de l’outil; elles seront appréciées lors de l’évaluation finale. Elles devront néanmoins être validées par votre enseignant référent (tant sur l’intérêt que sur leur faisabilité technique). Il faudra également prévoir une architecture de documents où seront stockées les informations. Les données étant privées, vous devrez réfléchir à la problématique de sécurité et d’accès aux données de votre site (cryptage des codes d’accès, gestion de droits, etc).

Consignes

  • Vous possèdez un FAQ : Les questions seront partagées à tous les acteurs du projet
  • Vous devez renseigner votre groupe

Attention Les groupes sont composés uniquement de 4 à 5 étudiants appartenant au même groupe de TD. Vous avez jusqu’à vendredi 15 avril 12h00 pour renseigner votre groupe. Les étudiants n’apparaîssant dans aucun groupe, seront aléatoirement réparties dans des groupes.

Livrables

Vous devez rendre l’ensemble des documents pour le dimanche 29 mai 23h59, dans la classe teams :

  • Les sources de votre site web
  • Un readme associé afin de mettre en production sur n’importe quelle machine (ubuntu, windows,…) votre travail
  • Un rapport décrivant :
    • Vos choix techniques
    • La répartition des tâches au sein du groupe
    • La description du système de fichiers choisi

Deadlines

  • Les documents sont à rendre pour le dimanche 29 mai 23h59
  • Une soutenance de 5min (+5min de question) vous sera demandé pendant la semaine de partiel qui suit. Elle consistera à une demonstration de votre site web. Vous trouverez le planning

Cahier des charges

L’interface Web devra :

  • être divisée en plusieurs modules correspondant aux différents profils. À noter, qu’il faudra disposer d’un compte pour utiliser l’interface web
  • réaliser l’algorithme des mariages stables
  • proposer une messagerie pour communiquer entre les différents utilisateurs

Les Données

L’objectif est à partir de fichiers d’entrées d’affecter les étudiants dans les différents choix d’options. Chaque étudiant a réalisé un parcours en ING2 : GSI, MF, ou MI

Chaque parcours possède un fichier csv. Ci-dessous un exemple (le fichier) :

prenom nom login ects moyenne c1 c2 c3 c4 c5 c6 c7 c8
Monique Lecomte MoniqueLecomte@cy-tech.fr 15 13,528 BI CS IAC VISUA INEM ICC HPDA IAP
Henriette-Marthe Tanguy Henriette-MartheTanguy@cy-tech.fr 15 10,95 CS IAC VISUA INEM ICC IAP BI HPDA
Danielle-Joséphine Bruneau Danielle-JoséphineBruneau@cy-tech.fr 15 11,389 CS INEM ICC VISUA IAP IAC HPDA BI

Explications :

  • C1,…,Ck correspond à un classement des options par ordre de préférence fait par l’étudiant
  • La moyenne et les ECTS sont calculés sur le S2 (ING1) et S3 (ING2)
  • Les étudiants en GSI doivent classer 8 choix
  • Les étudiants en MI doivent classer 6 choix
  • Les étudiants en MF doivent classer 2 choix

Chaque option a un nombre de parcours alloué (max) pour chaque parcours. Ci-dessous un exemple (le fichier) :

option GSI MI MF
Actu 0 0 35
HPDA 18 17 0
BI 20 15 0
CS 70 0 0
DS 0 35 0
FT 0 35 0
IAC 50 20 0
IAP 17 18 0
ICC 35 0 0
INEM 35 0 0
MMF 0 0 70
VISUA 35 0 0

L’algorithme

L’objectif est donc d’obtenir un résultat de répartition dans les options répondant aux contraintes de place dans les options par parcours et des choix des étudiants. L’algorithme utilisé sera l’algorithme décrit dans la section ici. L’algorithme devra fonctionner pour plus de 3 parcours.

Les modules

Module etudiants

Une fois connecté, un étudiant pourra :

  • consulter sa moyenne, son compte ECTS, et ses choix d’options
  • modifier ses informations de profils (photo de profil, date de naissance, adresse postal, …)
  • envoyer/consulter des messages à travers la messagerie développée

Module Responsable admission

Une fois connecté, le responsable admission pourra :

  • charger les fichiers de données
  • lancer l’algorithme de mariage stable. Une fois l’algorithme terminé
  • modifier ses informations de profils (photo de profil, mot de passe, date de naissance, adresse postal, …)
  • envoyer/consulter des messages à travers la messagerie

L’algorithme des mariages devra générer un ou plusieurs fichiers avec le choix des options

Une fois l’algorithme des mariages stables réalisé, le responsable admission pourra :

  • Apporter des corrections aux choix des options des étdudiants, l’étudiant se verra notifier du changement de répartition
  • Connaître le total d’étudiants par option
  • Afficher des statistiques pour chaque option :
    • moyenne de la moyenne
    • moyenne des rangs
    • distribution des rangs
    • moyenne du dernier admis
  • Afficher le nombre de voeux, premier, deuxième, … attribués

Une fois toutes les modifications réalisées, le responsable d’admission pourra valider les résultats de l’algo et chaque étudiant recevra son affectation.

Module Administrateur

L’administrateur possède un tableau de bords avec :

  • le log des différentes modifications réalisées dans le système
  • les différentes erreurs remontées par les utilisateurs

L’administrateur pourra :

  • créer automatiquement le compte de tous les étudiants en chargeant le fichier des étudiants. Un mot de passe aléatoire pourra être généré
  • envoyer/consulter des messages à travers la messagerie

Problème des mariages stables

C’est un problème permettant de trouver des couples en fonctions des préférences. Dans notre cas, nous allons l’utiliser pour associer un étudiant à une option de 3ieme année de CY Tech, en fonction, de ces choix et du nombre de place. Le problème des mariages stables peut être résolu avec l’algorithme de Gale et Shapley. Cette même application (algorithme compris) est reprise entre 2009 et 2017 par le service Admission Post-Bac du ministère français de l’Enseignement supérieur.

Ci-dessous, un peu de documentation autour de cette problèmatique :

La messagerie

Entre utilisateurs, il doit être possible de communiquer. Les fonctionnalités attendues sont au minimum les suivantes :

  • Envoi de messages
  • Réception de messages
  • Suppression de messages

La messagerie n’est pas obligée d’être instantanée. Vous devez utiliser les systèmes de fichiers afin de code la messagerie.

Il arrive malheureusement que la communication entre utilisateurs soit source d’abus : insultes, cyber-harcèlement…

Pour y parer, les fonctionnalités disponibles aux abonnés sont au minimum les suivantes :

  • Blocage d’un utilisateur
  • Signalement d’un message suspect aux administrateurs (avec motif de signalement obligatoire – à choisir éventuellement dans une liste déroulante – et/ou zone de texte pour les détails)

Documents - exemples

drive-listesDesPlacesParcours