Le protocole HTTP par l'exemple : piloter sa Freebox

Vincent PREMEL
21 septembre 2011

Aujourd’hui, un article un peu plus technique pour vous expliquer la manière dont communiquent certains équipements en utilisant les standards du web. Comme par exemple le pilotage d’iTunes en HTTP présenté par Julian dans cet article.

I. Notion de protocole

En langage informatique, un protocole est la description d’une méthode permettant de communiquer avec un appareil ou un logiciel donné. Un protocole définira la façon de se connecter ainsi qu’une liste de mot-clés et d’arguments répondant à une syntaxe précise. Par exemple, vous trouverez la description complète du protocole HTTP ici. Inutile de tout lire, vous trouverez un résumé intéressant et suffisant de ce protocole sur cette page.

Le protocole HTTP (Hyper Text Transfer Protocol) est un des plus utilisés sur Internet aujourd’hui. Il est conçu pour formuler des requêtes à un serveur qui va vous renvoyer une page web. Basé sur du texte avec des mots clés anglais, il est compréhensible par les êtres humains. Il est parfois détourné de son usage initial pour piloter des équipements, comme par exemple, le boitier TV des Freebox (V5 ou V6).

II. Première approche

Essayons de nous connecter à un serveur web, sans passer par un navigateur, par exemple Google. Il faut établir une connexion TCP/IP, sur le port 80. Pour cela, Windows vous fourni un outil en ligne de commande : telnet. Telnet permet d’établir une connexion TCP/IP sur un serveur.

Première chose à faire, lancez un terminal en ligne de commande, et tapez :

« telnet www.google.com 80 [entrée] »  (l’argument « 80 » permet de changer le port par défaut de telnet qui est 23).

 

Terminal DOS 2Vous devriez normalement vous retrouver avec un terminal totalement noir avec juste un curseur qui clignote. Vous êtes connectés à Google !

A lire également:
Gaming et éclairage connecté : transformez la chambre de votre ado en véritable arène esport !

Le serveur attend maintenant que vous lui formuliez une requète, si possible en HTTP (il n’attendra pas indéfiniment, il se peut que la connexion se coupe au bout de quelques secondes).

Tapez donc ceci tant que la connexion est active :

« GET / HTTP/1.1[entrée] Host : www.google.fr[entrée] [entrée]« .

(Vous ne verrez rien s’afficher lors de la saisie, juste le curseur se déplacer; c’est normal, Google à affaire d’ordinaire à des navigateurs web plutôt qu’à des êtres humains, il n’affiche donc pas en écho les caractères envoyés).

Bien entendu, la réponse est incompréhensible, car telnet n’est pas conçu pour interpréter une page web, à la différence de Firefox, Internet Explorer ou Safari. Il ne vous affiche donc que le code source de la page -certains diront qu’il manque de puissance pour afficher les données de la matrice…- de manière brute, quand votre navigateur l’aurait interprété pour afficher ladite page.

III. Pilotage de la Freebox

Maintenant que nous savons faire une requête à un serveur web, regardons comment piloter la Freebox TV. La Freebox TV dispose d’un serveur web embarqué, et elle utilise le protocole HTTP, non pas pour vous fournir des informations, mais pour émuler la télécommande ! Comment ? En appelant une page spéciale et en fournissant deux paramètres : l’ID de votre Freebox, et la touche de la télécommande à émuler.

L’ID est un numéro unique, qui vous permet de piloter votre Freebox TV et pas celle du voisin. Ce numéro est disponible dans les informations sur la Freebox que vous pouvez consulter sur votre TV.

A lire également:
DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet

Ensuite, il nous faut l’adresse de la Freebox. Free nous simplifie la vie avec les urls suivantes : hd1.freebox.fr et hd2.freebox.fr, respectivement pour le premier et le second boitier TV (si vous en disposez).

On va donc se connecter au serveur en question :

« telnet hd1.freebox.fr 80 [entrée]« .

et taper la requête suivante :

« GET /pub/remote_control?key=power&code=12345678 HTTP/1.1[entrée][entrée] »

Il faudra remplacer « 12345678 » par l’ID de votre freebox.

Et normalement, votre Freebox s’est soit allumée, soit éteinte, selon son état précédent !

Voilà, vous avez compris la base du contrôle d’équipement en HTTP ! Pour aller plus loin, voici la liste des commandes de la Freebox TV :

    ‘1’
    ‘2’
    ‘3’
    ‘4’
    ‘5’
    ‘6’
    ‘7’
    ‘8’
    ‘9’
    ‘0’
    ‘prgm_inc’
    ‘prgm_dec’
    ‘vol_inc’
    ‘vol_dec’
    ‘yellow’
    ‘blue’
    ‘green’
    ‘blue’
    ‘up’
    ‘down’
    ‘left’
    ‘right’
    ‘ok’
    ‘home’
    ‘play’
    ‘stop’
    ‘prev’
    ‘next’
    ‘bwd’
    ‘fwd’
    ‘rec’
    ‘back’
    ‘swap’
    ‘info’
    ‘mail’
    ‘help’
    ‘epg’
    ‘media’
    ‘options’
    ‘power’

Tous les logiciels permettant de piloter la Freebox TV (avec votre smartphone par exemple) utilisent ce protocole et cette liste de commande.

Sachant que de nombreux équipements aujourd’hui sont contrôlables via des requêtes de ce genre (certains modèles de TV, des amplificateurs Home Cinéma, etc…), vous comprendrez que le protocole HTTP est un protocole à connaitre si on souhaite explorer de nouvelles possibilités en domotique ;-)

share Partager

Ces articles pourraient aussi vous intéresser:

Gaming et éclairage connecté : transformez la chambre de votre ado en véritable arène esport !

Découvrez comment créer une chambre d'ado gaming immersive en synchronisant l'applique murale et le lustre moderne avec votre setup PC. Guide complet sur les protocoles d'éclairage et solutions connectées pour une expérience de jeu unique.

DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet

Actuellement, il existe de multiples façons d'accéder à Internet, ou plus précisément, divers types de connexions en ligne. En outre, des tendances comme le télétravail et le streaming de divertissement ne cessent d'augmenter les besoins en bande passante. Pour profiter de services de qualité, il est important de comprendre les différences entre le DSL, le câble, la fibre optique et même la téléphonie mobile, devenue elle aussi un moyen de connexion à internet.

Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

Ce guide explique comment installer Frigate sur un mini PC NiPoGi GK3 Plus à 200€, pour obtenir un système de vidéosurveillance ultra complet, intégrable à Jeedom ou Home Assistant.

0 réaction

Votre réaction
Nom
Adresse de messagerie
Site internet