Skip to content

Améliorations possibles

Strogator edited this page Dec 19, 2023 · 9 revisions

Introduction

Cette page vise à documenter les fonctionnalités que nous avions l'intention de mettre en œuvre, ainsi que celle découverte durant le développement, mais qui n'ont pas été réalisées en raison de contraintes temporelles. Bien que ces éléments n'aient pas été intégrés dans la version actuelle du projet, ils restent des points d'intérêt pour des développements futurs.

Fonctionnalité :

Indices

Le système d'indice n'est pas encore totalement au point. Pour l'instant, à chaque tentative, une lettre du titre est révélée.

Si le titre est très long, la révélation d'une lettre n'aide pas beaucoup à deviner le titre. Au contraire, si le titre est très court, par exemple 4 lettres, il suffira d'effectuer seulement 4 tentatives pour découvrir le titre en entier.

Pour solutionner ce problème, il faudrait fournir des indices proportionnellement à la taille du titre: un grand titre = beaucoup de lettres révélées, un petit titre = peu de lettres révélées.

Accessibilité

Suite à l'atelier animé par Mme Keller, il nous est apparu évident que notre application ne respecte pas les normes d'accessibilité essentielles. L'accessibilité revêt une importance capitale, car elle garantit que notre produit peut être utilisé par tous, indépendamment de leurs capacités physiques ou cognitives.

L'une des pistes d'amélioration identifiées concerne particulièrement le choix des couleurs. En effet, en revisitant nos sélections chromatiques, nous pourrions améliorer les contrastes afin de rendre l'interface plus lisible et accessible pour un public plus large. Cette démarche contribuera non seulement à répondre aux normes, mais aussi à offrir une expérience utilisateur plus inclusive et satisfaisante pour tous les utilisateurs.

Un autre aspect crucial de l'accessibilité concerne la langue utilisée dans notre application. Bien que celle-ci soit en français, nous avons constaté que les messages d'erreur sont actuellement formulés en anglais. Il serait opportun d'envisager la traduction de ces messages en français, assurant ainsi une cohérence linguistique et une compréhension optimale pour tous les utilisateurs, indépendamment de leur maîtrise de l'anglais.

Sécurité

Les indices

la route POST /hint permet de demander une des lettres de la réponse. Cette route est utilisée pour donner des indices supplémentaire à un utilisateur et est appelée depuis la page en AJAX. Il serait possible pour un utilisateur d'en abuser, et de demander via un logiciel tier toutes les lettres de la réponse, et cela ne serait pas considéré comme des essais. Pour améliorer cela, il pourrait être intéressant de supprimer cette route, et de retourner des indices par la route utilisé pour les essais, de cette manière, l'utilisateur serait obligé de tester des musiques et d'augmenter son nombre d'essai pour obtenir des indices

Système de Mail pour la Réinitialisation de Mot de Passe

L'un des objectifs que nous avions prévu était d'implémenter un système de mail permettant d'envoyer des courriels de réinitialisation de mot de passe. Cette fonctionnalité aurait renforcé la sécurité en permettant une récupération sécurisée des comptes.

Nous aurions souhaité implémenter la configuration du serveur SMTP, le choix de la bibliothèque de messagerie appropriée, la connexion avec celle-ci ainsi que l'intégration avec le processus de réinitialisation de mot de passe existant.

Connexion

Il est a noté que le bouton remember me ne fonctionne pas, celui-ci affiche une erreur 500.

Amélioration des processus de qualité du logiciel

Tests unitaires et de fonctionnalités

Les tests utilisent actuellement la même base de donnée que l'environnement de développement .Il serait intéressant de changer cela pour 2 raisons:

  • Il se peut que l'environnement de développement contiennent des modifications à la base de données ou des entrées qui pourrait modifier le comportement des tests, que ce soit en faisant passer un test qui devrait échouer, ou l'inverse
  • A la fin des tests, les entrées créées durant le processus sont supprimées. Cependant, si un test échoue, l'entrée n'est pas supprimée, et persiste dans la base de donnée du développeur. Ce problème devrait aussi être réglé même si une autre base de donnée est utilisée.

Déploiement continu

Une pipeline github d'intégration continue a été mise en place. Cependant, pour simplifier le processus de déploiement, il pourrait être intéressant d'ajouter une pipeline de déploiement continu qui permettrait de déployer l'application sur le serveur lorsqu'un changement est ajouté sur la branche principale

Clone this wiki locally