1. Mode Graphique
    1. 1- Principes fondamentaux
      1. Processus de conception
      2. Caractéristiques d'un grand logiciel
        1. Haute performance
        2. Facilité d'utilisation
        3. Aspect attractif
        4. Fiabilité
        5. Adaptabilité
        6. Interoperabilité
        7. Mobilité
      3. Principes de conception
        1. Principes (1)
        2. Principes (2)
        3. Principes (3)
      4. Pensez aux utilisateurs
        1. Compatibilité internationale
        2. Accessibilité aux handicapés
        3. Etendre l'interface
      5. Priorités
    2. 2- L'expérience du Mac
      1. L'environnement
        1. L'environnement (1)
        2. L'environnement (2)
      2. Les technologies
        1. Les technologies (1)
        2. Les technologies (2)
        3. Les technologies (3)
        4. Les technologies (4)
      3. Installation et mises à jour
        1. Packaging, installation
        2. Les assistants
    3. 3- L'interface Aqua
      1. Entrées utilisateur
        1. La souris
        2. le clavier
          1. Fonction des touches
          2. Raccourcis-clavier
          3. Navigation au clavier
        3. Sélection
        4. Edition de texte
      2. Glisser-déposer
        1. Glisser-Déposer (1)
        2. Glisser-Déposer (2)
      3. Le texte
        1. Les fontes
        2. Le style
      4. Les icônes
        1. Genres et familles d'icônes
        2. Création des icônes
        3. Icônes des barres d'outils
        4. Images propres au système
      5. Les pointeurs
      6. Les menus
        1. Comportement des menus
        2. Conception des menus
        3. La barre de menus
          1. Les menus (1)
          2. Les menus (2)
          3. Les menus (3)
        4. Menus contextuels et du Dock
      7. Les fenêtres
        1. Type et apparence
        2. Eléments
          1. Barre de titre
          2. Barre d'outils
          3. Barre de recherche
          4. Barre latérale
          5. Barre inférieure
          6. Les Tiroirs
        3. Comportement des fenêtres
          1. Comportement (1)
          2. Comportement (2)
          3. Superposition
          4. Défilement
        4. Les panneaux
          1. Les panneaux
          2. Panneaux transparents
          3. Autres panneaux
      8. Les dialogues
        1. Types de dialogues
        2. Aspect et comportement
      9. Fenêtres de dialogues
        1. Recherche, Préférences, Ouverture
        2. Enregistrement
        3. Choix, Impression
      10. Les contrôles
        1. Contrôles du cadre
          1. Contrôles en capsule
          2. Contrôles hérités
        2. Les boutons
          1. Boutons poussoirs
          2. Boutons en icônes
          3. Boutons de recherche
          4. Boutons de gradient, et d'aide
          5. Boutons à champfrein
          6. Boutons ronds
        3. Contrôles de sélection
          1. Boutons radio
          2. Cases à cocher
          3. Contrôles segmentés
          4. Boutons et menus pop-Up
          5. Menus Action
          6. Boîtes de combinaison
          7. Contrôles de chemin
          8. Puits, sélection de date
          9. Menus pop-down
          10. Glissières
          11. Contrôles pas-à-pas et placards
        4. Indicateurs
          1. Indicateurs de progression
          2. De niveau, de capacité
          3. D'estimation, de pertinence
        5. Contrôles de texte
          1. Champs d'entrée
          2. Champs à jeton
          3. Champs de recherche
          4. Listes de défilement
        6. Contrôles de visualisation
          1. Triangles d'affichage
          2. Boutons d'affichage
          3. Vues en liste
          4. Vues en colonnes
          5. Vues éclatées
          6. Vues à onglets
        7. Contrôles de groupage
          1. Séparateurs
          2. Boîtes de groupage
        8. Règles de disposition
          1. Dans le corps de la fenêtre
            1. Fenêtre de préférences
            2. Fenêtre à onglets
            3. Alerte, Dialogue
          2. Contrôles réduits et mini
            1. Contrôles réduits
            2. Mini contrôles
          3. Groupement des contrôles
          4. Positionnement dans la barre inférieure
      11. Glossaire
        1. Entrées en anglais
          1. 1- A à C
          2. 2- D à H
          3. 3- I à R
          4. 4- S à Z
        2. Entrées en français
          1. 1- A à C
          2. 2- C à G
          3. 3- I à P
          4. 4- P à Z
        3. `
    4. 4- Les leçons de Lion
      1. L'environnement de Mac OS X
      2. Principes fondamentaux
      3. L'expérience utilisateur
        1. Règles de conduite (1)
        2. Règles de conduite (2)
        3. Règles de conduite (3)
        4. Règles de conduite (4)
        5. Règles de conduite (5)
        6. Règles de conduite (6)
      4. Les technologies d'Apple
        1. Les technologies (1)
      5. -->
  2. Mode Commande

Caractéristiques d'un grand logiciel (5)

5- L'adaptabilité

La parole d'Apple :

Un programme adaptable est capable de s'ajuster à son environnement, donc il ne doit pas cesser de fonctionner si les conditions changent, par exemple si une connexion réseau cesse de fonctionner. Si certaines ressources sont verrouillées ou deviennent inaccessibles, un programme adaptable doit trouver d'autres moyens de satisfaire les requêtes de l'utilisateur.

C'est l'un des atouts de Mac OS X que d'être capable de s'adapter rapidement et facilement à des modifications de configuration. Par exemple, si un utilisateur modifie sa configuration de réseau à l'aide des Préférences Système, des applications comme Safari ou Mail utilisent le framework CFNetwork pour s'adapter au changement.

Quelques conseils pour rendre un logiciel adaptable :

• Introduire la tolérance dans l'interface : prendre en compte les cas où un volume du système de fichiers ou le réseau disparait. Permettre à l'utilisateur de sauvegarder son travail sur un autre volume, ou de se reconnecter plus tard au réseau.

• Ne pas compter sur une configuration matérielle précise ; ces configurations peuvent varier beaucoup selon l'ordinateur utilisé, le pays, l'utilisateur. Par exemple, les claviers n'ont pas le même ensemble de touches ; des périphériques peuvent être retirés ou rajoutés pendant une session. Les interfaces du Kit I/O permettent de détecter ces modifications.

• Ne pas faire de suppositions sur les conditions de localisation : gérer des formats de date, d'heure et de nombres différents. Ne pas supposer que le format d'adresse de l'utilisateur courant est le seul disponible ; il peut avoir d'autres adresses dans son carnet d'adresses.

• Eviter des suppositions sur l'environnement d'exécution. Par exemple, dans un environnement NetBoot, seul le répertoire Maison de l'utilisateur est disponible en écriture, et l'accès aux ressources du systèmes peut être limité et en lecture seulement.

• Utiliser Bonjour pour découvrir les périphériques et les services disponibles sur le réseau. Ne pas demander à l'utilisateur de taper une adresse IP ou de configurer un serveur DNS.

• S'adapter aux modifications d'écran et de résolution. Mac OS X reconnait l'installation de nouveaux moniteurs, et en avise les applications par l'intermédiaire des services de Quartz. Le logiciel doit s'adapter en ajustant la position et la dimension des fenêtres.

• Utiliser les APIs récentes, qui prennent en compte les modifications de configuration

• Eviter l'écriture de pilotes personnalisés : le I/O Kit contient des pilotes pour la plupart des protocoles standards et des types de périphériques. L'utilisation de ces pilotes garantit que le matériel fonctionnera automatiquement sur de nouvelles versions de Mac OS X.


Mes commentaires :

En tant qu'utilisateur, je n'ai pas grand chose à dire, et pas de gros reproches à adresser à Apple sur ce sujet : je n'ai à vrai dire jamais éprouvé de difficulté insurmontable pour rajouter un périphérique à ma configuration, et leur utilisation se révèle le plus souvent simple et immédiate.

Mais je suis un utilisateur relativement basique, avec des besoins limités, et je sais résoudre les problèmes quand ils se posent.

Car des problèmes, il y en a ! Deux exemples seulement :

a) Pour la gestion des imprimantes:

• Les multiples modifications de la gestion des imprimantes d'une version à une autre de Mac OS X nécessitent à chaque fois une certaine période d'adaptation, qui peut poser des problèmes aux débutants, et les laisser sans solution. Il m'est souvent arrivé d'avoir à intervenir chez des amis et des connaissances, pour débloquer des imprimantes qui refusaient de fonctionner, le plus souvent parce qu'une tâche était bloquée. Le gestionnaire d'imprimantes du dossier utilitaires a été remplacé par les <Préférences Système<Imprimantes et fax, et quand il y a un problème d'impression, le chemin pour y accéder n'est pas direct ni évident. figure





• Pour une imprimante connectée par Internet, comme ma HP Laserjet 2200 dn, le problème est de se figurer l'adresse attribuée à l'imprimante par DHCP, dont on a besoin dans la fenêtre de configuration. Bonjour est inutile dans ce cas, (c'est un service pour les développeurs, pas pour les utilisateurs), et l'utilitaire de réseau réclame des adresses internet... Il faut aller chercher les <Informations Système<Matériel<Imprimantes, ou sortir une page de test de l'imprimante ; la solution n'est pas à la portée d'un débutant ! figure





• Snow Léopard a beaucoup amélioré les choses, en ne permettant de télécharger que les pilotes propres aux imprimantes installées. Un bon point, pour une fois !

b) Pour la gestion d'Airport :

J'ai déjà signalé le problème : les réglages d'une borne Airport laissent l'utilisateur confiant... et l'abandonnent à son triste sort avec un réseau inactif. Car il n'y a rien pour lui faire savoir qu'il doit aussi définir une adresse de DNS convenable dans <Préférences Système<Réseau<Airport<Avancé<DNS pour que le réseau puisse fonctionner.

Même dans ce domaine de l'adaptabilité, où Apple a généralement des solutions efficaces, il y a donc encore des choses à améliorer.