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

Panther (12)







Safari

Oui, le butineur Safari d'Apple est là depuis un moment déjà, mais je n'ai pas eu l'occasion d'en parler. J'aimerais le faire. Je pense que Safari est un des grands succès en logiciel d'Apple.

Voyons ce qu'Apple a fait de Safari. En moins d'un an, Apple a créé ce qu'on peut considérer comme le meilleur butineur de toutes les plateformes, et l'a fait d'une façon qui permet d'inter-opérer avec des millions de sites web conçus pour les navigateurs méchamment handicapés Microsoft et Netscape de la décade précédente. Mais revenons en arrière.

J'ai été un fat des standards web dans les années 90 (d'accord, je le suis encore), si bien que j'ai accueilli à bras ouverts Internet Explorer 5 pour le Mac, l'un des premiers navigateurs à disposer d'un support complet de CSS1. Alors que Netscape languissait, Mac IE5 est devenu de mieux en mieux. Je suis resté fidèle à Mac IE5 pendant des années, en le suivant au long des OSs de Mac OS 9 à Mac OS X. Je suis un peu aussi un fat de la facilité d'usage, si bien que je suis resté à IE5 même quand des butineurs plus rapides ont été introduits, simplement parce que je ne pouvais pas encaisser leurs interfaces utilisateur. Quand Safari a été introduit, je l'ai considéré avec suspicion et beaucoup de dédain.

D'abord, Safari n'utilisait pas Gecko, le moteur de rendu rapide et puissant qui est derrière le butineur Mozilla. A mesure que IE5 vieillissait, la vitesse et le respect des standards étaient devenus un point critique. Comment Safari pouvait-il avoir l'un ou l'autre sans Gecko ? Safari utilisait le moteur de rendu KHTML du butineur Konqueror, qui avait été créé comme élément de l' environnement K Desktop sous Linux. J'avais utilisé Konqueror auparavant, et je n'avais pas été impressionné.

Ensuite, l'histoire m'avait appris que les butineurs ne sont pas faciles à créer. Cela a pris à Microsoft, une énorme entreprise avec de vastes ressources en développement de logiciels, des années pour arriver au niveau du butineur Netscape, qui lui-même, avait nécessité des années de développement. Le projet Mozilla, semblablement interminable, essayait depuis des années de créer le remplaçant de la génération suivante pour un butineur Netscape vieillissant, avec peu de choses à montrer, mais un framework d'interface utilisateur étrangement multiplateformes et très rapide, un moteur de rendu respectueux des standards, marié à l'interface utilisateur, que seulement une mère (ou un développeur) pouvait aimer.

