Présentation
Une plateforme e-learning open source et auto-hébergée, avec une couche IA intégrée aux formations.
Catalogue → formation → assistant → lecteur, résumé, notes et documents → studio.
Cours filmé : les présentations officielles des versions de Blender, publiées sur la chaîne YouTube de Blender et réutilisées sous licence Creative Commons Attribution.
Cladèse repose sur trois piliers :
- E-learning. Des formations découpées en chapitres, avec leçons vidéo ou audio et documents ; progression et notes horodatées pour chaque apprenant ; un studio pour construire les formations.
- Auto-hébergement. Toute la pile se déploie avec Docker Compose ; médias, base et index restent sur votre infrastructure.
- IA. Transcription des leçons, résumés et assistant par formation qui cite ses sources, avec le modèle de langage de votre choix, local ou distant.
Pour qui#
Pour un usage personnel (suivre sa bibliothèque de cours) ou une équipe (formations internes, onboarding). Chaque personne a un compte avec mot de passe, créé par un administrateur ; seuls les administrateurs accèdent au studio. Ce n'est pas un LMS commercial : pas d'inscription libre, pas de SSO, pas de droits par formation, pas de vente ni de certification. Le détail est sur la page d'accueil.
Le projet se compose de trois applications et d'une poignée de services :
| Dossier | Rôle | Technologie |
|---|---|---|
e-learning-api/ | API REST, stream des médias, CLI et worker de jobs | FastAPI, SQLAlchemy async, Python 3.14 |
e-learning-front/ | Interface apprenant et studio | Next.js 16, React 19, MUI 7 |
e-learning-mobile/ | Application apprenant | Flutter, Riverpod |
docker-compose.yml | PostgreSQL, RabbitMQ, Qdrant, migrations, API, worker, front | Docker Compose |
scripts/backup.sh | Sauvegarde et restauration de la base | Bash, pg_dump |
Fonctionnalités#
- Parcours apprenant
Catalogue, reprise de lecture, progression, notes horodatées, documents.
- Studio
Formations, chapitres, téléversement, réordonnancement, conversion ffmpeg.
- Catalogue sur disque
Les fichiers restent lisibles dans un dossier ; la base se réconcilie avec lui.
- Transcription et IA
Transcription, résumés de leçon, questions sur la formation avec sources.
- Mobile
Le parcours apprenant en application native.
- Exploitation
CLI, worker, migrations, sauvegardes.
Le modèle en une minute#
- Formation → Chapitre → Vidéo / Document. L'ordre est une
colonne
positionen base : réordonner ne renomme aucun fichier. - Un apprenant = un compte. Email et mot de passe, rôle apprenant ou administrateur. Le compte porte la progression, les notes et la consommation IA ; seuls les administrateurs modifient le catalogue.
- Les traitements lourds sont des jobs. Conversion, transcription, résumé et indexation passent par RabbitMQ et un worker ; l'interface affiche leur avancement.
- Transcriptions et résumés sont des fichiers. Ils sont
écrits à côté du média (
leçon.txt,leçon.md), donc versionnables, éditables, et portables d'une instance à l'autre.
Démarrage rapide#
git clone https://github.com/EdwinAlkins/e-learning.git
cd e-learning
cp .env.template .env
# Dans .env : APP_SECRET_KEY (openssl rand -hex 32),
# APP_FIRST_ADMIN_EMAIL et APP_FIRST_ADMIN_PASSWORD
docker compose up -d --build
# → http://localhost:3000, connexion avec le compte adminL'API refuse de démarrer tant que la clé et le mot de passe admin gardent leur valeur d'exemple. Aucun modèle d'IA n'est requis pour démarrer ; résumés et assistant s'activent quand vous en branchez un.
Cladèse