Récemment mis en ligne, le firmware 1.2.16 de la Freebox Player empêche certaines applications de télécommande virtuelle de fonctionner. Bug ou volonté de Free de supprimer ce genre de service ? Aucun des deux, simplement un changement d'API annoncé de longue date, mais pas pris en compte par certains développeurs.
Il y a deux jours, Free déployait un nouveau firmware pour le boîtier Player de la Freebox Révolution. Estampillé, 1.2.16, il n'était alors question que de trois corrections de bugs, sans aucun autre changement d'après les notes de versions. Néanmoins, ce n'est pas le cas puisque nous avons pu apprendre que l'API permettant de gérer la télécommande virtuelle en HTTP avait été supprimée. Un point confirmé par Arnaud Vrac, développeur Freebox, qui ajoute même que « cette API est obsolète depuis plus de deux ans ».
La cause : une nouvelle API, et un changement annoncé il y a longtemps
En effet, si l'on remonte dans les billets du blog dev.freebox.fr, on trouve au 12 octobre 2011 l'annonce d'un nouveau SDK de télécommande réseau. Il est précisé qu'une « nouvelle interface de commande permet de piloter le Freebox Player par le réseau. Cette API vient en plus de l’API HTTP actuelle, qu’elle remplacera progressivement ». Autre conséquence, le code qui était auparavant indiqué dans les paramètres du Freebox Player n'est plus de la partie étant donné qu'il n'est plus utilisé par la nouvelle API.
Il est également précisé qu'elle est « disponible depuis la version 1.1.0 du Freebox Player, cette nouvelle API se base sur la norme régissant les périphériques d’entrée utilisateur, ou Human Interface Devices (HID). À l’origine, cette norme a été conçue pour l’USB, mais a été reprise Verbatim pour le Bluetooth. Dans le contexte de la Freebox, la norme HID a été portée sur un transport UDP, donc réseau ».
Le changement avait donc été annoncé de longue date, mais étant donné le nombre d'applications qui ne fonctionnent plus, quelques rappels n'auraient certainement pas été de trop, surtout à l'approche de la date fatidique. Certaines applications exploitent néanmoins la nouvelle API et continuent donc de fonctionner normalement avec le firmware 1.2.16. C'est le cas de FreeTelec, MyFreebox et Freebox Touch pour ne citer que ces trois-là. N'hésitez d'ailleurs pas à nous indiquer celle que vous utilisez dans les commentaires.
Un retour en arrière possible ?
Toujours sur le bugtracker de Free, Eric Blanquer (alias iop), développeur d'une extension pour Chrome, Firefox et Windows, vient faire part de son mécontentement : « c'est bien beau de dire qu'il faut utiliser la nouvelle API mais comment utiliser de l'UDP en javascript ??? Chrome le propose mais en aucun cas Firefox et encore moins les gadgets Windows... »
Arnaud Vrac, indique alors : « je crois que c'est possible de faire de l'UDP avec l'API de Chrome, mais ça rend effectivement l'implémentation très compliquée vu qu'on ne peut pas utiliser la bibliothèque C foils_hid. Je vais voir si on peut remettre l'API http... Je ne garantis rien ».