L'existant OCF
Ce qu'est la plateforme aujourd'hui, sa stack, ses dépôts, et ce qui est hors périmètre.
Vous arrivez sur une base de code que vous ne connaissez pas. Cette page vous donne les repères pour ne pas vous perdre, pas une description exhaustive : c’est à vous d’aller voir.
Ce que fait OCF
Open Course Factory est une plateforme de provisioning de machines virtuelles Linux éphémères pour la formation technique, éditée par Labinux. Un formateur crée un environnement, les apprenants y accèdent depuis leur navigateur. Aujourd’hui, cet accès se fait en terminal.
La stack
- Backend en Go avec le framework Gin, API documentée en Swagger
- Frontend en Vue.js, avec un système de thème clair/sombre déjà en place
- Authentification via Casdoor (JWT) et permissions via Casbin
- Base de données PostgreSQL
- Génération de supports de cours via Slidev (voir « hors périmètre » plus bas)
Les dépôts
Le code est hébergé sur le GitLab de Solution Libre, dans le groupe usine.solution-libre.fr/open-course-factory, en accès libre. Trois dépôts vous concernent :
- OCF Core : l’API Go, le cœur de la plateforme (exigence 1).
- OCF Front : l’interface Vue.js, avec le système de thème (exigence 3).
- tt-backend (sous-groupe Terminal-Trainer) : le backend qui porte l’accès terminal actuel (point de départ de l’exigence 2).
Ce qu’il faut savoir avant de plonger dans OCF Core
- C’est un projet actif : près de 1900 commits et 150 releases. Ne cherchez pas à tout lire.
- Le dossier
/documentationcontient une vingtaine de fichiers orientés développement (Stripe, webhooks, permissions, etc.). Il n’y a pas de documentation d’administration ni d’installation client dans le dépôt. - Des fichiers
.claude/et.planning/codebase/existent dans le dépôt. Ils décrivent la base de code et sont exploitables comme corpus, au même titre que le README. - La documentation utilisateur publique est sur ocf.labinux.com/help-public.
Hors périmètre : la partie « cours »
OCF contient un module de génération de supports de cours (Slidev, anciennement Marp). Ce module est désactivé par feature flag et n’a jamais été proposé au public. Il possède son propre système de thème, par héritage via un fichier extends.json.
Ce système de thème n’a rien à voir avec le thème clair/sombre de l’interface web. L’exigence 3 (marque blanche) porte sur l’interface, côté OCF Front. Si vous tombez sur extends.json en explorant le code, vous êtes au mauvais endroit.
Comment lire ce corpus
Lisez pour répondre aux trois exigences, pas pour comprendre OCF en entier. Pour chaque exigence, la question est la même : qu’est-ce qui existe déjà, qu’est-ce qui manque, et qu’est-ce que ça coûte de combler l’écart ?