NabExec v0.7.6

Transcription

NabExec v0.7.6
NabExec v0.7.6
Guide d'utilisation
version du 29 janvier 2009
(certains visuels peuvent différer légèrement avec la version actuelle du logiciel)
Qu'est-ce que NabExec ?
NabExec est un serveur permettant à votre lapin d'intéragir avec votre
ordinateur (un peu comme le fait mir:ror, de chez violet)
Vous lui faite renifler un ztamp, et hop, votre écran de veille s'allume, ou
encore votre playlist démarre.
Une confirmation générique de l'exécution de votre commande peut être
envoyée au lapin, mais il est également possible d'envoyer le résultat même de
la commande que vous venez de déclencher à distance.
Comment ça marche ?
NabExec se compose de deux programme. Le client et le serveur.
Le client va permettre de configurer le serveur. C'est avec le client que vous
allez définir les actions possibles en leur donnant un nom, et en les associant à
une commande, un script, une fonction built-in (NabExec est livré avec
quelques fonctions pré-codés).
Une fois vos mapping effectués, le serveur doit être démarré. Il vous suffit
désormais de lier un zstamp à l'application Call URL de violet, et de renseigner
l'adresse de votre serveur NabExec et le mapping que vous souhaitez activer.
Pré-requis
Il est nécessaire d'avoir une version de Java 1.6 ou supérieure d'installer sur
l'ordinateur.
La version la plus récente de Java est disponible sur http://www.java.com/fr
Installation
NabExec est livré dans un fichier zip qu'il suffit de dézipper.
/!\ Le client et le serveur sont en fait le même fichier (NabExec.jar)
Pour lancer le client, il faut faire :
sous UNIX/LINUX:
java -jar NabExec.jar
sous WINDOWS:
double-cliquer sur le fichier NabExec.jar ou ouvrez le via un raccourci
avec javaw.exe
Pour lancer le serveur, il faut faire :
sous UNIX/LINUX:
java -jar NabExec.jar -s
sous WINDOWS:
créer un raccourci vers le fichier NabExec.jar et rajouter dans ses
propriétés le -s nécessaire à l'activation du mode serveur.
Première configuration
Lors de la première utilisation, il faut impérativement lancer le client,
autrement le serveur ne fonctionnera pas.
Dans le menu Configuration, Configuration générale, vous trouverez les
paramètres de connexion à votre lapin (son adresse MAC et son token), à
renseigner impérativement si vous souhaitez envoyer des confirmations
d'exécution à votre lapin (autrement, vous pouvez laisser les champs vide) :
/!\ Il est vivement conseillé de laisser le port d'écoute du serveur sur 80 (port
HTTP), car il semble qu'actuellement le widget « Call URL » de violet que nous
utiliserons par la suite n'accepte pas (encore ?) les serveurs situés sur d'autres
ports.
En cliquant sur le bouton enregistrer, les réglages sont positionnés, vous
pouvez maintenant créer vos premiers NabMaps !
Créer un NabMap
Un NabMap, c'est quoi ? C'est un mapping (une association) entre un mot-clé et
une commande à exécuter. Chez votre lapin par exemple, il est fort probable
que la commande vocale « météo » soit mappée à l'action « lancer la météo »
Ici nous ne mappons pas des commandes vocales, mais justes des mots, qui
seront appelés via des puces RFID (les fameux ztamps)
Cliquez sur le bouton Nouveau de l'interface principale du client. Une fenêtre
de création de NabMap doit apparaître :
–
Le champ action correspond au mot-clé qu'il faudra appeler pour activer le
NabMap via le lapin (ici chanson)
–
Le champ Programme correspond à la commande système, le programme,
ou le script qu'il faudra appeler lors de l'activation de votre mapping. Il est
également possible d'appeler une fonction pré-codée (built-in) livrée avec
NabExec (on en reparle plus bas) en commençant sa commande par un $
(dollard). Ici j'appele xmms, qui est un lecteur de musique sous linux.
/!\ Si votre programme n'est pas dans la variable d'environnement PATH, il
faudra indiquer son chemin complet (par exemple « C:\Program
Files\iTunes.exe » et pas juste «iTunes »)
–
Le champ argument permet de passer des valeurs lors de l'appel au
programme défini précédemment. Ici nous indiquons simplement le nom du
fichier mp3 que xmms devra lire. Se référer à la documentation du
programme que vous souhaitez lancer pour plus de précisions concernant
les arguments de la ligne de commande.
Note: Il est possible de tester le résultat de la commande en
pressant le bouton tester.
–
Enfin il est possible d'envoyer ou non une confirmation d'exécution au lapin.
Si l'option « Sortie du programme » est sélectionnée, alors le lapin lira le
résultat de la commande. Ici nous avons choisi de retourner un message
personnalisé (« Chanson démarrée avec succès »), car la commande XMMS
est un logiciel graphique, et ne retournera aucun texte pertinent à dire !
–
Une fois le NabMap configuré, on clique sur ajouter
/!\ Attention, à ce stade le NabMap n'est toujours pas enregistré. Il
faut désormais faire Fichier>Sauver les NabMaps pour prendre en
compte les changements (ou bien ctrl+S, qui va plus vite !)
Astuce : A tout moment vous pouvez créer un nouveau NabMap en vous basant
sur un NabMap existant. Pour se faire, double-cliquez simplement sur un
NabMap existant, et la fenêtre de création s'ouvrira avec les champs préremplis
Astuce : il est possible d'indiquer dans les champs « arguments optionnels » et
« message personnalisé » le mot clé « [arg] » qui sera substitué avec
l'argument optionnel de votre url de mapping (voir plus bas)
Les fonctions built-in
NabExec est depuis sa version 0.7 livré avec un set de fonctions built-in (précodées).
Bien qu'il n'y ait pour l'instant que deux fonctions (!), l'avenir nous en réserve
sûrement d'autres ;-)
Pour appeler une fonction built-in, le premier caractère de votre champ
Commande à exécuter doit être un « $ » (ce qui active le mode « fonction »)
Selon les fonctions, l'usage du champ « Arguments optionnels » sera obligatoire
ou non.
Fonction
Description
Champ
commande
Champ
arguments
phpbb1
Va chercher
$phpbb1,nb1, URL de la
les titres des
nb2
section du
topics présent
forum
dans un forum
de type phpbb
Commentaire
- Nb1
correspond au
nombre de
topics à
remonter
- Nb2
correspond au
nombre de
topics à
ignorer (quand
les premiers
topics d'un
forum sont des
post-it par
exemple)
phpbb2
Va chercher
$phpbb2,nb1, URL de la
les titres des
nb2
section du
topics présent
forum
dans un forum
de type phpbb
- Nb1
correspond au
nombre de
topics à
remonter
- Nb2
correspond au
nombre de
topics à
ignorer (quand
les premiers
topics d'un
forum sont des
post-it par
exemple)
info_transilien
Indique si des Vide
lignes du
réseau
transilien sont
perturbées
Vide
allocine
Retourne le
titre des films
actuellement à
l'affiche dans
votre salle
préférée
Code salle (1
lettre + 4
chiffres)
Information
très
sommaire :)
Il est possible de tester le résultat de la commande en pressant le bouton
tester, comme pour une commande classique. Le résultat s'affiche alors dans
une boite à message.
Par exemple, voici à quoi pourrait ressembler une action allant lire les
nouveaux sujets du topic API de notre chouette forum nabaztag.forumactif.fr :
J'ai pris soin d'indiquer que je souhaitais uniquement les 10 premiers sujets, et
que j'excluais le 2 premiers du calcul (qui sont deux post-it). Bien sûr j'ai
demandé à retourner le résultat de la commande au lapin !
Ces fonctions expérimentales ne doivent pas être comparées avec un flux RSS.
Note : L'existence de deux fonctions phpbb tient au fait que certains forums
utilisent des versions différentes de phpbb (je n'ai pas trop cherché non plus
les détails, et je me suis limité aux sites que j'utilise le plus souvent !), donc
vous tester l'une des versions, si elle ne retourne rien, vous testez l'autre, et si
elle ne retourne rien également, alors vous venez vous plaindre dans le forum
pour que je développe un nouveau moteur :+)
Hey, mais comment on lance le serveur ?
Facile, comme j'ai dis en introduction dans la partie Installation, il suffit de
lancer le programme avec l'option -s
Dès lors, le serveur est démarré. Vous pouvez tester vos mappings en ouvrant
un navigateur web, et en saisissant l'adresse suivante :
http://votreip/votremapping/votreargumentfacultatif
Note : depuis la version 0.7.5 une icône est désormais visible dans votre barre
des tâches (à coté de l'horloge) lorsque le serveur tourne. Avec un clic-droit sur
cette icône vous pouvez lancer le client NabExec ou bien arrêter le serveur.
Cette fonctionnalité peut ne pas fonctionner avec certains systèmes (testé
uniquement sous GNU/Linux (Gnome) et MS Windows
/!\ Notez que le slash final après votremapping/ est *obligatoire*
Tout ce qui sera situé derrière servira à garnir la variable spéciale « [arg] » à
laquelle vous pourrez librement faire référence dans votre NabMap (champs
« arguments optionnels » et « Message personnalisé »)
Et comment on associe un ztamp à un NabMap ?
Simplement en ajoutant l'application Call URL à votre ztamp (rubrique /dev), et
en indiquant la même URL que vous avez saisi précédemment pour tester votre
mapping: http://votreip/votremapping/votreargumentfacultatif
Attention : l'adresse ip que vous saisissez doit être votre IP publique
et pas celle de votre réseau local (192.168.*.* par exemple)
Vous la trouverez en vous rendant sur http://www.whatismyip.com
Vous devrez également activer la redirection (forwarding) du port 80
vers votre machine locale au niveau de votre routeur si vous en
disposez (ou de votre freebox). Il est généralement nécéssaire de
rebooter le routeur/freebox pour prendre en compte la redirection de
port.