Mac OS X Lion

« Un bond en avant phénoménal pour le Mac. » Voilà comment Mac OS X Lion est présenté sur le site français d’Apple. Mais est-ce véritablement le cas ? Ou est-ce que cette nouvelle version 10.7 de Mac OS X n’est pas une simple évolution du système d’exploitation d’Apple. Plutôt que de me précipiter dans une critique à chaud quelques jours après sa sortie le 20 juillet 2011, j’ai préféré attendre quelques mois pour avoir un retour concret sur son utilisation en « conditions réelles ». Cet article va reprendre une par une les 10 avancées soi-disant majeures mises en avant par Apple et je vous ferai part de mon expérience personnelle dans chacun des cas.

1. Les Gestes Multi-Touch

Apple l’aura assez répété pendant la longue campagne de promotion de OS X Lion (à partir de cette version, Mac OS X perd sa dénomination « Mac »), ce système a été conçu pour rapproché le système des ordinateurs portables et de bureau de la marque d’iOS qui équipe les iPod Touch, iPhone et iPad. Les gestes multi-touch (comprendre à plusieurs doigts) avaient déjà été introduits depuis Mac OS X Leopard, puis améliorés dans Mac OS X Snow Leopard, mais n’étaient que peu utilisés au sein même du système (à moins de posséder une Magic Mouse ou un Magic Trackpad). Cela restait donc assez marginal.

Avec OS X Lion, les gestes multi-touch sont véritablement mis en avant et les ordinateurs portables donc les trackpads autorisent le multi-touch permettent de s’en servir. Si vous utilisez régulièrement un portable en déplacement, ces nouveaux gestes se révèleront relativement pratiques, notamment pour passer d’un espace de travail à un autre. Cependant, si, comme moi, vous utilisez votre ordinateur avec un clavier « classique » et une souris, les gestes multi-touch ne vous seront pas d’une grande utilité. Basculer d’un espace de travail à un autre peut se faire grâce aux touches directionnelles associées à la touche Contrôle et l’accès à Exposé et disponible très simplement depuis une touche du clavier depuis déjà 3 versions du système.

2. Des Apps Plein Ecran

Autre fonctionnalité martelée pendant les keynotes de présentation, la fonction Plein Ecran. Son concept est assez intéressant puisque, lorsque les applications le permettent, une fenêtre passée en « Plein écran » (en cliquant sur la double flèche en haut à droite des applications qui supportent la fonctionnalité) permet de retirer le dock et la barre de menu de la surface de l’écran et place l’application dans un espace de travail spécifique. En créant un espace de travail par application, plus de problèmes de fenêtres qui se chevauchent il suffit d’un simple geste à la souris pour passer d’une application à une autre.

Sur un écran d’ordinateur portable où l’espace est réduit ou sur un ordinateur ne disposant que d’un seul écran, cette fonctionnalité se révèle très utile en retirant tout parasite de notre vue. Mais sur un ordinateur avec plusieurs écrans (comme un ordinateur portable avec un moniteur auxiliaire), cette fonctionnalité est tout bonnement inutile. En effet, une application « Plein écran » crée un espace de travail spécifique où seule sa fenêtre principale peut apparaître sur l’écran principal. Impossible de placer la fenêtre de l’application sur l’écran auxiliaire, souvent bien plus grand. De même, impossible de travailler sur un écran avec une application en plein écran et ses fenêtes « normales » sur son autre écran. Dommage, cela perd en efficacité.

3. Mission Control

Les habitués de Mac OS X connaissent certainement Exposé (apparu dans Mac OS X 10.3 Panther) et Spaces (apparu dans Mac OS X 10.5 Leopard). Le premier permet d’afficher de manière réduite l’ensemble des fenêtres affichées à l’écran pour sélectionner celle qui vous intéresse. Le deuxième permet de créer plusieurs espaces de travail distincts et ainsi mieux répartir vos applications selon votre convenance. Depuis Mac OS X Panther, Exposé a subi plusieurs améliorations. Spaces, plus récent, n’avait pas changé d’un pouce dans Mac OS X 10.6 Snow Leopard. OS X Lion propose de fusionner ces deux concepts en un seul : Mission Control.

