Brevet FR3031261A1 — publié le 20160701

La présente invention concerne un procédé de traitement de messages montants applicatifs et de messages descendants applicatifs entre un serveur et une unité électronique de contrôle d'une installation domotique. Il est connu de procéder à des échanges de données entre un serveur et un ensemble d'unité électronique de contrôle d'une installation domotique. Il peut être souhaitable de procéder à ces échanges de données notamment pour opérer un contrôle à distance des installations par le serveur, par exemple dans le cas où le serveur reçoit des instructions d'une interface utilisateur permettant à l'utilisateur de contrôler à distance son installation. En conséquence, il est possible d'utiliser un mécanisme de connexion entre l'unité électronique et le serveur, afin d'acheminer les données du serveur à l'unité électronique de contrôle et inversement. Il apparaît toutefois que dans le cas d'applications domotiques dans lequel un nombre très important d'unité électroniques de contrôle communiquent avec un serveur, cela conduit à une utilisation importante de ressources réseau ou ressources mémoire sur le serveur qui doit maintenir les données relatives à l'ensemble des connexions correspondant à chaque unité électronique. La présente invention a pour but de résoudre tout ou partie des inconvénients mentionnés ci-dessus. A cet effet, la présente invention concerne un procédé de traitement de messages montants applicatifs en provenance d'une unité électronique de contrôle d'une installation domotique par un serveur comprenant les étapes suivantes : - une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle ; - une étape de réception d'un message montant applicatif par le serveur en provenance de l'unité électronique de contrôle; - une étape de postage d'un message entrant, dans le cas ou le message montant applicatif contient des données utiles, le message entrant étant posté sur une file d'attente entrante en vue d'un traitement par un module applicatif, le message entrant comprenant des données utiles déterminées en fonction des données utiles du message montant applicatif et un identifiant de l'unité électronique de contrôle ; - une étape de libération de la connexion de façon immédiate ou suite à un délai maximal ; 3031261 2 Grâce aux dispositions selon l'invention, le temps de premier traitement de chaque requête varie peu étant donné que les données utiles sont postées sur une file d'attente en vue d'un deuxième traitement asynchrone. Suite au premier traitement, ou dans un délai maximal prévisible ou borné, la connexion correspondant 5 à la requête est libérée. Ainsi, un nombre important d'unité électroniques de commandes peuvent communiquer avec les instances de traitement du serveur prenant en charge les connexions encore appelé connecteurs, car les connexions sont libérées rapidement, sans attendre la fin du traitement réalisé de façon asynchrone, ce qui 10 permet de limiter le nombre de connexions concurrentes et donc les ressources correspondantes sur le serveur. Ce mode de communication est notamment adapté aux applications domotiques dans lesquelles un grand nombre d'unités de contrôle électronique sont connectées à un serveur avec un faible volume de données à échanger avec celui-ci. 15 Il est à noter que le terme montant concerne les messages transmis par l'unité électronique vers le serveur et que le terme descendant concerne les messages transmis par le serveur vers l'unité électronique de contrôle. La libération de la connexion peut être réalisée selon les cas à l'initiative du serveur ou de l'unité électronique de contrôle. 20 On entend par libération immédiate, une libération après une étape complète de transmission. En particulier, la libération comprend aussi la gestion du message d'acquittement demandé par la plupart des protocoles connectés (accusé de réception ou « acknowledge », ACK). Ainsi, a titre d'exemple, dans le cas d'une réception de données utiles, après l'envoi du message ACK; dans le cas d'une 25 émission, après la réception du message ACK. Selon une autre possibilité, un délai maximal Tmax peut être prévu avant la libération de la connexion, ce délai permettant par exemple d'attendre un retour d'un module applicatif au message entrant, sous la forme d'un message descendant pour lequel un message descendant applicatif pourrait être transmis par le serveur à 30 destination de l'unité électronique de commande. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion, à partir de l'étape de postage, ou encore à compter d'une étape de réception d'un message montant applicatif. Si le protocole applicatif prévoit l'envoi d'un message descendant en 35 réponse au message entrant, une réponse vide peut être envoyée au terme du délai Tmax et préalablement à la libération de la connexion. Une réponse vide ne contient 3031261 3 pas de données utiles, mais peut contenir le message de type accusé de réception (ACK) relatif à la requête formée par le message montant. Dans le cas d'un message montant correspondant à une requête, la réponse applicative au message montant pourra être communiquée lors d'une 5 connexion ultérieure. Selon un aspect de l'invention, le message montant comprend en outre un identifiant de l'instance de traitement ou connecteur. Selon un aspect de l'invention, le procédé comprend une étape de réservation de ressources par le serveur pour la gestion de la connexion. 10 Selon un aspect de l'invention, le message montant applicatif correspond à une requête en provenance de l'unité électronique de contrôle. Selon un aspect de l'invention, le message entrant comprend un attribut de priorité de traitement, l'étape de postage étant réalisée dans une position différente de la file d'attente en fonction de la valeur de l'attribut de priorité. 15 Selon un aspect de l'invention, le procédé comprend une étape de transmission d'un message descendant à l'unité électronique de contrôle en réponse au message montant applicatif, le message descendant comprenant des données utiles reçues préalablement ou aucunes données utiles. Ces dispositions permettent de tirer partie de la connexion établie pour 20 communiquer des données utiles à l'unité électronique de contrôle. Selon un aspect de l'invention, le procédé comprend une étape de détermination d'une file d'attente d'entrante sur laquelle le message entrant doit être posté, préalablement à l'étape de postage, l'étape de détermination prenant en compte l'identifiant de l'unité électronique de contrôle. 25 Ces dispositions permettent de répartir les messages entrants sur plusieurs files d'attentes entrantes, tout en garantissant que les messages en provenance d'une même unité électronique de contrôle sont traités sur une même file d'attente, et que la séquence des messages en provenant de ladite unité électronique de contrôle est ainsi respectée. 30 Selon un aspect de l'invention, l'étape de détermination met en oeuvre par exemple l'utilisation d'une fonction de hachage. Selon un aspect de l'invention, le procédé comprend une étape préalable de routage des messages montants applicatifs et/ou de la connexion en fonction de l'unité électronique de contrôle vers une instance de traitement, la correspondance 35 entre une instance de traitement et une unité électronique de contrôle étant mémorisée dans un référentiel. 3031261 4 Ces dispositions permettent de répartir les messages montants en provenance de la pluralité d'unité électroniques de commandes sur une pluralité d'instances de traitement ou plusieurs instances de connecteurs. Selon un aspect de l'invention le routage est effectué en fonction d'un 5 identifiant de l'unité électronique de contrôle, comme par exemple une adresse IP. Selon un aspect de l'invention, le procédé comprend une étape postérieure de collecte d'au moins un message sur une file d'attente entrante par un écouteur en lien avec module applicatif. Ces dispositions permettent de réaliser un traitement asynchrone des 10 messages montants, même dans le cas où il s'agit d'une requête en provenance d'une unité électronique de contrôle. Selon un aspect de l'invention, le procédé comprend : une première étape de réception d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de 15 contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le premier message montant applicatif comprenant des données utiles; et une deuxième étape de réception d'un second message montant applicatif, ultérieurement à la première étape de réception d'un 20 premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le second message montant applicatif comprenant des données utiles ou aucune donnée utile; 25 le message descendant applicatif comprenant des données utiles correspondant à une réponse à une réception du premier message montant applicatif en provenance de l'unité électronique de contrôle. Selon un aspect de l'invention, la première étape de réception du premier message montant applicatif est réalisée entre une première étape 30 d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle et une première étape de libération de la connexion ; la deuxième étape de réception du premier message montant applicatif et l'étape de transmission du message descendant applicatif sont réalisées entre une seconde étape d'établissement d'une connexion entre le serveur et l'unité 35 électronique de contrôle, postérieure à la première étape de libération de la connexion et une seconde étape de libération de la connexion ; 3031261 5 La présente invention a également pour objet un procédé de traitement de messages descendants à destination d'une unité électronique de contrôle d'une installation domotique par un serveur comprenant les étapes suivantes : Une étape de collecte d'un message sortant sur une file d'attente 5 sortante en provenance d'un module applicatif, le message sortant comprenant un identifiant d'une unité électronique de contrôle et des données utiles ; une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle correspondant à l'identifiant de l'unité 10 électronique de contrôle comprise dans le message sortant ; une étape de transmission d'un message descendant applicatif à l'unité électronique de contrôle, le message descendant applicatif (Md) comprenant des données utiles déterminées à partir des données utiles du message sortant ; 15 une étape de libération de la connexion de façon immédiate ou suite à un délai maximal ; Selon un aspect de l'invention, l'étape de libération de la connexion est réalisée à l'initiative du serveur. Comme nous l'avons détaillé précédemment, on entend par libération 20 immédiate, une libération après une étape complète de transmission. En particulier, la libération comprend aussi la gestion du message d'acquittement demandé par la plupart des protocoles connectés (accusé de réception ou « acknowledge », ACK). Ainsi, a titre d'exemple, dans le cas d'une réception de données utiles, après l'envoi du message ACK; dans le cas d'une émission, après la réception du message ACK. 25 Selon une autre possibilité, un délai maximal Tmax peut être prévu avant la libération de la connexion. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion, ou encore à partir d'une étape éventuelle de postage d'un message sur une file d'attente entrante, ou encore à compter d'une étape de réception d'un message montant applicatif éventuel. 30 Selon un aspect de l'invention, le procédé comprend une étape de transmission par le serveur à destination d'une unité électronique de contrôle, selon un premier protocole de communication, d'un message de demande d'ouverture de connexion à destination du serveur ; puis une étape d'acceptation de l'établissement d'une connexion par le serveur à l'initiative de l'unité électronique de contrôle selon 35 un deuxième protocole de connexion ; 3031261 6 Ainsi, l'étape d'établissement de la connexion à l'initiative de l'unité électronique de contrôle intervient ultérieurement en réponse à la demande d'ouverture de connexion selon un second protocole de communication. Grâce à ces dispositions, l'établissement de la connexion selon le 5 deuxième protocole de communication est réalisé à l'initiative de l'unité électronique de contrôle vers le serveur, suite à la demande d'ouverture de connexion formulée par le serveur selon le premier protocole. Ainsi, l'établissement de la connexion sera autorisé par le pare-feu, car elle est à l'initiative de l'unité électronique de contrôle. Le serveur pourra ensuite 10 utiliser la connexion selon le deuxième protocole pour communiquer les données utiles correspondant à sa demande d'ouverture de connexion dans le message descendant. Ces dispositions permettent de réaliser la communication d'informations entre le serveur et l'unité électronique de façon descendante en utilisant uniquement 15 un établissement de connexion à l'initiative de l'unité électronique de contrôle. Par ailleurs, l'utilisation de deux protocoles de communication permet d'utiliser un premier protocole plus simple impliquant une utilisation de ressources faible sur le serveur, et un deuxième protocole connecté impliquant une utilisation plus importante de ressource uniquement lorsque des informations doivent être 20 communiquées par le serveur. En particulier, le premier protocole est un protocole en mode non connecté. Le deuxième protocole correspond à une communication en mode connecté. Selon un aspect de l'invention, le premier protocole de communication 25 est le protocole UDP. Selon un aspect de l'invention, le deuxième protocole de communication est le protocole TCP. Selon un autre aspect de l'invention, le premier et/ou le deuxième protocole peuvent être de type Raw IP ou autre protocole au dessus d'IP. 30 Le premier protocole utilisé peut être de divers autres types permettant de ne pas être soumis aux contraintes imposées par le pare-feu. Selon un mode de réalisation, le premier protocole de communication est un protocole comprenant l'envoi d'un message du serveur vers l'unité électronique de contrôle, notamment un message SMS. 35 Selon un autre mode de réalisation, le premier protocole correspond à une donnée fournie dans un flux audio et/ou vidéo, par exemple un flux MPEG. 3031261 7 Selon un aspect de l'invention, l'étape de transmission d'un message descendant applicatif à l'unité électronique de contrôle est réalisée selon le deuxième protocole de communication. Selon un aspect de l'invention, le procédé comprend en outre une 5 première étape de réception périodique d'un message montant selon le premier protocole de communication par le serveur en provenance de l'unité électronique de contrôle ; la première étape de transmission selon le premier protocole de communication d'un message de demande d'ouverture de connexion comprenant une étape de transmission d'au moins un message descendant ultérieur à la première 10 étape de réception. Selon un aspect de l'invention, le procédé comprend en outre, préalablement à la première étape de transmission d'une demande d'ouverture de connexion, une étape de transmission par le serveur à destination de l'unité électronique de contrôle d'un message descendant correspondant à une réponse 15 d'accessibilité ; Selon un aspect de l'invention, le procédé comprend une étape de réception d'un message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le message montant applicatif comprenant des données utiles 20 ou aucune donnée utile; Ces dispositions permettent de tirer partie de la connexion établie pour communiquer des données utiles à l'unité électronique de contrôle. Par ailleurs, le message descendant applicatif est accepté par le « pare-feu » protégeant le réseau privé sur lequel se trouve l'unité électronique de contrôle 25 car ledit message descendant est interprété comme une réponse à un message montant de l'unité électronique de contrôle. Ces dispositions permettent de réaliser la communication d'informations entre le serveur et l'unité électronique de façon descendante en utilisant un mode de requêtes et réponses sous formes de messages montants et descendants à l'initiative 30 de l'unité électronique de contrôle. A titre d'exemple, une communication de type HTTP ou HTTPS peut être mise en oeuvre. Il est à noter que les messages montants ne contiennent pas tous nécessairement des données utiles. Ainsi, dans un échange de requête et réponse 35 sous forme d'un message montant et descendant, seule la réponse peut contenir des données utiles. 3031261 8 Ainsi, en réponse au message montant (éventuellement vide) de l'unité de contrôle électronique, le serveur pourra dans une réponse sous forme de message descendant selon le deuxième protocole communiquer les données utiles correspondant à sa demande d'ouverture de connexion. 5 Selon un aspect de l'invention, le procédé comprend une étape de mémorisation de données utiles comprises dans au moins un message sortant et de l'identifiant de l'unité électronique de contrôle ; Selon un aspect de l'invention, l'étape de mémorisation est réalisée en mémorisant les données utiles d'un ou de plusieurs messages sortant correspondant à 10 un identifiant d'une unité électronique de contrôle, les données utiles étant ensuite transmises lors de l'étape de transmission à l'unité électronique de contrôle correspondant à l'identifiant. Selon un aspect de l'invention, l'étape de mémorisation est réalisée jusqu'à expiration d'un délai d'attente ou réception d'un message montant applicatif 15 ou à un établissement d'une connexion avec l'unité électronique de contrôle. A l'expiration du délai d'attente, une demande de connexion peut être envoyée par le serveur pour communiquer les données utiles à l'unité électronique de commande si aucune connexion n'a été établie à l'initiative de celle-ci. Selon un aspect de l'invention, le procédé comprend 20 une première étape de réception (EDC6a) d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le premier message montant applicatif comprenant des premières données utiles montantes; et 25 une deuxième étape de réception (EDC6b) d'un second message montant applicatif, ultérieurement à la première étape de réception d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le 30 second message montant applicatif comprenant des secondes données utiles montantes ou aucune donnée utile; le message descendant applicatif comprenant des données utiles descendantes correspondant à une réponse au premier message montant applicatif en provenance de l'unité électronique de contrôle. 35 Grâce à ces dispositions, les données utiles échangées montantes et descendantes lors d'un échange de requête et de réponse, par exemple selon le 3031261 9 protocole http(S), ne sont pas nécessairement relatives au même échange applicatif ou transaction applicative entre l'unité électronique de contrôle et un module applicatif, mais à des échanges ou transactions différentes. L'utilisation de ce système permet de tirer partie des échanges pour 5 communiquer les données présentes à transférer de part et d'autre, et de simuler un échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu. Selon un aspect de l'invention, la première étape de réception du premier message montant applicatif est réalisée entre une première étape 10 d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle et une première étape de libération de la connexion ; la deuxième étape de réception du premier message montant applicatif et l'étape de transmission du message descendant applicatif sont réalisées entre une seconde étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle, postérieure à la 15 première étape de libération de la connexion et une seconde étape de libération de la connexion. Selon un aspect de l'invention, le message sortant comprend des données utiles générées par un module applicatif suite à un évènement extérieur. Il est à noter que selon les deux procédés de traitement des messages 20 montants et descendants selon l'invention décrit ci-dessus, certaines étapes peuvent être partagées. En particulier, les étapes d'établissement de connexion, d'échange de messages applicatifs montants et descendants, et de libération de la connexion peuvent être communes aux deux procédés. Ainsi, dans le premier procédé de traitement des messages descendants, 25 plusieurs étapes de collecte et de mémorisation peuvent être réalisées en attendant l'établissement d'une connexion. Cette connexion peut-être réalisée à l'initiative de l'unité électronique de contrôle, dans le cadre de la transmission d'un message montant applicatif correspondant à un procédé de traitement d'un message montant applicatif. 30 Ainsi, il est à remarquer que les données utiles échangées montantes et descendantes lors d'un échange de requête et de réponse, et notamment selon le protocole http(S), ne sont pas nécessairement relatives au même échange applicatif entre l'unité électronique de contrôle et un module applicatif, mais à des échanges différents. 35 L'utilisation de ce système permet de tirer partie des échanges pour communiquer les données présentes à transférer de part et d'autre, et de simuler un 3031261 10 échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu. La présente invention concerne également un procédé de traitement de messages montants applicatifs par une unité électronique de contrôle d'une 5 installation domotique à destination d'un serveur comprenant les étapes suivantes : une étape de mémorisation de données d'identification de données utiles correspondant à un message montant applicatif afin de pouvoir corréler lesdites données utiles avec les données utiles d'un message descendant applicatif ultérieur. 10 une étape d'établissement d'une connexion vers le serveur à l'initiative de l'unité électronique de contrôle ; une étape de transmission d'un message montant applicatif par l'unité électronique de contrôle à destination du serveur comprenant les données utiles et un identifiant de l'unité électronique de 15 contrôle, une étape d'acceptation de la libération de la connexion de façon immédiate ou suite à un délai maximal ; Grâce aux dispositions selon l'invention, il est possible de procéder à la corrélation d'une requête à destination du serveur et de la réponse correspondante 20 sans conserver la connexion, et en libérant donc les ressources correspondantes. En particulier, il est possible de reconstituer la corrélation des réponses et des requêtes même si la séquence des réponses ne correspond pas à la séquence des requêtes applicatives Selon un aspect de l'invention, le procédé comprend une étape de 25 réception d'un message descendant applicatif par l'unité électronique de contrôle en provenance du serveur, le message descendant applicatif comprenant des données utiles ou aucune donnée utile. Selon un aspect de l'invention, le message montant applicatif correspond à une requête de l'unité électronique de contrôle, ou encore une information 30 provenant d'un capteur, un journal, une réponse à un ordre ou à une requête du serveur. Selon un aspect de l'invention, on mémorise si une réponse applicative est attendue dans le cas d'une requête; La présente invention concerne également un procédé de traitement de 35 messages descendants applicatifs par une unité électronique de contrôle d'une installation domotique en provenance du serveur comprenant les étapes suivantes : 3031261 11 une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle ; une étape de réception d'un message descendant applicatif à l'unité électronique de contrôle, le message descendant applicatif 5 comprenant des données utiles descendantes ; une étape d'acceptation de la libération de la connexion de façon immédiate ou suite à un délai maximal ; une étape de vérification de la correspondance des données utiles descendantes avec des données utiles montantes d'un message 10 montant applicatif précédent en utilisant des données d'identification de données utiles mémorisées; Selon un aspect de l'invention, le procédé comprend une étape de transmission d'un message montant applicatif par l'unité électronique de contrôle vers le serveur, le message montant applicatif comprenant des données utiles ou 15 aucune donnée utile. Selon un aspect de l'invention, le procédé comprend une première étape de réception selon un premier protocole de communication par l'unité électronique de contrôle d'un message de demande d'ouverture de connexion en provenance du serveur ; l'étape d'établissement d'une connexion vers le serveur étant réalisée à 20 l'initiative de l'unité électronique de contrôle selon un deuxième protocole de connexion. Selon un aspect de l'invention, le procédé comprend une première étape de transmission périodique d'un message montant selon le premier protocole de communication par l'unité électronique de contrôle à destination du serveur, la 25 première étape de réception d'un message de demande d'ouverture de connexion comprenant une étape de réception selon le premier protocole d'au moins un message descendant ultérieur à la première étape de transmission périodique selon le premier protocole de communication ; L'unité électronique étant disposée sur un réseau privé dont l'accès est 30 de façon usuelle protégé par un pare-feu, l'émission d'un message montant permet au serveur de répondre à ce message par un message descendant qui pourra atteindre l'unité électronique car il sera considéré comme une réponse au message montant. Ainsi, l'envoi périodique de message montant offre des fenêtres de temps au serveur pour communiquer des demandes d'ouverture de connexion. En 35 choisissant une périodicité des messages inférieurs à la fenêtre de temps autorisée par le pare-feu pour répondre à un message montant, il est possible de maintenir en 3031261 12 permanence une possibilité de communication du serveur vers l'unité de contrôle électronique, c'est-à-dire un canal de communication ouvert. Par ailleurs, un envoi périodique permet de connaitre l'état du lien réseau entre l'unité électronique de contrôle et le serveur. 5 Selon un aspect de l'invention, le procédé comprend, préalablement à la première étape de réception d'une demande d'ouverture de connexion, une étape de réception selon le premier protocole de communication par l'unité électronique de contrôle d'un message descendant en provenance du serveur correspondant à une réponse d'accessibilité ; 10 L'étape préalable et la deuxième peuvent être simultanées, successives et/ou présenter une période de recouvrement temporel. En particulier, l'étape préalable de réception correspond à la réception d'une réponse d'accessibilité selon un premier délai après l'étape de transmission, afin de maintenir la possibilité de réception d'une deuxième trame selon un deuxième délai. 15 La deuxième étape correspond à la réception d'une demande de connexion pendant ledit deuxième délai. Il apparaît en effet que le fonctionnement d'un pare-feu usuel peut empêcher le passage d'un message descendant dans la mesure où celui-ci est reçu au-delà d'un premier délai après l'envoi d'un message montant. Egalement de façon 20 usuelle, dans la mesure où un premier message descendant est reçu, un deuxième délai plus important est accordé pour recevoir un ou plusieurs autres messages descendants. Selon un aspect de l'invention, le procédé comprend une étape de surveillance d'au moins un délai de réception d'un message descendant en 25 provenance du serveur suite à la première étape de transmission, le déclenchement d'une nouvelle première étape de transmission étant réalisé en cas de dépassement de l'au moins un délai de réception. Ces dispositions permettent de maintenir des fenêtres de communication ouvertes afin que le serveur puisse communiquer. 30 Selon un aspect de l'invention, le procédé comprend une étape de transmission d'une clé de chiffrement par l'unité de contrôle électronique au serveur, de façon à permettre une signature des messages montants et/ou descendants selon le premier protocole de communication et/ou selon le deuxième protocole de communication. 3031261 13 Ces dispositions permettent de réaliser une signature des échanges entre le serveur et l'unité de contrôle électronique afin d'authentifier les deux entités en présence, à savoir le serveur et l'unité de contrôle électronique. Selon un aspect de l'invention, le procédé comprend une étape de 5 réception d'une indication de clef invalide ou expirée en provenance du serveur, et en réponse une nouvelle étape de transmission d'une clef de chiffrement. Ces dispositions permettent de rétablir une communication par le premier mode de communication en cas d'expiration de la clé de chiffrement. La présente invention concerne également un produit programme 10 d'ordinateur comprenant des portions de code de programme pour l'exécution des étapes d'un procédé de traitement de messages montant ou de messages descendant par un serveur tel que décrit précédemment. La présente invention concerne également une unité électronique de contrôle d'une installation domotique comprenant une unité de traitement agencée 15 pour contenir et exécuter le produit programme d'ordinateur mettant en oeuvre les étape du procédé, l'unité électronique de contrôle comprenant en outre au moins une interface de communication destinée à la commande et/ou au contrôle d'au moins un actionneur, notamment d'un élément mobile d'un bâtiment, ou d'un autre équipement commandable ou contrôlable électriquement ou électroniquement, 20 comme par exemple un système d'alarme, ou d'au moins un capteur, et une interface de communication destinée à la communication avec un serveur. La présente invention concerne également un produit programme d'ordinateur comprenant des portions de code de programme pour l'exécution des étapes d'un procédé de traitement de messages montant ou de messages descendant 25 par une unité électronique de contrôle tel que décrit précédemment. La présente invention concerne également un serveur de commande et ou de contrôle à distance d'au moins une unité électronique de contrôle d'une installation domotique comprenant une unité de traitement agencée pour contenir et exécuter le produit programme d'ordinateur mettant en oeuvre les étape du procédé, 30 le serveur comprenant en outre au moins une interface de communication destinée notamment à la communication selon le premier protocole de communication ou le deuxième protocole de communication avec au moins une unité de commande électronique. Selon un aspect de l'invention, le serveur peut comprendre également 35 une interface de communication destiné à la communication avec une interface utilisateur. 3031261 14 Ces dispositions permettent un contrôle à distance de l'installation domotique par l'utilisateur, et l'envoi d'ordres par l'intermédiaire du serveur vers l'unité électronique de contrôle, ou l'obtention de données sur l'état de l'installation. L'interface utilisateur peut par exemple être formée par un serveur web 5 communiquant avec un terminal utilisateur, par exemple un ordinateur, un téléphone portable ou une tablette. La présente invention concerne également un système distribué comprenant au moins un serveur et une pluralité d'unités électroniques de contrôle agencées pour communiquer avec le serveur de façon à mettre en oeuvre le procédé 10 tel que décrit précédemment. L'invention sera mieux comprise à l'aide de la description détaillée qui est exposée ci-dessous en regard du dessin annexé dans lequel : La figure 1 est un schéma illustrant la structure d'un système destiné à la mise en oeuvre d'un procédé de traitement de messages montants et descendants 15 applicatifs entre un serveur et un ensemble d'unités électroniques de contrôle d'installations domotiques. La figure 2 est un schéma illustrant les composants de l'unité de traitement du serveur et leurs interactions. La figure 3 est un schéma illustrant un mode de mise en oeuvre d'un 20 procédé de traitement des messages montants applicatifs. La figure 4 est un schéma illustrant un mode de mise en oeuvre d'un procédé de traitement des messages descendants applicatifs. La figure 4bis est un schéma illustrant un mode de mise en oeuvre d'un procédé de traitement d'une pluralité de messages descendants et montants 25 applicatifs. La figure 5 est un schéma illustrant un mode de mise en oeuvre d'un procédé de transmission de données. La figure 6 est un schéma illustrant une étape additionnelle du procédé de figure 5. 30 La figure 7 est un schéma illustrant la structure d'un deuxième système destiné à la mise en oeuvre d'un procédé de transmission de données entre un serveur et un ensemble d'unités électroniques de contrôle d'installations domotiques. Dans la description détaillée qui va suivre des figures définies ci-dessus, les mêmes éléments ou les éléments remplissant des fonctions identiques pourront 35 conserver les mêmes références de manière à simplifier la compréhension de l'invention. 3031261 15 Comme cela est représenté sur la figure 1, un système distribué comprend au moins un serveur S et une pluralité d'unités électroniques de contrôle U d'installations domotiques agencées pour communiquer avec le serveur S de façon à mettre en oeuvre un procédé de transmission de données. 5 Chaque unité de contrôle électronique d'une installation domotique est disposée sur un réseau privé PN, PN', dont l'accès est en général protégé par un pare-feu FW. Le serveur S est également disposé sur un réseau privé NS. Les réseaux privés PN, PN', SN sont reliés à un réseau étendu N, par exemple Internet. 10 En particulier, une unité électronique de contrôle U d'une installation domotique comprend une unité de traitement 2 agencée pour contenir et exécuter un premier programme d'ordinateur ou un premier ensemble de programmes d'ordinateur. A titre d'exemple, l'unité de traitement 2 comprend un processeur, une 15 mémoire flash de stockage ainsi d'un mémoire vive, et d'une puce Ethernet PHY. L'unité électronique de contrôle U comprend en outre au moins une interface de communication 3 destinée au contrôle/commande d'actionneurs d'éléments mobiles d'un bâtiment, de capteurs, ou encore d'autres équipements à commande électrique ou électronique tels qu'un système d'alarme. 20 A titre d'exemple, comme cela est représenté sur la figure 1, l'interface de communication 3 permet le contrôle et la commande d'au moins un actionneur 5, 5' d'un élément mobile d'un bâtiment, comme par exemple un volet roulant 6 ou un brise-soleil orientable 6'ou encore la réception d'informations d'un capteur 7 fournissant des informations de présence d'un utilisateur ou des valeurs des 25 paramètres environnants comme la température, l'humidité, la luminosité. De la même, façon l'interface peut permettre le contrôle/commande d'un système d'alarme 8. En particulier, l'interface de communication peut comprendre une puce radiofréquence lo-homecontrol et/ou Zwave et/ou WM-Bus communiquant à une 30 fréquence de 868Mhz, et/ou une puce radiofréquence RTS/RTD/RTD+ communiquant à une fréquence de 433 Mhz. L'unité électronique de contrôle U comprend par ailleurs une batterie et/ou une alimentation secteur, ainsi que des ports de connexion physique tels que par exemple USB host, RJ45 et micro-USB. 35 L'unité électronique de contrôle U comprend également des éléments d'interface comme des boutons de réinitialisation, de configuration, des boutons 3031261 16 tactiles de lancement de scenarii, et des indicateurs lumineux de fonctionnement, comme par exemple des LED. L'unité électronique de contrôle U comprend par ailleurs une interface de communication 4 destinée à la communication selon le premier protocole de 5 communication P1 ou le deuxième protocole de communication P2 avec un serveur S, comme notamment une carte réseau pouvant être la puce Ethernet PHY. Le serveur S qui permet la commande et/ou le contrôle à distance de la pluralité d'unités électroniques de contrôle U d'une installation domotique comprend une unité de traitement 102 agencée pour contenir et exécuter un deuxième 10 programme ou un ensemble de deuxièmes programmes. Le serveur S comprend en outre au moins une interface de communication 104 destinée à la communication selon le premier protocole de communication P1 ou le deuxième protocole de communication P2 avec la pluralité d'unités électroniques de contrôle U. 15 Le serveur S peut comprendre également une interface de communication 106 destiné à la communication avec une interface utilisateur 107. L'interface utilisateur 107 peut par exemple être formée par un serveur web communiquant avec un terminal utilisateur 108 par le réseau N, par exemple un ordinateur, un téléphone portable ou une tablette. 20 La figure 2 illustre les composants de l'unité de traitement 102 du serveur et leurs interactions. Il est à noter que le terme serveur est une désignation logique qui peut recouvrir l'utilisation de plusieurs serveurs physiques pour répartir la charge de traitement informatique à réaliser. 25 Un ou plusieurs modules applicatifs MA sont exécutés sur le serveur. Les modules applicatifs MA sont destinés à traiter les requêtes en provenance des unités électroniques de contrôle U ou à générer des commandes à destination des unités électroniques de contrôle U sur la base d'évènements extérieurs, comme par exemple un ordre communiqué par un utilisateur par l'intermédiaire du terminal 108 relié au 30 serveur web 107. L'architecture permettant le traitement des messages montants et descendant entre l'interface de communication 104 et les modules applicatifs MA comprend une pluralité de composants' et notamment : - Un premier composant de routage Rt ; 35 - Une ou plusieurs instances de connecteur C ; 3031261 17 Un gestionnaire de files d'attente QM permettant la gestion d'une pluralité de files d'attente d'entrée Qe et d'une file d'attente de sortie Qs; Une ou plusieurs instances de gestionnaires de messages H provenant 5 des files d'attentes ; et Un référentiel Reg destiné à mémoriser les associations définies entre les instances de connecteur C et les unités électroniques de contrôle U pour le routage des communications. Le premier composant de routage est destiné à router les messages des 10 unités électroniques de contrôle U vers une instance de connecteur C, notamment en fonction d'un identifiant de l'unité électronique de contrôle, comme par exemple une adresse IP. Chaque connecteur C permet de gérer la connexion Cnx et l'échange de données avec une pluralité d'unités électroniques de contrôle U de façon synchrone 15 et de communiquer de façon asynchrone en postant ou en collectant des messages sur les files d'attentes entrante Qe, et respectivement sortante Qs du gestionnaire de files d'attentes Qs. Les gestionnaires de messages H réalisent une interface entre les files d'attentes et les modules applicatifs MA en entrée et en sortie. 20 Les différents types de composants peuvent être distribués sur différents serveurs physiques de façon à répartir la charge de traitement et à permettre une adaptation au nombre de connexion à traiter. A titre d'exemple, il est possible de prévoir un nombre NC d'instances de connecteurs, un nombre NQe de files d'attentes entrantes sur un gestionnaire de files 25 d'attente QM, un nombre NH de gestionnaires de messages comprenant chacun NLT instances d'écouteurs ou threads d'écouteur LT sur les files d'attentes entrantes Qe, et un nombre NMA de modules applicatifs ou d'instances de modules applicatifs. Dans la mesure où l'application concernée doit assurer que la séquence des messages en provenance d'une unité électronique de contrôle U est respectée, le 30 composant de routage s'assure que les communications en provenance d'une unité électronique de commande sont toujours routées vers la même instance de connecteur C parmi les NC instances de connecteur. De la même façon, chaque instance de connecteur C poste les messages en lien avec une unité électronique de commande sur une même files d'attente Qe parmi les NQe files d'attentes. Un 35 écouteur ou un thread d'écouteurs doit dans ce cas écouter sur une seule file d'attente, pour alimenter ensuite les modules applicatifs. 3031261 18 Ainsi, on a dans ce cas une relation : NH*NLT=NQe. Pour les messages descendants en provenance des modules applicatifs, dans les applications courantes, un seul thread d'émission ET par gestionnaire de message H sur une seule file d'attente de sortie Qs est en général nécessaire, étant 5 donné que le trafic descendant est bien inférieur au trafic montant. Il serait toutefois possible de prévoir plusieurs files d'attentes descendantes avec un mécanisme similaire aux files d'attente montantes. Dans le cas d'une seule file d'attente descendante, l'ensemble des instances de connecteurs C collectent des messages sur ladite file d'attente Qs en 10 sélectionnant les messages qui leurs sont affectés, c'est-à-dire contenant par exemple leur identifiant. La figure 3 représente les étapes d'un procédé de traitement de messages montants applicatifs Mm en provenance d'une unité électronique de contrôle U d'une installation domotique par un serveur S. 15 Un message montant applicatif Mm peut correspondre à une requête de l'unité électronique de contrôle, ou encore une information provenant d'un capteur, un journal, une réponse à un ordre ou à une requête du serveur. Dans le cas où le message montant Mm correspond à une requête de l'unité électronique de contrôle, une étape de mémorisation EMUO de données 20 d'identification Rqid de données utiles Plm est réalisée par l'unité électronique de contrôle U afin de pouvoir corréler lesdites données utiles Plm avec les données utiles Pld d'un message descendant ultérieur. Si le message montant ne correspond pas à une requête devant donner lieu à une réponse du serveur S, cette étape peut être omise. 25 Une étape d'établissement EMU1 d'une connexion Cnx vers le serveur S est ensuite réalisée à l'initiative de l'unité électronique de contrôle U acceptée par le serveur S dans une étape EMC1. Cette connexion est par exemple réalisée selon le protocole de communication TCP. Une réservation de ressources est réalisée par le serveur S pour la gestion de la connexion. 30 Préalablement à l'étape d'établissement de la connexion Cnx, une étape de routage ERtM1 de la communication vers une instance de connecteur C en fonction de l'unité électronique de contrôle U est réalisée, la correspondance entre une instance de traitement C et une unité électronique de contrôle U étant mémorisée dans le référentiel Reg. Le routage est effectué en fonction d'un identifiant 35 de l'unité électronique de contrôle, comme par exemple une adresse IP. 3031261 19 Une fois la connexion Cnx établie, une étape de transmission EMU2 d'un message montant applicatif Mm est réalisée par l'unité électronique de contrôle U, le message étant réceptionné par une instance de connecteur C dans une étape EMC2. Le message montant Mm comprend des données utiles Plm et un identifiant Uid de 5 l'unité électronique de contrôle U. L'instance de connecteur C réalise ensuite une étape de détermination EMC3 d'une file d'attente d'entrante Qe, sur laquelle un message entrant Me doit être posté. Cette étape de détermination prend en compte l'identifiant de l'unité électronique de contrôle Uid, par exemple en mettant en oeuvre 10 l'utilisation d'une fonction de hachage sur la base de l'identifiant Uid. Une fois la file d'attente déterminée, une étape de postage EMC4 d'un message entrant Me est réalisée. Les données utiles Plm du message entrant Me sont déterminées en fonction des données utiles Plm, du message montant applicatif Mm. En particulier, il peut s'agir d'une copie de ces données utiles Plm. Le postage est 15 réalisé sur la file d'attente entrante Qe en vue d'un traitement par un module applicatif MA. Le message entrant Me comprend, en plus des données utiles Plm, un identifiant de l'unité électronique de contrôle Uid et un identifiant Cid de l'instance de connecteur C. Le message entrant peut également comprendre un attribut de priorité 20 de traitement, l'étape de postage étant réalisée dans une position différente de la file d'attente Qe en fonction de la valeur de l'attribut de priorité afin de modifier son ordre de traitement. Une étape de surveillance EMC7 d'un délai maximal Tmax est réalisée par le connecteur avant la libération de la connexion Cnx, ce délai permettant par 25 exemple d'attendre un retour d'un module applicatif au message entrant, sous la forme d'un message descendant pour lequel un message descendant applicatif pourrait être transmis par le serveur à destination de l'unité électronique de commande. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape 30 d'établissement d'une connexion EMC1, à partir de l'étape de postage EMC3, ou encore à compter d'une étape de réception d'un message montant applicatif EMC2. Dans l'exemple représenté sur la figure 3, le délai Tmax est compté à partir de l'étape de postage EMC4. A l'expiration du délai Tmax ou préalablement, le connecteur réalise une 35 étape de transmission EMC8 d'un message descendant Md à l'unité électronique de 3031261 20 contrôle U qui le reçoit dans une étape EMU8, en réponse au message montant applicatif Mm. Le message descendant Md peut comprendre : des données utiles Pld correspondant à une réponse applicative au 5 message montant applicatif Mm si cette réponse est rendue disponible par le module applicatif, puis postée sur la file de sortie et collectée par le connecteur C avant l'expiration du délai Tmax ; Des données utiles Pld correspondant à un autre échange applicatif que celui impliquant le message montant ; 10 ou aucune donnée utile si le connecteur C n'a pas de données à transmettre à l'unité électronique de contrôle U. Dans le cas représenté à la figure 3, aucune réponse applicative correspondant au message montant Mm n'a été reçue à l'expiration du délai Tmax. En conséquence, le message descendant comprendra soit des données utiles Pld 15 correspondant à un autre échange applicatif que celui impliquant le message montant ; ou aucune donnée utile.Une étape de libération EMC9 de la connexion Cnx est ensuite réalisée par le connecteur C et constatée dans une étape EMU9 par l'unité électronique de contrôle U. Postérieurement à l'étape de postage EMC4, une instance d'écouteur H 20 réalise une collecte EMH5 d'au moins un message entrant Me sur une file d'attente entrante Qe. L'écouteur H peut ensuite communiquer le contenu du message à un module applicatif MA dans une étape EMMA6. Le module applicatif réalise ensuite le traitement du message entrant Me. Un procédé de traitement de messages descendants à destination d'une 25 unité électronique de contrôle U d'une installation domotique par un serveur S va être à présent décrit en référence à la figure 4. Comme cela a été précédemment décrit, les modules applicatifs MA sont destinés à traiter les requêtes en provenance des unités électroniques de contrôle U ou à générer des commandes à destination des unités électroniques de contrôle U sur 30 la base d'évènements extérieurs, comme par exemple un ordre communiqué par un utilisateur par l'intermédiaire du terminal 108 relié au serveur web 107. Suite à ces différents traitements, les modules applicatifs MA communiquent dans une étape EDMA1 des données utiles à un thread d'émission ET d'un gestionnaire de message H, en spécifiant l'unité électronique de contrôle U 35 destinataire de ces données utiles Pld. 3031261 21 Dans une étape ultérieure EDH2, le gestionnaire de message H poste sur la file d'attente sortante Qs du gestionnaire de files d'attentes QM un message sortant Ms comprenant un identifiant d'une unité électronique de contrôle Uid, un identifiant d'un connecteur Cid et des données utiles Pld. 5 La détermination de l'identifiant du connecteur Cid est réalisée en interrogeant le référentiel Reg afin de déterminer si l'unité électronique de commande est associée à un connecteur ou à une instance de connecteur C. Le message sortant Ms peut également comprendre un attribut de priorité de traitement Pr, l'étape de postage étant réalisée dans une position 10 différente de la file d'attente Qs en fonction de la valeur de l'attribut de priorité afin de modifier son ordre de traitement. Le procédé comprend ensuite une étape de collecte EDC3 d'un message sortant Ms sur une file d'attente sortante Qs en provenance d'un module applicatif MA. 15 Les messages sortant Ms peuvent comprendre des données utiles Pld correspondant à une réponse à un précédent message entrant Me posté suite à une réception d'un message montant Mm en provenance de l'unité électronique de contrôle U ou encore des données utiles Pld générées par un module applicatif MA suite à un évènement extérieur. 20 Par la suite, une étape de mémorisation EDC4 de données utiles Pld comprises dans au moins un message sortant Ms et de l'identifiant de l'unité électronique de contrôle Uid est réalisée. L'étape de mémorisation EDC4 est réalisée en mémorisant les données utiles Pld d'un ou de plusieurs messages sortant Ms correspondant à un 25 identifiant Uid d'une unité électronique de contrôle U jusqu'à expiration d'un délai d'attente Twait ou réception d'un message montant applicatif Mm. Par la suite, à l'issu du délai d'attente Twait ou préalablement à la réception d'un message montant applicatif Mm, une étape d'établissement EDU5/EDC5 d'une connexion Cnx entre le serveur S et l'unité 30 électronique de contrôle U correspondant à l'identifiant de l'unité électronique de contrôle Uid comprise dans le message sortant Ms est réalisée. Cette étape correspond soit à l'établissement d'une connexion à l'initiative de l'unité électronique de commande qui dispose de données utiles à transmettre, soit à une l'établissement d'une connexion à l'initiative de l'unité électronique de contrôle suite à une demande 35 d'établissement d'une connexion par le connecteur comme cela sera détaillé ultérieurement, 3031261 22 Suite à l'établissement de la connexion Cnx, un message montant Mm est transmis dans une étape EDU6 par l'unité électronique de contrôle U et reçu par le serveur S dans une étape EDC6, le message montant Mm comprenant des données utiles Plm ou aucune donnée utile. 5 Un message descendant applicatif Md est ensuite transmis dans une étape EDC8 à l'unité électronique de contrôle U qui le reçoit dans une étape EDU8, le message descendant applicatif Md comprenant des données utiles PLd déterminées à partir des données utiles Pld du ou des messages sortant Ms mémorisées lors de l'étape EDC4. 10 Une étape de surveillance EDC7 d'un délai maximal Tmax peut être optionnellement réalisée par le connecteur avant la libération de la connexion Cnx. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion EDC5, à partir d'une étape de postage éventuelle vers une file entrante, ou encore à compter d'une étape de réception d'un message montant 15 applicatif EDC6. Dans l'exemple représenté sur la figure 3, le délai Tmax est compté à partir de l'étape de réception d'un message montant applicatif EDC6. Alternativement, la libération de la connexion peut être prévue de façon immédiate. Ainsi, suite à la transmission de l'étape EDC8, une étape de libération EDC9 de la connexion Cnx est réalisée, par exemple à l'initiative du serveur. 20 L'unité de commande U peut ensuite réaliser une étape de vérification EDU10 de la correspondance des données utiles Pld reçues avec une requête préalable correspondant à une transmission d'un message montant Md en utilisant des données d'identification Rqid de données utiles Plm mémorisées. Il est à noter que selon les deux modes de mise en oeuvre d'un procédé 25 de traitement des messages montants et descendants selon l'invention décrit ci-dessus, certaines étapes peuvent être partagées. En particulier, les étapes d'établissement de connexion EMU1 / EMC1 ou EDU5 / EDC5, d'échange de messages applicatifs montants EMU2 / EMC2, EDU6 / EDC6 et descendants EMU8 / EMC8, EDU8 / EDC8, et de libération de la connexion EMU9, EMC9 peuvent être communes aux 30 deux procédés. Ainsi, dans le premier procédé décrit en référence à la figure 4, plusieurs étapes de collecte EDC3 et de mémorisation EDC4 peuvent être réalisées en attendant l'établissement d'une connexion Cnx. Cette connexion peut-être réalisée à l'initiative de l'unité électronique de 35 contrôle U, dans le cadre de la transmission d'un message montant applicatif Mm correspondant à un procédé de traitement d'un message montant applicatif. 3031261 23 Ainsi, il est à remarquer que les données utiles montantes et descendantes circulant lors d'un échange de requête et de réponse, et notamment selon le protocole http(S), ne correspondent pas nécessairement au même échange applicatif entre l'unité électronique de contrôle U et un module applicatif MA, mais à 5 des échanges différents. L'utilisation de ce système permet de tirer partie des échanges pour communiquer les données présentes à transférer de part et d'autre, et de simuler un échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu FW. 10 La figure 4bis présente un procédé de traitement de messages montants et descendants applicatif dans lequel plusieurs étapes de connexion EDU5a / EDC5a, EDU5b / EDC5b et EDU5c / EDC5c et plusieurs étapes de déconnexion EDU9a / EDC9a, EDU9b / EDC9b et EDU9c / EDC9c sont effectuées, un message montant Mml, Mm2, Mm3 et un message descendant applicatif Mdl, Md2, Md3 étant échangés 15 dans le cadre de chacune de ces connexions au cours d'étapes de transmission EDU6a, EDU6b, EDU6c et de réception EDC6a, EDC6b, EDC6c de messages montants applicatifs et de réception EDU8a, EDU8b, EDU8c et de transmission EDC8a, EDC8b, EDC8c de messages descendant respectives. Seules les étapes réalisées par l'unité électronique de commande U et le 20 connecteur sont représentées sur la figure, les étapes internes au serveur S et à l'unité électronique de commande U étant conformes à celles décrites précédemment. La figure 4bis illustre un exemple, dans lequel deux transactions applicatives X, Y impliquant une requête et une réponse applicative sont réalisées. En particulier, les transactions X et Y correspondent à des requêtes de 25 l'unité électronique de commande auxquelles le serveur doit apporter une réponse. Dans le cadre de la première connexion Cnx, le premier message applicatif montant Mml comprend des données utiles PImX correspondant à la requête de la transaction X. Le premier message descendant Mdl ne comprend aucunes données utiles ou des données utiles vides représentées par Plde 30 Dans le cadre de la seconde connexion Cnx, le deuxième message applicatif montant Mm2 comprend des données utiles PImY correspondant à la requête de la transaction Y. Le second message descendant Md2 comprend des données utiles PIdX correspondant à la réponse de la transaction X. Dans le cadre de la troisième connexion Cnx, le troisième message 35 applicatif montant Mm3 ne comprend pas de données utile, ce qui est représenté par 3031261 24 PImcD. Le message descendant Md2 comprend des données utiles PIdX correspondant à la réponse de la transaction X. Ainsi, les données utiles échangées montantes et descendantes lors d'un échange de messages montant et descendant, par exemple dans un échange 5 requête/réponse selon le protocole http(S), ne sont pas nécessairement relatives au même échange applicatif ou transaction entre l'unité électronique de contrôle et un module applicatif, mais à des échanges ou transaction différentes. La corrélation peut être réalisée du côté de l'unité électronique de commande grâce aux données d'identification Rqid de données utiles PIm 10 correspondant à une transaction applicative. Les deux procédés de traitement des messages applicatifs montants et descendants impliquent l'établissement d'une connexion Cnx entre l'une des unités électroniques de contrôle U et le serveur S. Etant donné que l'unité électronique de contrôle U est située sur un réseau privé PN protégé par un pare-feu, l'échange de 15 données entre le serveur et la pluralité d'unités électroniques de contrôle doit prendre en compte la présence de ce pare-feu. En particulier, l'établissement d'une connexion à l'initiative d'un serveur extérieur au réseau privé est de façon usuelle interdite par un pare-feu ou peut être rendue difficile par l'utilisation de mécanisme de traduction d'adresse (NAT). 20 En conséquence, dans le cas où l'unité électronique de contrôle U ne procède pas à une connexion en vue de communiquer des données utiles dans le sens montant, il est souhaitable de disposer d'un mécanisme permettant au serveur de solliciter l'établissement d'une telle connexion. A cet effet, la présente invention met en oeuvre un procédé de 25 transmission de données permettant notamment la transmission de messages applicatifs du serveur S vers une unité électronique de contrôle U. La figure 5 représente un schéma de mise en oeuvre des procédés de transmission de données exécutés sur le serveur S, en particulier par un connecteur C et sur une unité électronique de contrôle U d'une installation domotique I. 30 Selon le mode de mise en oeuvre décrit sur la figure 5, le procédé comprend une première phase PhO de négociation d'une clef secrète, une deuxième phase Phi réalisée selon le premier protocole de communication destiné à recueillir une demande de connexion de la part du serveur S et une troisième phase Ph2 de transmission de données suite à l'établissement d'une connexion selon le deuxième 35 protocole de communication à l'initiative de l'unité électronique de contrôle. 3031261 25 La phase de négociation d'une clef secrète PhO comprend une étape de transmission EO d'une clé de chiffrement dans un message Mkey par l'unité de contrôle électronique U au serveur S qui le reçoit lors d'une étape EO', de façon à permettre une signature des messages montants et/ou descendants selon le premier 5 protocole de communication P1 et/ou selon le deuxième protocole de communication P2. La clef de chiffrement peut notamment être choisie de façon aléatoire par l'unité électronique de contrôle U. Le serveur accuse réception de la clé et valide qu'il a bien pris en compte la nouvelle clef par un message descendant MkeyAck transmis dans une étape El' qui 10 est reçu par l'unité électronique de contrôle U lors d'une étape de réception El. Les échanges entre l'unité électronique de contrôle U lors de la phase de négociation peuvent être réalisées selon un protocole de communication distinct ou similaire au premier protocole de communication et au deuxième protocole de communication P1 et P2. A titre d'exemple, un protocole de type HTTPS peut être 15 choisi qui permet de communiquer la clef de façon sécurisée. Il est à noter que cet échange n'est pas réalisé fréquemment, et en conséquence ne représente pas une consommation de ressources significative. A titre d'exemple, une périodicité de plusieurs jours peut être prévue pour la validité des clefs. 20 La deuxième phase de communication Phi selon le premier protocole P1 comprend une première étape de transmission E2 périodique d'un message montant Mping selon le premier protocole de communication P1 par l'unité électronique de contrôle U à destination du serveur S qui le reçoit dans une étape E2'. A titre d'exemple, une périodicité de l'ordre d'une dizaine de secondes peut être 25 prévue pour la périodicité de la transmission, et notamment de l'ordre de 20s. En réponse à ce message montant, le serveur S transmet dans une étape E4' un message descendant Mpong à destination de l'unité électronique de contrôle U qui est reçu dans une étape préalable de réception E4 dans un premier délai Drl court après la transmission du message montant Mping. A titre d'exemple, le 30 délai Drl peut être de l'ordre de quelques secondes, et notamment de l'ordre de 5 s. Ce premier message Mpong descendant permet de maintenir le canal de communication ouvert pendant un deuxième délai Dr2 supérieur au premier délai Drl. Il apparaît en effet que le fonctionnement d'un pare-feu usuel peut empêcher le passage d'un message descendant dans la mesure où celui-ci est reçu au-delà d'un 35 premier délai après l'envoi d'un message montant. Egalement de façon usuelle, dans la mesure où un premier message descendant est reçu, un deuxième délai plus 3031261 26 important est accordé pour recevoir un ou plusieurs autres messages descendants. Il est notamment possible de choisir de déclencher une nouvelle transmission du message Mping avant l'expiration du délai Dr2. Par la suite, dans le cas où le serveur S a des données utiles DU à 5 transmettre à l'unité électronique de contrôle U, celui-ci transmet selon le premier protocole de communication PI lors d'une étape E5' un message de demande d'ouverture de connexion Mopen, qui est reçu par l'unité électronique de contrôle U lors d'une étape E5. La deuxième phase Phi de communication selon le premier protocole PI 10 comprend une étape de surveillance E3 d'un délai de réception Dr d'un message descendant en provenance du serveur S suite à la première étape de transmission Mping, le déclenchement d'une nouvelle première étape de transmission E2 étant réalisé en cas de dépassement du délai de réception. Lors de cette phase, les échanges sont signés avec la clé secrète 15 communiquée lors de la première phase de communication PhO. Comme cela est illustré sur la figure 6, lors de la deuxième phase Phi de communication selon le premier protocole de communication Pl, le serveur peut réaliser une étape de transmission ERO' d'une indication de clef invalide ou expirée Minvalidkey en provenance du serveur S, et en réponse une nouvelle étape 20 de transmission d'une clef de chiffrement EO. Typiquement, cette situation peut intervenir lors de la transmission d'un message montant MPing, le serveur ayant constaté que le message présente un format correct mais n'est pas signé avec une clé valide. Il est à noter qu'en cas de redémarrage de l'unité électronique de contrôle, la première phase de communication PhO avec communication de la clé est réalisée à 25 nouveau. Lors de la deuxième phase de communication Phi, Le premier protocole de communication peut notamment être le protocole UDP. La troisième phase Ph2 du procédé est réalisée suite à la réception de la demande d'ouverture de connexion reçue par l'unité électronique de contrôle dans la 30 deuxième phase à l'étape E5. Dans un premier temps, une étape d'établissement E6 d'une connexion Cnx vers le serveur S qui accepte cette connexion dans une étape correspondante E6' est réalisée, à l'initiative de l'unité électronique de contrôle U selon un deuxième protocole de connexion P2. En particulier, le protocole de 35 communication peut être le protocole TCP. Dans ce cas, l'étape d'établissement E6 peut comprendre plusieurs échanges entre le serveur et l'unité U, et en particulier des 3031261 27 échanges de messages de gestion de connexion, comme les messages du protocole TCP SYN, SYN/ACK, ACK. Une fois la connexion Cnx établie, une étape de transmission E7 d'un message montant Mm est réalisée selon le deuxième protocole de communication P2 5 à destination du serveur S qui reçoit ce message dans un étape E7'. En particulier, le message Mm peut être un message sans données utiles mais constituant un message montant auquel une réponse sera apportée par le serveur. Ainsi, le serveur transmet un message descendant Md dans une étape de 10 transmission E8' à destination de l'unité électronique de contrôle U. Ce message descendant contient les données utiles Pld que le serveur devait transmettre à l'unité électronique de contrôle U. Suite à cet échange, une étape de libération ou d'acceptation de la libération E9, E9' de la connexion Cnx est réalisée. 15 Le deuxième protocole de communication utilisé peut être en particulier le protocole TCP. Les échanges des étapes E7/E7' et E8/E8' peuvent notamment être réalisés sous forme d'une requête et d'une réponse selon le protocole HTTPS qui utilise TCP. Selon des variantes de mise en oeuvre, la libération de la connexion peut 20 intervenir après plusieurs échanges de messages montants et/ou de réception de messages descendantes selon le deuxième protocole de communication ou encore après un délai déterminé après l'étape d'établissement de la communication E6. Les étapes d'établissement de la connexion E6 et d'acceptation de cette connexion E6' peuvent respectivement correspondre aux étapes d'établissement 25 d'une connexion EDU5 et EDC5 décrites en référence à la figure 4 pour le procédé de transmission de messages descendants applicatifs. Les étapes de transmission d'un message montant applicatif E7 et de réception E7' peuvent respectivement correspondre aux étapes de transmission et de réception EDU6 et EDC6 décrites en référence à la figure 4 pour le procédé de 30 transmission de messages descendants applicatifs. Les étapes de transmission d'un message descendant applicatif Md E8 et de réception E8' peuvent respectivement correspondre aux étapes de transmission et de réception EDC8 et EDU8 décrites en référence à la figure 4 pour le procédé de transmission de messages descendants applicatifs. 35 Selon un deuxième mode de mise en oeuvre d'un système mettant en oeuvre l'invention représenté sur la figure 7, le premier protocole de communication 3031261 28 est un protocole de type SMS comprenant l'envoi d'un message du serveur vers l'unité électronique de contrôle U identifiée dans ce cas par un numéro téléphonique. Ce deuxième protocole est utilisé sur un réseau de type téléphonique N2, par exemple un réseau GSM ou téléphonie filaire sur Internet, avec une fonction de gestion de 5 messages numériques. Le serveur S comprend à cet effet une interface de communication 107 sur le réseau N2, comme par exemple une carte GSM, tout comme l'unité électronique de contrôle, qui comprend également une interface de communication 7 sur le réseau N2, comme une carte GSM ou un module matériel et logiciel de 10 téléphonie sur Internet, pouvant être intégré au pare-feu ou à l'unité électronique de contrôle U. Ainsi, l'échange selon le premier protocole et l'étape de réception d'une demande d'ouverture de connexion correspond à un simple envoi de SMS entre le serveur S et l'unité électronique de contrôle U. 15 La figure 7 ne représente qu'une unité électronique de contrôle, mais ce deuxième mode de réalisation s'applique bien entendu à la communication avec une multitude d'unités électroniques de contrôles. Selon des variantes de mise en oeuvre, le premier protocole utilisé peut être de divers types permettant de ne pas être soumis aux contraintes imposées par le 20 pare-feu. Selon une deuxième variante, le premier protocole correspond à une donnée fournie dans un flux audio et/ou vidéo, par exemple un flux MPEG. Selon cette variante, l'unité électronique de contrôle U comprend ou est associée à une interface de décodage du flux audio et/ou vidéo correspondant. 25 Selon une autre variante, le premier et/ou le deuxième protocole peuvent être de type Raw IP ou autre protocole au dessus d'IP. Selon des variantes de la troisième phase de communication Ph2, il est possible que les échanges applicatifs suivent le modèle des transactions, comprenant une requête et une réponse. Les requêtes sont envoyées sous forme de messages 30 montants, et les réponses sous forme de messages descendants. Ainsi, dans un échange de requête et réponse sous forme d'un message montant, respectivement descendant, seule la réponse ou seule la requête peut contenir des données utiles. Un message montant et le message descendant émis en retour peuvent contenir des données utiles qui ne correspondent pas nécessairement à la même transaction. Par 35 exemple une requête en cours nécessitant un traitement applicatif est transmise sous forme de message montant, et peut déclencher la transmission d'un message 3031261 29 descendant sans données utiles, ou contenant des données utiles relatives à une requête antérieure. De la même manière, la réponse applicative correspondant à la requête en cours peut être envoyée lors d'un échange message montant/message descendant ultérieur. Cet échange peut comprendre un message montant sans 5 données utiles. Selon une variante de la troisième phase de communication Ph2, il est possible que suite à l'établissement de la connexion E6, seul un message descendant soit transmis par le serveur S, sans transmission d'un message montant par l'unité de contrôle électronique. Dans ce cas, un protocole distinct de HTTPS peut être utilisé, 10 tout en s'appuyant sur les services fiables fournis par un protocole transport fonctionnant en mode connecté, comme TCP Il est à noter que la description ci-dessus décrit des procédés permettant la transmission de données du serveur S vers l'unité électronique de contrôle U. La transmission de données dans le sens de l'unité électronique de 15 contrôle vers le serveur peut être réalisée par exemple selon le deuxième protocole de communication sans difficulté étant donné qu'il est possible d'établir directement une connexion à l'initiative de l'unité électronique de contrôle. A titre d'exemple une requête et une réponse selon le protocole HTTPS peuvent être réalisée, puis la connexion établie libérée afin de limiter l'utilisation de 20 ressources du serveur. Il est à noter que l'optimisation des ressources réseau permise par l'invention est important dans le cas de figure d'un système de connexion d'une pluralité d'unité électronique de contrôle vers un serveur. Les ressources réseau sont notamment nécessaires au maintien d'une 25 connexion au niveau de la couche logicielle « transport », au dessus de la couche réseau (IP). Ce protocole doit fournir à l'application un service « transport » fiable, en mode dit « connecté » entre le serveur et chacune des unités électroniques de contrôle. Les ressources réservées pour assurer un service transport en mode connecté sont importantes, car pour chaque connexion il faut réserver des mémoires 30 tampon pour les données entrantes, mais aussi pour les données sortantes, car il faut garder des messages déjà transmis, mais pas encore acquittés, afin d'éviter leur perte et de permettre leur éventuelle retransmission. Comme le mode connecté assure une communication point à point, il y a une connexion par unité électronique de contrôle. REVENDICATIONS1. Procédé de traitement de messages montants applicatifs en provenance d'une unité électronique de contrôle (U) d'une installation domotique par un serveur (S) comprenant les étapes suivantes : une étape d'établissement (EMC1) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) ; une étape de réception (EMC2) d'un message montant applicatif (Mm) par le serveur (S) en provenance de l'unité électronique de contrôle (U); une étape de postage (EMC4) d'un message entrant (Me), dans le cas ou le message montant applicatif contient des données utiles (Pim), le message entrant (Me) étant posté sur une file d'attente entrante (Qe) en vue d'un traitement par un module applicatif (MA), le message entrant (Me) comprenant des données utiles (Pim) déterminées en fonction des données utiles (Pld) du message montant applicatif (Mm) et un identifiant de l'unité électronique de contrôle (Uid) ; une étape de libération (EMC9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ; 2. Procédé selon la revendication précédente, comprenant une étape de transmission (EMC8) d'un message descendant (Md) à l'unité électronique de contrôle (U) en réponse au message montant applicatif (Mm), le message descendant (Md) comprenant des données utiles (PLd) reçues préalablement ou aucunes données utiles. 3. Procédé selon l'une des revendications précédentes, comprenant une étape de détermination (EMC3) d'une file d'attente d'entrante (Qe) sur laquelle le message entrant (Me) doit être posté, préalablement à l'étape de postage (EMC4), l'étape de détermination prenant en compte l'identifiant de l'unité électronique de contrôle (Uid). 4. Procédé selon l'une des revendications précédentes, comprenant une étape préalable de routage (ERtM1) des messages montants applicatifs et/ou de la 35 connexion (Cnx) en fonction de l'unité électronique de contrôle (U) vers une instance 3031261 31 de traitement (C), la correspondance entre une instance de traitement (C) et une unité électronique de contrôle (U) étant mémorisée dans un référentiel (Reg). 5. Procédé selon l'une des revendications précédentes, comprenant une 5 étape postérieure de collecte (EMH5, EMMA6) d'au moins un message sur une file d'attente entrante (Qe) par un écouteur (H) en lien avec module applicatif (MA). 6. Procédé de traitement de messages descendants à destination d'une unité électronique de contrôle (U) d'une installation domotique par un serveur (S) 10 comprenant les étapes suivantes : - Une étape de collecte (EDC3) d'un message sortant (Ms) sur une file d'attente sortante (Qs) en provenance d'un module applicatif (MA), le message sortant (Ms) comprenant un identifiant d'une unité électronique de contrôle (Uid) et des données utiles (Pld) ; 15 - une étape d'établissement (EDC5) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) correspondant à l'identifiant de l'unité électronique de contrôle (Uid) comprise dans le message sortant (Ms) ; - une étape de transmission (EDC8) d'un message descendant 20 applicatif (Md) à l'unité électronique de contrôle (U), le message descendant applicatif (Md) comprenant des données utiles (PLd) déterminées à partir des données utiles (Pld) du message sortant (Ms) ; - une étape de libération (EDC9) de la connexion (Cnx) de façon 25 immédiate ou suite à un délai maximal (Tmax) ; 7. Procédé selon la revendication précédente, comprenant une étape de réception (EDC6) d'un message montant applicatif (Mm) par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement à l'étape de 30 transmission (EDC8) d'un message descendant applicatif (Md), le message montant applicatif (Mm) comprenant des données utiles (PLm) ou aucune donnée utile; 8. Procédé selon l'une quelconque des revendications 6 ou 7 comprenant une étape de mémorisation (EDC4) de données utiles (Pld) comprises dans au moins un message sortant (Ms) et de l'identifiant de l'unité électronique de contrôle (Uid) ; 3031261 32 9. Procédé selon la revendication 8, dans lequel l'étape de mémorisation (EDC4) est réalisée en mémorisant les données utiles (Pld) d'un ou de plusieurs messages sortant (Ms) correspondant à un identifiant (Uid) d'une unité électronique de contrôle (U), les données utiles (Pld) étant ensuite transmises lors de 5 l'étape de transmission (EDC8) à l'unité électronique de contrôle (U) correspondant à l'identifiant (Uid). 10. Procédé selon l'une quelconque des revendications 6 à 9, comprenant : 10 une première étape de réception (EDC6a) d'un premier message montant applicatif (Mm1) par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement à l'étape de transmission (EDC8) d'un message descendant applicatif (Md2), le premier message montant applicatif (Mm1) comprenant des 15 premières données utiles montantes (PLmX); et une deuxième étape de réception (EDC6b) d'un second message montant applicatif (Mm2), ultérieurement à la première étape de réception d'un premier message montant applicatif par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement 20 à l'étape de transmission (EDC8b) d'un message descendant applicatif (Md2), le second message montant applicatif (Mm2) comprenant des secondes données utiles montantes (PLmY) ou aucune donnée utile; le message descendant applicatif (Md2) comprenant des données utiles 25 descendantes (PIdX) correspondant à une réponse au premier message montant applicatif (Mm1) en provenance de l'unité électronique de contrôle (U). 11. Procédé selon l'une quelconque des revendications 6 à 10, dans lequel le message sortant (Ms) comprend des données utiles (Pld) générées par un 30 module applicatif (MA) suite à un évènement extérieur. 12. Procédé de traitement de messages montants applicatifs par une unité électronique de contrôle (U) d'une installation domotique à destination d'un serveur (S) comprenant les étapes suivantes : 35 - une étape de mémorisation (EMUO) de données d'identification (Rqid) de données utiles (PImX, PImY) correspondant 3031261 33 à un message montant applicatif (Mm1, Mm2) afin de pouvoir corréler lesdites données utiles (PImX, PImY) avec les données utiles (PIdX) d'un message descendant applicatif ultérieur (Md2, Md3). 5 - une étape d'établissement (EMU1) d'une connexion (Cnx) vers le serveur (S) à l'initiative de l'unité électronique de contrôle (U) ; - une étape de transmission (EMU2) d'un message montant applicatif (Mm1, Mm2) par l'unité électronique de contrôle (U) à destination du serveur (S) comprenant les données utiles (PImX, 10 PImY) et un identifiant (Uid) de l'unité électronique de contrôle (U), - une étape d'acceptation de la libération (EMU9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ; 13. Procédé selon la revendication précédente comprenant une étape de 15 réception (EMU8) d'un message descendant applicatif (Md1, Md2, Md3) par l'unité électronique de contrôle (U) en provenance du serveur (S), le message descendant applicatif (Md) comprenant des données utiles (PIdX, PIdY) ou aucune donnée utile. 14. Procédé de traitement de messages descendants applicatifs par une 20 unité électronique de contrôle (U) d'une installation domotique en provenance du serveur (S) comprenant les étapes suivantes : - une étape d'établissement (EDU5) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) ; - une étape de réception (EDU8) d'un message descendant 25 applicatif (Md1, Md2, Md3) à l'unité électronique de contrôle (U), le message descendant applicatif comprenant des données utiles descendantes (PIdX, PIdY) ; - une étape d'acceptation de la libération (EDU9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ; 30 - une étape de vérification (EDU10) de la correspondance des données utiles descendantes (PIdX, PIdY) avec des données utiles montantes (PIdX, PIdY) d'un d'un message montant applicatif (Mm1, Mm2, Mm3) précédent en utilisant des données d'identification (Rqid) de données utiles (PImX, PImY) mémorisées; 35 3031261 34 15. Procédé selon la revendication précédente comprenant une étape de transmission (EDU6) d'un message montant applicatif (Mm) par l'unité électronique de contrôle (U) vers le serveur (S), le message montant applicatif (Md) comprenant des données utiles (Pim) ou aucune donnée utile. 5