Merci d'aller sur https://gitlab.com/makinacorpus/accessimap/accessimap-lecteur-der
Ce projet fait parti du projet de recherche Accessimap.
Le lecteur de documents en relief est relié au projet de l'éditeur.
Pour télécharger la dernière version, merci d'aller à la page de la dernière release.
Pour contribuer, merci de chercher si une issue github n'a pas déjà été ouverte (et/ou fermée).
Dans le cas contraire, ouvrez une issue et/ou proposez une PR.
Le Lecteur de Document En Relief (DER Reader) est un module pouvant fonctionner sur différentes plateformes.
Il se décline ici avec Cordova et Electron. Chacun de ces projets utilisent des services spécifiques pour le TTS (Talk To Speech) qui doivent être fournis à l'utilisation du module der-reader.
Pour pouvoir utiliser une base commune entre la version windows et la version mobile, le coeur du projet se trouve dans un module appelé der-reader.
Lancer le script du module der-reader
cd modules/der-reader
npm install
npm start
Dans une console différente, lancer le script pour démarrer electron
cd electron
npm install
npm start
Le module est utilisé dans electron et cordova pour initialiser le module der-reader avec la configuration adéquate :
DerReader.init({
der: {
svgFile: './der/carte_avec_source.svg',
jsonFile: './der/interactions.json'
}
});
Selon les plateformes, cordova a besoin du plugin cordova-tts alors que electron sait gérer l'API HTML Web Speech.
Chaque implémentation de ces services se trouve dans un module intépendant de der-reader, il faut donc les charger, et indiquer le service tts à utiliser en paramètre de l'initialisation de der-reader.
On charge de la même manière que der-reader le module souhaité, soit pour Electron :
DerReader.init({
der: {
svgFile: './der/carte_avec_source.svg',
jsonFile: './der/interactions.json'
},
tts: webspeechapi
});
Lors du développement de der-reader, changer le chemin des modules pour éviter de devoir effectuer un npm install pour mettre à jour le module à chaque modification. Ne pas oublier de remettre le bon chemin lors du build.
// Dev
var webspeechapi = require('./../tts.webspeechapi/tts.webspeechapi.js');
var DerReader = require('./../der-reader/der-reader.js');
// Bundle
// var webspeechapi = require('tts.webspeechapi');
// var DerReader = require('der-reader');
Builder l'application (pour Windows x64, cf. script npm pour d'autres paramètres/os).
Nécessite wine, cf. .travis.yml pour installer les dépendances.
npm install der-reader # mettre à jour le module
npm run build
cd cordova/www
npm install
cordova prepare
cordova run android
Ce projet est câblé à Travis CI.
A chaque nouveau commit, travis vérifiera que le build pour electron se construit correctement.
Pour ajouter ces builds aux releases, il faut créer une nouvelle release en respectant le Semantic Versioning.
Au préalable, il nous paraît utile et important de mettre à jour les versions
des package.json
des modules der-reader
(et les autres s'ils ont changé),
des répertoires electron
et cordova/www
.
Les builds produits par electron
disposent de la version npm.
Travis déclenchera à nouveau un build electron, et attachera les résultats (zip pour windows, AppImage pour Linux) à la dernière release créée.
Plusieurs expérimentations ont été réalisées afin de trouver la meilleure stack de développement.
Ces expérimentations sont désormais dans le répertoire 'archives'.
- 01 - ELECTRON_voices_gestures
- 02 - CHROME-APP
- 03 - CORDOVA
- 04 - ELECTRON_svg
- 05 - ELECTRON_canvas
- 06 - CCA (Chrome Cordova App)
- 07 - MENU