Utiliser un Mac loué chez Scaleway pour le développement macOS avec Delphi

Scaleway a été la première entreprise au monde à proposer la location de Mac mini M1. Un exploit technologique car ces appareils ne sont pas prévus pour une mise en rack et une automatisation.

Outre la technologie, c'est aussi une approche financière plus qu'avantageuse : ils font de la location à l'heure. Un minimum de 24 heures est imposé par les licences Apple. Donc avoir un Mac mini M1 coûte moins de 3 euros pour une journée. Plus qu'intéressant lorsqu'on a besoin de tester ou compiler des logiciels pour macOS BigSur dans un environnement Apple Silicon et pas envie ou la possibilité d'en acheter un.

J'ai parlé de cette offre et de son utilisation sur le Delphi Live on Twitch du 4 mars 2021. Je vais revenir ici sur les étapes de configuration et quelques conseils d'usage afin d'utiliser ces appareils depuis les outils de développement d'Embarcadero.


Les Mac mini M1 de Scaleway sont disponibles dans leur offre cloud, pas sur Dedibox. Vous devrez vous créer un compte Elements pour gérer vos locations.

La machine est livrée suite à une réinstallation système effaçant le contenu de l'utilisateur précédent, comme si elles sortaient d'un carton. Des étapes d'installation de macOS sont donc présentes après connexion lorsque vous recevez l'ordinateur. L'utilisateur qui nous est attribué est déjà configuré.

Pour vous connecter vous devrez utiliser un client VNC comme c'est le cas sur une location de Mac chez MacinCloud. L'utilisateur et le mot de passe sont disponibles dans la console client Elements.

La machine est là aussi proposée en version anglaise. Il faut donc commencer par en changer la langue dans les préférences et la disposition du clavier pour être tranquilles à l'utilisation.

Faites quelques modifications dans les préférences du Finder afin d'afficher votre dossier personnel plus facilement. Vous y retrouverez le dossier dans lequel Delphi transfèrera vos programmes. Dans "Finder / Préférences", allez activer le dossier de l'utilisateur présent sur "Barre latérale / Favoris".

Si Xcode n'est pas préinstallé, passez par le Mac AppStore pour le télécharger. Vous devrez vous connecter avec un identifiant Apple pour pouvoir le faire. Pas besoin que ce soit un compte développeur si vous ne voulez faire que du développement macOS sans distribution ensuite.

Lors du premier lancement de Xcode il vous proposera de télécharger et installer ses outils en ligne de commande. Acceptez car vous en aurez besoin pour travailler.

Comme le Mac mini M1 utilise un processeur Apple Silicon, afin de rester compatible avec les logiciels existants, macOS BigSur intègre un émulateur / convertisseur de codes x64 vers ARM. Il s'appelle Rosetta 2 (Rosetta 1 avait été utilisé lors du passage des PowerPC vers Intel). Lorsque vous lancez Xcode, il vous proposera également d'installer le support de cette technologie. Il est primordial que vous l'acceptiez sinon vos logiciels ne se lanceront pas.

L'installation de PAServer se fait comme d'habitude : transfert du programme d'installation sur l'appareil puis exécution du PKG.

Ces étapes passées il vous suffit de lancer le PAServer sur le Mac, d'y mettre un mot de passe tordu par mesure de précaution, puis d'aller dans l'IDE de RAD Studio (menu "Outils / Options / Déploiement") pour déclarer le nouveau profil de connexion et télécharger les SDK.


Le support de macOS BigSur est intégré à la version 10.4.2 Sydney de Delphi. Pas encore disponible pour C++Builder.

Le compilateur macOS 64 bits de cette version ne fait pour le moment que du code binaire pour processeurs Intel. Le support des puces Apple Silicon est prévu pour la version 10.5 de Delphi selon la roadmap de novembre 2020.

Actuellement Delphi permet de compiler des programmes et de les exécuter sur un processeur M1. Le débogage n'est pas pleinement opérationnel.

Si vous désirez faire du débogage de vos logiciels macOS, passez par un Mac en direct ou une offre de location de Mac à processeur Intel.


Les Mac mini ont des hauts parleurs intégrés (plutôt de bonne qualité). Si vous regardez quelque chose et émettez du son, ça s'entend donc dans le datacenter... Evitez d'y mâter du porno ou de l'opéra avec le volume à fond !
Pensez à coupez le volume sonore de votre appareil si vous avez besoin d'émettre de l'audio, ça fera ça en moins dans les oreilles des techniciens susceptibles d'être à proximité.


Si vous voulez utiliser ce Mac mini M1 pour diffuser ensuite vos logiciels, c'est possible, mais des étapes de configuration complémentaires sont nécessaires. Vous en saurez plus en lisant cet article et ce webinaire.

Comme vous devrez déclarer et utiliser vos certificats de développeur Apple sur l'appareil, la lecture de cet article peut également vous être utile.


Suite à un blocage hardware il n'est pas encore possible d'utiliser ces appareils pour du développement iOS.

Pour être totalement transparent, la phrase précédente est un mensonge : on peut faire du développement iOS avec l'offre de Scaleway, mais on doit se contenter du simulateur iOS. Sa prise en charge n'étant pas optimale depuis RAD Studio, il ne nous est pas possible de se baser dessus lorsqu'on fait du développement iOS à partir de Delphi.

Il faudrait pouvoir configurer un iPad, un iPhone ou un iPod touch local à distance, ce que ne permettent aucun des logiciels d'USB over IP sans modifier des paramètres au niveau du BIOS de la machine. Ceci étant, il est possible que ça évolue prochainement et je modifierai bien entendu cette page si ça change.


Pour finir, pensez à faire du ménage sur l'ordinateur avant de clôturer sa location. Il sera reformaté, mais ça fera toujours ça en moins qui y trainerait sans vous.

Et comme pour un Mac standard, FileVault (chiffrement du disque dur) est désactivé par défaut comme son firewall. Donc si vous ne bidouillez pas n'importe quoi, il est recommandé de les activer à réception de l'appareil depuis l'application Préférences dans la rubrique "Sécurité et confidentialité".


Mug Toucan DX dans la baie de RioMug carte postale Sydney