Si le puissant Microsoft, et des légions de développeurs de logiciels open-source (et un tas d'employés de Netscape jusqu'au moment où l'entrepris a commencé à capoter) ne peuvent pas créer un butineur décent sans des années d'efforts, comment diable Apple s'attendait-elle à arriver à quelque chose d'acceptable avec beaucoup moins de ressources et encore moins de temps ?

Et bien, voilà comment ils ont fait (en bref).


La recette du succès

La première étape est de recruter les gens les plus capables possible. Rassembler tous ces magiciens en butineurs dont Netscape/AOL/TimeWarner/et autres se sont débarrassés. Apple a toujours été bonne pour attirer les meilleurs, parce qu'Apple est cool. Avec l'introduction de Mac OS X basé sur Unix, Apple est devenue cool pour les geeks Unix aussi. Quantité de développeurs expérimentés dans les butineurs sont des geeks Unix. Les choses s'améliorent déjà.

Ensuite, monter sur les épaules des géants. Autrement dit, ne pas essayer d'écrire un nouveau butineur à partir de rien si vous pouvez l'éviter. Mais aussi ne pas tomber dans le piège de se faire enfouir sous une énorme base de code étranger. Cela élimine Gecko d'emblée, malgré ses excellentes performances et son ensemble de caractéristiques robustes. Si votre moteur de rendu a ses propres classes génériques de tableau et de chaîne, c'est une indication que vous allez mordre plus que vous ne pourrez mâcher.

Enfin, faites ce que vous savez faire de mieux, quoi que ce soit. Il vous faut ajouter de la valeur. Un butiner incapable de se distinguer n'est qu'un échec quand un gorille de 400 Kg comme Internet Explorer vous contemple.

Si bien qu'Apple a commencé avec une éminente équipe de développement, et un moteur de rendu petit, facile à gérer, qui était tout juste mûr pour des améliorations. Et ils l'ont amélioré, en rendant KHTML proche du puissant Gecko aussi bien en caractéristiques qu'en performances. L'ajout de valeur est venu de l'environnement natif de Mac OS X, fourbi et astiqué. Safari utilise des contrôles natifs partout (foin des puristes CSS), et profite des excellentes possibilités de rendu de texte et d'images de Mac OS X. Agitez avec la bonne quantité de simplicité de l'interface de l'ère Jobs II, et vous voilà avec le meilleur butineur pour le Mac jamais conçu.

Mais attendez, il y a autre chose. Le développement de Safari s'est poursuivi à un train d'enfer. Une fois encore, Netscape et Internet Explorer m'avaient conditionné pour m'attendre, au mieux, à des mises à jour significatives du butineur sur une base bisannuelle, au mieux. A l'autre extrême, le projet Mozilla incroyablement actif semblait avoir de nouvelles versions toutes les semaines ou presque, dont peu pouvaient être raisonnablement considérées comme "stables". Mais l'équipe de Safari a corrigé les bogues, rajouté les caractéristiques, et fourni des livraisons solides et fiables d'une façon raisonnablement régulière.

Ce n'est pas tout, le processus de développement a été très ouvert, principalement grâce à l'employé d'Apple Dave Hyatt, qui a loyalement mis à jour son blog, et entraîné la communauté dans une discussion permanente sur tous les aspects de Safari. Quand quelqu'un de la communauté trouvait et isolait une bogue de rendu HTML ou CSS, Dave la corrigeait souvent le jour suivant (ou plus vraisemblablement la corrigeait la semaine suivante, et c'était intégré dans la version suivante de Safari). Si seulement tous les développeurs d'Apple étaient aussi disponibles et réactifs.

Avant d'arrêter mes flatteries, laissez-moi énumérer certaines choses que j'aime à propos de Safari, et d'autres que je n'aime pas, parce que je suis comme je suis.

L'interface utilisateur de Safari est agréablement minimale. La distance entre le haut de la fenêtre et le contenu de la page Web est beaucoup plus petite que dans la plupart des autres butineurs, même quand tous les extras sont actifs. Je n'ai jamais utilisé la barre des favoris (Safari l'appelle la barre des marque-page) dans les autres butineurs, parce que j'ai toujours pensé que c'était trop d'espace utilisé. L'interface de Safari est assez mince pour que je ne remarque pas cet espace supplémentaire, et j'utilise maintenant les marque-page pour remplacer mon menu de marque-page.

figure

Safari est svelte.

Remarquez aussi le bouton combiné Stop/Recharger ; pourquoi avoir deux boutons séparés pour des fonctions qui s'excluent mutuellement ? C'est habile. Les onglets sont minces aussi, et il y a même de la place pour un champ de recherche Google (pas représenté) au bout de la barre d'adresse.

D'un autre côté, mettre les boutons avant et arrière si près l'un de l'autre qu'une erreur de positionnement d'un pixel provoque l'opposé du résultat désiré n'est pas une très bonne idée. Et pas de séparateur dans le menu des marque-page ? Voyons, je suis pratiquement sûr que Netscape 1.0 avait cette possibilité. Le temps d'abandon de 60 secondes (non modifiable sans un gros effort) n'est pas non plus très attirant pour un développeur web. D'autre part, des onglets qu'on puisse déplacer, et une barre d'outils personnalisable seraient bienvenus.

Mais ce ne sont que de petits détails dans un grand ensemble. Safari fait bien l'essentiel, et je me suis finalement retrouvé à abandonner IE (qu'il repose en paix, il m'a bien servi) au profit de Safari en dépit de mes prévisions du contraire.

Bien que l' article d'Ars Technica sur les butineurs Mac mette Safari en premier avec une note de 8 sur 10, il en dit ceci :

Les utilisateurs de Mac OS X disposent-ils du meilleur des butineurs ? Pas encore. Ils ont tous leurs avantages et leurs inconvénients.

En ce qui me concerne, la dernière affirmation (sur laquelle je suis d'accord) n'implique pas forcément la précédente. Safari est "le meilleur des butineurs" selon moi. Ce qui peut lui manquer, c'est la capacité de pénétrer le monde sous-terrain des sites web spécifiques à IE sous Windows, et cela fait de lui un excellent support, évoluant rapidement, pour les standards web actuels, avec son élégante interface utilisateur (même si elle est un peu ténue).

Cela prouve aussi qu'Apple est capable de remplacer proprement un logiciel auparavant "essentiel" (habituellement Microsoft), quand elle s'y attelle. Un butineur web n'est pas de la même échelle qu'une suite office, mais je commence à y croire.