Plan 9 : la renaissance discrète de l'OS de légende qui redéfinit le web
Wanix : un système Unix qui tourne dans votre navigateur
Tu te souviens du temps où faire tourner une VM Linux nécessitait de provisioning une instance cloud, souvent facturée à l'heure ? Et si je te disais que tu peux maintenant démarrer un environnement Alpine Linux complet dans ton navigateur, sans rien provisionner côté serveur ?
C'est exactement ce que propose Wanix. Et après l'avoir testé, je suis persuadé que c'est le genre de projet à surveiller de près.
De quoi parle-t-on exactement ?
Wanix, c'est un environnement de type Unix qui vit entièrement dans le browser. Pas de serveur, pas de cloud. Tout s'exécute côté client.
On pourrait le décrire comme un mini système d'exploitation inspiré de Plan 9, logé dans une page web. Il t'offre des namespaces par processus, un shell véritable (rc, le shell de Plan 9), et la célèbre philosophie "tout est un fichier". Le tout en sandbox, côté client, sous ton contrôle.
La magie repose sur des web components personnalisés. Besoin d'un terminal ? Tu ajoutes <wanix-term>. Un shell ? <wanix-task>. Tu veux te lancer dans l'aventure ? <wanix-vm> te permet de faire tourner une VM Linux via v86. Tout ce petit monde communique via un système de namespaces qui rappelle furieusement ce que fait Plan 9.
Pourquoi Plan 9, concrètement ?
Plan 9 from Bell Labs, c'était le projet de succession d'Unix, sorti au milieu des années 90 par les laboratoires Bell. Ça n'a jamais décollé commercialement, mais le système introduisait des idées véritablement en avance sur leur temps :
- Des namespaces par processus : chaque processus possède sa propre vision du système de fichiers
- Les répertoires union : tu peux superposer plusieurs sources filesystem en une seule vue
- Tout est un fichier : périphériques, processus, connexions réseau — tout s'accède via le filesystem
Ces concepts étaient radicaux en 1995. Ils sont parfaits pour le développement web en 2024. Pourquoi ? Parce que le web moderne a de plus en plus besoin d'exécuter de la logique complexe côté client tout en maintenant une isolation stricte. Le modèle de namespaces de Plan 9 t'offre exactement ça — un contrôle granulaire sur ce que chaque "processus" (ou tâche, ici) peut voir et atteindre.
Des cas d'usage qui tiennent la route
Assez de théorie. Qu'est-ce que tu peux vraiment faire avec ?
Des environnements de dev en sandbox : imagine un workspace de développement complet qui vit dans un onglet. Tu modifies des fichiers dans un éditeur inspiré de VS Code, tu lances tes commandes de build dans un vrai shell, sans toucher à ta machine locale. Parfait pour les sessions de pair programming, les environnements temporaires, ou pour donner accès à des espaces de code isolés à des prestataires.
Des tests cross-browser sans le cloud : boot différentes distributions Linux et teste ton logiciel contre plusieurs configurations — tout en local. Plus besoin d'attendre des runners CI ou de payer des services de browser testing.
Des opérations fichiers local-first : Workbench te donne un IDE complet basé sur le namespace Wanix. Mais le plus intéressant, c'est que tu ne travailles pas que sur des fichiers locaux. Tu peux aussi modifier des fichiers sur des namespaces distants. Tu combines un namespace local avec un distant, et soudain tu travailles sur l'environnement de quelqu'un d'autre, en collaboration temps réel via le filesystem.
Du sandboxing éducatif : enseigne les concepts Unix, l'administration système ou les fondations des conteneurs sans craindre que les étudiants cassent (accidentellement ou non) des systèmes de production. La sandbox, c'est l'onglet du navigateur lui-même.
Du côté technique
Pour les curieux, Wanix fonctionne grâce à une combinaison maligne de technologies :
- WebAssembly pour exécuter du code natif-like dans le navigateur
- Des web components personnalisés qui abstrait la complexité (les tags
<wanix-*>) - Du namespace binding qui te permet de monter des fichiers, des archives, voire d'autres namespaces dans ton environnement
- 9P over WebSocket pour l'accès aux namespaces distants — oui, le même protocole que Plan 9 utilisait en 1995
La beauté réside dans la simplicité. Trois tags suffisent pour avoir un shell qui marche. Cinq tags te donnent un IDE complet avec accès terminal. Les composants se combinent naturellement, suivant la philosophie Unix du "fais une chose, fais-la bien".
Ce que ça implique pour le développement web
On assiste à un changement intéressant. Pendant des années, la tendance était "tout dans le cloud". Mais une reconnaissance grandissante émerge autour des avantages du calcul côté client : latence réduite, coûts serveur en moins, meilleure disponibilité offline, et respect de la vie privée (les données ne quittent jamais ta machine).
Wanix s'inscrit pleinement dans ce paradigme local-first. Ce n'est pas le remplacement de l'hébergement cloud — soyons réalistes — mais ça explore un espace que les architectures traditionnelles n'adressent pas facilement. Si tu construis des outils pour développeurs, des applications collaboratives ou des plateformes éducatives, cette approche mérite ton attention.
Les équipes de Plan 9 résolvaient des problèmes de computing distribué en 1995 qu'on gère encore aujourd'hui. Il s'avère que le futur ressemble parfois beaucoup au passé.
Tu veux expérimenter ? Le CDN rend l'ajout de Wanix à n'importe quelle page terriblement simple. Mais un avertissement : une fois que tu auras booté ta première VM Linux dans le navigateur, tu risques de tomber dans un terrier très intéressant.