11/09/2026

Trynix – Testez des classiques Linux sans rien installer

Par admin

Trynix - Testez des classiques Linux sans rien installer

Vous voulez vérifier un truc dans une vieille version de Python, du genre celle de 2017, histoire de voir si le bug que vous traquez vient de là. Normalement ça veut dire chercher une image Docker ou un vieux binaire de python, pour faire vos tests. Mais avec trynix, vous cliquez un lien et hop, vous avez un shell avec votre outil.

Ce site est signé Farid Zakaria, qui bricole autour de Nix depuis des années et appelle ça son « magnum opus« . En gros, une machine Linux x86_64 démarre dans votre onglet, avec le paquet demandé déjà accessible dans le PATH. Rien à installer et pas de compte à se créer, ça marche direct dans le browser.

J’ai essayé ce matin avec

python3 en version 3.6.2

. Le navigateur va chercher les chemins du store, vérifie leurs signatures, et au bout d’une trentaine de secondes le prompt s’affiche. Je tape alors python3 --version, il me répond Python 3.6.2, avec la glibc 2.25 et l’OpenSSL 1.0.2l de l’époque livré avec. Et voilà comment je me retrouve avec un Python de 2017 dans un Chrome de 2026, sans rien toucher à ma machine.

Le terminal de la machine virtuelle, dans l’onglet : Python 3.6.2 répond, et les seize chemins du store sont vérifiés juste au-dessus.

Et ce ne sont pas trois démos préparées à l’avance puisque l’index recense les 310 000 et quelques versions que nixpkgs a livrées en treize ans. Toutes ne démarrent pas, attention, il n’y en a que 274 729 avec un binaire x86_64 dans le cache, et le reste est non libre, cassé, ou hors du lot.

Ce qui rend la chose possible, c’est en fait une simple ligne d’en-tête HTTP. Le cache binaire de Nix sert un access-control-allow-origin: *, donc votre navigateur a le droit d’aller y piocher tout seul. Et le plus drôle, c’est que Zakaria avait lui-même réclamé cet en-tête en 2021, pour un tout autre projet. Et 5 ans plus tard, il s’en sert pour démarrer des machines virtuelles… Qui aurait pu prédire comme dirait l’autre !

Pour l’émulation, après il n’a rien réinventé. Il a tout simplement repris prend

qemu-wasm

, le QEMU compilé en WebAssembly de ktock, et la machine virtuelle ne boote même pas vraiment, mais reprend un instantané figé à l’avance. En tout cas, c’est bien pensé et très pratique.

Du Linux dans un navigateur, je vous avais d’ailleurs déjà montré ça ici avec

cette machine virtuelle x86

. Sauf que ces trucs-là chargent une image figée à l’avance, alors qu’ici, on choisit vraiment son contenu en 1 clic.

Niveau vitesse, le projet annonce un lancement en 3 secondes, mais c’est le temps d’obtenir le shell quand tout est déjà dans le cache du navigateur. Chez moi, lors de mes tests, au premier passage, il a fallu 30 secondes, puis 7,5 secondes au suivant. Et une fois dedans ça reste poussif, parce que chaque binaire est traduit du x86 vers le WebAssembly à son premier lancement, ce qui peut faire monter le chargement à deux minutes sur les gros binaires.

Et il y a aussi un plafond puisque tout doit tenir dans la mémoire de l’onglet, soit environ 1,5 Go. Et c’est une console série, donc vous ne pourrez rien lancer de graphique, pas de fenêtre, pas de souris… Bref, que les outils en ligne de commande et rien d’autre ! Mais bon, vous êtes de vrais barbus qui n’ont peur de rien à part du déo, donc je ne suis pas inquiet ^^.

Ce qui est vraiment cool avec Trynix surtout, c’est

l’action GitHub que son dev a sortie

dans la foulée. Si votre intégration continue pousse déjà ses compilations dans un cache, un bot colle un lien sous la pull request et le relecteur lance le code au lieu de le lire. Comme ça, fini le clone, la compilation et le « *ça marche chez moi pourtant * » invérifiable. Même topo pour faire essayer un truc à quelqu’un qui n’a ni Nix ni Docker… Suffit de lui envoyer le lien.

Un petit point sécu quand même que je tiens à vous signaler : L’URL transporte à la fois les caches supplémentaires et les clés qui les valident, du coup la signature vous prouve bien que le binaire vient du cache annoncé… mais pas qu’il vient de quelqu’un de fiable. En effet, cliquer sur un lien trynix inconnu, ça revient à lancer le programme d’un inconnu, et même si ça se passe dans la sandbox de l’onglet du navigateur (ce qui limite les dégâts), c’est quand même mieux d’en avoir conscience !

Bref, voilà encore un chouette projet sous licence MIT et si ça vous chauffe, ça se passe sur

trynix.dev

.

Source :

Simon Willison

Source : korben.info