
04 — Plateforme web open source
Z01EXAM
S'entraîner aux examens Zone01 dans les vraies conditions.
Contexte
Sujets, éditeur dans le navigateur, exécution et tests côté serveur, mode examen et leçons guidées.
RôleProjet communautaire et non officiel, réalisé avec des collègues de promo : organisation par tickets sur un kanban partagé, avec un bot Discord relié à GitHub.
Ce que j’ai construit
- 4 langages : Go, JavaScript, Rust, Java
- 175 exercices (61 Go, 31 JS, 38 Rust, 45 Java), filtrables par niveau (N1 à N10)
- Éditeur intégré avec coloration syntaxique et numéros de ligne, panneaux redimensionnables
- Exécution et tests côté serveur (/api/run) avec retour dans une console
- Mode Exam (choix libre), True Exam (suite de 10 exercices imposés, comme le vrai examen), Learning (34 leçons guidées en Go pour réviser avant de coder)
- Badge de version (commit déployé) visible dans l'interface
Défis techniques
- Exécuter du code soumis en toute sécurité : chaque soumission tourne dans un conteneur Docker isolé, sans réseau, avec des limites de mémoire et de processus, un système de fichiers temporaire et les capacités Linux retirées
- Une architecture qui se découpe : le serveur peut se déployer en trois services indépendants (Web, Catalogue, Runner) tout en gardant un mode monolithique par défaut
- Un déploiement automatique : à chaque fusion sur main, une fois la CI verte, la nouvelle version est construite, testée et mise en service, avec retour arrière automatique
175
exercices4
langages34
leçonsStack
Go 1.22 (bibliothèque standard) · HTML · CSS · JavaScript natif · marked · Docker · GitHub Actions · Render