====== macOS système d'exploition UNIX d'Apple ======
**Logo** de **macOS** : {{ :wiki:systemes_d_exploitation: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 jetta 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 premè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 **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 **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 base 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:systemes_d_exploitation: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éée 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** (**premissives**)…
===== 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:systemes_d_exploitation: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 [[wiki:systemes_d_exploitation:bsd_unix:freebsd|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** applé **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 **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éfinive, **macOS** est essentiellement un **OS** basé sur [[wiki:systemes_d_exploitation: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** nommé **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, reçevoir 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'**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 **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'intéragir 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 **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'aujouter les **dépôts** et le **gestionnaire de paquets** nommé **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 ses **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:systemes_d_exploitation:bsd_unix:freebsd|FreeBSD]]) et aussi le fait que **macOS** ne se retrouve que sur des **appareils informatques** 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é'', **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:systemes_d_exploitation: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:systemes_d_exploitation:macos:tutoriels sur macOS]].