Cours C++ :6.Les interfaces graphiques

Moderator: Mod

Cours C++ :6.Les interfaces graphiques

Postby Manu404 » Fri Mar 07, 2008 2:21 am

[size=16:726db8d509]COURS[/size:726db8d509]
Comme vous avez pu le constater dans le cours précédent, les cours consisterons de plus en plus a vous expliquer comment faire pour apprendre et comment régler certaines situation.
En effet faire des cours qui chaque fois explique chaque fonction ou un bout de code serait long a faire et en plus vous progresseriez que trés lentement.
Donc aujourdh'ui je vous expliquerai le fonctionnement des interfaces graphique, comment se positionner par rapport a celle ci et comment otpimiser leur fonctionnement. Par contre je n'expliquerai pas comment fonctionne les codes. En effet on utilisera de plus en plus de bibliothéque bnon-standard qui sont réaliser par des société ou des programmeurs. Et donc chaque fonction de celles si sont expliqué en detail sur le site du créateur de la biliothéque.

Bon vous savez maintenant taper du texte, vous "connaissez" toutes les fonctions de bases (cfr le chapitre sur les librairies) et vous decidez de créé votre premier petit programme _
Bravo, vous êtes sur le bon chemin, mais si vous gardez votre interface Ms-Dos, beaucoup de gens seront décourager et n'y veront qu'un un petit soft.
En effet qu'est ce qui fait que les traitemenst de texte comme Word sont utilisé par beaucoup de gens c'est la facilité d'utilisation principalement.
En effet ce qui compte dans un programme (c'est triste mais c'est vrai) c'est la facilité de prise en main et d'utilisation , si il faut chercher 30min avant de savoir ne seraitce que comment le lancer, peux de gens l'utiliseront.
Le second point important (et la encore c'est trés triste) c'est l'apparence...
Un programme en Ms-Dos fait (pour la majorité des gens) moin pro que un programme avec un belle interface graphique.
Et malheureusement vien en 3éme posistion les fonctionalitées.
Ce n'est pas le cas de tout les programme, ceci ne concerne que les programmes grand publique, dans le cas des programme spécialisé, comme 3DstudioMax et Cinema 4D (pour la 3d) Nuendo et Protools (pour la Mao) ou Fireworks et photoshop (pour la 2d et la retouche) les programmes s'adressent a des gens qui sont sensé être formé a ce genre de programme et donc ne se soucie pas d l'aspect "grand publique
Dans ce chapitre je vais vous m'occuper de l'apparence.
La premiére solution consiste a utiliser un programme "Colle" comme le python pour programmer facilement sont interface et ensuite incorpore les codes C++, mais cette technique requiérent que en plus vous connaissiez un language "Colle" (si c'ets le cas foncez vous gagnerez du temp)
Si ce n'est pas le cas lisez ce qui suit :
La seconde technique consiste a utiliser des bibliothéques tels que "Qt" qui s'est fait un nom dans le milieu par exemple.
Ces bibliothèque s'apel des framework.
Il y a plusieurs grande famille de framework, les Api, les moteurs graphique, les moteurs physique et les moteurs audio.
Direct X par exemple est un suite de bibliothèque permetant a lui seul de regrouper ces fonctionalité et par la même occasion un des pus utilisé, ainsi que OpenGl.
Direct et OpenGl sont d'ailleurs souvent utilisé dans le monde du jeux video (le C++ aussi par la même occasion)
Leurs fonctionnements est très simple, après instalation, il suffit de les appeler comme des bibliothèque normale (#include <Xyz.h>)
Je ne peut vous expliquer comment les tuiliser car en fonction de celle que vous choisirez, les commandes différent.
Donc je ne parlerai pas code mais "disgn" avec quelques régle a respecter.

1.Choisir le nom le plus approprié mais aussi le plus conçis pour chaque fonction (quite a utiliser les bulles d'aide)

2.Essayer de réaprtir les fonctions au mieux dans l'espace (ne pas les collé toutes l(une a l'autre dans un coins et avoir un grand espace vide)

3. Cela peut paraitre ridicule mais faite un listing sur un feuille de papier de toutes les fonctions a programmer et biffer chaque fonctions qui vient d'être faites (sa peut arriver de ne pas faire attention mais d'avoir oublier un fonctions).

4.Tester votre programme aprés chaque modification de l'interface, en cas de problème sa permet de le voire tout de suite et donc de localiser directement la source du problème.
Choisissez de noms de menu cohérant et clair afin de ne pas passer 3heure a cherche ce que l'on veut (le systéme Fichier, Edition, Fenêtre, Affichage, Aide et un bon exemple)

5.N'utilisez jamais des icones qui se ressemble afin d'eviter toute ambiguité.

6.Essayez si possible de faire 2 version, une en français (pour nous) et une en anglais. en effet les français font souvent l'effort d'utiliser de programe en anglais, mais les anglais ne le feront pas... En plus cela vous permetras de toucher plus de monde.

7.Evitez l'argot dans le nom de fonction du type => Run le Log du Sys Fri
Vous comprendrez mais si vous en êtes a faire un onterface graphique ce n'est pas pour votre unique usage c'est que vous voulez partager votre programme avec la terre entiére.

8.Prenez si possible une bibliothéque qui ets multiplateforme afin d'eviter tout probléme. (compatible Windows, Linux et Mac, mais la majorité le sont a l'heure actuel)

9. Enfin adoptez une interface sobre et calme car travailler dans un programme ou les menus sont rouge avec le texte en vert fluo peut vite s'averer devenir un calvaire aprés quelques heures d'utilisation.



Bon bein voila, je crois que c'est tout...
Sur ce !
A bon entendeur;
Salut!
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:

Postby Korigan » Fri Mar 07, 2008 10:55 pm

Ce cours ouvre la porte à la prise de conscience de l'ergonomie des programmes!

C'est très important! Lorsque l'on a un soft devant les yeux, c'est la même chose qu'un entretien avec une personne physique. Les premières secondes sont les plus importante. C'est
durant se lapse de temps que l'on se forge une idée qui peut se révéler être définitive pour un bon porcentage des utilisateurs s'ils acceptent ou s'ils sont forcé de continuer à utiliser notre soft.

Si je puis me permettre, j'ai recherché les principales règles d'ergonomie et j'ai trouvé ceci sur le forum de comment ça marche. C'est vrai que cela ne s'applique pas exclusivement au C++ mais à tout programme, mais ici ou ailleur, ce sont des règles qui je pense se doivent d'être cité vue l'état d'avancement des connaissances que tu nous délivre ici 8)

