From 38da80c2df5778cd55b79cb950836ec04ef1bb0a Mon Sep 17 00:00:00 2001 From: "Thierry V." <46031203+thierryvm@users.noreply.github.com> Date: Tue, 29 Sep 2026 23:18:54 +0200 Subject: [PATCH] docs(roadmap): announce a customising-the-terminal module Idea from @thierry: the profile file, aliases and functions, a prompt that shows the folder, the git branch and the Node version, colours, then Starship and Oh My Posh, with the practice terminal showing the learner's prompt live. Listed as planned on the public roadmap and in docs/ROADMAP.md, whose banner is brought up to #401; CHANGELOG, STORY. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + STORY.md | 2 ++ docs/ROADMAP.md | 5 +++-- src/app/data/landingContent.ts | 8 ++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b86263..5754e50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - **Un aperçu de terminal fidèle.** L'animation de la page d'accueil montrait sous Windows des réponses de bash, et sous Linux un `ls` qui ajoutait des `/` et ne triait pas. Elle reprend maintenant ce qu'affichent un vrai bash, zsh et PowerShell 7 (le tableau `Path` de `Get-Location`, `Test-Path` qui répond `True`), et l'invite suit le dossier courant après `cd projects`. - **Le bon résumé des modules.** « Du système de fichiers à la redirection de flux — deux niveaux » datait des débuts : le parcours va aujourd'hui jusqu'à Git et à l'IA, sur cinq niveaux. - **Une feuille de route à jour.** Les vraies branches Git, le guide d'installation de l'app et les exemples expliqués de la Référence passent dans « Disponible ». « En cours » annonce ce qui reste vraiment à faire : les exercices en plusieurs étapes, et les commandes enseignées que le terminal ne simule pas encore (`find`, `sort`, `diff`, `tar`…). +- **Un nouveau module annoncé : personnaliser son terminal.** Le fichier de profil, les alias, une invite qui montre le dossier, la branche Git et la version de Node, puis Starship et Oh My Posh. Le terminal d'exercice affichera en direct l'invite que l'élève construit. --- diff --git a/STORY.md b/STORY.md index f27ec57..89738c0 100644 --- a/STORY.md +++ b/STORY.md @@ -27,6 +27,8 @@ Thierry m'a demandé de vérifier que la page d'accueil reflète ce qui existe v La correction tient en deux gestes : ne garder que des commandes enseignées qui fonctionnent, et ajouter un test qui exécute chaque commande affichée. La prochaine promesse non tenue fera échouer la vérification avant d'arriver en ligne. +Le même soir, Thierry a proposé une idée : apprendre à personnaliser son terminal, comme il l'a fait avec son propre PowerShell (couleurs, dossier, projet, branche Git, version de Node). C'est souvent là qu'un débutant commence à se sentir chez lui. Le module est annoncé dans la feuille de route publique ; il viendra après les exercices en plusieurs étapes, dont il a besoin pour vérifier l'invite que l'élève construit. + Au passage, le même test a mis au jour une dette plus profonde. Une vingtaine de commandes sont expliquées dans les leçons sans exister dans le terminal : `find`, `sort`, `diff`, `tar`, `Where-Object`… La feuille de route publique le dit maintenant, dans « En cours ». --- diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index e7de04d..5f5e15e 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,8 +1,8 @@ # Roadmap — Terminal Learning -> **Last updated:** 26 September 2026 CEST — 🩺 **Full check-up (P1 terminal fidelity, THI-353)**: #389 a real shell layer (`;` `&&` `||`, pipelines, every redirection) — **198/198 exercises validate with no red line**; #390 output matches a real shell (`pwd`, `cd -`, `ls` in a pipe, `wc`, `apt`); #391 permanent replay of every lesson's theory (754 commands); #392 `cp`/`mv` into a directory (a `mv file .` wiped the home directory) and native Windows paths in PowerShell — theory gaps **174 → 162**, bash shown on Windows **39 → 37**; #393 audit agents refreshed (13 Opus / 8 Sonnet) + new `terminal-fidelity-auditor` (simulator vs real bash / PowerShell). Public landing roadmap corrected (LTI is a disabled spike, OpenAI BYOK blocked by CORS). Next: PowerShell error messages, `/app/reference` pedagogy, remaining theory gaps (Git history, `gh`, jobs). +> **Last updated:** 29 September 2026 CEST — 🩺 **Full check-up (P1 terminal fidelity, THI-353), continued**: #396 every reference example runs · #397 tables, blank lines and mobile keys · #398 the installed app clears iOS 26's edge blur · #399 git reads real files, outputs match Git 2.56 · **#400 real git branches** (commit graph, ids identical to real git, merges and real conflicts; two fidelity audits, two code reviews) · #401 the landing page only lists commands the terminal runs and the lessons teach, and its terminal preview prints what real shells print. Planned: a **customising the terminal** module (idea from @thierry). Next: multi-step exercises validated on the terminal state, then the ~20 commands taught but not simulated yet (`find`, `sort`, `diff`, `tar`, `Where-Object`…). > -> **Previous update (24 September 2026 CEST)**: 🩺 **Full check-up (resumed)**: P0 shipped — #383 dependencies (react-router 7.18.4, npm audit 41 → 24, 0 critical) + #384 THI-340 (age proof stamped on every OAuth return path). P1 terminal fidelity (THI-353) in progress — #385 per-lesson starting state, #386 monospace ligatures off (checked on a real iPhone, THI-354), #387 scripts / `$PROFILE` / ExecutionPolicy / `chmod`: exercises validating despite an error **44 → 3**. Next: redirections (`2>`, `>`, `tee`), theory ↔ terminal gaps, then the "no validation on error" guard. +> **Previous update (26 September 2026 CEST)**: 🩺 **Full check-up (P1 terminal fidelity, THI-353)**: #389 a real shell layer (`;` `&&` `||`, pipelines, every redirection) — **198/198 exercises validate with no red line**; #390 output matches a real shell (`pwd`, `cd -`, `ls` in a pipe, `wc`, `apt`); #391 permanent replay of every lesson's theory (754 commands); #392 `cp`/`mv` into a directory (a `mv file .` wiped the home directory) and native Windows paths in PowerShell — theory gaps **174 → 162**, bash shown on Windows **39 → 37**; #393 audit agents refreshed (13 Opus / 8 Sonnet) + new `terminal-fidelity-auditor` (simulator vs real bash / PowerShell). Public landing roadmap corrected (LTI is a disabled spike, OpenAI BYOK blocked by CORS). Next: PowerShell error messages, `/app/reference` pedagogy, remaining theory gaps (Git history, `gh`, jobs). > > **Previous update (6 June 2026 CEST)**: full pre-pause audit (security-auditor 9.4/10, 0 CRITICAL) — see CHANGELOG. > @@ -155,6 +155,7 @@ Full-stack developer path — 11 modules ✅ (66 lessons, 1035 unit tests) - vim: modes, navigation, edit, save, quit, config (`.vimrc`) - neovim: intro, plugin ecosystem (lazy.nvim), developer workflow - [ ] **Full dedicated courses** (long-term vision): Git deep-dive, Docker, shell scripting masterclass +- [ ] **Customising the terminal** (idea from @thierry, 29 September 2026; after "Variables & Scripts"): the profile file (`$PROFILE`, `~/.bashrc`, `~/.zshrc`), aliases and functions, writing one's own prompt (`PS1`, PowerShell's `prompt` function) with the folder, the git branch and the Node version, ANSI colours, then Starship (one config for bash, zsh and PowerShell) and Oh My Posh. The practice terminal shows the prompt the learner builds, live; an "export my config" button gives the real profile to copy. Includes the security lesson of `curl … | sh` / `iex (irm …)` installers. Needs multi-step exercises validated on the terminal state first. Installing Starship or Nerd Fonts cannot happen in the browser: the lessons simulate the configuration's effect. ## Phase 5b — Exercise Quality Uplift + CBE Foundation 🔮 diff --git a/src/app/data/landingContent.ts b/src/app/data/landingContent.ts index 71f9633..0831a77 100644 --- a/src/app/data/landingContent.ts +++ b/src/app/data/landingContent.ts @@ -143,6 +143,14 @@ export const ROADMAP_IN_PROGRESS: readonly RoadmapGroup[] = [ ]; export const ROADMAP_PLANNED: readonly RoadmapGroup[] = [ + { + group: 'Personnaliser son terminal', + items: [ + 'Profil, alias et fonctions ($PROFILE, .bashrc, .zshrc)', + 'Une invite qui montre le dossier, la branche Git, la version de Node', + 'Couleurs, Starship et Oh My Posh, et ta config à emporter', + ], + }, { group: 'Internationalisation', items: [