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

L'installation et les mises à jour (2)




Ce que dit Apple :




3- Les assistants d'installation

Pour des produits avec des procédures d'installation complexes, un assistant d'installation peut être utile. C'est une petite application qui guide les utilisateurs tout au long des options d'installation. Vous stockez vos assistants à un endroit où votre application peut les trouver, par exemple, dans le paquetage de l'application.

titre

Exemples d'icônes d'assistants


Votre application doit ouvrir l'assistant d'installation de façon automatique quand c'est nécessaire (par exemple, quand le système détecte un nouveau périphérique, ou la première fois que l'utilisateur lance l'application). Dans l'idéal, l'utilisateur ne doit utiliser l'assistant qu'une seule fois.

Gardez à l'esprit ces recommandations quand vous concevez un assistant d'installation :

• Tant que l'assistant est actif, affichez le menu de l'application (avec les items "A propos de..." et "Quitter"), et le menu "Edition" (avec ses items standards pour permettre à l'utilisateur de rentrer du texte). Ne mettez pas de menu d'aide (ni de bouton d'aide) ; c'est l'assistant d'installation qui est l'aide.

• Prévoyez les boutons "Revenir" et "Continuer" pour permettre la navigation.

• La barre de titre de la fenêtre de l'assistant doit contenir un bouton de fermeture invalidé, un bouton de minimisation actif, et un bouton de zoom invalidé.

• Appelez la première vitre "Introduction" ; expliquez-y le but des vitres suivantes.

• Appelez la dernière vitre "Conclusion". Elle doit expliquer aux utilisateurs quels changements ont été faits dans leur système, et comment modifier ces réglages. Cette vitre doit comporter un bouton "Terminer" par défaut, et un bouton "Revenir" invalidé.

• Il est préférable de ne poser qu'une question par vitre.

• Quand cela se justifie, utilisez des contrôles de sélection qui ne permettent pas une sélection vide, pour éviter d'avoir à redemander la même information.

• Evitez d'afficher un astérisque ou une icône personnalisée à côté de chaque champ de texte demandé. Testez les champs vides quand l'utilisateur clique sur "Continuer". S'il y a un champ vide, renvoyer la vitre et afficher un astérisque ou un autre marqueur à côté du champ vide.

• Autant que possible, utilisez les applications et les services du système pour proposer des choix par défaut intelligents. Par exemple, vous devez utiliser Bonjour pour déterminer une adresse IP appropriée.

• Limitez le nombre de questions au minimum. Le meilleur assistant d'installation, se termine le plus vite possible, et permet à l'application de raffiner les préférences et les réglages.

• Fournissez une rétroaction quand c'est nécessaire. Vous pouvez afficher une barre de progression à côté du bouton "Revenir", en alignant la partie gauche de la barre de progression avec celle de la fenêtre.

• Ne remplissez pas tout l'écran. Les utilisateurs doivent pouvoir accéder à d'autres parties du système pendant que l'assistant est ouvert.


3- Mise à jour d'applications installées

Si vous avez à mettre à jour une application déjà installée, vous devez fournir un installeur qui ne va modifier que les fichiers nécessaires à la nouvelle version. Pensez que des fichiers peuvent avoir été supprimés ou déplacés ; ne regardez pas seulement dans le dossier Applications et ne vous basez pas iniquement sur les nome de fichiers pour identifier ceux de votre application. Testez plutôt les dates de création et de modification, les numéros de version, la taille des fichiers pour les identifier. Si vous trouvez des versions multiples de votre application, fournissez une information à propos de chacune, comme sa position et sa date de création, pour que l'utilisateur puisse choisir laquelle il veut mettre à jour.

Les utilisateurs de Macs sont habitués à utiliser la mise jour de logiciels, dans les Préférences Système pour mettre à jour le système et les logiciels.La mise à jour du système d'exploitation a des implications différentes pour ceux qui mettent à jour des applications tierces : elle ne doivent pas tenter de dupliquer l'expérience qu'a l'utilisateur des mises à jour de logiciels. Pour fournir aux utilisateurs une expérience conforme et sans problème, utilisez les recommandations de cette section.

Le but d'une mise à jour est d'être facile et de ne pas provoquer de blocage. Pour y arriver, votre application doit fournir toutes les procédures de mise à jour nécessaires, seulement au démarrage. Vous devez notamment éviter de tester des mises à jour à l'aide d'un processus en tâche de fond, ou des utilitaires cachés qui s'exécutent indépendamment de l'application. Si l'utilisateur ignore qu'un tel processus se déroule, même après avoir quitté l'application, l'apparition de notifications de mise à jour peut être surprenante et déroutante.

Note : Dans le cas d'un premier contact avec votre application, comme avec un assistant d'installation, il est souhaitable de proposer une recherche des mises à jour disponibles. Si une nouvelle mise à jour est disponible, permettez à l'utilisateur de la faire immédiatement, avant qu'il ne commence à travailler avec la version installée. Pour les lancements suivants, suivez les conseils qui suivent.

Pour fournir une expérience de mise à jour utile :

1- Quand l'application est lancée pour la première fois depuis l'installation, lancez un thread séparé qui teste la disponibilité de mises à jour.

2- Si une nouvelle version est disponible, prenez-le en compte dans votre application, mais n'avertissez pas l'utilisateur immédiatement.

3- La prochaine fois que votre application est lancée, testez la disponibilité de la mise à jour enregistrée à l'étape précédente, et avertissez immédiatement l'utilisateur.

Si l'application n'est pas avertie de la disponibilité d'une nouvelle version, lancez un thread séparé pour tester l'existence de mises à jour, et conservez-en la trace, sans en informer l'utilisateur à cette étape. Votre application répètera alors l'étape 3 en démarrant, et si l'utilisateur choisit d'installer la nouvelle version, l'application mise à jour recommencera à l'étape 1.

Cette méthode procure plusieurs avantages

• Vous évitez de ralentir le lancement en utilisant un thread séparé. La recherche de mises à jour implique couramment une connexion internet ; si vous faites cela sur le thread principal de l'application, cela va ralentir de façon notable le lancement.

• Les utilisateurs seront contents de recevoir une notification de mise à jour au moment du lancement plutôt que au hasard, pendant qu'ils travaillent. Comme l'affichage d'une notification de mise à jour dépend d'un test rapide de l'état de l'application plutôt que d'une recherche sur internet, vous pouvez l'afficher immédiatement au démarrage.

• Vous n'avez pas à prévoir des dialogues supplémentaires pour demander à l'utilisateur s'il veut faire la mise à jour pendant que l'application fonctionne.

• Vous évitez de stresser l'utilisateur avec une notification de mise à jour inattendue, intervenant en dehors du contexte de l'application en cours.

Permettez à l'utilisateur de personnaliser la mise à jour dans une fenêtre de préférences. figure
L'utilisateur doit avoir la possibilité de permettre des mises à jour automatiques ou de tester les mises à jour immédiatement, comme dans la figure ci-dessus (à gauche)
Quand l'application teste son état interne et trouve qu'une nouvelle version est disponible, affichez une alerte (figure, à droite) qui décrit la disponibilité et le type de mise à jour, et permet à l'utilisateur de récupérer la nouvelle version. Vous pouvez personnaliser l'alerte pour une mise à jour gratuite ou payante.

• Tous les éléments de l'alerte sont nécessaires ; dans la plupart des cas, la seule chose que vous avez à faire est de remplacer MyApplication et MyCompany par les noms appropriés, et de compléter l'icône d'alerte par celle de votre application. Il est important d'afficher l'icône d'alerte, car une installation de logiciel peut détruire des données de l'utilisateur. Dans l'alerte, vous pouvez aussi remplacer "une nouvelle version" par "une mise à jour mineure" si vous le jugez utile.

• Dans l'alerte, le message principal est mis en gras, et le texte d'explication est écrit plus petit. N'utilisez pas une alerte simplifiée qui ne donnerait pas assez d'information à l'utilisateur.

• Les trois boutons d'alerte sont les actions que peut prendre l'utilisateur :
- Le bouton par défaut "Modifier les Préférences" fait disparaître l'alerte, et ouvre la fenêtre des préférences de l'application. Après que l'utilisateur ait ajusté ses préférences et fermé la fenêtre de préférences, l'application reprend la main.
- Le bouton "Demander plus tard" laisse inchangé l'état interne de la mise à jour, et masque l'alerte. Comme l'état révèle la disponibilité d'une mise à jour, l'alerte réapparaitra au lancement suivant de l'application.
- Le bouton "Mettre à jour maintenant" ré-initialise l'état interne de la mise à jour, fait disparaître l'alerte, et lance le téléchargement de la mise à jour. Après le téléchargement, l'application doit inviter l'utilisateur à sauver tous ses documents et procède à la mise à jour.

• Si vous proposez un logiciel à l'achat, utilisez une alerte comme celle de droite. Elle diffère de la précédente de deux façons : figure
- Le message principal indique clairement qu'une nouvelle version est disponible à l'achat, et incite l'utilisateur à cliquer sur le bouton "en savoir plus".
- Ce bouton réinitialise l'état interne de l'application et renvoie sur votre site, où l'utilisateur peut en apprendre plus et choisir d'acheter.

S'il choisit de mettre à jour, un paquetage, doit être téléchargé indépendamment de l'application en fonctionnement. L'utilisateur installera ce paquetage quand il le voudra.


Mes commentaires :

Encore une partie très technique, à laquelle je n'ai pas grand chose à rajouter, si ce n'est pour souligner le luxe de détails avec lesquels Apple a prévu les assistants d'installation ou la procédure de mise à jour. Il est évident que le programmeur a intérêt à suivre scrupuleusement ces directives ; cela ne peut que rendre son application plus professionnelle et attractive.

On aimerait qu'Apple applique ce même souci du détail à la qualité de son interface graphique...

Cette section clôt la seconde partie des AHIG (Aqua Human Interface Guidelines). La troisième décrit en détail tous les éléments de l'interface graphique disponibles. La plupart sont bien sûr connus des utilisateurs du Mac, mais je ne doute pas que vous aurez l'occasion de faire des mises au point intéressantes, et d'apprendre encore bien des choses si vous avez le courage de suivre cette (longue) troisième partie consacrée à l'interface Aqua.