Voilà pour moi la plus grande réussite d’OS X Lion à ce jour. Mission Control prend le meilleur des deux outils précédents et crée un véritable tableau de bord de l’activité du système. Très ergonomique, il affiche en haut de l’écran tous les espaces de travail (qui désormais ne peuvent plus être organisés qu’horizontalement) en incluant les applications en plein écran et sur le reste de l’écran toutes les fenêtres visibles de l’espace de travail courant réparties par application et par écran. C’est alors un jeu d’enfant d’aller activer la fenêtre ou l’application qui nous intéresse. Mission Control conserve également tout ce qui avait fait le succès d’Exposé en permettant d’afficher uniquement les fenêtres de l’application en cours ou de dégager les fenêtres de l’écran pour laisser apparaître le bureau.

Malgré quelques défauts de jeunesse (notamment une répartition parfois étrange sur plusieurs écrans), Mission Control est une vraie nouveauté à l’ergonomie parfaite qui crée un gain d’efficacité énorme.

4. Mac App Store

Inauguré avec la mise à jour 10.6.6 de Mac OS X Snow Leopard, le Mac App Store est l’équivalent en bureautique de l’App Store présent sur les iPod Touch, iPhone et iPad : un kiosque de téléchargement d’applications gratuites ou payantes. Plate-forme de diffusion privilégiée pour le Mac, le Mac App Store n’est pas exempt de défauts, mais il présente deux fonctionnalités intéressantes depuis OS X Lion.

La première, c’est que le système permet de rechercher directement dans le Mac App Store une application susceptible d’ouvrir un fichier dont le type ne serait pas connu. Sympathique pour s’éviter d’éventuelles longues heures de galère.

La deuxième, c’est son intégration directe dans le dock qui permet en un clin d’œil de voir si une ou plusieurs de ses applications a bénéficié d’une mise à jour, et le cas échéant de pouvoir l’actualiser en presque un seul clic.

Chose importante pour les personnes comme moi qui possèdent plusieurs Mac, les application achetées via le Mac App Store peuvent être installées sur n’importe quel Mac, autant de fois que vous le souhaitez (à partir du moment où vous utilisez votre Apple ID pour les télécharger).

5. Launchpad

Launchpad est le nom de l’écran d’accueil d’iOS, là où se trouvent toutes les icônes des applications sur les iPod Touch, iPhone et iPad. OS X Lion a directement récupéré cet outil pour le transposer dans le monde de la bureautique.

Autant le dire tout de suite, Launchpad ne sert à rien. Lorsque Mac OS X 10.5 Leopard a inauguré les Piles (Stacks) dans le dock, on a pu intégrer la pile des applications, des téléchargements, etc… au dock et tous restent accessibles en permanence et sans couper notre flux de travail. Et tout était très bien comme ça. Je me suis personnellement posé la question du pourquoi de Launchpad. Je n’ai toujours pas trouvé la réponse. Effectivement, Launchpad propose de retrouver toutes les applications disponibles sur le système, et pas seulement celles du dossier Applications. Mais, c’est peut-être sa seule qualité.

Launchpad a hérité des mêmes qualités que son grand frère du monde mobile : lisibilité, esthétique, ergonomie, possibilité d’organiser les icônes à sa guise. Mais sa filiation ne s’est pas faite sans mal. Lorsque sur un appareil nomade, il apparaît relativement normal de ne pas avoir des centaines d’applications, cela n’est plus vrai sur un ordinateur professionnel. Sur iOS, il est possible des créer des groupes d’applications. Chaque groupe prenant la forme d’une icône d’application composée des icônes des applications du groupe. Sur iOS encore, la taille de l’écran n’autorise pas d’imbriquer des groupes dans des groupes. Mais cela aurait été très intéressant de pouvoir le faire sur un ordinateur de bureau où l’on est habitué à hiérarchiser ses informations et/ou ses applications.

