jules@halfnil:~$ cat ~/blog/pourquoi-mon-portfolio-est-un-terminal.md

Pourquoi mon portfolio est un terminal.

Un thème ne suffit pas — il faut le tenir jusqu'au bout. Comment le portfolio est passé d'un décor « terminal » à un terminal où on peut vraiment taper.

23 juillet 2026 · 2 min ·

La première version de mon portfolio ressemblait à tous les portfolios : un hero, des cartes, un bouton contact. Correct, oubliable. Pour la v2, je voulais un objet qui me ressemble. Et l'endroit où je passe mes journées, c'est un terminal.

## Le piège du thème-décor

Le problème des portfolios « terminal », c'est qu'ils s'arrêtent au costume : une police mono, un fond sombre, un $ devant les titres. Ma v2 a commencé comme ça aussi — un faux terminal dans le hero qui rejouait des lignes préenregistrées. Joli, mais mensonger : on promet une interface, on livre une brochure.

Le déclic est venu d'une critique simple : on ne peut rien taper nulle part.

## Rendre le terminal réel

Alors je l'ai rendu réel. Ctrl+K (ou /) ouvre une palette qui est un vrai petit shell :

$ help
$ ls projets
$ cd contact
$ whoami
$ sudo hire-me

Avec autocomplétion au Tab, historique aux flèches, et des commandes qui font ce qu'elles disent — cd projets navigue vraiment, sudo hire-me ouvre la page contact avec un clin d'œil. C'est ~300 lignes de React, sans dépendance : un tableau de commandes, un état pour l'historique, router.push pour naviguer.

## La cohérence, jusque dans les détails

Une fois le principe posé, tout le site le suit :

  • chaque page s'ouvre sur sa commande (cat ~/about.md, git log --oneline, tree ~/projets) ;
  • ma photo est affichée dans une fenêtre $ feh ~/jules.png, en duotone pour rester dans la palette ;
  • le parcours est un git log, les projets un tree, le CV se télécharge avec ./télécharger --pdf.

Le mono ne fait pas tout : les très gros titres sont en Space Grotesk — une sans dérivée de Space Mono, donc de la même famille d'idées. Le mono reste la voix de l'interface, la display porte les titres.

## Ce que je retiens

Un thème n'est pas une palette de couleurs, c'est une promesse. Si le site dit « terminal », il faut qu'on puisse taper dedans. La différence entre un décor et une signature, c'est l'interaction.

## Pour aller plus loin