Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Si vous voulez gouter à macOS au travers de Virtualbox, voici une méthode qui permet de le faire très simplement.

Grâce au script bash macOS-Guest-Virtualbox, que vous pouvez lancer depuis n’importe quel terminal Linux/macOS ou sous Windows via Cygwin ou WSL, vous allez pouvoir installer une VM macOS Big Sur, Catalina, Mojave ou High Sierra et la faire tourner directement depuis l’outil de virtualisation VirtualBox.

Pour cela, vous devez avoir sur votre système :

  • bash ≥4.3
  • coreutils ≥8.22
  • gzip ≥1.5
  • unzip ≥v6.0
  • wget ≥1.14
  • xxd ≥1.7
  • dmg2img  ≥1.6.5 (sous Cygwin, le script le téléchargera directement)
  • virtualbox ≥6.1.6

Installez donc Virtualbox et tous ces paquets avec apt, brew, macPort ou Cygwin puis récupérez le script d’install ici (la dernière version sur le dépôt n’a pas fonctionné chez moi, j’ai du prendre la release du 24 janvier) et lancez-le comme ceci :

./macos-guest-virtualbox.sh

Suivez ensuite les instructions du script et voilà !

Capture d'écran de VirtualBox avec une machine virtuelle macOS en cours d'installation

Vous aurez une jolie VM macOS à utiliser pour tous vos projets / tests. Par défaut, cette installation aura un stockage de 80 GB dont 20 GB pris par l’OS, mais vous pourrez modifier cela dans les paramètres du script. Vous pourrez aussi y modifier la release que vous voulez (Catalina, Mojave, HighSierra), sans oublier la mémoire RAM, la mémoire GPU et la résolution d’écran à adopter.

# Customize the installation by setting these variables:
vm_name="macOS"                  # name of the VirtualBox virtual machine
macOS_release_name="Catalina"    # install "HighSierra" "Mojave" or "Catalina"
storage_size=80000               # VM disk image size in MB, minimum 22000
cpu_count=2                      # VM CPU cores, minimum 2
memory_size=4096                 # VM RAM in MB, minimum 2048
gpu_vram=128                     # VM video RAM in MB, minimum 34, maximum 128
resolution="1280x800"            # VM display resolution
Schéma d'architecture de virtualisation pour installer une VM macOS sous Linux, Windows ou macOS

De plus, si vous possédez un ordinateur Apple avec de vrais identifiants originaux, vous pourrez aussi les mettre dans le fichier de config pour bénéficier en plus des services iCloud, iMessage…etc. Les commandes permettant de récupérer tous ces identifiants sont inscrites ici :

# The following commented commands, when run on a genuine Mac,
# may provide the values for NVRAM and other parameters required by iCloud,
# iMessage, and other connected Apple applications.
# Parameters taken from a genuine Mac may result in a "Call customer support"
# message if they do not match the genuine Mac exactly.
# Non-genuine yet genuine-like parameters usually work.

#   system_profiler SPHardwareDataType
DmiSystemFamily="MacBook Pro"        # Model Name
DmiSystemProduct="MacBookPro11,2"    # Model Identifier
DmiSystemSerial="NO_DEVICE_SN"       # Serial Number (system)
DmiSystemUuid="CAFECAFE-CAFE-CAFE-CAFE-DECAFFDECAFF" # Hardware UUID
DmiOEMVBoxVer="string:1"             # Apple ROM Info
DmiOEMVBoxRev="string:.23456"        # Apple ROM Info
DmiBIOSVersion="string:MBP7.89"      # Boot ROM Version
#   ioreg -l | grep -m 1 board-id
DmiBoardProduct="Mac-3CBD00234E554E41"
#   nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB
DmiBoardSerial="NO_LOGIC_BOARD_SN"
MLB="${DmiBoardSerial}"
#   nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM
ROM='%aa*%bbg%cc%dd'
#   ioreg -l -p IODeviceTree | grep \"system-id
SYSTEM_UUID="aabbccddeeff00112233445566778899"
#   csrutil status
SYSTEM_INTEGRITY_PROTECTION='10'  # '10' - enabled, '77' - disabled

En termes de performances, et bien, ça dépendra de votre machine, mais l’auteur du script recommande de lancer ensuite la VM directement depuis QEMU/KVM pour profiter de performances quasi natives.

Capture d'écran de l'interface de VMware Workstation avec une machine virtuelle macOS en cours d'exécution
Logo de macOS avec une indication de compatibilité pour les machines virtuelles

Faites-en bon usage !


– « Mamaaaaaan, y’a Windows qui ne fait rien que de me copiter »

– « Cela veut dire tout simplement que tu as de bonnes idées, mon petit Linux. »

– « snif »

Hé oui, vous ne le savez peut-être pas, mais Windows vient de sortir en beta son gestionnaire de paquets comme dpkg, rpm ou encore homebrew. Son nom ?

Winget !

Original non ? On dirait un nouveau menu chez KFC.

L’idée est donc de permettre aux utilisateurs de Windows et surtout aux administrateurs de pouvoir installer rapidement des logiciels à partir d’un dépôt comme on le ferait avec une commande apt. Mais surtout de gérer plus sérieusement les mises à jour de ces applications.

Bonne nouvelle non ?

Sur le dépôt Github du dépôt, vous pourrez prendre connaissance des premiers softs installables via Winget. On y trouve par exemple 7zip, 1Password, iTunes, BitPay, Blender, Etcher, CozyDrive, Gimp, Emacs, Gog Galaxy, Inkscape…etc. Y’a de quoi faire !