Pire, Launchpad sur mobile permet de supprimer une application alors que la version bureautique ne le permet que pour les applications achetées via le Mac App Store (impossible de supprimer une application installée « à l’ancienne »). On est à nouveau obligé de passer par le dossier où est stockée l’application pour faire le ménage. Vraiment dommage. Un raté sur toute la ligne !

6. Reprise

Autre fonctionnalité très intéressante. Reprise permet de restaurer au démarrage les applications dans l’état où elles se trouvaient (y compris la disposition des fenêtres) au moment où vous avez éteint votre ordinateur (ou lorsque vous quittez l’application concernée). Idéal pour commencer la journée. Mieux, le système peut restaurer les applications dans certains cas quand le système subit un des rares plantages existants.

Il est à noter que cette fonctionnalité ne nécessite pas de mise à jour spécifique des applications développées pour les versions précédentes de Mac OS X, ce qui est un plus appréciable (que l’on aurait bien vu de pareille façon pour les applications Plein écran). A l’heure actuelle, j’ai rencontré quelques comportements étranges sur des applications comme Photoshop ou Word qui réouvrent des fichiers clos juste avant la fermeture de l’application. Cela est probablement dû à une période d’actualisation trop longue pour les sauvegardes des états des applications.

7. Auto Save

Comme son nom l’indique, Auto Save permet une sauvegarde régulière et automatique des fichiers. Je n’ai pour l’instant pas pu tester cette fonctionnalité car le nombre d’applications le permettant est très restreint. Mais si elle tient ses promesses, cela va constituer une arme redoutable contre les pertes d’information.

8. Versions

Comme pour Auto Save, peu d’applications intègrent un support de Versions. Je n’ai donc pas pu tester pour le moment. Il s’agit d’une fonctionnalité proche de Time Machine (disponible depuis Mac OS X 10.5 Leopard) et qui permet de « remonter dans le temps » directement au sein d’un document pour en parcourir les différentes versions précédentes et retrouver éventuellement des informations perdues (ou revenir à une version antérieure après s’être trompé de direction). Versions est la fonctionnalité que j’attendais le plus. J’espère la voir fonctionner sur beaucoup d’applications très bientôt.

9. AirDrop

AirDrop permet l’échange de fichiers entre ordinateurs équipés d’OS X Lion et dont le module Wifi est activé, sans avoir besoin de se connecter à un réseau spécifique, mais en étant à moins de 10 mètres l’un de l’autre. Pour l’avoir expérimenté plusieurs fois, c’est un outil très pratique qui évite d’avoir à passer par une clé USB pour échanger des fichiers. Les débits en Wifi sont cependant très aléatoires, bien que tous les fichiers transférés soient toujours arrivés entiers à destination.

10. Mail

Véritable refonte de l’application Apple de courrier électronique, Mail passe pour l’occasion en version 5 et bénéficie de nombreuses améliorations, dont la vue des emails sous forme de conversation. Il intègre également un nouveau moteur de recherche très performant bien qu’un peu complexe à prendre en main au début.

Conclusion

Vous l’aurez compris, OS X Lion est une mise à jour du système de demi-teintes. D’un côté, on a de magnifiques ratés (Launchpad, les apps Plein écran). De l’autre, de petites merveilles (AirDrop, la refonte de Mail, Mission Control, Reprise). OS X Lion permet aussi au Mac de rattraper son retard sur ses concurrents à différents niveaux (possibilité de redimensionner les fenêtes par n’importe quel côté, …). Et, au milieu de tout ça, nous avons des concepts très avant-gardistes comme Auto Save ou Versions qui donneront probablement ses lettres de noblesses à Lion dans les prochains mois ou les prochaines années.

Mais alors, au final, la convergence Mac OS X / iOS est elle vraiment entamée. En dehors des gestes multi-touch et de Launchpad, Mac OS X reste lui-même, mais en mieux pour l’essentiel. Certes, OS X Lion est un peu plus gourmand en mémoire, mais quelques réglages plus tard, cela n’y paraîtra plus. Globalement, il s’agit d’un bon système, mais les nouveautés qu’il propose ne justifient pas encore de passer le pas. Mac OS X 10.6.8 Snow Leopard est un système très stable et tant que Auto Save, Versions et les autres fonctionnalités exclusives ne seront pas plus répandues dans le parc application, passer à OS X Lion sera superflu.

