FR 3006137 A1 20141128 FR 1357580 A 20130731 Mécanisme de gestion d'une session de communication Domaine technique L'invention se rapporte au domaine général des réseaux de télécommunication et plus particulièrement aux communications entre un terminal client et un équipement serveur sur un réseau de télécommunications de type Internet. Etat de la technique De façon connue, dans un réseau de type Internet, une communication entre un terminal client et un équipement serveur s'effectue au moyen du protocole HTTP (de l'anglais HyperText Transfer Protoco,), un protocole de communication client-serveur développé en particulier pour le World Wide Web (Web). Les clients HTTP les plus connus sont les navigateurs Web offrant des applications conçues pour être accédées à distance ; le langage HyperText Markup Language, généralement abrégé HTML, est un format de données conçu pour représenter les pages Web de telles applications. Les premières versions du protocole HTML n'autorisaient pas de communication bidirectionnelle entre le client et le serveur. Le client devait se connecter au serveur via un mécanisme de requêtes et réponses, aussi appelé polling, en utilisant le protocole HTTP. Pour assurer des communications bidirectionnelles entre le client et le serveur, le protocole websocket a été introduit plus récemment. Le protocole WebSocket est un standard désignant à la fois un protocole réseau et une interface de programmation qui peut être utilisée par une application sur n'importe quel client et serveur Web. Le protocole a été normalisé par l'organisme IETF (Internet Engineering Task Force) dans sa spécification RFC 6455 (de référence IETF Request for Comments: 6455) et l'interface de programmation correspondante est en cours de normalisation par l'organisme W3C (de référence : The Web Sockets API ; W3C Working Drag. Le protocole Websocket améliore considérablement la communication entre le serveur et le client, mais impose au client de maintenir une session de communication, et donc la liaison internet active, afin de pouvoir communiquer à tout moment avec le serveur. Le maintien de cette liaison peut être inutilement coûteux. En effet, un terminal consomme de l'énergie lorsque sa liaison Internet est activée et que des données sont échangées. Il est possible, sur certains terminaux, notamment des appareils mobiles (par exemple des smartphones, tablettes informatique, etc.), de couper, ou déconnecter la liaison Internet, lorsqu'il n'est pas nécessaire de l'utiliser. La déconnexion de la liaison Internet permet de diminuer la consommation d'énergie du terminal mais interdit toute communication. Pour réduire la consommation d'énergie d'un terminal apte à communiquer via le protocole Websocket, il est également possible d'arrêter seulement les communications websocket, afin de ne plus recevoir ou émettre des données de ce type. Mais le terminal, dans ce cas, perd la session en cours et doit établir une nouvelle session s'il souhaite communiquer avec le serveur par la suite. L'invention offre une solution ne présentant pas les inconvénients de l'état de la technique. L'invention A cet effet, selon un aspect fonctionnel, l'invention a pour objet un procédé de gestion d'une session de communication entre un terminal apte à échanger des messages applicatifs avec au moins un serveur via la session de communication, ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : Etablissement de la session de communication pour échanger des messages applicatifs entre le terminal et le serveur ; Initialisation d'une période de temps ; Détection d'un message applicatif relatif à la session de communication ; Fermeture de la session de communication à l'issue de cette période de temps, si aucun message n'a été détecté. Ainsi, l'invention permet une gestion intelligente de la consommation du terminal. Une période d'inactivité trop longue sur la session de communication établie entre le terminal et le serveur se solde par la fermeture de la session par le procédé de l'invention. La session étant refermée, le terminal consomme moins d'énergie, ce qui s'avère particulièrement avantageux dans le cas de terminaux mobiles (de type smartphone, tablette informatique, etc.) pour lesquels la diminution de consommation électrique est importante. Selon un mode de mise en oeuvre particulier, l'invention est en outre caractérisée en ce que l'étape d'établissement de la session de communication comporte une sous-étape de réception d'une indication de la méthode de réveil à utiliser. L'invention permet ainsi d'indiquer une méthode de réveil pour le terminal à l'initialisation de la session, ce qui est particulièrement avantageux si plusieurs méthodes de réveil existent et que l'utilisateur du terminal, ou le terminal lui-même, souhaitent en privilégier une par rapport aux autres. Par réveil, on entend ici une remise en état du terminal de manière à ce qu'il puisse de nouveau communiquer sur une session telle que définie précédemment lorsque la session sera rétablie. Selon un autre mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec le précédent, le procédé est caractérisé en ce que l'étape de fermeture est suivie : - d'une seconde étape de détection d'au moins un message applicatif relatif à la session de communication ; - d'une étape de demande de rétablissement de la session de communication si un message applicatif est détecté pendant la seconde étape de détection. Ainsi, l'invention permet de rétablir le canal de communication qui a été déconnecté dès qu'un message est reçu pour cette session de communication. Par rétablissement, on entend ici un nouvel établissement d'une nouvelle session entre le même terminal et le même serveur pour échanger le même type de messages (on pourrait aussi parler de reprise de la session). En détectant les messages relatifs à la session de communication entre le terminal et le serveur, le procédé de l'invention agit en quelque sorte comme un proxy, selon la terminologie anglo-saxonne. Le proxy se positionne en espion sur la session et demande son rétablissement entre le terminal et le serveur dès qu'il détecte un message destiné au terminal. Ainsi, les messages peuvent être de nouveau échangés entre le terminal et le serveur, comme si le canal de communication n'avait jamais été déconnecté, ou fermé, etc. Selon une variante de ce mode de réalisation, l'invention comporte en outre une étape de retransmission vers le terminal du message détecté sur la session de communication. Ainsi, l'invention permet de retransmettre un message qui a été préalablement émis vers le terminal alors que la session était refermée, afin qu'il ne soit pas perdu pour le terminal. La communication est donc transparente entre le serveur et le terminal. Notamment, Les applications websocket sont extrêmement consommatrices d'énergie pour un terminal disposant de peu d'autonomie, comme par exemple un smartphone ou une tablette. L'invention permet de le déconnecter dès qu'il n'y a plus d'activité sur le canal qui le relie à l'internet (Zigbee, Wifi, etc.) tout en assurant la reprise de la communication dès qu'elle sera de nouveau souhaitée. Selon une autre variante de ce mode de réalisation, qui pourra être mise en oeuvre alternativement ou cumulativement avec la précédente, l'invention est en outre caractérisée en ce que l'étape de rétablissement de la session de communication est suivie d'une étape de réception d'un message comportant l'indication d'une méthode de réveil à utiliser. L'invention permet ainsi de préciser la méthode de réveil à utiliser pour le terminal en cours de session, ce qui permet, lorsque plusieurs méthodes de réveil sont possibles, de réveiller le terminal avec la méthode de réveil la plus appropriée, en fonction du réseau, environnement, etc., dans lesquels il se trouve. Selon une autre variante de ce mode de réalisation, l'invention est en outre caractérisée en ce que l'étape de rétablissement de la session de communication est suivie : - d'une étape de réception d'une proposition de prise en charge des messages applicatifs par un autre module proxy; - d'une étape d'acceptation de la prise en charge des messages applicatifs. L'invention permet ainsi notamment de gérer la session de communication lorsque le terminal change de réseau, pour passer par exemple d'un réseau local à un réseau mobile et doit subséquemment être pris en charge par un autre module proxy agissant pour le compte d'un autre réseau (par exemple le réseau mobile). Selon un autre aspect fonctionnel, l'invention a pour objet procédé de basculement d'une première session à une seconde session de communication entre un terminal et un serveur, la première session de communication étant établie par le procédé de gestion d'une session de communication décrit ci-dessus, par l'exécution d'un premier module proxy, la seconde session de communication étant à établir par un second module proxy, ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - réception d'une requête pour modifier la première session de communication, ladite requête comportant au moins un identifiant du premier proxy et un identifiant de la première session ; - émission par le second proxy d'un message de proposition de prise en charge de la première session; - attribution d'un numéro de session à la seconde session ; - établissement de la seconde session par le second proxy. Ce procédé de basculement permet de garder les avantages du procédé de gestion d'une session de communication précitée tout en assurant que le terminal, par exemple mobile, peut changer de réseau sans perdre la session de communication, par exemple wensocket, qu'il a établie avec le serveur. Un second module proxy est prévu à cet effet pour prendre le relai du premier, par exemple sur un réseau différent, ou dans des conditions différentes de réveil, consommation, etc., du terminal. Selon un mode de mise en oeuvre particulier de l'invention, le procédé de basculement est en outre caractérisé en ce que les messages applicatifs du serveur sont reçus par le premier module proxy et retransmis au second module proxy. Ainsi, lorsque le terminal n'est pas accessible, l'invention permet de retransmettre les messages applicatifs en provenance du serveur depuis le premier module proxy vers un second module proxy apte à communiquer avec le terminal, notamment si celui-ci a changé de réseau et n'est plus accessible depuis le premier module proxy. Selon un autre aspect fonctionnel, l'invention a pour objet un procédé de communication d'un terminal apte à échanger des messages applicatifs avec au moins un serveur via une session de communication, ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - Envoi d'un message d'ouverture de session de communication ; - réception d'un identifiant de session pour la session de communication ; - fermeture de la session ; - réception d'une demande de rétablissement de la session ; - envoi d'un message de rétablissement de la session de communication comportant l'identifiant de la session. L'invention permet ainsi de suspendre une session de communication d'un terminal. Par exemple, les applications websocket sont extrêmement consommatrices d'énergie pour un terminal disposant de peu d'autonomie tels un smartphone ou une tablette. L'invention permet de le déconnecter de la session dès qu'il n'y a plus d'activité sur cette session (Zigbee, Wifi, etc.) tout en assurant la reprise de la communication dès qu'elle sera de nouveau souhaitée. Notamment, un terminal qui souhaite établir une session de communication de type websocket en consommant peu d'énergie peut faire une requête différente de celle d'un terminal qui souhaite l'établissement d'une session « standard ». La précision, lors de la phase de négociation de la demande, du souhait d'une session optimisée, via par exemple un paramètre spécifique, permet la fermeture ultérieure, suivie d'une réouverture, ou rétablissement, de la session websocket, de manière transparente pour le serveur et quasi-transparente pour le terminal puisqu'il lui suffit de rajouter un paramètre à la commande existante de la phase de négociation de websocket, puis de mémoriser le numéro de session qui sera utilisé ultérieurement pour la réouverture. Selon un aspect matériel, l'invention concerne également un dispositif de gestion d'une session de communication entre un terminal apte à échanger des messages applicatifs avec au moins un serveur via la session de communication, ledit dispositif étant caractérisé en ce qu'il comporte : un module d'établissement de la session de communication pour échanger des messages applicatifs entre le terminal et le serveur ; un module d'initialisation d'une période de temps ; un module de détection d'un message applicatif relatif à la session de communication ; un module de fermeture de la session de communication à l'issue de cette période de temps, si aucun message n'a été détecté. Selon un autre aspect matériel, l'invention concerne également un dispositif de basculement d'une première session à une seconde session de communication entre un terminal et un serveur, la première session de communication étant établie par le dispositif de gestion d'une session de communication décrit ci-dessus par un premier dispositif module proxy, la seconde session de communication étant à établir par un second dispositif module proxy, ledit second dispositif étant caractérisé en ce qu'il comporte les modules suivantes : un module de réception d'une requête pour modifier la première session de communication, ladite requête comportant au moins un identifiant du premier module proxy et un identifiant de la première session ; un module d'émission par le second proxy d'un message proposition de prise en charge de la session ; un module d'attribution d'un numéro de session à la seconde session ; un module d'établissement de la seconde session par le second proxy. Selon un autre aspect matériel, l'invention concerne également une passerelle domestique comportant un dispositif de gestion et/ou un dispositif de basculement de session tel que décrits ci-dessus. Selon encore un autre aspect matériel, l'invention concerne également un terminal apte à échanger des messages applicatifs avec au moins un serveur via une session de communication, ledit terminal comportant : - un module apte à émettre un message d'ouverture de session de communication ; - un module de réception d'un identifiant de session pour la session de communication; - un module de fermeture de la session ; - un module de réception d'une demande de rétablissement de la session - un module d'envoi d'un message de rétablissement de la session de communication comportant l'identifiant de la session. Selon un autre aspect matériel, l'invention concerne aussi un système comportant un terminal et une passerelle domestique tels que décrits ci-dessus. Selon un autre aspect matériel, l'invention concerne encore un programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que décrit ci-dessus, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé de gestion d'une session de communication défini au-dessus. Selon un autre aspect matériel, l'invention concerne encore un programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que décrit ci-dessus, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé de basculement de session définie au-dessus. Ces programmes peuvent être mis en oeuvre dans le dispositif inséré dans un équipement quelconque du réseau local, en particulier dans la passerelle résidentielle définie ci-dessus. Selon encore un autre aspect matériel, l'invention a trait à un support d'enregistrement lisible par un processeur de données sur lequel est enregistré un programme comprenant des instructions de code de programme pour l'exécution des étapes de l'un quelconque des procédés définis ci-dessus. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Les figures: La figure 1 représente le contexte général d'une mise en oeuvre de l'invention. La figure 2 représente une architecture d'une passerelle domestique implémentant un mode de réalisation de l'invention. La figure 3 représente un chronogramme des échanges entre les différents équipements lors d'une mise en oeuvre de l'invention. La figure 4 représente le contexte général d'une variante de mise en oeuvre de l'invention La figure 5 représente un chronogramme des échanges entre les différents équipements du réseau selon une variante de mise en oeuvre de l'invention. La figure 6 représente un chronogramme des échanges entre les différents équipements du réseau local selon une autre variante de mise en oeuvre de l'invention. La figure 7 représente un chronogramme des échanges entre les différents équipements du réseau local selon une autre variante de mise en oeuvre de l'invention. Description détaillée d'un exemple de réalisation illustrant l'invention La figure 1 représente le contexte général d'une mise en oeuvre de l'invention. Un serveur d'applications (3) est connecté au réseau Internet (5). La communication entre le serveur (3) et un terminal client (1) s'effectue via le réseau Internet au moyen du protocole HTTP. Des pages Web sont par exemple présentées au terminal client au format HTML, format de données conçu pour représenter de telles pages. Le terminal client (1) dispose d'un client Web ; une page applicative est typiquement présentée sur le terminal (1) au moyen d'un navigateur Web. Le serveur (3) offre des applications de type Web nécessitant un transfert de données entre le serveur et un terminal en mode bidirectionnel, par exemple une application de consultation météorologique, ou de messagerie instantanée, dont les pages sont destinées à être présentées sur le terminal au moyen d'un tel navigateur. Le serveur envoie régulièrement des données vers le terminal, par exemple des notifications lors de l'arrivée de nouveaux messages. Le terminal client (1) est dans cet exemple un téléphone mobile auquel sont associées des fonctions informatiques et de navigation Internet, en anglais smartphone, apte à communiquer avec le serveur, mais pourrait être également un ordinateur portable, une tablette informatique, etc. Dans la suite, on entend par terminal client, ou plus simplement terminal, tout dispositif apte à se connecter à un serveur Web (3) via un canal de communication et à communiquer avec ce serveur en mode duplex, aussi appelé bidirectionnel, c'est-à-dire qui autorise l'échange de messages applicatifs dans les deux sens. Comme introduit préalablement, le protocole websocketdéfinit un mécanisme de communication bidirectionnelle entre un client et un serveur sur le Web. Dans le mode de réalisation choisi, les messages sont de type websocket et sont échangés au cours d'une session de communication websocket, plus simplement appelée session websocketet abrégée en SS_WS sur la figure 1 et la figure 3. Le terminal client (1) se trouve dans un réseau (6), par exemple un réseau mobile. Plus largement, le réseau (6) pourrait être de n'importe quel type (cellulaire, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc) sans sortir du cadre de l'invention, du moment que le terminal (1) est apte à communiquer avec le serveur (3) via un protocole bidirectionnel, notamment websocket. Selon un autre exemple de réalisation, le terminal (1) pourrait également être connecté directement au réseau Internet (5) en mode filaire. Un serveur (4) est également connecté à l'Internet. Ce serveur émet des données vers les terminaux (1) du réseau mobile (6) ; ce serveur, parfois appelé serveur de notifications, est par exemple un serveur de notifications de messages de type Zigbee, ou encore de type SMSC (sigle pour Short Message Service Center), c'est-à-dire qu'il permet dans ce dernier cas de gérer le transfert de messages SMS (en mode texte ou binaire) vers les téléphones mobiles, via un lien (9) établi entre le serveur et le réseau mobile. Ce serveur stocke le message puis le transmet au destinataire lorsque celui-ci est présent sur le réseau (mobile allumé). Dans cet exemple de réalisation, c'est notamment le serveur (4) qui est capable de mettre le terminal (1) en veille afin de désactiver certaines de ses fonctions pour consommer moins d'énergie. L'invention permet une gestion économique de la session websocket établie entre le client et le serveur par l'introduction d'un équipement, ou module (2), que l'on appelle « Proxy Web » (en abrégé, PW) et qui va pouvoir se substituer au terminal (1) lorsque la session websocket est désactivée et que le terminal devient de ce fait incapable de répondre aux messages websocket en provenance du serveur (3). Le module Proxy propose en quelque sorte un canal de communication alternatif (représenté en pointillés sur la figure) à même d'intercepter les messages de la session websocket SS_WS et donc, dans ce contexte, de se substituer au terminal. On va maintenant décrire l'invention plus en détails à l'appui des figures 2 et 3. La figure 2 représente l'architecture d'un équipement qui implémente un mode de réalisation de l'invention. Le module proxy (2) peut être situé sur n'importe quel équipement connecté à l'Internet, par exemple selon ce mode de réalisation dans une passerelle domestique (10), un équipement qui permet d'assurer la redirection, ou routage, des paquets de données entre les différents terminaux et réseaux qui lui sont connectés. La passerelle (10) comprend, classiquement, des mémoires (M) associées à un processeur (CPU). Les mémoires peuvent être de type ROM (de l'anglais Read Only Memory) ou RAM (de l'anglais Random Access Memory) ou encore Flash. Une partie de la mémoire M contient notamment, selon l'invention, la partie logicielle du dispositif de l'invention qui est mise en oeuvre au moyens de modules logiciels et/ou matériels. Le terme module utilisé dans la présente description peut donc correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous- programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). La passerelle 10 comporte encore un certain nombre de modules qui lui permettent de communiquer avec l'extérieur via différents protocoles sur différents liens physiques ; sur la figure 2, on a ainsi schématisé un module Ethernet permettant des communications filaires avec le réseau internet, un module Wifi et un module Zigbee pour les communications sans fils. La figure 3 représente les échanges entre le terminal client (1), le module proxy (2) selon l'invention, qui peut se trouver ou non sur la passerelle domestique, le serveur (3) et le serveur mobile (4). Les étapes El à E6 décrites ci-dessous s'exécutent dans cet exemple sur le module proxy (2). L'invention peut s'appliquer à tout type de réseau terminal et aussi tout type de liaison entre le terminal et le réseau Internet : le lien physique (C1) entre le terminal 3 et le réseau Internet peut être de type filaire (Ethernet) ou sans fils (Wifi, 3G, 4G, Zigbee). Le réseau hébergeant le terminal peut être un réseau local ou un réseau mobile, ou encore un support radio pour une communication selon le protocole Zigbee (une technologie sans fils radio de basse puissance qui permet d'échanger sur un canal radio des messages conformes au protocole ZigBee basé sur la norme IEEE 802.15.4). Dans le contexte de ce mode de réalisation, il est supposé que le protocole applicatif utilisé pour la communication entre le serveur et le terminal est de type websocket. Néanmoins, l'invention n'est pas restreinte aux websocket et pourrait s'appliquer au contexte de toute autre session de communication bidirectionnelle entre un serveur et un client. Pour établir une session, ou connexion, websocket, une négociation préalable par échange de messages HTTP est classiquement réalisée entre le client (1) et le serveur (3). Cette négociation, aussi appelée HandShake selon la terminologie anglo-saxonne, (HS en abrégé), permet l'établissement d'une session de communication (SS_WS) pour l'échange de messages applicatifs conformément au protocole websocket, entre un client et un serveur du réseau. Les données peuvent subséquemment être envoyées et reçues par les deux points de terminaison que sont dans cet exemple de réalisation le smartphone (1) et le serveur (3) à l'aide du protocole websocket jusqu'à ce que la connexion, ou session, websocket soit fermée. L'invention permet d'établir une telle session de manière optimisée, c'est-à-dire en permettant au terminal mobile d'être déconnecté de la session établie tout en ayant la possibilité de la retrouver plus tard. Dans ce mode de réalisation de l'invention, comme représenté à la figure 3, le module proxy (2) reçoit les messages de cette phase initiale. Notamment, lors d'une étape E10, le terminal mobile (1) initie le handshake en ajoutant au message standard défini par la norme un paramètre supplémentaire qui indique au module proxy une demande de session websocket optimisée (WSO pour WebSocket Optimisé). Alternativement, ce paramètre peut prendre la forme d'une commande, requête, etc, selon le mode d'implémentation retenu. Ainsi, seuls les terminaux qui ont besoin de désactiver la session, par exemple dans un but d'économie d'énergie (smartphones, etc.), peuvent demander ce mode optimisé, alors que les autres terminaux (ordinateurs, etc.) établissent une session standard. Par exemple, le champ Web-Socket-Extensions (conforme à la spécification RFC 6455 précitée) peut être utilisé pour transmettre cette information. Lors d'un échange de handshake, par exemple : 1. le client envoie une trame correspondant au message HS_WS(WSO) ou message HS_WS(WSO, NUM) de la figure 3 : GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ- Origin: http://example.com Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13 Puis, selon que le client dispose (HS_WS(WSO)) ou non (HS_WS(WSO, NUM)) du numéro de session reçue au préalable : Sec-WebSocket-Extensions: websocket-lowpower ou Sec-WebSocket-Extensions: websocket-lowpower ; sessionid=NUM On peut également, selon des variantes, ajouter un certain nombre de paramètres, comme par exemple une valeur de compteur de temps, correspondant au temps à respecter avant détection d'inactivité, comme il sera discuté par la suite. 2. Le serveur, quant à lui, signifie son accord au proxy (SS_OK) qui répond au client par le message (correspondant au message SS_OK(NUM) dans la figure 3) : HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+x0o= Sec-WebSocket-Extensions: websocket-lowpower ; sessionid =moor Le module proxy (2) reçoit ce message au cours d'une étape El de gestion de l'établissement de la session de communication. Puis, au cours de cette étape El, le module proxy retransmet le message de Handshake (HS_WS) au serveur Web auquel il était initialement destiné, reçoit la confirmation du serveur (SS_OK) si celui-ci autorise la session, c'est-à-dire si toutes les conditions sont réunies pour qu'il accepte une session websocket avec le terminal (1), et retransmet au terminal (1) l'acquittement de la connexion (SS_OK). Un numéro de session (NUM) est également transmis au terminal (1). Il s'agit d'un identifiant unique géré par le module proxy lui permettant de faire le lien entre terminal et serveur. A cet effet, le module proxy maintient par exemple une table comportant, pour chaque numéro de session, l'adresse du terminal et l'adresse correspondante du serveur. Lors d'une étape E2, le module proxy initialise une période de temps (T), par exemple cinq minutes. Selon une variante évoquée ci-dessus, ce paramètre pourrait être retransmis par Sec-WebSocket-Extensions, permettant au client de spécifier la durée d'attente avant détection d'inactivité. Si, à l'issue de cette période de temps, aucun message n'a été détecté en provenance du serveur sur la session websocket (SS_WS), la session de communication est déclarée inactive et le module proxy transmet, au cours d'une étape E3, une commande de fin de session websocket au terminal (message : END_SS_WS). Ce type de message est normalisé par exemple dans la RFC 6455. A partir de ce moment, la session websocket (SS_WS) est refermée. Le lien physique correspondant (radio, mobile, etc.) peut être ou non déconnecté, pour assurer une consommation énergétique mois élevée du terminal. Cette possibilité est offerte par la fermeture de session selon l'invention, mais reste en dehors de l'invention. Lors d'une étape E4 suivant la fermeture, le module proxy prend en charge la session websocket (SS_WS), notamment par une écoute (LST) des messages applicatifs échangés sur cette session : tant qu'aucun message n'est détecté, le module proxy écoute (LST) et la session reste fermée. Lorsqu'un message d'information websocket (MSG_WS) en provenance du serveur est détecté, le module proxy nvoie vers le serveur mobile (4) un message pour lui demander le réveil de la session (SS_WS) et sort de l'étape E4. Le serveur mobile réveille la session, par exemple en utilisant un message SMS binaire (SMS : WK_UP) lui intimant de réactiver, ou rétablir, la session websocket, avec en paramètre le numéro de la session websocket(NUM) qui a été interrompue préalablement. Le but de cette étape est de transmettre au terminal une information de reconnexion websocket au terminal par un moyen (SMS, Zigbee, etc.) si possible peu consommateur d'énergie, afin de conserver le bénéfice de la période d'inactivité. Le message est reçu par le terminal lors d'une étape E13. Lors d'une étape E14 suivant le réveil de la session, une nouvelle phase de négociation, ou handshake, est initiée par le téléphone mobile. Cette phase est très similaire à celle de l'étape E10 : le terminal mobile (1) initie le handshake websocket en ajoutant au message standard défini par la norme un paramètre supplémentaire pour demander une session websocket Optimisée (WSO) et rappelle de plus, à la différence de l'étape E10, le numéro de session (NUM) dans son message (HS_WS (WSO, NUM)). Le module proxy (2) reçoit ce message au cours d'une étape E5 de gestion du rétablissement, ou établissement ultérieur, de la session de communication et transmet au terminal l'acquittement de la connexion (SS_OK) avec le numéro de session (NUM). La session étant rétablie, il reste au module proxy à retransmettre le message websocketreçu préalablement du serveur (MSG_WS) vers le terminal, au cours d'une étape E6. Ainsi, vu du serveur, tout s'est passé comme si la session ne s'était pas interrompue. Il en va de même pour le terminal, à condition de demander le mode de session optimisé offert par l'invention. Pour le terminal, le procédé est particulièrement avantageux puisqu'il permet de fermer la session pendant les périodes d'inactivité, la fermeture de la session pouvant être suivie, selon des modes de mise en oeuvre particuliers, par des fermetures et/ou déconnexions du lien physique qui la porte (par exemple, déconnexion du canal radio ou du lien Ethernet Cl, désactivation des modules Ethernet, Wifi, Zigbee, du terminal, etc). Ce mode de mise en oeuvre ne permet cependant pas de résoudre la perte de connexion lors d'un changement de réseau, par exemple dans un contexte (smartphone) où le terminal (1) de la figure 1 se trouverait amené à communiquer sur deux réseaux distincts, par exemple le réseau local qui a pour passerelle domestique la passerelle (10) et le réseau mobile (6) (selon d'autres exemples, on peut envisager le passage d'un réseau Wifi à un réseau mobile 3G, d'un réseau Wifi local à un réseau Wifi communautaire, etc.) L'invention propose de remédier à ce problème par l'introduction d'un nouveau module proxy Websocket (20), comme représenté sur la figure 4, appelé dans la suite « module Proxy Websocket 2» ou de manière plus concise « second module proxy ». L'introduction de ce second module proxy permet une déconnexion du terminal (1) d'un premier réseau (ici, le réseau local derrière la passerelle domestique) et la reprise de la connexion lorsque nécessaire sur un second réseau, ici le réseau mobile (6). Le second module proxy propose en quelque sorte un second canal de communication alternatif (représenté en pointillés discontinus sur la figure) à même d'intercepter les messages de la session websocket SS_WS et donc, dans ce contexte, de se substituer au terminal en coopération avec le module proxy (2). Les deux modules proxy doivent être capables de dialoguer entre eux. Ainsi, comme il va être détaillé maintenant à l'appui des figures 5 à 7, il devient aisément possible de changer de type de réseau sans perdre la session et tout en limitant l'activité, et donc la consommation, du terminal. La figure 5 représente un chronogramme des échanges entre les différents équipements du réseau local selon une variante de mise en oeuvre de l'invention. Selon cette variante, l'équipement terminal (1) (sma rtphone par exemple) est susceptible de changer de réseau (passage du réseau local de la passerelle (10) au réseau mobile (6). Dans ce contexte, l'invention propose de changer de module proxy websocket optimisé. Lors d'un premier ensemble d'étapes, noté de manière compacte SS_WS (WSO, N1) en référence à l'établissement d'une session optimisée ayant pour numéro N1 entre le terminal (1) de l'invention et le serveur (3), les étapes de la figure 3 préalablement décrites sont mises en oeuvre. Pour rappel : - le module proxy (2) reçoit les messages de la phase initiale de handshake (HS) grâce à l'ajout dans le message standard défini par la norme d'un paramètre (WSO) qui indique au module proxy une demande de session websocket optimisée, retransmet le message de Handshake (HS_WS) au serveur Web auquel il était initialement destiné, reçoit la confirmation du serveur (SS_OK) si celui-ci autorise la session, et retransmet au terminal (1) l'acquittement de la connexion (SS_OK) avec un numéro de session (N1) ; - le module proxy initialise une période de temps (T), ferme la session websocket (SS_WS), puis prend en charge les messages échangés sur la session websocket (SS_WS) : tant qu'aucun message n'est détecté, le module proxy écoute (LST) et la session reste fermée ; lorsqu'un message d'information websocket (MSG_WS) en provenance du serveur est détecté, le procédé envoie vers le serveur mobile (4) un message pour lui demander le réveil de la session ; - une nouvelle phase de négociation, ou handshake, est initiée par le terminal en rappelant le numéro de session (NUM) dans son message. - La session étant rétablie, il reste au module proxy à retransmettre les messages websocket reçus préalablement du serveur (MSG_WS) vers le terminal (1). On suppose donc ici que ces étapes ont abouti à une session de communication N1 optimisée entre le terminal et le serveur Websocket, symbolisée par la double flèche SS_WS(WSO, N1). Le terminal (1) qui souhaite changer de réseau peut désormais maintenir sa session tout en sollicitant un autre module proxy. Lors d'une étape E20, dans notre exemple, le terminal mobile transmet vers le second module proxy (20) un message de handshake qui comporte, comme précédemment, un paramètre WSO de demande de session optimisée, ansi que le numéro de la session (N1) et un identifiant du premier module proxy (@P1). Ce message (HS WS (WSO, Ni, @PV)est reçu par le second module proxy (P2) lors d'une étape E30. Dans ce contexte, le message de handshake peut par exemple prendre la forme suivante pour transmettre les informations du proxy précédent. Sec-WebSocket-Extensions:websocket-lowpower ; sessionid =mooc; oldproxy=@ip Lors de l'étape E31 qui la suit, selon cet exemple, le second module proxy (20) émet vers le premier (2) une demande de prise en charge (CH(P1, P2, N1)) de la session N1. Dans cet exemple le numéro de session est passé en paramètre de la commande (N1) car il peut y avoir plusieurs sessions websocketactives au même moment. Le premier module proxy (2) répond lors d'un message E40, par un message d'acquittement (ACK) s'il est d'accord. Sinon, à l'issue d'un période de temps donnée (time-out, la session n'est pas acceptée. Puis lors d'une étape E32, le second module proxy (20) retransmet au terminal (1) l'acquittement de la connexion (SS_OK). Un numéro de session (N2) est également transmis au terminal (1). Il s'agit d'un identifiant unique généré par le module proxy lui permettant de faire le lien entre terminal et serveur. On notera que ce numéro peut être identique au précédent (N1) ou différent. A partir de ce moment, la session websocket (SS_WS) est refermée. Lors d'une étape E'4 similaire à l'étape E4 de la figure 3, le module proxy prend en charge la session websocket (SS_WS), notamment par une écoute (LST) des messages applicatifs échangés sur cette session : tant qu'aucun message n'est détecté, le module proxy écoute (LST) et la session reste fermée. Lorsqu'un message d'information websocket (MSG_WS) en provenance du serveur est détecté, le premier module proxy (1) le retransmet vers le second module proxy qui demande le réveil de la session mobile au serveur mobile (4, non représenté), notamment si la méthode de réveil demandée requiert la présence d'un tel serveur mobile, qui procède au réveil du terminal, par exemple en utilisant un message SMS binaire. Le message applicatif (MSG_WS) est reçu par le terminal lors d'une étape E22. Il en ira de même pour les suivants, la session (notée 55 WS(WSO, N2)) étant désormais ouverte. Selon une ou plusieurs variantes, un dispositif quelconque peut être chargé de l'une ou de plusieurs étapes de cette variante de réalisation en lieu et place du module proxy (20): - réception du message de Handshake (E30) - émission vers le proxy (2) de la demande de prise en charge - Retransmission de l'acquittement de session (E32) - réception et retransmission d'un message (E33) La figure 6 illustre la mise en oeuvre d'une seconde variante du mode de réalisation. Dans cette variante, le serveur websocket (3) est capable d'accepter un nouveau type de message pour le changement de client proxy websocket. Ceci permet de libérer complètement le premier module proxy (2). On suppose ici, comme précédemment à l'appui de la figure 5, que les premières étapes ont abouti à une session de communication N1 optimisée entre le terminal et le serveur Websocket, symbolisée par la double flèche SS_WS(WSO, N1). Lors d'une étape E20, identique à celle de la figure 5, le terminal mobile transmet vers 20 le second module proxy P2 un message de handshake(HS WS(WSO, Ni, @P1)), reçu lors d'une étape E30 par le second module proxy (20), par exemple celui du réseau mobile. Lors de l'étape E'31 qui suit, le second module proxy (20) émet vers le serveur (3) une demande de changement de session. Cette demande de changement est symbolisée par le message MV(P1,P2,N1) qui indique une demande de basculement d'un proxy P1 (par exemple le 25 premier module proxy (2)) vers un proxy P2 (par exemple le module proxy (20)) pour la session N1. On notera que ce message est un peu différent de celui de l'étape E31 précédente : il s'agit ici de déplacer la session depuis le premier module proxy vers le second, et non plus seulement de prendre le relai en retransmettant les messages applicatifs. Dans notre exemple, le serveur (3) répond lors d'une étape E50 par un message d'acquittement (ACK). 30 Puis lors d'une étape E32, le module proxy 2 retransmet au terminal (1) l'acquittement de la connexion (SS_OK) avec le numéro de la nouvelle session (N3). Lors d'une nouvelle étape E51, le serveur (3) informe via un nouveau message MV(P1, P2, N1) le premier module proxy que le second module proxy va gérer la prise en compte du changement de client (de P1 vers P2). Ce message, reçu par le premier module proxy lors d'une étape E41, peut être géré par exemple via l'utilisation d'un champ (« opcode ») spécifique d'un message de type websocket laissé libre pour de nouvelles applications. L'homme du métier pourra se référer à la RFC 6455 de l'IETF (« The WebSocket Protocol «, section 5, « data framing ») accessible par exemple à l'adresse http://tools.ietf.ora/html/rfc6455#pacie-27, incorporée par référence. Dans notre exemple, la prise en compte effective du changement se traduit par l'envoi d'un message d'acquittement du premier module proxy (2) vers le serveur d'une part au cours de l'étape E41 et du serveur (3) vers le second module proxy (20) d'autre part (ACK) au cours d'une étape E52. A partir de ce moment, la session websocket (SS_WS) est refermée. Lors d'une étape E"4 similaire à l'étape E4 de la figure 3 et à l'étape E'4 de la figure 5, le second module proxy (20) prend en charge la session websocket (SS_WS), notamment par une écoute (LST) des messages applicatifs échangés sur cette session : tant qu'aucun message n'est détecté, le module proxy écoute (LST) et la session reste fermée. Lorsqu'un message d'information websocket (MSG_WS) en provenance du serveur (3) est détecté, le module proxy 2 le retransmet vers le client puis demande le réveil de la session mobile au serveur mobile (4) non représenté, qui procède au réveil du terminal par exemple en utilisant un message SMS binaire. La figure 7 représente un chronogramme des échanges entre les différents équipements du réseau local selon une autre variante de mise en oeuvre de l'invention. Cette variante permet notamment d'initialiser, puis d'indiquer un changement de méthode de notification de réveil pour le terminal (1). On peut en effet envisager plusieurs méthodes de notifications (message SMS, message de la norme « UPnP Low Power », message ZigBee, message Bluetooth 4.0, etc.) pour le réveil d'un même terminal à partir de différents serveurs (serveur SMSC pour un réveil de type SMS, serveur UPnP sur une passerelle domestique, etc.) Dans cette variante, une méthode de réveil souhaitée est précisée en paramètre lors du handshake initial entre le terminal et le module proxy (2) (paramètre METH1 du message 30 HS_WS). Le terminal notifie au module proxy une méthode de réveil spécifique parmi plusieurs possibles. Par exemple, le terminal est une tablette électronique qui ne supporte pas le réveil par SMS. Dans ce contexte, le message de handshake peut par exemple prendre la forme suivante pour transmettre les informations de réveil, dans cet exemple un mode de réveil à base de SMS : Sec-WebSocket-Extensions:websocket-lowpower ; sessionid =mooc; wakeup=sms://699999999 On suppose alors, comme précédemment à l'appui des figures 3, 5 et 6, que les premières étapes ont abouti à une session de communication N1 optimisée entre le terminal et le serveur Websocket, symbolisée par la double flèche SS_WS(WSO, N1), et que le terminal peut être réveillé par la méthode METH1 (SMS binaire). Lors d'une nouvelle étape E23, le terminal mobile transmet vers le module proxy (2) un message de notification d'une nouvelle méthode de réveil (WK_UP (METH)). Ce message est reçu par le module proxy lors d'une étape E60. Ce message peut être géré par exemple via l'utilisation d'un champ (« opcode ») spécifique d'un message websocket laissé libre pour de nouvelles applications, comme proposé auparavant. Ce changement de méthode de réveil est particulièrement intéressant lorsque le terminal change de module proxy et que ce nouveau module proxy ne supporte pas l'ancienne méthode de réveil. Par exemple, la nouvelle méthode de réveil souhaitée peut être conforme à la norme « UPnP Low Power » dans le contexte du basculement du terminal (1) sur un réseau local. Lors des étapes E12 (terminal) et E2, E3, E4 identiques à celles décrites précédemment à l'appui de la figure 3, le module proxy (2) suspend la session websocketà l'issue d'un temps T écoulé sans message sur la session, puis à l'arrivée d'un nouveau message applicatif (MSG_WS) émet vers le serveur UPnP de la passerelle 4bis une demande de réveil conformément à la méthode qui a été choisie (message UPnP). Lors de l'étape E13 qui la suit, le terminal reçoit un message de réveil conforme à la méthode choisie. La session peut être rétablie, comme précédemment. Il va de soi que le mode de réalisation qui a été décrit ci-dessus a été donné à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention. Notamment, l'invention peut aussi compléter un dispositif de mise en veille du terminal et permettre un réveil de celui-ci lorsque seulement des informations du serveur lui sont transmises.35 REVENDICATIONS1. Procédé de gestion d'une session de communication (SS_WS) entre un terminal (1) apte à échanger des messages applicatifs (MSG_WS) avec au moins un serveur (3) via la session de communication (SS_WS), ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : établissement (El) de la session de communication (SS_WS) pour échanger des messages applicatifs entre le terminal (1) et le serveur (3) ; initialisation (E2) d'une période de temps (T) ; détection (E2) d'un message applicatif (MSG_WS) relatif à la session de communication (SS_WS) ; fermeture (E3) de la session de communication (SS_WS) à l'issue de cette période de temps (T), si aucun message n'a été détecté. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape d'établissement (El) de la session de communication (SS_WS) comporte une sous-étape de réception d'une indication de la méthode de réveil (METH1) à utiliser. 3. Procédé selon la revendication 1, caractérisé en ce que l'étape de fermeture (E3) est suivie : d'une seconde étape de détection (E4, LST) d'au moins un message applicatif (MSG_WS) relatif à la session de communication ; d'une étape de demande de rétablissement (E4, REQ_WK-UP) de la session de communication (SS_WS) si un message applicatif (MSG_WS) est détecté pendant la seconde étape de détection. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre une étape de retransmission (E6) vers le terminal (3) du message (MSG_WS) détecté sur la session de communication (SS_WS). 5. Procédé selon la revendication 3, caractérisé en ce que l'étape de rétablissement (E4, REQ_WK-UP) de la session de communication (SS_WS) (E3) est suivie d'une étape de réception (E60) d'un message (WK_UP(METH2)) comportant l'indication d'une méthode de réveil (METH2) à utiliser. 6. Procédé selon la revendication 3, caractérisé en ce que l'étape de rétablissement (E4) de la session de communication est suivie :- d'une étape de réception (E40, E41) d'une proposition de prise en charge des messages applicatifs par un autre module proxy; - d'une étape d'acceptation (E40, E41) de la prise en charge des messages applicatifs. 7. Procédé de basculement d'une première session (SS(WSO,N1) à une seconde session SS(WSO, N2)) de communication entre un terminal (1) et un serveur (3), la première session de communication (SS_WS(WSO, N1)) étant établie selon la revendication 1 par l'exécution d'un premier module proxy, la seconde session de communication (SS_WS(WSO, N2)) étant à établir par un second module proxy (20), ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : réception (E30) d'une requête (HS_WS (WSO, N1, @P1)) pour modifier la première session de communication (SS_WS(WSO, N1)), ladite requête comportant au moins un identifiant (@P1) du premier proxy (2, @P1) et un identifiant de la première session (N1) ; émission (E31, E'31) par le second proxy (20) d'un message de proposition de prise en charge (CH(P1,P2,N1), MV(P1,P2,N1)) de la première session ; attribution (E32) d'un numéro de session (N2, N3) à la seconde session ; établissement (E33) de la seconde session (SS_WS(WSO, N2)) par le second proxy. 8. Procédé de basculement selon la revendication 7, caractérisé en ce que les messages applicatifs (MSG_WS) du serveur sont reçus (E'4) par le premier module proxy (2) et retransmis au second module proxy (20). 9. Procédé de communication d'un terminal (1) apte à échanger des messages applicatifs avec au moins un serveur (3) via une session de communication (SS_WS), ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - envoi d'un message d'ouverture de session de communication (E10 - handshake) - réception (E11) d'un identifiant de session (NUM) pour la session de communication (SS_WS) ; - fermeture (E12) de la session (SS_WS) ; - réception (E13) d'une demande de rétablissement (WK_UP(NUM)) de la session ; - envoi d'un message (E14) de rétablissement de la session de communication (SS_WS) comportant l'identifiant (NUM) de la session. 10. Dispositif de gestion (2, PW) d'une session de communication (SS_WS) entre un terminal (1) apte à échanger des messages applicatifs (MSG_WS) avec au moins un serveur (3) via la session de communication (SS_WS), ledit dispositif étant caractérisé en ce qu'il comporte :un module d'établissement (El) de la session de communication (SS_WS) pour échanger des messages applicatifs entre le terminal (1) et le serveur (3) ; un module d'initialisation (E2) d'une période de temps (T) ; un module de détection (E2) d'un message applicatif (MSG_WS) relatif à la session de communication (SS_WS) ; un module de fermeture (E3) de la session de communication (SS_WS) à l'issue de cette période de temps (T), si aucun message n'a été détecté. 11. Dispositif de basculement d'une première session (SS(WSO,N1)) à une seconde session SS(WSO, N2)) de communication entre un terminal (1) et un serveur (3), la première session de communication (SS_WS(WSO, N1)) étant établie selon la revendication 10 par un premier dispositif module proxy, la seconde session de communication (SS_WS(WSO, N2)) étant à établir par un second dispositif module proxy (20), ledit second dispositif étant caractérisé en ce qu'il comporte les modules suivantes : un module de réception d'une requête pour modifier la première session de communication (SS_WS(WSO, N1)), ladite requête comportant au moins un identifiant (@P1) du premier proxy (2) et un identifiant de la première session (N1) ; un module d'émission (E31, E'31) par le second proxy (20) d'un message de proposition de prise en charge de la session (CH(P1,P2,N1), MV(P1,P2,N1)) ; un module d'attribution (E32) d'un numéro de session (N2, N3) à la seconde session ; un module d'établissement (E33) de la seconde session (SS_WS(WSO, N2)) par le second proxy. 12. Passerelle domestique (1) comportant un dispositif de gestion selon la revendication 10 et/ou un dispositif de basculement selon la revendication 11. 25 13. Terminal (1) apte à échanger des messages applicatifs avec au moins un serveur (3) via une session de communication (SS_WS), ledit terminal comportant : - un module apte à émettre un message d'ouverture de session de communication (E10 - handshake) ; 30 - un module de réception (E11) d'un identifiant de session (NUM) pour la session de communication (SS_WS) ; - un module de fermeture (E12) de la session (SS_WS) ; - un module de réception (E13) d'une demande de rétablissement de la session ; - un module d'envoi d'un message (E14) de rétablissement de la session de communication 35 (SS_WS) comportant l'identifiant (NUM) de la session. 14. Système comportant un terminal selon la revendication 13 et une passerelle domestique selon la revendication 12. 15. Programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que défini dans la revendication 10, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé défini selon la revendication 1. 16. Programme d'ordinateur apte à être mis en oeuvre sur un dispositif tel que défini dans la revendication 11, le programme comprenant des instructions de code qui, lorsque le programme est exécuté par un processeur, réalise les étapes du procédé défini selon la revendication 7.