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

Lion (7)




Le modèle de document

Lion introduit ce qu'Apple appelle, avec une conviction typique un modèle de document "modernisé". Je suis enclin à acquiescer au choix de ce mot. Comme tant d'autres aspects de Lion, la gestion des documents cherche à éliminer son bagage hérité, et il y a plein de choses à éliminer. Les conventions qui gouvernent l'interaction entre les utilisateurs, les applications et les documents n'ont pas beaucoup, changé depuis que l'ordinateur personnel s'est répandu au début des années 80.

Apple a tenté une révolution mineure dans ce domaine avec OpenDoc dans les années 1990. Au lieu de lancer une application pour créer un document, OpenDoc promettait un monde où l'utilisateur ouvrait un document, puis travaillait dessus en utilisant un ensemble interchangeable de composants créé par de multiples vendeurs. En d'autres termes, OpenDoc était centré sur le document au lieu d'être centré sur l'application.

Les modifications dans OpenDoc promettaient de changer radicalement l'équilibre du pouvoir sur le marché du logiciel des applications. Mais des compagnies de logiciel importantes, comme Microsoft et Adobe n'étaient pas particulièrement motivées pour casser leurs applications populaires et riches en possibilités en composants plus petits que les clients pourraient mélanger et associer aux composants d'autres vendeurs. Au moment où OpenDoc fut livré, Apple approchait du nadir de sa popularité et de son influence sur l'industrie. Comme on pouvait s'y attendre, OpenDoc dépérit sur le pied de vigne.

Revenons à maintenant, où Apple beaucoup plus puissante et confiante, fait une autre tentative dans le même domaine. Apple a décrété que le problème le plus pressant n'est pas l'interaction entre le code de l'application et les données du document, mais plutôt l'interaction entre l'utilisateur et l'ordinateur.

En dépit de décennies d'exposition du public aux ordinateurs personnels, les habitudes et les attentes des gens ont obstinément refusé de s'aligner sur le modèle traditionnel consistant à créer, ouvrir, et enregistrer des documents. Les vilaines histoires sont devenues des clichés :
• L'étudiant qui écrit pendant une heure sans enregistrer, et qui perd tout quand l'application se plante.
• L'homme d'affaires qui enregistre accidentellement sur la "bonne version" d'un document, et prend sur lui de réinventer seul version control - pauvrement- en se contraignant à enregistrer toute nouvelle version de chaque document sous des noms légèrement différents.
• L'utilisateur confirmé du Mac, qui par réflexe choisit le bouton "Ne pas enregistrer", un document après l'autre, en quittant une application avec de nombreuses fenêtres ouvertes, et qui accidentellement perd le seul document qui avait réellement des modifications importantes.
• Le père qui jure qu'il a enregistré ce document important, mais ne peut pas à son grand dam se rappeler où il l'a mis et comment il l'a nommé.

A ce point, on ne peut plus appeler cela un problème d'éducation. Nous avons expérimenté l'éducation année après année ; les enfants sont nés et ont grandi jusqu'à leur majorité dans l'ère du PC. Et pourtant, même les plus mordus d'entre nous ont perdu des données, du temps, ou les deux, à la suite d'une faute "stupide" associée à la création, à l'ouverture, ou à l'enregistrement de documents.

Si bien qu'Apple a décrété que dans Lion, ce serait comme c'était sur le Mac original de 1984, et comme c'est dans iOS aujourd'hui : la machine doit servir l'homme, pas le contraire. Et pour cela, Apple a rajouté des APIs dans Lion, qui utilisées correctement, permettent les choses suivantes :
• L'utilisateur n'a pas à se rappeler qu'il faut enregistrer les documents. Tout fonctionne automatiquement.
• La fermeture d'un document ou la sortie d'une application n'obligent pas l'utilisateur à prendre des décisions au sujet des modifications non sauvegardées.
• L'utilisateur n'a pas à se rappeler qu'il doit enregistrer les modifications d'un document avant de lire le fichier du document à l'aide d'une autre application (comme attacher un document ouvert avec des modifications non enregistrées à un courriel).
• Quitter une application, se déloguer, ou redémarrer l'ordinateur n'implique pas que tous les documents et fenêtres ouverts doivent être ré-ouverts manuellement la fois suivante.

Les versions précédentes de Mac OS X supportaient une forme d'enregistrement automatique. Si vous aviez ouvert un document TextEdit avec des modifications non enregistrées, TextEdit (à l'occasion) sauvegardait une copie de sécurité du fichier avec "Autosaved" ajouté au nom de fichier. Si l'application se plantait ou que le Mac n'était plus alimenté, vous pouviez récupérer les modifications non enregistrées (certaines) , en trouvant le fichier "autosaved" et en l'ouvrant.

