Un ensemble d'outils pour lire, créer et transférer des packs d'histoires de et vers la Fabrique à Histoires Lunii*.
Ce logiciel s'appuie sur mes propres recherches de rétro ingénierie, limitées à la collecte des informations nécessaires à l'intéropérabilité avec la Fabrique à Histoires Lunii*, et ne distribue aucun contenu protégé.
Ce logiciel est encore à un stade précoce de développement, et n'a donc pas encore été testé minutieusement. En particulier, il n'a été utilisé que sur un nombre très restreint d'appareils, et pourrait endommager votre appareil. EN UTILISANT CE LOGICIEL, VOUS EN ASSUMEZ LE RISQUE.
* Lunii et "ma fabrique à histoires" sont des marques enregistrées de Lunii SAS. Je ne suis (et ce travail n'est) en aucun cas affilié à Lunii SAS.
Pour exécuter l'application :
- JRE 11+
Pour construire l'application :
- Git
- JDK 11+
- Maven 3+
Cette application nécessite certaines ressources du logiciel officiel Luniistore*.
- Téléchargez-le et installez-le
- Les ressources nécessaires sont dans un répertoire de l'utilisateur, appelé
$LOCAL_LUNIITHEQUE
dans la suite de ce document. Son chemin dépend de votre plate-forme :- Sur Linux, il se trouve au chemin
~/.local/share/Luniitheque
- Sur Windows, il se trouve au chemin
%UserProfile%\AppData\Roaming\Luniitheque
- Sur Linux, il se trouve au chemin
- Les ressources doivent être copiées dans un répertoire nouvellement créé de l'utilisateur (appelé
$DOT_STUDIO
par la suite) afin d'être lues par l'application. Le chemin attendu dépend de votre plate-forme :- Sur Linux,
~/.studio
- Sur Windows,
%UserProfile%\.studio
- Sur Linux,
Le transfert de packs d'histoires de et vers la Fabrique à Histoire* est géré par le pilote Lunii* officiel. Ce pilote est distribué avec le logiciel Luniistore*, et doit y être récupéré:
- Télécharger et installer le logiciel Luniistore*
- Créer les répertoires
$DOT_STUDIO/lib/
dans votre dossier personnel (e.g.mkdir -p ~/.studio/lib
sur Linux,mkdir %UserProfile%\.studio
sur Windows) - Depuis
$LOCAL_LUNIITHEQUE/lib
, copiez ces trois fichiers JAR vers$DOT_STUDIO/lib/
:lunii-java-util.jar
lunii-device-gateway.jar
lunii-device-wrapper.jar
Afin d'afficher les métadonnées des packs d'histoires, celles-ci doivent être téléchargées et stockées dans un fichier local.
- Lancer le logiciel Luniistore* afin d'obtenir un jeton d'authentification (valable pendant une heure)
- Ouvrez
$LOCAL_LUNIITHEQUE/.local.properties
dans une éditeur de texte, et notez la valeur du jeton :- Si vous êtes connecté sur le logiciel Luniistore*, le jeton se trouve dans la propriété
tokens
, attributtokens.access_tokens.data.firebase
- Si vous n'êtes pas connecté sur le logiciel Luniistore*, le jeton se trouve dans la propriété
token
, attributfirebase
- Si vous êtes connecté sur le logiciel Luniistore*, le jeton se trouve dans la propriété
- Appelez
https://lunii-data-prod.firebaseio.com/packs.json?auth=TOKEN
et enregistrez le résultat dans$DOT_STUDIO/db/official.json
(e.g.curl -v -X GET https://lunii-data-prod.firebaseio.com/packs.json?auth=TOKEN > ~/.studio/db/official.json
)
Après avoir cloné ce dépôt de sources, exécuter mvn clean install
pour construire l'application. Ceci créera l'archive de distribution dans web-ui/target/
.
Vous devez d'abord contruire l'application ou télécharger une archive de distribution (dans la dernière release).
Pour démarrer l'application :
- Décompressez l'archive de distribution
- Exécutez le script de lancement :
studio-linux.sh
,studio-macos.sh
oustudio-windows.bat
selon votre plate-forme. Vous devrez probablement rendre ce fichier exécutable d'abord. Si la commande est exécutée dans un terminale, des logs devraient s'afficher, en se terminant parINFOS: Succeeded in deploying verticle
. - Ouvrez un navigateur et saisissez l'url
http://localhost:8080
pour charger l'interface web.
L'interface web est composée de deux écrans :
- La bibliothèque d'histoires, qui permet de gérer la bibliothèque locale et de transférer de / vers la Fabrique à Histoire*
- L'éditeur d'histoire, pour créer ou modifier un pack d'histoire
L'écran de la bibliothèque d'histoires affiche toujours votre bibliothèque locale. Il s'agit des packs d'histoires situés dnas le répertoire $DOT_STUDIO/library
. Ces packs peuvent être au format binaire (le format officiel, supporté par l'appareil) ou au format archive (le format officieux, utilisé pour la création et la modification de packs d'histoires).
Dans l'appareil est branché, un panneau apparaît sur la gauche, affichant les métadaonnées et les packs d'histoires de l'appareil. Glisser et déposer un pack depuis ou vers l'appareil commencera le transfert.
L'écran de l'éditeur d'histoire affiche l'histoire en cours de modification. Par défaut, un exemple est affiché, dont le but est de proposer un modèle d'utilisation correcte.
Un pack est composé de quelques métadonnées et du diagramme décrivant les différentes étapes de l'histoire :
- Les nœuds de scène permettent d'afficher une image et/ou de jouer un son
- Les nœuds d'action permettent de passer d'une scène à la suivante, et de gérer les options disponibles
L'éditeur supporte plusieurs formats de fichiers pour l'audio et les images.
Les fichiers image peuvent utiliser les formats suivants (les formats marqués d'astérisques sont automatiquement convertis lors du transfert vers l'appareil) :
- PNG**
- JPEG**
- BMP (24-bits)
Les dimensions doivent être 320x240. Les images peuvent être en couleurs, bien que certaines couleurs ne seront certainement pas affichées fidèlement par l'écran situé derrière le boîtier en plastique. Gardez à l'esprit que la couleur du boîtier peut changer, comme c'est le cas pour la récente édition de Noël.
Les fichiers audio peuvent utiliser les formats suivants (les formats marqués d'astérisques sont automatiquement convertis lors du transfert vers l'appareil) :
- MP3**
- OGG/Vorbis **
- WAVE (16-bits signés, mono, 32000 Hz)
Les fichiers MP3 et OGG doivent, eux, être échantillonnés à 44000Hz.
[Expérimental] Voir les métadonnées non-officielles dans le Luniistore* / Charger la base de données officielle des métadonnées depuis le Luniistore*
Ces fonctionnalités expérimentales permettent :
- d'afficher des métadonnées (partiellement) correctes pour les packs d'histoires non-officiels (stockés dans l'appareil) dans l'application officielle Luniistore*.
- de charger / rafraîchir automatiquement la base de données officielle des métadonnées lorsque le Luniistore* est exécuté.
Pour activer ces fonctionnalités, localisez le fichier de configuration Luniistore.cfg
:
- Sur Linux, dans le dossier
/opt/Luniistore/app
- Sur Windows, dans le dossier
%ProgramFiles%\Luniistore\app
Puis ajoutez la ligne suivante dans la section [JVMOptions]
(remplacez $DOT_STUDIO
par le chemin correspondant)
(utilisez des séparateurs "slash" même sur Windows) :
-javaagent:$DOT_STUDIO/agent/studio-agent.jar
Ce projet est distribué sous la licence Mozilla Public License 2.0. Les termes de la licence sont dans le
fichier LICENSE
.
La bibliothèque vorbis-java
, ainsi que la classe VorbisEncoder
sont distribuées par Xiph.org Foundation. Les termes
de la licence se trouvent dans le fichier LICENSE.vorbis-java
.