001 Diriger

Skilluv

Une plateforme de compétences construite en solo sur une architecture polyglotte, entourée d’une gouvernance publique. Bêta ouverte en janvier 2027.

Projet
2026 à aujourd’hui
Stack
Rust / Axum / SvelteKit / Python / gRPC / Redis / PostgreSQL
Dépôt
Skilluv

Skilluv est l’ensemble le plus vaste de cette archive, et le seul qui en traverse toutes les dimensions. Un backend Rust, un front et une administration en Svelte, et un service IA Python qui parle au cœur Rust en gRPC quand la réponse doit arriver tout de suite, et par une file Redis quand elle peut attendre. Le cœur, c’est 183 000 lignes de Rust, 4 544 tests répartis sur 233 fichiers et 468 migrations ; le service IA, environ 11 000 lignes de Python.

Le service IA fait le travail qui distingue la plateforme d’un catalogue de cours : génération de défis par un LLM, détection de plagiat combinant arbres syntaxiques et embeddings sur huit langages, appariement noté entre talents et entreprises, et traitement des rediffusions. Chacune de ses méthodes a un budget de latence écrit avant d’être servie : moins de quinze secondes en médiane pour une revue de code par un modèle, moins de deux secondes pour la détection de plagiat, qui est déterministe et ne doit rien à un modèle. Un dépassement bloque la mise en ligne au lieu d’être découvert par un apprenant.

Séparer l’administration du produit est la décision qui a structuré le reste. Une équipe d’exploitation et un apprenant n’ont presque rien en commun dans ce qu’ils ont besoin de voir, et les réunir aurait produit une interface durablement médiocre pour les deux.

Les dépôts de gouvernance comptent autant que le code. Une communauté devient gouvernable à partir du moment où ses décisions cessent de vivre dans des conversations privées.

La décision que j’ai reprise : je voulais que tout tourne sur mon propre serveur, jusqu’aux environnements de développement, à Blender et à Penpot. Ça marchait pour un utilisateur et pour aucun autre. J’ai arrêté à temps, mais tard, et c’est le genre d’ambition qui se juge sur ce que coûte le millier d’utilisateurs suivant, pas sur le fait qu’elle tienne debout le premier jour.

Architecture

Apprenant

SvelteKit

Administration

SvelteKit, build séparé

HTTP

Cœur Rust et Axum

183 000 lignes, 4 544 tests, 468 migrations

gRPC quand la réponse doit arriver tout de suite, file Redis quand elle peut attendre

Service IA Python

défis, plagiat sur huit langages, appariement, rediffusions

état et fichiers

PostgreSQL

Redis

Stockage objet

Le chemin immédiat et le chemin différé sont deux chemins, pas un seul avec un délai d’attente. Une revue de code prend une dizaine de secondes et quelqu’un l’attend devant son écran ; le traitement d’une rediffusion prend des minutes et personne ne doit attendre. Chaque méthode a un budget de latence écrit avant d’être servie, et un dépassement bloque la mise en ligne.

Page d’accueil de Skilluv : la date d’ouverture, un titre en deux temps et la promesse de la plateforme.
Une date d’ouverture en haut de page plutôt qu’une inscription à une liste. Annoncer un jour précis engage, et c’est la raison pour laquelle il est écrit là.
Section de Skilluv listant onze disciplines et cent vingt parcours, chaque discipline marquée d’un point de couleur.
Onze disciplines à plat, sans grille de cartes. La typographie porte la hiérarchie ; un point de couleur suffit à distinguer une discipline de la suivante.

Sommaire

002

Cœur d’API

Le service Rust et Axum auquel toutes les autres parties de la plateforme s’adressent.

Rust / Axum / PostgreSQL / Redis Skilluv/skilluv-backend

003

Application apprenant

La surface SvelteKit que les apprenants utilisent réellement.

SvelteKit / TypeScript Skilluv/skilluv-frontend

004

Panneau d’administration

Modération, catalogue et exploitation, tenus dans un build distinct plutôt que dans un recoin privilégié du produit.

SvelteKit / TypeScript Skilluv/skilluv-admin

005

Service IA

Génération de défis, détection de plagiat sur huit langages, appariement des talents et traitement des médias.

Python / gRPC / tree-sitter / sentence-transformers / ffmpeg Skilluv/skilluv-ia

006

Quatorze starters

Une implémentation de référence par filière, chacune un projet qui tourne plutôt qu’un gabarit.

Rust / Go / Python / TypeScript / Kotlin / Dart / Svelte / Astro / GDScript Skilluv

007

Gouvernance de la communauté

Quatre dépôts publics qui rendent visibles les décisions, les règles et les arrivées, au lieu de les laisser implicites.

RFC / Governance / Open source skilluv-community