Ouvrir le menu principal

MacGeneration

Recherche

Programmer en Rust pour Mac OS 9, c'est possible

Pierre Dandumont

mercredi 25 janvier 2023 à 08:30 • 3

macOS

Dans un post sur Twitter, Bastian a montré une image qui va faire plaisir aux aficionados des versions classiques de Mac OS. En effet, il a réussi à lancer un programme conçu en Rust sur le vénérable OS d'Apple, abandonné en 2001.

Le résultat des essais de Bastian.

Rust est un langage de programmation moderne et assez récent, il a été pensé à partir de 2006 et dévoilé officiellement par Mozilla — employeur du concepteur — en 2010. Pour exécuter un programme conçu dans ce langage sur un Mac des années 90, il faut donc ruser un peu. Il n'y a pas de CodeWarrior ici (et encore moins de Xcode, évidemment), mais un passage par un programme open source, w2c2. Ce dernier permet de convertir le code WebAssembly vers le C, et il prend en charge les PowerPC 32 bits.

Plusieurs étapes nécessaires

Le lien avec Rust n'est donc pas totalement direct : WebAssembly est une norme qui se base sur un bytecode, un peu comme le Java. Il s'agit d'un code intermédiaire, indépendant de la plateforme, qui peut être exécuté à travers un interpréteur qui peut être un navigateur. Mais ce bytecode peut aussi être converti pour être exécuté directement, ce que fait le programme w2c2.

Pour obtenir le résultat montré en image sous Mac OS 9, il faut donc d'abord compiler le code Rust pour obtenir du bytecode WebAssembly (par exemple avec Emscripten) et ensuite convertir le résultat obtenu en C, pour une exécution sous Mac OS 9. Comme w2c2supporte officiellement les PowerPC, il a probablement été modifié pour prendre en charge les anciens OS Apple ou pour générer du code Carbon, compatible avec Mac OS 9 mais aussi Mac OS X. Et même si c'est totalement inutile, c'est tout de même assez amusant.

Google activerait AI Overviews en France dans le courant de l’été

17:54

• 9


Parfaitement dans le coup avec iOS 27 : l’iPhone 13 à 260 € (code : SOLDES20) ✅

17:40

• 0


L’essor de l’IA pousse Apple à accélérer ses mises à jour de sécurité

16:29

• 15


L’aperçu d’iOS 27 est désormais en français sur le site d’Apple, sans Siri AI

15:43

• 19


Apple Watch : Free propose désormais un paiement en 24 fois sans frais

14:44

• 19


Le Crédit Agricole lance officiellement son alternative à Apple Pay sur iPhone

14:43

• 37


Les écrans OLED des futurs MacBook Pro pourraient couvrir l'espace de couleurs Rec. 2020, pour encore plus de couleurs

13:15

• 24


Promo : un tensiomètre Beurer compatible Apple Santé à 19,99 €

10:55

• 11


Prise en main de Wallet sur iOS 27 : interface d’Apple Pay revue, cartes personnalisées et autres nouveautés

10:55

• 6


La taxe française de 2 € sur les petits colis abandonnée dès demain, mais la taxe européenne de 3 € arrive

10:55

• 64


Design, photo, bureautique… faites le quiz pour trouver votre écran idéal

10:34

• 0


Apple rachète Play, un outil qui facilite les prototypes d’interface pour les apps

10:10

• 2


Avec une RAM au prix de 2010, Apple n'a pas fini de vous faire payer l'addition

09:19

• 39


OpenClaw : l’agent d’IA autonome s’offre une application iOS native

07:06

• 28


L’iPhone 18 Pro à nu : une fuite livre ses derniers secrets 🆕

07:05

• 32


Une mise à jour pour Safari 26.5.2 et une release candidate pour macOS Sonoma 14.8.8 et Sequoia 15.7.8

29/06/2026 à 23:34

• 7