Développement
Lancer chaque application, vérifier la qualité, régénérer les captures et la vidéo de démonstration.
Environnement#
La procédure hors Docker est dans Installation : infrastructure en conteneurs, API, worker et front en local.
API#
cd e-learning-api
uv sync --group ai --group dev
uv run pytest tests/unit/ # rapides, sans dépendance externe
uv run pytest tests/integration/ # Docker requis (testcontainers)
uv run ruff check .
uv run ruff format .
uv run mypy # mode strict
uv run lint-imports # règles d'architecturelint-imports vérifie deux contrats : les couches
presentation → infrastructure → application → domain, et un domaine
sans FastAPI, SQLAlchemy ni Pydantic. Voir Architecture.
Front#
cd e-learning-front
npm ci
npm run dev # Turbopack, http://localhost:3000
npm run lint
npm run buildPas de framework de test côté front pour l'instant. Tout le style passe par
MUI, sans Tailwind ; le thème est dans src/app/theme-provider.tsx.
Mobile#
cd e-learning-mobile
cp .env.template .env
flutter pub get
flutter analyze
flutter testCaptures et vidéo de démonstration#
Les images et la vidéo de ce site sont produites par des scripts Playwright
dans dev-tools/media/. Ils pilotent un front en cours d'exécution,
créent au besoin une formation de démonstration avec des médias synthétiques, et
produisent captures PNG, une vidéo MP4 et un GIF.
cd dev-tools/media
npm run setup # Playwright + Chromium
npm run seed # formation de démo via l'API (ffmpeg requis)
npm run shots # → out/shots/*.png
npm run video # → out/video/raw.webm (brut)
npm run encode # → demo.mp4, demo.gif, poster.png
npm run promote # copie la sélection dans docs/assets/media/Le mode d'emploi complet, les variables et les précautions avant publication
sont dans dev-tools/media/README.md.
Ce site#
HTML statique dans docs/, une seule feuille de style, aucune
dépendance : ni générateur, ni police externe, ni script. Il s'ouvre directement
depuis le disque et se publie tel quel sur GitHub Pages
(Settings → Pages → Deploy from a branch → main / /docs).
Le fichier .nojekyll désactive le traitement Jekyll.
Pour ajouter une page : copier une page existante, mettre à jour
aria-current dans la navigation, et reporter le lien dans la
navigation de toutes les pages ainsi que dans les liens « précédent / suivant ».
Cladèse