24.06.2013 Views

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.2 Le problème spécifique de l’IHM graphique multiplate-forme.<br />

Le développement d’interfaces <strong>utilisateur</strong> multiplate-formes est en soi une tâche plutôt<br />

difficile car coûteuse et consommatrice de temps. Le temps passé pour la conception de<br />

l’interface <strong>utilisateur</strong> (en moyenne, 48% du code d’une application interactive correspondent<br />

à l’IHM et le temps moyen passé dans les différentes phases de conception et réalisation est<br />

estimé entre 40% et 50% [Myers92-1]) et représente une grande partie dans le cycle de<br />

développement d’une application, notamment en terme de développement pur et de<br />

maintenance, même lorsqu’il s’agit d’applications de type « traditionnel » pour une seule<br />

plate-forme cible.<br />

De plus, les concepteurs d’interfaces n’ont pas toujours la possibilité de prévoir sur quelles<br />

plate-formes les applications devront être utilisées dans le futur : les dispositifs physiques<br />

peuvent varier sensiblement, notamment en terme de taille d’écran, et on comprend dès lors<br />

mieux que programmer une interface par plate-forme ne soit pas un problème simple en soi,<br />

surtout si les changements (maintenance) deviennent sensiblement importants.<br />

Les méthodes traditionnelles prônent le développement d’interfaces séparément par plateforme,<br />

avec le risque encouru de ne plus respecter la cohérence et la consistance entre les<br />

différentes interfaces spécifiques. Aussi, ce mémoire nous permettra de mettre en pratique et<br />

d’évaluer une alternative au développement séparé d’interfaces spécifiques aux différentes<br />

plate-formes choisies : la « dégradation <strong>harmonieuse</strong> » d’interfaces, à savoir la conception<br />

d’une interface pour la plate-forme possédant la meilleure résolution d’écran et la réalisation<br />

d’adaptations automatiques de cette dernière pour les écrans plus petits par l’application de<br />

règles de transformation.<br />

1.3 Motivations<br />

L’avantage principal de cette approche réside sans aucun doute dans le principe d’adaptation,<br />

cela nous permettra de prévoir à l’avance différentes plate-formes physiques et d’anticiper des<br />

résolutions d’écran de futures plate-formes.<br />

Enfin, et c’est ce qui rend probablement le travail plus original, le lecteur pourra se rendre<br />

compte dans l’état de l’art du nombre relativement limité de cas déjà consacré à la<br />

dégradation <strong>harmonieuse</strong> d’interface <strong>utilisateur</strong>. En général, les seules règles de<br />

transformation considérées dans les cas existants n’abordent qu’une seule facette du<br />

problème. Notre étude de cas tentera donc d’aborder plusieurs aspects différents de l’interface<br />

<strong>utilisateur</strong> en y intégrant des règles de transformation à différents niveaux d’abstraction.<br />

1.4 Cas d’étude et Méthodologie suivie<br />

Le présent travail comportera aussi bien une partie pratique qu’une partie théorique. Nous<br />

nous limiterons cependant à l’étude des interfaces graphiques à deux dimensions. Les<br />

interfaces tridimensionnelles, vocales, … ne seront pas abordées.<br />

Dans la partie théorique, nous axerons notre recherche sur l’analyse d’un cas de dégradation<br />

<strong>harmonieuse</strong> basé modèle (cfr. infra) programmée en Oz [Mozart] et développée avec le<br />

toolkit QTk [QTk]. Nous verrons et appliquerons différentes techniques d’analyse et de<br />

modélisation de transitions entre toutes les fenêtres possibles de l’application choisie.<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!