Aller au contenu principal
Freelance — SaaSE-learningRGPDSolo Dev
ScormPilot logo

ScormPilot

Plateforme SaaS de gestion et diffusion de modules SCORM

Produit conçu, développé et mis en production en solo. Alternative simple aux LMS rigides pour les organismes de formation : versioning, multi-diffusion, analytics, multi-tenant. Plusieurs milliers de players quotidiens, dizaines de clients actifs.

100%

Solo

Conception à production

Milliers

de players quotidiens

7

Apps

Monorepo Turborepo

99.9%

Uptime

Dizaines

de clients actifs

Multi-tenant SaaS B2B · RGPD conforme · Hébergement 100% européen · SCORM 1.2 & 2004 · Tours, France

Contexte

Le projet

Le problème

Les organismes de formation qui vendent des modules SCORM n'ont aucun contrôle une fois le fichier ZIP envoyé au client. Les LMS sont rigides, coûteux et surdimensionnés pour la simple diffusion de contenus e-learning.

La solution

ScormPilot centralise les modules SCORM et permet leur diffusion multi-canal (lien, iframe, SCORM connecté, Teams). L'organisme garde le contrôle sur le versioning, les accès et les analytics de ses contenus.

Mon rôle

Conception produit, architecture, développement de 7 applications (API, dashboard, player, runtime, Teams, status page), infrastructure cloud et mise en production. Tout en solo, du premier commit a la premiere facture.

Résultats

MVP robuste livré en 3 mois. Adopté par une dizaine d'organismes de formation, plusieurs milliers de players quotidiens, dizaines de clients actifs. Produit en croissance continue avec un modèle SaaS récurrent.

Aperçu

L'application en images

Dashboard admin, gestion des modules, suivi des clients et analytics détaillées par module.

Fonctionnalités

Ce que j'ai construit

Dashboard analytics, gestion multi-tenant, diffusion multi-canal et runtime SCORM custom. Un produit complet déployé en production.

Dashboard Analytics

Tableau de bord complet avec KPIs en temps réel : nombre d'utilisateurs, taux de complétion, score moyen, durée moyenne, tendance des lancements. Filtrage par client et par date.

Gestion des Modules

Upload, versionning et pilotage à distance des fichiers SCORM. Remplacement de la source sans recharger côté client, tracking des progressions par module.

Multi-diffusion

Quatre modes de diffusion : lien unique, code iframe, SCORM connecté (tracker injecté), application Microsoft Teams. Le client choisit son canal.

Multi-tenant

Chaque client dispose d'un pool d'utilisateurs isolé via Firebase Identity Platform. Trois modes d'authentification : email, anonyme, LMS.

RGPD & Sécurité

Hébergement 100% européen (GCP Belgique, DigitalOcean Frankfurt). Aucune donnée personnelle superflue collectée, serveurs dédiés par organisme.

SCORM Player & Runtime

Player React avec mode démo et login LMS. Runtime vanilla TypeScript : orchestration SCORM complète, monitoring de connexion, observation des commits.

Infrastructure Production

CI/CD GitHub Actions, containers Docker sur Cloud Run, PostgreSQL managé, Firebase Auth/Storage. Status page sur Cloudflare Workers. 99.9% uptime.

Internationalisation

Dashboard admin avec next-intl, player SCORM avec i18next. Interface disponible en français et anglais, extensible à d'autres langues.

Architecture

Décisions techniques

Une architecture hexagonale avec DDD, pensée pour la scalabilité et l'isolation multi-tenant des données.

Architecture Hexagonale

Séparation stricte domain / application / infrastructure. 4 bounded contexts (Organisme, Client, Module, Plan), 22 use cases, 25+ value objects, 7 ports d'abstraction.

Monorepo Turborepo

7 apps (API Fastify, Dashboard Next.js, Player React, Runtime SCORM, Teams App, App Builder, Status Page) et 5 packages partages (drizzle, libs, types, ui, config).

Multi-tenant & Auth

Firebase Identity Platform avec tenant dédié par client. Trois modes d'auth (email, anonyme, LMS). Validators domaine pour l'isolation des données entre organismes.

DI & Qualite

InversifyJS pour l'injection de dépendances. Validation Zod au démarrage (env vars). Containers Docker non-root, secrets validés au boot.

Stack technique

Technologies utilisées

Next.js 16
React 19
Vite 7
Tailwind CSS 4
TanStack Query
Fastify 5
Drizzle ORM
PostgreSQL 16
InversifyJS
Zod
Firebase
Google Cloud Run
Docker
Turborepo
GitHub Actions
Cloudflare Workers
Hexagonal Architecture
DDD
SCORM

Questions fréquentes sur ce projet

Les questions que mes clients m'ont posées sur cette mission.

Pourquoi 5 applications séparées et pas un monolithe ?
+
Chaque app a un cycle de release différent : API et dashboard évoluent vite, lecteur SCORM doit être ultra stable (clients = organismes de formation), runtime SCORM doit fonctionner offline, app Teams doit suivre les contraintes Microsoft.
Multi-tenancy, comment c'est implémenté ?
+
Schema-per-tenant PostgreSQL avec migration automatique à l'onboarding client. Isolation forte des données (exigence des organismes de formation pour leurs apprenants).
Combien de joueurs supportés en production ?
+
Plusieurs milliers de sessions quotidiennes au moment du lancement. Architecture pensée pour scale horizontal sans intervention manuelle.
Tu as livré ça vraiment seul ?
+
Oui, en solo de juin 2025 à aujourd'hui. Stack moderne + Clean Architecture + CI/CD = un dev autonome peut livrer un SaaS multi-app. C'est la promesse de mon offre développement SaaS.