1. John Siracusa
    1. Mountain Lion
      1. Introduction
      2. Achat et installation
      3. Changements d'interface (1)
      4. Changements d'interface (2)
      5. Changements d'interface (3)
      6. Applications (1)
      7. Applications (2)
      8. Applications (3)
      9. Applications (4)
      10. Applications (5)
      11. iCloud(1)
      12. iCloud(2)
      13. iCloud(3)
      14. Gatekeeper(1)
      15. Gatekeeper(2)
      16. Retina et HiDPI
      17. Fourre-tout (1)
      18. Fourre-tout (2)
      19. Fourre-tout (3)
      20. Fourre-tout (4)
      21. Fourre-tout (5)
      22. Fourre-tout (6)
      23. Recommandations
      24. Deux pères, un fils
    2. Lion
      1. Introduction
      2. Installation
      3. Revoir les fondamentaux
      4. Redimensionnement des fenêtres
      5. Et voici pour les cinglés
      6. La gestion des fenêtres
      7. Le modèle de document
      8. le modèle des processus
      9. Les éléments internes (1)
      10. Les éléments internes (2)
      11. ARC
      12. Le système de fichiers
      13. Ses modifications dans Lion
      14. Documents, résolution
      15. Le Finder
      16. Mail, Safari
      17. Fourre tout (1)
      18. Fourre tout (2)
      19. Recommendations
    3. Snow Leopard
      1. Introduction
      2. Le ticket d'entrée
      3. L'installation
      4. Nouvel aspect
      5. Détails internes
      6. Quick Time X
      7. Système de fichiers
      8. Faire plus avec plus
      9. LLVM et Clang
      10. Les blocs
      11. Concurrence
      12. Grand Central Dispatch
      13. Asynchronicité
      14. Open CL
      15. La différence...
      16. Quick Time Player
      17. Le Dock
      18. Le Finder
      19. Exchange
      20. Performances
      21. Fourre tout (1)
      22. Fourre tout (2)
      23. Le futur
    4. Leopard
      1. Introduction
      2. L'héritage
      3. Nouvel aspect 1
      4. Nouvel aspect 2
      5. Le noyau
      6. 64 bits
      7. FS Events
      8. Core animation
      9. Quartz GL
      10. Core UI
      11. Détails internes
      12. Le Finder
      13. Le Dock
      14. Time Machine
      15. Performances
      16. Pot pourri
      17. Demain
    5. Tiger
      1. Introduction
      2. Retour sur le passé
      3. Nouvel aspect de Tiger
      4. Mises à jour du noyau
      5. Le lancement
      6. Les méta-données
      7. Attributs étendus
      8. Listes de contrôle d'accès
      9. Spotlight 1
      10. Spotlight 2 : analyse et potentiel
      11. Types de fichiers
      12. Méta-données : la fin
      13. Quartz
      14. Quartz 2D Extreme
      15. Core Image
      16. La vidéo sous Tiger
      17. Dashboard
      18. Le Finder
      19. Les performances
      20. Pot pourri
      21. Conclusion
    6. Panther
      1. Introduction
      2. Les précédents
      3. L'installation
      4. Nouvel aspect
      5. Performances
      6. Changement rapide d'utilisateur
      7. Gestion des fenêtres
      8. Exposé
      9. Le Finder
      10. Performance du Finder
      11. Toujours le même
      12. Safari
      13. XCode
      14. Conclusion
    7. Jaguar
      1. Introduction
      2. Le nom
      3. L'installation
      4. Modifications d'Unix
      5. Dévelopeurs...
      6. Quoi de neuf
      7. Rendezvous
      8. Quartz Extrême
      9. Performance
      10. Compositions
      11. Le Finder
      12. Applications
      13. Sherlock
      14. Le portrait
    8. Puma
      1. Prelude
      2. Introduction
      3. Installation
      4. Réglages système
      5. Performance
      6. Redimensionnement des fenêtres
      7. Utilisation de la mémoire
      8. Diagnostics de mémoire
      9. L'environnement Classique
      10. L'interface Utilisateur
      11. Le Finder
      12. Extensions de fichiers
      13. Divers, conclusion
    9. Cheeta (Mac OS X 10.0)
      1. Qu'est ce que Mac OS X
      2. Installation
      3. Le démarrage
      4. Utilisation de la RAM
      5. Performance
      6. Performance des applications
      7. Stabilité
      8. L'interface utilisateur
      9. Le Finder
      10. Le navigateur du Finder
      11. Le Finder (divers)
      12. L'interface utilisateur
      13. Os X Classique
      14. Système de fichiers
      15. Unix
      16. Applications
      17. Conclusion
    10. Les débuts de MacOsX
      1. 1999 : OSX DP2
      2. 2000 : Quartz et Aqua/a>
      3. Fin de la lune de miel
      4. la première bêta publique
      5. 2001 : Mac OS X 10.0
      6. Un investissement
    11. Finder Spatial
      1. Introduction
      2. Interfaces spatiales
      3. Le Finder spatial
      4. Le concierge
      5. Un nouveau Finder
      6. Le browser
      7. Le browser spatial
      8. Finder et méta-données
      9. Les modèles
      10. Pensées finales