Un truc amusant, c’est qu’il commence à y avoir des services qui se créent autour de Winget, comme Winstall qui permet en quelques clics d’établir une sélection d’applications à installer puis de récupérer un binaire qui se chargera de tout installer en une fois, à l’aide de Winget.

Capture d'écran de l'interface de Winget
Logo de Microsoft

Pas bête !

Je me demande quand même ce que vont devenir tous ces gestionnaires de paquets dont j’ai parlé au fil des années.

Bref, que ce soit côté Microsoft ou autre, ce gestionnaire de paquets est un projet à suivre.


Si vous développez ou utilisez des petits scripts pour macOS, voici un projet qui je pense va vous plaire. Il s’agit de SuitCase, un projet similaire aux « Raccourcis » (Shortcuts) qu’on peut trouver sous iOS, mais pour macOS.

Je m’explique… SuitCase est un outil en ligne de commande que vous pouvez appeler avec tout un tas de paramètres vous permettant ainsi d’afficher une interface en SwiftUI vous permettant de lancer des commandes ou des scripts.

Cela permet de concevoir très rapidement une interface graphique basique pour des actions que vous menez d’ordinaire au travers du terminal.

Capture d'écran de l'interface utilisateur de SuitCase affichant les options de personnalisation

Chacune de vos créations en Suitcase peut ensuite être exportée sous la forme d’un exécutable en .command que vous pouvez ensuite proposer à d’autres, qui n’auront alors qu’à cliquer sur le fichier pour voir l’interface en question.

Pour installer SuitCase, il suffit de récupérer le dernier binaire ici (encore en version Alpha).

Ensuite pour scripter une interface, et bien il suffit de lire la documentation puis ensuite d’aller déposer votre projet ici pour le partager avec d’autres.

Voici une petite interface que j’ai scripté rien que pour vous et que vous pouvez télécharger ici :

Logo de SuitCase représentant une valise avec le mot SuitCase écrit en lettres blanches

Amusez-vous bien !


Ce n’est pas forcément simple de savoir correctement écrire le français, car c’est une langue avec beaucoup de subtilités et de règles. Heureusement, quand on a un doute sur l’orthographe d’un mot ou sur une conjugaison, on peut toujours aller chercher sur le net. Pas d’excuses donc.

Mais quand c’est Google lui-même qui nous fournit les conjugaisons et qu’en plus, il nous dit de la merde, ce sont des milliers de personnes qui se retrouvent dans l’erreur. Et je ne parle pas uniquement des plus jeunes qui se tapent une mauvaise note à leur devoir à cause du géant d’Internet.

En effet, quand on cherche une conjugaison via Google, ce dernier se paye le luxe de l’afficher directement dans ses résultats de recherche, détournant ainsi pas mal de trafic de vrais sites de conjugaison type le Bescherelle.

Mais si en plus ces conjugaisons sont fausses, je vous laisse imaginer le drame…

Un petit exemple (regardez le passé composé / antérieur) :

Capture d'écran montrant un exemple de recherche sur Google avec une conjugaison incorrecte

Allez, encore un autre :

Image humoristique montrant une personne se grattant la tête devant un ordinateur avec le message 'Google, apprends à conjuguer!'

Je ne vous fais pas l’affront de vous rappeler la règle concernant l’accord du participe passé employé avec l’auxiliaire « avoir ». Mais si vous ne voyez pas ce qui cloche, bah je vous invite à jeter un oeil au Bescherelle qui lui ne se trompe pas et de jouer au jeu des 6 erreurs.

Bref, prévenez vos enfants, car ils risquent d’apprendre des choses incorrectes. Après, apprendre le français avec des algos américains , c’est pas forcément l’idée du siècle ;-).

Merci à Grégory pour l’info !


Les lois sur la violation de droits d’auteurs sont subtiles. Il y a quelque temps, la MPA (Motion Picture Association) qui protège les intérêts de l’industrie cinématographique américaine à l’extérieur des États-Unis avait demandé en début de mois, à ce que le code source de Popcorn Time soit retiré de Github pour contrefaçon.

Et cela avait fonctionné puisque le dépôt de code avait été suspendu.

Pour rappel, Popcorn Time est une application qui pour résumer simplement est l’équivalent d’un Netflix avec uniquement des films et des séries distribués en P2P.

Logo Popcorn Time

Vu comme un outil de piratage pour les uns, ou comme un client P2P Bitorrent traditionnel pour les autres, c’est un vrai casse-tête pour les ayant droit.

Suite à l’avis de contrefaçon déposé par la MPA, l’équipe de Popcorn time a exigé légalement une contre-vérification, en précisant que leur code était 100% légal et qu’il n’y avait à l’intérieur aucun matériel copyrighté. Ce qui est factuellement le cas.

Le code de Popcorn time ne contient rien qui soit soumis au droit d’auteur. Ce dernier a donc été restauré puisque la MPA n’a pas protesté contre ce nouvel examen. Il faut croire que l’outil juridique DMCA relatif aux droits d’auteurs n’est pas le bon outil pour lutter contre l’existence de cette application. Mais je ne doute pas que la MPA n’a pas dit son dernier mot à ce sujet.

En attendant, pouvez donc à nouveau trouver le code source de Popcorn Time et ses versions compilées et téléchargeables ici sur Github.

Source