Brevet FR2852707A1 — publié le 20040924

Interface de commande universelle La présente invention concerne une interface de commande universelle. Le domaine de l'invention est donc celui du dialogue homme-machine, autrement dit celui des méthodes de commande d'une machine quelconque par 5 un utilisateur qui, souvent, n'est pas familier de la multitude des langages de programmation employés par ces méthodes. Un premier exemple particulièrement actuel prend place dans la domotique. En effet, chez lui, un utilisateur dispose souvent de plusieurs appareils de service tels qu'une télévision, un magnétoscope, un appareil de 10 reproduction sonore et/ou d'un système d'alarme etc. Couramment, ces équipements proviennent de fabricants différents recourant chacun à une méthode de commande qui lui est propre. Ces méthodes font appel à des langages de programmation variés et à des interfaces diverses si bien qu'il n'est pas possible de commander les appareils concernés d'une manière unique. De 15 fait, chaque appareil est livré avec son propre appareil de commande tel qu'une télécommande. On connaît des télécommandes dites " universelles ". Cependant, ces appareils se bornent à enregistrer les programmes de commande des équipements pour lesquels ils sont conçus. Rien ne garantit que si l'utilisateur 20 acquiert un nouvel équipement, celui-ci puisse être commandé au moyen de cette télécommande universelle. Un deuxième exemple prend place dans la micro-informatique. En effet, un utilisateur habitué à son poste de travail équipé de programmes qui lui sont connus rencontre de grosses difficultés dès lors qu'il cherche à utiliser d'autres 25 programmes dont il ne connaît pas le fonctionnement en détails. D'une manière générale, les applications hébergées sur des appareils de service (ordinateurs, terminaux de saisie, machines outils, appareils domestiques) ou sur des périphériques dits " intelligents " (photocopieurs, appareils photographiques, systèmes d'alarme) disposent de leurs propres 30 interfaces et de leurs propres langages de programmation. En matière de contrôle que l'on pourrait qualifier de synchrone, lorsqu'il s'agit de prendre le contrôle par l'ordinateur maître d'un ordinateur esclave distant, la solution la plus aboutie consiste à restituer sur l'ordinateur maître ce qui figure sur l'écran de l'ordinateur esclave. Cette solution requiert de grosses 35 ressources en puissance de calcul sur l'ordinateur esclave qui a la charge de bâtir l'interface utilisateur. Elle est donc mal adaptée aux périphériques pourvus de ressources limitées. De plus, l'interface n'est pas unique car elle est générée par l'ordinateur esclave. Deux applications esclaves différentes conduiront souvent à deux interfaces différentes. Dans une architecture de type client serveur, le client rapatrie une 5 application du serveur et renvoie des commandes à ce serveur qui les interprète. Ici, le serveur doit disposer d'une puissance de calcul moindre que celle du client, mais il nécessite tout de même un minimum de ressources, ce qui constitue encore une limitation. Il faut noter que l'interface n'est pas unique non plus. En outre, il faut prévoir une application spécifique qui s'appuie sur de nombreux langages différents tels que " HTML ", " XGML ", " JAVASCRIPT ", " PHP " etc. Un objet de la présente invention est ainsi de proposer une interface qui soit indépendante de l'application à contrôler. Un autre objet de l'invention est de limiter la puissance de calcul requise tant par l'application maître que par l'application esclave. Encore un autre objet de l'invention est de permettre à un utilisateur de disposer d'une seule interface pour contrôler les différentes applications qu'il emploie. Un objet supplémentaire de l'invention est d'assurer un fonctionnement correct dans des environnements de communication de mauvaise qualité. Selon l'invention, un appareil de service est pourvu d'un programme de contrôle assemblant une pluralité de sous-programmes parmi lesquels au moins un module de commande est prévu pour exécuter une opération en réponse à 25 une consigne; de plus, ce module de commande comportant une séquence opérationnelle interprétable par cet appareil et une séquence textuelle, la séquence opérationnelle comportant une balise qui figure la consigne, la séquence textuelle consistant en une interface de saisie de la consigne, il comprend des moyens d'émission pour adresser ce module de commande à un 30 appareil de commande et des moyens de réception pour recevoir la séquence opérationnelle dans laquelle la consigne est substituée à la balise. De préférence, lorsque ce programme de contrôle comporte plusieurs modules de commande, ces modules sont agencés dans un arbre. Dans ce cas, les moyens d'émission sont avantageusement prévus pour 35 adresser la totalité de l'arbre à l'appareil de commande. Ainsi, les moyens de réception sont prévus pour recevoir les séquences opérationnelles de cet arbre, séquences dans lesquelles les consignes sont substituées aux balises correspondantes. Selon une caractéristique additionnelle de l'invention, ces moyens de réception sont également prévus pour recevoir l'arbre complet. L'invention vise aussi un appareil de commande d'au moins un appareil de service, comprenant des moyens de réception pour recevoir au moins un module de commande prévu pour exécuter une opération en réponse à une consigne; de plus, ce module de commande comportant une séquence 10 opérationnelle interprétable par l'appareil de service et une séquence textuelle, la séquence opérationnelle comportant une balise qui figure la consigne, la séquence textuelle consistant en une interface de saisie de cette consigne, l'appareil de commande comprend des moyens d'interfaçage pour mettre en oeuvre l'interface de saisie afin d'acquérir la consigne, des moyens de détection 15 de la balise, des moyens de substitution pour remplacer la balise par la consigne dans la séquence opérationnelle et des moyens d'émission pour retourner cette séquence opérationnelle à l'appareil de service. De préférence, cet appareil de commande comporte des moyens de requête pour activer l'émission du module de commande à destination de ses 20 propres moyens de réception. S'il est prévu pour recevoir un arbre de commande comportant plusieurs modules de commande, l'appareil de commande comprend des moyens pour présenter les séquences textuelles dans un arbre de présentation. Ainsi, les moyens d'émission sont prévus pour retourner les séquences 2 5 opérationnelles de l'arbre de commande, séquences dans lesquelles les consignes sont substituées aux balises correspondantes. Selon une caractéristique additionnelle de l'invention, ces moyens d'émission sont prévus pour adresser l'arbre de commande complet à l'appareil de service. 3 0 Suivant un mode de réalisation privilégié, l'appareil comprend des moyens pour recevoir des modules de commande d'une pluralité d'appareils de service, des moyens de substitution pour remplacer la balise par la consigne dans chaque séquence opérationnelle et des moyens pour retourner ces séquences opérationnelles aux appareils de service appropriés. En outre, cet appareil comprend des moyens de sélection présentant les appareils de service selon une structure arborescente. Qu'il s'agisse d'un appareil de service ou d'un appareil de commande, les moyens d'émission et les moyens de réception peuvent être adaptés à une liaison logicielle. De même, ces moyens d'émission et ces moyens de réception peuvent être adaptés à une liaison sans fil. La présente invention apparaîtra maintenant avec plus de détails dans le cadre de la description qui suit d'exemples de réalisation donnés à titre illustratif en se référant aux figures annexées qui représentent: - la figure 1, un schéma figurant un appareil de service et un appareil 10 de commande, - la figure 2, un schéma d'un arbre de commande, et - la figure 3, un schéma d'un module de commande. Les éléments présents dans plusieurs figures sont affectés d'une seule et même référence. En référence à la figure 1, l'invention propose donc de commander un appareil de service 10 tel qu'un téléviseur au moyen d'un appareil de commande 11 tel qu'un terminal. Le terminal peut être un micro-ordinateur, un module de télécommande ou même un téléphone portable pourvu d'un écran. La liaison 12 entre l'appareil de service 10 et l'appareil de commande 11 peut être de toute 20 nature, logicielle, filaire ou sans fil, radio ou optique par exemple. En référence à la figure 2, l'appareil de service 10 est pourvu d'un programme de contrôle. Ainsi pour le téléviseur TEL, il est possible d'effectuer des réglages REG ou un paramétrage PAR tel que celui des différents canaux de réception. Aux nombres des réglages REG figurent celui du son SO et celui 25 de l'image IM. Pour le son, il est possible de changer le volume sonore VOL ou la tonalité TON, tandis que l'on peut ajuster le contraste CO et la brillance BR de l'image. Le programme de contrôle assemble une pluralité de sous-programmes dont certains sont autonomes et d'autres, les modules de commande, 3 o nécessitent l'acquisition d'une consigne avant d'être exécutés. A titre d'exemple, le module de commande du volume sonore VOL a pour fonction de régler l'amplificateur du téléviseur sur une consigne qui peut être une valeur numérique comprise entre 0 et 10. En référence à la figure 3, chaque module de commande MC comporte 35 une suite d'instructions écrites dans le langage de programmation qu'a retenu le constructeur du téléviseur. Généralement, ce module est écrit en langage clair, directement interprétable, et l'homme de métier qualifie de script cette suite d'instructions. Une instruction particulière que l'on dénommera instruction de référence IR permet d'introduire la consigne dans le module de commande. L'invention propose en premier lieu de disposer une balise BAL dans 5 cette instruction de référence IR pour figurer la consigne, la suite d'instructions ci-dessus apparaissant maintenant comme une séquence opérationnelle SO. Par balise, on entend une suite de caractères identifiable sans ambiguïté. L'invention propose en second lieu d'adjoindre à cette séquence opérationnelle SO une séquence textuelle ST qui consiste en une interface de 10 saisie de la consigne CONS. Cette séquence textuelle ST est écrite dans un langage interprétable par la machine de commande qui a pour vocation première de définir une interface homme-machine. Dans l'exemple adopté, il s'agit de saisir la valeur souhaitée du volume sonore. Le module de commande MC est ainsi constitué d'une séquence 15 opérationnelle SO et d'une séquence textuelle ST. L'invention propose en troisième lieu d'adresser ce module de commande MC à l'appareil de commande 11 par un quelconque moyen. Cet appareil de commande distingue la séquence opérationnelle SO de la séquence textuelle ST qu'il est capable d'interpréter. Il restitue donc l'interface 20 de saisie, sur un écran par exemple, pour acquérir la consigne CONS. Il détecte la balise BAL dans la séquence opérationnelle SO et la remplace par la consigne CONS. Pour fixer les idées, la balise est une suite de quatre caractères qui commence par la lettre p. Cette lettre R ne figurant dans aucune instruction du 25 langage de programmation constructeur, elle identifie une balise de manière non ambiguë. L'appareil de commande retourne ensuite à l'appareil de service la séquence opérationnelle SO dans laquelle la consigne CONS a été substituée à la balise BAL. L'appareil de service est donc à même d'interpréter et/ou 3 o d'exécuter cette séquence. Bien entendu, l'appareil de service peut adresser à l'appareil de commande une pluralité de modules de commande chacun constitué d'une séquence opérationnelle et d'une séquence textuelle. Ainsi, avantageusement, ces modules sont agencés dans un arbre au 35 moyen d'un script. Cet arbre est adressé à l'appareil de commande qui remplace dans chaque séquence opérationnelle la balise par la consigne correspondante. L'appareil de commande retourne ensuite à l'appareil de service cet arbre renseigné et dépouillé des séquences textuelles. L'invention permet également de mettre à jour l'arbre dans l'appareil de service en lui retournant un arbre modifié comportant les modules de commande 5 complets, chacun pourvu d'une séquence opérationnelle dans laquelle figure une balise et d'une séquence textuelle correspondante. Par ailleurs, le module de commande a la capacité de commander plusieurs appareils de service. A titre d'exemple, dans un environnement réseau mettant en oeuvre la 10 technologie " Bluetooth ", l'appareil de commande peut interroger les différents éléments du réseau pour identifier les appareils de service qu'il est à même de piloter. Il peut ensuite interroger l'un de ces appareils de service afin que celui-ci lui adresse son arbre de commande. De préférence, l'appareil de commande présente les différents appareils 15 de service qu'il a identifié au moyen d'une structure arborescente de sorte qu'un utilisateur puisse aisément sélectionner l'appareil qu'il envisage de régler ou de mettre en service. Jusqu'à présent, il était précisé que c'est l'appareil de service qui fournit ses différents modules de commande à l'appareil de commande. Il ne faut pas 20 voir là une limitation de l'invention. En effet, l'appareil de commande pourrait acquérir un module de commande par tout autre moyen, le réseau Internet par exemple, remplacer la balise par la consigne, et adresser la séquence opérationnelle ainsi modifiée à l'appareil de service. L'exemple de réalisation de l'invention présenté ci-dessus a été choisi 25 pour son caractère concret. Il ne serait cependant pas possible de répertorier de manière exhaustive tous les modes de réalisation que recouvre cette invention. En particulier, toute étape ou tout moyen décrit peut-être remplacé par une étape ou un moyen équivalent sans sortir du cadre de la présente invention. REVENDICATIONS 1) Appareil de service 10 pourvu d'un programme de contrôle assemblant une pluralité de sous-programmes parmi lesquels au moins un module 5 de commande MC est prévu pour exécuter une opération en réponse à une consigne CONS, caractérisé en ce que, ledit module de commande MC comportant une séquence opérationnelle SO interprétable par ledit appareil et une séquence textuelle ST, ladite séquence opérationnelle SO comportant 10 une balise BAL qui figure ladite consigne CONS, ladite séquence textuelle ST consistant en une interface de saisie de ladite consigne CONS, il comprend des moyens d'émission pour adresser ce module de commande MC à un appareil de commande 11 et des moyens de réception pour recevoir ladite séquence opérationnelle SO dans laquelle 15 ladite consigne CONS est substituée à ladite balise BAL. 2) Appareil selon la revendication 1 caractérisé en ce que, ledit programme de contrôle comportant plusieurs modules de commande MC, ces modules sont agencés dans un arbre. 3) Appareil selon la revendication 2, caractérisé en ce que lesdits moyens d'émission sont prévus pour adresser la totalité de l'arbre audit appareil de commande 11. 4) Appareil selon la revendication 3, caractérisé en ce que lesdits moyens de réception sont prévus pour recevoir les séquences opérationnelles SO dudit arbre, séquences dans lesquelles lesdites consignes CONS sont substituées auxdites balises correspondantes BAL. 5) Appareil selon l'une quelconque des revendications 2 à 4, caractérisé en ce que lesdits moyens de réception sont prévus pour recevoir ledit arbre. 6) Appareil de commande 11 d'un appareil de service 10 au moins, comprenant des moyens de réception pour recevoir au moins un module 35 de commande MC prévu pour exécuter une opération en réponse à une consigne CONS, caractérisé en ce que, ledit module de commande MC comportant une séquence opérationnelle SO interprétable par ledit appareil de service 10 et une séquence textuelle ST, ladite séquence opérationnelle SO comportant une balise BAL qui figure ladite consigne CONS, ladite 5 séquence textuelle ST consistant en une interface de saisie de ladite consigne CONS, il comprend des moyens d'interfaçage pour mettre en oeuvre ladite interface de saisie afin d'acquérir ladite consigne CONS, des moyens de détection de ladite balise BAL, des moyens de substitution pour remplacer ladite balise BAL par ladite consigne CONS 10 dans ladite séquence opérationnelle SO définissant ainsi une séquence opérationnelle renseignée, et des moyens d'émission pour retourner cette séquence opérationnelle renseignée SO audit appareil de service 10. 7) Appareil selon la revendication 6, caractérisé en ce qu'il comporte des moyens de requête pour activer l'émission dudit module de commande MC à destination desdits moyens de réception. 8) Appareil selon l'une quelconque des revendications 6 ou 7 caractérisé en 2 0 ce que, prévu pour recevoir un arbre de commande comportant plusieurs modules de commande MC, il comprend des moyens pour présenter lesdites séquences textuelles ST dans un arbre de présentation. 9) Appareil selon la revendication 8, caractérisé en ce que lesdits moyens 25 d'émission sont prévus pour retourner les séquences opérationnelles SO dudit arbre de commande, séquences dans lesquelles lesdites consignes CONS sont substituées auxdites balises BAL correspondantes. 10) Appareil selon l'une quelconque des revendications 8 ou 9, caractérisé 30 en ce que lesdits moyens d'émission sont prévus pour adresser ledit arbre de commande audit appareil de service 10. 11) Appareil selon l'une quelconque des revendications 6 à 10, caractérisé en ce qu'il comprend des moyens pour recevoir des modules de 35 commande d'une pluralité d'appareils de service 10, des moyens de substitution pour remplacer la balise BAL par la consigne CONS dans chaque séquence opérationnelle SO et des moyens pour retourner ces séquences opérationnelles SO aux appareils de service 10 appropriés. 12) Appareil selon la revendication 11, caractérisé en ce qu'il comprend des 5 moyens de sélection présentant lesdits appareils de service 10 selon une structure arborescente. 13) Appareil selon l'une quelconque des revendications précédentes, caractérisé en ce que lesdits moyens d'émission et lesdits moyens de 10 réception sont adaptés à une liaison logicielle. 14) Appareil selon l'une quelconque des revendications 1 à 12, caractérisé en ce que lesdits moyens d'émission et lesdits moyens de réception sont adaptés à une liaison sans fil.