le laboratoire LIP6 (Sorbonne Université), et plus particulièrement l’équipe MOCAH, collabore avec l’entreprise Génération 5 autour d’une plateforme d’apprentissage de la programmation Python. Dans le cadre d’une thèse en cours, l’objectif est d’intégrer des feedbacks adaptatifs dans cette plateforme afin d’améliorer l’apprentissage des utilisateurs. Un corpus de feedbacks, conçu par des experts du domaine, contient plusieurs types d’éléments (textes, extraits de code, images, etc.). Ces feedbacks sont affichés sur la plateforme selon une structure (ou layout) spécifique.
L’objectif du projet est de développer une interface qui permet à l’utilisateur de créer et de gérer ces feedbacks, selon plusieurs étapes :
- Saisie des éléments de feedback : l’interface doit permettre à l’utilisateur de saisir les différents composants d’un feedback (texte, extrait de code, image)
- Gestion des attributs du feedback : chaque feedback est décrit à l’aide d’un ensemble d’attributs prédéfinis (par exemple, "logos", "technique", "exemple", "exercice", "pointage d’erreur", "exercices spécifiques", etc.). Une fois les composants du feedback saisis, l’utilisateur doit sélectionner ces attributs dans une liste préexistante (et non les retaper). Ces informations doivent ensuite être enregistrées dans la base de données et associées au feedback
- Choix ou création d’un layout : l’utilisateur doit pouvoir choisir un layout existant ou créer un nouveau layout. Un layout est la manière dont les composants d’un feedback (texte, image, code, etc.) seront affichés. Par exemple, un feedback contenant une image et deux textes peut être affiché avec l’image à côté des textes ou avec les textes au-dessus de l’image. Pour créer un layout, l’utilisateur aura accès à un canvas où il pourra glisser-déposer les éléments du feedback pour en définir la disposition. Le layout sélectionné ou créé doit correspondre au nombre et au type de composants du feedback.
À chaque étape, l’utilisateur doit pouvoir sauvegarder son travail et revenir ultérieurement pour modifier le feedback si nécessaire. Un feedback est considéré comme complet uniquement lorsque tous les éléments sont saisis, que les attributs sont définis, et qu’un layout est choisi.
L’interface doit également permettre à l’utilisateur de consulter tous les feedbacks, de les filtrer selon certains critères (à définir), de modifier ou supprimer un feedback existant, et d’accéder à ces fonctionnalités uniquement après authentification.
Les endpoints backend nécessaires pour ce projet existent déjà.
Technologie recommandée :
Le frontend doit être développé en React.js, Next.js, ou un framework similaire.
Phases du projet :
- Développement et finalisation du cahier des charges (environ 1 semaine).
- Développement avec déploiement en continu.
- Livraison du projet & soutenance.
Livrables :
- Le code source de la plateforme avec une liste des fonctionnalités :
Fonctionnalités implémentées.
Fonctionnalités non implémentées.
Suggestions d’améliorations.
- Une documentation technique incluant :
Un guide d’utilisation.
La documentation du code.
Profil des candidats :
- Connaître React.js ou un framework similaire.
- Les étudiants travailleront dans un environnement Azure (une première expérience avec Azure est acceptable).
- Connaître Git.
- Comprendre les fonctionnalités de base d’une API.
Suivi :
- Réunion hebdomadaire pour faire un code review, discuter des problèmes rencontrés et débloquer les étudiants si nécessaire.
Contact : Badmavasan Kirouchenassamy (Badmavasan.Kirouchenassamy@lip6.fr)