En espérant que la longeur du texte ne vous déroutes pas...parcourir ces notions peut se révéler etre la clef pour une meilleur communication.


Les principaux critères d'ergonomie d'un site web sont les suivants (liste non exhaustive) :


[b:3b3c4dc582]Sobriété[/b:3b3c4dc582]
Sobriété Simplicité un site web très épuré renforcera la crédibilité de l'organisation.
Peu chargé Les images animées sont déconseillées. Les animation doivent être privilégiées pour afficher des messages forts car elles attirent le regard de l'internaute.

[b:3b3c4dc582]Lisibilité[/b:3b3c4dc582]
Lisibilité Clarté Il convient de prendre en compte le fait que les informations écrites sont moins faciles à lire sur un écran que sur papier (25% de temps de lecture supplémentaire). Ainsi, le texte devra être suffisamment aéré.
Structuration Le texte devra être structuré à l'aide de paragraphes et de titres de différents niveaux, afin d'en faciliter la lecture
Organisation Les éléments d'informations doivent être hiérarchisé par niveau d'importance. Les éléments les plus importants doivent figurer en haut de page.

[b:3b3c4dc582]Utilisabilité[/b:3b3c4dc582]
Utilisabilité Facilité de navigation La « règle des 3 clics », globalement suivie, stipule que toute information doît être accessible en moins de 3 clics
Repérage A tout moment le visiteur doit pouvoir être en mesure de se repérer dans le site. Qui plus est, le logo doit être présent sur toutes les pages, au même emplacement, et une charte graphique uniforme doit être appliquée à l'ensemble des pages afin de permettre à l'usager de savoir qu'il est toujours sur le même site. Un plan du site peut constituer un excellent moyen de permettre au visiteur de savoir où il est.
Liberté de navigation Le site doit laisser la possibilité à l'utilisateur de revenir à la page d'accueil et aux principales rubriques par un simple clic, quelque soit la page sur laquelle il se trouve (grâce à une barre de navigation par exemple). Dans la mesure du possible, l'utilisateur devra pouvoir naviguer dans le contenu selon des chemins transversaux. Les pages d'introduction ou pages interstitielles (splash screen) sont à éviter car elles énerveront la plupart des visiteurs.
Visibilité de l'adresse L'URL de la page en cours doit être constamment visible et suffisamment explicite pour permettre à l'utilisateur de se repérer afin de pouvoir revenir facilement.
Tangibilité de l'information Les informations présentes sur le site doivent être qualifiées, c'est-à-dire que des éléments permettant d'en connaître la date de mise à jour où l'auteur doivent être présents. D'autre part, il est néfaste pour un site de proposer une façade accrocheuse aboutissant sur des sections en travaux.
Homogénéité de la structure Les éléments de navigation doivent être situés au même endroit sur toutes les pages, si possible avec une présentation uniforme d'une page à une autre.

