11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et à tous,

je travail actuellement sur un projet ayant pour but de rendre accessible à des personnes non-voyantes ou mal-voyantes la lecture de cartes géographiques.

Description du contexte :

Les cartes sont construites à partir de relevés géographiques officiels. Les coordonnées servent à créer des objets SVG (Scalable Vector Graphics). Une carte est composée de l'ensemble des routes, chemins, parcs, étendues d'eau, etc... présents dans une zone choisie. Je travail sous Windows 7.

L'application se décompose en deux parties :

1. Une partie statique : la carte sous format papier, avec les éléments la composant représentés en relief. On vient déposer celle-ci sur une dalle tactile reliée à un ordinateur.

2. Une partie dynamique : la carte au format SVG affiché dans un navigateur web (Mozilla Firefox), qui interprète les actions de l'utilisateur sur la dalle tactile et lui fournit des informations auditives.

Chaque élément de la carte est représentée par un objet SVG. Lorsque l'utilisateur interagit avec la carte posée sur la dalle tactile (pression avec le doigts sur l'élément de la carte, ce qui correspond à un "clic" du coté de l'ordinateur) une information auditive contenue dans l'objet doit lui être fourni. Cette interaction est implémentée avec du Javascript.

Ce que je souhaiterais changer :

Pour le moment, les informations concernant les éléments de la carte sont traités à l'avance. Plus précisément, à la création de la carte, des fichiers textes décrivant ces éléments sont générés automatiquement (un fichier texte par élément). Puis, j'utilise un logiciel propriétaire pour générer des fichiers audio à partir des fichiers textes.

Pour différentes raisons, je souhaiterais me défaire de ce pré-traitement pour m'orienter vers une synthèse vocale à la volée. C'est à dire, utiliser la chaine de caractère décrivant un objet comme flot pour la synthèse vocale, plutôt que de devoir générer des fichiers audio à l'avance.

Ma question :

Connaitriez-vous un moyen de faire de la synthèse vocale à la volée : l'utilisateur "clic" sur un élément, on récupère son identifiant avec Javascript et on le passe à une moulinette qui lis la chaine de caractères, la synthétise et la lis "à haute voix" ?

En bref, je cherche la moulinette... ^^

Mes pistes :

Cela fait un moment que je cherche un moyen de faire de la lecture à la volée en utilisant Javascript dans Mozilla Firefox. J'ai trouvé quelques pistes, mais aucune ne m'a véritablement satisfait.

- Utiliser des objets Active X : c'est la seule méthode que j'ai trouvé pour le moment permettant d'utiliser la synthèse vocale de Windows depuis Javascript. Ce qui ne me plait pas c'est que les objets Active X sont plutôt controversés (faille de sécurité), sont gentiment remplacés et ne sont pas prévu pour être utilisés avec Mozilla Firefox.

- Utiliser un service de voix en ligne (Voice as a Service). J'aimerais que mon application reste indépendante de toute connexion internet (elle s'exécute en locale) et l'idée de dépendre d'un service en ligne ne me plait pas pour la longévité du projet.


J'espère ne pas avoir été trop ennuyant à lire, et merci à celles/ceux qui seront allé au bout ! ^^

N'hésitez pas à poser des questions si quelque chose n'est pas clair, je me ferais un plaisir d'y répondre.

Merci d'avance !

Baggins