04 48 30 01 98 contact@dorianmittou.fr

Occicards

par Dorian Mittou | Fév 5, 2026 | 0 commentaires

OcciCards est une plateforme d’apprentissage basée sur des flashcards que j’ai conçue dans le cadre de mon BTS SIO SLAM.
Le projet existe en deux versions : une application de bureau en Java, et une application web que j’ai réalisée avec Symfony pour permettre l’accès aux cartes depuis un simple navigateur.

Contexte et problématique

L’idée de départ part d’un constat simple : les méthodes de révision classiques (fiches, bachotage de dernière minute, relecture passive) sont peu efficaces pour mémoriser sur le long terme.
OcciCards s’appuie au contraire sur la science de l’apprentissage (effet d’espacement d’Ebbinghaus, répétition espacée, système Leitner) pour proposer une révision progressive, ciblée sur les cartes les moins bien retenues.

L’objectif est double :

  • aider les élèves à mieux retenir leurs cours grâce à des sessions courtes mais régulières ;
  • fournir aux enseignants un outil pour créer et partager facilement des decks thématiques.

Fonctionnalités principales

OcciCards permet de gérer l’ensemble du cycle de vie d’un deck de cartes, depuis sa création jusqu’aux sessions de révision :

  • Gestion des decks : création, modification, suppression, description, export/import au format JSON pour partager les decks entre élèves ou enseignants.
  • Gestion des cartes : pour chaque deck, ajout, édition et suppression de cartes question/réponse, avec validation (longueur, caractères autorisés, nombre minimal de cartes).
  • Session de révision : affichage de la question, révélation de la réponse puis auto‑évaluation (mauvais / bien / très bien), avec un algorithme inspiré du système Leitner pour faire revenir plus souvent les cartes difficiles.
  • Interface claire : menus, vues dédiées (liste des decks, vue d’un deck, vue d’une carte, vue de révision) conçus pour rester simples même pour un utilisateur non technique.

Sur la partie web, l’application Symfony reprend ces principes :
interface en PHP/JavaScript, gestion des decks et des cartes, et sessions de révision directement dans le navigateur, pour un accès plus facile depuis n’importe quel appareil connecté.

Architecture technique

Pour la version client lourd, j’ai choisi une architecture claire et modulaire :

  • Langage : Java (JDK 21) avec JavaFX pour l’interface graphique.
  • Organisation du code en packages (modèle, contrôleurs, utils, etc.) selon le pattern Modèle–Vue–Contrôleur (MVC).
  • Gestion des dépendances avec Maven, IDE IntelliJ IDEA, stockage des decks en JSON.

Pour la version web, j’ai développé une application Symfony :

  • Backend en PHP avec contrôleurs, entités et formulaires Symfony.
  • Frontend en HTML/CSS/JavaScript, templates Twig.
  • Gestion des données (decks, cartes, utilisateurs) via une base relationnelle et le composant Doctrine.

Cette double approche (Java + Symfony) montre que je suis capable d’implémenter une même logique métier sur deux environnements différents : application de bureau et application web.

Qualité, tests et documentation

J’ai intégré des tests unitaires pour sécuriser le cœur de l’application, notamment sur les classes métier (Deck, Card) et les contrôleurs.
Ces tests vérifient les getters/setters, le comportement des méthodes clés et limitent les régressions lors des évolutions.

La documentation technique est générée avec Javadoc pour la partie Java, et structurée pour faciliter la prise en main par un autre développeur (structure du projet, modèles, contrôleurs, vues, algorithme de révision).
Pour la version Symfony, la logique est également documentée afin d’expliquer le fonctionnement des routes, des contrôleurs et des entités liées aux decks et aux cartes.

Bilan du projet

OcciCards m’a permis de :

  • mettre en pratique des concepts concrets de science de l’apprentissage (répétition espacée, système Leitner) dans une application réelle ;
  • concevoir une architecture MVC propre, d’abord en Java/JavaFX, puis en Symfony pour la version web ;
  • travailler la qualité logicielle (tests unitaires, documentation, gestion des dépendances, versioning Git).

Malgré les contraintes de temps et la montée en compétence sur des outils comme Maven, JavaFX, IntelliJ et Symfony, le projet aboutit à une solution complète et évolutive, qui illustre bien ma manière de travailler : structurée, orientée pédagogie utilisateur et solide techniquement.

Catégories

Dorian Mittou

Dorian Mittou

Développeur web freelance

Passionné de développement web, je développe avec WordPress/Divi et Laravel, j'accompagne les TPE locales dans la création de sites vitrines performants et SEO Google pour booster leur visibilité et attirer des clients du coin.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous avez un projet web ?

Contactez nous via notre formulaire : nous vous fixerons un rendez-vous personnalisé pour mieux comprendre vos besoins et vous proposer la solution idéale.