Unix, l'homme derrière le rideau

L'IUG de Mac OS X fournit une vue assez proche du Mac de ce qui est pour l'essentiel un système d'exploitation basé sur Unix. Mais la vision depuis Darwin, le cœur open source de Mac OS X est très différente. Passez dans la coquille à l'aide de l'application Terminal, (ou avec telnet depuis l'extérieur), et la vérité se dévoile. Jetez un coup d'œil à la racine réelle du système de fichiers.

figure

Fig. 1 : La racine du système de fichiers.

Votre réaction devant ce listing vous catalogue rapidement comme type d'utilisateur. Si vous êtes horrifié(e), perplexe ou effrayé(e), vous faites partie de la majorité. La plupart des utilisateurs de Macs n'ont jamais besoin de se soucier du ventre rebutant d'Unix sous Mac OS X. Mais si votre réaction est un soupir de confort, vous devez être un Unix geek. "Ahhh, je suis chez moi".

Jetons un coup d'œil à quelques uns des trucs utilisés pour épargner toutes ces complications à l'utilisateur moyen. Cacher des fichiers et des dossiers est la technique la plus répandue. Presque tout dans le listing de / (la racine) ci dessus ne figure pas dans le Finder ou dans les autres interfaces de navigation de l'IUG. Les items peuvent être cachés d'au moins quatre façons différentes.

