Public
App pour apprendre l'allemand de A2 a B2
educationgermanlanguage-learningspaced-repetition
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

Deutschbahn

Une app pour apprendre l'allemand de A2 à B2, écrite pour des francophones. Tout tourne dans le navigateur : aucune donnée n'est envoyée au serveur, la progression est enregistrée en localStorage et s'exporte en JSON.

Les modules

ModuleContenu
Wortschatz1 065 mots répartis en 17 thèmes, avec article, pluriel, formes verbales et phrase d'exemple traduite. Répétition espacée (SM-2 allégé) + quiz des articles, reconnaissance DE→FR, production FR→DE.
Grammatik33 leçons progressives (A2 → B2), de l'accusatif aux Modalpartikeln : explications en français, tableaux de déclinaison, pièges du francophone, 330 exercices corrigés.
Lesen18 textes gradués dans de vrais genres (courriel, article, tribune, extrait littéraire), traduction des mots difficiles au clic, 5 questions de compréhension chacun.
Hören150 dictées avec correction mot à mot, 14 points de prononciation, 40 paires minimales. Lecture par la synthèse vocale du navigateur (voix de-DE).
Referenz130 verbes forts, 8 conjugaisons modèles, 8 tableaux de déclinaison, 26 préfixes verbaux, les nombres.

Le système de couleurs des articles — bleu der, rouge die, vert das — court dans toute l'app : c'est le genre qui s'imprime visuellement, pas seulement le mot.

Architecture

Site statique servi par staticHTTPServer().

main.tsx      serveur statique
index.html    shell : charge les 19 fragments de données, puis app.js
style.css     design system (thèmes clair et sombre)
app.js        toute l'application (JS classique, sans dépendance)
data/*.json   le contenu, découpé par section

index.html récupère les fragments en parallèle, reconstitue l'objet window.__DB__ ({v, g, t, li, r}), puis injecte app.js. Pour modifier le contenu, éditer le fragment concerné ; pour en ajouter un, l'ajouter aussi au tableau PARTS d'index.html.

Progression

localStorage, clé deutschbahn.v1. L'onglet Progrès permet d'exporter la progression en JSON et de la réimporter sur un autre appareil — c'est le seul moyen de la transférer, rien n'est synchronisé côté serveur.