Publicités

Xcode 4

Depuis que je me suis lancé dans le développement d’applications pour iPhone, Xcode a subit deux évolutions majeures, passant progressivement en version 3 puis, récemment, en version 4. Souvent décrié pour ses lenteurs et son manque d’ergonomie, Xcode 3 constituait cependant pour moi le meilleur outil de développement pour Mac OS X ou iOS, au même titre qu’Eclipse constitue le meilleur environnement de développement pour Java et bon nombre d’autres langages.

Xcode revient donc en version 4.0 pour la sortie très attendue d’iOS 4.3 pour iPhone, iPod et iPad. On peut dire qu’Apple a soigné son outil pour lui faire rattraper le retard qu’il avait accumulé face à ses concurrents. Le logiciel reste entièrement gratuit bien que son code source ne soit toujours pas diffusé, chose relativement normale pour Apple cependant.

Espace de travail unifié

A la manière d’Eclipse et bon nombre d’autres EDI, Xcode arbore désormais un espace de travail unifié intégrant l’ensemble des fonctionnalités de la version précédente et d’Interface Builder dans une seule et même fenêtre. Le gain de temps est considérable. L’interface a été clairement conçue pour les écrans larges mais cela ne constitue en aucun cas un problème puisque toute la gamme Mac actuelle est constitué d’écrans de ce type. Même sur un écran de MacBook Pro 15″, Xcode garde tout son potentiel et gagne énormément en ergonomie et en productivité avec ce mode d’affichage. Certains comme moi seront peut-être un peu perdus au début ou déroutés par le fait que certaines fonctionnalités aient été déplacées, mais dans l’ensemble tout cela va dans le bon sens.

Dans les critiques que l’on pouvait reprocher à la version précédente, on parlait régulièrement de la difficulté d’accès de la documentation en ligne. Xcode 4 en fait un lointain souvenir en intégrant dans le volet droit de son interface une zone d’aide contextuelle avec des liens vers les classes concernées par la position du curseur incluant notamment des références aux exemples fournis par Apple y faisant appel. Très très pratique.

On notera également l’ouverture automatique des fichiers sur simple clic, qui peut surprendre au premier abord, mais s’avère très pratique et permet aux utilisateurs du Magic Trackpad ou d’un MacBook de ne pas « déraper » en voulant ouvrir un fichier spécifique.

Nouvelles fonctionnalités

La Jump Bar

Déjà utilisé par d’autres, cette barre contextuelle se situant au sommet de la zone d’édition permet d’accéder en quelques clics à tous les fichiers et ressources du projet. L’affichage du volet de gauche de l’arborescence du projet en devient vite inutile pour les utilisateurs expérimentés. Cette Jump Bar permet également d’accéder directement aux variantes localisées des différentes ressources du projet.

Fix-It

Xcode 3 permettait déjà d’afficher les avertissements directement sur la ligne concernée, ce qui évitait de se mélanger les pinceaux quand un grand nombre d’erreurs subsistait à la compilation. Xcode 4 va plus loin en proposant carrément, lorsque cela est possible, une solution de remplacement pour corriger immédiatement l’erreur ou supprimer l’avertissement du compilateur. Cette pertinence des résultat va même jusqu’à identifier des variables mal orthographiées et proposer un remplacement par leurs équivalents valides les plus proches. Très efficace cette fonctionnalité permet un gain de temps et offre une assistance supérieure auprès des débutants.

Nouveaux compilateurs et debugger

Apple supporte de nombreux projets Open Source depuis déjà de longues années, comme WebKit par exemple qui fait les beaux jours de navigateurs comme Safari bien sûr, mais aussi de Google Chrome. Apple fait donc partie des supports et contributeurs de LLVM.org. De fait, LLVM et LLDB deviennent respectivement le compilateur et le debugger officiel d’Xcode 4. Exit donc GCC pour la compilation, même si LLDB n’est toujours pas disponible pour débugger les projets iOS.

