À propos du projet

## Présentation GRE 镇考 3000 est une application web progressive (PWA) front-end pure dédiée à l'apprentissage du vocabulaire du GRE, conçue pour les candidats préparant cet examen. Elle intègre le lexique complet des « 3000 mots du GRE 镇考 (édition en ordre aléatoire) » (3275 entrées au total, avec définitions en chinois, transcriptions phonétiques et phrases d'exemple en anglais) et utilise la courbe de l'oubli d'Ebbinghaus pour planifier les intervalles de révision, afin d'aider les utilisateurs à mémoriser efficacement les mots. ## Fonctionnalités principales - **Nouveaux mots quotidiens** : 100 nouveaux mots par jour par défaut, réglable dans les paramètres (50–150, par pas de 10). Les nouveaux mots sont sélectionnés parmi les mots non appris, dans l'ordre de la liste en ordre aléatoire. - **Révisions espacées selon Ebbinghaus** : chaque carte comporte 8 étapes (0–7), avec des intervalles allant de 8 minutes à 15 jours, ajustés dynamiquement selon les performances de l'utilisateur via un facteur de facilité (valeur initiale 2,5 ; +0,1 en cas de bonne réponse, −0,2 en cas d'erreur). Le temps d'attente réel = intervalle de base × (facilité / 2,5). - **Type d'exercice de révision** : un mot anglais est affiché, et l'utilisateur choisit la bonne définition parmi 4 propositions en chinois (1 bonne réponse + 3 distracteurs). - **Utilisable hors ligne** : le lexique est embarqué avec l'application. Après la première ouverture, le Service Worker met en cache la coque applicative et les données du lexique ; la mémorisation reste ensuite possible même sans connexion. - **PWA installable** : prise en charge de l'ajout à l'écran d'accueil du téléphone (iOS Safari / Android Chrome), avec exécution dans une fenêtre indépendante. - **Application de bureau** : un paquet d'installation macOS (empaqueté avec Electron) est fourni ; une version Linux peut également être compilée localement. - **Raccourcis clavier** : sur la page des nouveaux mots, Espace/Entrée développe la définition, 1/2/3 marquent respectivement « ne connais pas / vague / connais » ; sur la page de révision, 1–4 choisit la réponse, Espace/Entrée passe à la question suivante. ## Interface et navigation Quatre entrées en bas de l'écran : - **Aujourd'hui** : tableau de bord de progression, affichant l'état d'apprentissage du jour, le nombre de jours consécutifs, etc. - **Apprendre** : page d'apprentissage des nouveaux mots, mot en haut, définition masquée par défaut ; toucher la carte ou appuyer sur Espace pour l'afficher. Trois boutons en dessous : Ne connais pas, Vague, Connais. - **Réviser** : page de révision, mot en haut, quatre options disposées verticalement. - **Lexique** : filtrage par Non appris, En cours de révision, Maîtrisé ; la définition ne s'affiche qu'en ouvrant le mot. Les mots passés au palier de 7 jours sont considérés comme maîtrisés. ## Implémentation technique - **Framework front-end** : construit avec Vite, utilisant React (ou un framework similaire, non précisé mais conforme aux pratiques front-end modernes). - **Support PWA** : génération du Web App Manifest et du Service Worker via vite-plugin-pwa (Workbox), pour la mise en cache hors ligne et l'installabilité. - **Stockage des données** : toute la progression d'apprentissage est enregistrée dans le localStorage du navigateur (clé gre3000.vocab.v1), sans dépendre d'un serveur backend. - **Analyse du lexique** : le lexique original provient du PDF des « 3000 mots du GRE 镇考 (édition en ordre aléatoire) ». Un script Python (pymupdf) analyse les tableaux, supprime les filigranes, recolle les mots coupés en fin de ligne, déduplique puis génère un fichier JSON. ## Utilisation ### Utilisation en ligne Accédez directement à https://gre-3000-vocab.vercel.app pour commencer à apprendre. Il est recommandé de l'ajouter à l'écran d'accueil du téléphone pour une expérience optimale. ### Exécution locale ```bash git clone https://github.com/jayden-dong411/gre-3000-vocab.git cd gre-3000-vocab npm install npm run dev ``` Le serveur de développement s'exécute par défaut sur http://127.0.0.1:43173. ### Build de production ```bash npm run build npm run preview ``` Les artefacts de build se trouvent dans le répertoire dist/ et peuvent être déployés sur n'importe quel hébergement statique. ### Application de bureau Téléchargez le paquet d'installation macOS depuis GitHub Releases, ou exécutez localement `npm run desktop` pour ouvrir directement la fenêtre, et `npm run pack:mac` / `npm run pack:linux` pour empaqueter et distribuer. ## Remarques - La progression d'apprentissage n'est pas synchronisée entre appareils (car les données sont stockées localement dans le navigateur). - L'installation sur l'écran d'accueil du téléphone nécessite HTTPS (sauf pour localhost). - Le paquet d'installation macOS n'est pas notarié par Apple ; à la première ouverture, le système peut le bloquer. Il faut exécuter la commande `xattr -cr` dans le terminal pour lever le blocage. ## Conclusion GRE 镇考 3000 est un outil d'apprentissage du vocabulaire GRE complet et bien conçu, qui tire pleinement parti des capacités hors ligne et de l'installabilité des PWA, tout en offrant une application de bureau. Son algorithme de révision Ebbinghaus tient compte des performances de l'utilisateur, ce qui le rend plus flexible qu'un intervalle fixe. La source du lexique est claire et le processus d'analyse transparent. Il convient aux candidats ayant besoin de mémoriser systématiquement le vocabulaire du GRE.