Contexte et problème
Mes cours arrivent sous toutes les formes : diapositives projetées en amphi, PDF, documents Word, fiches. Je voulais un seul endroit pour les ranger par matière, les transformer en supports de révision actifs et suivre ma progression réelle, sur mon téléphone comme sur mon ordinateur.
J’ai donc conçu My BR Révision pendant ma licence professionnelle MIAW, parcours DAWII, à l’IUT d’Évry. L’application est en ligne et je l’utilise pour réviser mes huit matières.
Fonctionnalités clés
-
Import intelligent
Je photographie les diapositives, ou j’importe un PDF ou un Word. L’application corrige la perspective et le contraste, lit le texte par OCR dans le navigateur, puis Google Gemini génère un cours structuré, un résumé, des flashcards, un QCM corrigé et des exercices.
-
Huit matières, révision active
Chapitres, cours et fiches au rendu riche, flashcards à répétition espacée (SM-2), quiz expliqués et exercices. La progression ne dépend que des actions réelles, jamais du simple fait que du contenu existe.
-
Synchronisation en ligne
Le contenu est lisible par tous et modifiable seulement par moi, grâce à un code secret vérifié côté serveur. L’application fonctionne hors connexion : les modifications partent au retour du réseau.
-
Organisation au quotidien
Tableau de bord avec la prochaine action par matière, recherche globale, planning, thème clair ou sombre et export des données.
Comment fonctionne l’Import intelligent
C’est la fonctionnalité phare : une photo de diapositive devient une ressource de révision en 15 à 35 secondes. Seul le texte extrait part vers l’IA, jamais les photos, et aucun fichier n’est conservé.
-
01
Photo
Diapositive photographiée, ou PDF et Word importés.
-
02
Lecture OCR
Netteté, perspective, recadrage et contraste, puis Tesseract en WebAssembly dans un Web Worker.
-
03
IA Gemini
Cours structuré, résumé, notions clés, flashcards, QCM et exercices, en JSON validé.
-
04
Contrôle anti-invention
Chaque élément doit citer une phrase réellement présente dans le cours, sinon il est écarté.
-
05
Fiches, flashcards, QCM
Vérification possible avant l’enregistrement, avec détection des doublons.
La lecture se fait dans le navigateur
- Photos : contrôle de netteté, correction de perspective, recadrage de la diapositive, amélioration du contraste, puis OCR.
- PDF : texte lu directement avec pdf.js, OCR seulement pour les pages scannées.
- Word : titres, listes, tableaux et code extraits avec mammoth.
Stack technique
Ce que j’ai résolu
-
Sécuriser l’IA
La clé d’IA et le code secret restent côté serveur : cookie de session signé, limitation des essais et validation de toutes les données reçues.
-
Fiabiliser l’IA
Réponses JSON validées par schéma, rejet des contenus non justifiés par la source, réessais puis bascule vers un autre modèle quand le service gratuit est saturé.
-
Synchroniser sans perte
Envoi des seules modifications, file d’attente hors connexion et distinction entre une suppression distante et un ajout local, pour gérer les conflits entre appareils.
-
Tenir dans l’hébergement gratuit
Cloudflare limite le calcul à 10 ms par requête. J’ai stocké une ligne par élément dans D1 et renvoyé le JSON sans le décoder.
-
Migrer de Netlify vers Cloudflare
Reprise des données et du nom de domaine, sans interruption pour l’utilisateur.
-
Garantir la qualité
102 tests automatisés, TypeScript strict, contrastes WCAG AA vérifiés, navigation au clavier et mise en page pensée pour le téléphone.
Chiffres clés
- Matières
- 8
- Cours
- 45
- Flashcards
- 136
- Tests automatisés
- 102
- Hébergement
- 0 €
- Un cours traité par l’IA
- 15 à 35 s
Ce que j’ai appris
Ce projet m’a appris à concevoir une application complète de bout en bout : interface, données, IA, sécurité, déploiement et nom de domaine.
J’ai aussi appris à faire des choix sous contrainte de coût, de sécurité et de confidentialité, et à tester réellement plutôt que supposer.