Lion introduit une variante de cette pratique : autosave sur place. Plutôt que de créer un nouveau fichier à côté de l'original, Lion enregistre en continu les modifications directement dans le document ouvert. Il le fait quand quand il y a d'importantes modifications du document, pendant les temps perdus, ou sur demande, en réponse à des requêtes venant d'autres applications pour accéder aux données du document.

Pour que tout cela fonctionne, les applications doivent être mises à jour pour utiliser les nouvelles APIs. En particulier, un nouveau framework, File Coordination doit être utilisé pour qu'une application puisse notifier à une autre qu'elle veut accéder au document qui est présentement ouvert. L'application dont le document est ouvert va déclencher un enregistrement automatique (autosave) sur le disque, permettant à l'application requérante d'utiliser les données du document. L'attachement d'un document à un courriel, ou l'utilisation de Quick Look dans le Finder sont deux exemples de la façon dont cela peut arriver.

A ce point, un peu de panique peut apparaître chez le "geek". Pour ceux d'entre nous qui ont compris le modèle de document antérieur à Lion, et l'ont utilisé pendant des décennies, l'idée que nous n'avons plus le contrôle du moment où les modifications des documents ouverts sont enregistrés sur le disque peut sembler folle. Que se passe-t-il si j'efface accidentellement une énorme portion du texte dans un document, et que Lion décide d'auto-enregistrer immédiatement après ?

Chaque modification n'a pas à être enregistrée, après tout. La pratique de faire aventurément des changements radicaux dans un document avec le confort de savoir qu'aucune de ces modifications n'est permanente tant qu'on n'a pas tapé Cmd-S est quelque chose que les utilisateurs expérimentés de Mac tiennent pour acquise, et ils peuvent hésiter à l'abandonner.

Je dois avouer que j'ai oublié un item dans la liste des modifications permises par le modèle moderne de document de Lion. le voici :
• L'utilisateur n'a pas à gérer manuellement les multiples copies des fichiers de document pour récupérer les vieilles versions.

figure

L'artiste auparavant appelé "Enregistrer"

Si vous n'avez pas encore compris, voyez l'item du menu Fichier préalablement appelé Enregistrer . Il s'intitule maintenant "Enregistrer une version". A chaque fois qu'une application adaptée à Lion enregistre automatiquement un document, elle stocke une copie de la version précédente avant de modifier le fichier avec les nouvelles données. Un menu pop-up dans la barre de titre de chaque fenêtre permet l'accès aux versions précédentes.

figure

Un menu dans la barre de titre permet l'accès aux versions précédentes d'un fichier.

Sélectionnez l'item de menu "Parcourir toutes les versions" pour entrer dans un espace à thème semblable à celui de Time Machine qui montre toutes les versions précédentes du fichier. En utilisant cette interface, le document peut être ramené à n'importe laquelle des versions précédentes, ou des petits morceaux de données des versions précédentes peuvent être copiés et collés dans la version courante. Bien que le fond d'écran étoilé et l'interface environnante de navigation dans le temps soient fournis automatiquement, les fenêtres de document sont des fenêtres réelles à l'intérieur de l'application. On peut les faire défiler, les manipuler sous toutes les formes permises par l'application, bien que le contenu des versions précédentes ne puisse pas être modifié.

figure

Le navigateur des versions du document... dans l'espace !

Le framework standard de document de Cocoa gère beaucoup de détails pour les développeurs d'applications, et inclut la purge automatique des très vieilles versions de fichiers. L'interface de gestion des versions du document montrée ci-dessus est aussi intégrée avec Time Machine, et montre à la fois les versions du fichier stockées localement et les vieilles versions qui n'existent que sur le volume de sauvegarde de Time Machine. Le passage vers l'avant ou l'arrière dans le navigateur temporel, est accompagné d'une animation de distorsion du champ étoilé.

La restauration du document à un état antérieur amène en réalité une copie de cet état en tête de la pile de toutes les modifications. Autrement dit, la restauration du document à un état comme une heure auparavant ne supprime pas les changements qui sont intervenus au cours de cette heure.

Si on revient au menu pop-up de la barre de titre, l'item de menu "Revenir à la version enregistrée"renvoie le document dans le dernier état enregistré explicitement (c'est à dire dans l'état qu'il avait quand l'utilisateur a tapé Cmd-S ou sélectionné l'item de menu "Enregistrer une version"). "Dupliquer" crée un nouveau document qui contient les mêmes données que le document courant. Pour finir, l'item "Verrouiller" empêche tout changement futur dans le document jusqu'à ce qu'il ait été déverrouillé explicitement par l'utilisateur. Les documents seront aussi verrouillés automatiquement s'ils n'ont pas été modifiés pendant un certain temps. L'option d'auto-verrouillage est configurable dans la vitre des options des préférences de Time Machine, avec des valeurs de un jour à un an. Par défaut, c'est deux semaines.

figure

