Cladèse documentation

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'architecture

lint-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 build

Pas 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 test

Captures 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 ».