Tous les projets personnels

Projet personnel · Licence pro MIAW, parcours DAWII · 2026-2027

My BR Révision

Une application de révision qui transforme mes photos de cours en fiches, flashcards et quiz grâce à l’OCR et à l’IA.

Contexte
Projet personnel, licence pro MIAW, parcours DAWII, IUT d’Évry
Rôle
Conception, front-end et back-end, intégration IA, déploiement
Équipe
Réalisé seul, avec l’aide d’un assistant de code IA
En ligne
mybr-revision.tech
Tableau de bord de My BR Révision : prochaine action par matière, cartes du jour et progression générale

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.

Tableau de bord : objectifs du jour, prochaine action et progression par type d’activité
Tableau de bord
Fiche de révision
Flashcards

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é.

  1. 01

    Photo

    Diapositive photographiée, ou PDF et Word importés.

  2. 02

    Lecture OCR

    Netteté, perspective, recadrage et contraste, puis Tesseract en WebAssembly dans un Web Worker.

  3. 03

    IA Gemini

    Cours structuré, résumé, notions clés, flashcards, QCM et exercices, en JSON validé.

  4. 04

    Contrôle anti-invention

    Chaque élément doit citer une phrase réellement présente dans le cours, sinon il est écarté.

  5. 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.
Import intelligent sur téléphone

Stack technique

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS v4
  • Motion
  • IndexedDB
  • Zod
  • Tesseract.js (WebAssembly)
  • pdf.js
  • Google Gemini API
  • Cloudflare Workers
  • Cloudflare D1
  • Vitest

Ce que j’ai résolu

  1. 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.

  2. 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é.

  3. 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.

  4. 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.

  5. Migrer de Netlify vers Cloudflare

    Reprise des données et du nom de domaine, sans interruption pour l’utilisateur.

  6. 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.

Voir le site (nouvel onglet)