Apple prone la différence de performances de LLVM par rapport à GCC et, en effet, les projets se compilent bien plus vite. Reste à voir si les applications bénéficieront sur le long terme d’un gain de performances équivalent en situation.

Améliorations du support des outils de versioning

Utilisateur de SVN depuis longtemps, j’ai toujours eu du mal à faire fonctionner Xcode 3 avec mes référentiels. J’utilisais donc pour le moment SmartSVN pour cette tâche. Cela risque de ne plus s’avérer nécessaire avec Xcode 4 puisque le versioning a été grandement amélioré dans cette version. Il est désormais possible d’effectuer toutes les tâches classiques directement au sein d’Xcode, y compris les comparaisons de versions d’un même fichier. Cela marche à merveille et Xcode profite de l’expérience acquise par Apple sur Time Machine pour offrir une interface similaire pour la chronologie des modifications.

Les mauvais points

Ma découverte d’Xcode 4 n’a pour le moment pas déclenché de bugs à répétition ou de lourdeurs particulières. Une mise à jour de cet article interviendra peut-être si de nouveaux éléments apparaissent. On peut cependant noter deux ou trois points noirs pour cette nouvelle version.

Le poids

Xcode 3 n’était déjà pas léger avec ses 2,1 Go à télécharger pour la version fournie avec iOS 4.2, mais Xcode 4 explose ce score pour atteindre les 4,6 Go sur la balance. Autant dire qu’une bonne connexion est requise pour le récupérer. A ma connaissance, aucun autre environnement de travail n’est aussi lourd, même pas Visual Studio.

Impossibilité de modifier la barre d’outils

Les utilisateurs des logiciels Mac savent très bien qu’il est généralement possible de personnaliser une barre d’outils en effectuant un clic droit sur la dite barre et en glissant-déplaçant les éléments souhaités à l’emplacement de son choix. Cela n’est plus possible avec Xcode 4 qui propose uniquement des éléments de base dont il va falloir se satisfaire. Construire un projet sans l’exécuter n’est plus désormais possible que par le menu ou le raccourci clavier adéquat. Dommage.

Conclusion

Malgré quelques petits défauts qui seront probablement corrigés dans des versions à venir, ce nouvel agencement des fonctionnalités est très réussi. Il est toujours possible de télécharger Xcode 3.2 avec le SDK d’iOS 4.3 mais, si ce n’est en raison d’éventuelles limitations matérielles, je ne vois pas ce qui justifierait à l’heure actuelle de rester coincé dans le passé. Xcode 4 est là, profitions-en !

ImageMagick, Mac OS X et PHP

Ayant troqué récemment mon vieux Pentium IV pour un iMac 27″ flambant neuf, j’ai dû réinstaller un certain nombre de logiciels, dont ImageMagick, qui est un peu le couteau Suisse du développeur en matière de graphisme.

La tâche fut relativement aisée pour configurer l’exécution en ligne de commande, mais cela fut beaucoup plus compliqué d’exécuter le logiciel via PHP. Malheureusement, ImageMagick étant utilisé sur certains de mes projets professionnels, je me dois d’adapter son utilisation aux conditions réelles de la production finale. Je devais donc passer par PHP pour « créer » les images qui m’intéressaient.

Les tutorials sur ce point n’étant pas légion sur internet (ou alors bien cachés), voici la solution que j’ai employée :

<?php
 $home = getenv('HOME');
 putenv("MAGICK_HOME={$home}/Applications/ImageMagick");
 $path = getenv('PATH');
 $mg_home = getenv('MAGICK_HOME');
 putenv("PATH={$mg_home}/bin:{$path}");
 putenv("DYLD_LIBRARY_PATH={$mg_home}/lib");

 $path = realpath('./gradient.jpg');
 $cmd = "convert -size 100x100 gradient:red-yellow \"{$path}\"";
 exec($cmd);
?>

A partir du moment où vous aurez installé ImageMagick dans un sous-dossier Applications/ImageMagick de votre dossier utilisateur Mac OS X, ce script PHP marchera.

Voici l’image (très simpliste) qu’il génère :