<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1266"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1266/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1266/atom/feed</id>
  <updated>2008-05-03T20:36:23+02:00</updated>
  <entry>
    <title>TuxDroid Java API - Nouveautés de la 0.5</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1266" />
    <id>http://artisan.karma-lab.net/node/1266</id>
    <published>2007-11-01T02:44:45+01:00</published>
    <updated>2008-05-03T20:36:23+02:00</updated>
    <author>
      <name>Anonymous</name>
    </author>
    <category term="TuxDroid" />
    <category term="Aucun" />
    <category term="OK" />
    <category term="Article" />
    <summary type="html"><![CDATA[<p>
Voilà, c'est fait, l'API passe à la version .5 au passage pour un support à 99% des fonctions du Tux. Le tout est embarqué dans un nouveau tuxlet manager, une application qui réside dans la boite de miniatures pour héberger des tuxlets, des micros applications qui ajoutent des fonctionnalités au pingouin.
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
Voilà, c'est fait, l'API passe à la version .5 au passage pour un support à 99% des fonctions du Tux. Le tout est embarqué dans un nouveau tuxlet manager, une application qui réside dans la boite de miniatures pour héberger des tuxlets, des micros applications qui ajoutent des fonctionnalités au pingouin.
</p>
<!--break-->

	<a name='chapter_1'></a>
  <h2>Change-Log</h2>
	
<ul>
<li>TuxletManager .2 with a brand news swing/GTK UI.
<li>Tuxlet API
<li>Feed Reader Tuxlet. It car read as many feed as you want using a specific voice.
<li>Clock Tuxlet
<li>Light seeker Tuxlet
<li>Weather Tuxlet
<li>Full binding of any thuxlet action to any remote button/Switch
<li>Binding of any tuxlet action to a new scheduler (at time, every time, each time events)
<li>Light graph tuxlet
</ul>

<p>
Donc finalement, une deuxième API se trouve embarquée dans cette histoire, celle des tuxlets. Rien de bien sorcier là dedans mais un moyen pour qui connaît java, de faire fonctionner le tux avec des fonctions très haut niveau et de bénéficier en même temps de l'API de base du robot. 
</p>
<p>
Pour décrire rapidement l'ensemble, le tuxlet manager est donc un conteneur de tuxlet qui sont basiquement des plugins (.jar) qui se pose dans le dossier ./tuxlets. Un plugin peut contenir autant de tuxlets que voulu. Le dépôt peut être fait à chaud, le manager les installera/désinstallera automatiquement (un peu comme une webapp). 
</p>
<p>
Une tuxlet par définition publie vers le tuxlet manager un ensemble d'actions haut niveau qui vont pouvoir être utilisées de divers manière (voir plus loin le configurateur et dbus). </p>
<p>
<image style="border:none"  id="1"/> Une fois que la tuxlet est installée, son icône se place dans la barre à tuxlets offrant un click-droit pour énumérer l'ensemble des actions que la tuxlet met à disposition. Le click gauche déclenche quant à lui l'action par défaut de la tuxlet.
</p>
<p>
Si la tuxlet n'a rien à afficher, la partie centrale de l'IHM sert de zone de message permettant d'avoir un retour visuel sur ce qu'à pu dire le Tux. Les messages peuvent être agrandis par un click. 
</p>
<p>
La configuration d'une tuxlet si elle existe, est disponible, comme toutes ses actions, via le menu click-droit. De même pour les informations de version.
</p>
<p>
<image style="border:none" id="2"/> Il y a pour l'heure les tuxlets :
<ul>
<li>"horloge" qui dit betement l'heure</li> 
<li>"météo" qui donne les conditions actuelles et les prévisions du lendemain</li>
<li>"lecteur de flux rss" qui va, via son panneau de configuration, vous permettre d'ajouter des flux RSS ou Atom, leur titre, le nombre de news à lire et s'il faut en lire le contenu ou seulement les titres. Il est aussi possible de changer la voix du tux spécifiquement pour cette tuxlet.</li>
<li>"chercheur de lumière", une simple tuxlet d'exemple qui fait tourner le tux sur lui même à la recherche de la plus forte source lumineuse.</li>
<li>"Configurateur", une grosse tuxlet qui permet de configurer la voix, les sons internes, d'afficher les informations de version, et le graphique di capteur lumineux.<br/>
Elle permet aussi de gérer le binding des touches de la télécommande OU d'un switch du Tux vers n'importe quelle action de n'importe quelle tuxlet (par exemple assigne la touche 0 à la météo). <br/>
Enfin, il y a maintenant un programmateur d'événement (genre de cron) qui peut être configuré ici aussi permettant de lancer n'importe quelle action de n'importe quelle tuxlet à une heure donnée, sur un intervalle de temps donnée, sur un temps donné (à 11h 12h 13h etc..).</li>
<li>"Mouvements", une tuxlet très simple qui permet de contrôler tous les mouvements du tux et qui exporte des actions du type "tourner à gauche", "tourner à droite", etc...</li>
</ul>
</p>
<p>
<image style="border:none"  id="3"/> Enfin, dernière chose ajoutée au tuxlet manager, le support de 
  <a target='_blank' href='http://fr.wikipedia.org/wiki/DBUS'>
  DBUS
  </a> lui donnant ainsi la capacité de pouvoir lancer des actions de l'extérieur (ex. un message parlé à l'arrivée d'un contact sous Gaim ou Kopete). Un script d'exemple est fournit dans le dossier ./bin</p>
<p>
Voilà pour cette version. Tout cela est bien évidement instable et à tester. Je ne pourrais être tenu responsable si le tux part en vrille <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
</p>
<br style="clear:left"/>
    ]]></content>
  </entry>
</feed>
