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