Apprendre le vocabulaire allemand pour réussir les examens A2/B1
Rôle : Solo — conception, développement, data pipeline
NUI est une application d'apprentissage de vocabulaire pensée pour préparer les examens de français A2 et B1 (d'autres niveaux et langues sont prévus). L'utilisateur choisit un niveau et un thème, puis apprend une série de 8 mots à travers 4 exercices progressifs — de la simple reconnaissance jusqu'au texte à trous avec indices.
L'objectif n'est pas de recréer une énième app de flashcards, mais de forcer la mémorisation active : aucune réponse n'est jamais donnée automatiquement, l'utilisateur doit toujours deviner avant de voir la solution.
Le score est calculé uniquement sur le premier essai de chaque mot, pour éviter qu'un utilisateur ne progresse en devinant par élimination.
Projet solo, de la conception à l'implémentation. Développé initialement en JavaScript vanilla pour itérer vite sans la lourdeur d'un framework, avec l'intention explicite de pouvoir extraire l'app du site parlezvsfr.com à tout moment — d'où une architecture volontairement découplée, avec les données stockées en JSON plutôt qu'en dur dans le code.
Le choix du Python pour le pipeline de données (plutôt que de tout garder en JS) vient d'un besoin concret : nettoyer et valider de gros volumes de vocabulaire avant mise en production, avec une étape de contrôle qualité qui ne fait pas partie du runtime de l'app elle-même.
Import manuel du vocabulaire, 4 types d'exercices en JS vanilla.
Import JSON, sauvegarde d'état via localStorage.
Filtres niveau/thème, sessions de 10 mots, chargement JSON auto.
Navigation clavier entre champs, validation au premier essai.
Script Python RAW → CLEAN → review qualité → JSON de production.
Bug d'affichage avec les caractères accentués (ä, ö, ü, ß) en étape 7 (desktop)
Refonte de la logique de validation du texte à trous pour gérer les caractères spéciaux allemands.
Rupture du flow utilisateur : le focus ne passait pas au champ suivant en fin de mot
Ajout d'une gestion d'événements clavier pour un saut automatique entre inputs y compris en mobile.
Fiabilité des données : Passage d'un import JSON collé manuellement à un vrai pipeline
un script Python nettoie les données brutes, génère un rapport, produit un fichier propre et structurer en adéquation avec notre JSON (en attente de validation humaine avant intégration au JSON de production).