Cladèse documentation

Studio et catalogue

Deux façons d'alimenter la plateforme : le studio web, ou un dossier rangé sur le disque. Les deux arrivent au même endroit.

Le studio#

Le studio est réservé aux administrateurs. Le bouton Studio n'apparaît dans l'en-tête que pour eux ; un apprenant qui ouvre une adresse /studio est renvoyé au catalogue, et l'API refuse de toute façon ses écritures (403).

La page liste les formations, avec Nouvelle formation, l'édition, la suppression, et Comptes pour gérer les utilisateurs.

Studio : liste des formations avec nombre de chapitres et durée, boutons éditer et supprimer.

Éditer une formation#

Éditeur de formation : titre, chapitres en accordéon, médias avec leurs statuts et leurs actions.

Des pastilles indiquent l'état de chaque média : Conversion…, Transcription… et Résumé… avec leur pourcentage pendant le traitement, puis Transcrit et Résumé une fois prêts, ou Échec … en cas de problème.

Réordonner ne renomme rien L'ordre est stocké en base (colonne position). Les fichiers et dossiers gardent leur nom, ce qui garde stables les chemins, les transcriptions et les liens.

Conversion à l'import#

Quand un fichier téléversé n'est pas un .mp4 (vidéo) ou un .mp3 (audio), l'API l'enregistre, marque le média processing, et publie un job media_conversion. Le worker le passe dans ffmpeg vers MP4 H.264/AAC ou MP3. Pendant ce temps, le fichier source porte un marqueur .src et n'est pas listé au catalogue.

La décision se fonde sur l'extension, pas sur les codecs : un MP4 en HEVC est accepté tel quel. S'il ne se lit pas dans le navigateur, Convertir pour le web le ré-encode en H.264/AAC.

Les comptes#

Studio → Comptes liste les comptes, 25 par page, avec leur rôle et leur statut. Il n'y a pas d'inscription libre : c'est ici qu'un administrateur crée les accès.

Vous ne pouvez ni vous retirer le rôle admin, ni désactiver ou supprimer votre propre compte : l'instance ne peut pas se retrouver sans administrateur par erreur.

Premier administrateur Il est créé au démarrage de l'API depuis APP_FIRST_ADMIN_EMAIL et APP_FIRST_ADMIN_PASSWORD, s'il n'existe pas encore. Un redémarrage ne change pas son mot de passe. Pour ajouter un admin sans passer par l'interface : docker compose exec api e-learning-cli create-admin --email vous@example.com (le mot de passe est demandé). Voir Configuration.

Documents#

Ajouter un document dans un chapitre, avec un titre et un champ Associé à : une vidéo précise, ou Tout le chapitre. L'association se change ensuite depuis l'édition du document.

Extensions acceptées : .pdf, .md, .txt, .csv, .doc, .docx, .ppt, .pptx, .xls, .xlsx, .odt, .ods, .odp, .png, .jpg, .jpeg, .webp, .gif, .svg. Les PDF, DOCX, Markdown, texte et CSV sont aussi indexés pour l'assistant.

Le catalogue sur disque#

Tous les médias vivent sous APP_VIDEOS_PATH (VIDEOS_HOST_PATH côté hôte), avec trois niveaux :

videos/
└── SQL pour les débutants/            ← formation
    ├── 01 - Premiers pas/             ← chapitre
    │   ├── 01 - Installer Postgres.mp4
    │   ├── 01 - Installer Postgres.txt    transcription (générée)
    │   ├── 01 - Installer Postgres.md     résumé (généré)
    │   ├── 01 - Installer Postgres.pdf    document, rattaché à la vidéo
    │   └── 02 - SELECT.mp4
    └── 02 - Les index/
        ├── 01 - B-tree.mp4
        └── Mémo.pdf                       document du chapitre

Réconcilier#

Après avoir ajouté, renommé ou supprimé des fichiers à la main :

docker compose exec api e-learning-cli reconcile

Le chemin relatif de chaque fichier est la clé de rapprochement entre disque et base. Les identifiants (UUIDv7) des éléments déjà connus ne changent pas, donc la progression et les notes des apprenants sont préservées.

Des fichiers qui ne se lisent pas dans un navigateur ? Convertissez-les en lot :

docker compose exec api e-learning-cli convert --glob 'SQL pour les débutants/**/*.*'
docker compose exec api e-learning-cli reconcile