[b:3b3c4dc582]Rapidité[/b:3b3c4dc582]
Rapidité Temps de chargement Le temps d'affichage d'une page doit être le plus petit possible car la majorité des internautes ne patientent pas plus de 15 secondes lors du chargement d'une page. Ce facteur dépend notamment de la connexion du visiteur, de la taille de la page et de ses images, ainsi que des capacités du serveur web.
Images optimisées Il convient d'optimiser au maximum la taille des images, en choisissant un format adapté et un nombre de couleurs le plus petit possible. Il est recommandé de ne pas dépasser 30 à 40 ko maximum par image, sauf action volontaire de votre part (par exemple dans le cas d'une image téléchargeable en haute résolution).
Images non redimensionnées Pour la même raison, les images doivent préférentiellement être dans leur taille réelle, sans redimensionnement.

[b:3b3c4dc582]Interactivité[/b:3b3c4dc582]
Interactivité Liens hypertextes L'interactivité caractérise les interactions possibles entre l'utilisateur et le site web. Les liens hypertextes offrent de vastes possibilités dans ce domaine et permettent d'offrir au visiteur des parcours multiples, au gré de ses envies. Il est conseillé de mettre suffisamment de liens entre les différentes pages. A l'inverse, trop de liens peuvent rendre difficile la lecture.
Découpage de l'information Afin de permettre au visiteur de mieux assimiler l'information et, dans certains cas de susciter sa curiosité, il est préconisé de découper l'information. Le découpage de l'information peut notamment se traduire par un texte d'accroche et un lien hypertexte conduisant à la suite de l'article.
Facilitation des échanges Il est souhaitable de tout mettre en place pour faciliter l'échange avec les visiteurs, notamment afin de recueillir leurs impressions et leurs demandes, en vue de faire évoluer le site. A minima, le visiteur doit pouvoir trouver facilement le moyen de contacter une personne, par courrier électronique ou grâce à un formulaire de contact.

[b:3b3c4dc582]Adaptabilité[/b:3b3c4dc582]
Adaptabilité L'adaptabilité caractérise la possibilité de personnalisation du site web sur intervention de l'utilisateur.
Redimensionnement des polices Les textes du site doivent préférentiellement utiliser des polices dont la taille n'est pas exprimée en valeur absolue, afin de laisser la possibilité de les redimensionner aux personnes le souhaitant.

[b:3b3c4dc582]Adaptativité[/b:3b3c4dc582]
Adaptativité L'adaptativité caractérise la possibilité de personnalisation du site web à personnaliser automatiquement le site web sans intervention de l'usager.

[b:3b3c4dc582]Accessibilité[/b:3b3c4dc582]
Accessibilité Universalité de l'accès L'accessibilité est la capacité du site web à être consulté universellement, c'est-à-dire par tout type d'utilisateurs, y compris les malvoyants et non voyants. Il existe un certain nombre de règles d'accessibilité simples, à respecter afin de permettre l'accès au site web au plus grand nombre, quelque soit leur configuration logicielle et matérielle ou leur handicap.
Interopérabilité Le respect des standards, en particulier les recommandations d'accessibilité du W3C, permet de garantir un bon niveau d'interopérabilité, c'est-à-dire la capacité du site web à être consultable par différents clients logiciels.
Transparence des formats Les formats utilisés doivent préférentiellement être transparents, c'est-à-dire consultable en mode texte. Ainsi le HTML sera utilisé préférentiellement au Flash. Par ailleurs, les images ou animation ne doivent pas se soustraire aux informations textuelles ou provoquer une gêne pour les non-voyants. Les illustrations graphiques doivent donc uniquement être utilisées en tant que complément visuel au texte.
Légende Une légende ou un texte de remplacement doivent être prévu en lieu et place des images (grâce à l'attribut alt), afin de permettre aux déficients visuels de comprendre le sens de l'image.
Choix des couleurs Les couleurs doivent être choisies afin de laisser l'information lisible aux personnes ne distinguant pas les couleurs correctement (daltoniens).
Usage sain des feuilles de style L'information doit pouvoir être accessible, y compris sans feuille de style.
Contraste adapté Le niveau de contraste entre la couleur d'arrière-plan et le texte en avant plan doit être suffisant pour en permettre la lecture aux malvoyants.
Taille des polices modifiable La taille des polices doit être adaptable afin de laisser la possibilité de grossir les textes si nécessaire.

Les polices utilisées ne doivent également pas être trop petites, au risque de fatiguer la vue des lecteurs ou d'être illisibles.
User avatar
Korigan
Site Admin
 
Posts: 1781
Joined: Tue May 29, 2007 6:57 pm

Postby Manu404 » Sat Mar 08, 2008 1:58 pm

Et tout le monde sait que entre un site web et un programme il n'y a que peux de différence....
(Merci Korigan d'avoir approffondi mon cours :) )
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:

Postby Manu404 » Tue Nov 02, 2010 3:36 am

Vous pouvez aussi poser vos questions sur devbbs. ^^

[url]http://dev.hackbbs.org/viewtopic.php?f=17&t=5[/url]
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:


Return to C/C++

Who is online

Users browsing this forum: No registered users and 0 guests

cron