Brevet FR3138226A1 — publié le 20240126

L’invention vise un procédé d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active, le procédé étant mis en œuvre par une autre application s’exécutant en tâche de fond et comprenant : - une étape d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ; - une étape de détermination pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique (101) ; et lorsque la détermination est positive - une étape de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage; et - une étape d’exécution de ladite commande. Figure pour l'abrégé : Figure 1 Procédé et dispositif d’exécution d’une commande générée par l’utilisateur d’un terminal. 1. Domaine de l'invention L’invention se rapporte au domaine des applications informatiques et concerne plus particulièrement un service d’exécution de commandes fourni, par exemple, par un ordinateur personnel. 2. Art Antérieur Les terminaux informatiques (ordinateurs personnels, tablettes, téléphones intelligents, …) proposent de nombreuses applications aux utilisateurs (applications de messagerie, traitements de textes, tableurs, moteurs de recherche, calculatrices, …). Dans l’état actuel de la technique, chacune de ces applications s’exécute dans son propre environnement, typiquement dans une fenêtre, et les informations saisies dans ces environnements sont interprétées et traitées dans le contexte de ces applications. Par exemple, une information saisie par un utilisateur lorsqu’il utilise un traitement de texte n’est interprétée que dans le contexte de ce traitement de texte. L’invention offre une solution qui dépasse ces limitations. 3. Exposé de l'invention L'invention vient améliorer l'état de la technique et propose à cet effet un procédé d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active, le procédé étant mis en œuvre par une autre application s’exécutant en tâche de fond et comprenant : - une étape d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ; - une étape de détermination pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ; et lorsque la détermination est positive - une étape de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et - une étape d’exécution de ladite commande. Avantageusement, le procédé d’exécution permet d’obtenir les chaînes de caractères générées par l’utilisateur dans une application active, de détecter si cette chaîne de caractères constitue une commande, sortant du cadre de l’application active, et si c’est le cas de l’exécuter et de supprimer le texte correspondant à la commande sur le périphérique d’affichage. Ainsi, grâce à l’invention, un utilisateur peut taper une commande non interprétable dans le cadre de l’application active, sans quitter l’application active, cette commande étant détectée par une autre application en tâche de fond et exécutée. Par exemple, une commande destinée au contrôle un appareil domotique, comme allumer une lampe, peut être détectée dans une application de traitement de texte et exécutée, le texte correspondant à la commande étant en outre supprimé d’un texte en cours d’édition dans l’application de traitement de texte. On entend par environnement graphique d’une application logicielle, toute zone d’affichage affectée à cette application sur un périphérique d’affichage (tel un écran) couplé à un dispositif électronique sur lequel s’exécute au moins partiellement cette application. Notamment, une fenêtre d’un système de fenêtrage, une bulle de popup, une feuille de tableur, une zone d’informations constituent des exemples d’environnement graphique d’application au sens de l’invention. Il est usuel de désigner par « fenêtre active », l’environnement graphique de l’application active. On entend par périphérique d’entrée tout dispositif apte à interpréter une action d’un utilisateur sous forme de commandes, de fonctions ou d’instructions permettant l’impression, la mise en mémoire ou l’émission de caractères (alphanumérique, ponctuation, etc.). Le périphérique d’entrée est par exemple un clavier, un écran et/ou une surface tactile, une souris, un micro (via un logiciel de reconnaissance de la parole), etc. Par simplification, il pourra être dit ultérieurement qu’une chaîne de caractères est saisie, quel que soit le périphérique d’entrée ou la méthode utilisé pour sa génération. On entend par périphérique d’affichage tout dispositif apte à restituer graphiquement un contenu multimédia (texte, interface graphique, image, vidéo, animation, liens cliquables, boutons, vignettes, etc.), par exemple un écran ou un projecteur. On entend par dispositif électronique tout dispositif apte au moins à gérer un périphérique d’affichage et/ou un périphérique d’entrée (ordinateur personnel, smartphone, tablette électronique, télévision, ordinateur de bord d’une voiture, objets connectés, etc.). Selon au moins un mode de réalisation , un procédé tel que décrit ci-dessus est caractérisé en ce qu’il comporte : - une étape de détermination d’une position de l’affichage de ladite chaîne de caractères sur ledit périphérique d’affichage ; et - une étape d’affichage, sur ledit périphérique d’affichage et à proximité de la dite position d’un résultat de l’étape d’exécution de ladite commande. Autrement dit, dans au moins ce mode de réalisation, le texte de la commande générée par l’utilisateur est remplacé par le résultat d’exécution de la commande. Par exemple, si un utilisateur saisit la chaîne de caractères (« convertir 32 degrés Fahrenheit en degrés Celsius ») dans un éditeur de texte, cette chaîne de caractères est automatiquement détectée en tâche de fond, interprétée comme une commande de conversion de température et le résultat de la conversion «0°C » est substitué à la chaîne de caractères. Par exemple, si un utilisateur saisit la chaîne de caractères (« insérer la dernière image reçue par mail ») dans un logiciel de présentation graphique, cette chaîne de caractères est automatiquement détectée par l’application en tâche de fond, interprétée comme une commande, et la chaîne de caractères est automatiquement remplacée par la dernière image reçue par l’application de messagerie de l’utilisateur. Par exemple, dans au moins un mode de réalisation, où l’application de messagerie fournit une interface de programmation (en anglais Application Programming Interface API), celle-ci peut être interrogée par le procédé pour obtenir la dernière image reçue par email. En variante, l’application de messagerie peut enregistrer dans une mémoire connue du procédé toute image reçue par email, ainsi que la date de réception de cette image. La position de la chaîne de caractères où le résultat doit être inséré peut être déterminée en mémorisant par exemple les coordonnées d’une souris ou d’un curseur à chaque nouvelle insertion de chaîne de caractères dans l’application active. En variante, cette position peut être déterminée au sein d’une image représentative de l’interface graphique du dispositif électronique. Ainsi, lorsqu’une correspondance est trouvée entre le ou les derniers mots saisis dans la fenêtre active par l’utilisateur (et représentatif d’une commande) et des éléments de texte générés par la reconnaissance optique de caractères, le procédé peut déterminer la position du ou des derniers mots saisis au sein de l’image en récupérant par exemple la position du dernier caractère de cet ensemble de mots. Une fois la position /localisation de la position déterminée, le procédé peut afficher le résultat de l’exécution de la commande à cette position. La localisation peut par exemple correspondre à des coordonnées (en pixel, en centimètre, etc.) interprétables par le périphérique d’affichage du dispositif électronique. Ainsi, selon au moins un mode de réalisation , un procédé tel que décrit ci-dessus est caractérisé en ce qu’il comporte une étape de recherche et, quand la recherche est positive, de détection de ladite chaîne de caractères dans au moins une deuxième chaîne de caractères obtenue par une étape de reconnaissance optique de caractères appliquée à tout ou partie d’une image représentative d’un contenu affiché par ledit périphérique d’affichage. Selon au moins un mode de réalisation de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce que ladite reconnaissance optique de caractères est appliquée à une partie de ladite image dont les coordonnées correspondent à celles de l’environnement graphique de l’application active (par exemple à la fenêtre active) affiché par ledit dispositif d’affichage. Ce mode de réalisation permet de limiter l’exécution de la reconnaissance optique de caractères à une zone /partie de l’image représentative du contenu affiché par le périphérique d’affichage du dispositif électronique correspondant à l’environnement graphique de l’application active.. Ce mode de réalisation permet d’optimiser l’usage des ressources (mémoire, processeur, etc.) nécessaires à l’exécution du procédé. Selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté dès lors qu’au moins un caractère spécial est détecté. Par exemple, avant tout commande, il peut être convenu que l’utilisateur précède la saisie de la commande par une chaîne de caractère(s) fixe, paramétrable par exemple, comme « ## ». En variante, selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté dès lors que l’utilisateur termine un mot (détection d’un espace ou d’un signe de ponctuation) ou fait une pause dans sa saisie (pendant au moins une première durée, paramétrable par exemple, de l’ordre de quelques secondes, voire quelques dizaines de secondes (comme 2, 3, 5, 10, 15 ou 20 secondes ). En variante, selon au moins un mode de réalisation, un procédé tel que décrit ci-dessus est caractérisé en ce qu’il est exécuté à intervalles réguliers (par exemple de durée de l’ordre de quelques secondes, voire quelques dizaines de secondes (comme 2, 3, 5, 10, 15 ou 20 secondes ).Cette durée peut par exemple être paramétrable. Un tel mode de réalisation permet d’ajuster le délai de traitement des commandes en faisant varier la durée de cet intervalle. Selon au moins un mode de réalisation, ladite étape de détermination comporte une analyse sémantique de ladite chaîne de caractères et ladite étape exécution comporte un traitement du résultat de ladite analyse sémantique par au moins un agent. Cette implémentation permet d’installer différents agents pour traiter différents types de commandes (calcul numérique, domotique, comptabilité, application métier, …). Les agents peuvent être implémentés par exemple sous forme de « plug-in », et/ou de modules additionnels. Selon les modes de réalisation, un agent peut être dédié à une ou à plusieurs applications. Dans au moins un mode de réalisation, le procédé d’exécution comporte une étape préalable d’activation via une interface d’entrée dudit dispositif. Dans au moins un mode de réalisation, le procédé d’exécution est exécuté : - sur détection d’au moins un caractère prédéterminé ; et/ou - sur détection de la fin d’un mot ; et/ou - sur détection d’une pause dans la génération desdits caractères. L'invention concerne également un dispositif d’exécution d’une commande générée via au moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active, caractérisé en ce qu‘il comprend : - un module d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ; - un module de détermination configuré pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ; - - un module de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et - un module d’exécution de ladite commande. Le terme module peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé ci-dessus selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Le procédé peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise également un système d’exécution d’une commande générée via ua moins un périphérique d’entrée d’un dispositif électronique dans le cadre d’une application active, caractérisé en ce qu‘il comprend : - un dispositif d’obtention d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée ; - un dispositif de détermination configuré pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique ; - un dispositif de suppression de ladite chaîne de caractères sur ledit périphérique d’affichage dudit dispositif électronique ; et - un dispositif d’exécution de ladite commande. L'invention vise aussi un support d'enregistrement ou support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Les supports d'enregistrement mentionnés ci-avant peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet. Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Ce dispositif d’exécution, ce système d’exécution ainsi que ce programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé d’exécution dans tous ses modes de réalisation. Les différents modes de réalisation du procédé d’exécution, du dispositif d’exécution ou du système d’exécution mentionnés précédemment ou décrits ci-après peuvent être combinés. 4. Liste des figures D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : La illustre un exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention, La illustre l’architecture d’un dispositif adapté pour la mise en œuvre du procédé d’exécution, selon un mode particulier de réalisation de l’invention, La illustre l’architecture d’un dispositif adapté pour la mise en œuvre du procédé d’exécution, selon un autre mode particulier de réalisation de l’invention, La illustre un exemple de mise en œuvre de l’invention ; La illustre un exemple de mise en œuvre de l’invention ; La illustre les principales étapes du procédé d’exécution selon un mode particulier de réalisation de l’invention. 5. Description d'un mode de réalisation de l'invention La illustre un exemple d'environnement de mise en œuvre de l'invention selon au moins un mode de réalisation. L’environnement représenté en comprend au moins un dispositif électronique 101 qui intègre un dispositif d’exécution d’une commande apte à mettre en œuvre le procédé d’exécution d’une commande selon la présente invention. Selon d’autres modes de réalisation, le dispositif d’exécution peut être situé dans le réseau et/ou réparti sur une ou plusieurs machines informatiques telles que des ordinateurs, des terminaux ou des serveurs. Le dispositif électronique 101 est par exemple un terminal de type smartphone (téléphone intelligent en anglais), tablette, télévision connectée, objet connecté, ordinateur de bord d’une voiture, ordinateur personnel ou tout autre terminal apte à restituer un contenu multimédia visuellement et/ou vocalement. Un ou plusieurs périphériques de restitution graphique/d’affichage 105 ou sonore peuvent être connectés ou bien compris par le dispositif électronique 101 (connecté de façon filaire (via un câble VGA, HDMI, USB, etc.) ou bien sans fil (WiFi®, Bluetooth®, etc.). Ce ou ces périphériques de restitution peuvent par exemple être un écran, un vidéo projecteur, un haut-parleur, etc.). Selon un mode de réalisation de l'invention, le ou les périphériques de restitution graphique ou sonore peuvent être connectés au dispositif électronique 101 via le réseau 102. De même, un ou plusieurs périphériques d’entrée 103a, 103b peuvent être connectés ou bien compris par le dispositif électronique 101 (connecté de façon filaire (via un câble VGA, HDMI, USB, etc.) ou bien sans fil (WiFi®, Bluetooth®, etc.). Ce ou ces périphériques d’entrée peuvent par exemple être un clavier, une souris, une surface tactile, une caméra 104, un micro ou bien tout autre périphérique apte à fournir des données d’interaction en provenance de l’utilisateur du dispositif électronique 101. Les figures 2A et 2B illustrent chacune un dispositif S configuré pour mettre en œuvre le procédé d’acquisition selon au moins un mode de réalisation de l'invention. Le dispositif S a l'architecture classique d'un ordinateur, et comprend notamment un système d’exploitation OS, une mémoire MEM, une unité de traitement UT, équipée par exemple d'un processeur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM, un module d’obtention MOD_OBT, un module MOD_GA de gestion d’actions et un module de détermination MOD_DET. Le programme d'ordinateur PG comprend des instructions pour mettre en œuvre les étapes du procédé d’exécution tel que décrit ultérieurement à l’appui de la , lorsque le programme est exécuté par le processeur PROC. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur PROC. Le processeur PROC de l'unité de traitement UT met notamment en œuvre les étapes du procédé d’exécution selon l'un quelconque des modes de réalisation décrits en relation avec la présente demande (par exemple en lien avec la ) et selon les instructions du programme d'ordinateur PG. Dans au moins un mode de réalisation, le module de détermination MOD_DET est configuré pour s’interfacer avec une pluralité d’agents dont seulement trois sont représentés aux figures 2A et 2B. Dans au moins un mode de réalisation représenté à la , le module de détermination MOD_DET comporte un client CLT_KNOW et un serveur SRV_KNOW de connaissance compris dans le dispositif S. Au moins certains agents peuvent également être compris dans le dispositif S. Dans au moins un mode de réalisation représenté à la , le client CLT_KNOW et le serveur de connaissance SRV_KNOW sont connectés via un réseau de communication. Le module d’obtention MOD_OBT est configuré pour obtenir au moins une chaîne de caractères à partir de données générées par au moins un utilisateur (son, mouvement, clic, appui (long ou court), etc.) au niveau d’un périphérique d’entrée (103a (pavé tactile), 103b (clavier)) du dispositif électronique 101. Ces données sont interprétées et traduites en caractères. C’est par exemple le cas lors d’appuis sur les touches du clavier 103b du dispositif électronique 101, lors d’une action (mouvement, clic) réalisée sur une surface tactile 103a, lors d’une retranscription textuelle d’un discours en langage des signes captés par la caméra 104 du dispositif électronique 101 ou bien lors d’une retranscription textuelle d’un discours audio capté par un micro (non représenté) du dispositif électronique 101. Dans au moins certains modes de réalisation du procédé, le module d’obtention MOD_OBT peut s’abonner auprès du système d’exploitation OS pour être notifié d’au moins certains évènements système. Par exemple, le module d’obtention MOD_OBT reçoit du système d’exploitation OS: - un identifiant de l’application active lors d’un (par exemple à chaque) changement d’application active ; et - un événement représentatif d’au moins certaines actions utilisateur pour générer des données d’entrée (click souris, saisie d’une touche au clavier, …). Dans au moins certains modes de réalisation du procédé, la mémoire MEM comporte au moins une zone tampon BUFF (en anglais « buffer) (par exemple une zone tampon unique) qui mémorise les caractères générés par les entrées utilisateur au fil de l’eau dans une fenêtre d’une application active, ces caractères étant obtenus par le module d’obtention MOD_OBT par notification du système d’exploitation OS. Par exemple, dans l’exemple illustré par la , en supposant qu’un utilisateur : i/ saisisse la chaîne de caractères « Cher » (illustrée par la chaîne de caractères « Cccc » en ) dans une application de messagerie MSG d’identifiant ID_MSG; puis ii/ bascule dans une autre application, par exemple un traitement de texte TTXT d’identifiant ID_TTXT pour saisir la chaîne de caractères « poisson » (illustrée par la chaîne de caractères « ppppppp» en ) dans un objet graphique OG, puis la chaîne de caractères « traduire truite en anglais » (illustrée par la chaîne de caractères « Tttttttt tttttt ee aaaaaaa» en ) dans une zone de texte ZT ; puis iii/ rebascule dans l’application de messagerie MSG pour continuer son message par la saisie de la chaîne de caractère « Monsieur » (illustrée par la chaîne de caractères « Mmmmmmmm » en ),la zone tampon BUFF comporte la chaîne de caractères « Cherpoissontraduire truite en anglais Monsieur ». Dans un autre mode de réalisation du procédé, la mémoire MEM comporte une zone tampon par application et/ou par fenêtre d’application pour mémoriser au fil de l’eau les caractères saisis par l’utilisateur dans une fenêtre d’une application lorsque cette application est active. Ainsi, en reprenant l’exemple de la , la mémoire MEM peut comporter : - une première zone tampon BUFF MSG comportant la chaîne de caractères « Cher Monsieur » correspondant au caractères saisis en deux temps par l’utilisateur lorsque l’application de messagerie MSG est active ; et - une deuxième zone tampon BUFF TTXT comportant la chaîne de caractères « poissontraduire truite en anglais » correspondant au caractères saisis par l’utilisateur lorsque le traitement de texte TTXT est l’application active. Dans le mode de réalisation décrit ici, dès que la fin d’un mot d’une chaîne de caractères est détectée, par exemple par détection d’un espace, d’un signe de ponctuation, ou d’une pause supérieure à une première durée dans la saisie de l’utilisateur, le procédé détermine un contexte de l’application active dans le cadre de laquelle la chaîne de caractères cette chaîne de caractères a été saisi. Le contexte déterminé peut par exemple permettre au procédé de déterminer (i) si ce mot constitue une commande et (ii) les actions à mettre en œuvre pour exécuter cette commande. En effet, une même chaîne de caractères peut être interprétée ou non comme une commande selon l’application active dans le cadre de laquelle cette chaîne a été générée. Par exemple le mot « vacances » peut être interprété comme une commande pour accéder à un site web relatif aux vacances dans un profil (historique par exemple) de l’utilisateur, uniquement lorsque ce mot vacances est saisie dans l’URL d’une page Web. Par ailleurs, une même commande peut être traitée différemment en fonction d’un contexte de l’application active. Par exemple : - en fonction d’un objet graphique ou d’un mot détecté à proximité de la chaîne de caractères ; et/ou - en fonction d’un lieu et/ou d’une date d’utilisation du dispositif électronique 101 au moment de la génération de la chaîne de caractères. Dans au moins certains modes de réalisation détaillés, le dispositif S peut comprendre un module MOD_OCR de reconnaissance optique de caractères apte à réaliser une reconnaissance optique de caractères sur une image (capture d’image) représentative d’un contenu affiché par un périphérique d’affichage (105) du dispositif électronique 101 et à obtenir au moins une deuxième chaîne de caractères TXT2 en tant que résultat de la reconnaissance optique de caractères. A noter que l’image est par exemple générée via un logiciel apte à réaliser une capture du contenu graphique d’un écran 105 du dispositif électronique 101. Ainsi, en reprenant l’exemple ci-avant de la , trois chaînes de caractères TXT2 1 , TXT2 2 et TXT2 3 peuvent être obtenues par reconnaissance optique de caractères appliquée à l’image représentative du contenu affiché sur l’écran 105 : - TXT2 1 : « Cher Monsieur » ; et - TXT2 2 : « poisson » ; et - TXT2 3 : « traduire truite en anglais». Dans au moins certains modes de réalisation détaillés, le dispositif S peut comprendre également un module de recherche MOD_SEARCH apte à rechercher et à détecter au sein d’une chaîne de caractères TXT2 obtenue grâce à la reconnaissance optique de caractères, une chaîne de caractères (par exemple un ou plusieurs mots) obtenue via le module d’obtention MOD_OBT. Cette recherche peut être effectuée, dès lors que le module MOD_OBT détecte la fin d’un mot dans une chaîne de caractères par exemple. La reconnaissance optique de caractères peut être optionnelle dans au moins certains modes de réalisation mais elle peut aider à distinguer, comme illustré dans l’exemple du traitement de texte TTXT, plusieurs chaînes de caractères (« poisson », « traduire truite en anglais ») saisies par l’utilisateur dans différentes zones de saisie d’une même application. Dans au moins certains modes de réalisation détaillés, le module MOD_OCR de reconnaissance optique de caractères est configuré pour déterminer qu’une chaîne de caractères est située à proximité d’un objet graphique, par exemple un objet graphique ou un texte particulier. Par exemple, dans le cas de l’image de la , le module MOD_OCR de reconnaissance optique de caractères peut déterminer que la chaîne de caractères « poisson » est située dans un rectangle. Par exemple, dans le cas de l’image de la , le module MOD_OCR de reconnaissance optique de caractères peut déterminer que la chaîne de caractères « acheter action X pour 20 euros » (illustrée par la chaîne de caractères « aaaaaaa aaaaaa X pppp 20 eeeee » en ) est située dans une forme oblongue, à proximité d’une loupe d’une application de moteur de recherche SRCHENG d’identifiant ID_SRCHENG. Dans au moins un mode de réalisation, un type de zone de saisie peut être déterminé, par exemple en mettant en œuvre un mécanisme d’apprentissage préalable se basant sur des images d’interface graphique annotées. En particulier, certains mode de réalisation peuvent utiliser des méthodes de détermination de zones de saisie d’URL, par exemple des méthodes fonctionnant sur la base de la reconnaissance de la forme (allongée) et de la position (généralement en haut) de telles zones de saisie au sein de l’environnement graphique des applications présentant de telles zones. Dans au moins certains modes de réalisation, le module MOD_OCR de reconnaissance optique de caractères est configuré pour déterminer la position POS d’une chaîne de caractères dans l’image représentative du contenu affiché sur l’écran 105. Dans au moins certains modes de réalisation, le dispositif S peut comporter un module de détermination MOD_DET configuré pour déterminer au moins en fonction de la chaîne de caractères obtenue par le module d’obtention MOD_OBT et d’un contexte d’une application du dispositif électronique 101 active au moment de l’obtention de ladite chaîne de caractères, si cette chaîne de caractères constitue une commande de l’utilisateur du dispositif électronique 101. Dans au moins certains modes de réalisation, le module de détermination MOD_DET peut comporter un client CLT_KNOW, coopérant par exemple avec un serveur de connaissance SRV_KNOW (implémenté par exemple sous la forme d’un service web, d’une librairie ou d’une base de données). Le contexte de l’application active peut notamment comporter : - l’identifiant ID_APP de l’application active ; - un type de la zone de saisie dans laquelle est détectée la chaîne de caractères ; - des informations relatives à un ou plusieurs objet(s) graphique(s) et/ou textuel(s) détectés par le module MOD_OCR et situés à proximité de la chaîne de caractères ; - une date et/ou un lieu d’utilisation du dispositif électronique 101 au moment de l’obtention de la chaîne de caractères. Le client CLT_KNOW et le serveur de connaissance SRV_KNOW peuvent communiquer selon au moins un protocole. Ce protocole peut par exemple permettre de caractériser une chaîne de caractères, un identifiant d’application active, un type de zone de saisie, une date ou un lieu d’utilisation du dispositif électronique , un objet graphique comportant la chaîne de caractères ou situé à proximité de la chaîne de caractères, et/ou un texte situé à proximité de la chaîne de caractères.. Ainsi un protocole cité à titre de semple exemple illustratif pourrait comprendre: - le mot clef « TXT » pour introduire une chaîne de caractères ; - le mot clef « ID_APP » pour introduire un identifiant d’application active - les mots clefs « DATE » et « GPS » pour introduire respectivement une date ou un lieu d’utilisation du dispositif électronique ; - le mot-clef « ZONE_TYPE » pour introduire un type de zone de saisie dans laquelle la chaîne de caractères a été détectée. Par exemple le mot-clef WEB_URL_SEARCH peut être utilisé pour préciser que la chaîne de caractères a été détectée dans une zone de saisie d’URL ; - le mot clef « DANS » pour introduire un objet graphique comportant la chaîne de caractères ; et - le mot clef « PROX » pour introduire un objet graphique ou un texte situé à proximité de la chaîne de caractères. Par exemple, en reprenant les exemples décrits en liaison avec figures 3 et 4, le client CLT_KNOW peut utiliser les formats suivants dans les messages au serveur de connaissance SRV_KNOW: MSG 1 = {TXT = « Cher», ID_APP=ID_MSG, DATE=20220715, GPS=48.856614, 2.3522219}, lorsque le module d’obtention MOD_OBT détecte la fin du mot « Cher », MSG 2 = {TXT = « Cher Monsieur », ID_APP=ID_MSG, DATE=20220715, GPS=48.856614, 2.3522219}, lorsque le module d’obtention MOD_OBT détecte la fin du mot « Monsieur », MSG 3 = {TXT = « poisson », ID_APP=ID_TTXT, DANS=rectangle}, lorsque le module d’obtention MOD_OBT détecte la fin du mot « poisson », MSG 4 = {TXT = « traduire truite en anglais »}, ID_APP=ID_TTXT}, lorsque le module d’obtention MOD_OBT détecte la fin du mot « anglais », MSG 5 = {ZONE_TYPE : WEB_URL_SEARCH = « acheter action X pour 20 euros », ID_APP=ID_SRCHENG, DANS=oblong, PROX=loupe », lorsque le module d’obtention MOD_OBT détecte la fin du mot « euros ». Les messages envoyés après détection de la fin des mots « traduire », « truite », « en », « acheter », « action », « X », « pour », « 20 » ne sont pas détaillés mais sont sous le même format. Dans un ou plusieurs modes de réalisation, le serveur de connaissance SRV_KNOW comporte un module d’analyse sémantique pour analyser les messages reçus du client CLT_KNOW, sur la base de ces mots clefs (en anglais « tag ») et de règles d’interprétation. Sur réception d’un tel message, et après analyse sémantique, le serveur de connaissance SRV_KNOW est configuré pour déterminer si la chaîne de caractères comprise dans un message constitue ou non une commande et si c’est le cas pour exécuter la commande. Comme précisé précédemment, dans certains modes de réalisation, la détermination du fait que la chaîne de caractères constitue ou non une commande peut dépendre de cette chaîne de caractères et du contexte de l’application active. De même, comme précisé précédemment, lorsqu’il est déterminé que la chaîne de caractères constitue une commande, les actions mises en œuvre pour exécuter cette commande peuvent dépendre, dans certains modes de réalisation, de cette chaîne de caractères et du contexte de l’application active. Dans un ou plusieurs modes de réalisation, le module d’analyse sémantique du serveur SRV_KNOW analyse donc le message reçu pour en déterminer son sens en fonction de la chaîne de caractères (mot-clef TXT) et/ou du contexte de l’application active et produire un résultat sémantique sous forme de règles interprétables par un ou plusieurs agents tiers. Dans l’exemple représenté aux figures 2A et 2B, seuls 3 agents sont représentés, mais en pratique le nombre d’agents peut être beaucoup plus important (par exemple plusieurs dizaines). Comme exposé ci-avant, un agent peut être dédié à une ou plusieurs applications. Les agents peuvent varier selon les modes de réalisation, autant en nombre qu’en fonctionnalités. Par exemple, les agents peuvent être déclarés ou installés préalablement à l’exécution du procédé (par exemple via une liste d’agents accessibles via une interface homme machine). Par exemple, sur réception du message MSG 4 = {TXT = « traduire truite en anglais »}, ID_APP=ID_TTXT}, le module d’analyse sémantique produit un message TRANSLATE(« truite », « EN ») interprétable par un agent de traduction TRANS_AG. L’agent TRANS_AG interprète ce message et retourne le résultat RES 4 décrivant les actions à exécuter pour traiter la commande : RES 4 = {"success": true, "code": 200, "actions": [{ "type": "INSERT", "cmd": {"value": "trout", "props": [{"mimetype":"text/plain"}]}, "txt": "traduire truite en anglais" }] Par exemple, sur réception MSG 5 = {ZONE_TYPE : WEB_URL_SEARCH = « acheter action X pour 20 euros », ID_APP=ID_SRCHENG, DANS=oblong, PROX=loupe », le module d’analyse sémantique produit un message SHARES(« BUY », « X », « 20 ») interprétable par un agent STOCK_AG. L’agent STOCK_AG interprète ce message et retourne le résultat RES 5 décrivant les actions à exécuter pour traiter la commande : RES 5 = {"success": true, "code": 200, "input_cmd": "acheter action X pour 20 euros", "actions": [{ "type": "INSERT", "cmd": {"value": "http://www.bourse.com#BUY=X#VAL=20€", "props": [{"mimetype":"text/plain"}] }, "txt": " acheter action X pour 20 euros " }] Dans un autre exemple, si le module d’analyse sémantique analyse la chaîne de caractères « insérer dernière image reçue par mail », le module d’analyse sémantique peut produire un message interprétable à un agent de messagerie MSG_AG configuré pour récupérer la liste des mails envoyés, les contenus des mails et des pièces-jointes, etc..). Dans un ou plusieurs modes de réalisation, le serveur de connaissance SRV_KNOW peut éventuellement retourner au client CLT_KNOW le résultat fourni par le ou les agents (qui sera par exemple ensuite ; comme déjà exposé, utilisé pour remplacer la chaîne de caractères générée par l’utilisateur). Dans au moins certains modes de réalisation, le résultat de l’exécution peut par exemple être constitué par un texte, par une image, par un contenu multimédia ou par une URL. Dans au moins certains modes de réalisation,, le serveur de connaissance SRV_KNOW renvoie également au client CLT_KNOW un type de ce contenu (texte, image, vidéo, URL…). Dans au moins certains modes de réalisation, lorsque le serveur de connaissance détermine que la chaîne de caractères n’est pas une commande, il renvoie une réponse indiquant que la chaîne de caractères reçue n’est pas identifiée comme une commande (en utilisant par exemple un mot clé indiquant cette absence d’identification, tel que « NONE »). Par exemple, en reprenant l’exemple des messages MSG 1 à MSG 4 , le serveur de connaissance SRV_KNWL peut déterminer que les chaînes de caractères des messages MSG 1 , MSG 2 , MSG 3 ne sont pas des commandes. Dans au moins certains modes de réalisation,, le dispositif électronique 101 peut comporter un module MOD_GA de gestion d’actions pour convertir la réponse du client CLT_KNOW en une liste d’actions (similaires à des actions utilisateur via un périphérique d’entrée) sur la fenêtre de l’application active concernée. Ainsi, dans au moins certains modes de réalisation,, le module de gestion d’actions MOD_GA peut être configuré pour : i/ supprimer une chaîne de caractères; et ii/ éventuellement insérer un objet à la place du cette chaîne de caractères, par exemple à la position POS repérée par le module MOD_OCR. Dans au moins certains modes de réalisation,, pour supprimer une chaîne de caractères, le module de gestion d’action MOD_GA simule, pour l’application active, des appuis sur la touche « EFFACER » du clavier prévue pour effacer le(s) dernier(s) caractère saisi(s). Dans au moins certains modes de réalisation,, pour insérer un objet à la place d’une chaîne de caractères, le module de gestion d’action MOD_GA copie cet objet dans le presse-papier et colle le contenu du presse-papier à la position POS. Ainsi, dans les exemples ci-avant : - sur réception de la réponse RES 4 , le module de gestion d’action MOD_GA remplace la chaîne de caractères « traduire truite en anglais » par la chaîne de caractères « trout » dans la zone de texte ZT ; - sur réception de la réponse RSP 5 , le module de gestion d’action MOD_GA remplace la chaîne de caractères « acheter action X pour 20 euros » par l’URL http://www.bourse.com#BUY=X#VAL=20€ dans la forme oblongue, à proximité de la loupe. Par ailleurs, certaines commandes d’un utilisateur peuvent ne pas nécessiter d’insérer un nouveau contenu dans la fenêtre active. C’est par exemple le cas lorsque la commande est une commande de contrôle d’un appareil domotique par exemple « allumer lumière ».Dans de tels modes de réalisation, le texte correspondant à la commande peut être simplement supprimé, la commande à effectuer étant par ailleurs transmise au système ou à l’application concernée (par exemple au système domotique). Selon les modes de réalisation, le procédé peut fonctionner de manière systématique ou bien être activé suite à une commande de mise en œuvre (via par exemple une action manuelle d’un utilisateur du dispositif électronique 101). Similairement, dans certains modes de réalisation, le procédé peut être désactivé, par exemple via une action manuelle d’un utilisateur. Dans ce mode de réalisation, le dispositif S peut comporter un module MOD_ACT d’activation et de désactivation du procédé. La illustre des étapes du procédé d’exécution dans au moins certains modes de réalisation,. Dans cet exemple le procédé est mis en œuvre par une application exécuté en tâche de fond par le dispositif électronique 101. On supposera que lors d’une première étape ACT, le procédé a été activé par l’utilisateur, et que le procédé comprend un abonnement, au cours d’une étape ABON, auprès du système d’exploitation OS pour être notifié des changements d’application active et des saisies de l’utilisateur. Dans l’exemple illustré, lors d’une étape OBT, le procédé peut obtenir au moins une première donnée en provenance d’un dispositif / périphérique d’entrée. Cette donnée résulte par exemple d’une interprétation, au niveau d’un périphérique d’entrée, d’une action réalisée par un utilisateur du dispositif électronique 101. Cette action est par exemple une succession d’appuis touche détectés au niveau du clavier (103b) du dispositif électronique 101. Dans cet exemple, la donnée peut correspondre à au moins un caractère(s) et/ou de chaînes de caractères, représentant l’interprétation des appuis touche effectués par l’utilisateur. Dans l’exemple illustré, l’au moins une donnée peut comprendre par exemple un nombre fixe n (n entier supérieur à 1) de caractères en provenance du périphérique d’entrée, le ou les caractères obtenus correspondant au(x) n dernier(s) caractère(s) tapé(s) / saisi(s) par l’utilisateur au niveau du clavier. Concrètement, le ou les caractères tout juste tapés / saisis par l’utilisateur sont ajoutés / stockés dans une ou plusieurs zones tampons (de taille maximale fixe par exemple) telle qu’une liste de type FIFO (en anglais First In First Out). Les caractères ajoutés viennent remplir la liste jusqu’à ce que celle-ci soit pleine. Une fois la liste pleine, chaque caractère ajouté se fera en remplacement du plus ancien caractère contenu dans la liste. Un tel mode de réalisation permet d’avoir à tout instant en mémoire le ou les derniers caractères (par exemple le ou les derniers mots) saisis par l’utilisateur au niveau du périphérique d’entrée du dispositif électronique 101 quelle que soit la zone de saisie de ces caractères. Comme mentionné précédemment, soit une seule zone tampon est alimentée par tous les caractères saisis, indépendamment de l’application active, soit on utilise une zone tampon par application active ou par zone de saisie de chaque application active. Dans l’exemple de la , lors d’une étape IMG le procédé comprend une obtention d’une image représentative du contenu affiché par un périphérique d’affichage 105 du dispositif électronique 101. L’image est par exemple obtenue en provenance d’un logiciel exécuté par le dispositif électronique 101 apte à capturer le contenu graphique du périphérique d’affichage 105 du dispositif électronique 101 (par exemple une sonde logicielle). Selon un autre exemple, l’image peut être obtenue en provenance d’un dispositif tiers (par exemple une caméra ou un smartphone) positionné de façon à capturer le contenu affiché par un périphérique d’affichage 105 du dispositif 101. Ce dernier cas peut impliquer la transmission de l’image par le dispositif tiers au dispositif 101. Dans l’exemple de la , une reconnaissance optique de caractères (étape OCR) peut par exemple être appliquée à l’image obtenue. La reconnaissance optique de caractères permet d’obtenir une retranscription, au moins partielle, du texte contenu dans l’image obtenue/générée sous forme d’une chaîne / séquence de caractères, elle peut également permettre d’associer à au moins un caractère retranscrit (par exemple à chaque caractère retranscrit) sa position au sein de l’image obtenue . Selon au moins un mode de réalisation, la reconnaissance optique de caractères peut être réalisée par un logiciel tiers et le résultat, c’est-à-dire la retranscription du texte (chaîne / séquence de caractères et, optionnellement; leur position associée), est émis par le logiciel tiers à destination de l’application mettant en œuvre le procédé objet de la présente demande. Une fois la retranscription obtenue, le procédé peut comprendre une recherche (étape RECH) (et si la recherche est positive, une détection) du ou des caractères mémorisés dans au moins une zone tampon (étape OBT) au sein de la séquence de caractères transcrite. Lorsque la recherche est positive, le procédé détermine (étape DET) si la chaîne de caractères détectée constitue ou non une commande de l’utilisateur. Cette détermination s’effectue à partir de la chaîne de caractères et du contexte textuel de l’application active au moment de la génération de cette chaîne de caractères. Le contexte peut comprendre : - l’identifiant de l’application active ; - des informations relatives à des objets graphiques détectés par le module à proximité de la chaîne de caractères ; - une date et/ou un lieu d’utilisation du dispositif électronique au moment de l’obtention de la chaîne de caractères. La prise en compte du lieu d’utilisation du dispositif électronique peut par exemple permettre de déterminer la cible ( en termes d’application ou de dispositif cible par exemple) d’une commande domotique. Par exemple la commande « allumer la lumière » peut être interprétée pour allumer la lumière à la maison ou au bureau selon le lieu d’utilisation du dispositif et donc être adressée selon le lieu d’utilisation du dispositif électronique à des applications ou dispositifs de domotique différents. La prise en compte de la date d’utilisation du dispositif électronique peut par exemple permettre de déterminer l’action à mettre en œuvre pour traiter une commande domotique. Par exemple la commande « mettre en veille » peut être interprétée pour mettre en veille le dispositif avec des niveaux de veilles différents (en terme d’économie d’énergie et de temps de reprise notamment) selon l’heure d’utilisation du dispositif (voire même éteindre le dispositif). Le procédé peut aussi être utilisé, dans certains mode de réalisation, pour interpréter des commandes de gestion d’un outil métier. Par exemple pour des salariés qui sont habitués à saisir le temps passé à certaines tâches dans un outil de suivi des temps, le procédé peut leur permettre de saisir une commande du type « valoriser 3H » dans l’environnement d’une application active, cette commande étant interprétée pour alimenter cet outil de suivi des temps avec la durée et l’identifiant de l’application active. Dans certains mode de réalisation, , lorsque le procédé détecte que la chaîne de caractères correspond à une commande : - il supprime cette chaîne de caractères (étape SUPPR) ; - il exécute la commande (étape EXEC) ; et - éventuellement il insère un contenu représentatif du résultat de l’exécution de la commande à la position POS du texte supprimé (étape INSER). Dans les exemples décrits précédemment le client CLT_KNOW et le serveur de connaissance SRV_KNOW peuvent être localisés sur des entités différentes ou incorporés l’un et/ou l’autre dans le dispositif électronique 101. L’architecture client-serveur des modes de réalisation détaillés est optionnelle, les fonctions du client et du serveur pouvant être implémentés différemment, par exemple au sein d’une même fonction logicielle, dans certains mode de réalisation. Procédé d’exécution d’une commande générée via au moins un périphérique d’entrée (103a, 103b) d’un dispositif électronique (101) dans le cadre d’une application active, le procédé étant mis en œuvre par une autre application s’exécutant en tâche de fond et comprenant : - une étape d’obtention (OBT) d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage (105) dudit dispositif électronique (101) dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée (103a, 103b) ; - une étape de détermination (DET) pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique (101) ; et lorsque la détermination est positive - une étape de suppression (SUPPR) de ladite chaîne de caractères sur ledit périphérique d’affichage (105) ; et - une étape d’exécution (EXEC) de ladite commande. Procédé selon la revendication 1 caractérisé en ce qu’il comporte : - une étape de détermination (DPOS) d’une position de l’affichage de ladite chaîne de caractères sur ledit périphérique d’affichage (105) ; et - une étape d’affichage (AFFICH), sur ledit périphérique d’affichage (105), et à proximité de ladite position (POS), d’un résultat de l’étape d’exécution de ladite commande. Procédé selon la revendication 2 caractérisé en ce que ladite position (POS) est déterminée grâce à une reconnaissance optique des caractères au sein d’une image représentative d’un contenu affiché par ledit périphérique d’affichage (105).. Procédé selon la revendication 1 ou 2 caractérisé en ce qu’il comporte une étape (RECH) de détection de ladite chaîne de caractères dans au moins une deuxième chaîne de caractères (TXT2) obtenue par une étape de reconnaissance optique de caractères (OCR) appliquée à tout ou partie d’une image représentative d’un contenu affiché par ledit périphérique d’affichage. Procédé selon la revendication 4 caractérisé en ce que ladite reconnaissance optique de caractères (OCR) est appliquée à une partie de ladite image correspondant à de l’environnement graphique de ladite application active, affichée par ledit dispositif d’affichage. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il comporte une étape préalable d’activation (ACTIV) via une interface d’entrée dudit dispositif. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il est exécuté : - sur détection d’au moins un caractère prédéterminé ; et/ou - sur détection de la fin d’un mot ; et/ou - sur détection d’une pause dans la génération desdits caractères. Procédé selon l’une des revendications précédentes caractérisé en ce qu’il est exécuté à intervalles réguliers. Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que ladite étape de détermination (DET) comporte une analyse sémantique de ladite chaîne de caractères et en ce que ladite étape exécution (EXEC) comporte un traitement du résultat de ladite analyse sémantique par au moins un agent. Dispositif (S) d’exécution d’une commande générée via au moins un périphérique d’entrée (103a, 103b) d’un dispositif électronique (101) dans le cadre d’une application active, caractérisé en ce qu‘il comprend : - un module d’obtention (MOD_OBT) d’une chaîne d’au moins un caractère affichée sur un périphérique d’affichage (105) dudit dispositif électronique dans l’environnement graphique d’une application active et générée par au moins une donnée en provenance dudit au moins un périphérique d’entrée (103a, 103b) ; - un module de détermination (MOD_DET) configuré pour déterminer, au moins en fonction de ladite chaîne de caractères, et d’un contexte de ladite application active, si ladite chaîne de caractères constitue une commande d’un utilisateur dudit dispositif électronique (101) ; - un module de suppression (MOD_SUPPR) de ladite chaîne de caractères sur ledit périphérique d’affichage (105) dudit dispositif électronique (101) ; et - un module d’exécution (MOD_EXEC) de ladite commande.