Brevet FR3126532A1 — publié le 20230303

L’invention concerne un procédé (400) de commande en temps réel, depuis un premier site, d’au moins une machine cible située sur un deuxième site, distant dudit premier site, ledit procédé (400) comprenant : un établissement (404) d’une connexion WebRTC pair à pair, entre une première application exécutée par un premier appareil se trouvant sur ledit premier site, et une deuxième application exécutée au niveau dudit deuxième site ; et au moins une itération d’une phase (406) de commande comprenant les étapes suivantes : réception par ladite première application, d’une commande à appliquer à ladite au moins une machine cible, transmission (412) de données de commande, représentant ladite commande à appliquer, par ladite première application à ladite deuxième application, par un canal de données de ladite connexion WebRTC, et application (416) de ladite commande à ladite au moins une machine cible sur le deuxième site. Elle concerne également un système mettant en œuvre un tel procédé et une installation mettant en œuvre un tel procédé et/ou un tel système. Figure à publier avec l’abrégé : Fig. 4 Procédé et système de commande à distance et en temps réel d’une machine, et installation mettant en œuvre un tel procédé ou système La présente invention concerne un procédé de commande à distance d’une machine. Elle concerne également un système mettant en œuvre un tel procédé et une installation mettant en œuvre un tel procédé et/ou un tel système. Le domaine de l’invention est le domaine du contrôle ou de la commande à distance de machines, telle que des caméras, des robots, des drones, etc., en particulier dans le domaine médical ou de l’assistance médical. En particulier, le domaine de l’invention et la commande à distance d’une caméra pour modifier et/ou ajuster le champ de vue de la caméra. État de la technique Il existe de plus en plus de domaines dans lesquels un opérateur, se trouvant sur un premier site, contrôle une machine se trouvant sur un deuxième distant dudit premier site. Par exemple, dans le domaine médical, un praticien se trouvant un premier site peut commander un robot médical en vue d’exécuter un geste opératoire sur un patient se trouvant sur un deuxième site distant dudit premier site. Suivant un autre exemple, un spécialiste peut guider, par exemple par des instructions visuelles ou vocales, un praticien exécutant un geste opératoire sur un patient au niveau d’un deuxième site. Dans ce cas, le praticien observe la scène à l’aide d’une caméra qu’il contrôle à distance en vue de prendre les informations concernant le patient mais aussi le geste opératoire en cours d’exécution. Quelle que soit l’application, il est important que la machine se trouvant sur le deuxième site, par exemple le robot ou la caméra, puisse être contrôlée par le praticien se trouvant sur le premier site de manière rapide avec le moins de latence possible. Dans le cas d’un geste médical, cela peut même devenir vital. Or, les solutions actuelles de contrôle à distance d’une machine présentent une latence trop grande pouvant causer des dommages irréparables dans certains cas, non adaptée à certaines applications, ou encore dégradant la fluidité du contrôle à distance d’une machine. De plus, ces solutions sont généralement complexes, coûteuses et lourdes à déployer. Un but de la présente invention est de remédier aux inconvénients précités. Un autre but de l’invention est de proposer une solution de contrôle en temps réel d’une machine présentant moins de latence que les solutions actuelles. Un autre but de la présente invention est de proposer une solution de contrôle à distance d’une machine plus simple, moins coûteuse, moins lourde à déployer. L’invention propose d’atteindre au moins l’un des buts précités par un procédé de commande en temps réel, depuis un premier site, d’au moins une machine cible située sur un deuxième site, distant dudit premier site, ledit procédé comprenant : un établissement d’une connexion WebRTC pair à pair, entre une première application exécutée par un premier appareil se trouvant sur ledit premier site, et une deuxième application exécutée au niveau dudit deuxième site ; et au moins une itération d’une phase de commande comprenant les étapes suivantes : réception par ladite première application, d’une commande à appliquer à ladite au moins une machine cible, transmission de données de commande représentant ladite commande à appliquer, par ladite première application à ladite deuxième application, par un canal de données de ladite connexion WebRTC, et application de ladite commande à ladite au moins une machine cible sur le deuxième site. Ainsi, le procédé selon l’invention propose d’établir une connexion WebRTC, qui est une connexion pair à pair (« Peer to Peer connection » en anglais) utilisant le protocole WebRTC, entre le premier site et le deuxième site. De plus, l’invention propose de transmettre des données représentant une commande à appliquer à la machine cible au travers du canal de données de la connexion WebRTC. Une connexion WebRTC est une connexion permettant d’échanger des données de manière très rapide, en temps réel, et avec très peu de latence. Ainsi, la commande à appliquer à la machine cible est transmise depuis le premier site vers le deuxième site de manière très rapide et avec moins de latence que les solutions actuelles. Il est important de noter que le canal de données d’une connexion WebRTC a été conçu et est utilisé pour l’établissement d’une messagerie instantanée entre les deux parties de ladite connexion. De manière tout à fait inattendue et innovante, les inventeurs proposent d’utiliser ce canal de données, non pas uniquement pour l’établissement d’un chat, mais également pour transmettre des données de commande de la machine. De plus, la solution proposée par la présente invention ne nécessite pas d’utiliser de matériel spécifique et complexe car l’établissement de la connexion WebRTC est réalisé par des applications qui peuvent être exécutées par des appareils classiques de type ordinateur, tablettes, serveurs, etc. Ainsi, la solution proposée par la présente invention est plus simple, moins coûteuse, moins lourde à déployer que les solutions actuelles. Dans la présente invention, chacune des première application et deuxième application est une application informatique classique, également appelée application native, installée et exécutée par un dispositif informatique de type ordinateur, serveur, tablette, etc. Aucune de ces applications n’est un navigateur ou une application web (« Webapp » en anglais). Ainsi, contrairement à la pratique actuelle dans laquelle une connexion WebRTC est établie par des navigateurs ou des Webapp, la solution proposée par la présente invention est mise en œuvre au travers d’applications installées sur, et exécutées par, des appareils informatiques se trouvant sur le premier et sur le deuxième site. Par conséquent, dans la solution proposée par la présente invention, il est possible d’utiliser plus de ressources informatiques locales aux appareils exécutant les applications, ce qui n’est pas possible avec un navigateur ou une Webapp qui ont un accès très limité aux ressources informatiques locales. Suivant des versions préférées, le procédé selon l’invention peut comprendre au moins une itération d’une étape de transmission, par la deuxième application à la première application, de données relatives à ladite machine cible au travers de ladite connexion WebRTC. Au moins une donnée relative à ladite machine cible, transmise par la deuxième application à la première application, peut-être une donnée captée, ou produite, par : ladite machine cible, ou un appareil autre que ladite machine cible se trouvant sur la deuxième cible Au moins une donnée transmise par la deuxième application à la première application peut comprendre une combinaison quelconque d’au moins une des données suivantes : au moins une donnée d’état de la machine cible, tel que par exemple une donnée de position de ladite machine, une donnée d’orientation de ladite machine, une donnée d’un état fonctionnel de ladite machine ou d’un organe de ladite machine, etc. au moins une grandeur physique relative à ladite machine cible telle qu’une donnée de température, une donnée de pression, etc., au moins une donnée sonore relative à ladite machine cible, au moins une donnée visuelle relative à ladite machine, ou un organe de ladite machine, telle qu’une image ou une vidéo. L’étape de transmission de données de la deuxième application vers la première application peut être réalisée en continue, ou à chaque itération d’une phase de commande, ou encore à fréquence donnée. Suivant un exemple de réalisation, les données relatives à la machine cible peuvent comprendre au moins une image, ou une vidéo, captée par une caméra. Dans ce cas, lesdites données peuvent être transmises par un canal vidéo de la connexion WebRTC. Dans ce cas, ladite au moins une image ou une vidéo peut être captée par la machine cible, ou par une caméra dirigée vers ladite machine cible. Suivant des modes de réalisation, la phase de commande peut en outre comprendre une étape de saisie, par un utilisateur, de la commande à appliquer, au travers d’une interface de commande. L’interface de commande peut comprendre une interface homme machine. L’interface de commande peut comprendre une surface tactile ou un écran tactile, un pointeur, un joystick, une pédale de commande, une manette, ou tout autre dispositif d’entrée de commande. L’interface de commande peut être une interface du premier appareil sur lequel est installée la première application. Alternativement, l’interface de commande peut être un dispositif d’entrée de commande, tel qu’une souris, ou un clavier, relié au premier appareil. Suivant encore une alternative, l’interface de commande peut comprendre une interface d’un autre appareil d’entrée de commande se trouvant sur ledit premier site et relié audit premier appareil. Suivant un exemple de réalisation, l’interface de commande est un écran tactile du premier appareil, ce dernier pouvant être un ordinateur ou une tablette. La phase de commande peut en outre comprendre une étape de conversion des données de commandes en un format, dit interne, connu par la première application et la deuxième application. Cette conversion de données peut être réalisée par la première application, ou par une autre application coopérant avec ladite première application. Dans le cas où, l’interface de commande comprend un organe de commande, tel qu’une pédale commande ou un joystick ou encore des capteurs portés par l’utilisateur, la phase de commande peut en outre comprendre une étape de conversion d’au moins un signal électrique, fourni ledit organe de commande, en données numériques. Cette conversion de données peut être réalisée par la première application, ou par une autre application, installée ou non sur le premier appareil. Suivant des versions non limitatives, la deuxième application peut être directement exécutée sur la machine cible. Dans ce cas, la machine cible peut comprendre un processeur ou un calculateur, ou encore une puce programmable, exécutant la deuxième application. Suivant d’autres versions, la deuxième application peut être exécutée sur un appareil, dit deuxième appareil, autre que la machine cible, disposé au niveau dudit deuxième site et relié à ladite machine cible. Dans ce cas, ce deuxième appareil reçoit les données représentant la commande et transmet ces données à la machine cible. Le deuxième appareil peut être tout type d’appareil capable d’exécuter la deuxième application, tel qu’un serveur, un ordinateur, une tablette, etc. Le deuxième appareil peut être un appareil dédié ou non à la commande de la machine cible. La phase de commande peut comprendre, au niveau du deuxième site, une étape de conversion des données commande en un format connu par la machine cible, ou par un actionneur de, ou couplé à, la machine cible. Un tel actionneur peut être un moteur, un vérin, ou tout autre organe électrique permettant de faire bouger la machine cible ou une partie de la machine cible. Cette conversion de données peut être réalisée par la deuxième application, ou par une autre application, coopérant avec ladite deuxième application. Avantageusement, le procédé selon l’invention peut en outre comprendre, préalablement à l’étape d’établissement d’une connexion WebRTC pair à pair, une étape de sélection d’au moins une machine cible parmi une pluralité de machines, situées à distance dudit du premier site. Ainsi, le procédé selon l’invention offre la possibilité de commander plusieurs machines cibles depuis le premier site distant, étant entendu qu’une ou plusieurs machines cibles peuvent être commandées à la fois. Dans ce cas, une deuxième application peut être associée à une ou plusieurs machines. Chaque machine peut se trouver sur un deuxième site différent de chacune des autres machines cibles. Alternativement, au moins deux machines cibles peuvent se trouver sur le même deuxième site. Suivant un autre aspect de la présente invention, il est proposé un système de commande en temps réel, depuis un premier site, d’au moins une machine cible située sur un deuxième site, distant dudit premier site, ledit système comprenant : au niveau dudit premier site, une première application exécutée par un premier appareil se trouvant sur ledit premier site, au niveau dudit deuxième site, une deuxième application exécutée par un deuxième appareil se trouvant sur ledit deuxième site, ou par ladite au moins une machine cible ; lesdites première et deuxième applications étant configurées pour réaliser les opérations suivantes : établissement d’une connexion WebRTC pair à pair, entre-elles ; et au moins une itération d’une phase de commande comprenant les étapes suivantes : réception par ladite première application, d’une commande à appliquer à ladite au moins une machine cible, transmission de données de commande, représentant ladite commande à appliquer, par ladite première application à ladite deuxième application, par un canal de données de ladite connexion WebRTC, et application de ladite commande à ladite au moins une machine cible sur le deuxième site. De manière générale, le système selon l’invention peut en outre comprendre, en termes de moyen matériel et/ou de moyen logiciel, une combinaison quelconque des caractéristiques décrites plus haut en référence au procédé selon l’invention, et qui ne sont pas reprises ici en détail par soucis de concision. En particulier, le système selon l’invention peut comprendre une interface de commande configurée pour entrer ou saisir une commande à appliquer à la machine cible par un utilisateur. Une telle interface de commande peut être intégrée ou non au premier appareil. Suivant un exemple de réalisation nullement limitatif, la machine cible peut être montée une caméra. La caméra peut être montée sur, ou être munie de, un positionneur. Dans ce cas, l’invention peut être mise en œuvre pour commander une combinaison quelconque d’au moins une des caractéristiques suivantes de la caméra : un champ de vue de la caméra, au moins une caractéristique optique de la caméra, au moins une orientation de la caméra, une position de la caméra, etc. Suivant d’autres exemples de réalisation, la machine cible peut être un bras robotisé, un robot, un véhicule, un drone, etc. Le procédé et/ou le système selon l’invention peut être utilisé pour l’assistance à distance, depuis le premier site, à un geste médical, et en particulier à un geste opératoire, réalisé sur le deuxième site. Par exemple, un premier opérateur se trouvant sur le premier site peut assister un deuxième opérateur se trouvant sur le deuxième site et exécutant le geste médical. Dans ce cas, la machine cible peut être une caméra se trouvant sur le deuxième site et permettant au premier opérateur de suivre l’exécution du geste médical par le deuxième opérateur. Le premier opérateur peut alors commander la caméra pour obtenir les points de vue qu’il souhaite et dont il a besoin pour assister ou guider le deuxième opérateur. Suivant un autre aspect de la présente invention, il est proposé une installation comprenant : au moins une machine cible située sur un deuxième site, et un système selon l’invention pour commander à distance ladite au moins une machine cible. Suivant un autre aspect de la présente invention, il est proposé un programme d’ordinateur comprenant des instructions informatiques qui, lorsqu’elles sont exécutées par ordinateur mettent en œuvre le procédé selon l’invention. Description des figures et modes de réalisation D’autres avantages et caractéristiques apparaîtront à l’examen de la description détaillée de modes de réalisation nullement limitatifs, et des dessins annexés sur lesquels : la est une représentation schématique d’un exemple de réalisation non limitatif d’une installation selon l’invention ; la est une représentation schématique d’un deuxième exemple de réalisation non limitatif d’une installation selon l’invention ; la est une représentation schématique d’un troisième exemple de réalisation non limitatif d’une installation selon l’invention ; et la est une représentation schématique d’un exemple de réalisation d’un procédé selon l’invention. Il est bien entendu que les modes de réalisation qui seront décrits dans la suite ne sont nullement limitatifs. On pourra notamment imaginer des variantes de l’invention ne comprenant qu’une sélection de caractéristiques décrites par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. Cette sélection comprend au moins une caractéristique de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si c'est cette partie qui est uniquement suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. En particulier toutes les variantes et tous les modes de réalisation décrits sont combinables entre eux si rien ne s’oppose à cette combinaison sur le plan technique. Sur les figures et dans la suite de la description, les éléments communs à plusieurs figures conservent la même référence. La est une représentation schématique d’un exemple de réalisation non limitatif d’une installation selon l’invention. Dans l’installation 100, représentée sur la , il est prévu de commander, depuis un premier site 102, une ou plusieurs machines cibles installées sur un deuxième site 104, distant dudit premier site 102. Suivant un exemple de réalisation non limitatif chaque machine cible est une caméra 106. Optionnellement chaque caméra 106 peut être munie d’un positionneur commandable 108 permettant de modifier l’orientation de ladite caméra. Le positionneur peut par exemple être un support mécanique comportant un ou plusieurs moteurs, ou vérins, permettant de modifier l’orientation de la caméra 106 suivant un ou plusieurs axes. Suivant un exemple de réalisation, chaque caméra 106 est une caméra PTZ (pour « Pan, Tilt, Zoom »). Une telle caméra 106 peut être pilotée pour ajuster le zoom de la caméra et son orientation suivant deux axes perpendiculaires entre eux. Dans l’exemple représenté, l’installation comprend deux caméras 106. Ce nombre est bien entendu non limitatif et l’installation peut comprendre une ou plusieurs machines cibles. L’installation 100 comprend au niveau du premier site 102 un premier appareil informatique 110 exécutant une première application native 112, c’est-à-dire une application installée sur le premier appareil 110 et exécutée sur le premier appareil 110. Le premier appareil 110 peut être tout type d’appareil informatique tel qu’un ordinateur, un serveur, une tablette, etc. capable d’exécuter une application native. L’installation 100 comprend en outre une deuxième application native 114, au niveau du deuxième site 104. Dans l’exemple représenté, la deuxième application 114 est installée sur un deuxième appareil informatique 116 se trouvant sur le deuxième site 104 et qui est en communication, filaire ou sans fil, avec chaque caméra 106. Le deuxième appareil 116 peut être tout type d’appareil informatique tel qu’un ordinateur, un serveur, une tablette, etc. capable d’exécuter une application native. Les applications 112 et 114 sont conçues et configurées pour établir, entre elles, une connexion 118 selon le protocole WebRTC au travers d’un réseau de communication 120, tel que le réseau internet. La connexion WebRTC 118 est une connexion pair à pair, bidirectionnelle, et peut comprendre de manière classique et connue, un canal média 122 permettant d’échanger des flux audio et/ou vidéo, un canal de données 124, permettant d’échanger des données génériques. Ce canal de données 124 est classiquement utilisé pour une messagerie instantanée, ou pour chatter. La présente invention prévoit d’utiliser le canal de données 124 pour transmettre depuis le premier site 102 des données de commandes des caméras 106 se trouvant sur le deuxième site 104. L’installation 100 peut en outre comprendre, au niveau du premier site 102, une interface de commande 126. L’interface de commande 126 permet à un opérateur d’entrer une ou plusieurs commandes à appliquer à au moins une des caméras 106. Dans l’exemple représentée, l’interface de commande peut être un appareil utilisateur tel qu’une tablette 126 comportant un écran tactile 128. De manière alternative, l’interface de commande peut être intégrée dans le premier appareil 102. Par exemple, l’interface de commande peut être un écran tactile du premier appareil 102. Ainsi, un opérateur se trouvant sur le premier site 102 peut entrer une commande à appliquer à l’une des caméras 106 au travers de l’interface de commande 126. Une telle commande peut par exemple être une modification d’un zoom d’une des caméras 106, une modification d’une orientation, ou d’un angle de vue d’une des caméras 106. Chaque commande entrée sur l’interface de commande 126 est relayée à la première application 112, qui transforme cette commande en données numériques selon un format, dit format interne, prédéterminé et connu à la fois de la première application et de la deuxième application 114. Les données numériques représentant la commande sont ensuite transmises, par la première application 112 à la deuxième application 114, par le canal de données 124 de la connexion WebRTC 118. Les données représentant la commande sont reçues par la deuxième application 114. Elles sont ensuite traduites, ou transformées, par la deuxième application, depuis le format interne, en un format accepté par chaque caméra 106 et transmises à la caméra 106 concernée par la commande. La caméra 106 ayant reçue les données de commande applique alors la commande entrée par l’opérateur, en modifiant son zoom ou en modifiant son orientation. De manière optionnelle, mais particulièrement préférée, au moins une des caméras 106 peut fournir un flux vidéo qui est transmis par la deuxième application 114 à la première application 112, au travers de la connexion WebRTC en utilisant le canal média 122 de la connexion WebRTC. La transmission du flux vidéo peut être réalisée en temps réel et de manière continue. Lorsque l’installation 100 comprend plusieurs caméras 106, comme représentée sur la , il peut être prévue de créer, dans la connexion pair à pair RTC, et pour chaque caméra : un canal de données pour commander chaque caméra de manière individuelle, et un canal média pour transmettre le flux vidéo fourni par chaque caméra vers le premier site. La création d’un canal de données est réalisée en appelant la fonction CreateDataChannel ( ) prévu dans l’API WebRTC. La est une représentation schématique d’un autre exemple de réalisation non limitatif d’une installation selon l’invention. L’installation 200, représentée sur la , comprend tous les éléments de l’installation 100 de la , sauf en ce qui concerne les différences indiquées ci-dessous. A la différence de l’installation 100, l’installation 200 ne comprend pas d’appareil 126 formant l’interface de commande. Les commandes sont entrées au travers d’un écran tactile 128 du premier appareil 102 exécutant la première application 112. En outre, à la différence de l’installation 100, l’installation 200 ne comprend pas de deuxième appareil 106. La deuxième application 114 est installée directement dans la caméra 106 PTZ. Dans ce cas, la connexion WebRTC 118 est établie entre le premier appareil 102 et la caméra 106. Par ailleurs, à la différence de l’installation 100, dans l’installation 200, le deuxième site 104 ne comprend qu’une seule caméra 106 qui peut être commandée par le premier appareil 102. La est une représentation schématique d’un autre exemple de réalisation non limitatif d’une installation selon l’invention. L’installation 300, représentée sur la , comprend tous les éléments de l’installation 200 de la , sauf en ce qui concerne les différences indiquées ci-dessous. L’installation 300 comprend une pluralité de deuxièmes sites 104 1 -104 n comprenant chacun une machine cible qui est une caméra, respectivement 106 1 -106 n . Chaque caméra cible 106 i est munie d’une deuxième application, respectivement 114 i , installée dans chaque caméra 106 i et exécutée par ladite caméra 106 i . Ainsi, au niveau du premier 102, il est possible de choisir la caméra cible à commander parmi les caméras 106 1 -106 n , par exemple en saisissant l’identifiant de la caméra cible, ou en sélectionnant l’identifiant de la caméra cible, par exemple dans une liste déroulante. Dans l’installation 300, les deuxièmes sites 104 1 -104 n sont identiques entre eux, et chaque deuxième site 104 i est identique au deuxième site 104 de la . Bien entendu, dans des versions alternatives, les deuxièmes sites peuvent être différents les uns des autres. Par exemple, l’installation 300 peut comprendre au moins un deuxième site qui est différent du deuxième 104 de la , tel que par exemple le deuxième site 104 de la . Dans les exemples décrits, la machine cible est une caméra. Bien entendu cet exemple n’est nullement limitatif et l’invention peut être mise en œuvre pour commander à distance une machine qui n’est pas une caméra, telle que par exemple un robot, un bras robotisé, un drone, un véhicule, etc. Dans les exemples décrits, le flux vidéo retourné par le deuxième site vers le premier site est capté par la machine cible elle-même. Bien entendu cet exemple n’est nullement limitatif. Dans des versions alternatives, l’installation peut comprendre au moins une caméra, disposée dans l’environnement d’une machine cible faisant l’objet d’une commande à distance. Cette au moins une caméra peut être configurée pour capter au moins un flux vidéo, relative à la machine cible, qui est transmis par la deuxième application vers la première application. Bien entendu, d’autres données peuvent être remontées par la deuxième application vers la première application, alternativement ou en plus du flux vidéo, tel que par exemple un flux sonore, des données relatives à au moins une grandeur mesurée, telle qu’une donnée de distance entre la machine cible et un objet, une donnée de température, une donnée pression, etc. Ces données peuvent être acquises/mesurées par la machine cible elle-même ou par au moins un autre appareil/capteur se trouvant dans l’environnement de la machine cible. La est une représentation schématique d’un exemple de réalisation non limitatif d’un procédé selon l’invention. Le procédé 400, représenté sur la , peut être mis en œuvre dans une installation selon l’invention et en particulier dans l’une quelconque des installations 100, 200 ou 300 des FIGURES 1-3. Le procédé 400 peut comprendre une étape 402, optionnelle, de sélection, sur le premier site, d’au moins machine cible à commander. Une telle sélection peut être réalisée manuellement. Une telle sélection peut être réalisée en entrant un identifiant relatif audit deuxième site sur lequel se trouve l’au moins une machine cible, ou relatif à ladite au moins une machine cible. Alternativement, une telle sélection peut être réalisée par sélection dans un menu déroulant dudit identifiant. Le procédé 400 comprend une étape 404 d’établissement d’une connexion WebRTC entre la première application se trouvant au niveau de premier site et la deuxième application se trouvant au niveau du deuxième site, sur lequel se trouve la machine cible à commander. Cette connexion WebRTC peut être établie de manière classique. De manière résumé, la première application, par exemple l’application 112, demande l’établissement d’une connexion WebRTC avec la deuxième application, par exemple l’application 114, par une requête émise vers un serveur. La demande de connexion est relayée par le serveur à la deuxième application 114. Si la deuxième application accepte la demande connexion, elle envoie à son tour une demande connexion à la première application. Cette demande est relayée par le serveur à la première application 112. A la réception, de cette demande, une connexion pair à pair WebRTC est établie entre la première application 112 et la deuxième application. Le serveur peut être disposé sur le premier site, sur le deuxième site ou sur un site distant des premier et deuxième sites. Une fois la connexion WebRTC établie, le procédé 100 comprend au moins une itération d’une phase de commande 406 permettant d’appliquer une commande à une machine cible se trouvant sur le deuxième site. La commande peut comprendre un déplacement dans l’espace de la machine cible, un déplacement dans l’espace d’un organe de ladite machine cible (avec ou sans déplacement de la machine cible), une modification d’au moins un paramètre de fonctionnement/configuration de la machine cible, tel que par exemple le zoom d’une caméra, la luminosité d’une caméra, le niveau de volume d’un haut-parleur, etc. La phase de commande 406 comprend une étape 408 de saisie d’une commande au travers d’une interface utilisateur ou d’un organe de commande, intégrée ou non à, au premier appareil exécutant la première application. Suivant un exemple de réalisation, la commande peut par exemple être saisie/entrée au travers d’un écran tactile du premier appareil exécutant la première application. Lors d’une étape 410, optionnelle, la commande saisie est transformée en données numériques selon un format interne connu de la première application et de la deuxième application. Les données de commande comprennent les données représentant la commande à appliquer à la machine cible. Les données de commande peuvent en outre comprendre d’autres informations, telle que par exemple un identifiant de la machine cible. Les données de commande sont transmises, par la première application à la deuxième application, au travers du canal de données de la connexion WebRTC, lors d’une étape 412. Lors d’une étape 414, optionnelle, les données de commandes reçues par la deuxième application sont converties dans un format reconnu par la machine cible à commander, ou par un actionneur de ladite machine cible. Cette étape de conversion peut être réalisée par la deuxième application, ou par une autre application installée sur le deuxième appareil ou sur la machine cible. Lors d’une étape 416, les données de commandes sont utilisées au niveau de la machine cible pour appliquer la commande. Une nouvelle itération de la phase de commande 406 peut être réalisée avec une nouvelle commande à appliquer à la machine cible. La phase de commande 406 peut être réitérée autant de fois que souhaitée. De manière optionnelle, mais particulièrement avantageuse, le procédé 400 peut comprendre une étape 418 de transmission de données relatives à la machine cible, depuis la deuxième application vers la première application. Ces données peuvent être captées, ou produites, par la machine cible elle-même, par exemple dans le cas où la machine cible est une caméra. Alternativement, ou en plus, ces données peuvent être captées, ou produites, par un autre appareil, par exemple une caméra, un microphone ou un capteur, se trouvant dans l’environnement de la machine cible, par exemple un bras robotisé. Ces données peuvent être transmises au travers d’un canal vidéo de la connexion WebRTC lorsqu’il s’agit d’une image ou d’une vidéo, ou au travers d’un canal de données de la connexion WebRTC lorsqu’il s’agit de données relatives à au moins une grandeur physique. Dans l’exemple représenté, cette étape 418 est réalisée de manière continue, dès l’établissement de la connexion WebRTC, et tant que cette connexion est en cours. Alternativement, cette étape 418 peut être réalisée à fréquence déterminée, ou à chaque itération de la phase commande ou encore sur demande. Bien entendu l’invention n’est pas limitée aux exemples qui viennent d’être décrits. Procédé (400) de commande en temps réel, depuis un premier site (102), d’au moins une machine cible (106) située sur un deuxième site (104), distant dudit premier site, ledit procédé (400) comprenant : un établissement (404) d’une connexion WebRTC pair à pair (118), entre une première application (112) exécutée par un premier appareil (110) se trouvant sur ledit premier site (102), et une deuxième application (114) exécutée au niveau dudit deuxième site (104) ; et au moins une itération d’une phase (406) de commande comprenant les étapes suivantes : réception par ladite première application (112), d’une commande à appliquer à ladite au moins une machine cible (106), transmission (412) de données de commande représentant ladite commande à appliquer, par ladite première application (112) à ladite deuxième application (114), par un canal de données (124) de ladite connexion WebRTC (118), et application (416) de ladite commande à ladite au moins une machine cible (106) sur le deuxième site (104). Procédé (400) selon la revendication précédente, caractérisé en ce qu’il comprend au moins une itération d’une étape (418) de transmission, par la deuxième application (114) à la première application (112), de données relatives à ladite machine cible (106) au travers de ladite connexion WebRTC (118). Procédé (400) selon la revendication précédente, caractérisé en ce que les données relatives à la machine cible comprennent au moins une image, ou une vidéo, transmise au travers d’un canal vidéo (122) de la connexion WebRTC (118). Procédé (400) selon l’une quelconque des revendications précédentes, caractérisé en ce que, la phase de commande (406) comprend en outre une étape (408) de saisie, par un utilisateur, de la commande à appliquer au travers d’une interface de commande (126,128). Procédé (400) selon l’une quelconque des revendications précédentes, caractérisé en ce que la deuxième application (114) est exécutée sur la machine cible (106). Procédé (400) selon l’une quelconque des revendications 1 à 5, caractérisé en ce que la deuxième application (114) est exécutée sur un appareil (116), dit deuxième appareil, autre que la machine cible (106), disposé au niveau dudit deuxième site (104) et relié à ladite machine cible (106). Procédé (400) selon l’une quelconque des revendications précédentes, caractérisé en ce que, la phase de commande (406) comprend, au niveau du deuxième site (114), une étape de conversion des données commande en un format reconnu par la machine cible (106), ou par un actionneur de, ou couplé à, la machine cible. Procédé (400) selon l’une quelconque des revendications précédentes, caractérisé en ce qu’il comprend en outre, préalablement à l’étape (404) d’établissement d’une connexion WebRTC pair à pair (118) une étape (402) de sélection d’au moins une machine cible parmi une pluralité de machines, situées à distance dudit du premier site (102). Programme d’ordinateur comprenant des instructions informatiques qui, lorsqu’elles sont exécutées par ordinateur, mettent en œuvre le procédé (400) selon l’une quelconque des revendications précédentes. Système de commande en temps réel, depuis un premier site (102), d’au moins une machine cible (116;116 1 -116 n ) située sur un deuxième site (104), distant dudit premier site (102), ledit système comprenant : au niveau dudit premier site (102), une première application (112) exécutée par un premier appareil (110) se trouvant sur ledit premier site (102), au niveau dudit deuxième site (104;104 1 -104 n ), une deuxième application (114;114 1 -114 n ) exécutée par un deuxième appareil (116;116 1 -116 n ) se trouvant sur ledit deuxième site (104;104 1 -104 n ), ou par ladite au moins une machine cible (106;106 1 -106 n ) ; lesdites première (112) et deuxième (114;114 1 -114 n ) applications étant configurées pour réaliser les opérations suivantes : établissement (404) d’une connexion WebRTC pair à pair (118), entre-elles ; et au moins une itération d’une phase de commande (406) comprenant les étapes suivantes : réception par ladite première application (112), d’une commande à appliquer à ladite au moins une machine cible (106;106 1 -106 n ), transmission (412) de données de commande, représentant ladite commande à appliquer, par ladite première application (112) à ladite deuxième application (114;114 1 -114 n ), par un canal de données (124) de ladite connexion WebRTC (118), et application (416) de ladite commande à ladite au moins une machine cible (106;106 1 -106 n ) sur le deuxième site (104;104 1 -104 n ). Système selon la revendication précédente, caractérisé en ce que qu’il comprend en outre une interface de commande (126,128) configurée pour entrer ou saisir une commande à appliquer à la machine cible (106;106 1 -106 n ). Système selon l’une quelconque des revendications 10 ou 11, caractérisé en ce que la machine cible (106;106 1 -106 n ) est une caméra, un bras robotisé, un robot, etc. Utilisation du système selon l’une quelconque des revendications 10 à 12, pour l’assistance à distance, depuis le premier site (112), à un geste médical, et en particulier à un geste opératoire, réalisé sur le deuxième site (104;104 1 -104 n ). Installation (100;200;300) comprenant : au moins une machine cible (106;106 1 -106 n ) située sur un deuxième site (104;104 1 -104 n ), et un système selon l’une quelconque des revendications 10 à 13 pour commander à distance ladite au moins une machine cible (106;106 1 -106 n ).