Ce document a pour vocation d'apporter plus de precisions quand aux ameliorations citees dans la soutenance de stage en septembre 2021
Techniques :
Securité -> Mise en place du HTTPS (VueJs & Flask)
Agencement du code -> Casser le composant Volet_Base pourrait être bénéfique pour la lecture du code (mais potentiellement fastidieux). Plusieurs portions de code dupliqués à optimiser (VueJs)
Tests plus exaustifs -> les tests actuels sont considérables comme trop basiques et ne demandent qu'à être plus pertinents. Utilisation de mocks recommandés (VueJs & Flask). La méthodologie de travail pendant le stage de 2021 n'était pas des plus optimales, développer cette partie pourrait améliorer la robustesse de l'application.
Empecher la multiconnexion -> si on peut éviter les problématiques d'acces concurrents aux contenus, ca peut être bien (VueJs probablement)
Integration continue -> A la convenance du développeur, idéalisme non converti du stagiaire de l'époque (J.Passerat)
Fonctionnels :
Integration d'autres contenus. Les contenus autres que xml sont importables, mais des choses à améliorer (ex : si on integre un contenu vidéo, comment on le consulte ?) (VueJs et surement Flask)
Mise en place de la partie evaluations. Normalement ok côté Flask, la partie VueJs serait à faire (VueJs)
Mode recherche complet -> implémenter la recherche sur le texte des contenus et traiter les saisies multi termes. Autre probleme, actuellement la recherche sur le titre marche sur le systeme = (egalite parfaite entre la saisie et le titre), avec un système d'array.filter(). Il faudrait modifier ça pour faire un système du genre le LIKE de SQL (si le titre contient le terme saisi c'est bon).
Système d'actualisation des contenus -> Permettrait d'avoir des maj de la banque ou des apparitions de maj contenu sans devoir se deconnecter. Pistes à creuser : une entrée HTTP sur FLask en 'écoute active' qui enverrai à chaque modification dans Flask l'information directement à VueJs (existe en Spring par exemple, en Flask pas trouvé (mais existe potentiellement aussi)
Automatisation des imports / exports -> Grosse problématique. Comment s'interfacer directement avec Moodle (et autres). Ces plate-formes proposent t'elles des api permettant une connexion 'programmaticalle' permettant de naviguer dans les cours d'un utilisateur et de récupérer / déposer des contenus. Développer un plugin Moodle (fonctionnerait pour l'import dans OpenQuizz, ptet plus difficile à imaginer pour l'export).
Amélioration de l'ergonomie -> Trouver qqun ayant des compétences en web design et éventuellement améliorer la lisibilité des fonctionnalités du site (un exemple au hasard -> proposer un comparatif avant / apres dans le menu des maj recues pour pouvoir évaluer la pertinence d'une maj recue)
ANNEXE : Déploiement de l'application sur Apache (ou autres)
La procédure est expliquée dans le guide d'installation, disponible sur la même branche Moodle ou vous avez trouvé ce contenu
Des problèmes ont été trouvés en déployant le site local vers le serveur mis en place pour le stage.
Par exemple, l'import d'un contenu ne nous donne plus une chaine de caracteres pour contenir le texte mais des bytes
Il est donc possible que subsistent des bugs liés à la migration et aux spécificités d'avoir un web service distant et non local
Pour débugger des éventuels problèmes, une solution peut être de cabler le VueJs qui tourne en local sur votre ordinateur au web service distant (se référer au guide d'installation pour la connexion), ce qui peut permettre de débugger le coté client plus facilement. Concernant le côté serveur, les logs sont disponibles dans un fichier spécifique, actuellement situé à "/var/www/flask/logs" (peut varier selon la configuration mise en place)