Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache Runner
Voir le deal
69.99 €

 

 NabML, un dialecte XML pour le lapin

Aller en bas 
2 participants
AuteurMessage
Harfangdesneiges
Special Nabz
Special Nabz
Harfangdesneiges


Age : 28
Localisation : Quelque part sur la côte d'Azur
Nbr de messages : 1383
Carottes : 6308

NabML, un dialecte XML pour le lapin Empty
MessageSujet: NabML, un dialecte XML pour le lapin   NabML, un dialecte XML pour le lapin Icon_minitimeVen 26 Nov 2010 - 16:40

Bonjour à tous !
J'ai codé un truc qui s'appelle le NabML : il s'agit d'un dialecte XML, accompagné de son parseur écrit en PHP, fait pour envoyer des messages au lapin et interagir avec son API. Il supporte actuellement toutes les commandes de l'API (enfin je crois bien).
Voici un exemple de code :
Code:
<app>
   <!-- Définition du serial et du token ; ici, c'est le script qui choisit -->
   <config serial="{SERIAL}" token="{TOKEN}" />
   
   <!-- Création d'une chorégraphie -->
   <chor tempo="10">
      <led pos="top" r="255" g="255" b="255" time="0" />
      <led pos="bottom" r="255" g="255" b="255" time="10" />
      <led pos="left" r="255" g="255" b="255" time="10" />
      <led pos="right" r="255" g="255" b="255" time="10" />
      <led pos="middle" r="255" g="255" b="255" time="10" />
      <motor ear="left" angle="60" direction="1" time="10" />
      <motor ear="right" angle="60" direction="0" time="10" />
   </chor>
   <!-- Envoi de la requête -->
   <sendRequest />
   
   <!-- Envoi de TTS -->
   <tts voice="FR-Archibald" text="YO" />
   <!-- Changement de position des oreilles -->
   <ear ear="left" pos="0" />
   <ear ear="right" pos="12" />
   <sendRequest />
   
   <!-- Inclusion d'un fichier NabML (peut être désactivé pour raisons de sécurité) -->
   <nabMLInclude url="ex2.xml" />
   
   <!-- Création d'un flux mp3 -->
   <streamMp3 url="http://url.com/mp3.mp3" />
   <streamMp3 url="http://url.com/mp3_2.mp3" />
   <!-- Envoi des deux flux -->
   <sendStream />
   
   <!-- Exécution d'une action (a peu d'intérêt suivant les actions, enfin toujours est-il que ça marche) -->
   <action id="1">
   <sendRequest />
   
   <!-- Bascule de l'état : si le Nabz dort, on le réveille ; si il est réveillé, on l'endort -->
   <sleepToggle />
</app>

Le code du parseur (qui devrait être compréhensible par n'importe qui sans grandes difficultés) :
Spoiler:

Un exemple d'utilisation :
Code:
<?php
include('parser.php');
$xml = file_get_contents('ex.xml');
$foo = nabml_parse('0118CF9A2680', '1234655660', $xml); // le couple serial/token n'existe pas réellement ;)

Je ne sais pas si ça sert à grand-chose, mais toujours est-il que ça marche. yellownabzwink

J'ai pas fait de DTD, si ça intéresse du monde je m'y attellerais...
Revenir en haut Aller en bas
nabazland
Karotzeur taquin
nabazland


Age : 57
Localisation : Rouen - France
Nabaztag : Caulfield (v2.1)
Nbr de messages : 9783
Carottes : 13127

NabML, un dialecte XML pour le lapin Empty
MessageSujet: Re: NabML, un dialecte XML pour le lapin   NabML, un dialecte XML pour le lapin Icon_minitimeVen 26 Nov 2010 - 18:35

Bon boulot !
yellownabzhappy
Revenir en haut Aller en bas
http://www.nabzone.com
 
NabML, un dialecte XML pour le lapin
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» tuto pour trouver les bonne adresse radio pour les lapin
» Besoin d'aide pour la création d'un proxy pour le lapin
» du bon son pour mon lapin
» De la Pub pour le Lapin
» Un nom pour mon lapin...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: