====== macOS système d'exploition UNIX d'Apple ====== **Logo** de **macOS** : {{ :wiki:os:macos_wordmark_2017_.png?nolink&300 |}} ===== Présentation de macOS ===== **macOS** d'**Apple**, anciennement **Mac OS X**, le **X**, signifiant à la fois ''10'' et le X des **systèmes UNIX**, tel que **AIX**, **HP-UX**, **IRIX**, **XENIX** et bien d'autres. macOS est un système UNIX, un **BSD UNIX** plus précisément, il est issu à l'origine de **NeXTSTEP** (dernière version appelé **OPENSTEP**) de la défunte entreprise **NeXT, Inc** qui a été fondée en 1985 par **Steve Jobs** suite à son éviction de l'entreprise Apple. Apple conscient que son **OS** **Mac OS 9** (de nos jours appelé **Mac OS Classic**) était complètement dépassé prit la décision d'acquérir un nouvel OS, à la base Apple se tourna vers **BeOS** de l'entreprise **Be Inc** crée par **Jean-Louis Gassée**, un ancien employé d'Apple puis finalement jeta son dévolu vers NeXTSTEP de NeXT, Inc détenu par Steve Jobs qui était de son côté le co-fondateur d'Apple. NeXTSTEP était un système UNIX basé sur **4.3BSD** (au départ **4.3BSD-Tahoe** puis **4.3BSD-Reno**) de l'**Université de Californie à Berkeley** (**//UCB//**) et du noyau UNIX de l' **OSF** (**//Open Software Foundation//**) qui était composé d'un **noyau Mach** de l'**Université Carnegie-Mellon** plus d'un **noyau BSD** de l'UCB, qui est en définitive un **noyau hybride**. Pendant la conception de Mac OS X (pour rappel nom des premières versions), Apple a sorti en août 1997, un OS du nom de **Rhapsody** (jamais vendu au publique), qui intégrait le nouvel Unix de l'UCB, **4.4BSD** et du côté d'Apple : l'interface graphique de **Mac OS 8**, des frameworks comme **QuickTime** et **AppleSearch** et la **Blue Box** permettant une compatibilité avec les applications de Mac OS 8. Le 16 mars 1999 paru la première version de Mac OS X, **Mac OS X Server 1.0** qui n'était pas une version pour le grand publique. La première version ''majeure'' à avoir remplacée **Mac OS 9** est **Mac OS X 10.0** (nom de code **Cheetah**) sorti le 24 mars 2001, cette version intégrait la nouvelle interface utilisateur du nom d'**Aqua**, le **Dock**, l'application **Mail** en autres. Mac OS X 10.0 se basait à présent sur [[wiki:os:bsd_unix:netbsd|NetBSD]] **1.4**, système BSD Unix sous **licence BSD** (**licence open source** et **permissive**). Depuis la version **Mac OS X 10.2** (nom de code **Jaguar**) publié le 23 août 2002, Mac OS X se base désormais sur [[wiki:os:bsd_unix:freebsd|FreeBSD]] également sous licence BSD. Mac OS X a été renommé **OS X** à partir de la version **OS X 10.7** (nom de code **Lion**) publiée le 20 juillet 2011 et macOS à partir de **macOS 10.12** (nom de code **Sierra**) sortie le 20 septembre 2016. La dernière version de macOS est **macOS Sequoia** (version ''15''), sortie le 16 septembre 2024 et annoncée au publique le 10 juin 2024. macOS est prévu pour les ordinateurs Apple comme le **Macintosh**, les autres OS d'Apple se basent tous sur macOS mais pour des appareils informatiques différents, comme **iOS** pour **iPhone**. Depuis Rhapsody, le nom du système de base BSD s'appelle [[wiki:os:darwin|Darwin]], qui est actuellement essentiellement basé sur FreeBSD, hormis la partie Mach de l'Université Carnegie-Mellon du **noyau XNU**. Darwin est un système d'exploitation complet, la seule différence avec macOS est que Darwin ne contient pas les composants propres à Apple, comme le moteur graphique **Quartz**, l'interface graphique **Aqua** et toutes les applications liées à Apple comme : **iTunes**, **Finder**, **FaceTime**...etc. Darwin est sous **licence APSL** (**//Apple Public Source License//**) qui est une licence open source. Pour les fanboys de la Pomme, si macOS est stable, fiable et sécurisé c'est principalement parce qu'il se base sur UNIX, précisément FreeBSD et sa partie de noyau Mach qui a été créé pour les BSD UNIX ! À quoi bon créer son OS de toutes pièces quand tous les composants sont déjà disponibles et de surcroît sous licences libres, sans **copyleft** (permissives)… ===== Caractéristiques de macOS ===== ==== Composition de base de macOS ==== macOS est un système UNIX au même titre que FreeBSD, **NetBSD**, il fait d'ailleurs parti de la grande famille BSD UNIX, famille UNIX la plus populaire avec les UNIX basés sur **UNIX System V Release 4** (**//SVR4//**). Le système macOS contient : * [[wiki:os:darwin|Darwin]] qui est l'UNIX sur lequel repose macOS et qui est composé de : * **launchd** sert à la fois de système d'initialisation, il remplace le traditionnel **rc.ng** des BSD et de gestionnaire de services (daemons) tel que **OpenSSH**. * Des **utilitaires Unix** en ligne de commande associés aux bibliothèques logicielles (librairies), ainsi que les daemons de base tel que **SSH**, **Telnet**, **FTP**, **Samba**,..., le pare-feu basé sur **PF** (**//Packet Filter//**) de FreeBSD, de divers utilitaires Unix du **projet GNU** tel que le shell Unix nommé **Bash** mais désormais macOS utilise **Zsh** par défaut mais Bash est toujours installé par défaut ainsi que les shells Unix de FreeBSD. * **configd** qui gère le réseau et la configuation du système. * **diskarbitrationd** qui gère le montage et démontage des volumes de disque. * **mDNSResponder** qui gère la résolution **mDNS** (**//multicast DNS//**) et le protocole **Zeroconf** appelé **Bonjour**. * **securityd** qui s'occupe de tous les services de sécurité. * Le **systèmes de fichiers** par défaut sous macOS peuvent être **HFS+** (**//Hierarchical File System Plus//**) pour les disques durs ou **APFS** (**//Apple File System//**) plutôt conçu pour les **SSD** (**//Solid-State Drive//**) ou disque à mémoire Flash en général. Via FreeBSD, macOS est compatible avec les systèmes de fichiers de [[wiki:os:gnu_linux|Linux]] (**ext2**, **ext3**, **ext4**). * **Xcode** qui est l'environnement de développement par défaut et qui utilise le compilateur nommé **Clang**, qui est une alternative à **GCC** de GNU mais GCC est aussi intégré à Xcode. * **Command Line Tools** qui est un ensemble d'utilitaires de développement tel que **gcc**, **make**, **git**, etc. * **XNU** qui est le noyau de macOS (le ''coeur'' du système), c'est un noyau de type **hybride** qui est composé d'un noyau Mach de l'Université Carnegie-Mellon associé au noyau FreeBSD. * Du système de fenêtrage et moteur graphique du nom de **Quartz** * L'interface utilisateur graphique nommé **Aqua** qui comporte le Dock, le Finder, etc. * **Cocoa** qui est l'**API** (**//Application Programming Interface//**) native de macOS * **Core Foundation** qui permet de gérer toutes les fonctionnalités des paquets au format **DMG**. * **App Store** qui est le magasin d'applications de macOS (équivalent des **logithèques** sous Linux). En définitive, macOS est essentiellement un OS basé sur [[wiki:os:bsd_unix:freebsd|FreeBSD]] associé à d'autres projets open source, donc c'est un UNIX de type BSD avec ses ajouts personnels tel que Aqua, Quartz, Cocoa,... Le système de base de macOS du nom de Darwin est sous licence open source (//Apple Public Source License//) mais la plupart des logiciels spécifiques à macOS sont sous **licences propriétaires**. ==== Les applications intégrées sous macOS ==== Ce qui fait en partie l'attractivité et la convivialité de macOS est en particulier son Dock qui se trouve en bas le l'interface utilisateur Aqua et son panneau de contrôle en haut. Il faut reconnaître que Aqua est une belle interface utilisateur. Les logiciels installés par défaut : * **Safari** qui est le navigateur internet par défaut de macOS, qui est basé sur la bibliothèque du nom de **WebKit** qui est un fork de **KHTML** du **projet KDE**. * **Finder** qui est le gestionnaire de fichier de base. * **Mail** est un client Mail, pour envoyer, recevoir du courriel, au même titre que **Thunderbird** de **Mozilla**. * **Contacts** est la base de données de ses contacts, dans laquelle on peu mettre les coordonnées complètes de chaque individu. * **Calendrier** qui permet de gérer votre agenda, vous pouvez connecter cette application à **iCloud**. * **Notes** qui permet la prise de note, une sorte de pense-bête. * **Messages** est le client de messagerie instantanée, il permet de tchater, faire des appels audio et vidéos, d'envoyer des fichiers,... * **Photos** qui est un gestionnaire de photos comme la galerie d'[[wiki:os:android|Android]] par exemple. * **Prévisualisation** qui est un visualiseur et éditeur de fichiers qui gère, les fichiers textes, PDF, Ebook,... * **TextEdit** est l'éditeur de texte par défaut, qui est similaire au bloc-note de [[wiki:os:windows|Windows]] mais en beaucoup plus complet, à la manière des éditeurs de texte sous Linux et Unix. * **Terminal** est l'émulateur de terminal de base de macOS, c'est lui qui vous permet d'interagir avec les commandes Unix intégrées à macOS (commandes provenant essentiellement de FreeBSD). * **Musique** qui est tout simplement le lecteur audio par défaut. * **TV** qui est une application de streaming vidéo. * **App Store** est le magasin d'applications comme l'est le **Play Store** d'Android. * **Control Center** qui permet de gérer les préférences et l'administration de votre Mac. * et quelques autres applications. ==== Enrichir macOS de commandes Unix supplémentaires ==== macOS n'est pas démuni de commandes Unix mais sachez qu'il existe tout de même des gestionnaire de paquets qui permettent d'installer davantage de commandes Unix tel que : * **MacPorts** qui est plutôt destiné aux utilisateurs avancés et aux développeurs. Le site officiel de MacPorts se trouve [[https://www.macports.org/|ici]]. * **Homebrew** qui est désormais le gestionnaire de paquets le plus ''populaire'' sous macOS et il est vraiment simple à utiliser et à une communauté de contributeurs plutôt nombreuse. le [[https://brew.sh/|site officiel]]. * **Fink** est un gestionnaire de paquets qui se base sur **APT** de [[wiki:os:gnu_linux:debian|Debian GNU/Linux]], il est également relativement facile à utiliser et assez complet. Rendez vous [[https://www.finkproject.org/|ici]] pour le **projet** **Fink**. * **pkgsrc** vous avez également la possibilité d'ajouter les dépôts et le gestionnaire de paquets **pkgin** de NetBSD. Pour la partie macOS de pkgsrc rendez vous [[https://pkgsrc.smartos.org/install-on-macos/|là]]. ==== Les atouts de macOS ==== macOS à une collection de logiciels assez importante et de qualité, d'ailleurs ces logiciels par défauts sont simples mais efficaces, c'est un système plutôt novateur et qui est très conviviale à l'utilisation. Son intégration avec son système de cloud computing (informatique dans les nuages) iCloud est très bonne mais pour moi là où macOS excelle c'est dans la création artistique tel que la **MAO** (**//Musique Assistée par Ordinateur//**), dans la vidéo, la **PAO** (**//Publication Assistée par Ordinateur//**) et bien d'autres créations. Et il est indéniable que de par sa base UNIX, il est très stable, robuste, sécurisé, ce qui fait l'une des forces des systèmes UNIX. Par contre le prix des Mac n'est à mon sens pas justifiable au vu du rapport qualité/prix. Et je n'apprécie par forcément la politique de macOS mais il faut admettre qu'il participe au développement de leur OS de base, FreeBSD et ça c'est tout à leur honneur. Il est clair que macOS facilite l'adoption d'un système UNIX, nul besoin d'avoir des connaissances en se système d'exploitation mais je pense que beaucoup d'utilisateurs ne savent pas que macOS est un UNIX. macOS est un système d'exploitation relativement stable, robuste et sécurisé, ce qui en fait un OS fiable est sa base UNIX, BSD UNIX (en grande partie [[wiki:os:bsd_unix:freebsd|FreeBSD]]) et aussi le fait que macOS ne se retrouve que sur des appareils informatiques d'Apple ce qui rend la maintenance et les correctifs plus facilement réalisables et gérables mais n'allez par croire pour autant que macOS est blindé contre toutes les nombreuses menaces informatiques, d'ailleurs même le système d'exploitation considéré comme le plus ''sécurisé'', [[wiki:os:bsd_unix:openbsd|OpenBSD]] peut avoir des failles de sécurité, raison pour laquelle il est très important de toujours tenir son OS à jour, les mises à jour sont la première barrière contre les failles de sécurité. Pour les personnes qui souhaitent seulement avoir un système UNIX pour tous les atouts déjà mentionnés et pour **poste de travail**, je vous conseille vivement d'essayer [[wiki:os:bsd_unix:ghostbsd|GhostBSD]] et pourquoi pas l'adopter, c'est le système BSD UNIX hormis macOS, le plus simple à appréhender. Pour les Mac à processeur **Intel** il est possible de se faire son propre **Mac Intel** (pour un usage personnel) du nom de **Hackintosh** mais il faut soigneusement choisir son matériel et s'assurer qu'il sera toujours compatible après mise à jour de macOS, mais depuis le passage d'Apple aux processeurs Intel, aux processeurs **ARM**, il va devenir à l'avenir impossible de se créer son propre Mac car je suis quasiment certain que macOS ne sera bientôt plus disponible pour l'architecture de type **Intel x86_64**. Pour un usage personnel le Hackintosh est toléré mais aucune entreprise n'a normalement le ''droit'' de vendre des Hackintosh. ===== Documentation supplémentaire sur macOS ===== Il y a tant de sujets à traiter sous macOS, que se simple ''article'' n'est qu'un simple résumé des possibilités sur cet OS. Je vous renvoie donc vers les [[wiki:os:macos:tutos|tutoriels sur macOS]].