<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>L&#039;actualité de la Freebox &#187; SDK</title>
	<atom:link href="http://dev.freebox.fr/blog/?feed=rss2&#038;cat=12" rel="self" type="application/rss+xml" />
	<link>http://dev.freebox.fr/blog</link>
	<description>L&#039;actualité de la Freebox</description>
	<lastBuildDate>Thu, 02 May 2013 12:44:05 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Nouveau SDK de télécommande réseau</title>
		<link>http://dev.freebox.fr/blog/?p=790</link>
		<comments>http://dev.freebox.fr/blog/?p=790#comments</comments>
		<pubDate>Wed, 12 Oct 2011 14:18:20 +0000</pubDate>
		<dc:creator>nipo</dc:creator>
				<category><![CDATA[Freebox Player]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[HID]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[télécommande]]></category>

		<guid isPermaLink="false">http://dev.freebox.fr/blog/?p=790</guid>
		<description><![CDATA[Une nouvelle interface de commande permet de piloter le Freebox Player par le réseau. Cette API vient en plus de l&#8217;API HTTP actuelle, qu&#8217;elle remplacera progressivement. Les nouvelles possibilités apportées par cette évolution sont le support: des touches multimédia, de la souris, des appuis simultanés, plus tard, des manettes de jeu. Ce SDK s&#8217;adresse avant [...]]]></description>
			<content:encoded><![CDATA[<p>Une nouvelle interface de commande permet de piloter le Freebox Player par le réseau. Cette API vient en plus de l&#8217;API HTTP actuelle, qu&#8217;elle remplacera progressivement.<span id="more-790"></span></p>
<p>Les nouvelles possibilités apportées par cette évolution sont le support:</p>
<ul>
<li>des touches multimédia,</li>
<li>de la souris,</li>
<li>des appuis simultanés,</li>
<li>plus tard, des manettes de jeu.</li>
</ul>
<p>Ce SDK s&#8217;adresse avant tout aux développeurs d&#8217;applications tierces, il a été déjà intégré dans <a title="FreeTelec par r0ro" href="http://iphone.r0ro.fr/freeTelec/">différents</a> <a title="MyFreebox par Logimax" href="http://www.logimax.org/category/myfreebox/">projets</a>. Son utilisation est libre (licence BSD).</p>
<p>Disponible depuis la version <a title="Annonce de la sortie du Firmware 1.1.0" href="/blog/?p=689">1.1.0 du Freebox Player</a>, cette nouvelle API se base sur la norme régissant les <em>périphériques d&#8217;entrée utilisateur</em>, ou <em>Human Interface Devices</em> (HID). À l&#8217;origine, <a title="USB HID 1.11" href="http://www.usb.org/developers/devclass_docs/HID1_11.pdf">cette norme</a> a été conçue pour l&#8217;<a title="USB HID page" href="http://www.usb.org/developers/hidpage/">USB</a>, mais a été reprise <em>Verbatim</em> pour le Bluetooth. Dans le contexte de la Freebox, la norme HID a été portée sur un transport UDP, donc réseau.<br />
La définition d&#8217;un périphérique doit être faite à l&#8217;aide de <a title="HID Usage Tables 1.12v2" href="http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf">descripteurs</a>,  comme si il s&#8217;agissait d&#8217;un périphérique USB. Un périphérique réseau  est traité de la même manière que les périphériques USB par la plupart  des interfaces du Freebox Player. Toutefois, le support de ces  périphériques dans les jeux viendra par la suite.</p>
<p>Un ensemble de bibliothèques pouvant servir de briques de base à la construction d&#8217;un client pour ce protocole est fourni sur <a href="http://github.com">GitHub</a>:</p>
<ul>
<li><a href="http://github.com/fbx/libela/">Libela</a> permet d&#8217;intégrer le reste des bibliothèques sur des boucles d&#8217;événements. Elle a été portée sur libevent (GNU/Linux, MacOS) et CoreFoundation (MacOS, iOS);</li>
<li><a href="http://github.com/fbx/librudp/">Librudp</a> fournit le transport UDP avec une possibilité de transmettre certains messages de manière pérenne;</li>
<li><a href="http://github.com/fbx/foils_hid/">Foils_Hid</a> fournit à la fois une bibliothèque implémentant le transport de HID sur UDP, et des programmes d&#8217;exemple.</li>
</ul>
<p>En dernier lieu, le Freebox Player annonce localement le service <code>_hid._udp</code> en mDNS. La configuration de l&#8217;adresse et du port à utiliser sont donc transparents pour l&#8217;utilisateur.</p>
<p>Une <a title="Page SDK" href="/sdk/">page dédiée aux SDK</a> sur ce site fournit les documentations des bibliothèques, ainsi que la définition des protocoles sous-jacents.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.freebox.fr/blog/?feed=rss2&#038;p=790</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
