Obligement - L'Amiga au maximum

Jeudi 25 avril 2024 - 03:24  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Les règles de style pour développement une application Amiga
(Article écrit par CATS et extrait d'Amiga News Tech - juin 1991)


Nous allons ce mois-ci nous éloigner un tout petit peu de la programmation pure et dure, pou aborder un sujet tout aussi important : le style de vos applications.

Il est en effet important que chaque programme développé pour l'Amiga suive quelques règles de présentation simples et peu contraignantes, qui ont l'avantage de proposer à l'utilisateur un environnement homogène. De cette façon, on lui assure un sentiment de "déjà-vu" lorsqu'il aborde un nouveau logiciel, il ne se sent pas complètement perdu. Cela assure de plus qu'il continuera à utiliser votre programme, au lieu de le rejeter dès le premier abord.

Style de menu

Utilisez toujours OffMenu() lorsqu'une option de menu devient inutile ou superflue. Ne laissez jamais l'utilisateur choisir une option de menu sans que votre programme puisse y réagir correctement.

Informez, chaque fois que possible, l'utilisateur qu'un sous-menu est lié à une option particulière. Par exemple :

Césure
Couleur du texte »
Couleur du fond »

Cette méthode utilise le caractère "»" du jeu de caractère ECMA Latin-1 (code ASCII 187). Ce caractère peut apparaître à gauche ou à droite de l'option de menu, suivant l'endroit où apparaîtra le sous-menu. Si c'est à gauche, utilisez plutôt le caractère "«" (code ASCII 171).

Informez également l'utilisateur qu'une requête va apparaître consécutivement au choix d'une option de menu. Là encore, le but est de lui permettre de prévoir ce qui va se passer. Par exemple :

Sauver
Sauver Sous...

On utilise ici les trois caractères "..." qui laissent à penser que quelque chose va se passer.

Les sous-menus devraient toujours être positionnés à droite de l'option de menu correspondante (si possible). Positionnez-les de manière à éviter tout effet de clignotement lorsque Intuition les dessine.

Tout programme devrait être capable de gérer correctement et efficacement les sélections multiples. Ceci est particulièrement appréciable pour les options de menus crochetées.

Les couleurs de stylos que vous définissez à l'ouverture de votre fenêtre sont utilisées pour la barre de menus et les options. Si vous ouvrez plusieurs fenêtres, vous pouvez utiliser des codes de couleurs pour chaque fenêtre, afin que l'utilisateur sache en permanence quel menu appartient à quelle fenêtre. Quoiqu'il en soit, utilisez toujours des couleurs atténuées, plus agréables à l'oeil que des couleurs vives.

Si votre programme propose à l'utilisateur de travailler des documents, créez un menu "Projet". Par convention, il est établi que le menu "Projet" doit apparaître totalement à gauche de la barre de menus. Il doit proposer les options suivantes, si possible dans le même ordre :

Nouveau			Création d'un nouveau document
Ouvrir...		Ouvrir un document depuis le disque
Sauver			Sauver le document en cours sur disque
Sauver Sous...		Sauver le document sous un autre nom
Imprimer		Imprimer le document entier 
Imprimer comme...	Imprimer une partie du document ou définir les options d'impression 
A Propos		Afficher les informations sur le programme
Quitter			Quitter le programme (si le document est modifié, proposer une sauvegarde)

Si votre application possède des fonctions d'édition, vous nous suggérons de créer un menu "Édition", immédiatement à droite du menu "Projet". Il doit proposer les options suivantes, si possible dans l'ordre listé ci-dessous :

Annuler (Undo) 		Annuler la dernière opération
			(si possible, sinon rendez cette option indisponible !)
Couper (Cut) 		Efface la partie sélectionnée du document et la placer
			dans le presse-papiers (clipboard)
Copier (Copy)		Place une copie de la partie sélectionnée du document
			dans le presse-papiers
Coller (Paste) 		Place une copie du presse-papiers dans le document
Effacer (Erase) 	Efface la partie sélectionnée du document

Style de gadgets

Lorsque vous créez une liste de gadgets pour une requête ou une fenêtre, assurez-vous de mettre en évidence (gras, couleur...) celui qui propose d'annuler l'opération en cours ("Annuler" ou "Cancel", en général).

Créer des gadgets qui se superposent n'est pas une bonne idée. A moins que vous n'y fassiez vraiment très attention, des superpositions de gadgets peuvent entraîner des effets visuels très désagréables.

Comme pour les menus, utilisez OffGadget() pour rendre non sélectionnable un gadget devenu inutile.

L'utilisateur devrait toujours apprendre rapidement à utiliser vos gadgets proportionnels. Utilisez les drapeaux FOLLOWMOUSE et MOUSEMOVE pour actualiser ce qui peut l'être rapidement (par exemple, les couleurs d'une palette ou une liste de noms). Vous pouvez toujours éviter un rafraîchissement inutile, en vérifiant que le gadget a été suffisamment bougé pour nécessiter de redessiner ce qu'il représente.

Quand vous utilisez des gadgets proportionnels pour contrôler une liste (par exemple dans un sélectionneur de fichier), faîtes en sorte que les valeurs HorizBody et VertBody soient initialisées au nombre d'éléments visibles moins 1. De cette façon, si l'utilisateur se déplace dans la liste en cliquant dans le container du gadget, la dernière ligne de la sous-liste affichée deviendra la première de la nouvelle, laissant ainsi l'utilisateur savoir où il en est.

Voici sûrement la règle la plus importante concernant les requêtes : prévoyez toujours un moyen simple et sûr d'annuler l'action en cours. Si, par exemple, l'utilisateur sélectionne l'option "Initialize" du menu "Disk" du Workbench, la requête qui apparaît lui laisse l'opportunité d'annuler le formatage. Ceci est extrêmement important.

Si vous construisez une requête avec un fichier image (bitmap) particulière, vérifiez que les boîtes de sélection des gadgets soient en accord avec le dessin de ce fichier image.

Attachez un soin tout particulier aux requêtes contenant des gadgets de chaîne : celui-ci doit être activé lorsque la requête apparaît. Si votre requête contient plusieurs gadgets de chaîne, presser "Entrée" dans l'un doit activer le suivant.

Chaque fois que vous présentez à l'utilisateur un choix qui peut se résumer par oui ou non, l'option "Oui" devrait se trouver à gauche de la requête, et l'option "Non", à sa droite. Par exemple, si votre requête contient "Ok" et "Annuler", "Ok" sera à gauche et "Annuler" à droite. Si c'est "Recommencer" et "Annuler", "Recommencer" sera à gauche et "Annuler" à droite. Les fonctions AutoRequest() et DisplayAlert() suivent cette convention. Si tous les programmes l'adoptent, l'utilisateur saura automatiquement que cliquer le gadget de droite interrompra l'action en cours, même s'il ne comprend pas son libellé ou le sens exact du dessin qu'il contient.

Ne créez jamais de requête avec deux boutons identiques ! AutoRequest() peut créer des requêtes avec un seul gadget, à droite. "Continuer" est alors un bon exemple de texte à y placer.

Les raccourcis clavier

Utilisez les deux touches Amiga comme des touches Shift supplémentaires. La touche Amiga de gauche est utilisée pour les raccourcis clavier et par Intuition ; celle de droite, pour sélectionner des options de menus sans toucher à la souris. La liste ci-dessous indique quelques recommandations pour l'utilisation de la touche Amiga de gauche :
  • N : place l'écran du Workbench devant tous les autres (géré automatiquement par Intuition).
  • ; ou M : cycle à l'écran suivant s'il y a plusieurs écrans (géré par Intuition).
  • B : répond "oui" à une requête.
  • V : répond "non" à une requête.
  • I : sélectionne une petite partie du document à droite du curseur (exemple : le mot suivant).
  • O : sélectionne une partie du document à droite du curseur (exemple : la prochaine ligne).
  • P : sélectionne une grande partie du document à droite du curseur (exemple : le prochain paragraphe).
  • J : sélectionne une petite partie du document à gauche du curseur (exemple : le mot précédent).
  • K : sélectionne une partie du document à gauche du curseur (exemple : la ligne précédente).
  • L : sélectionne une grande partie du document à gauche du curseur (exemple : le paragraphe précédent).
La liste suivante indique les raccourcis standard à utiliser avec la touche Amiga droite. Les programmes devraient proposer autant de raccourcis que possible : l'utilisateur confirmé apprend vite à se servir du clavier, tandis que le novice continue à utiliser la souris et les menus.
  • X : couper (cut).
  • C : copier (copy).
  • V : coller (paste).
  • I : italique (italics).
  • B : gras (bold).
  • U : souligné (underline).
  • P : normal (plain).
  • Z : annuler (undo).
  • O : ouvrir (open).
  • S : sauver (save).
  • Q : quitter (quit).
La touche Help

Prenez en compte la touche Help. Si votre application dispose d'une aide en ligne intégrée, la touche Help est un bon moyen de l'obtenir. Imaginez la tête de l'utilisateur perdu, qui appuie sur Help alors que rien ne se passe...

Le curseur

Les touches fléchées sont un moyen pratique de contrôler les mouvements du curseur. Voici nos recommandations quant à leur utilisation :
  • Flèche (uniquement) : déplacement de l'unité la plus petite (un caractère ou une ligne).
  • Flèche + Alt : déplacement de l'unité immédiatement supérieure (un mot ou une page).
  • Flèche + Shift : déplacement de la plus grande unité (fin de ligne, début de document).
  • Flèche + Ctrl : déplacement spécial ou sans effet.
La souris

Intuition utilise le bouton gauche de la souris pour la sélection et le bouton droit pour le transfert d'informations. Nous vous encourageons à suivre ce modèle pour aider l'utilisateur à comprendre le fonctionnement de chaque application, et à s'en souvenir. Quand l'utilisateur appuie sur le bouton gauche, Intuition examine l'état du système et la position du pointeur. Ces informations sont utilisées pour décider si l'utilisateur essaye de sélectionner un objet, une opération ou une option. Par exemple, l'utilisateur positionne le pointeur sur un gadget et appuie sur le bouton gauche pour le sélectionner. S'il déplace la souris tout en maintenant le bouton appuyé, cela signifie sans doute qu'il désire déplacer ce gadget.

Intuition utilise le bouton droit pour les opérations de menu. Une pression sur le bouton droit affiche normalement la barre de menu. Si l'utilisateur déplace la souris tout en maintenant le bouton droit appuyé, il est sans doute en train de se promener dans le menu, à la recherche d'une option particulière. Un double-clic du bouton droit peut faire apparaître une requête spéciale, que l'on peut considérer comme une extension aux menus. Cette requête étant destinée à recevoir des informations, il est correct de l'assigner au bouton droit.

Si vous décidez de gérer vous-même les évènements en provenance de la souris, conformez-vous le plus possible à ce modèle.

Écran et fenêtre

Permettez toujours à l'utilisateur d'avoir accès à la barre de l'écran (ce peut être aussi simple que d'ouvrir votre fenêtre un pixel en dessous du haut de l'écran). Évitez d'ouvrir des fenêtres plein écran qu'on ne peut déplacer ni changer de taille, surtout si vous utilisez l'écran du Workbench.

De même, si votre programme ne dépend pas particulièrement de la taille de sa fenêtre, fixez ses limites MaxWidth (largeur maximale) et MaxHeight (hauteur maximale) à -1 : l'écran utilisé peut être plus grand que la résolution 640x256 standard.

Quand vous ouvrez un écran personnalisé (CustomScreen), redirigez-y les requêtes d'AmigaDOS (champ "pr_WindowPtr" de la structure Process), sinon Intuition amènera l'écran du Workbench devant tous les autres. Vous devez restaurer le pointeur avant de fermer la fenêtre.

Divers

Un programme devrait toujours appeler OpenWorkbench() avant de quitter, même s'il n'a pas appelé CloseWorkbench() auparavant : si un autre programme a fermé le Workbench et que la fin du vôtre a libéré suffisamment de mémoire pour lui permettre de se rouvrir, il est préférable qu'il le fasse. Le Workbench devrait être ouvert le plus souvent possible, cela aide l'utilisateur à garder un environnement consistant. Intuition vérifie toujours, lorsqu'un programme ferme un écran, que ce n'était pas le dernier, auquel cas celui du Workbench doit être réouvert.

Autorisez tant que faire se peut l'utilisateur à configurer les paramètres de votre programme. Par exemple, si vous ouvrez un écran personnalisé, laissez-lui la possibilité d'en changer les couleurs. Si votre logiciel produit du son, permettez-lui d'en modifier le ton et le volume. Ne rendez cependant pas cette personnalisation indispensable, et laissez toujours une possibilité de revenir aux réglages par défaut.

Couleurs

Intuition utilise les couleurs suivantes pour le pointeur de la souris (entre parenthèses, le numéro du registre de couleur matériel correspondant) :
  • 0 : transparente.
  • 1 (17) : intensité moyenne.
  • 2 (18) : basse intensité.
  • 3 (19) : haute intensité.
Entourez votre pointeur personnel d'un filet de couleur 1 ou 3. Le pointeur de souris étant toujours le sprite 0. Vous pouvez en changer les couleurs en appelant SetRGB4() avec le ViewPort de n'importe quel écran, même s'il n'a que deux couleurs. Par exemple :

Style

Icônes

Vos icônes devraient être dessinées avec une source lumineuse venant du coin haut/gauche de l'écran, et être visibles avec 1 ou 2 plans de bits. Dessinez de belles icônes, qui reflètent l'utilité de votre programme, mais surtout qui ne soient pas trop grandes : cela prend de la place à l'écran, en mémoire et sur disquette. Ayez une approche minimaliste quand vous dessinez vos icônes.


[Retour en haut] / [Retour aux articles]