mode d`emploi pour faire un livre tactile interactif

publicité
Livre Tactile Interactif :
Mode d’emploi
Conseils et aides pour créer un livre tactile interactif
codé en Python avec le module Blindstation
et utilisant une planche tactile de type Concept Keyboard
Adapté aux non informaticiens.
Auteur :
Aurélie BORNERAND
Avec la participation de :
Abdelaziz ALAOUI
Aurélie CASSON
Émilie MARTIN
DESS HANDI
http://lti.site.voila.fr
Livre Tactile Interactif : Mode d’emploi
2004/2005
2/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Résumé
Ce mode d’emploi a pour objectif d’expliquer comment réaliser un livre tactile interactif
simple, du début à la fin. Nous verrons pour commencer les explications générales sur le
fonctionnement ainsi que les étapes de mise en route. Ensuite, nous verrons comment
choisir les matières du livre, les textures, dessins et emplacements des éléments de
l’histoire. Ensuite, nous déclarerons les ressources, puis nous mettrons en place les
interactions, ce qui signifie réaliser la partie codage proprement dite. Et pour finir,
l’installation de tout ceci afin de faire un livre tactile interactif facile à installer et à
transporter. Le dernier chapitre du rapport donnera des conseils pour des utilisateurs plus
expérimentés qui souhaiteraient rajouter des interactions au jeu ou utiliser un logiciel
extérieur afin de créer un setup.
http://lti.site.voila.fr
3/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Table des matières
Résumé ................................................................................................................................................. 3
Table des matières ................................................................................................................................ 4
Table des figures .................................................................................................................................. 5
Pré-requis ............................................................................................................................................. 6
Introduction .......................................................................................................................................... 7
I) Livre tactile .............................................................................................................................. 8
 Histoire .................................................................................................................................. 8
 Textes .................................................................................................................................... 8
II)
Explications générales et mises en route............................................................................ 13
1. Matériel ............................................................................................................................... 13
2. Logiciels .............................................................................................................................. 15
3. Fonctionnement ................................................................................................................... 17
 Installation physique des matériels ..................................................................................... 17
 Blindstation, Python et XML .............................................................................................. 17
 Organisation simplifiée de la programmation ..................................................................... 18
III)
Partie interactive ................................................................................................................ 19
1. Pré-requis ............................................................................................................................ 19
2. Déclaration des ressources .................................................................................................. 22
3. Construction du Livre Interactif .......................................................................................... 25
IV)
Installation du Livre Tactile Interactif ............................................................................... 37
1. Installation logicielle du livre tactile interactif ................................................................... 37
2. Installation de la planche tactile .......................................................................................... 37
3. Grand écran ......................................................................................................................... 38
V)
Partie interactive : un peu plus loin .................................................................................... 39
Conclusion ......................................................................................................................................... 41
Références bibliographiques .............................................................................................................. 42
Annexes .............................................................................................................................................. 45
http://lti.site.voila.fr
4/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Table des figures
Différences entre dessins tactiles et graphiques ................................................................................. 11
Schéma de cellules ............................................................................................................................. 14
Schéma fonctionnel physique ............................................................................................................ 17
Schéma d’interactions entre Blindstation, Python et XML ............................................................... 18
http://lti.site.voila.fr
5/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Pré-requis
Ce mode d'emploi est basé sur le travail du projet de groupe du « livre tactile interactif »,
un projet technique du DESS HANDI (promotion 2005).
Toutes les informations complémentaires nécessaires sont disponibles sur le site du projet
technique : http://lti.site.voila.fr
http://lti.site.voila.fr
6/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Introduction
Il existe actuellement beaucoup de jeux interactifs. Le problème est qu'ils ne sont pas
forcément adaptés aux personnes malvoyantes ou aveugles. Et lorsqu'on arrive à trouver
un jeu interactif adapté aux personnes malvoyantes ou aveugles, il s'avère généralement
qu'il est rarement adapté pour tous. Le problème est exactement le même si l'on cherche
un livre, donc une histoire, et non plus un jeu. Nous allons donc essayer ici de créer un
livre tactile interactif adapté aux aveugles et aux malvoyants mais utilisables par tous.
Ce mode d'emploi étant basé sur le travail d’un projet technique du DESS HANDI, il vous
est donc vivement conseillé de vous renseigner également en lisant le rapport concernant
ce même projet car il vous permettra de comprendre les choix faits dans ce mode
d’emploi. Vous pourrez trouver le rapport sur le site Internet dédié au projet :
http://lti.site.voila.fr.
Ce mode d'emploi est destiné à des personnes n'ayant pas de connaissance particulière
en programmation mais ayant l'habitude d'utiliser un ordinateur.
Nous allons commencer par donner des explications générales sur le fonctionnement de la
réalisation du livre tactile interactif ainsi que de la mise en route de sa création. Nous
expliquerons ensuite, rapidement, comment créer un livre tactile, en donnant des conseils
sur le choix de l'histoire, des dessins, des textures et des sons. Nous expliquerons ensuite
plus en détail comment gérer les ressources et donnerons quelques conseils afin d'en
rendre l'organisation la plus logique possible. Nous passerons ensuite à la partie de
programmation proprement dite, ce qui signifie commencer par déclarer les ressources
avec un fichier XML pour ensuite les utiliser dans le code qui sera en Python. Enfin nous
expliquerons comment organiser et le tout afin de rendre le livre transportable et pouvoir
l'utiliser sur n'importe quel ordinateur.
http://lti.site.voila.fr
7/45
DESS HANDI
I)
Livre Tactile Interactif : Mode d’emploi
2004/2005
Livre tactile
Avant tout, il y a deux aspects très important à prendre en compte. Le premier est de
porter une extrême vigilance quant au problème de copyright. Le moindre dessin, le
moindre son, la moindre citation que vous pourriez utiliser dans votre livre doit être
déclaré avec son nom d'auteur, la date, et tout autre renseignement dont vous disposez,
même si l'auteur nous a donné l'autorisation de l'utiliser.
Le deuxième aspect consiste à prendre en compte dès le début de la création du livre
tactile interactif, si l’on a décidé d'utiliser l'affichage sur l'écran ou non. En effet, il est
possible de réaliser la totalité des interactions du livre sans pour autant développer la
partie graphique. Cependant, l'aspect graphique visible en grand écran sur l'écran de
l'ordinateur, peut être d'un grand apport et d'un grand avantage pour des personnes
malvoyantes.
 Histoire
Le type d'histoire le plus simple à utiliser est le type d'histoire randonnée. Le principe est
simple, nous avons un personnage central qui décide de se balader à cause d'une situation
donnée qui le dérange, par exemple. Ce personnage va à la rencontre d'autres personnages
et parcourt un petit bout de chemin. L'histoire que nous avons choisie pour notre projet
technique porte sur l'histoire de Noa, le petit chat, qui habite à côté d'un chien qui aboie et
lui court après. Excédé, Noa décide de déménager. Notre livre interactif est destiné à des
enfants de quatre à six ans d'où le côté un petit peu simpliste de l'histoire.
Pour un livre tactile, le mieux est d'instaurer un système de fil conducteur. L'élément
principal du livre, par exemple le chat Noa, sera dessiné de façons très ressemblantes et
avec la même texture sur toutes les pages du livre et il en va de même pour tous les autres
personnages secondaires. De même, les boutons de navigation ou encore les zones de texte
doivent être au moment droit sur toutes les pages. Par exemple le bouton pour quitter sera
toujours en bas à gauche et le bouton pour changer de page sera toujours en bas à droite.
 Textes
http://lti.site.voila.fr
8/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Afin de réaliser un livre adapté pour tous, aussi bien aux voyants, mal voyants, qu’aux
aveugles, il est très important d'afficher les textes aussi bien en braille qu'en gros
caractères. Pour le braille, choisissez une police adaptée qui permettra une lecture facile
des textes. La police Rockwell (disponible sur le site) par exemple est très bien, car elle
permet de bien distinguer chaque lettre sans pour autant trop distancer les mots entre eux.
De plus, tout ce qui est écrit sur le livre peut, a priori, être inscrit sur l'écran.
Malheureusement, python ne permet pas les espaces. Aussi, il sera plus simple d'élaborer
des phrases très courtes en mettant un caractère spécial à la place des espaces ou bien
simplement de ne choisir qu'un seul mot. Mais étant donné que l'on s'est basé sur un livre
tactile, il n'est même pas obligé d'afficher le texte à l'écran.
 Disposition d’une page
La disposition spatiale de la page est un élément important à prendre en compte. En effet,
il est nécessaire que les enfants aient accès sur la même page à l’écriture, à l’image tactile
ainsi qu’aux boutons fonctions. Or, pour un déficient visuel, la lecture d’une forme fait
appel à divers processus de reconnaissance tels que l’exploration du contour, du volume,
de la texture… Pour que cette procédure exploratoire soit exécutée dans les meilleures
conditions, il ne faut pas que l’enfant soit gêné par d’autres éléments de la page, à savoir
que le braille ne soit pas trop près des dessins pour éviter l’ambiguïté tactile au moment
de la lecture ou inversement pour la reconnaissance des dessins. De plus, il serait peut être
judicieux d’éviter comme nous avons du le faire, de coller des éléments trop près du bord
de la page par économie de place. Car de cette façon, une fois la page posée sur le
keyboard, certains éléments ne peuvent pas être analysés dans leur globalité du fait de la
proximité des contours de la planche tactile.
http://lti.site.voila.fr
9/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Exemple de page
 Les formes
« Il y a dans l’élaboration graphique d’élément tactile tout un nombre de données qui répondent au
seuil de sensibilité tactile mais également aux stratégies de lecture. Et donc, là il y a deux aspects,
l’élaboration graphique et la représentation ». 1
Cette citation montre l’importance de ne pas prendre en compte seulement la texture de
l’élément mais sa forme avant tout, la texture ne venant qu’ « habiller » la forme. Elle a
également pour but d’illustrer le fait qu’il faille, dès le début de la création, faire appel aux
bonnes références du réel pour apporter des formes réalistes et conceptualisables. Ainsi,
les formes doivent contenir les principales caractéristiques de l’objet figuré : par exemple
la queue et les moustaches pour le chat, le bec pointu de la poule, la crinière du cheval, etc.
Si par désir esthétique les dessins se veulent « décalés » par rapport au réel il semble alors
préférable de pouvoir expliquer ou du moins sous-entendre la signification de ces
changements, afin que l’enfant handicapé visuel puisse reconnaître l’objet en question. Par
exemple, un pelage pourra passer de sa douceur normale à un pelage englué s’il s’avère
que l’animal est tombé dans l’eau. L’enfant peut ici comprendre pourquoi le pelage a
changé.
Pour notre livre tactile interactif, nous avons eu recours à une dessinatrice, Charlotte
Charbonnel. Cela nous a permis d'avoir des dessins assez réalistes tout en étant originaux.
Il faut savoir que la vision des aveugles et des malvoyants est différente de la nôtre car ils
1
Hoëlle Corvest
http://lti.site.voila.fr
10/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
n'ont pas la perception mentale que nous pouvons nous faire des animaux et des éléments.
C'est pourquoi tous les dessins doivent décrire des formes que l'on peut reconnaître au
toucher sans pour autant être trop précises. S'il y a trop de détails sur le dessin, cela nuira
à la compréhension du dessin en lui-même. Mais à l'opposé, si un dessin est trop simpliste
il rendra sa reconnaissance impossible. Le tout est donc de réussir à trouver un bon
compromis entre trop de détails et trop de simplicité. Nous avons considéré que ce bon
compromis était de laisser des détails tels que les yeux tout en gardant des formes
originales pour les animaux. Nous avons donc mis des perles pour les yeux afin qu'ils
soient en relief mais nous avons laissé notre cheval avec les jambes tordues.
Étant donné que le livre est destiné à toute une gamme de lecteurs, il peut être intéressant
d'habiller un petit peu plus chaque page au lieu de ne mettre que le texte de l'histoire et les
deux personnages principaux. On peut par exemple rajouter des décors et des fonds ou
encore scanner les dessins utilisés pour le livre tactile et les remettre sur l'écran. En les
modifiant très légèrement, par exemple en accentuant les contours, on peut les rendre bien
plus visible pour des personnes malvoyantes.
Dessin original
Dessin modifié
Différences entre dessins tactiles et graphiques
 Les textures
Pour la réalisation des planches tactiles, la recherche de textures différentes met en jeu de
nombreuses prises en considération. Il est important de se mettre dans la peau du lecteur
pour ne pas engendrer des difficultés perceptives voire des illusions tactiles. En effet, tout
papier avec relief s’avère être déconseillé si celui-ci ne coïncide pas avec la forme
http://lti.site.voila.fr
11/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
souhaitée. Ainsi, un papier avec rainures horizontales ou verticales modifie la perception
d’un rond, d’une étoile ou d’un triangle.
De plus, lorsqu’on souhaite travailler avec des personnes handicapées visuelles, il est
primordial de représenter le monde tel qu’elles le conçoivent. En effet, pour des déficients
visuels le sol se situe sous leurs pieds, il ne faut donc pas représenter celui-ci avec des
modifications de plan en le verticalisant. Voici un exemple d’erreur comme décrit ciaprès :
Avant
Modifications des planches
Après
Pour finir, il est préférable d’opter pour des textures relativement solides pour que l’enfant
puisse lire et relire le livre sans trop le dégrader. Par exemple, des textures comme le
velours s'effilochent très rapidement et deviennent inexistantes au bout de peu
d'utilisations. De même des matières trop rigides telles que du liège sont en réalité très
cassantes et risquent d'être détruites trop rapidement. Cependant, on peut choisir des
matières spécifiques pour leur aspect particulier au toucher. Par exemple, de la glue
solidifiée donne une texture un peu comme de l'eau, alors que de l'aluminium donnera à
une texture froide et lisse un peu comme du fer ou du verre.
Il faut également que toutes les textures soient parfaitement bien collées afin que rien ne
puisse laisser penser qu'il y a quelque chose à faire avec la texture, sinon l'enfant risque de
tirer dessus et de dégrader encore plus vite le livre.
http://lti.site.voila.fr
12/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
Il ne faut pas non plus oublier les couleurs, bien entendu, un livre joli est toujours plus
agréable à regarder et à toucher, surtout si l'on cherche à rendre ce livre accessible à tous :
parents, frères et sœurs, amis, enfants, infirmières...

Les sons
L'avantage d'un livre tactile qui est aussi interactif, est justement le fait de pouvoir
disposer de sons d’ambiance, de sons particuliers pour chaque élément et des voix (aussi
bien la voix off que celle des personnages). Pour ce qui est de la voix off mieux vaut
essayer de trouver une personne habituée à lire des histoires, comme un conteur, car la
façon de parler pour raconter une histoire et différente de celle que l'on utilise simplement
pour lire. De plus le choix d’un conteur homme a été souhaité par soucis de compatibilité
avec la représentation que l’on pouvait avoir pour notre chat, mais également parce qu’elle
nous semblait plus rassurante qu’une voix de femme.
En ce qui concerne les sons des animaux, nous les voulions réalistes pour ne pas tendre
vers la caricature infantilisante. Nous nous sommes également concentrés sur la diversité
de sons pour notre héros afin de faire ressortir ses différentes émotions lors de ses
multiples escapades. Ces sons ont été trouvés pour certains dans une base de données de
sons typiques, The international sound effects library.
Nous avons également rajouté des voix aux personnages secondaires et aux éléments du
décor. Celles-ci se caractérisent par leur aspect ludique et inattendu. Pour ce rajout nous
avons utilisé nos propres voix par soucis de temps et pour varier les voix.
II) Explications générales et mises en route
1. Matériel
Il y a trois composantes matérielles à posséder afin de réaliser un livre tactile interactif. Il
vous faut un ordinateur, une planche tactile, et bien entendu un livre tactile.
 L'ordinateur
http://lti.site.voila.fr
13/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Il n'est pas nécessaire qu'il soit extrêmement performant. Un ordinateur moderne suffira.
Cependant, il est nécessaire d'avoir un minimum de mémoire vive ainsi qu'un minimum
d'espace disque libre. En effet la taille de l'histoire, au niveau du disque dur, ne sera
composée que de la taille des fichiers que vous allez ajouter c'est-à-dire les sons et les
images.
 La planche Tactile
Elle est constituée d’une surface tactile divisée en 256 cellules. Mais le pilote logiciel utilisé
par Blindstation n’utilisant que 128 cellules, les lignes sont fusionnées deux par deux, afin
que les deux premières cellules des deux lignes ne fassent qu’une seule cellule.
Schéma de cellules
De plus, les cellules sont numérotées afin d’être identifiées. La numérotation se fait comme
pour lire, c’est-à-dire de gauche à droite, ligne après ligne. La première cellule en haut à
gauche étant la numéro 0 et la dernière en bas à droite la 127. On peut ainsi définir les
zones tactiles correspondantes aux éléments du livre tels que les animaux, les zones de
texte, les décors (buisson, fleur, arbre, etc.)
Pour faciliter le relevé des zones tactiles, l’astuce est de se faire un calque, une grille
dessinée sur un papier transparent que l’on pourra positionner sur la page du livre afin de
relever les zones tactiles par transparence.
Ces zones tactiles définies par objet seront les « flexykeys » utilisées dans le code.
Au niveau connectique, la planche possède un branchement direct en port Série (aussi
appelé port COM) mais un adaptateur peut être rajouté afin de la brancher en USB
(Universal Serial Bus). Le programme nécessite l’identification du port utilisé, ce qui n’est
pas automatique. Il faudra donc aller dans un fichier donné (libboard.conf) pour entrer le
http://lti.site.voila.fr
14/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
numéro du port où la planche a été connectée. Nous verrons ceci dans le chapitre
« Installation du Livre Tactile Interacxtif».
Dernière précision, la planche tactile Concept Keyboard possède un retour sonore
instantané : un simple « bip » dès qu’une cellule active est appuyée ou aucun bip si la
planche est inactive ou bloquée. Il n’est donc pas nécessaire de le programmer.
 Le Livre Tactile
Le livre tactile doit être adapté à la planche tactile choisie c'est-à-dire que les planches
doivent être suffisamment grandes pour remplir la zone tactile, mais suffisamment petites
pour pouvoir y entrer et en sortir facilement afin de faciliter le changement de page. Pour
notre projet nous avions décidé de mettre la reliure en bas à gauche des pages, cela
permettait de pouvoir changer de page facilement sans avoir à manipuler tout le livre à
chaque fois. Cependant, cela oblige d'avoir assez d'espace autour de l'ordinateur afin de
pouvoir garder le tout à plat. Un livre tactile interactif doit être absolument relié, sinon il
devient impossible de prévoir la prochaine page. Le livre tactile interactif étant destiné à
des enfants de quatre à six ans il était impossible de leur demander trop de manipulations
pour chaque changement de page. Cette action a donc été simplifiée à une seule qui
consiste simplement à mettre la page d'après. Ceci n'étant pas possible si la reliure est
absente.
2. Logiciels
 BlindStation : http://libbraille.org/blindstation/
« BlindStation est une plate-forme de développement de jeux éducatifs accessibles aux
enfants aveugles et mal voyants. Elle peut être utilisée à travers de nombreux
périphériques tels qu'une planche tactile »
[Site Internet de Blindstation],
comme c’est le cas pour
notre Livre Tactile Interactif, mais encore avec un terminal Braille, un joystick, un
système sonore surround ou même un clavier avec un écran.
La plate-forme Blindstation intègre son propre système d'affichage, de son et de gestion de
la planche tactile. L'affichage se fait donc en 640x480, le son peut être un mono, stéréo, ou
http://lti.site.voila.fr
15/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
surround et la planche tactile est gérée avec un driver propre à la plate-forme. C'est
d'ailleurs « à cause » de ce même driver que la planche ne peut être utilisée avec ses 256
cellules mais uniquement avec 128.
 Python :
http://www.python.org
« Python est un langage portable, dynamique, extensible, gratuit, qui permet une
approche modulaire et orientée objet de la programmation. Python est développé depuis
1989 par Guido van Rossum et de nombreux contributeurs bénévoles à la suite. » [Site Internet
de Python]
Python est gratuit et facilement transportable, ce qui fait de ce langage un outil très
intéressant pour ceux qui souhaitent pouvoir développer de petits ou de très gros
programmes utilisables sous toutes les plates-formes comme Microsoft Windows ou Unix.
Références de Python
Toutes ses informations proviennent du site officiel de Python, www.python.org. On y
trouvera la distribution officielle, de nombreux paquetages contribués, les comptes-rendus
des six conférences Python qui se sont tenues à ce jour.
En plus de la documentation intégrée à la distribution standard, disponible également sur
le site officiel et composée d'un tutoriel, du manuel de référence du langage et de celui de
la librairie standard, on pourra consulter les deux livres parus actuellement sur Python :
 Programming Python, de Mark Lutz, O'Reilly, 1996.
 Internet Programming with Python (IPwP), de Aaron Watters, Guido van Rossum
et James C. Ahlstrom, M&T Books, 1996.
 Langage XML
http://lti.site.voila.fr
16/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
« XML (entendez eXtensible Markup Language et traduisez Langage à balises étendues,
ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré
permettant de définir de nouvelles balises. Il s'agit effectivement d'un langage permettant
de
mettre
en
forme
des
documents
grâce
à
des
balises
(markup) »
[http://www.commentcamarche.net/xml/xmlintro.php3].
Pour notre livre tactile interactif, nous utiliserons le langage XML afin de recenser et de
définir toutes les ressources utilisées. Cela signifie que pour chaque son ou dessin que
nous allons utiliser dans le livre, il y aura dans le fichier XML une définition précise pour
chacun de ces éléments.
3. Fonctionnement
 Installation physique des matériels
Livre Tactile
posé sur la
Planche Tactile
Port Série
ou USB
Planche Tactile
ordinateur « normal »
de bureau ou portable
avec haut-parleurs
Schéma fonctionnel physique
 Blindstation, Python et XML
Au sein de la plate forme BlindStation interagissent les deux processus : le programme du
Livre Tactile Interactif en Python et le fichier XML, chacun décrivant les scènes de notre
http://lti.site.voila.fr
17/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
histoire. Python lit constamment les informations contenues dans le fichier XML. On peut
voir le fonctionnement schématiquement :
Blindstation
Python
XML
Schéma d’interactions entre Blindstation, Python et XML
 Organisation simplifiée de la programmation
Au même titre qu’un livre est organisé par pages, la programmation d’un livre tactile
interactif est organisée par scènes. Ainsi la programmation d'un livre tactile interactif peut
se décomposer en autant de scènes qu'il y a de pages dans le livre. Donc tous les éléments
d'une page du livre tactile seront répertoriés dans une seule scène de la programmation.
http://lti.site.voila.fr
18/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
III) Partie interactive
1. Pré-requis
Rappel : les dessins présents sur le livre physique peuvent être scannés, traités et affichés sur
l’écran de l’ordinateur car il y a possibilité d’utiliser une représentation graphique de l’histoire à
l’écran en même temps que l’on utilise le livre.
Pour les interactions du livre, nous avons utilisé Blindstation 1.7 et Python 2.3 (la version 2.4
n’étant pas compatible avec Blindstation 1.7 au moment de la programmation en février 2005). Ces
programmes peuvent être téléchargés facilement car ils sont gratuits.
Blindstation : http://libbraille.org/blindstation
Python : http://www.python.org
Pour programmer notre livre nous nous sommes basés sur les fichiers d’aide disponibles sur les
sites de Blindstation et Python, ainsi que de jeux existants réalisés par Monsieur Archambault.
 Réalisation d’une page type
Un livre tactile doit avoir une constitution assez constante, c’est-à-dire que les différents
éléments qui le constituent doivent suivrent une certaine logique et ne pas changer de
place de page en page. Pour un livre tactile interactif par exemple, on fera en sorte que les
boutons de navigation (quitter, changer de page) soient strictement et rigoureusement à la
même place, de la même taille et de la même forme sur toutes les pages.
De plus, la programmation des interactions avec Blindstation, Python et XML se fait par
scènes, où une scène peut être assimilée à une page du livre. Aussi, il devient simple de
gérer ses ressources interactives. Tout ce qui va être utilisé pour le livre doit être organisé
page par page, donc il devient très intéressant de préparer une page type et de l’appliquer
à toute nouvelle page ajoutée au livre. Ceci permettra un gain de temps car les éléments
répétés sur chaque page ne seront référencés qu’une fois et réutilisés.
http://lti.site.voila.fr
19/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
L’astuce ici est donc de se faire une version papier du livre tactile que l’on va créer, et de
tout placer et nommer. Ainsi, on pourra à tout moment avoir sous les yeux les noms des
fichiers et leur emplacement dans l’arborescence des dossiers, la position des éléments sur
la grille tactile et toute autre information rattachée.
 Application d’une nomenclature
Comme pour tout projet alliant des ressources diverses et variées tels que des fichiers
audio (voix, sons précis, musiques d’environnement) ou graphiques (dessins ou images,
fonds d’environnement, outils de navigation, zones tactiles), il est essentiel d’établir une
nomenclature très précise et de la suivre. Une nomenclature dans ce cas consiste à décider
et à suivre scrupuleusement une méthode pour nommer tous les fichiers de façon à
pouvoir situer un fichier précis directement par son nom, sans avoir à regarder
l’arborescence. Une nomenclature est généralement très personnelle, il faut cependant
essayer d’être logique au maximum afin que d’autres personnes puissent reprendre le
projet ou s’en inspirer. A partir de là, il devient facile d’appeler les ressources dans le code
sans avoir constamment à regarder dans les arborescences, la nomenclature demande
quelques minutes de réflexion mais c’est un gain certain de temps et d’énergie pour la
suite.
 Gestion des ressources
Dans notre programmation liée entre Blindstation, Python et XML, la déclaration des
ressources utilisées se fait en XML, puis l’utilisation des ressources dans Python. Donc la
première étape est d’organiser et de déclarer toutes les ressources qui seront utilisées. Une
ressource est déclarée une fois que son chemin (le dossier où elle est stockée), son
emplacement sur la zone tactile, ses dimensions et son nom sont défini ; chaque ressource
doit être bien distincte. Les noms des ressources doivent êtres uniques tant dans le code
que dans les dossiers, et les zones tactiles sur une même page ne doivent pas se
chevaucher.
http://lti.site.voila.fr
20/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
 L’aspect graphique
Pour ce qui est de l’aspect graphique, chaque élément est ajouté dans un rectangle dont la
position, la taille et la couleur de fond sont paramétrables. Si les dimensions du rectangle
sont plus petites que le contenu que l’on veut afficher (l’image ou le texte), le contenu sera
tronqué (c’est-à-dire coupé). Les rectangles peuvent se superposer mais le fond
transparent n’existe pas, on risque donc de cacher un dessin par un autre en les
superposant.
On peut modifier la couleur de l’écran de base (le support graphique du livre), il peut
donc être de n’importe quelle couleur. Sa résolution est de 640x480 : c’est une unité (les
pixels) qui signifie que la précision de l’affichage est de 640 unités pour la largeur de
l’écran et 480 pour sa hauteur.
Les références utilisées pour le positionnement des rectangles sont :
x et y pour les coordonnées de l’angle supérieur gauche,
où x est la coordonnée horizontale et y la coordonnée verticale.
w = width = largeur de la zone, h = height = hauteur de la zone
640
x
w
y
h
Dessin
480
Ecran
Schéma de coordonnées de l’écran
http://lti.site.voila.fr
21/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
2. Déclaration des ressources
 Les Textes
Affichage :
Les textes sont écris en ARIAL par défaut mais ceci peut être modifié en ajoutant une
nouvelle police qui doit être absolument une True Type. Les textes sont écrits dans des
rectangles, dont la taille, les couleurs (texte et fond) et la position sont complètement
réglables. On ne peut pas mettre d’espace dans le texte, donc il vaut mieux se limiter à un
mot, du moins pour l’affichage graphique bien entendu ; sinon on peut rajouter des « - »
ou des « _ ».
La taille très large des cellules de la planche tactile crée un manque de précision, ce qui
empêche de réaliser une lecture mot par mot indépendamment de la lecture de la phrase
en elle-même.
Format de code :
Les textes ne sont pas considérés comme ressources car ils sont tapés directement dans le
code. Cependant, le format à respecter pour déclarer un texte est le suivant :
<widget name="titre">
<state name="init">
<rect x="270" y="40" w="151" h="30"/>
<text position="center">Noa_demenage</text>
<flexikeys>11,12</flexikeys>
</state>
</widget>
Où « titre » est le nom donné à la ressource. Ce nom sera utilisé chaque fois que la
ressource sera utilisée dans le code, c’est pourquoi il doit être unique. La troisième ligne
commençant par « rect » donne les dimensions du rectangle dans lequel sera affiché le
texte. La quatrième indique la position du texte dans le rectangle : « center » pour centrer,
« left » pour aligner à gauche, « right » pour aligner à droite. Le texte qui sera affiché est
http://lti.site.voila.fr
22/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
« Noa_demenage », où on peut remarquer un « _ » pour remplacer l’espace. La ligne des
« flexikeys » correspond aux cellules de la zone tactile que l’on souhaite attribuer à cette
ressource. Plus tard lorsque le code sera écrit, on attribuera une action à cette ressource, et
c’est en appuyant sur les zones 11 et/ou 12 de la planche tactile que l’action se
déclenchera.
Chaque texte du livre doit être déclaré de cette façon, en ne changeant que les paramètres
expliqués ci-dessus. Si la nécessité d’afficher une phrase se présente, l’astuce est d’en faire
une image (copie d’écran par exemple) et de l’afficher en tant que tel. Cependant, il est
tout à fait possible de ne mettre à l'écran que les dessins et de laisser le texte écrit sur le
livre. En
 Les Dessins
Format de la ressource :
Les dessins doivent être au format PNG (Portable Network Graphics). C’est un format
facilement transportable et multi plateforme car le livre est lisible sous plusieurs systèmes
d’exploitations. Des logiciels simples de retouche d’images ou de dessin (par exemple
Microsoft Paint) vous permettent d’enregistrer des images BMP (Bitmap) ou JPG (JPEG)
en PNG. Par contre, les dessins doivent êtres à la bonne dimension car on ne retouchera
pas leurs dimensions dans le code.
Affichage :
Comme expliqué dans « l’aspect graphique », si les dimensions du rectangle dans lequel
sera affiché le dessin sont plus petites que celles du dessin en question, celui-ci sera coupé
à la taille du rectangle. Ajustez donc la taille du rectangle jusqu’à pouvoir visualiser le
dessin en entier.
Format de code :
Pour déclarer un dessin, il faut lui attribuer son nom, ses dimensions, son fichier, et sa
zone tactile :
http://lti.site.voila.fr
23/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
<widget name="noa-intro">
<state name="init">
<rect x="195" y="145" w="250" h="190"/>
<background file="data/images/noa-intro.png"/>
<flexikeys>37,38,53,54,70,71</flexikeys>
</state>
</widget>
On peut remarquer la ligne « rect » qui défini le rectangle dans lequel va être inséré le
dessin. La ligne « background file » donne le chemin d’accès au fichier choisi, ici l’image
nommée « noa-intro.png ». Les Flexikeys sont les cellules de la planche contenues dans la
zone tactile que l’on souhaite définir, il n’est pas obligé qu’elles soient groupées ou collées,
elles peuvent être complètement éparses sur la page. La seule contrainte est d’être sûr
qu’elles ne sont utilisées qu’une seule et unique fois par page.
Si par contre vous avez décidé de ne pas afficher les images, vous n'êtes pas obligés de
mettre la ligne :
<background file="data/images/noa-intro.png"/>
 Les Sons
Format de la ressource :
Les sons doivent être au format WAV, c’est un format de qualité. Il est très important de
faire attention aux fréquences des sons car si en les écoutant ils ont la même vitesse, une
fois interprétés par Blindstation et Python, les différences de fréquences vont se faire
entendre. Des logiciels simples et gratuits là aussi vous permettrons de remédier à ce
problème. De plus, l’astuce est d’enregistrer tous les sons en une fois, ainsi les voix,
intonations, volumes, fréquences et bruits de fond seront les mêmes et l’oreille ne sera pas
choquée par des sons de qualités trop variables, ou avec des fonds sonores trop différents.
Des logiciels gratuits comme Audacity ou SourceForge, vous permettent de gérer tous ces
petits problèmes en un seul traitement. Il ne vous reste plus ensuite qu’à découper un long
fichier audio en une série de petits.
http://lti.site.voila.fr
24/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Affichage :
Les sons ne sont pas visibles à l’affichage, ni sur l’écran ni sur le livre. Cependant on peut
parler de l’affichage d’une ressource sonore lorsqu’elle devient « visible » pour
l’utilisateur. Aussi, dès que le son se fait entendre, il est « visible ». Pour qu’il soit bien
perçu, le son doit être diffusé immédiatement après que la touche ait été appuyée. Laisser
un délai entre ces deux actions, c’est engendrer le risque que l’utilisateur (et surtout un
enfant) se perde dans la signification du son et en oublie d’où il vient.
Pour la même raison, les sons ne doivent pas se superposer ou se mettre à la suite les uns
des autres. En effet, un son ne doit venir que d’une zone tactile (précise ou éparse), il doit
arriver au moment où une cellule de cette zone est appuyée. Les autres sons des autres
zones ne doivent se déclencher qu’une fois celui-ci terminé.
L’astuce pour cela est de bloquer les sons. Pour qu’un son soit joué, il faut que celui
d’avant soit fini. En parallèle, la planche tactile bloque sont retour sonore également ce qui
permet à l’utilisateur, quel qu’il soit, de comprendre que la planche est devenue inactive.
Elle redevient active dès que le son en cours est terminé.
Format de code :
Pour déclarer un son, il faut lui attribuer son nom et son fichier uniquement puisqu’un son
n’a pas de coordonnée graphique.
<sound name="explications">
<file name="data/voix/explications.wav"/>
</sound>
3. Construction du Livre Interactif
 Gestion des scènes
Blindstation, Python et XML, utilisent un système de scènes pour réaliser un jeu interactif,
où chaque scène est un aspect du jeu. Nous avons réalisé une histoire, donc un livre où
http://lti.site.voila.fr
25/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
chaque scène est utilisée pour une seule page du livre. Il faut donc déclarer a priori autant
de scènes que de pages dans le livre.
En XML, une scène se code comme ceci :
<scene name="MaScene">
<state name="init">
<color r="255" g="255" b="255" a="255"/>
</state>
…
</scene>
Comme toutes les ressources, chaque scène a son propre nom, le « state », comprenez
« état » reste toujours à « init » pour le livre. La ligne « color » donne les coordonnées de la
couleur blanche. Les « … » seront remplacés par toutes les déclarations des ressources
destinées à être utilisées sur cette page : dessins, sons, textes …
La partie Python du code peut être faite sans une grande connaissance en algorithmique.
Une page simple où chaque objet a sa propre interaction ne nécessite aucune
algorithmique, c’est lorsque les objets interagissent entre eux que cela devient nécessaire.
class Chien1(Scene):
En Python, une scène se déclare avec le texte ci-dessus, et se fini par la déclaration de la
scène d’après. Ce qui est très important dans Python, ce sont les indentations. Les
indentations sont les décalages des lignes par rapport à la marge gauche de la page,
comme des alinéas. Tout ce qui est sur la même indentation fait partie de la même
fonction ; et ce jusqu’à la déclaration de la fonction d’après. Observez le code donné en
exemple un peu plus loin, vous comprendrez.
http://lti.site.voila.fr
26/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
 Liens entre les fichiers Blindstation, Python et XML
Blindstation est l’environnement, Python fait l’action et XML fournit en ressources.
Toutes les scènes définies dans le fichier XML sont elles-mêmes englobées dans un module
Blindstation, concrètement, cela se traduit par les lignes :
<blindstation>

tout au début
<scène1>
…
</scène1>
<sceneX>
…
</sceneX>
</blindstation>

tout à la fin
Le lien Python - Blindstation, est basé sur le même principe :
from blindstation import *
import blindstation.game
On appelle le module Blindstation dès le début du code.
Pour finir, le code de Python charge le fichier XML au démarrage en exécutant ces
quelques lignes :
if __name__ == '__main__':
LTI = Game(stylesheet = "LTI.xml",\
scene = Intro,\
lang='fr')
LTI.run()
del LTI
Ces quelques lignes signifient qu’au démarrage de l’histoire, Python charge le fichier
LTI .xml décrit sur la deuxième ligne, en commençant par la scène nommée Intro. Elles se
situent tout à la fin du code.
http://lti.site.voila.fr
27/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
 Généralisation
Exemple d’une page :
On peut observer sur cette page :
Le texte en Braille puis en gros caractères blancs sur fond noir. Le petit
triangle est le bouton pour pouvoir écouter le récit de l’histoire.
Trois personnages : Noa le chat, Pipin le chien et la pie
Un élément du décor : le vent dans l’herbe
L ‘étoile en bas à gauche qui sera le bouton Quitter, le rond pour changer
de page en bas à droite.
Sur la ligne en bas apparaît le numéro de page, en braille et gros caractères.
Nous avons choisi un changement de page le plus simple possible car on, passe
simplement à la page suivante. La fonction Quitter par contre nécessite une page à elle
seule car elle demande une confirmation (pour être sur que l’enfant n’a pas appuyé par
erreur) et permettra du coup de revenir sur n’importe qu’elle page.
Voici le code XML nécessaire pour la définition des ressources pour cette seule page :
<?xml version="1.0" ?>
<blindstation>
Définition de la scène : nommée Chien1 et couleur de fond blanche
<scene name="Chien1">
<state name="init">
<color r="255" g="255" b="255" a="255"/>
</state>
http://lti.site.voila.fr
28/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
Premier élément : la zone de texte
<widget name="texte">
<state name="init">
Dimensions, texte affiché, cellules tactiles attribuées
<rect x="580" y="0" w="60" h="30"/>
<text position="center">Texte</text>
<flexikeys>12,13</flexikeys>
</state>
</widget>
Son attribué au texte, celui qui sera joué lors de l’appui des cellules 12 et 13
<sound name="voix-noa">
<file name="data/voix/voix-noa.wav"/>
</sound>
Deuxième élément : le premier personnage, ici Noa
Pour le dessin :
<widget name="noa-chien1">
<state name="init">
Dimensions, image affichée, couleur de fond, cellules tactiles attribuées
<rect x="390" y="200" w="150" h="200"/>
<background file="data/images/noa-chien1.png"/>
<color r="200" g="200" b="200" a="0"/>
<flexikeys>55,56,72,73,74,88,89,90,104,105</flexikeys>
</state>
</widget>
Pour le son :
<sound name="noa-pipin1">
<file name="data/sons/noa-pipin1.wav"/>
</sound>
Ensuite même principe pour les autres personnages et éléments du décor :
Ici Pipin le chien
<widget name="chien1">
<state name="init">
<rect x="0" y="230" w="300" h="150"/>
<background file="data/images/chien1.png"/>
<color r="0" g="0" b="0" a="0"/>
<flexikeys>64,65,66,80,81,82,96,97</flexikeys>
</state>
</widget>
<sound name="pipin1">
http://lti.site.voila.fr
29/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
<file name="data/sons/pipin1.wav"/>
</sound>
Ici le vent dans l’herbe
<widget name="vent">
<state name="init">
<rect x="0" y="0" w="5" h="0"/>
<color r="0" g="0" b="0" a="0"/>
<flexikeys>94,95,96,98,99,100,101,102,103,106,107,108,109,110,111</flexikeys>
</state>
</widget>
<sound name="vent">
<file name="data/sons/vent.wav"/>
</sound>
Ici la Pie
<widget name="pie">
<state name="init">
<rect x="100" y="200" w="5" h="0"/>
<color r="0" g="0" b="0" a="0"/>
<flexikeys>37,52,53</flexikeys>
</state>
</widget>
<sound name="pie">
<file name="data/sons/pie.wav"/>
</sound>
On passe ensuite aux boutons
Celui pour changer de page en bas à droite :
<widget name="changerpage">
<state name="init">
<rect x="598" y="450" w="42" h="30"/>
<text position="center">--></text>
<flexikeys>127</flexikeys>
</state>
</widget>
<sound name="changemnt-page">
<file name="data/voix/changemnt-page.wav"/>
</sound>
Celui pour quitter en bas à gauche :
http://lti.site.voila.fr
30/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
<widget name="quitter">
<state name="init">
<rect x="0" y="450" w="68" h="30"/>
<text position="center">Quitter</text>
<flexikeys>112</flexikeys>
</state>
</widget>
<sound name="quitter">
<file name="data/voix/quitter.wav"/>
</sound>
</scene>
Pour finir le numéro de page (ici page 2) :
<widget name="page2">
<state name="init">
<rect x="123" y="450" w="20" h="30"/>
<color r="0" g="0" b="255" a="255"/>
<text position="center">2</text>
<flexikeys>114</flexikeys>
</state>
</widget>
<sound name="page2">
<file name="data/voix/PL2.wav"/>
</sound>
Une fois que toutes les scenes sont déclarées, on fini le fichier avec :
</blindstation>
Voici le code nécessaire pour la réalisation des interactions pour cette même page :
NB :
Les noms en gras tels que Chien1, page2, noa-pipin1 ou pipin doivent être
exactement identiques (majuscules et minuscules) à ceux déclarés dans le fichier XML.
Les autres noms comme dans self.texte ou self.action_texte sont libres, mais il est
fortement recommandé de mettre les mêmes que dans la déclaration XML, cela
permettra d’éviter un maximum d’erreurs.
On commence par lancer les sons de démarrage (ici on donne le numéro de la
planche dès qu’elle est chargée) puis on appelle les « widget » (c’est-à-dire que l’on
http://lti.site.voila.fr
31/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
charge le dessin et la zone tactile correspondante), puis on déclare les actions pour
chaque widgets. Les sons ne sont appelés qu’au moment d’être joués.
from blindstation import *
import blindstation.game
Définition de la scène : nommée Chien1 comme dans la déclaration XML
class Chien1(Scene):
def __init__(self, game):
Scene.__init__(self,game,'Chien1','init')
self.modefin=0
#Création du buffer pour les sons (réservation de la mémoire virtuelle)
self.Source1=Source(self,'Animaux')
« Animaux » ou autre chose
Les modes possibles sont ‘n’ pour
self.Source1.source_callback=self.fin_son
« normal » ou ‘b’ pour « bloqué ». Il s’agit
self.mode='n'
de la gestion des sons. Cf. fin du code et
dernier chapitre
#Son joué au chargement de la page
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('page2')
self.Source1.play()
# Affichage du Texte et activation de la zone tactile associée
self.texte = Widget(self, 'texte', 'init')
même nom que défini dans XML
self.texte.validate_callback = self.action_texte
# Partie de Noa : ici on appel le dessin de Noa
self.noa = Widget(self, 'noa-chien1', 'init')
self.noa.validate_callback = self.action_noa
# Partie de l'autre animal: Pipin
self.autre = Widget(self, 'chien1', 'init')
self.autre.validate_callback = self.action_autre
# Vent
self.vent = Widget(self, 'vent', 'init')
http://lti.site.voila.fr
32/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
self.vent.validate_callback = self.action_vent
# Pie
self.pie = Widget(self, 'pie', 'init')
self.pie.validate_callback = self.action_pie
# Changer de page
self.changerpage = Widget(self, 'changerpage','init')
self.changerpage.validate_callback = self.action_changerpage
# Numéro de page
self.page = Widget(self, 'page2', 'init')
self.page.validate_callback = self.action_page
# Quitter le jeu
self.quitter = Widget(self, 'quitter','init')
self.quitter.validate_callback = self.quitter_callback
Définition des actions c’est-à-dire ce qui se passera lorsque l’on appuiera sur les
zones définies de la planche tactile (flexykeys)
Ici, le son voix-noa sera lu quand on appuiera sur la zone définie pour le widget texte
def action_texte(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('voix-noa')
self.Source1.play()
Même principe avec noa-pipin1 pour le widget noa
def action_noa(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('noa-pipin1')
self.Source1.play()
Idem …
def action_autre(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
http://lti.site.voila.fr
33/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
self.Source1.queue('pipin1')
self.Source1.play()
def action_vent(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('vent')
self.Source1.play()
def action_pie(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('pie')
self.Source1.play()
def action_changerpage(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('changemnt-page')
self.Source1.play()
Ici, cette dernière ligne permet de changer de
page lorsque l’on appuie sur le bouton de la
planche. La scène donnée sera alors
chargée.
self.next = SceneSuivante
def action_page(self, name, type, key):
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('page2')
self.Source1.play()
def quitter_callback(self, name, type, key):
self.next = SceneSuivante
def fin_son(self, name):
self.mode='n'
http://lti.site.voila.fr
Même principe que pour le changement de
page. S’il existe une page de confirmation,
pointer vers celle-ci, sinon, mettre None à la
place
de
SceneSuivante
pour
fermer
l’application
Il est obligatoire d’avoir cette action sinon les sons ne
seront pas bloqués. Des sons non bloqués peuvent
induire des incompréhensions de l’histoire et de
l’utilisation du livre. On va donc bloquer les sons par
défaut. Lorsque les sons sont bloqués la planche
devient inactive tant que le son n’est pas fini.
34/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
Une fois toutes les scènes faites, on finit le fichier avec :
#################################################################
# Lancement de l’histoire
if __name__ == '__main__':
LTI.xml est le nom du fichier XML où
sont déclarées toutes les ressources.
LTI = Game(stylesheet = "LTI.xml",\
scene = NomDeLaScene)
LTI.run()
NomDeLaScene est le nom de la
première scène, ici Chien1
del LTI
 Scène Quitter
On peut faire en sorte que l’application se ferme instantanément dès que le bouton Quitter
est appuyé sur la planche. Cependant, pour un enfant aveugle ou malvoyant, il est
recommandé de mettre une confirmation avant de fermer, car cela évitera à l’enfant de
fermer l’histoire par erreur. Cette page de confirmation proposera de réappuyer sur le
bouton Quitter si l’on souhaite vraiment quitter l’histoire, ou bien d’appuyer sur le
numéro de la page en cours. Ainsi on pourra se servir de la page de confirmation pour se
rediriger sur n’importe quelle page du livre.
Pour les déclarations XML de la page Quitter, on utilise exactement les mêmes principes
que pour les autres pages du livre, en n’oubliant pas de déclarer tous les widgets (
numéros de toutes les pages plus le bouton Quitter) et le son de confirmation au
chargement de la page :
<scene name="Quitter">
<state name="init">
<color r="255" g="255" b="255" a="255"/>
</state>
<widget name="quitter">
<state name="init">
<rect x="0" y="450" w="68" h="30"/>
<text position="center">Quitter</text>
<flexikeys>112</flexikeys>
</state>
http://lti.site.voila.fr
35/45
Livre Tactile Interactif : Mode d’emploi
DESS HANDI
2004/2005
</widget>
<widget name="pageX">
<state name="init">
<rect x="85" y="450" w="20" h="30"/>
<color r="0" g="0" b="255" a="255"/>
<text position="center">1</text>
<flexikeys>113</flexikeys>
Attention aux flexikeys, il ne doit
pas y avoir deux fois la même
</state>
</widget>
Vous pouvez rajouter un son de fin, comme un « au revoir » juste avant de fermer
l’application.
Pour le code Python, on va simplement lancer le son au démarrage et attribuer un
changement de page pour chaque numéro de page :
class Quitter(Scene):
def __init__(self, game):
Scene.__init__(self,game,'Quitter','init')
self.modefin=0
#Création du buffer pour les sons
self.Source1=Source(self,'Animals')
self.Source1.source_callback=self.fin_son
self.mode='n'
# Lecture du son de confirmation
if self.mode=='n':
self.mode='b'
self.Source1.empty()
self.Source1.queue('quitter')
self.Source1.play()
# Quitter le jeu
self.quitter = Widget(self, 'quitter",'init')
self.quitter.validate_callback = self.quitter_callback
# Création des repères de pages:
self.pageX = Widget(self, ‘pageX’,'init')
http://lti.site.voila.fr
36/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
self. pageX.validate_callback = self.action_ pageX
Autant de fois qu’il y a de pages
IV) Installation du Livre Tactile Interactif
Une fois que votre livre tactile interactif terminé, vous pouvez le transporter. Nous allons
voir le moyen le plus simple pour l’installation, il s’agit de copier simplement le dossier
avec quelques réglages simples à faire. Il est tout à fait possible d’utiliser des logiciels
gratuits permettant de créer des installeurs totalement configurables. Celui que nous
avons utilisé est SetUpToGo mais il en existe d’autres.
1. Installation logicielle du livre tactile interactif
Tous les fichiers nécessaires sont dans le dossier Blindstation étant donné que toutes les
images et tous les sons ont été copiés dans le sous dossier Data. Vous avez placé votre
fichier Python et votre fichier XML directement dans le dossier Blindstation. Le module
Blindstation vous permet d’exécuter l’application sans avoir à installer Python auparavant.
Pour cela, vous devez nommer votre fichier Python « test.py ». Notez bien qu’il n’y a pas
d’espace, et que tout est en minuscule. Dès lors, en double cliquant sur blindstation.exe
vous lancerez directement l’histoire. Une fois le fichier Python renommé, l’installation de
l’histoire se résume à copier le dossier Blindstation en entier. A vous de créer les raccourcis
que vous souhaitez, comme un raccourci de blindstation.exe sur le Bureau (clic droit sur le
fichier, puis « Envoyer vers », puis « Bureau »). Renommez ce raccourci (pas le fichier
attention) pour plus de convivialité !
2. Installation de la planche tactile
Il faut s’assurer que la planche tactile est reconnue et utilisée par le bon port de
l’ordinateur. Pour cela, il faut modifier le fichier libboard.conf qui est dans le dossier
Board. Ouvrez ce fichier en double cliquant dessus, si l’ordinateur ne le reconnaît pas,
choisissez de l’ouvrir avec Microsoft Word ou Application MFC Wordpad. Evitez d’utiliser
le BlocNote car il ne respecte pas la mise en page et votre fichier sera très difficile à lire.
http://lti.site.voila.fr
37/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Une fois le fichier ouvert, regardez tout en bas du texte vous trouverez ces lignes :
# - The two-letter code of any board driver supplied with
#
libboard. The supported codes are:
#
- no Fake
#
- cp Concept Universal
board-driver no
Sur la toute dernière ligne, le « no » signifie que vous demandez à l’application de ne
pas utiliser la planche. Remplacez ce « no » par « cp » pour lui signifier d’utiliser la
planche tactile.
Une fois le driver modifié, regardez au milieu du texte vous trouverez ces lignes :
# The board-device directive specifies the port to which your board
# is connected. It should be the absolute path to the device.
board-device COM1
Le port COM1 est typiquement le port série de l’ordinateur (ou très rarement COM2).
Le problème est que les ordinateurs portables modernes n’ont plus de port série. Il
vous faut donc vous procurer un adaptateur Série/USB (comptez environ 30€).
Branchez cet adaptateur sur un de vos ports USB et installez-le ; selon votre système
d’exploitation l’installation se fera automatiquement. Ensuite branchez votre planche
tactile dessus. Vous allez devoir essayer les différents ports jusqu’à trouver le bon. Les
ports peuvent aller de COM1 à COM5. Généralement, le numéro du port sera le
nombre de ports USB dont votre ordinateur dispose + 1. Donc si vous avez 4 ports USB
sur votre ordinateur portable et pas de port série, la planche sera sûrement sur le port
COM5 (car 4+1=5).
Mettez le numéro du port, enregistrez les modifications et essayez de lancer
l’application.
3. Grand écran
Vous pouvez demander un affichage en grand écran ou non. Il est recommandé de mettre
en grand écran, cela rend l’histoire plus fluide et permet d’avoir les images les plus
grandes possibles pour du 640x480.
http://lti.site.voila.fr
38/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Ouvrez le fichier user.cfg qui se trouve dans le dossier Blindstation de la même façon que
libboard.conf. Tout au début du fichier, vous trouvez ces lignes :
[General]
fullscreen: no
Pour mettre en grand écran, changez le « no » en « yes » tout simplement.
V)
Partie interactive : un peu plus loin
 Cacher un widget à l’affichage
# Vent
self.vent = Widget(self, 'vent', 'init')
self.vent.hidden = True
self.vent.validate_callback = self.action_vent
Il est par exemple difficile de matérialiser le vent à l’affichage, donc si vous ne mettez pas
d’image visible, vous pouvez cacher le widget en rajoutant la ligne en gras dans le code
Python. Le mot anglais « hidden » signifie « caché », et « true » signifie « vrai ». Cette
ligne signifie donc que « oui, le widget vent est caché ». Cependant attention, si un widget
est caché, il n’est plus accessible au clavier.
 Raccourci clavier
Il est possible d’ajouter un raccourcit clavier à une zone tactile. Il n’est donc plus
nécessaire d’appuyer sur la planche, on peut faire le raccourci directement. Ceci est très
pratique pour tester la programmation. Ici le raccourcit clavier est la touche « q ».
<widget name="quitter">
<state name="init">
<rect x="0" y="450" w="68" h="30"/>
<text position="center">Quitter</text>
<shortcuts>q</shortcuts>
<flexikeys>112</flexikeys>
</state>
</widget>
http://lti.site.voila.fr
39/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
 Focus
Il est possible de lancer l’application sans avoir de planche tactile (libboard.conf avec
driver=no). Pour cela, il faut utiliser le clavier (touche Tabulation) pour balader de widget
en widget sur l’écran. Le problème est que le widget qui a le focus est peint en vert, la
couleur de fond des rectangles de texte devient donc verte et les images sont
complètement cachées. A chaque nouvelle page, le premier widget chargé est donc peint
en vert. Il est donc judicieux de charger un texte en premier, ainsi aucun dessin n’est
caché, et si l’histoire n’est lue que par le livre tactile et non par le clavier, ce petit problème
passe quasiment inaperçu.
<widget name="titre">
<state name="init">
<rect x="270" y="40" w="151" h="30"/>
<text position="center">Noa_demenage</text>
<flexikeys>11</flexikeys>
<accept_focus value="1"/>
</state>
</widget>
Vous avez la possibilité de déterminer l’ordre dans lequel seront proposés les widgets
dans le cas d’une utilisation avec le clavier uniquement. Pour cela mettez simplement les
« focus value » dans l’ordre de votre choix.
http://lti.site.voila.fr
40/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Conclusion
La réalisation d’un livre tactile interactif doit prendre en compte, comme nous l’avons
expliqué, de nombreux paramètres. En effet, il est primordial de considérer avec la même
importance l’esthétisme et les modalités d’interaction d’un tel ouvrage afin que celui-ci
soit le plus attractif, divertissant et adapté possible.
De plus comme le dit Hatwell Yvette « La privation visuelle précoce a comme effet non
seulement de rendre plus difficile l’accès à certaines informations sur l’environnement mais aussi de
diminuer la redondance de ces informations, c’est à dire le fait que les mêmes données soient
apportées simultanément par plusieurs modalités perspectives ».9
Ces mots soulignent la nécessité de jouer sur la multimodalité dans le but de donner à
l’enfant les moyens de s’approprier un contenu sous des formes différentes. C’est dans ce
sens que nous avons souhaité apporter une dimension tactile, sonore, littéraire et
artistique de qualité équivalente pour que l’enfant ait envie d’aller découvrir ces divers
moyens d’interaction.
Un des objectifs de notre projet était de concevoir un exemple type de livre tactile
interactif. L’ouvrage réalisé n’ayant pas pu être testé sur la population cible a néanmoins
suscité un engouement certain auprès de nos testeurs qu’ils soient experts ou pas. Par
conséquent, nous mettons un point d’honneur à réaliser des tests auprès d’enfants
aveugles, malvoyants et voyants âgés de trois à six ans.
Pour conclure, nous avons été intéressés, au cours de nos travaux de recherche
bibliographique par une enquête menée par Yvonne Erickson portant sur l’intérêt réel des
enfants pour les livres tactiles. Cette personne ne travaillant plus dans ce domaine, nous
n’avons pu trouver les résultats de cette étude. Il serait alors intéressant de mener à bien
une double enquête : celle axée sur l’intérêt que l’enfant porte aux livres tactiles qu’ils
soient interactifs ou non ainsi que celle axée sur l’avantage qu’apporte l’utilisation d’un
ordinateur et d’une planche tactile.
9
Hatwell Yvette, 2003
http://lti.site.voila.fr
41/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Références bibliographiques
ARCHAMBAULT, D.,BURGER, D.2000. TIM Development and adaptation of computers
games for young blind childre- Interactive Learning Environnements for children-ERCIM WG
U14ALL & i3 Spring Days. Athens.
ARCHAMBAULT, D. 2004 .The TiM project : Overview of results . In Proceedings, Conférence
ICCHP 2004.
BUAUD, A., ARCHAMBAULT, D. et RUSSEL, B. (). Ergonomic evaluation of computer games
for visually impaired children. Laboratoire INSERM.
BURGER, D. Nouvelles technologies pour l’intégration scolaire des handicapés visuels. Bilan et
perspectives de la prise en charge des jeunes déficients visuels en France et en Europe, congrès du
GPEA.
BURGER, D. L’apport des nouvelles technologies au problème de l’accès au document par les
personnes handicapées visuelles. Quelques applications pratiques destinées aux déficients visuels.
p307-319
BURGER, D., BUHAGIAR, P., CESARANO, S. et SAGOT, J. – Tactison : a multimedia tool
for early learning- Les nouvelles technologies dans l’éducation des déficients visuels, Ed.
INSERM, colloque INSERM, vol. 237
COMME LES AUTRES. 2000. Revue trimestrielle n°142-143. Edition ANPEA
COMME LES AUTRES. 2002. Revue trimestrielle n°154. Edition ANPEA
COMME LES AUTRES. 2003. Revue trimestrielle n°157-158. Edition ANPEA
DESBUQUOIS, C. 1998. La lecture des enfants aveugles. La revue des livres pour enfants.
N°179. (80-81)
DUCHATEAU, M. 1998. Enfants aveugles et lecture. La revue des livres pour enfants.
N°179. (80-81)
ERICKSON, Y. 2001. The semantic and enterraining signifiance of tactile images. Colloque
Braillenet.
EXERTIER, C. 1998. Lire du bout des doigts à la bibliothèque, comment est ce possible ?. La
revue des livres pour enfants. N°179.(80-81)
http://lti.site.voila.fr
42/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
HATWELL, Y. 2003. Psychologie cognitive de la cécité précoce. Editions Dunod.
HATWELL, Y. 2001. La lecture tactile des cartes et dessins en relief par les aveugles. Revue Voir
n°23
KRISTEVA, J. 2003. Lettre au président de la république sur les citoyens en situation de
handicap, à l’usage de ceux qui le sont et de ceux qui ne le sont pas. France, Fayard. 96 p.
MEUWES, S. 1998. La première relation aux livres. La revue des livres pour enfants. N°179.
(80-81)
MICHEL, R. 1998. Du plaisir d’écouter au plaisir de lire. La revue des livres pour enfants.
N°179. (80-81)
PETIT,D. 2004. Braille et gros caractères l’édition pour malvoyants. Revue Caractère n°595.
VEGA, M.J. 2001. Mieux comprendre les besoins de la personne handicapée. France, La
marre.3 à 9 p.
WOOD, P. 1988. Classification Internationale des handicaps : déficience, incapacités et
désavantage. OMS,INSERM,CTNREHI .
Sites Internet :
- Association Braillenet, navigateur Braillenet, www.braillenet.org
- Association ANPEA http://perso.wanadoo.fr/anpea
- Association Les Doigts Qui Rêvent www.ldqr.org
- Association Valentin Haüy www.avh.asso.fr
- Association Braillenet, navigateur Braillenet, www.braillenet.org
- www.braillenet.org/colloques/Bnet2000/actes/burger.htm
- La lettre de Didier Jeunesse http://www.didierjeunesse.com/lettre/
http://lti.site.voila.fr
43/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
- Eurobraille, www.eurobraille.fr
- Laboratoire INOVA http://inova.snv.jussieu.fr
- http://lask.asso.fr
- http://membres.lycos.fr/pierreg/defvisu.html , Pierre Griffon, psychologue clinicien,
membre de l’Association de la Langue Française des Psychologues pour Handicapés
de la Vue.
- Consortium Daisy www.daisy.org
- Serveur Hélène www.serveur-helene.org
- Blindstation : http://libbraille.org/blindstation
- Python : http://www.python.org
http://lti.site.voila.fr
44/45
DESS HANDI
Livre Tactile Interactif : Mode d’emploi
2004/2005
Annexes
http://lti.site.voila.fr
45/45
Téléchargement