Le réglage du délai d'auto-verrouillage, soigneusement caché dans la vitre des Préférences de Time Machine.

Il n'y a pas d'interface graphique pour l'accès aux versions précédentes des documents en dehors d'une application. Les versions précédentes ne peuvent pas être visualisées ou restaurées à partir du Finder, par exemple. Obliger toute manipulation des versions à se trouver dans l'application est limitant, mais cela résout aussi proprement le problème de la présentation fidèle du contenu du document -au delà de ce que propose Quick Look- quand on regarde des versions passées.

Une conséquence inattendue de l'auto-enregistrement est qu'il rend la sortie des applications beaucoup moins pénible. S'il vous est jamais arrivé d'avoir à vous déloguer rapidement ou à fermer votre Mac qui fonctionnait dur depuis des semaines ou des mois, vous savez à quel point il est pénible d'avoir à parcourir de multiples boites de dialogue qui chacune exige une décision à propos des modifications non enregistrées avant de vous autoriser à continuer.

Ce ne sont pas des questions faciles, particulièrement pour des fichiers qui peuvent avoir été ouverts depuis longtemps. Mettez de côté le fait de décider si les modifications valent d'être enregistrées ; pouvez-vous seulement vous rappeler ce que sont les modifications non enregistrées ? Etaient-elles intentionnelles, ou vous êtes vous accidentellement penché sur le clavier et avez-vous effacé un item sélectionné à un moment de la semaine précédente ? Maintenant, multipliez le dilemme par le nombre de documents ouverts avec des modifications non enregistrées et imaginez que vous êtes pressé. Ce n'est pas une expérience agréable.

L'enregistrement automatique élimine ces inconvénients. La fermeture d'une application qui supporte l'auto-enregistrement intervient instantanément, sans intervention supplémentaire de l'utilisateur -jamais.

Evidemment, en quittant une application, (ou en quittant toutes les applications par un log-out ou par un re-démarrage, vous perdez aussi tout état accumulé : tous vos documents ouverts, la taille et la position de leurs fenêtres, les positions de défilement, l'état de la sélection. Cette perte d'état peut se révéler encore plus pénible que de jouer aux "20 questions" dans un essaim de boîtes de dialogue de "modifications non enregistrées"). En supposant que vous vous souvenez des documents que vous avez ouverts, pouvez-vous les retrouver ?

Lion propose de nouvelles APIs pour résoudre ce problème aussi. Un ensemble de liaisons d'encodage/décodage du nouvel état permet aux applications de Lion d'enregistrer et de restaurer tous les aspects de l'état d'un document. Quand elle se relance, une application est supposée récupérer tous les documents ouverts au moment où elle s'est fermée, avec leur état entièrement préservé.

Alors, pourquoi cette "panique du geek" ? Est-elle encore là, hein ? Et bien, laissez-moi vous rassurer. En tant qu'utilisateur chevronné d'un formidable éditeur de texte pour le Mac, qui il y a plusieurs années a mis en place sa propre version de presque toutes les caractéristiques de gestion de documents décrites jusqu'à présent, je peux vous dire que vous vous y habituez très rapidement. Vous êtes gâté(e) par elles, en fait. Ruiné(e) par elles, pourrait-on dire. Oui, c'est un modèle très différent de celui que nous avons tous utilisé. mais c'est aussi un modèle meilleur, pas seulement pour les débutants, mais aussi pour les geeks.

Réfléchissez à cela : jamais de perte de données parce que vous avez oublié d'enregistrer. Quitter impunément les applications. Récupérer toutes les versions des documents à n'importe quel moment, en totalité ou en partie. Organiser un bel arrangement des documents et des fenêtres ouverts, en sachant que ce travail difficile ne va pas être perdu la prochaine fois que vous quittez l'application ou avez besoin de redémarrer après une mise à jour de sécurité.

Le dernier élément du puzzle n'est pas strictement associé au document, mais il ficelle le tout. Quand vous vous loguez ou redémarrez, Lion propose une option (sélectionnée par défaut) pour récupérer toutes les applications ouvertes la prochaine fois que vous loguerez. Et relancer une application qui connaît Lion lui permet bien sûr de récupérer ses documents ouverts.

Dans l'ensemble, cela signifie que vous pouvez ouvrir et fermer votre Mac sans que les applications aient besoin de vous poser de questions, et sans perdre vos données ou l'état de la fenêtre. La prochaine fois que vous vous identifiez, l'écran devrait être exactement semblable à ce qu'il était immédiatement avant le log-out. (En fait, il se trouve que Lion triche, en présentant brièvement une image statique de votre écran précédent pendant qu'il est occupé à relancer vos applications et à récupérer tous vos documents ouverts. C'est furtif, mais c'est un moyen efficace de faire que la restauration d'état semble plus rapide qu'elle ne l'est réellement).