D'abord, dans les volumes HFS+, le bit "invisible" peut être mis. Mac OS classique utilise ce même bit pour cacher ses fichiers d'administration (par exemple les fichiers de la base de données "Desktop DB" et "Desktop DF" affichés ci-dessus, qui font en réalité partie de l'installation de Mac OS 9.1, pas de Mac OS X). C'est une convention Unix pour les fichiers cachés, et (par défaut), le Finder la respecte. La troisième méthode renforce la seconde. Si un fichier appelé ".hidden" existe dans le répertoire, les items listés dans ce fichier (en format texte) sont cachés dans le Finder. Quatrièmement, le Finder lui-même peut choisir de cacher ou de déplacer des ressources pour fournir l'abstraction souhaitée. Par exemple, les disques sont montés sous /Volumes alors que le volume de démarrage est monté sous /. Mais le Finder les affiche les uns à côté des autres dans sa racine conceptuelle.

L'utilisation par Mac OS X des règles et des mécanismes de BSD pour mettre en place son système de sécurité signifie qu'il y a une coïncidence bienvenue entre les environnements de la ligne de commande et de l'IUG. Les permissions du Finder sont simplement le miroir des permissions BSD, et vice versa. Même les attributs étendus de style BSD (man chflags) sont utilisés pour obtenir certains concepts de Mac classique, comme le verrouillage de fichiers. Et pour des choses encore plus traditionnelles comme les drapeaux du Finder, le CD d'outils de développement incorpore beaucoup d'utilitaires en ligne de commande qui permettent de les ajuster ( man SetFile).

Les fourches de ressources elle-mêmes sont dûment représentées et manipulables avec la ligne de commande. Des utilitaires de développement comme Rez Derez SplitForks et cpMac gèrent des manipulations de fichiers qui étaient du ressort exclusif des applications IUG. Il y a même une très habile implémentation des fichiers de ressources qui peut être utilisée par des utilitaires en ligne de commande purement Unix : on peut accéder à toute fourche de ressource d'un fichier en rajoutant /rscrc au nom de fichier. Cette caractéristique est pratique pour éditer les fichiers de ressources en style OS X : des fichiers avec des données de ressources stockée dans leur fourche données au lieu de l'être dans la fourche ressources.

Comme des utilitaires vénérables d'édition de ressources comme ResEdit, ne peuvent fonctionner qu'avec des ressources qui sont localisées dans la fourche ressource, la manœuvre suivante permet d'éditer (indirectement) des fichiers de ressources de type "Localized.rsrc" avec ResEdit :
% touch temp
cp Localize.rsrc temp.rsrc (ouvrir "temp"" avec ResEdit , faire les modifications, et enregistrer )
cp temp/rsrc Localized.rsrc

Pour aller un peu plus loin, l'étape entre parenthèses de l'édition du fichier avec ResEdit peut être démarrée en ligne de commande à l'aide de la commande bien pratique open :
open /Path/To/ResEdit somefile

Avec quelques alias judicieux, les intéractions suivantes sont possibles :
...
% CpMac Anarchie .
% resedit Anarchie
...
cp ../httpd.conf .
bbedit httpd.conf
...

Et ainsi de suite : un mélange habile et puissant de commandes Unix standard et d'applications IUG classiques de Mac. Qui plus est, les modifications faites à l'aide de la ligne de commande se reflètent immédiatement dans l'IUG, et vice versa.

Le monde Unix de Darwin n'est pas seulement un Mr Hyde sans relations avec le Dr Jekyll de l'IUG Aqua. Des opérations aussi semblables au Mac que l'installation de logiciels à l'aide de l'installateur de paquets d'Apple en finissent par utiliser Unix derrière le rideau (par exemple des scripts de pré et de post installation écrits en perl). C'est un mariage très heureux entre le Mac et Unix.

Mac OS X considéré comme "juste un autre Unix"

Essayons d'oublier pour un moment que c'est une nouvelle livraison du système d'exploitation du Macintosh, et affirmons que ce n'est qu'une nouvelle et intéressante variante d'Unix. Cela est-il seulement possible ? Oui, pour la plus grande part. Si vous le voulez, vous pouvez considérer Mac OS X comme une bonne vieille boîte Unix. Mais il y a un hic : comme avec toutes les nouvelles variantes d'Unix, cela vous prendra du temps pour que l'empreinte de Darwin s'étende à l'immense bibliothèque des logiciels Unix.

Pensez aux premiers jours de Linux. Le téléchargement d'un programme Unix courant, et un essai pour le compiler était entaché par la possibilité d'erreurs et de conflits : fichiers localisés à des endroits différents, drapeaux différents pour les commandes, problèmes de compatibilité des bibliothèques, et ainsi de suite. Revenez au temps présent, et vous serez obligé de trouver une distribution de code source sans l'un (ou plusieurs) des réglages de configuration/makefile proposés pour Linux.

En ce qui concerne Mac OS X 10.0, beaucoup des applications Unix les plus populaires le détectent correctement, et se configurent pour la compilation sous Darwin (par exemple, Apache, MySQL). D'autres sont incluses par défaut (Perl, TCL, PHP). Il y en a d'autres qui sont encore suffisamment basiques pour se compiler avec succès avec le simple rappel que Darwin est un système de type BSD (GNU textutils, ncftp, expat).

Cela prendra du temps avant que l'ensemble du monde logiciel d'Unix s'ouvre aux utilisateurs de Macs. Mais 10.0 a démarré sous des auspices très encourageants. Avec un minimum d'adaptation, j'ai été capable de mettre à jour l'installation par défaut de perl, avec une immense collection de modules CPAN (beaucoup avec des composants compilés en C), de compiler la dernière version d'Apache dans ses variantes normale et mod-perl, de compiler et d'installes SSH2, beaucoup d'utilitaires GNU connus, et d'une façon générale, de me sentir chez moi dans le monde Unix.

Le futur d'Unix

Chose inattendue, la fondation Unix de Mac OS X est peut être la part la plus importante du nouvel OS d'Apple en terme de parts de marché. Apple a toujours ciblé les marché graphiques personnel et professionnel, mais n'a jamais eu une offre attirante dans de nombreux marché variés où Unix domine. Cela ne veut pas dire que OS X va brutalement supplanter Solaris et Linux, parce qu'il ne le fera pas. Mais cela ouvre certainement des portes, qui étaient auparavant totalement interdites à Mac OS classique, en particulier dans la communauté académique et scientifique, où les Macs sont tombés en défaveur du fait de la disponibilité de logiciels standards Unix, et des problèmes d'inter-opérabilité.

La seconde avancée importante pour le cœur Darwin de Mac OS X est la possibilité d'une expansion propre dans le futur. A la différence du cœur de Mac OS classique, essentiellement monolithique et complexe, la base Unix de Mac OS X peut être étendue relativement proprement. Le parcours d'Unix depuis les années 70, jusqu'à présent témoigne de ses capacités.

Grâce à la nature éminemment portable du cœur de l'OS (NeXTSTEP a fonctionné sur des processeurs 68k et x86, et Unix a été porté à peu près partout), la possibilité de changer d'architecture de CPU en cours de route (quand Classic aura été remercié) n'est pas aussi risquée que la transition 68K/PowerPC.

Pour finir, la nature open source de Darwin signifie que les développements du cœour de l'OS ne dépendent plus entièrement d'Apple. Il y a déjà, dans la livraison 10.0 beaucoup de code livré sur les CDs, qui a été fourni par des volontaires plutôt que par les employés d'Apple eux-mêmes, notamment des corrections de bogues nécessaires pour permettre des configurations exotiques. Ce processus se poursuit en ce moment rendant le cœur de l'OS meilleur que ce qu'Apple peut produire à elle seule : le développement du logiciel open source en action. Au total, le futur apparaît très brillant pour le nouveau bébé d'Apple basé sur Unix.