Le plugin Xap (la suite) Si vous avez compris le premier tuto sur xAP disponible ici alors il est temps de passer aux choses sérieuses. 1) Comment faire communiquer Xlobby avec d’autres applications xAP ? Le monde xAP étant en plein essor, le paramétrage que vous disposez ne permet certainement pas de communiquer avec toutes les applications compatibles. Vous avez peut-être trouvé une application qui fait un truc sympa que vous voulez intégrer comme la synthèse vocale par exemple. Faire parler votre XlobbyBox serait sympa non ? Mais vous ne trouvez rien dans les fonctions du plugin ! Ne vous inquiétez pas, tout est prévu pour que Xlobby s’adapte aux diverses applications xAP en cours et pourquoi pas à venir… 2) Comment marche le plugin ? Selon le même principe que Xlobby, c’est à dire qu’il va chercher dans des fichiers XML les informations qui vont lui expliquer comment il doit fonctionner. Si vous avez jeté un coup d’œil aux fichiers installés dans le répertoire xAP-Xlobby, vous avez certainement découvert deux fichiers XML situés dans le répertoire schema nommés actions ou actions.xml et events ou events.xml. Le premier (actions) va décrire comment constituer les messages xAP sortants donc vos ordres, le second (events) va décrire comment sont constitués les messages entrants donc les évènements à écouter. En modifiant ces fichiers XML vous allez pouvoir indiquer à Xlobby comment envoyer des nouveaux messages mais aussi lui dire quels seront les messages entrants à écouter et ce qu’il faut en faire. Dans le reste du document, nous avons pris comme exemple le fait de faire parler notre Xlobby. L’application compatible xAP correspondante est téléchargeable à l’adresse suivante http://www.mi4.biz/modules.php?name=Downloads&d_op=viewdownload&cid=18 Elle ne nécessite pas de paramétrage particulier. 3) Ajouter une action simple au plugin ou comment est constitué le fichier actions.xml ? Tout d’abord il vous faut trouver les descriptions des messages xAP que l’application que vous avez choisi d’intégrer peut recevoir. Beaucoup se trouvent à l’adresse suivante http://wiki.xapautomation.org/tiki-index.php?page=XapSchema Gardez bien ces descriptions car elles vont nous servir de
base pour le paramétrage. Pour notre exemple (xAP-Speech)
l’application s’attends à recevoir un message du type :
Maintenant, allons voir comment dans le fichier actions nous allons décrire la constitution de ces messages. Ce fichier est au format XML. Il contient un block <event> par type de messages possibles. C’est en rajoutant ou en supprimant ces blocks <event> que vous allez conditionner la liste des commandes possibles du plugin. Chaque block <event> est constitué de la même façon en voici un exemple que nous allons commenter, cet exemple ne fait rien, il a juste une fonction pédagogique.
Attention, seuls les éléments en gras dans la description ci-dessus peuvent être changés.
Pour rajouter la fonction PARLE de notre exemple il nous faut donc rajouter un block <event> avec :
Enfin il ne nous reste qu’à tester.
4) Ajouter des paramètres aux messages sortants Oui, il est bien sûr possible d’ajouter des paramètres directement issus de Xlobby aux messages sortants. Ceci devrait nous permettre de faire dire ce que nous voulons à notre exemple. Ce paramètre, vous pouvez le renseigner dans la configuration de vos évènements dans la ligne param, sous les lignes plugin et commande. Vous pouvez mettre ce que vous voulez, du texte, une variable Xlobby… Pour que le plugin l’utilise correctement, vous devez indiquer son emplacement dans la description du message en ajoutant le texte *Xlobby* Dans notre exemple cela donne :
Lors de l’exécution, le plugin va remplacer ce texte par le paramètre reçu de Xlobby. Dans la version actuelle, vous ne pouvez ajouter qu’un seul paramètre (dommage) mais en fonction des demandes, une modification pourrait arriver dans une prochaine version. 5) Mutualiser les descriptions des messages sortants Dans notre exemple, un seul message est attendu, la question ne se pose pas, mais il se peut que pour un même type de messages vous vouliez disposer de plusieurs commande voisine comme un player qui propose les commandes PLAY, STOP, PAUSE, NEXT… Il est bien sûr possible de décrire cela en faisant autant de blocks <event> que de commandes mais afin de vous faciliter la tâche, une description mutualisée est possible. Au préalable, vérifiez que toutes les commandes que vous voulez mutualiser - sont à destination de la même application - appartiennent à la même classe - ont le même nom de block Si ces trois conditions sont respectées alors on peut mutualiser. Si on reprend notre exemple de player, cela pourrait donner :
Cela permet de disposer de 5 nouvelles commandes dans Xlobby en une seule description. Si à cela vous voulez rajouter un paramètre indiquant le nom du fichier à ouvrir cela donne :
Maintenant vous êtes prêt pour ajouter tous les ordres xAP que vous voulez à Xlobby. 6) Ecouter un type de messages entrants ou comment est constitué le fichier events.xml ? Et pour les messages entrants ? Le plugin se comporte de la même façon, il va lire des descriptions de messages et les ajouter à sa liste de surveillance. Tout d’abord il vous faut trouver les descriptions des messages xAP que l’application envoi. Généralement ces descriptions sont au même endroits que les descriptions des messages attendus. Dans notre cas nous reprendrons l’exemple des messages d’alerte de nouveau mails comme décrit dans le premier tutoriel. Aller dans le fichier EVENTS. Vous voyez qu’à chaque block <message> correspond une description de message à surveiller. Chaque block à la même structure :
Attention, seules les parties en gras peuvent être modifiée.
Ensuite vous disposez de 2 lignes, state et text. Chacune de ces lignes vous permet de remplir une variable Xlobby que vous pourrez afficher dans des zones de texte du type plugin>xap-xlobby>state>xxxxx et plugin>xap-xlobby>text>xxxxx. Allez voir le premier tuto (en fin de document) pour déterminer ce que doivent être les xxxxx. Vous pouvez saisir ce que vous voulez à gauche du = et ainsi constituer ce qui sera affiché par vos variables. Comme dans l’exemple ci-dessus, vous pouvez utiliser des variables issues du message entrant. Ici, le message entrant dispose de variables comme msg, from que l’on encapsule dans la zone state. 7) Comment lier une action Xlobby à la réception d’un type de message particulier ? C’est la dernière chose qu’il nous reste à voir et ne vous inquiétez pas (même si une énorme migraine arrive) c’est la plus simple. Il vous suffit de mettre entre les tag <xlobby> le groupe et l’event séparer du caractère : Dans l’exemple la lecture du message d’arrivé d’un nouveau mail lancera dans Xlobby l’affichage d’un écran nommé goto new mail, qui figure dans le groupe goto, après à vous de mettre ce que vous voulez et faire ce qu’il vous plait. 8) Conclusion J’espère que vous êtes arrivé jusque là, cela veut dire que vous n’avez toujours pas de migraine !!! et que le monde xAP en s’agrandissant vous proposera les applications qui vous intéressent. N’oubliez pas que Xlobby devient un émetteur et un récepteur xAP paramétrable donc que rien n’empêche à un Xlobby de parler xAP avec n’importe qui … et pourquoi pas d’autres Xlobby !!!! |
|||||||||||||||||||||||
|
Version 1 par ptrinchi (25/07/2005) |