Skip to content

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Root Camp — le jeu de revision TSSR

🏕️ Root Camp

De stagiaire à root@tssr — le jeu de révision de la promo TSSR

Démo en ligne

Questions Mini-TP Thèmes Stack Hébergement Backend


✨ Le concept

Réviser le titre professionnel TSSR (Technicien Supérieur Systèmes et Réseaux) en jouant : les cours de la promo sont transformés en 906 questions, un terminal simulé fait taper de vraies commandes Cisco/Bash/PowerShell, et le classement de promo entretient la motivation. Chaque question corrigée affiche une explication et sa fiche source — on apprend, on ne devine pas.

📸 Aperçu

Bienvenue Thèmes Examens À revoir Classement Profil
Écran de bienvenue Accueil — 10 thèmes Les 4 paliers d'examen Pile de révision Classement en temps réel Profil, grades et badges

🗺️ La progression

Tout se mérite : les niveaux se débloquent à 70 % de réussite, l'Atelier et les examens s'ouvrent quand les fondations sont posées.

flowchart LR
    subgraph Themes["📚 10 thèmes"]
        N1["Niveau 1<br>connaissance"] --> N2["Niveau 2<br>compréhension"]
        N2 --> N3["Niveau 3<br>application"]
        N3 --> N4["Niveau 4<br>analyse"]
    end
    N3 -.->|"niveau 3 en Réseaux,<br>Linux et Windows"| Atelier["🧪 Atelier TP<br>48 mini-TP terminal"]
    N1 -.->|"niveau 1 validé<br>partout"| P1["🎓 Examen palier 1"]
    P1 --> P2["Palier 2"] --> P3["Palier 3"] --> P4["Palier 4<br>épreuve finale"]
    P4 --> Root(["👑 root@tssr<br>8 000 XP"])
    Atelier --> Root
Loading

7 grades jalonnent la route : stagiairetechnicien juniortechnicien systèmesadministrateur junioradmin systèmes & réseauxexpert infrastructureroot@tssr.

🎮 Fonctionnalités

🃏 8 types de questions QCM, choix multiples, association, remise en ordre, champ libre, scénario de panne, terminal, mini-TP guidé
🖥️ Terminal réaliste prompts évolutifs (Switch#(config-vlan)#), autocomplétion Tab, historique ↑/↓, marqueur d'erreur ^ aligné comme sur un vrai IOS
⏱️ Examens blancs 4 paliers progressifs, 20 questions / 20 min, aucune fuite d'indice pendant l'épreuve, corrigé complet à la fin
🔁 Révision espacée chaque erreur part en pile « à revoir », sortie après 2 bonnes réponses d'affilée
💾 Checkpoint session sauvegardée à chaque question — on reprend plus tard, même sur un autre appareil
🏆 Gamification XP, 7 grades, 8 badges, classement de promo en temps réel
☁️ Comptes synchronisés pseudo + mot de passe, progression PC ↔ téléphone, mode invité 100 % local
⌨️ Accessible réponses au clavier (1-4 / A-D / Entrée), focus visible, ARIA

🏗️ Architecture

Application 100 % statique (aucun serveur à maintenir, coût d'infrastructure : 0 €) ; la partie en ligne repose sur Supabase, sécurisée par Row Level Security.

flowchart TB
    subgraph Client["🌐 Navigateur"]
        App["Application<br>HTML / CSS / JS vanilla"]
        LS[("localStorage<br>mode invité")]
        App <--> LS
    end
    Pages["GitHub Pages<br>hébergement statique"] -->|"HTML + JS +<br>banque JSON versionnée"| App
    subgraph Supabase["☁️ Supabase"]
        Auth["Auth<br>pseudo + mot de passe"]
        DB[("PostgreSQL + RLS<br>profiles · progress")]
    end
    App <-->|"session JWT"| Auth
    App <-->|"sync + classement"| DB
Loading

🚀 Lancer en local

python -m http.server 8123

puis ouvrir http://localhost:8123 — ou simplement double-cliquer Lancer-le-quiz.bat sous Windows. (Un serveur statique est nécessaire : les banques de questions sont chargées en fetch.)

🧱 Structure

index.html                  application monopage
css/style.css               thème « console » sombre
js/app.js                   moteur : sessions, examens, XP, badges, checkpoint
js/online.js                comptes, synchronisation, classement (Supabase)
questions/
├── manifest.json           thèmes + modules + version de la banque
└── <thème>/<module>.json   906 questions réparties en 28 modules
supabase/                   schéma SQL + durcissement (RLS, contraintes)
tools/validate_bank.py      validation structurelle de toute la banque

🧪 Qualité

  • Validateur automatique : python tools/validate_bank.py — schéma des 8 types, bornes des réponses, unicité des 906 identifiants, cohérence du manifest ;
  • banque versionnée : mise à jour des questions sans vider le cache de personne ;
  • questions sourcées : chaque question est reliée en interne à sa fiche de cours d'origine (traçabilité de la banque).

Un retour, un bug, une idée de question ? Ouvrez une issue — la promo améliore le jeu chaque jour. 🛠️

About

Jeu de revision du titre TSSR : 906 questions, terminal simule, examens blancs et classement de promo. Vanilla JS, Supabase, GitHub Pages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages