Vous êtes sur la page 1sur 39

ITIN, Ecole supérieure d’Informatique /

(Partenariat) Université de Versailles Entreprise d’accueil

Mémoire de recherche :
LA NINTENDO WIIMOTE : SYMBOLE
DE L’EVOLUTION DES IHM

Directeur de mémoire : Ivo FLAMMER, de la société Xilabs

MASTER EN INGENIERIE DE L’INFORMATIQUE, RESEAUX ET


TELECOMMUNICATIONS
Promotion : Master2 IRS 2009
GOVI Jérémy IRS2009

Avant d’entrer dans le vif du sujet, je tiens tout d’abord à remercier toutes les
personnes avec lesquelles j’ai pu dialoguer ou qui ont contribué à l’élaboration de ce
mémoire, et plus particulièrement Ivo FLAMMER, mon directeur de mémoire, de la
société XiLabs pour son encadrement technique et sa disponibilité. Son intérêt pour
le sujet, ses remarques et ses conseils m’ont permis de terminer ce mémoire et de
toujours rester cohérent et explicite dans mes propos.

D’une façon plus générale je remercie toutes les personnes qui ont rédigé les
écrits en rapport avec la Wiimote (articles, blogs, recherches, rapports, forums de
discussions, etc.) et tous les développeurs des applications et API. J’ai en effet pu
effectuer mes analyses et réaliser ce mémoire grâce à ces nombreuses informations.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 2/39


GOVI Jérémy IRS2009

Seuls éléments en contact direct avec l’utilisateur, les Interfaces


Homme/Machine (IHM. En Anglais : UI) font depuis peu de temps l’objet d’une
attention particulière de la part des personnes qui les conçoivent. Ce fait amène à
s’interroger sur les enjeux qu’elles soulèvent, mais aussi la raison de leur évolution.
Leur constante évolution conduit à se questionner sur la commodité de leur
utilisation. Conviennent-t-elles réellement aux besoins et quelles sont les attentes de
leurs utilisateurs ?

Ce mémoire a pour principal objectif de répondre à ces questions au travers de


l’analyse de l’évolution générale des IHM dans un premier temps. Nous pourrons
constater que les avancées technologiques ont provoqué une banalisation de ces
dernières et ont augmenté de ce fait les exigences des utilisateurs. La sortie de la
Wii, console de Nintendo est un parfait exemple de l’évolution de ces attentes.

Les concepteurs s’efforcent donc de soigner la conception des interfaces, mais


aussi de comprendre, d’interpréter, de devancer tous ces besoins en accentuant la
Recherche et Développement, car les attentes des utilisateurs peuvent parfois
légèrement différer par rapport à ce qui a été conçu. Le cas de la controverse que la
Wiimote, manette de la Wii a engendré peut être évoqué. Diverses applications
permettant d’utiliser la Wiimote pour d’autres utilisations que le jeu vidéo ont été
créées ainsi que des librairies (en Anglais : API, Application Programming Interface).
Cet aspect sera développé dans la seconde partie.

Les IHM actuelles ne répondent donc pas à tous les besoins des utilisateurs. Je
tenterais de définir un besoin non encore couvert et je développerai un logiciel pour y
répondre en insistant sur les attentes des utilisateurs, à savoir l’esthétisme,
l’ergonomie et la simplicité. Cet aspect sera défini et développé dans la dernière
partie.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 3/39


GOVI Jérémy IRS2009

User Interfaces (UI's) connect the user with the machine. They are the only
direct contact of the user with the machine. This crucial position of the UI’s is why
they play a major role in today’s design efforts. UI’s have strongly evolved in the last
years and one might ask if today’s interfaces now really meet the expectations of the
users.

This thesis objective in its first part is to describe the UI development in general
and to analyze its recent trend during the last years. Technological advances have
led to trivialization of sophisticated interfaces. In parallel, these new interfaces also
changed the user expectations towards them. The release of the Nintendo console
Wii is a perfect example of this evolution, the evolution of the interface as well as the
evolution of the user’s expectations.

Interface designers try to anticipate the user's expectations by studying,


interpreting and extrapolating the users needs. This research and development
process is not simple - and indeed the users' expectations often differ from what
finally was designed. This discrepancy is seen with the Wii remote controller
(Wiimote). The Wiimote was designed for video games, but has found various
applications in completely other areas, thus demonstrating unfulfilled needs in these
other areas. This aspect will be covered in the second part of the thesis.

Today’s UI’s still don’t completely meet all the users needs. Consequently, in
the third part of this thesis, we will develop a software application fulfilling such an
un-covered need. This demo program will focus on today’s users expectations:
attractive visual design, ergonomics and simplicity.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 4/39


GOVI Jérémy IRS2009

Remerciements .............................................................................................................................. p 2

1. Résumé/abstract ........................................................................................................................ p 3

2. Table des matières .................................................................................................................... p 5

3. Définition du sujet ..................................................................................................................... p 6

4. Analyse de l’existant : La Wii, fruit de l’évolution des IHM ................................................... p 7

4.1 Environnement : Les IHM et leur évolution dans le temps ............................................................ p 7

4.2 Audit/diagnostic de l’existant ......................................................................................................... p 10

4.2.1 Le succès de la Wii .............................................................................................................. p 10

4.2.2 Caractéristiques et fonctionnement de la Wiimote de Nintendo ........................................... p 11

4.2.3 La Wiimote : un objet détourné............................................................................................. p 15

4.2.3.1 Les diverses applications de la Wiimote dans différents domaines ............................. p 15

4.2.3.2 Analyse des différentes API existantes ....................................................................... p 16

4.3 Critique de l’existant : La Wiimote victime de son succès ............................................................. p 17

4.3.1 Pourquoi un tel succès ? ...................................................................................................... p 17

4.3.2 Et les lois dans tout cela ? .................................................................................................... p 18

4.3.3 Pourquoi la Wiimote est-elle si détournée ? ......................................................................... p 21

4.3.4 Tous les besoins sont-ils couverts ?..................................................................................... p 22

5. Méthode/démarche utilisée : Développement d’un logiciel de démonstration................... p 24

5.1 Définition du besoin ....................................................................................................................... p 24

5.2 Description de l’application ............................................................................................................ p 25

5.3 Raisons du choix de l’API utilisée.................................................................................................. p 29

5.4 Evolutions possibles ...................................................................................................................... p 30

6. Synthèse des résultats ............................................................................................................. p 32

7. Enseignements tirés / apport du travail .................................................................................. p 34

8. Conclusions générales, perspectives d’avenir ...................................................................... p 35

9. Web graphie ............................................................................................................................... p 36

10. Annexes .................................................................................................................................... p 37

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 5/39


GOVI Jérémy IRS2009

Dans une situation économique tendue depuis ces dernières années, les
différents acteurs du marché (entreprises et ménages) axent leurs priorités sur la
diminution des coûts, notamment par la recherche de solutions alternatives. A
contrario, les technologies évoluent. La Recherche et Développement (R&D) et
l’industrialisation ont permis une diminution conséquente du prix des technologies et
la miniaturisation du matériel.

D’autre part, les évolutions du point de vue sociologique ont induit de


nouvelles exigences (ergonomie, facilité d’utilisation, transparence, esthétisme, etc.).
Ces exigences ont poussé les entreprises à innover et, entre autre, mettre au point
de nouvelles IHM. Par exemple, ces dernières années, le monde du jeu vidéo était
en stagnation. Pour faire face à cette situation, la société Nintendo à commercialisé
sa nouvelle console de jeux « Wii » contenant un contrôleur unique en son genre et
révolutionnaire : la Wiimote.

Cette très petite télécommande, construite à très bas prix et fournie avec la
console peut être considérée comme un « bijou de technologies » grâce aux
multiples capteurs et la caméra infrarouge qu’elle contient. Ce potentiel exploité
uniquement pour le côté ludique (jeu vidéo) par Nintendo à poussé de nombreux
ingénieurs (et bricoleurs) à se pencher sur cet outil et à imaginer les diverses
possibilités non encore exploitées qu’offre cette manette.

Tous ces faits soulèvent un certain nombre de questions. Quelles peuvent être
réellement les attentes présentes et futures du marché en matière d’interactions
entre les utilisateurs et les Systèmes Informatiques ? Comment et pourquoi ont-elles
évolué ? Les Interfaces homme/machine actuelles répondent-elles réellement à ces
besoins ?

Ce mémoire tentera d’y répondre à travers l’analyse dans un premier temps


de l’évolution générale des IHM et particulièrement de la révolution que la Wii a
engendrée. Ensuite, nous constaterons que la Wiimote est un objet détourné de son
usage principal et nous entreverrons les diverses autres applications possibles que
l’on peut en faire. Enfin, une démonstration sera effectuée à travers la recherche et
le développement d’une solution logicielle répondant à un besoin défini.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 6/39


GOVI Jérémy IRS2009

Les Interfaces Homme Machines sont devenues au fil du temps un enjeu crucial
dans le succès ou l’échec du lancement d’un produit (tout particulièrement les jeux
vidéo, les logiciels de bureautique, de supervision et les sites internet marchands).
Elles sont en effet le seul élément reliant l’utilisateur à la machine. Il s’agit en
quelque sorte de la « partie émergée d’un iceberg ». Ce chapitre propose de
découvrir dans un premier temps comment et pourquoi elles ont évolué. Ensuite,
nous nous focaliserons sur le fonctionnement et les diverses utilisations de la
Wiimote de Nintendo.

4.1 Environnement : Les IHM et leur évolution


dans le temps
Avant d’analyser les différents types d’interfaces et leur évolution, il est
important de commencer par définir ce qu’est une IHM. Bien qu'il puisse être
appliqué à n'importe quel moyen de contrôle d’une machine, l’Interface Homme
Machine est un terme qui est principalement utilisé en informatique. Le tableau de
bord, le volant, les pédales d’une voiture ou encore les boutons d’un robot ménager
peut en effet être désigné comme tel. Cependant, nous ne nous intéresserons dans
ce document qu’aux interfaces en relation avec les ordinateurs uniquement.

Deux grands types d’interfaces peuvent être distingués. D’une part, il existe les
environnements graphiques qui sont des ensembles de dessins, figures et formes
qui sont affichés sur un écran qui permettent de visualiser ce que l'ordinateur fait.
D’autre part, il existe les IHM en ligne de commande, ce sont les plus anciennes des
interfaces conversationnelles développées sur des ordinateurs. La « conversation »
entre l’homme et l’ordinateur s’effectue en mode texte, c'est-à-dire que l’utilisateur
entre des commandes qui sont interprétées par l’ordinateur et ce dernier affiche du
texte à l’écran correspondant au résultat de l'exécution de ces commandes.

Concernant leur évolution dans le temps, les IHM ont débuté leur apparition en
même temps que les premières machines mécaniques (notamment la première
machine à calculer, inventée par Blaise PASCAL en 1642). Elles ont cependant

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 7/39


GOVI Jérémy IRS2009

commencé à évoluer dans les années 1970 avec le développement des technologies
utilisant l’électricité, rendant ainsi possible la démocratisation des ordinateurs.

Les premières interfaces étaient donc de simples écrans noirs (consoles)


permettant d’afficher le résultat de commandes exécutées sur la machine (on parle
de périphérique de sortie, le périphérique d’entrée restant immuablement le clavier).
Ces consoles sont d’ailleurs toujours présentes sur nos systèmes actuels (comme
par exemple lorsque l’on ouvre un invite de commande DOS, que l’on configure un
routeur CISCO ou encore lorsque l’on se connecte en SSH sur un serveur distant).

Cependant, les technologies ont évolué grâce à la recherche et le


développement (R&D). Cela a rendu possible une miniaturisation du matériel, mis à
part les périphériques qui ne peuvent le permettre (par exemple, le clavier ne doit
pas être trop petit afin de rendre son utilisation aisée. Il en est de même pour l’écran
qui provoquerait des problèmes de visibilité). A cela s’ajoute le phénomène de la
mondialisation, entraînant une baisse des prix des matériels (loi de Moore)
engendrée par la production de masse (permettant de réaliser des économies
d’échelle). Le facteur sociologique est également entré en jeu. En effet, une évolution
des attentes et exigences des utilisateurs est constatée. C’est pour cette raison
qu’une attention toute particulière est consacrée à l’ergonomie, l’esthétique et le côté
ludique des applications. De plus, l’approche qui était autrefois technocentrée, c’est à
dire centrée sur la machine et ses possibilités (l’utilisateur devait par conséquent être
expérimenté et s’adapter à la machine) à une approche anthropocentrée (centrée sur
l’Homme et ses besoins), obligeant la machine à s’adapter aux utilisateurs et ainsi
toucher un public beaucoup plus large.

Jean-Luc Saouli, PDG de Lyria, éditeur d’IHM souligne d’ailleurs dans un article
(le lien vers l’article est donné au chapitre 9 de ce document) paru le 22 Septembre
2006 sur le site journaldunet.com : « L'interface homme-machine est la partie visible
d'une application informatique, le sommet de l'iceberg en quelque sorte. C'est par ce
biais que l'utilisateur va rentrer en contact avec l'application et c'est pour cette raison
qu'elle se doit d'être particulièrement réussie ».

Ainsi, il n’est pas étonnant de constater l’apparition puis la généralisation de


nouvelles IHM innovantes. La technologie tactile en est le parfait exemple car elle est
devenue omniprésente en quelques années. Les écrans tactiles font désormais
partie de notre quotidien, nous les croisons par exemple lorsque nous allons à la
station essence, aux guichets SNCF ou tout simplement lorsque nous utilisons notre
téléphone mobile.

Voici un tableau récapitulatif des différents types d’IHM, proposé sous la forme
d’une arborescence :

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 8/39


GOVI Jérémy IRS2009

Figure 1 : tableau récapitulatif des différents types d’IHM

Nous pouvons constater après l’analyse de cette arborescence que la R&D


s’est axée au fur et à mesure du temps sur les périphériques d’entrée 2D.
Aujourd’hui, la tendance est donnée aux périphériques d’entrée 3D et multiples (ex :
la Wiimote).

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 9/39


GOVI Jérémy IRS2009

4.2 Audit/diagnostic de l’existant


Le lancement de la Wii par la société japonaise Nintendo marque une révolution
dans les interactions entre l’homme et la machine. Cette console n’est pas dotée
d’un processeur ou d’une carte graphique permettant de rivaliser avec les
graphismes des consoles concurrentes (notamment la Playstation 3 et la Xbox 360).
Malgré la concurrence féroce opposant les différents constructeurs de consoles et
les exigences des consommateurs, la console a su tirer son épingle du jeu. Elle est
en effet à ce jour une des consoles les plus vendues à travers le monde.

4.2.1 Le succès de la Wii


Les premières consoles Wii ont été commercialisées en novembre 2006 aux
Etats-Unis et sur tous les autres continents environ un mois plus tard (le 8 décembre
2006 en France).

Le succès attendu par Nintendo fût immédiat et inespéré car la société s’est
retrouvée immédiatement en rupture de stock.

La société Nintendo n’a pas souhaité communiquer les chiffres des ventes de la
console. Cependant, à ce jour (Juillet 2009) selon le site internet spécialisé
vgchartz.com, la Wii aurait enregistré un peu moins de 50 Millions de consoles
vendues à travers le monde, obtenant environ 48 % des parts de marché des
consoles de salon (contre 30 Millions pour la Xbox 360, soit environ 30 % de parts de
marché et 22 Millions de consoles Playstation 3, soit 22 % du total des ventes de
consoles de salon). La console s’est vendue à 23 Millions d’exemplaires aux Etats-
Unis, 8 Millions au Japon et 18 Millions en Europe.

Les raisons de ce succès ne sont absolument pas liées aux performances


graphiques de la console et aux finitions des différents décors des jeux car les
décors et les personnages sont bien souvent simplistes. La résolution, le nombre de
polygones et de teintes de couleurs sont bien inférieurs à ceux proposés par les
autres consoles de la même génération (la PS3 et la Xbox 360 proposent par
exemple la technologie « High Definition » où HD). Ce qui a fait le succès de la Wii
est donc bien évidement le « gameplay » (en Français, façon de jouer) des jeux
proposés.

Les plus grands succès de la console sont par exemple le jeu « Wii Sports »,
vendu avec la console. Ce jeu propose au joueur de s’initier à différentes épreuves
sportives (bowling, tennis, boxe, golf et baseball) en utilisant un petit personnage
préalablement modelé à son effigie. Ce jeu phare démontre toutes les capacités de
la Wiimote en utilisant au mieux tous les différents capteurs de mouvements.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 10/39


GOVI Jérémy IRS2009

Un autre succès est le jeu « Wii Play » vendu avec une manette supplémentaire
et proposant une douzaine de mini jeux (tennis de table, jeu de tir, billard…) pour
l’initiation au jeu multi-joueurs.

Le troisième grand succès de la Wii est le jeu « Wii Fit », vendu avec
l’accessoire « Wii Balance Board ». Ce jeu permet, grâce à la balance fournie
d’inviter le joueur à améliorer ses conditions physiques par de nombreuses activités
comme le jogging, le yoga, la danse, des exercices de gymnastique ou encore des
mini jeux d’équilibre, afin de pouvoir, à long terme, corriger sa posture physique et
éviter les maux de dos. Tous les résultats sont ainsi enregistrés et comparés dans le
temps, permettant de visualiser la progression des joueurs au fil des mois.

Nintendo cherche donc par le gameplay innovant de ses jeux, à viser toutes les
catégories de la population et non plus uniquement les adolescents et les dits
« gamers » (en Français : « passionnés de jeux vidéo »).

Cependant, les technologies utilisées dans les accessoires de la console ont


également grandement permis à la console de se démarquer des autres, notamment
la Wiimote qui est considérée comme un « bijou de technologie » (de part la
combinaison des différents facteurs comme son prix, la judicieuse utilisation des
différents composants, sa taille et son ergonomie).

La Wiimote n’est pas une révolution à proprement parler car des produits
similaires ont été commercialisés bien avant son apparition. C’est le cas notamment
de la manette gyroscopique « GyroPod » conçue par la société Gyration en 2001.
Cette manette sans fil est semblable à celle de la Playstation, intègre deux
gyroscopes (un au niveau de chaque main) et une partie peut se désolidariser (la
partie située au niveau de la main droite) afin de permettre au joueur de pouvoir
effectuer des mouvements différents avec ses deux mains. Malgré cela, elle n’a pas
rencontré un franc succès, probablement à cause de la taille et la notoriété de
l’Entreprise Gyration, le ciblage de ses clients ou encore sa politique de marketing
(Nintendo est en effet une firme multinationale déjà très connue du grand public et
ayant un service marketing conséquent).

4.2.2 Caractéristiques et fonctionnement de la Wiimote de Nintendo


La Wiimote, nouvelle manette de Nintendo est une grande innovation dans le
monde du jeu vidéo car je joueur doit réellement simuler les actions dans les jeux.
Toutes ces actions sont interprétées grâce à de nombreux capteurs situés à
l’intérieur de la manette.

Tout d’abord, la connexion avec la console (ou l’ordinateur) est sans fil
(transmission Bluetooth) afin de laisser une plus grande liberté de mouvement à
l’utilisateur. Elle est également dotée d’un haut parleur et d’un vibreur, afin
d’accentuer certaines actions dans les jeux et ainsi immerger encore plus l’utilisateur.
Une mémoire interne est également disponible (en plus de la mémoire de la

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 11/39


GOVI Jérémy IRS2009

console), permettant de pouvoir transporter certaines données comme les


sauvegardes ou les personnages à l’effigie du joueur (appelés Mii).

Cependant, les réelles nouveautés ayant permis à la console d’atteindre des


sommets sont les différents capteurs de mouvements situés dans la manette.

Un micro-accéléromètre trois axes (sorte de gyroscope appelé "3-Axis Sensor")


est en effet présent à l’intérieur de celle-ci (modèles ADXL330 fabriqués par la
compagnie Analog Devices). Un autre accéléromètre différent et un peu moins précis
(provenant le la société ST est présent dans le Nunchuk, afin de permettre
également une reconnaissance des mouvements de ce dernier.

Pour comprendre comment fonctionne un accéléromètre, une analogie avec un


cendrier et une bille peut être effectuée.

Lorsque l’on place une bille dans un cendrier, si l'un des côtés du cendrier est
surélevé, la bille ira taper sur le côté inverse. Des capteurs sont présents, afin de
pouvoir situer l’endroit où se situe la bille à chaque moment. Ces derniers permettent
également d’analyser la pression (grâce à des capteurs de pression) exercée par la
bille, afin de savoir avec quelle force la bille a percuté le bord.

Le schéma suivant permettra de mieux appréhender le fonctionnement de


l’accéléromètre :

Figure 2 : Schéma du fonctionnement d’un accéléromètre


(source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Wii-
Laure_Vignot/wiimote.html#generalites)

Ainsi, la console est en mesure de connaître à tout moment la position (ou


plutôt inclinaison) de la manette par rapport au sol (inclinaison de la manette
exprimée par deux coordonnées appelées « Pitch » et « Roll », variant de -256 à
256, 0 étant la coordonnée lorsque la manette est droite par rapport au sol). Ces
termes sont empruntés au domaine de la navigation (« Pitch » indique le mouvement
de montée et descente de la proue d’un navire et « Roll » lorsque le bateau bascule
de droite à gauche).

Cependant, afin de pouvoir situer l’oscillation de la manette de droite à gauche


(mouvement du « nez » de la Wiimote de gauche à droite, tel un bateau qui

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 12/39


GOVI Jérémy IRS2009

changerait de cap et passerait du nord-est au nord-ouest), il est nécessaire de


pouvoir accéder à une troisième coordonnée (appelée Yaw). Cette coordonnée
détermine l’orientation de la Wiimote par rapport à l’écran de télévision. Un nouveau
composant est donc en effet nécessaire pour cela, il s’agit de la « Sensor Bar ».

Voici une photographie de la « Sensor Bar » de Nintendo qui doit être placée
sous ou sur le téléviseur (ou écran d’ordinateur) :

Figure 3 : Photographie de la « Sensor Bar »


(source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Wii-
Laure_Vignot/wiimote.html#generalites)

On pourrait croire aux premiers abords que toute la technologie permettant de


déterminer les déplacements de la Wiimote est concentrée dans cette barre,
pourtant, ce n’est pas le cas. Cette barre possède simplement 5 diodes infrarouges à
chaque extrémités (appelées IR LEDs en Anglais, elles permettent d’émettre un
signal lumineux invisible pour l’œil humain) de luminosité différentes. La Wiimote
possède donc à son extrémité une caméra infrarouge (d’une résolution de 1 Méga
Pixels) permettant de distinguer les signaux de la « Sensor Bar » et est par
conséquent, en mesure d’interpréter les actions de l’utilisateur (rapprochement ou
éloignement de l’écran). Ainsi, d’autres coordonnées peuvent être calculées comme
les positions X,Y et Z (les coordonnées spatiales de la Wiimote par rapport à la
télévision). Le schéma suivant montre comment la télécommande est capable de
définir la position de la manette par rapport au téléviseur :

Figure 4 : Déplacement de la manette par rapport à la « Sensor Bar »


(source : http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Wii-
Laure_Vignot/wiimote.html#generalites)

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 13/39


GOVI Jérémy IRS2009

Lorsque la Wiimote est éloignée de la barre, la distance entre les deux points
rouges (en fait, ce sont les 5 leds à chaque extrémités qui sont regroupées et
interprétées comme une seule par la manette, le rayonnement d’une seule led étant
insuffisant pour permettre au joueur de s’éloigner) est faible. Lorsque l’utilisateur la
rapproche de la barre, ces deux points s’éloignent et la manette comprend qu’elle
s’est rapprochée et modifie ainsi la coordonnée Y. Le principe est le même pour les
deux autres coordonnées (Si les deux points restent de même taille mais se
déplacent vers la gauche ou la droite, le programme déduit que c’est la coordonnée
X qui est modifiée. S’ils se déplacent de haut en bas, c’est par conséquent la
coordonnée Z).

La position de la manette dans l’espace peut ainsi donc être calculée. C’est de
cette façon que la Wiimote peut également faire office de pointeur. Voici le schéma
récapitulatif des différentes coordonnées calculées par les capteurs :

Figure 5 : Schéma récapitulatif des coordonnées calculées par les


capteurs de la Wiimote (source : http://wiipiicii.blogspot.com)

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 14/39


GOVI Jérémy IRS2009

Bien sûr, la Wiimote peut fonctionner sans la Sensor Bar mais seules les
coordonnées « Pitch », « Yaw » et « Roll » seront disponibles. Un dispositif peut être
conçu avec uniquement deux diodes infrarouges, afin de permettre à la manette de
calculer les coordonnées X, Y et Z. Cela démontre que la Wiimote interprète bien les
5 diodes comme une unique led. Néanmoins, le dispositif est par conséquent moins
précis et la portée est moindre, démontrant par cette occasion que les 4 autres
diodes de chaque coté ne sont pas superflues.

La Wiimote est donc un concentré de technologies et combiné avec sa


notoriété, cela a suscité immédiatement l’intérêt et la curiosité d’un grand nombre de
passionnés de nouvelles technologies, d’informaticiens, d’électroniciens, et même de
bricoleurs. Cette manette a donc rapidement été l’objet de tentatives d’usage pour
d’autres domaines que pour lesquels elle était initialement destinée.

4.2.3 La Wiimote : un objet détourné


L’utilisation du standard Bluetooth permettant la communication entre la
Wiimote et la console rends possible l’utilisation de cette dernière sur ordinateur ou
tout autre matériel utilisant ce standard. Combiné à l’intérêt de ces technologies
porté par un certain nombre de personnes, des librairies ont vu le jour, rendant le
développement d’applications et jeux aisé par les développeurs.

Le « Leader » de ce « mouvement » est Johnny Chung Lee, un chercheur


Américain à la Carnegie Mellon University à Pittsburgh (Pennsylvanie). Il est l’auteur
de nombreux projets exploratoires comme le « Wiimote Whiteboard » (tableau
numérique utilisant la Wiimote) ou encore le « Finger Tracking » (capture du
mouvement des doigts). Tous ses projets sont exposés sur son site internet
(johnnylee.net/projects/wii/).

Tous ces projets ont facilité ou rendu possible l’utilisation de la Wiimote dans
de nombreux domaines professionnels.

4.2.3.1 Les diverses applications de la Wiimote dans différents domaines

Grâce au développement de librairies permettant l’utilisation de la Wiimote, des


développeurs ont imaginé et conçu un grand nombre d’applications répondant aux
besoins de divers domaines, professionnels ou non.

Tout d’abord, les différents développements peuvent cibler le domaine médical.


Quelques applications ont été développées permettant d’effectuer, par exemple, de
la musico thérapie, mais aussi de la recherche, la rééducation ou encore
l’apprentissage de la chirurgie (simulation d’interventions chirurgicales minutieuses
par des étudiants en médecine).

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 15/39


GOVI Jérémy IRS2009

Une application a également été conçue pour aider les personnes handicapées
(le projet « wii-help »). Hubert Wassner, un professeur d’informatique et des
étudiants de l’ESIEA (école d’Ingénieurs Parisienne) ont mis au point un système
utilisant la Wiimote permettant à une personne handicapée, pour qui l’utilisation
d’une souris est impossible, de pouvoir se servir d’un ordinateur du bout des doigts,
même avec une mobilité extrêmement réduite.

Un autre domaine professionnel ciblé par les développeurs est le domaine


pédagogique (scolaire). Par exemple, un sismomètre a été développé et utilisé par
l’académie de Montpellier en 2007. Le tableau virtuel (Wiimote Whiteboard ou TNWii)
peut également être cité. Il permet de remplacer un tableau classique et d’effectuer
des présentations Powerpoint par exemple, et tout cela pour un coût défiant toute
concurrence (une quarantaine d’euros). Le logiciel serait d’ailleurs utilisé (information
non vérifiable) par plus de 700 établissements à travers le monde (dont beaucoup en
France).

La Wiimote peut également être utilisée dans le domaine du Cinéma, des jeux
vidéo ou de la réalité virtuelle, utilisant la télécommande pour effectuer de la motion
capture ou encore afin de modéliser des mouvements en 3 dimensions.

Ensuite, le domaine ludique est un domaine de prédilection. La société


Nintendo ainsi que des développeurs tiers ont mis au point des jeux permettant de
simuler des instruments de musique (l’exemple le plus probant est celui de la guitare
et la batterie). Tout cela permet, entre autres, de susciter des vocations de musicien.

Enfin, la Wiimote peut être utilisée dans le domaine de l’apprentissage afin de


modéliser par exemple, les mouvements des utilisateurs (pour la programmation de
robots). Une application a d’ailleurs été développée par la « Rice University » à
Houston aux Etats Unis, permettant le guidage du joueur de tennis. Cela permet
l’apprentissage beaucoup plus rapide de cette discipline et la correction d’un
mouvement qui ne serait pas complètement adéquat.

La Wiimote peut également être utilisée dans une infinité d’autres domaines
comme dans l’armée ou dans le spectacle (vote du public par exemple), la liste ne
peut être exhaustive.

Cependant, après étude et analyse des sources de quelques applications, il


semble qu’elles utilisent souvent les mêmes API.

4.2.3.2 Analyse des différentes API existantes

Une simple recherche sur internet permet rapidement de constater qu’il existe
une multitude d’API disponibles pour la programmation de la Wiimote.
Malheureusement, il n’existe pas encore de page qui les recense ou les compare.
Elles concernent les principaux langages de programmation. Cependant, le test de
quelques unes d’entre elles amène à déduire que certaines sont plus ou moins

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 16/39


GOVI Jérémy IRS2009

expérimentales, parfois comportant de nombreux bugs. Malgré cela, d’autres


librairies restent néanmoins très abouties.

Concernant les langages de bas niveau, les librairies ayant la plus forte
notoriété sont « cWiimote » (langage C) et « cgwiimote » (C++). Concernant les
langages de haut niveau, les API les plus connues sont « pyWiimote » (Python),
« wiimote_simple », « WiiRemoteJ » et « wiiusej » (les trois dernières concernent
JAVA). La plus connue et certainement l’une des plus abouties d’entre elles est
« WiimoteLib », elle utilise le Framework (en Français, « cadre de travail ») « .NET »
de Microsoft. La programmation pour cette dernière s’effectue en C#.

La liste de ces API n’est pas exhaustive, elle est cependant très longue et par
conséquent, seules celles citées dans le paragraphe précédent ont été étudiées et
testées dans le cadre de ce mémoire.

4.3 Critique de l’existant : La Wiimote victime


de son succès
Ayant mis en évidence tous les faits précédents (détournement possible de la
Wiimote de son usage premier, diversité des domaines d’application possibles,
développement de nombreuses API…), il n’est pas anormal de s’interroger sur les
raisons du tel succès de la console et du détournement de sa télécommande.
D’autres interrogations comme par exemple des questions d’ordre juridique peuvent
également être soulevées car la console Wii est tout de même un produit commercial
de la société Nintendo et donc protégée par les lois.

4.3.1 Pourquoi un tel succès ?


Dès sa sortie, la console Wii a suscité l’engouement de millions de joueurs et
de passionnés de nouvelles technologies. De nombreuses raisons peuvent être
évoquées à ce phénomène.

Tout d’abord, cette console a révolutionné le monde du jeu vidéo de part sa


nouveauté et sa technologie. Nintendo a su en effet se démarquer de ses
concurrents en proposant une console différente et d’une autre génération.
Egalement, nous avons vu que la console elle-même ne disposait pas de réelles
nouveautés (processeur peu puissant, graphismes peu poussés…). Néanmoins,
toute la technologie (de pointe) a été placée dans la manette et permet de grandes
innovations en matière de « gameplay ».

Tout cela a donc permis aux éditeurs de jeux vidéo de pouvoir développer et
proposer des jeux plus ludiques et innovants.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 17/39


GOVI Jérémy IRS2009

Une autre grande force de la console est son côté multijoueur combiné au
public ciblé. Nintendo a cherché (et réussi) à cibler un public extrêmement large et à
donner une nouvelle image de la console de salon. En effet, la console classique de
salon évoque malheureusement bien souvent l’image du joueur enfermé chez lui,
associable et totalement coupé du monde relationnel (appelé « hard gamer »). Cette
console se veut donc ouverte à tout public et surtout un public plus féminin (par
exemple avec le jeu Wii Fit évoqué dans les chapitres précédents) et plus âgé. Il
n’est en effet pas rare de trouver cette console dans les maisons de retraites ou de
voir des personnes âgées jouer à cette console avec leurs petits enfants.

La grande ambition de la société Nintendo est donc de rapprocher les


individus (même du point de vue intergénérationnel) au lieu de les éloigner et les
couper du monde qui les entoure.

Ensuite, la Wii est la première console permettant de mettre à l’épreuve les


capacités physiques des joueurs. A la différence des consoles classiques où le
joueur restait passivement devant son téléviseur, la Wii permet de concilier la partie
ludique du jeu et le maintient de la forme physique du joueur. Dans certains jeux, le
joueur peut en effet visualiser la perte de calories et de poids dû à l’activité physique
au fil du temps tout en s’amusant. A la différence des activités sportives réelles, ces
jeux permettent d’avoir un suivi régulier (enregistré en mémoire avec des tableaux
récapitulatifs et statistiques) ou de permettre aux joueurs de maintenir une activité
sportive régulière, même s’il n’a pas beaucoup de temps et de budget à y consacrer
(ce qui devient de plus en plus le cas de nos jours).

Enfin, une grande diversité d’accessoires d’extension supplémentaires est


proposée comme par exemple la « wii balance board », une guitare (pour le jeu
« guitar hero »), des raquettes de tennis, des clubs de golf, une poêle à frire…
permettant de s’éloigner du monde virtuel que l’on rencontre sur les consoles
classiques pour s’approcher au maximum de la réalité.

Le succès de la Wii et de sa manette de jeu a donc été si grand que la


fonction première de la télécommande s’en est vue détournée. Cela amène à se
demander si tous les développements « parallèles » sont légaux et quels sont les
risques et sanctions encourues pour cela.

4.3.2 Et les lois dans tout cela ?


Bon nombre de développeurs d’applications utilisant la Wiimote se
questionnent sur la légalité de leurs logiciels. Il existe en effet un grand flou juridique
à ce propos.

Il est vrai que la Wiimote utilise les standards Bluetooth (spécifications


802.15X) afin de communiquer avec la console. Ces normes ne sont donc pas
propriétaires de la société Nintendo et la certification Bluetooth ne nécessite pas

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 18/39


GOVI Jérémy IRS2009

l’achat de licences (même si l’obtention de cette certification est soumise à des


conditions strictes).

Les données envoyées et reçues par la Wiimote ont donc la possibilité d’être
interceptées par un ordinateur. Nous pouvons au passage noter que ces données
sont cryptées (après de nombreuses recherches, il s’avère que le codage de
l’information est soumis à réglementation, cependant, aucun texte ne stipule que le
décryptage est un délit).

Egalement, après lecture du manuel d’utilisation (et contrat de garantie de la


console), il apparaît que la marque Nintendo et sa console Wii ont été déposées. La
marque Nintendo a en effet été enregistrée (possède un « ® » entouré apposé à côté
du logo, signifiant « Reserved », ce qui indique que le nom ne peut être utilisé par
aucune autre Entreprise) et la console possède les initiales « ™ » (signifiant
« Trademarked ») à côté du nom de cette dernière. En revanche, il n’en est rien
concernant la manette elle-même. Afin de protéger le matériel lui-même de la copie
par un tiers (et donc également éviter la contrefaçon), un « Copyright » (©) aurait dû
être apposé par Nintendo sur la Wiimote.

Nintendo aurait pu déposer des brevets (permettant de protéger son travail


d'invention, c'est-à-dire les concepts, le design, les idées et d'obtenir un monopole de
son exploitation pendant vingt ans) afin de protéger au mieux la manette. Cependant,
un brevet a déjà été déposé avant la commercialisation de la console. L'entreprise
« Interlink » a en effet déposé un brevet numéroté 6.850.221 pour une
télécommande à gâchette et à capteurs, ressemblant à s'y méprendre à une
Wiimote. D’ailleurs, un procès a été intenté à Nintendo par cette société en 2006
pour violation de brevet.

Beaucoup d’ambiguïtés règnent donc au sujet de la législation et beaucoup


d’hypothèses non fondées sur les textes de loi circulent sur de nombreux sites
Internet (articles cités au chapitre 9 de ce document).

Il est évident que pour se protéger d’éventuelles attaques judiciaires de la part


de Nintendo, seuls les textes de loi sont valables et doivent être retenus. Voici deux
extraits du code de la propriété intellectuelle (tirés du site internet
« legifrance.gouv.fr ») permettant d’éclaircir la situation à propos des
développements utilisant la Wiimote :

Article L613-3

Sont interdites, à défaut de consentement du propriétaire du brevet :


a) La fabrication, l'offre, la mise dans le commerce, l'utilisation ou bien l'importation ou la détention
aux fins précitées du produit objet du brevet ;

Article L613-5
Modifié par LOI n°2008-518 du 3 juin 2008 - art. 22

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 19/39


GOVI Jérémy IRS2009

Les droits conférés par le brevet ne s'étendent pas :


a) Aux actes accomplis dans un cadre privé et à des fins non commerciales ;
b) Aux actes accomplis à titre expérimental qui portent sur l'objet de l'invention brevetée ;

L’utilisation (développement de logiciels et même un démontage matériel de
celle-ci car aucun texte n’évoque ce sujet) de la Wiimote est donc possible et légal,
tant que son utilisation reste « non commerciale » (un autre exemple concret est
celui de la poêle à frire. Aucune loi n’interdit de détourner son utilisation et de s’en
servir pour jouer au tennis).

Afin d’obtenir encore plus de renseignements et confirmation au sujet de la


législation, quelques internautes ont souhaité se renseigner directement auprès de la
société Nintendo elle-même.

Le taux de réponse de Nintendo est quasi nul. Cependant, voici la réponse


apportée à l’un d’entre eux :

« La complexité de votre demande et de ses implications nous a obligé à transmettre le


dossier au département juridique de Nintendo Europe ».

Malheureusement, cet internaute n’a jamais obtenu de réponse de la part du


service juridique de Nintendo Europe. J’ai donc tenté moi aussi de contacter la
société par téléphone (dont le siège se trouve à Cergy) mais sans résultat. J’ai
également essayé de les solliciter par mail.

Voici le contenu de ma demande :

« Bonjour,
Je suis actuellement en dernière année d'école d'ingénieur en informatique.
Cette année, je prépare une thèse sur les nouvelle IHM et je m'intéresse particulièrement à
la Wiimote.
J'ai effectué des recherches sur internet et j'ai pu constater la mise à disposition de
librairies C# et Java permettant d'utiliser une Wiimote sur PC.
Je souhaiterais par conséquent savoir si tout cela est légal, mais plus généralement, je
souhaiterais avoir des informations sur le cadre juridique de l'utilisation de la Wiimote
(standards bluetooth, matériel propriétaire...).
Je souhaiterais également, si cela est possible, obtenir de plus amples informations (fiches
techniques, études...) concernant votre produit.
Je vous remercie par avance, et en attendant votre retour, je vous souhaite bonne réception.
--
Cordialement.
-----------------------
Jérémy GOVI
jeremygovi@gmail.com »

Après de nombreux mails envoyés au service client (le même mail envoyé
plusieurs fois), j’ai finalement reçu une réponse de leur part. Voici leur réponse :

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 20/39


GOVI Jérémy IRS2009

« bonjour,

Nintendo ne fournit pas d'informations techniques concernant


l'utilisation de la télécommande Wii, hors une utilisation normale avec
la console Wii.
Nous n'avons donc de ce fait, aucune étude sur son extra-utilisation.

Cordialement,
Le Webmaster

- Merci de ne pas effacer l'historique de notre correspondance ! -

NINTENDO France
6 bd de l'Oise
Immeuble le Montaigne
95031 Cergy Pontoise Cedex
Standard/SAV : 01.34.35.46.00 »

Il est clair que ce mail ne répond pas à la question posée. On peut donc
conclure et confirmer que la société souhaite rester floue et silencieuse à propos de
la légalité des développements utilisant leur manette de jeu car les articles de loi
permettent en effet ce genre de détournement. D’ailleurs, l’intitulé de la réponse est
suffisamment explicite : « Rép. : [SPAM] Wiimote ».

Cependant, il convient toutefois de garder à l’esprit certains désagréments


pouvant être provoqués par l’utilisation détournée de la Wiimote. Premièrement,
toute utilisation du matériel en dehors de sa fonction principale met fin à sa garantie
constructeur. Aussi, l’utilisation des logiciels est sans garantie d’une entreprise ou
d’une institution. Elle est en effet aux risques et périls de l’utilisateur final (l’exemple
du crash d’un logiciel de présentation Powerpoint en pleine réunion importante peut
être cité).

4.3.3 Pourquoi la Wiimote est-elle si détournée ?


L’utilisation détournée de la Wiimote de son objectif principal (le jeu vidéo) est
due à de nombreuses raisons.

Tout d’abord, cette télécommande possède un énorme potentiel. Avec


l’industrialisation, la production de masse et la miniaturisation, Nintendo a produit un
périphérique doté d'un système de communication moderne et d'une grande variété
de capteurs et actionneurs. La manette n’est censée être utilisée que dans le
domaine du jeu vidéo. Il en résulte donc un sentiment et une impression de sous
exploitation du fort potentiel de ce matériel.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 21/39


GOVI Jérémy IRS2009

Ensuite, nous avons vu dans la partie précédente qu’il existe un certain vide
juridique concernant l’utilisation de la Wiimote, incitant et rendant possible par cette
occasion l’utilisation de ce matériel et le développement de logiciels l’utilisant.

Aussi, le détournement de la Wiimote peut être expliqué par un certain effet de


mode. En effet, les nouvelles technologies intéressent beaucoup les « bricoleurs »
qui ont acquis de plus en plus les moyens financiers et technologiques au fil du
temps. L’étude des nouvelles technologies et nouveaux produits était effectué à
l’époque dans les laboratoires. Aujourd’hui, n’importe qui peut désormais « bricoler »
du matériel directement de chez lui avec un minimum de matériel (un simple
ordinateur). Cela nous amène à nous demander si au final, la firme Nintendo ne
tirerait-elle pas un certain profit de la situation (en terme de notoriété, vu que le
détournement de la télécommande est médiatisé).

On peut donc s’accorder à affirmer que Nintendo subit l’émergence du monde


libre (d’ailleurs quelquefois appelé à tort open source), ainsi que le développement
de la diffusion d’idées (notamment l’explosion des forums sur internet).

D’autres aspects comme les aspects stratégiques entrent également en jeu.


On pourrait aux premiers abords déduire que Nintendo n’a pas réellement su
exploiter tout le potentiel de son produit Cependant en réalité, la firme n’a pas la
possibilité de se diversifier. Ce serait en effet contre la stratégie de politique interne
de l’entreprise. Cela engendrerait certainement un éclatement des unités de
conception, production, marketing et des ventes. Cela entraînerait également
rapidement des pertes de compétitivité et de productivité.

Nintendo conserve donc une volonté de se concentrer sur sa spécialité (le jeu
vidéo) alors qu’une grande diversité d’applications reste possible dans de nombreux
autres domaines.

Enfin, il est important de noter que le détournement de certains produits (en


particulier le matériel « high tech » permet l’innovation (c’est d’ailleurs souvent de
cette manière que naît l’innovation et que naissent de nouvelles inventions :
détourner un produit de son usage premier).

4.3.4 Tous les besoins sont-ils couverts ?


Les faits évoqués dans les parties précédentes de ce mémoire prouvent
clairement que tous les besoins ne sont pas couverts.

Nintendo s’efforce de couvrir tous les besoins concernant le domaine des jeux
vidéo et y est relativement bien parvenu, même si dernièrement les sorties de jeux
tendent à se raréfier. La Wii serait apparemment victime d’une sorte d’essoufflement
car aucun Hit n’est sorti depuis plus d’un an.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 22/39


GOVI Jérémy IRS2009

En revanche, du coté de la communauté de développeurs, de nombreux


projets apparaissent depuis plus d’un an (pas de chiffres disponibles mais un suivi
régulier des sorties de logiciels utilisant la Wiimote est effectué) afin de tenter de
répondre aux besoins les plus utiles, comme des plus farfelus. Le développement de
projets utilisant la Wiimote semble en être seulement à son début. En effet, force est
de constater l’apparition de logiciels de plus en plus poussés et aboutis en terme de
fonctionnalités (reprise du code déjà développé et ajout de nouvelles fonctionnalités).
Les librairies tendent également à évoluer (sortie de nouvelles versions de librairies
plus complètes).

Cependant, certaines applications conçues par la communauté de


développeurs, censées combler les besoins non satisfaits par Nintendo, ne
répondent pas toujours à tous les besoins et comportent des lacunes souvent non
négligeables. L’exemple du logiciel GlovePie peut être énoncé. Il est sans aucun
doute (point de vue personnel) le logiciel le plus aboutit en terme de capacités et de
fonctionnalités. Il en comporte tellement que son utilisation en est rendue
compliquée, même pour un utilisateur chevronné.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 23/39


GOVI Jérémy IRS2009

Le chapitre précédent a démontré que les possibilités de la Wiimote peuvent


contribuer à couvrir d’autres besoins que ceux concernant le jeu vidéo. Ce chapitre
propose de définir un besoin aboutissant au développement d’une application. Il a
également pour but de démontrer la facilité avec laquelle il est possible de
développer une application pour répondre à un besoin spécifique en choisissant et
en utilisant une des nombreuses librairies dédiées à la télécommande.

5.1 Définition du besoin


Nombreux sont les logiciels qui ont été développés et utilisant les capacités de
la Wiimote. Suite à l’essai de quelques-uns d’entre eux, il s’avère qu’une grande
partie de ceux-ci s’adressent à un public spécifique. Ils s’adressent aux personnes
ayant déjà des connaissances avancées en Informatique comme les passionnés
d’Informatique (souvent appelés « geeks »), de jeux vidéo, ou encore les
professionnels de l’informatique.

Ces logiciels sont en effet peu ergonomiques, compliqués à comprendre et à


utiliser et des « crash » surviennent souvent sans remontée d’erreurs. Dans ce cas,
c’est à la charge de l’utilisateur de trouver la raison du « non fonctionnement » de
l’application.

Comme nous l’avons vu en début de ce mémoire, le succès d’un logiciel est


assuré en partie par la qualité de l’IHM. Le grand public (parfois appelé
grossièrement « utilisateur lambda ») a besoin d’une interface simple, conviviale,
ludique, fonctionnelle et surtout attrayante d’un point de vue esthétique.

Il existe un logiciel des plus complets permettant de faire correspondre l’appui


sur une touche de la Wiimote (ou un mouvement effectué avec la télécommande
comme la faire pivoter par exemple) à une touche du clavier ou un mouvement de
souris (ex : assignation du bouton « A » à la touche « Enter » du clavier). Il s’agit du
logiciel « GlovePie ».

Cependant, après découverte de ce dernier, il s’avère qu’il est d’une grande


complexité de compréhension et d’utilisation. Son moteur est un interpréteur de
scripts (fichiers textes avec extension « .PIE » contenant des correspondances de

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 24/39


GOVI Jérémy IRS2009

touches au format texte) que l’utilisateur doit développer lui-même. Un certain


nombre de scripts disponibles avec le logiciel, mais ils ne permettent pas de
répondre à tous les besoins en matière de personnalisation. En effet, l’utilisateur a
accès à un certain nombre de scripts et donc de configurations possibles. Il est par
conséquent obligé d’ouvrir le script avec un éditeur de texte et de le modifier
manuellement, ce qui est contraire au concept d’interface conviviale.

Le logiciel que ce chapitre propose de développer est donc une sorte de copie
de « GlovePie », mais en version simpliste (ayant moins de fonctionnalités mais dont
l’utilisation est aisée), interagissant avec ce dernier et respectant les besoins cités
précédemment.

5.2 Description de l’application


Le logiciel développé est intitulé « wiimoteKeyBinder » (en français, un
« assigneur de touches »). Il permet d’assigner de touches de la Wiimote avec une
touche du clavier. C’est un logiciel qui se veut simple de compréhension et
d’utilisation. Il est doté d’une interface simple, esthétique et conviviale.

Il permet par exemple de télécommander une présentation Powerpoint. Par


exemple, l’utilisateur peut assigner le bouton « A » de la Wiimote à la touche entrée
du clavier et le bouton « B » de la manette à la touche gauche du clavier. Ainsi, lors
d’une présentation Powerpoint, l’utilisateur devra appuyer sur le bouton « A » pour
aller au slide (vignette) suivant et pourra appuyer sur le bouton « B » pour retourner
sur le slide précédent. L’utilisateur peut au gré de ses envies créer ou modifier ces
assignations pour convenir à ses besoins et utiliser la Wiimote dans d’autres
applications (jeux, défilement d’un fichier PDF…)

Il est développé en C# .NET avec l’environnement de développement (appelé


IDE, en Anglais « Integrated Developpement Environement ») Visual studio express.
Cet environnement est complètement gratuit, bien documenté et suffisamment
complet pour les besoins du développement.

Concernant la partie technique du développement, le logiciel est découpé en


trois couches correspondant à l’architecture MVC (Modèle, Vue, Contrôleur). Cela
permet le respect des bonnes pratiques du développement, une plus grande lisibilité
et modularité. Cette architecture rend les évolutions du logiciel plus simples. Cela
rend également possible et plus aisé d’implémenter d’autres interfaces graphiques
(Interface web par exemple, applet, servlet…).

Voici l’arborescence de l’application :

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 25/39


GOVI Jérémy IRS2009

Figure 6 : Arborescence de l’application développée

Les différentes classes sont réparties dans les packages correspondant à leur
fonction.

Le package « Vues » correspond à la couche présentation de l’application. Il


contient l’interface graphique. Dans notre cas, il s’agit d’un formulaire (Window Form)
contenant les différentes listes et boutons de l’application. C’est la partie visible de
l’application.

Le package « Modèle » contient les classes dites « Métier » de l’application,


c'est-à-dire les classes qui sont manipulées par les différents acteurs du logiciel.
Pour comprendre ce concept, l’exemple classique (car il s’agit d’un scénario de la vie
de tous les jours ) de la banque peut être utilisé. Par exemple, le Métier de banquier
consiste à gérer les comptes de ses clients. Dans ce cas, les objets Métier seront
« compte » et « client ». Les classes Métier n’exécutent en réalité aucune action,
elles contiennent uniquement des propriétés. Par exemple concernant l’application

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 26/39


GOVI Jérémy IRS2009

présentée ici, la classe « Clavier » contient uniquement les touches du clavier. Aucun
traitement n’est effectué dans cette dernière.

Le package « Contrôleurs » contrairement au précédent, effectue tous les


traitements de l’application. Chaque classe est chargée de la gestion des objets
métier. Par exemple, la classe « ControleurClavier » gère la classe « Clavier ». Elle
contient en effet des méthodes permettant d’interagir avec le clavier comme par
exemple récupérer l’énumération de toutes les touches du clavier sous forme d’une
liste ou encore simuler l’appui sur une touche du clavier (le terme « simuler » signifie
que l’utilisateur n’appuie pas physiquement sur la touche du clavier).

Un quatrième package est présent (le package « utils »). Il regroupe


généralement les classes qui ne correspondant pas aux trois packages précédents
comme par exemple des convertisseurs de dates ou de formats de données. Dans
notre cas, le package contient une unique classe permettant la translation du format
de données de l’application vers le format de script du logiciel « GlovePie ».

La classe nommée « Program » est présente mais placée à l’extérieur de tout


package. Il s’agit en fait de la classe principale créée automatiquement à la création
du projet. C’est le point d’entrée du logiciel, permettant ainsi de charger l’interface
graphique et tous ses composants.

On peut également s’apercevoir que la classe nommée « ProgrammePrincipal »


est présente. Cette dernière n’est placée dans aucun package car il s’agit du
« thread » (également appelé en Français processus) de l’application. Ce « thread »
est lancé et arrêté à la demande de l’application de façon parallèle à l’interface
graphique (qui est, rappelons-le aussi un thread). Il est chargé d’écouter et d’envoyer
en temps réel (lorsqu’il est démarré) les informations de la Wiimote (appui sur un
bouton, inclinaison, choc…) vers l’application. Une fois recueillies, ces informations
sont traitées par l’application.

Un extrait du code est présenté en annexe. L’application comportant une


dizaine de classes d’environ 150 lignes de code chacune, soit au total plus de
1500 lignes de code, il est décidé que seule la partie la plus intéressante de
l’application sera présentée en annexe.

Concernant l’utilisation à proprement parler de l’application, cette dernière


comporte un certain nombre de fonctionnalités. Elle fonctionne sous les systèmes
d’exploitation Windows. Elle nécessite cependant de posséder un périphérique
Bluetooth afin que la Wiimote puisse communiquer avec l’application. Lorsque
l’utilisateur exécute l’application, l’interface suivante est alors affichée à l’écran :

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 27/39


GOVI Jérémy IRS2009

Figure 7 : Interface graphique de l’application « WiimoteKeyBinder »

L’interface graphique contient une série de listes déroulantes correspondant aux


différents boutons de la Wiimote. L’utilisateur a donc la possibilité de choisir (ou de
laisser la liste vide) à quelle touche du clavier faire correspondre l’appui sur le bouton
de la Wiimote concerné.

Le bouton « Connecter/Déconnecter » est présent en haut de l’application et


permet à l’utilisateur de connecter ou déconnecter la Wiimote à l’application. Un
témoin de connexion est présent juste à coté du bouton, permettant à l’utilisateur de
connaître l’état de connexion de la manette (de couleur bleue si la télécommande est
connectée et rouge le cas échéant).

Lorsque la Wiimote est correctement connectée à l’application, l’utilisateur peut


alors démarrer ou arrêter le processus d’écoute des événements de la Wiimote et de
simulation d’appui de touches du clavier.

Bien entendu, la remontée des erreurs a été travaillée et soignée. Si une erreur
survient durant l’exécution de l’application, un message précis et une suggestion de

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 28/39


GOVI Jérémy IRS2009

la cause probable de l’échec de l’action est affiché à l’utilisateur comme sur


l’exemple suivant :

Figure 8 : Un exemple d’erreur remonté à l’utilisateur par l’application

Enfin, l’Utilisateur a la possibilité de sauvegarder ou charger sa configuration


depuis un fichier en cliquant sur le bouton correspondant. Un champ texte est prévu
à cet effet pour permettre le choix du nom du fichier. Si aucun nom n’est entré, il est
automatiquement généré par l’application.

Un bouton « Exporter vers GlovePie » est présent juste en dessous des deux
boutons cités précédemment. En effet, l’application permet une interaction avec le
logiciel « GlovePie ». Il permet la sauvegarde de la configuration en créant
automatiquement des scripts dont le format est utilisable directement par
« GlovePie ».

5.3 Raisons du choix de l’API utilisée


Le langage utilisé pour le développement de l’application est le C# utilisant le
framework .NET (.NET permet entre autres de créer des interfaces graphiques) et la
librairie « WiimoteLib » en version 1.7 (datant de janvier 2009).

La raison de ce choix est que le C# est un langage de haut niveau, donc


beaucoup plus intuitif et permissif. Il est le langage utilisé le plus souvent avec
l’environnement de développement Visual Studio et son utilisation en est rendue
encore plus aisée. De plus, le logiciel est développé pour les systèmes d’exploitation
Windows (XP étant le plus répandu) car le grand public utilise en grande majorité ces
derniers (les systèmes Linux étant plutôt réservés à un public plus averti).

Concernant la librairie WiimoteLib, après le test des quelques librairies les plus
connues, il s’avère que cette dernière est la seule qui fonctionne correctement. En
effet, étant développeur JAVA, mon premier reflexe a été de me tourner vers les
librairies créées pour ce langage. Cependant, certains bugs et incompatibilités ont
été mis rapidement en évidence (par exemple, l’API « WiiRemoteJ » est incompatible
avec le module Bluetooth « BlueSoleil » qui est très répandu).

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 29/39


GOVI Jérémy IRS2009

5.4 Evolutions possibles


Par manque de temps, le logiciel développé ne comporte pas un grand nombre
de fonctionnalités et comporte quelques anomalies. Certaines améliorations et
évolutions sont donc en effet possibles et souhaitables.

Tout d’abord, l’émulation du clavier ne fonctionne pas pour toutes les


applications. Par exemple, le logiciel fonctionne pour les applications conçues par
Microsoft comme Microsoft Word, Powerpoint ou encore Notepad. Aucun bug n’est
remarqué pour d’autres applications comme Windows Média Player, Internet
Explorer, Mozilla Firefox ou encore Adobe PDF Reader (par exemple, l’utilisateur
assigne les touches directionnelles de la Wiimote aux touches directionnelles du
clavier pour faire défiler à distance un document PDF). En revanche, les jeux vidéo
utilisant la technologie Flash dans les navigateurs Internet ou certains jeux vidéo ne
prennent pas en compte les appuis clavier générés par l’application. Apparemment,
les périphériques d’entrée seraient gérés par la collection de bibliothèques
« DirectX ». Une étude approfondie est bien entendu en cours de réalisation afin de
remédier à ce bug considéré comme bloquant.

Ensuite, une autre amélioration pouvant être apportée à l’application est


simplement l’implémentation dans d’autres langages et en utilisant d’autres librairies.
Par exemple, l’implémentation en JAVA de l’application permettrait de rendre le
logiciel plus portable et multiplateforme (il pourrait donc être lancé depuis Windows,
Linux, mais aussi sur les systèmes d’Apple (Mac OS).

Egalement, de nouvelles fonctionnalités pourraient y être ajoutées comme par


exemple la détection des mouvements et des chocs par la Wiimote. Une
implémentation du déclenchement de sons et vibrations à l’arrivée de certains
événements peut être également effectué. Par exemple, un compte à rebours, avec
déclenchement de vibrations à un moment donné ou toutes les minutes, peut être
développé afin de permettre à l’utilisateur d’être informé s’il a pris du retard dans sa
présentation PowerPoint.

A terme, le logiciel pourrait donc sérieusement concurrencer et au final


remplacer totalement le logiciel « GlovePie ».

Un travail peut aussi être effectué afin d’améliorer l’esthétisme et l’ergonomie de


l’application. Par exemple, des améliorations graphiques peuvent y être apportées
comme proposer à l’utilisateur un choix de thèmes, de couleurs ou encore
implémenter des effets graphiques ou des animations. Certaines librairies sont
spécialisées dans ce genre d’effet visuel comme « Qt », « Clutter », « GTK » ou
encore « OpenGL ».

D’autres améliorations peuvent être apportées comme l’internationalisation,


c'est-à-dire le fait de proposer à l’utilisateur le choix de la langue utilisée dans

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 30/39


GOVI Jérémy IRS2009

l’interface graphique. Cela permet entre autres de pouvoir toucher un public plus
large.

Enfin, le support de plusieurs Wiimotes peut être implémenté, afin de permettre


à plusieurs utilisateurs d’utiliser le logiciel simultanément. Par exemple, le support de
plusieurs télécommandes permettra de pouvoir effectuer une présentation
Powerpoint dirigée par plusieurs personnes en même temps, ou encore de jouer aux
jeux vidéo multi-joueurs grâce à ce logiciel.

Le support d’autres accessoires Wii peut également être développé. Par


exemple, la « Wii Balance Board » pourra être utilisée pour contrôler les
mouvements d’un personnage dans un jeu vidéo de type FPS (First Person Shoot,
en Français jeu de tir à la première personne).

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 31/39


GOVI Jérémy IRS2009

Le développement de cette petite application a eu pour objectif premier de me


permettre de découvrir et de mettre en pratique l’une des API disponibles concernant
l’utilisation de la Wiimote par un ordinateur.

Certains éléments ont facilité la programmation comme l’utilisation d’un langage


de haut niveau (C#), mais aussi une solution de développement relativement légère,
complète et utilisable rapidement (Visual Studio Express) en comparaison avec
d’autres solutions. Par exemple, Eclipse est le plus connu et le plus utilisé des
environnements de développements mais sa configuration et son utilisation peut
s’avérer très fastidieuse.

Cependant, beaucoup de difficultés ont été rencontrées comme la


familiarisation avec la conception d’applications Windows et surtout les interfaces
graphiques utilisant le Framework « .NET ». Ensuite, j’ai dû me familiariser avec le
fonctionnement de « WiimoteLib », la librairie de la Wiimote et le « Multithreading »
(gestion d’un ou plusieurs processus lancés simultanément par le programme
principal). Enfin, la difficulté majeure de ce développement est la résolution de bugs.
Même si l’application est de petite dimension, certains dysfonctionnements ont
demandé plusieurs heures de recherche, afin de les identifier et les résoudre
(certains bugs résultent en effet d’une programmation de fonctions ne provoquant
pas d’erreur mais retournant un résultat non souhaité). Tous ces bugs sont bien
entendu résolus, mis à part le dysfonctionnement concernant l’impossibilité d’utiliser
la Wiimote dans certains jeux (évoqué dans les parties précédentes).

Pour résumer, le logiciel est malheureusement insuffisamment abouti par


manque de temps consacré à ce dernier. Un bon nombre d’améliorations seraient
effectivement possibles et souhaitables. Il respecte tout de même les objectifs fixés
au départ et correspondant aux principales attentes des utilisateurs, c'est-à-dire une
attention apportée à l’ergonomie et à la facilité d’utilisation. De plus, malgré la
présence du bug empéchant d’utiliser la Wiimote avec certains logiciels, il s’avère
que tous les autres sont compatibles, rendant possible par exemple de piloter une
présentation Powerpoint avec la télécommande, ce qui rend la solution partiellement
réussie.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 32/39


GOVI Jérémy IRS2009

Un effort particulier a également été effectué concernant la lisibilité et la


modularité, afin de permettre la reprise du code. De nouvelles fonctionnalités
peuvent par conséquent y être aisément ajoutées et des développeurs peuvent s’y
inspirer pour de nouveaux développements car l’application est découpée en
couches et les fonctions sont relativement bien commentées et documentées.

Cependant, étant donné le côté expérimental de l’application et le nombre de


logiciels existant sur Internet, il sera donc bien difficile, pour cette application, de
gagner de la notoriété.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 33/39


GOVI Jérémy IRS2009

Le travail de recherche de ce mémoire m’a permis de découvrir certains


aspects du développement d’applications.

J’ai ainsi pu étudier et appréhender le fonctionnement de la Wiimote et la


simplicité du développement d’une application à travers l’utilisation de l’une de ses
nombreuses API.

Afin d’inciter d’autres internautes ou développeurs à améliorer l’existant ou


simplement s’inspirer du code pour concevoir de nouvelles applications, le projet est
rendu disponible et public (sous licence GPL) sur Internet à l’adresse suivante :

http://wiimotekeybinder.googlecode.com.

L’utilisation d’un client SVN (Subversion) est également possible, afin de


pouvoir récupérer plus facilement les sources et y apporter des modifications. Ce
document est d’ailleurs visible (par un archivage et visibilité via le site scribd.com par
exemple) via une recherche sur un certain nombre de moteurs de recherche, afin de
susciter l’intérêt des lecteurs sur les nouvelles IHM, leurs enjeux tout particulièrement
la Wiimote et ses possibilités quasi infinies.

Les recherches pour effectuer ce mémoire m’ont aussi permis d’analyser le


côté juridique et ainsi me rendre compte de l’importance de la législation concernant
la propriété intellectuelle. Cela évite de cette façon aux sociétés innovatrices d’avoir
à subir certains désagréments comme le détournement de leurs produits ou
simplement leur vol par d’autres sociétés.

D’un point de vue plus personnel, même si j’ai eu un certain nombre de


difficultés pour développer cette application de démonstration, j’ai pu améliorer mes
compétences en matière d’Informatique par la découverte du langage C#, du
Framework .NET et de l’environnement Visual studio. Cela m’a permis de me
diversifier car je suis plutôt spécialisé (mission en entreprise depuis trois ans) dans le
développement en JAVA et toutes les technologies Open Source et particulièrement
celles qui concernent le Web (hibernate, jboss, javascript, jsf…).

Etant issu d’une formation orientée Réseaux et Systèmes, mon travail et mes
recherches concernant ce mémoire me permettent d’accomplir encore plus mes
aspirations et objectifs personnels, c'est-à-dire atteindre un maximum de polyvalence
dans les différents domaines de l’Informatique.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 34/39


GOVI Jérémy IRS2009

Avec l'essor des réseaux informatiques, des applications et le progrès des


technologies, les Interfaces Hommes Machines ont énormément évolué et sont
devenues un enjeu important.

Les entreprises doivent par conséquent innover sans cesse pour satisfaire les
exigences des consommateurs. On constate depuis quelques années une plus
grande importance apportée à la Recherche & Développement des pays
industrialisés. Cette tendance est bien entendu générale, certains pays d’Europe
dont la France sont en effet « à la traîne » (cf. article sur l’évolution de la R&D référé
au chapitre 9).

Concernant la console Wii, nombreuses sont les entreprises qui tentent


d’obtenir le même succès et de la détrôner. Afin de la concurrencer, Sony a
commercialisé la manette « sixaxis », comportant elle aussi des capteurs de
mouvement. Une souris « aérienne » (« MX Air » de la société Logitech) a également
été mise sur le marché. De son côté, Nintendo réagit en ayant mis au point une
extension (« Wii Motion Plus ») de la Wiimote permettant une reconnaissance
beaucoup plus pointue des mouvements du joueurs.

D’une façon plus générale, les IHM sont promises à un bel avenir car de
nouveaux concepts sont étudiés chaque jour. Par exemple, le projet « Natal » de
Microsoft pour la Xbox est en cours de développement et permet une
reconnaissance des mouvements de l’utilisateur et des objets environnants. Une
version gratuite (« Cam-Trax ») est également en cours de développement pour
Windows, Mac et Linux et utilise une simple Webcam.

D’autres IHM sont à l’étude comme le projet « OpenVIBE » (développé par


INRIA / INSERM / ANR) exploitant les ICM (Interface Cerveau Machine, en anglais
BCI, Brain Computer Interface). Le logiciel permettrait de pouvoir contrôler un
ordinateur uniquement par la pensée, grâce à un casque doté de capteurs d’activité
cérébrale.

Pour conclure ce mémoire je précise que les différents types IHM sont très
nombreux. Concernant la Wiimote, le nombre d’applications possibles est, nous
l’avons vu tout au long de ce mémoire, quasi infini. Chacun des sujets abordés dans
ce mémoire est suffisamment vaste pour être le sujet d’une thèse ou d’un mémoire à
part entière. Il ne m’a donc été possible d’effectuer qu’un « survol » des différentes
technologies et applications, car l’approfondissement du sujet demanderait
énormément plus de temps.

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 35/39


GOVI Jérémy IRS2009

IHM et ergonomie au centre des enjeux clés des éditeurs:


http://www.journaldunet.com/solutions/0609/060922-ergonomie-interfaces-applications.shtml

Présentation des différents types d’IHM :


http://kistren.polytech.unice.fr/cours/maje/03%20-%20Interaction.pdf

Total des ventes de la console Wii à travers le monde :


http://vgchartz.com/
http://www.numerama.com/magazine/5162-La-Wii-bat-des-records-de-ventes-et-passe-
devant-la-Xbox-360.html

Les dates de sortie de la console dans les différents pays du monde :


http://fr.wikipedia.org/wiki/Nintendo_Wii#Lancement

Fonctionnement de la Wiimote :
http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Wii-Laure_Vignot/wiimote.html#generalites

Projets exploratoires de Johnny Chung Lee :


http://www.wiimoteproject.com/
http://johnnylee.net/projects/wii/

Informations et utilisation du TNWii :


http://www.prtice.info/?voir=tnwii

Informations sur la Wiimote et les brevets :


http://www.generation-nt.com/nintendo-wii-wiimote-interlink-brevet-actualite-19993.html

Discussions concernant la légalité des développements utilisant la Wiimote :


http://www.prtice.info/?voir=tnwii#loi
http://www.speechi.net/fr/index.php/2008/03/26/tnwii-a-qui-profite-la-confusion-et-un-avis-
davocat/

Textes de loi relatifs à la propriété intellectuelle :


http://www.legifrance.gouv.fr

Evolution de la R&D dans les pays industrialisés :


http://obouba.over-blog.com/article-16557276.html

Le projet « OpenVIBE » : une Interface Cerveau Machine :


http://www.01net.com/editorial/502427/openvibe-un-logiciel-qui-permet-de-piloter-un-
ordinateur-par-la-pensee/

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 36/39


GOVI Jérémy IRS2009

Contenu de la classe ControleurWiimote :

// WiimoteKeyBinder, par Jérémy GOVI


// jeremygovi@gmail.com

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WiimoteLib;
using System.Windows.Forms;
using System.Threading;
using WiimoteKeyBinder.Modele;
using WiimoteKeyBinder.Configuration;

namespace WiimoteKeyBinder.Controleurs
{
class ControleurWiimote
{
private int sleepTimeForButtonPressed = 0;
private Boolean connecte = false;
static ProgrammePrincipal programmePrincipal = new ProgrammePrincipal();
Thread threadProgrammePrincipal;
private Boolean programmePrincipalTourne = false;
private Wiimote wm = new Wiimote();
static ControleurWiimote instance = null;

private ControleurWiimote()
{
}

public static ControleurWiimote getInstance()


{
if (instance == null)
{
instance = new ControleurWiimote();
}
return instance;
}
// fonction retournant true si la wiimote est connectée ou false si elle ne l'est pas
public Boolean wiimoteEstConnectee()
{
return connecte;
}
/// <summary>
/// Fonction permettant de conncter ou déconnecter la wiimote
/// </summary>
/// <returns>null si l'opération s'est déroulée correctement, sinon, elle renvoie le message d'erreur sous forme
de String</returns>
public String connectOrDisconnectWiimote()
{
String message = null;
if (!connecte)
{
try
{
// on tente de connecter la wiimote
wm.Connect();
// on change l'état de notre variable locale
connecte = !connecte;
wm.SetReportType(InputReport.IRAccel, true);
// on la fait vibrer un peu
wm.SetRumble(true);
// on allume les 4 leds
wm.SetLEDs(true, true, true, true);
// on stoppe les vibrations
wm.SetRumble(false);
}
catch (WiimoteNotFoundException ex)

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 37/39


GOVI Jérémy IRS2009

{
message = "Aucune Wiimote trouvée! Peut-être devez vous d'abord la connecter en bluetooth";
}
catch (WiimoteException ex)
{
message = "Erreur concernant la Wiimote. Il est impossible de lire les données provenant de la
Wiimote. Essayez de la déconnecter puis de la reconnecter";
}
catch (Exception ex)
{
message = "Erreur inattendue";
}
}
// sinon on déconnecte la wiimote
else
{
wm.SetLEDs(true, false, false, false);
// on la fait vibrer un peu
wm.SetRumble(true);
// on stoppe les vibrations
wm.SetRumble(false);
// on la déconnecte
wm.Disconnect();
connecte = !connecte;
}
// on retourne le message d'erreur si il y en a un
return message;
}
/// <summary>
/// retourne l'instance de wiimote (utilisé par le programme principal)
/// </summary>
/// <returns>l'instance de la wiimote</returns>
public Wiimote getWiimoteInstance()
{
return wm;
}
/// <summary>
/// fonction permettant de définir les actions à effectuer en fonction de l'état de la wiimote (ex: lorsque l'on
appuie sur une touche)
/// </summary>
/// <param name="aState">L'état de la wiimote</param>
public void priseEnMainActionDeLaWiimote(WiimoteState aState)
{
// si l'utilisateur a appuyé sur le bouton A...
if (aState.ButtonState.A)
{
// on récupère l'assignation enregistrée en mémoire
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonA);
// on l'envoie au controleur de clavier pour traitement
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("A");
}
else if (aState.ButtonState.B)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonB);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("B");
}
else if (aState.ButtonState.Up)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonHaut);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("haut");
}
else if (aState.ButtonState.Down)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonBas);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("bas");
}
else if (aState.ButtonState.Left)
{
Assignation tmp =
ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonGauche);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("gauche");
}
else if (aState.ButtonState.Right)
{
Assignation tmp =
ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonDroite);
envoyerPourTraitementControleurClavier(tmp);

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 38/39


GOVI Jérémy IRS2009

Console.WriteLine("droite");
}
else if (aState.ButtonState.Minus)
{
Assignation tmp =
ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonMoins);
envoyerPourTraitementControleurClavier(tmp);
}
else if (aState.ButtonState.Home)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonHome);
envoyerPourTraitementControleurClavier(tmp);
}
else if (aState.ButtonState.Plus)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonPlus);
envoyerPourTraitementControleurClavier(tmp);
}
else if (aState.ButtonState.One)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonUn);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("1");
}
else if (aState.ButtonState.Two)
{
Assignation tmp = ControleurConfiguration.getInstance().recupererAssignation(TelecommandeWii.boutonDeux);
envoyerPourTraitementControleurClavier(tmp);
Console.WriteLine("2");
}

}
/// <summary>
/// fonction permettant au programme principal de tourner
/// </summary>
public void tourner()
{
// on vérifie qu'il ne tourne pas déja
if (!programmePrincipalTourne)
{
// on lance le thread
threadProgrammePrincipal = new Thread(new ThreadStart(programmePrincipal.tourner));
threadProgrammePrincipal.Start();
programmePrincipalTourne = true;
Console.WriteLine("thread demarré");
}

/// <summary>
/// fonction permettant d'arréter le programme principal
/// </summary>
/// <returns>true si il a été arrété correctement, sinon, false</returns>
public Boolean arreter()
{
// on vérifie d'abord qu'il tourne
if (threadProgrammePrincipal != null)
{
// on l'arrête
threadProgrammePrincipal.Abort();
programmePrincipalTourne = false;
Console.WriteLine("thread arrete");
return true;
}
return false;
}
/// <summary>
/// Cette fonction permet d'envoyer une assignation de touche au controleur clavier pour récupérer la touche
/// du clavier sur laquelle il doit appuyer
/// </summary>
/// <param name="tmp">une assignation de touche</param>
private void envoyerPourTraitementControleurClavier(Assignation tmp)
{
if (tmp != null)
{
String toucheClavier = tmp.getToucheClavier();
ControleurClavier.getInstance().appuyerSur(toucheClavier);
programmePrincipal.interrompre(sleepTimeForButtonPressed);
}
}
}
}

LA NINTENDO WIIMOTE : SYMBOLE DE L’EVOLUTION DES IHM Page 39/39

Vous aimerez peut-être aussi