Domaines de recherche et services contextuels
Lorsque nous avons abordé la question du moteur de recherche, nous avons omis de parler des domaines de recherche. Qu'est ce que l'on entend par là ?
Le domaine de recherche est en quelque sorte le lieu dans lequel on cherche. En effet, il y a plusieurs types de recherche. On peut rechercher:
- Dans ses propres documents (comme avec spotlight ou google desktop)
- Dans les documents que l'on a déjà visité. (awesome bar, del.icio.us)
- Sur le web complet. (ce que fait google)
Il y a donc plusieurs lieux de recherche qu'il faut préciser.
A cela, s'ajoutent les services contextuels.
Une fois l'informatique et le web totalement fusionné, il est possible de concevoir que n'importe quel appareil communiquant puisse être accessible depuis n'importe quel terminal web.
Si l'on intègre des moyens de communication dans tous les appareils, il devient ainsi possible de trouver, par exemple, une machine à café dont l'interface de commande est un service web.
Grâce à ma ligne de commande, je peux demander: nouveau café sucre, et la machine à café la plus proche de moi va me faire un café et ajouter du sucre.
Avec cet exemple, on remarque que le web peut devenir une interface homme machine universelle. Tout appareil peut être commandé avec la même ligne de commande.
Il ne suffit plus que de connaître le service et les options qu'il propose. C'est là qu'intervient la notion de service contextuel. Un service contextuel est un service qui se propose spontanément à l'utilisateur, car il sait qu'il est dans voisinage proche.
Si l'on reprend l'exemple de la machine à café, il ne m'est pas très utile de me préparer un café sur une machine à l'autre bout du monde. Par contre, étant assis à mon bureau, j'aimerai bien me préparer un café sur la machine de la cuisine à l'autre bout de la maison.
Donc sur mon point de départ, en plus de mes ressources favories, et mes notification diverses, je dispose également d'un aperçu de services locaux qui sont disponibles.
Je pourrais ainsi découvrir que sur mon réseau local, j'ai une machine à café, mais également une télévision, la commande des lumières, la commande du chauffage, et les informations de la station météo locale.
Ce genre de service est déjà disponible. Par exemple, dans le navigateur web Safari, dans les bookmarks il y a l'onglet Bonjour qui indique les services se signalant sur le réseau local via le protocole Bonjour. (l'implémentation d'Apple du protocole zeroconf)
UPnP est également un protocole qui permet la découverte et l'utilisation de services locaux contextuels.
Avec la prolifération de téléphone mobile (si on peut encore les appeler ainsi), qui sont capables de se balader sur le web (iPhone, android...), la télécommande universel est déjà dans les mains de beaucoup de monde. Il ne reste maintenant plus qu'à avoir des appareils communs dans l'environnement d'une maison qui proposent d'être piloté par l'intermédiaire de commandes web.
En 2003, lors de mon travail de diplôme d'ingénieur en télécommunication, j'avais déjà passablement étudié la notion de services contextuels dans un contexte de domotique.
Six ans après avoir rendu mon travail de diplôme, la technologie a beaucoup évoluée au niveau de la télécommande. Donc des téléphones mobiles qui sont capables de faire énormément plus de choses qu'il y a quelques années.
Cependant, nous sommes toujours au même point en ce qui concerne les appareils d'une maison. Il ne communiquent quasiment pas avec l'extérieur.
On commence à voir certaines grosses machines (donc pas dans la maison) qui diffusent de l'information à l'exemple du flux twitter du pont de Londres pour connaître en direct l'état du trafic sur le pont ou de certains radio-téléscopes qui indiquent sur quoi ils pointent. Vivement que nos appareils électro-ménager, que nos chauffages, thermomètre et divers appareils d'électronique de loisirs diffusent également leur état sous forme web.
Lors de mon travail de diplôme, j'avais expérimenté une solution avec la technologie java Jini pour concevoir un service de découverte et d'utilisation de service. Actuellement avec quelques années de recul. Je ne réutiliserai pas la même technologie. Je miserai tout sur le web et des services web REST pour piloter des objets. Cette approche est beaucoup plus souple et moins gourmande en ressources.
Actuellement, seuls les équipements réseaux (routeur, switch, modem, webcam..) intègrent couramment une interface web pour les piloter. J'espère que dans un futur proche, d'autres appareils proposeront également une interface de commande web. (télévision, home cinéma, machine à café, chaine hi-fi...)
Alors avis aux constructeurs d'appareils multimédia et électroménager: si vous fournissez une API de commandes web avec vos appareils... ça aura du succès !