FR 3015712 A1 20150626 FR 1363513 A 20131224 178BULL-35455-patent-draft2 1 INTERFACE DE PROGRAMMATION D'APPLICATIONS (API) POUR GANT INTERACTIF DOMAINE DE L'INVENTION L'invention concerne le domaine des interfaces homme-machine (IHM) pour système de traitement de l'information. Plus précisément, l'invention concerne un dispositif d'interface homme-machine de type gant interactif et l'interfaçage d'un tel dispositif avec des applications logicielles mises en oeuvre par un système de traitement de l'information. CONTEXTE DE L'INVENTION Ces dernières décennies, le domaine des interfaces homme-machine s'est enrichi d'un important nombre de dispositifs évolués comme par exemple les gants interactifs. Ces dispositifs permettent d'enrichir les interactions possibles entre un système de traitement de l'information et ses utilisateurs. Le système de traitement de l'information doit ici être compris dans son acception la plus large, comme comprenant les ordinateurs, les terminaux de communication, les consoles de jeux... Il peut également s'agir de systèmes spécialisés dans certains domaines comme le domaine médical, etc. Un gant interactif est un tel dispositif, que l'utilisateur enfile généralement sur sa main, et qui comprend un ensemble de capteurs dont les valeurs permettent de déterminer des gestes. Ces gestes peuvent comprendre : des positions du gant (et donc de la main) : main dépliée, poing serré, contact entre différents doigts, etc. et des mouvements du gant : translation, rotation... du gant et de la main. 178BULL-35455-patent-draft2 2 Ces gestes peuvent correspondre à des gestes réels d'un praticien dont la précision et le savoir-faire sont ainsi capturés par le gant interactif. Il peut s'agir ici d'applications médicales mais aussi de capturer des gestes afin de les faire reproduire par une main automatique sur un site distant (par exemple en milieu dangereux où l'utilisateur ne peut aisément se rendre). Ces gestes peuvent aussi correspondre à un vocabulaire ad-hoc prédéfini pour communiquer avec le système de traitement de l'information. Des applications logicielles sont mises en oeuvre sur les systèmes de traitement de l'information et il est donc nécessaire de pouvoir leur permettre d'interagir avec un gant interactif connecté au système. Pour ce faire, chaque application logicielle peut interagir avec le (ou les) gant interactif directement ou à travers du système d'exploitation (OS pour « Operating System » en langue anglaise). L'application logicielle doit donc encoder directement les modalités d'interaction avec le gant, ce qui implique pour le développeur d'application, à la fois de connaître l'ensemble des gestes possibles pour le gant interactif connecté au système, mais aussi la façon de communiquer physiquement avec les capteurs associés au gant interactif. Il en résulte que le développeur d'une application logicielle doit connaître précisément les spécifications techniques du gant interactif. Il en résulte également que changer de gant interactif oblige à recoder une bonne partie de l'application logicielle l'utilisant. Cette situation complexifie le développement des applications logicielles souhaitant s'interfacer avec un gant interactif et donc augmente leur coût de développement et de maintenance ainsi que les risques d'erreur. Ce faisant, elle agit comme un frein à une utilisation plus important de ces dispositifs d'interface homme-machine.30 178BULL-35455-patent-draft2 3 RESUME DE L'INVENTION Le but de la présente invention est de pallier au moins partiellement les inconvénients précités. A cette fin, la présente invention propose une interface de programmation d'applications pour gant interactif comprenant une liste de fonctions associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, et dans laquelle une application logicielle peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction. Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : lesdites valeurs de sortie indiquent une durée dudit geste. lesdites valeurs de sortie indiquent une pression. lesdites valeurs de sortie sont des valeurs booléennes. lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions. - lesdites fonctions sont regroupées en familles de gestes. Un autre aspect de l'invention concerne un procédé de développement d'une application logicielle s'interfaçant avec un gant interactif comportant une étape d'utilisation d'une interface de programmation d'applications comprenant une liste de fonctions associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs 178BULL-35455-patent-draft2 4 associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, de sorte qu'en fonctionnement, une application logicielle peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction. Suivant des modes de réalisation préférés, l'invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : laquelle lesdites valeurs de sortie indiquent une durée dudit geste. lesdites valeurs de sortie indiquent une pression. lesdites valeurs de sortie sont des valeurs booléennes. lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions. lesdites fonctions sont regroupées en familles de gestes. Un autre aspect de l'invention concerne un système de traitement de l'information comportant au moins une application logicielle et une interface de programmation d'application telle que précédemment décrite. Un autre aspect de l'invention concerne un tel système de traitement de l'information et en outre un gant interactif lié audit système de traitement de l'information par un moyen de communication. Selon un mode de réalisation de l'invention, ledit moyen de communication est sans fil. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d'un mode de réalisation préféré de l'invention, donnée à titre d'exemple et en référence aux dessins annexés. 178BULL-35455-patent-draft2 BREVE DESCRIPTION DES DESSINS La figure 1 représente schématiquement un exemple de contexte dans 5 lequel est susceptible de s'insérer l'invention. DESCRIPTION DETAILLEE DE L'INVENTION La figure 1 illustre le contexte dans lequel peut s'insérer l'invention. Un gant interactif G comporte un ensemble de capteurs dont une partie C1, C2, C3, C4 est indiquée sur la figure. La localisation des capteurs est propre au fabriquant du gant interactif et sort donc du cadre de l'invention. D'une façon générale, les capteurs sont localisés de sorte à maximiser le nombre de gestes détectés pour le plus petit nombre de capteurs afin d'optimiser les coûts de fabrication des gants. Typiquement, des capteurs C1, C2 sont placés aux extrémités des doigts (préférentiellement de chaque doigt), aux niveaux des articulations, C3, ou sur la surface de la main ou des doigts C4. Cette variété dans le placement des capteurs permet de déterminer un grand nombre de gestes différents : pliement d'un ou de plusieurs doigts, contacts entre des doigts, rotations, translations du gant, etc. De même, différentes technologies de capteurs existent et l'invention n'est pas liée à un type de technologie en particulier. Ces capteurs peuvent prendre des valeurs en fonction de leur activation physique. Ces valeurs peuvent être binaire et être représentative d'un contact ou d'une absence de contact, ou bien être inscrites dans un intervalle de valeurs, continue ou discret, représentatives par exemple d'une pression exercée sur le capteur. 178BULL-35455-patent-draft2 6 Ces valeurs de capteur sont transmises à un système de traitement de l'information ST par l'intermédiaire d'un moyen de communication MC reliant le gant interactif et ce système. Ce moyen de communication MC peut être filaire ou sans fil. Il peut être conforme à différents standards de communication tels que Wifi, Bluetooth, USB, etc. La gestion du moyen de communication MC par le système de traitement de l'information ST est typiquement prise en charge par le système d'exploitation, OS, du système ST. Du point de vue du système de traitement de l'information, il peut être traité comme un périphérique informatique d'entrée (telles une souris, un clavier, un joystick, une tablette graphique...). Un pilote spécifique peut être prévu de sorte que le système d'exploitation OS puisse utiliser le gant interactif G au travers de ce pilote comme n'importe quel autre périphérique informatique. Ce système de traitement de l'information ST peut être un ordinateur fixe ou portable, un terminal de communication, par exemple de type « smartphone », une tablette numérique, etc. Le système d'exploitation peut être fonction du type de système de traitement de l'information ST. Par exemple, cela peut être iOS de la société Apple, Android, Windows de la société Microsoft, Linux, etc. Au-dessus du système d'exploitation, une ou plusieurs applications logicielles A peuvent fonctionner, éventuellement en concurrence ou en parallèle. Ces applications logicielles A peuvent souhaiter utiliser spécifiquement le gant interactif G. Elles peuvent aussi être commandées par le gant interactif G, de façon transparente pour elles, de la même façon 178BULL-35455-patent-draft2 7 qu'elles peuvent l'être par un clavier, une souris, une interface à commande vocale, etc. Selon l'invention, une interface de programmation est mis en place pour permettre le développement de nouvelles applications logiciels A. Cette interface de programmation, API (pour « Application Programming Interface ») a été schématiquement représentée comme une couche intermédiaire entre les applications A et le système d'exploitation OS car elle permet au développeur de standardiser certaines fonctions du système d'exploitation. En mode de fonctionnement, c'est-à-dire lorsque l'utilisateur final utilise l'application, l'interface de programmation API lui est alors transparente. Cette interface de programmation d'applications API comprend une liste de fonctions F1, F2, F3... associées à des gestes possibles du gant interactif G. Afin de permettre le maximum de possibilités aux développeurs d'applications, il peut être prévu de définir l'ensemble des gestes possibles dans une recherche d'exhaustivité. Chaque fonction F1, F2, F3 peut être associée à un geste donné et comporte donc le code informatique permettant d'analyser les valeurs transmises par les capteurs C1, C2, C3, C4. La liste peut en outre être suffisamment générale pour couvrir le plus grand nombre possible de types de gants interactifs. De la sorte, pour un gant donné, certaines fonctions correspondront à des gestes impossibles, mais la fonction associée pourra alors traiter ce cas en retournant une valeur appropriée ou en n'étant jamais activée, comme nous le verrons ci-dessous. 178BULL-35455-patent-draft2 8 Ci-après, nous indiquons une liste possible de fonctions. Cette liste est indicative, notamment par l'ordre et la numérotation des fonctions qu'elle implique. Ces fonctions peuvent être regroupées en famille de gestes. Dans une mise en oeuvre possible : - Une première famille consiste à associer une fonction à chaque mouvement des doigts que ce soit une main droite ou une main gauche : o Fl : Pliement du pouce o F2 : Pliement de l'index o F3 : Pliement du majeur o F4 : Pliement de l'annulaire o F5 : Pliement de l'auriculaire - Une seconde famille consiste à associer une fonction à chaque mouvement combiné du pouce et d'un autre doigt, voire toute la main : o F6 : F1 et F2 simultanées o F7 : F1 et F3 simultanées o F8 : F1 et F4 simultanées o F9 : F1 et F5 simultanées o F10 : Fl et F2 et F3 et F4 et F5 simultanées - Une troisième famille consiste à associer une fonction à chaque pincement (donc pliement et contact du bout du/des doigt(s)) entre le pouce et un autre doigt, voire toute la main : o Fil : Contact entre pouce et index o F12 : Contact entre pouce et majeur o F13 : Contact entre pouce et annulaire o F14 : Contact entre pouce et auriculaire o F15 : Contact entre pouce et index et majeur et annulaire et auriculaire 178BULL-35455-patent-draft2 9 - Une autre famille correspond à une réservation d'une plage de fonctions optionnelles pour d'autres combinatoires des doigts de la main : F15 à F30 - Une autre famille consiste à associer une fonction à différents mouvements de la main o F31 : Translation avant de la main o F32 : Translation arrière de la main o F33 : Rotation verticale vers le haut de la main o F34 : Rotation verticale vers le bas de la main o F35 : Rotation horizontale vers la gauche de la main o F36 : Rotation horizontale vers la droite de la main o F37 : Rotation axiale (axe = radius ou cubitus) vers la gauche o F38 : Rotation axiale (axe = radius ou cubitus) vers la droite - Une autre famille correspond à une réservation d'une plage de fonctions optionnelles pour d'autres mouvements de la main : F39 à F49 - Une dernière famille consiste à associer la fonction F50 à une initialisation ou réinitialisation de la position spatiale de la main. Elle pourra être associée à une autre fonction déjà existante. Par exemple, on peut convenir que la fonction F10 (Pliement de tous les doigts simultanément) sera associée à la fonction F50. Chacune de ces fonctions présentent une interface pour les développeurs d'application qui est indépendante de la technologie sous-jacente et notamment du gant interactif. Ainsi, le développeur n'a à connaître que les spécifications techniques « extérieures » de l'interface de programmation API: les noms des fonctions, à quel geste chacune 178BULL-35455-patent-draft2 10 correspond, et les éventuels paramètres associés, y compris les valeurs de retour (binaire ou avec indication d'une valeur de pression, etc.) Par ailleurs, l'interface de programmation d'application API comprend une partie spécifique au gant interactif et à l'infrastructure sous- jacente (notamment au système d'exploitation OS). Cette partie peut être ignorée par le développeur d'applications, de sorte que celui-ci n'ait pas à connaître les spécificités techniques du gant interactif utilisé. Cette partie d'implémentation est liée au type de gant interactif utilisé et peut encoder la mise en correspondance entre les valeurs de capteurs transmis par le gant interactif et la détermination d'un geste donné. Ainsi, au niveau de chaque fonction, un algorithme permet de déterminer si le geste correspondant à la fonction a été effectué en fonction des valeurs de capteurs. Autrement dit, une combinaison de valeurs de capteurs associés au gant interactif permet de déterminer un geste. Dans certains cas, une combinaison peut être formée de la valeur d'un capteur unique, suffisant à déterminer un geste. Comme il a été précédemment évoqué, les fonctions peuvent renvoyer à l'application logicielle A différentes valeurs, en fonction de si le geste associé a été déterminé ou non. Ces valeurs pourront être simplement booléennes ou être numérique. Les valeurs numériques peuvent parcourir un intervalle continu ou bien appartenir à un ensemble de valeurs discrètes possibles. En prenant l'exemple de la première fonction de pliement du pouce, nous pourrons avoir les valeurs définies de la sorte : F1 retourne 0 = Le pouce n'est pas plié. F1 retourne 1 = Le pouce génère une impulsion de pliement. Fl retourne = Le pouce reste plié depuis secondes. F1 retourne des valeurs négatives pour couvrir différentes erreurs ou mauvaises interprétations non résolues : 178BULL-35455-patent-draft2 11 Fl retourne -1 = Fonction non implémentée ou capteur non actif. Fl retourne la valeur négative - : Les codes d'erreur peuvent être liés aux types de gants et de capteurs utilisés. Plutôt que le temps de tenue d'un geste, la valeur peut indiquer une pression fournie par un capteur de pression. Il est également possible que la valeur retournée soit formé d'un couple de sous-valeurs, par exemple sous la forme où, par exemple, n1 représente la durée du geste et n2 représente la pression. Il est évident que bien d'autres possibilités sont accessibles à l'homme du métier. Une mise en oeuvre de ces principes de séparation entre partie « interface » et partie « implémentation » peut être réalisée grâce à une architecture logicielle orientée objets. Une telle architecture permet de bien séparer une partie « interface » utilisable par les applications logicielles, d'une partie « implémentation » qui leur est masquée. Par exemple, les fonctions pourront être mises en oeuvre par des « méthodes » associées à une classe « gant interactif ». La mise en oeuvre peut être réalisée sous la forme d'un service web, d'une bibliothèque logicielle (ou libraire), etc. et pour différents langages informatiques différents : C, C++, Java, etc. Un exemple de mise en oeuvre en langage C++ de la fonction F10 correspondant au pliement complet de la main droite est donné ci-dessous : On peut par exemple définir une classe pour décrire la main et une classe pour décrire les doigts dans un fichier nommé « APIGant.h ». 178BULL-35455-patent-draft2 12 enum TypeDoigt {POUCE, INDEX, MAJEUR, ANNULAIRE, AURICULAIRE} ; enum TypeHand {DROITE, GAUCHE} ; enum TypeEtat { INACTIF=-1,NON PLIE=0, PLIE=1} #define OK 0 #define ERROR -99 Class Doigt { // Quel est le type de TypeDoigt type ; // Valeur initialisée de doigt concerné static TypeEtat etat = NON PLIE ; l'état courant public : Doigt(TypeDoigt) ; int testEtat() ; int etat(int,TypeDoigt) ; int pliement() ; I; // Constructeur de la classe Doigt Doigt ::Doigt (TypeDoigt queltype) { // Initialisation du doigt concerné type = queltype ; I ; // Fonction de test d'état du doigt int Doigt ::testEtat() { // Fonction de test liée au capteur donc au type de gant utilisé etat = fonction de test du capteur(type) ; return etat ; 178BULL-35455-patent-draft2 13 1 // Fonction d'affectation de l'état du doigt int Doigt ::etat(int queletat, TypeDoigt queltype=type) { // Vérification qu'on a bien reçu le bon type de doigt s'il a été donné en entrée if (queltype <> this.type) { return ERROR; 1 else { // Initialisation de l'état courant du doigt etat = queletat ; return etat ; ) 1 // Handler appelé lors d'un changement d'état reçu des capteurs du gant Handler Doigt ::pliement() { // Récupération de l'événement reçu etat = handler du capteur() ; I ; Class Hand { // En anglais car « main » sera problématique en C/C++ TypeHand type ; // Type de main DROITE ou GAUCHE static TypeEtat etat = NON PLIE ; // Valeur initialisée de l'état courant Doigt pouce(POUCE) ; 178BULL-35455-patent-draft2 14 Doigt index(INDEX) ; Doigt majeur(MAJEUR) ; Doigt annulaire(ANNULAIRE) ; Doigt auriculaire(AURICULAIRE) ; public : Hand(TypeHand) ; int reinitialisation() ; int doigtInvalide(TypeDoigt) ; int testPliement() ; 1 ; Hand ::Hand (TypeHand queltype) { // Initialisation de la main concernée type = queltype ; } ; int Hand ::reinitialisation () { // Réinitialisation de l'état de tous les doigts de la main comme non pliés // Le type de la main n'est pas modifié pouce.etat(NON PLIE,POUCE) ; index.etat(NON PLIE,INDEX) ; majeur.etat(NON PLIE,MAJEUR) ; annulaire.etat(NON PLIE,ANNULAIRE) ; auriculaire.etat(NON PLIE,AURICULAIRE) ; return OK ; 1 Hand ::doigtlnvalide (TypeDoigt queltype) { // Invalidation du doigt indiqué car pas de capteur ou pas de surveillance désirée switch queltype { 178BULL-35455-patent-draft2 15 POUCE : pouce.etat(INACTIF,POUCE) ; INDEX : index.etat(INACTIF,INDEX) ; MAJEUR : majeur.etat(INACTIF,MAJEUR) ; ANNULAIRE : annulaire.etat(INACTIF,ANNULAIRE) ; AURICUALIRE : auriculaire.etat(INACTIF,AURICULAIRE) ; default : return ERROR; 1 ; return OK ; 1 ; // Fonction de test d'état complet de la main int Hand::testPliement() { // Il faut que tous les doigts soient pliés pour que l'état de la main soit PLIE // On ne tient pas compte des doigts inactifs if (((pouce.testEtat() == PLIE) II (pouce.testEtat() == INACTIF) && ((index.testEtat() == PLIE) II (index.testEtat() == INACTIF) && ((majeur.testEtat() == PLIE) II (majeur.testEtat() == INACTIF) && ((annulaire.testEtat() == PLIE) II (annulaire.testEtat() == INACTIF) && ((auriculaire.testEtat() == PLIE) II (auriculaire.testEtat() == INACTIF))) { etat = PLIE ; 1 else if ((pouce.testEtat() == ERROR) H (index.testEtat() ==ERROR) H (majeur.testEtat() ==ERROR) II (annulaire.testEtat() ==ERROR) 178BULL-35455-patent-draft2 16 Il (auriculaire.testEtat() ==ERROR)) { etat = ERROR ; } else { etat = NON PLIE ; 1 1 return etat ; I; Une application logicielle A peut interagir avec une fonction pour réagir au geste du gant interactif associé à ladite fonction. Un exemple d'utilisation par une application logicielle A de la fonction F10 de l'interface de programmation logicielle API peut être telle que ci-après : #include #include int main () { // Temps d'attente avant le pliement complet de la main static tempsAttente = 0 ; // Seule une main droite est équipée Hand maindroite(DROITE) ; // Pas de capteur pour l'annulaire maindroite.doigtInvalide(ANNULAIRE) ; // Pas de capteur pour l'auriculaire 178BULL-35455-patent-draft2 17 maindroite.doigtInvalide(AURICULAIRE) ; // Utilisation de la fonction de pliement complet de la main // On attend l'événement de pliement complet avant de sortir while (maindroite.testPliement() <> PLIE) { if (maindroite.testPliement() == ERROR) { cout « « Erreur sur le test de pliement de la main après » tempsAttente « seconde(s) »; return ERROR ; } else { cout « « La main n'est toujours pas pliée » ; // On attend 2 secondes pour laisser le temps de capter l'événement // et ne pas monopoliser le processeur dans une boucle infinie sleep (2) ; tempsAttente +=2 ; 1 1 cout « « La main a été pliée après » tempsAttente « seconde(s) » ; return OK ; 1 Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais elle est susceptible de nombreuses variantes accessibles à l'homme de l'art. REVENDICATIONS1. Interface de programmation d'applications (API) pour gant interactif (G) comprenant une liste de fonctions (F1, F2, F3) associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs (C1, C2, C3, C4) associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, et dans laquelle une application logicielle (A) peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction. 2. Interface de programmation d'applications selon la revendication précédente, dans laquelle lesdites valeurs de sortie indiquent une durée dudit geste. 3. Interface de programmation selon l'une des revendications précédentes, dans laquelle lesdites valeurs de sortie indiquent une pression. 4. Interface de programmation d'applications selon la revendicationl, dans laquelle lesdites valeurs de sortie sont des valeurs booléennes. 20 5. Interface de programmation d'applications selon l'une des revendications précédentes, dans laquelle lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant 25 représentatives des gestes associés auxdites fonctions. 6. Interface de programmation d'applications selon la revendication précédente dans laquelle lesdites fonctions sont regroupées en familles de gestes. 30178BULL-35455-patent-draft2 19 7. Procédé de développement d'une application logicielle (A) s'interfaçant avec un gant interactif (G) comportant une étape d'utilisation d'une interface de programmation d'applications (API) comprenant une liste de fonctions (F1, F2, F3) associées à des gestes possibles par ledit gant interactif, dans laquelle une combinaison de valeurs de capteurs (C1, C2, C3, C4) associés audit gant interactif permet de déterminer des valeurs de sorties desdites fonctions, de sorte qu'en fonctionnement, une application logicielle (A) peut interagir avec une fonction parmi ladite liste pour réagir au geste dudit gant interactif associé à ladite fonction. 8. Procédé de développement d'une application logicielle selon la revendication précédente, dans laquelle lesdites valeurs de sortie indiquent une durée dudit geste. 9. Procédé de développement d'une application logicielle selon l'une des revendications précédentes, dans laquelle lesdites valeurs de sortie indiquent une pression. 10. Procédé de développement d'une application logicielle selon la revendication 7, dans laquelle lesdites valeurs de sortie sont des valeurs booléennes. 11. Procédé de développement d'une application logicielle selon l'une des revendications précédentes, dans laquelle lesdites fonctions comportent une partie d'implémentation permettant la mise en correspondance entre lesdites valeurs des capteurs et lesdites valeurs de sorties, lesdites valeurs étant représentatives des gestes associés auxdites fonctions.178BULL-35455-patent-draft2 20 12. Procédé de développement d'une application logicielle selon la revendication précédente dans laquelle lesdites fonctions sont regroupées en familles de gestes. 13. Système de traitement de l'information (ST) comportant au moins une application logicielle (A) et une interface de programmation d'applications(API) selon l'une des revendications 1 à 6. 14. Système comportant un système de traitement de l'information (ST) selon la revendication précédente et en outre un gant interactif (G) lié audit système de traitement de l'information par un moyen de communication (MC). 15. Système selon la revendication précédente, dans lequel ledit moyen de communication (MC) est sans fil.