Vue lecture

RetroTick - Vos vieux .exe qui tournent dans le navigateur

Bonjour les nostalgiques qui aimaient quand l'informatique c'était simple ! Aujourd'hui, j'aimerais vous parler de RetroTick , qui est un émulateur x86 qui fait tourner des exécutables Windows à l'ancienne et DOS directement dans votre navigateur. De FreeCell au Démineur en passant par SkiFree, hop, vous glissez-déposez le .exe (ou le .com pour le DOS) et ça tourne impeccable !

Ce projet reproduit une couche Win32, Win16 et DOS, le tout codé en TypeScript (99,8% du repo) sans avoir besoin ni de VM, ni de Wine / QEMU qui rame dans un coin. Vous ouvrez une page web, vous balancez votre fichier .exe, et ça s'exécute.

Le rendu 3D s'appuie sur WebGL2 pour interpréter les vieilles commandes OpenGL, du coup le screensaver Maze ou 3D Pipes (oui, les tuyaux moches de Windows 98) s'affichent nickel. Il y a même un gestionnaire de fenêtres multi-fenêtre avec barre des tâches, z-order et tout le bazar. Ambiance 1998 assurée dans un onglet de navigateur.

D'ailleurs, RetroTick ne se limite pas à faire du fun rétro. Si vous bossez par exemple dans une boîte qui traîne encore des outils legacy, genre des logiciels métier qui tournent uniquement sur Windows XP ou un truc codé en 2003 sous Visual Basic 6, ce genre de projet pourrait ouvrir quelques portes...

L'interface RetroTick dans le navigateur, ambiance Windows 98

En effet, rendre ces vieux programmes accessibles via un navigateur, sans avoir à maintenir des machines virtuelles sur chaque poste, c'est carrément pas bête. Pour les DSI qui gèrent des parcs hétérogènes, ça pourrait donc éviter pas mal de prises de tête.

Le système de fichiers est virtuel, et vos fichiers survivent entre les sessions grâce à IndexedDB (sauf si vous videz le cache du navigateur, évidemment). Et si vous connaissez déjà v86, l'émulateur x86 en WebAssembly , RetroTick est en fait assez différent parce qu'il n'émule pas un PC complet. Il traduit directement les appels Win32/DOS vers des API web natives, donc forcément, c'est bien plus léger.

Côté licence, c'est du CC0 1.0, en gros du domaine public et toute la base de code a été générée par IA (il y a même un CLAUDE.md dans le repo).

C'est donc brouillon par endroits, les rendus plantent encore et il manque des trucs et ça ne marche pas avec tous les .exe non plus. Mais au final, c'est un projet qui progresse assez vite donc ça devrait se bonifier avec le temps ! Voilà.

Et si les émulateurs rétro dans le navigateur vous branchent, allez jeter un oeil aussi à cet article.

  •  

Spank - Donnez des petites fessées à votre MacBook quand il n'est pas sage

Filer des petites claques à son MacBook pour qu'il couine... c'est le genre de projet qu'on s'attend à trouver sur GitHub d'un Otaku sauf que là, c'est du sérieux... Enfin presque.

Spank (Ah ah !), c'est un petit binaire en Go qui exploite l'accéléromètre de votre MacBook Apple Silicon via IOKit HID qui dès qu'il détecte un choc physique sur la machine, joue un petit son.

Dans Spank, y'a 4 modes au choix. D'abord le mode "pain" par défaut qui balance aléatoirement une dizaine de clips audio de protestation quand vous lui mettez une baffe. Là ça va vous plaire un peu plus car il y a également le mode --sexy, qui lui, monte en intensité au fil des claques sur une fenêtre glissante de 5 minutes, avec 60 niveaux d'escalade (ouch !).

Et pour les fans de Master Chief, il y a le mode --halo qui joue les sons de mort du jeu. Et si rien de tout ça ne vous parle, --custom /chemin/vers/vos/mp3 vous permettra de balancer vos propres fichiers audio.

En fait, derrière ce délire, il y a une détection plutôt costaud. Notamment des algorithmes qu'on retrouve en sismologie (comme STA/LTA, CUSUM, kurtosis) qui analysent les données brutes du capteur du MacBook pour distinguer une vraie claque d'un mouvement de sac à dos.

Vous pouvez également régler la sensibilité avec --min-amplitude... de 0.05 g (un effleurement suffit) à 0.50 g (là faut le déglinguer !!). Par défaut c'est calé à 0.30 et ça se combine avec les modes, genre sudo spank --sexy --min-amplitude 0.2 pour un laptop ultra-réactif dans les petits cris.

Pour l'installer :

go install github.com/taigrr/spank@latest

ET sinon y'a aussi des binaires précompilés sur la page des releases, donc pas besoin d'installer Go sur votre machine. Et ça nécessite sudo parce que macOS protège l'accès au capteur matériel via IOKit donc faut lancer comme ceci : sudo spank dans le terminal.

D'ailleurs si vous voulez que votre Mac réagisse H24, y'a également un template launchd fourni (fichier .plist à coller dans /Library/LaunchDaemons/) pour le configurer en daemon au démarrage, un peu comme quand on doit automatiser d'autres outils macOS . C'est parfait pour piéger un collègue (Le 1er avril arrive bientôt !!!)... Le gars qui pose son café un peu fort à côté de l'ordi, va rougir assez vite...

Seul bémol, attention, ça ne marche pas sur Mac Intel. Faudra du Apple Silicon M2 minimum, car le capteur accéléromètre n'existe tout simplement pas sur les anciens modèles. Le binaire fait ~4 Mo tout mouillé, y'a pas de dépendances et c'est sous licence MIT.

Voilà voilà. Tapez pas trop fort quand même ! Après je crois qu'Apple va bientôt sortir de nouveaux MacBooks, donc c'est peut-être l'occasion aussi d'en changer... ^^

Merci à Lorenper pour la fessée... euh pour le lien !

  •  
❌