DidactIA — Documentation Technique
Présentation
DidactIA est une plateforme cross-platform permettant de concevoir des outils didactiques et pédagogiques destinés à la communauté éducative, assistée par l’intelligence artificielle.
Fonctionnalités principales
- Assistant IA (KOFFI) — Conversations pédagogiques contextualisées par niveau, matière et type de ressource
- Documents pédagogiques — Création et export de fiches de cours, exercices et évaluations (Word/PDF)
- Quiz interactifs — Création, assignation et correction de quiz enseignant → élève
- Outils mathématiques et scientifiques — GeoGebra IA, physique 2D, graphes Cytoscape, tableaux de variation, chimie LaTeX
- Blog — Articles pédagogiques publics
- Crédits — Système de crédits pour l’accès aux fonctionnalités IA
Stack technique
| Couche | Technologie |
|---|---|
| Frontend | Quasar v2 + Vue 3 + TypeScript |
| Styling | CSS Variables + <style scoped> |
| State | Pinia (avec persistance) |
| Mobile | Capacitor (iOS / Android) |
| Desktop | Electron |
| API | FastAPI — http://localhost:8000 |
| Auth | OAuth2 / JWT + Firebase Google Auth |
Accès par rôle
| Rôle | Description |
|---|---|
public |
Pages accessibles sans connexion |
auth |
Utilisateur connecté avec email vérifié |
teacher |
Enseignant — accès création quiz / documents |
student |
Élève — accès quiz assignés |
admin |
Administrateur — back-office blog, classes, n8n |
Arborescence de la documentation
docs/
├── index.md ← Ce fichier (présentation + arborescence)
│
├── public/ ← Pages accessibles sans connexion
│ ├── home.md /
│ ├── documentation.md /documentation
│ ├── blog-list.md /blog
│ └── blog-article.md /blog/:slug
│
├── auth/ ← Authentification
│ ├── login.md /auth/login
│ ├── signup.md /auth/signup
│ ├── signup-confirmation.md /auth/signup-confirmation
│ ├── forgot-password.md /auth/forgot-password
│ ├── reset-password.md /auth/reset-password
│ ├── verify-email.md /auth/verify-email
│ └── oauth-callback.md /auth/callback
│
├── chat/ ← Assistant IA
│ ├── home.md /chat
│ └── conversation.md /chat/:chatId
│
├── documents/ ← Documents pédagogiques
│ ├── list.md /documents
│ └── edit.md /documents/:id
│
├── quiz/ ← Quiz
│ ├── teacher-list.md /quiz/teacher
│ ├── teacher-editor.md /quiz/teacher/new | /quiz/teacher/:id/edit
│ ├── teacher-groups.md /quiz/groups
│ ├── teacher-attempts.md /quiz/teacher/:quizId/attempts
│ ├── student-list.md /quiz/student
│ ├── student-detail.md /quiz/access/:slug
│ └── student-attempts.md /quiz/student/history
│
├── tools/ ← Outils scientifiques
│ ├── index.md /tools
│ ├── geogebra.md /tools/geogebra
│ ├── cytoscape.md /tools/cytoscape
│ ├── matter-js.md /tools/matter-js
│ ├── tableau-variation.md /tools/tableau-variation
│ ├── chemistry-typing.md /tools/chemistry-typing
│ └── richtext-word.md /tools/richtext-word
│
├── user/ ← Espace utilisateur
│ ├── profile.md /profile
│ └── credits.md /credits
│
├── admin/ ← Back-office (admin)
│ ├── blog-admin.md /admin/blog
│ ├── blog-editor.md /admin/blog/:id
│ ├── classes.md /admin/classes
│ ├── collections.md /admin/collections
│ ├── credits.md /admin/credits
│ └── n8n-mapping.md /admin/n8n-mapping
│
└── errors/
└── 404.md /:catchAll
Index des pages
Pages publiques
Page d’accueil — / — Public
Vitrine principale de DidactIA. Présente les fonctionnalités, les assistants IA, les outils et les témoignages d’utilisateurs pour convaincre les visiteurs de s’inscrire.
Actions :
- S’inscrire en cliquant sur le bouton CTA →
/auth/signup - Découvrir les fonctionnalités et les assistants disponibles
- Naviguer vers les tarifs →
/pricing - Accéder directement au chat IA →
/chat - Explorer les outils scientifiques →
/tools
Tarifs — /pricing — Public
Compare les plans d’abonnement (Free, Pro, Premium) avec un toggle mensuel/annuel et un tableau des quotas inclus.
Actions :
- Basculer entre facturation mensuelle et annuelle (−20%)
- Comparer les plans et leurs limites (messages IA, documents, quiz…)
- Lancer l’abonnement à un plan →
/checkout?plan=... - Consulter la FAQ sur les abonnements
Guide d’utilisation — /documentation — Public
Affiche le guide d’utilisation complet de DidactIA, compilé depuis le fichier Markdown du projet.
Actions :
- Lire la documentation de toutes les fonctionnalités
- Naviguer par sections via les ancres du document
Blog — /blog — Public
Liste paginée des articles de blog avec filtres par catégorie (actualités, tutoriels, fonctionnalités, annonces).
Actions :
- Filtrer les articles par catégorie
- Parcourir la pagination (précédent / suivant)
- Ouvrir un article →
/blog/:slug
Article de blog — /blog/:slug — Public
Affiche un article de blog complet avec image de couverture, métadonnées et contenu.
Actions :
- Lire l’article complet
- Naviguer vers d’autres articles en cliquant sur un tag
Authentification
Connexion — /auth/login — Guest
Formulaire de connexion pour les utilisateurs existants, avec options email/mot de passe ou Google.
Actions :
- Se connecter avec son email et son mot de passe
- Se connecter avec Google (popup web ou natif sur mobile)
- Afficher / masquer le mot de passe
- Accéder à la réinitialisation →
/auth/forgot-password - Naviguer vers la création de compte →
/auth/signup
Inscription — /auth/signup — Guest
Formulaire de création de compte avec choix du rôle (enseignant ou élève).
Actions :
- Choisir son rôle : Élève ou Enseignant
- Créer un compte avec prénom, nom, email et mot de passe
- S’inscrire avec Google
- Naviguer vers la connexion →
/auth/login
Confirmation d’inscription — /auth/signup-confirmation — Guest
Page intermédiaire post-inscription indiquant à l’utilisateur de vérifier sa boîte mail.
Actions :
- Renvoyer l’email de confirmation si non reçu
- Retourner à la connexion →
/auth/login
Mot de passe oublié — /auth/forgot-password — Guest
Permet de demander un lien de réinitialisation du mot de passe par email.
Actions :
- Soumettre son adresse email pour recevoir le lien de réinitialisation
- Retourner à la connexion →
/auth/login
Nouveau mot de passe — /auth/reset-password — Guest
Définit un nouveau mot de passe via le lien reçu par email.
Actions :
- Saisir et confirmer le nouveau mot de passe
- Retourner à la connexion après succès
Vérification email — /auth/verify-email — Guest
Valide le compte utilisateur en traitant le token reçu par email.
Actions :
- Validation automatique au chargement de la page
- Renvoyer l’email de vérification si la validation échoue
Callback OAuth — /auth/callback — Public
Page technique de finalisation du flux OAuth redirect côté serveur. Aucune interaction utilisateur requise.
Assistant IA
Accueil Chat IA — /chat — Authentifié
Point de départ pour démarrer une nouvelle conversation avec l’assistant pédagogique KOFFI.
Actions :
- Choisir le type d’assistant (KOFFI, etc.)
- Envoyer un premier message pour créer une conversation
- Utiliser une suggestion rapide (prompt prédéfini)
- Rafraîchir la liste (pull-to-refresh sur mobile)
Conversation IA — /chat/:id — Authentifié
Fil de discussion complet avec l’assistant IA, avec rendu Markdown et affichage des exercices générés.
Actions :
- Envoyer un message à l’assistant
- Régénérer la dernière réponse de l’IA
- Copier le contenu d’un message
- Consulter les résultats d’exercices structurés générés par KOFFI
Documents pédagogiques
Mes documents — /documents — Authentifié
Liste de tous les documents pédagogiques créés par l’utilisateur (fiches, évaluations, etc.).
Actions :
- Créer un nouveau document (fiche, évaluation…)
- Rechercher un document par titre
- Filtrer par type de document
- Ouvrir et éditer un document existant →
/documents/:id - Supprimer un document
Éditeur de document — /documents/:id — Authentifié
Éditeur complet pour rédiger ou modifier un document pédagogique, avec deux modes selon le type de contenu.
Actions :
- Modifier le titre du document
- Écrire le contenu (éditeur texte riche ou éditeur d’exercices structurés)
- Sauvegarder le document (manuel ou auto-save)
- Exporter en Word (.docx)
- Exporter en PDF
Quiz
Mes quiz — Enseignant — /quiz/teacher — Enseignant
Tableau de bord de gestion de tous les quiz créés par l’enseignant.
Actions :
- Créer un nouveau quiz →
/quiz/teacher/new - Modifier un quiz existant →
/quiz/teacher/:id/edit - Voir les tentatives des élèves pour un quiz
- Supprimer un quiz (avec confirmation)
- Accéder à la gestion des groupes →
/quiz/teacher/groups
Éditeur de quiz — /quiz/teacher/new ou /:id/edit — Enseignant
Formulaire complet de création ou modification d’un quiz.
Actions :
- Définir le titre, la description et les règles (temps limite, seuil de réussite)
- Ajouter, modifier et supprimer des questions
- Assigner le quiz à des groupes ou des élèves
- Publier le quiz ou le sauvegarder en brouillon
Groupes d’affectation — /quiz/teacher/groups — Enseignant
Gestion des groupes d’élèves pour assigner des quiz rapidement à plusieurs personnes à la fois.
Actions :
- Créer un groupe avec un nom
- Ajouter ou retirer des membres (élèves)
- Activer / désactiver un groupe
- Supprimer un groupe
Tentatives d’un quiz — /quiz/teacher/:id/attempts — Enseignant
Résultats de tous les élèves pour un quiz donné, avec scores et statuts.
Actions :
- Consulter les scores de chaque élève (% + badge réussi/échoué)
- Filtrer les tentatives par nom d’élève
Quiz assignés — Élève — /quiz/student — Élève
Liste de tous les quiz auxquels l’élève a accès (assignés directement ou via un groupe).
Actions :
- Voir les quiz disponibles avec leur description et règles
- Accéder à un quiz pour le passer →
/quiz/access/:slug - Naviguer vers l’historique des tentatives
Passer un quiz — /quiz/access/:slug — Élève
Interface immersive de passation d’un quiz, avec instructions, navigation et correction détaillée.
Actions :
- Lire les instructions du quiz (dialogue d’accueil)
- Répondre aux questions (QCM, vrai/faux, réponse courte…)
- Naviguer entre les questions via la sidebar
- Soumettre ses réponses
- Consulter la correction détaillée avec score final
- Recommencer le quiz (si autorisé par l’enseignant)
Historique des tentatives — /quiz/student/history — Élève
Historique personnel de toutes les tentatives de quiz de l’élève.
Actions :
- Consulter ses résultats passés (score, date, quiz)
- Identifier les quiz réussis ou échoués via les badges colorés
Outils scientifiques
Catalogue des outils — /tools — Authentifié
Grille de présentation de tous les outils pédagogiques et scientifiques disponibles.
Actions :
- Choisir et accéder à un outil IA pour commencer à travailler
GeoGebra IA — /tools/geogebra — Authentifié
Génère des constructions géométriques GeoGebra interactives (2D ou 3D) depuis une description en langage naturel.
Actions :
- Décrire la construction souhaitée en français
- Choisir le mode 2D (Graphing) ou 3D
- Générer la construction via l’IA
- Utiliser un exemple prédéfini
- Télécharger en PNG
- Importer un fichier
.ggbexistant
Cytoscape.js — /tools/cytoscape — Authentifié
Génère des graphes et réseaux interactifs depuis une description en langage naturel.
Actions :
- Décrire le graphe souhaité en langage naturel
- Ajouter une image de référence optionnelle
- Générer le graphe via l’IA
- Randomiser la disposition des nœuds
- Télécharger en PNG
Matter.js — Physique 2D — /tools/matter-js — Authentifié
Génère et simule des scènes de physique 2D interactives depuis une description textuelle.
Actions :
- Décrire la scène physique souhaitée
- Générer la simulation via l’IA
- Secouer la scène (appliquer des forces aléatoires)
- Ajouter des corps dynamiquement
- Réinitialiser la scène
- Télécharger une capture PNG
Tableau de variation — /tools/tableau-variation — Authentifié
Génère automatiquement un tableau de variation et une analyse textuelle depuis une expression mathématique.
Actions :
- Saisir une expression mathématique (ex.
x^2 - 3x + 2) - Utiliser un exemple prédéfini
- Générer le tableau de variation (image PNG) et l’analyse
- Télécharger le tableau en PNG
Chemistry Typing — /tools/chemistry-typing — Authentifié
Convertit des expressions chimiques LaTeX en images PNG de haute qualité.
Actions :
- Saisir l’expression chimique en LaTeX
- Choisir les packages LaTeX (mhchem, chemfig…)
- Ajuster la taille de police et la largeur
- Utiliser un exemple prédéfini
- Générer l’image PNG
- Télécharger le résultat
Rich Text → Word — /tools/richtext-word — Authentifié
Éditeur de texte riche avec export direct en fichier Word (.docx), sans passer par le module Documents.
Actions :
- Rédiger un document (titres, listes, tableaux, images)
- Utiliser un exemple rapide
- Nommer le fichier à exporter
- Exporter directement en
.docx(sans appel API)
Espace utilisateur
Mon profil — /profile — Authentifié
Affiche les informations personnelles de l’utilisateur et permet leur modification.
Actions :
- Modifier son prénom et son nom
- Consulter son rôle (enseignant / élève) et ses classes
- Voir son plan d’abonnement actuel → lien vers
/subscription - Se déconnecter
Mon abonnement — /subscription — Authentifié
Affiche le plan actif et les jauges d’utilisation des quotas de la période en cours.
Actions :
- Consulter ses quotas d’utilisation (messages IA, documents, quiz…)
- Voir la date de renouvellement du plan
- Aller sur les tarifs pour changer de plan →
/pricing
Paiement — /checkout — Authentifié
Tunnel de paiement Mobile Money (CinetPay) pour souscrire à un plan DidactIA.
Actions :
- Vérifier le récapitulatif du plan choisi (tier + cycle)
- Saisir son numéro de téléphone Mobile Money
- Choisir l’opérateur (Orange Money, MTN, Moov…)
- Confirmer et payer
- Suivre le statut de la transaction en temps réel
Administration
Gestion du blog — /admin/blog — Admin
Tableau de bord de tous les articles avec filtres et actions rapides de gestion.
Actions :
- Créer un nouvel article →
/admin/blog/new - Modifier un article existant
- Publier ou dépublier un article
- Supprimer un article (avec confirmation)
- Filtrer par statut (publié, brouillon, archivé) ou catégorie
Éditeur d’article — /admin/blog/:id — Admin
Formulaire complet de rédaction et publication d’un article de blog.
Actions :
- Rédiger le contenu via l’éditeur riche
- Définir titre, slug (auto-généré), résumé, catégorie
- Uploader l’image de couverture
- Ajouter des tags
- Mettre en vedette l’article
- Publier ou sauvegarder en brouillon
Configuration des classes — /admin/classes — Admin
Vue en lecture seule des niveaux scolaires, spécialités et matières configurés dans le backend.
Actions :
- Consulter la structure pédagogique (niveaux, spécialités, matières) — lecture seule
Mapping n8n — /admin/n8n-mapping — Admin
Outil de consultation et création des clés de mapping qui connectent les demandes pédagogiques aux workflows n8n.
Actions :
- Rechercher une clé existante par niveau / spécialité / matière / type
- Créer une nouvelle clé de mapping
- Consulter les collections n8n disponibles
Erreurs
Page 404 — /:catchAll(.*) — Public
Page d’erreur affichée pour toute URL inconnue.
Actions :
- Retourner à l’accueil →
/