WO2024033192A1 - Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels - Google Patents

Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels Download PDF

Info

Publication number
WO2024033192A1
WO2024033192A1 PCT/EP2023/071468 EP2023071468W WO2024033192A1 WO 2024033192 A1 WO2024033192 A1 WO 2024033192A1 EP 2023071468 W EP2023071468 W EP 2023071468W WO 2024033192 A1 WO2024033192 A1 WO 2024033192A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic terminal
terminal
application
obtaining
knowledge base
Prior art date
Application number
PCT/EP2023/071468
Other languages
English (en)
Inventor
Tiphaine Marie
Maryline GIDON
Jean Francois LETELLIER
Alan Glen BOYD
Original Assignee
Orange
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange filed Critical Orange
Publication of WO2024033192A1 publication Critical patent/WO2024033192A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Definitions

  • the invention lies in the field of electronic terminals capable of executing a plurality of applications. More particularly, the invention relates to techniques allowing, for example, the execution of functions of one or more applications in a transverse manner, that is to say without depending on a given application.
  • Electronic terminals can have increasingly large screens and computing capabilities allowing them to run numerous computer applications simultaneously.
  • each application can offer its own user experience.
  • a disadvantage is that this can lead to a lack of homogeneity between the user interfaces of the applications executed by the electronic terminal.
  • the invention improves the state of the art and proposes for this purpose a method for constructing a knowledge base, said method being implemented by a construction device during use of an electronic terminal, and characterized in that the method comprises: when a system event on said electronic terminal is detected
  • a first step of obtaining at least one position data of a cursor said cursor being associated with at least one pointing device of said electronic terminal, and at least one digital image of a capture of at least one at least part of the rendering of at least one screen of said electronic terminal;
  • the proposed solution is based on a new and inventive approach consisting of building a knowledge base by exploiting both the system events of an electronic terminal triggered by a user but also screen capture and data analysis technologies. image in order to automatically establish a table of correspondences between each function of each application (computer application) used by the user and the associated system actions (actions executed by the electronic terminal).
  • An advantage of the proposed solution is that it is simple to implement since, in addition to the terminal already available to the user, all that is needed is a calculation machine (possibly the one already present in the terminal).
  • Another advantage of the proposed solution is that it allows generic construction of the knowledge base by eliminating the need for access to the APIs of each application executed by the terminal. In other words, because it is not based on APIs of an application executed by the terminal, the proposed solution allows the creation of an independent ("agnostic") knowledge base of this application, with regard to the manner of collecting information related to the use of this application. Therefore the proposed solution requires few implementation constraints.
  • OTT application for Over The TOP in English or so-called bypass application
  • OTT application for Over The TOP in English or so-called bypass application
  • the information may include: the position of the icon of an IP telephony application, that is to say the position of the cursor obtained and saved within the knowledge base during a previous use/execution of the IP telephony application (for example when the user selects / clicks on the icon of the IP telephony application with a mouse connected to the electronic terminal).
  • the position of the cursor saved within the knowledge base corresponds to the position of the icon when the user releases the pressure on a mouse button of his electronic terminal. This embodiment allows, when the user moves the icon of the IP telephony application, to update the knowledge base with the new position of the icon.
  • the movement of an icon on a screen of an electronic terminal is for example carried out via a non-released click, that is to say kept pressed, on a button of the mouse of the electronic terminal added to a moving the cursor to the desired position. Once the position is reached, the user releases the pressure exerted on the mouse button so that the icon is placed in the desired position;
  • the OTT application can then run the telephony application, for example, by simulating a click on the IP telephony application icon.
  • the OTT application can also provide display parameters to the IP telephony application once it is started.
  • the OTT computing application does not have to be application specific and can cooperate with the generic knowledge base, which may contain information related to several applications (even if in a particular implementation it may also contain information related to a single application).
  • the knowledge base is enriched over time thanks to user actions carried out at the level of the electronic terminal applications.
  • the method can, when obtaining context data and/or system data, detect that the application used by the user corresponds to the OTT application. In this case, the method may not update the knowledge base.
  • the OTT application can autonomously and transversely control the functions of the electronic terminal applications according to predetermined computer routines (a sequence of computer instructions).
  • a routine can for example include the detection of a particular event obtained from the electronic terminal such as the detection of a user action, the exceeding of a threshold or a duration, etc.
  • electronic terminal we mean any device capable of at least managing a display device and/or a pointing/input device (personal computer, smartphone, electronic tablet, television, on-board computer of a car, connected objects, etc.).
  • system event we mean an event generated by an operating system of an electronic terminal. The system event is for example generated upon receipt of a message or following an action by a user at a peripheral of the electronic terminal. A system event can for example be triggered following the execution of a computer command (initiated or not by the user).
  • system data we mean data, for example obtained from the operating system of the electronic terminal.
  • a method as described above is characterized in that said system event is generated by at least one pointing device associated with said electronic terminal.
  • the method is triggered when the user interacts and performs an action (for example a click) at a pointing device associated with the electronic terminal.
  • an action for example a click
  • pointing device we mean any input device allowing a user to enter position data (coordinates/spatial data), for example via a cursor, and/or action, for example via a click, at the level of an electronic terminal.
  • position data coordinates/spatial data
  • a pointing device is for example a touchpad, a mouse, a trackball, a trackpoint or even a joystick.
  • a method as described above is characterized in that the capture concerns an active application window.
  • the method captures a part of the screen which corresponds to the active application window displayed on the screen.
  • An application window is a window linked to the execution of an application by the terminal.
  • An active application window is an application window which is in use by the user, that is to say which has the focus. This embodiment applies in particular in the case where the terminal allows multiwindowing (i.e. can simultaneously display several application windows).
  • the terminal can only display one application window at a time (case of a smartphone type terminal for example), the application window corresponds to the active application window. The capture is then taken on the entire screen of the terminal.
  • the terminal may be associated with or include one or more display devices.
  • a method as described above is characterized in that obtaining said at least one piece of context data is carried out via an optical character recognition technique and/or a computer vision technique.
  • the knowledge base can be enriched with two types of information: those extracted from the text and those extracted from image elements. This covers most, or in some cases all, of the useful data included in the image.
  • a method as described above is characterized in that the updating step is conditioned by the value of a confidence score associated with said at least one context data.
  • a method as described above is characterized in that said at least one system data item comprises at least one computer command executable by the operating system of said electronic terminal.
  • the information collected and stored in the knowledge base includes system commands capable of being replayed by an OTT computer application.
  • the user wishes to schedule the shutdown of their Windows 10 TM computer via the OTT application, it obtains the associated command from the knowledge base (shutdown -s -f -t xxx where “xxx” corresponds at the desired time).
  • shutdown -s -f -t xxx where “xxx” corresponds at the desired time.
  • this action has already been carried out beforehand by the user via another application and added to the knowledge base.
  • An advantage of this embodiment is that it is possible to control an application and/or trigger a computer function even when it is not accessible via the man-machine interface rendered by the electronic terminal.
  • the system data may also include the name of the active application (i.e. the application currently in use by the user).
  • the name of the application is for example obtained from the operating system of the electronic terminal via a system command or via a specific API such as the JavaScript command Node .js
  • a method as described above is characterized in that said context data belongs to the group comprising at least:
  • the proposed solution can take into account the great diversity of data obtained as a result of the analysis of the digital image. It is effective even if the user manipulates a large number of applications.
  • the context data may include the version of the application, the name of the application / computer function, the description of the function, the position within the image of a graphic element and / or 'a label associated with the function, and more generally any information associated with the application and/or the computer function used by the user at the terminal level electronic.
  • the context data may also include a keyboard shortcut associated with the function used and/or an image symbolizing the function.
  • the context data may also include the nature/type of the graphic window displayed by a computer application on a screen of the electronic terminal. Indeed, it is for example possible to distinguish, using computer vision technique, a videoconference window from an instant messaging window displayed by the same application (for example Microsoft Teams). Thus, the nature/type of the window can correspond to the main function rendered by the graphic window (editing an email, videoconferencing, instant messaging, document database, etc.).
  • the invention also relates to a device for constructing a knowledge base implemented during use of an electronic terminal, and characterized in that the device comprises:
  • a first module for obtaining at least one position data of a cursor, said cursor being associated with said at least one pointing device of said electronic terminal, and at least one digital image of a capture of at least one at least part of the rendering of at least one screen of said electronic terminal;
  • a third module for obtaining at least one piece of context data based on an analysis of all or part of said digital image
  • module can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or more generally to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
  • a hardware component corresponds to any element of a hardware assembly (or hardware) capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc.).
  • the invention also relates to a server, a gateway or a terminal characterized in that it comprises a construction device as described above.
  • the invention also relates to a computer program comprising instructions for implementing the above method according to any of the particular embodiments described above, when said program is executed by a processor.
  • the method can be implemented in various ways, notably in hardwired form or in software form.
  • This program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable shape.
  • the invention also relates to a recording medium or information medium readable by a computer, and comprising instructions for a computer program as mentioned above.
  • the recording media mentioned above can be any entity or device capable of storing the program.
  • the support may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means, for example a hard disk.
  • the recording media may correspond to a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the programs according to the invention can in particular be downloaded on an Internet type network.
  • the recording media may correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • This construction device and this computer program have characteristics and advantages similar to those described previously in relation to the construction process.
  • Figure 1 illustrates an example of an environment for implementing the invention according to a particular embodiment of the invention
  • Figure 2 illustrates the architecture of a device adapted for implementing the construction method, according to a particular embodiment of the invention
  • FIG 3 illustrates the main stages of the construction process according to a particular embodiment of the invention.
  • Figure 1 illustrates an example of an environment for implementing the invention according to a particular embodiment.
  • the environment represented in Figure 1 comprises at least one terminal 101 which integrates a construction device capable of implementing the construction method according to the present invention.
  • the process can operate permanently and autonomously upon activation of the device or following a user action.
  • the terminal 101 is for example a smartphone type terminal (smart phone in English), tablet, connected television, connected object, car on-board computer, personal computer, server, gateway, etc.
  • One or more graphics rendering/display peripherals (105) can be understood by the terminal 101 or connected (connected wired via a VGA, HDMI, USB cable, etc. or wirelessly via WiFi® technology, Bluetooth®, etc.). This or these restitution devices can be a screen or a video projector.
  • the graphic rendering device(s) can be connected to the terminal 101 via the network 102.
  • one or more input/pointing devices can be understood by the terminal 101 or connected (connected wired via a VGA, HDMI, USB cable, etc. or wirelessly via the WiFi®, Bluetooth® technology, etc.).
  • This or these pointing devices can be a keyboard, a mouse, a touch surface, a camera (104), a microphone or any other peripheral capable of providing location and action data at the level of an element displayed by a display peripheral of the terminal 101.
  • FIG 2 illustrates a device (S) configured to implement the construction method according to a particular embodiment of the invention.
  • the device (S) has the classic architecture of a computer, and notably comprises a memory MEM, a processing unit UT, equipped for example with a processor PROC, and controlled by the computer program PG stored in memory MEM .
  • the computer program PG includes instructions for implementing the steps of the construction process as described subsequently in support of Figure 3, when the program is executed by the processor PROC.
  • the code instructions of the computer program PG are for example loaded into a memory before being executed by the processor PROC.
  • the processor PROC of the processing unit UT implements in particular the steps of the construction process according to any of the particular embodiments described in relation to Figure 3 and according to the instructions of the computer program PG.
  • the device (S) comprises an OBT1 obtaining module capable of obtaining at least one position data of a cursor associated with a pointing/input device.
  • the position data can be obtained following an action carried out on the pointing device.
  • This action can be a movement (for example a movement symbolizing a cross made using the cursor of the pointing device, the coordinates can then correspond to the coordinates of the point of intersection of the two straight lines forming the cross), a click (the coordinates which may correspond to the coordinates of the cursor of the pointing device at the time of the click, that is to say when pressure is exerted or released on a button of the pointing device), a long press (the coordinates which may correspond to the coordinates of the cursor of the pointing device at the time of the long press, for example, a press of several seconds), etc.
  • a movement for example a movement symbolizing a cross made using the cursor of the pointing device, the coordinates can then correspond to the coordinates of the point of intersection of the two straight
  • the device (S) comprises an OBT2 obtaining module capable of obtaining at least one system data from the operating system of the terminal 101.
  • the system data can be a command, the name of a computer process executed by the system. operation of the terminal 101 or any information obtained and/or generated by the operating system of the terminal 101.
  • the device (S) further comprises an OBT3 obtaining module capable of obtaining at least one piece of context data as a result of an analysis of at least one digital image of a capture of at least part of the rendering of at least one screen of the terminal 101.
  • the technique used to obtain context data may be an optical character recognition and/or computer vision technique.
  • the device (S) also includes an MAJ update module capable of supplying and updating a knowledge base such as a centralized and/or distributed database or one or more files.
  • Figure 3 illustrates the steps of the method of constructing a knowledge base (for example a database) according to a particular embodiment of the invention.
  • a knowledge base for example a database
  • an OTT application can exploit it in order to offer innovative services such as, for example, a single interface capable of controlling the computer applications installed on the electronic terminal.
  • the OTT application can also autonomously and transversely control the functions of the electronic terminal applications based on predetermined computer routines (a sequence of instructions).
  • the method is implemented by a construction device.
  • the construction device implementing the method is integrated into, or confused with, the user's terminal 101 (this terminal is for example a fixed or portable personal computer, a digital tablet, a personal digital assistant, a smartphone, a workstation, on-board computer, etc.).
  • this terminal is for example a fixed or portable personal computer, a digital tablet, a personal digital assistant, a smartphone, a workstation, on-board computer, etc.
  • the construction device implementing the method is integrated into, or confused with, another electronic device which cooperates with the user's terminal.
  • This other device is for example a server, a home gateway, a smartphone, a connected object, etc.
  • the construction device can be located in the network and/or distributed across one or more computing machines such as computers, terminals or servers.
  • the user's terminal allows multiwindowing, that is to say the simultaneous display of several application windows on the terminal screen.
  • an application window is a window linked to the execution of an application by the terminal.
  • the operating system of the terminal makes it possible to retrieve, and provide to the construction device which implements the present method, certain system events such as the position of a cursor of a pointing device associated with the user's terminal. , the name of a computer process or computer command that was recently executed by the terminal.
  • the process obtains cursor position data from a pointing device/peripheral (a touchpad, a mouse, a trackball, a trackpoint, a joystick or even from a camera (via an eye tracking process).
  • a pointing device/peripheral a touchpad, a mouse, a trackball, a trackpoint, a joystick or even from a camera (via an eye tracking process).
  • This position data can correspond to pixel coordinates or to a ratio (relative position for example in percentage) of the size of the screen and/or a graphic window when a particular system event is detected.
  • the position data is for example obtained following an action carried out by a user of the terminal 101 at an input device. This action can be a click made via a mouse, the pressing of a particular key on a keyboard, a selection command stated by the user, a particular gesture captured by a camera included or associated with the terminal 101 (for example the camera 104) or any action allowing interaction with a man-machine interface rendered by the terminal 101 via the screen 105.
  • the method also obtains an image representative of the content displayed by a display device (105) of the terminal 101.
  • the image is for example obtained from software executed by the terminal 101 capable of capturing the content graphic of the display device 105 of the terminal 101.
  • the image is obtained from a third-party terminal (for example a camera or a smartphone) positioned so as to capture the content displayed by a display device (105) of the terminal 101.
  • a third-party terminal for example a camera or a smartphone
  • the latter case may involve the transmission of the image, by the third-party terminal, to terminal 101.
  • the method generates an image representative of the graphic content of the display device 105 of the terminal 101.
  • the image obtained corresponds to part of the content rendered by the display device 105, for example, the active graphics window (the window which holds the focus).
  • the method obtains system data from the operating system of the terminal 101.
  • This system data may include the name of a running process and/or a system command interpretable by the operating system of the terminal 101 and capable of triggering an action/event at the terminal 101 (for example the launch or closure of software, the execution of a function, etc.).
  • This system data may also include the name of the active application (application which has the focus) as well as execution parameters such as the size of the application's active graphics window and its position within the screen.
  • the method can obtain system data from third-party software and/or a device.
  • step (GET3) the process analyzes the image obtained during step GET1.
  • the analysis may include optical character recognition applied to the image.
  • Optical character recognition makes it possible to obtain a transcription of the text contained in the image in the form of a series/sequence of characters.
  • the analysis may further include recognition via a computer vision technique.
  • This technique makes it possible to extract information from graphic elements contained within the image. For example, text recognition, object recognition, recognition of a specific element (image representing an animal, a vehicle, etc.).
  • These techniques can be applied to part of the image (for example centered according to the position data obtained during the GET1 step).
  • each element of text line for example
  • image recognized by a recognition technique OCR, computer vision, etc.
  • OCR OCR, computer vision, etc.
  • optical character recognition and/or computer vision is/are carried out by third-party software.
  • the result(s) for example, the transcription of the text (suite/sequence of characters and their associated position) and/or the recognized graphic elements, are sent by the third-party software to the process.
  • the method performs optical character recognition and/or computer vision at the image level.
  • This data may belong to the group including:
  • a text for example the description of a given function via a pop-up or a tooltip
  • a label (function name and/or keyboard shortcut) associated with a graphic element (button, menu, window); the size of a graphic element (button, window, menu, text, label, etc.) within the image; the position of a graphic element within the image;
  • an image associated with a function of the application for example an image of a graphic element (button, menu, etc.) capable of triggering the execution of a function following a user action (click, voice command, pressing a key on a keyboard, etc.); etc.
  • the wording may also include the nature/type of the main function rendered by a displayed and/or active graphical window (for example: “email editing”, “videoconferencing”, “instant messaging” window, etc.) .
  • the position can correspond to coordinates in pixels or to a ratio (relative position for example in percentage) of the size of the graphic window which contains the graphic element.
  • the position and size information is formed by an X,Y position (e.g. relative to a corner of the rectangular window) and a pair (height, width).
  • the present invention is not limited to rectangular-shaped application windows, but applies whatever the shape (round, oval, etc.).
  • the method updates a knowledge base (BDD) with position data, system data and context data.
  • BDD knowledge base
  • this knowledge base can be considered as a table of correspondences between each function of each application (computer application) used by the user and the associated system actions (actions executed by the electronic terminal) and the position of these functions in an application window.
  • the construction process is for example executed when the user clicks (system event within the meaning of the invention) on the icon allowing you to hang up/leave the videoconference.
  • the method can obtain: the position of the mouse cursor of the user's computer (position data within the meaning of the invention);
  • the process name can match the name of the active software/window. It is for example obtained by examining the use of the processor and/or memory (variation/peak consumption). Note that the name of the active window can also be obtained in response to the execution of a command issued to the terminal operating system.
  • the process then performs an analysis of the image via an optical character recognition and/or computer vision technique.
  • the method can obtain the following context data as a result:
  • a label for the active graphics window (which can correspond to the name of the application, a version number, a document title, etc.); the size of the active application window (length and width) in pixels;
  • the wording corresponds to “exit”.
  • the wording corresponds to the function invoked by the user when he clicked (i.e. left the videoconference).
  • the label can also correspond to a keyboard shortcut.
  • the shortcut can correspond to “Ctrl + F4”; - an image/icon which is located near the position of the cursor (i.e. associated with the function invoked by the user). In our case it may be a clickable pictogram symbolizing a cross allowing you to leave the videoconference);
  • the data obtained may be ignored if a confidence score associated with optical character recognition and/or computer vision is below a particular threshold (configuration parameter).
  • extracted information is only taken into account if it is associated with a detection confidence score greater than a confidence value.
  • a database record can have a format like:
  • the X and Y positions can correspond to the relative coordinates (for example in percentage) of the cursor within the active application window.
  • the recording may correspond to:
  • the process checks if a record of the same type does not exist within the database.
  • This check consists of searching the database for a record with an identical primary key.
  • the primary key can correspond to: ⁇ "function", "application name” ⁇ ; to ⁇ “function image/icon”, “application name” ⁇ ; or to ⁇ “function”, “application name”, “type” ⁇ . If such a record exists, the method compares the data obtained to that present within the record. If the data matches, no processing is carried out by the method. Otherwise, the method updates the data of the record found with the data previously obtained from the operating system of the terminal and the analysis of the image.
  • the database When the database is sufficiently populated, it can be used by a third-party application to control the applications present on the user's computer.
  • the third-party application when it asks to leave a videoconference (for example following a user request), it retrieves the relevant data (for example the position of the clickable graphic element corresponding to the “exit” function that is to say the coordinates X and Y) from the knowledge base via for example a search having as primary key the name of the function and the name of the software.
  • the third-party application (OTT) then replays the click (simulates the user's click) at the position (X,Y) previously obtained.
  • the method can also replay the keyboard shortcut corresponding to the function invoked by the user.
  • the method can, during the knowledge base updating step, add an identifier associated with the active application window.
  • This identifier is for example obtained via the application of a cryptographic function to the image obtained.
  • the cryptographic function can be a hash function allowing a digital fingerprint of the image to be obtained. This embodiment allows, when the primary key includes this identifier, to distinguish the same function (for example “exit”) which would be present within two different graphic windows of the same application.
  • This identifier may also include data obtained from the operating system of the terminal 101 such as for example the name and/or the access path (directory tree(s)/computer file(s)) to the 'executable of the active application window. Note that when the window identifier corresponds to a digital fingerprint, this assumes that the content of the window does not vary.
  • the method can obtain from the operating system the system command generated following the user's mouse click. This command can then be included in the recording obtained by the third-party application (OTT).
  • OTT third-party application
  • the recording may correspond to:
  • the command can then be executed by the computer's operating system at the request of the third-party application (i.e. the user).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Procédé de construction d'une base de connaissance mis en œuvre par un dispositif de construction au cours d'une utilisation d'un terminal électronique, et caractérisé en ce que le procédé comprend : lorsqu'un évènement système sur ledit terminal électronique est détecté - une première étape d'obtention, d'au moins une donnée de position d'un curseur, ledit curseur étant associé à au moins un périphérique de pointage, et d'au moins une image numérique d'une capture d'au moins une partie du rendu d'au moins un écran dudit terminal; - une deuxième étape d'obtention d'au moins une donnée système en provenance dudit terminal électronique; - une troisième étape d'obtention d'au moins une donnée de contexte en fonction d'une analyse de tout ou partie de ladite image numérique; - une étape de mise à jour de ladite base de connaissance avec lesdites au moins une donnée de position, de système et de contexte.

Description

DESCRIPTION
Titre : Procédé et dispositif de construction d’une base de connaissance dans le but d’utiliser de manière transverse des fonctions applicatives d’une pluralité de logiciels.
1. Domaine de l'invention
L’invention se situe dans le domaine des terminaux électroniques aptes à exécuter une pluralité d’applications. Plus particulièrement, l’invention se rapporte aux techniques permettant, par exemple, l’exécution de fonctions d’une ou de plusieurs applications de manière transverse, c’est-à-dire sans dépendre d’une application donnée.
2. Art Antérieur
Les terminaux électroniques (ordinateurs, smartphone, tablette, etc.) peuvent disposer d’écrans de plus en plus grands, et de capacités de calcul leur permettant d’exécuter simultanément de nombreuses applications informatiques.
Dans ce contexte, chaque application peut proposer une expérience utilisateur qui lui est propre. Un inconvénient est que cela peut induire un manque d’homogénéité entre les interfaces utilisateur des applications exécutées par le terminal électronique.
En outre, certaines applications évoluent régulièrement afin d’offrir de nouvelles fonctionnalités. C’est par exemple le cas lorsque les applications proposent des APIs (« Application Programming Interface » en anglais ou « interface de programmation d’application » en français) permettant le développement de modules d'extension / externes (plugin en anglais) aptes à fournir de nouvelles fonctionnalités. Un inconvénient est que les interfaces utilisateur des applications sont de plus en plus riches / complexes et par conséquent difficiles à appréhender pour l’utilisateur.
Ainsi, lorsqu’un utilisateur utilise pour la première fois une application, il n’est pas rare que celui-ci ait besoin d’un temps d’adaptation plus ou moins long avant de pouvoir s’en servir correctement.
Il existe donc un besoin pour une solution simple permettant à un utilisateur et / ou à une application dédiée de piloter avec une expérience utilisateur unifiée, une pluralité d’applications exécutées sur un terminal électronique, la solution devant être indépendante des applications à piloter. 3. Exposé de l'invention
L'invention vient améliorer l'état de la technique et propose à cet effet un procédé de construction d’une base de connaissance, ledit procédé étant mis en œuvre par un dispositif de construction au cours d’une utilisation d’un terminal électronique, et caractérisé en ce que le procédé comprend : lorsqu’un évènement système sur ledit terminal électronique est détecté
- une première étape d’obtention d’au moins une donnée de position d’un curseur, ledit curseur étant associé à au moins un périphérique de pointage dudit terminal électronique, et d’au moins une image numérique d’une capture d’au moins une partie du rendu d’au moins un écran dudit terminal électronique ;
- une deuxième étape d’obtention d’au moins une donnée système en provenance dudit terminal électronique ;
- une troisième étape d’obtention d’au moins une donnée de contexte en fonction d’une analyse de tout ou partie de ladite image numérique ;
- une étape de mise à jour de ladite base de connaissance avec lesdites au moins une donnée de position, de système et de contexte.
Ainsi, la solution proposée repose sur une approche nouvelle et inventive consistant à construire une base de connaissance en exploitant à la fois les évènements système d’un terminal électronique déclenchés par un utilisateur mais aussi les technologies de capture d’écran et d’analyse d’image afin d’établir automatiquement une table de correspondances entre chaque fonction de chaque applicatif (application informatique) utilisé par l’utilisateur et les actions système associées (actions exécutées par le terminal électronique).
Un avantage de la solution proposée est qu’elle est simple à implémenter puisqu’il suffit, outre le terminal dont dispose déjà l’utilisateur, d’une machine de calcul (éventuellement celle déjà présente dans le terminal).
Un autre avantage de la solution proposée est qu’elle permet une construction générique de la base de connaissance en s’affranchissant de l’accès aux API de chaque application exécutée par le terminal. En d’autres termes, du fait qu’elle n’est pas basée sur les APIs d’une application exécutée par le terminal, la solution proposée permet la création d’une base de connaissance indépendante (« agnostique ») de cette application, en ce qui concerne la manière de collecter des informations liées à l’utilisation de cette application. Donc la solution proposée nécessite peu de contrainte de réalisation.
Un autre avantage de la solution proposée est qu’une application informatique configurée pour utiliser le contenu de cette base de connaissance (application OTT pour Over The TOP en anglais ou application dite de contournement) peut être utilisée pour piloter de manière transverse, via par exemple une même interface homme-machine, les différentes applications informatiques présentes sur le terminal électronique. En effet, lorsque l’utilisateur demande l’exécution d’une action / fonction sur son terminal via l’application OTT, par exemple l’action de lancer une application de téléphonie IP (Internet Protocol), celle-ci consulte la base de connaissance puis récupère en fonction de l’action demandée (par exemple du libellé) les informations nécessaires à l’exécution de l’action. Les informations peuvent comprendre à : la position de l’icône d’une application de téléphonie IP, c’est-à-dire la position du curseur obtenue et sauvegardée au sein de la base de connaissance lors d’une précédente utilisation/ exécution de l’application de téléphonie IP (par exemple lorsque l’utilisateur sélectionne / clique sur l’icône de l’application de téléphonie IP avec une souris connectée au terminal électronique). Selon un mode de réalisation particulier, la position du curseur sauvegardée au sein de la base de connaissance correspond à la position de l’icône lorsque l’utilisateur relâche l’appui / la pression sur un bouton de la souris de son terminal électronique. Ce mode réalisation permet, lorsque l’utilisateur déplace l’icône de l’application de téléphonie IP, de mettre à jour la base de connaissance avec la nouvelle position de l’icône. En effet, le déplacement d’une icône au niveau d’un écran d’un terminal électronique est par exemple réalisé via un clic non relâché, c’est à dire maintenu enfoncé, sur un bouton de la souris du terminal électronique additionné à un déplacement du curseur jusqu’à la position souhaitée. Une fois la position atteinte, l’utilisateur relâche la pression exercée sur le bouton de la souris afin que l’icône se place à la position souhaitée ;
- une donnée de contexte comme par exemple la taille et la position de l’interface utilisateur de l’application de téléphonie à exécuter (paramètres d’exécution) ; etc. Une fois ces données récupérées, l’application OTT peut alors exécuter l’application de téléphonie, par exemple, en simulant un clic au niveau de l’icône de l’application de téléphonie IP. L’application OTT peut également fournir des paramètres d’affichages à l’application de téléphonie IP une fois que celle-ci est démarrée.
En d’autres termes, l’application informatique OTT n’a pas à être spécifique à une application et peut coopérer avec la base de connaissance générique, qui peut contenir des informations liées à plusieurs applications (même si dans une implémentation particulière, elle peut aussi contenir des informations liées à une seule application).
En outre, même si la ou les applications évoluent (par exemple via une mise à jour et un changement de version), ou encore si l’utilisateur ajoute une application sur son terminal, la solution proposée continue de fonctionner sans nécessiter de mise à jour, puisqu’elle s’appuie sur des extractions d’écran (partielles ou totales) et /ou d’évènements système.
Par ailleurs, la base de connaissance s’enrichit au fil de l’eau grâce aux actions de l’utilisateur réalisées au niveau des applicatifs du terminal électronique.
A noter que le procédé peut, lors de l’obtention des données de contextes et/ou des données systèmes, détecter que l’application utilisée par l’utilisateur correspond à l’application OTT. Dans ce cas, le procédé peut ne pas mettre à jour la base de connaissance.
Selon un mode de réalisation particulier, l’application OTT peut piloter de manière autonome et transverse les fonctions des applicatifs du terminal électronique en fonction de routines informatiques prédéterminées (une séquence d’instructions informatiques). Une routine peut par exemple comprendre la détection d’un évènement particulier obtenu depuis le terminal électronique tel que la détection d’une action d’un utilisateur, le dépassement d’un seuil ou d’une durée, etc.
On entend par terminal électronique tout dispositif apte au moins à gérer un périphérique d’affichage et/ou un périphérique de pointage / d’entrée (ordinateur personnel, smartphone, tablette électronique, télévision, ordinateur de bord d’une voiture, objets connectés, etc.). On entend par évènement système un évènement généré par un système d’exploitation d’un terminal électronique. L’évènement système est par exemple généré lors de la réception d’un message ou bien à la suite d’une action d’un utilisateur au niveau d’un périphérique du terminal électronique. Un événement système peut par exemple être déclenché à la suite de l’exécution d’une commande informatique (initiée ou non pas l’utilisateur).
On entend par donnée système une donnée par exemple obtenue depuis le système d’exploitation du terminal électronique.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que ledit évènement système est généré par au moins un périphérique de pointage associé audit terminal électronique.
Dans ce mode de réalisation, le procédé est déclenché lorsque l’utilisateur interagit et réalise une action (par exemple un clic) au niveau d’un périphérique de pointage associé au terminal électronique.
On entend par périphérique de pointage tout dispositif d’entrée permettant à un utilisateur d’entrer des données de position (coordonnées / données spatiales), par exemple via un curseur, et /ou d’action, par exemple via un clic, au niveau d’un terminal électronique. Un périphérique de pointage est par exemple un pavé tactile, une souris, un trackball, un trackpoint ou encore un joystick.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que la capture porte sur une fenêtre applicative active.
Dans ce mode de réalisation, le procédé capture une partie de l’écran qui correspond à la fenêtre applicative active affichée à l’écran. Une fenêtre applicative est une fenêtre liée à une exécution d’une application par le terminal. Une fenêtre applicative active est une fenêtre applicative qui est en cours d’utilisation par l’utilisateur, c’est-à-dire qui détient le focus. Ce mode de réalisation s’applique notamment dans le cas où le terminal permet le multifenêtrage (c'est-à-dire peut afficher simultanément plusieurs fenêtres applicatives).
Dans le cas où le terminal ne peut afficher qu’une seule fenêtre applicative à la fois (cas d’un terminal de type smartphone par exemple), la fenêtre applicative correspond à la fenêtre applicative active. La capture est alors réalisée sur la totalité de l’écran du terminal.
A noter que le terminal peut être associé ou comprendre un ou plusieurs périphériques d’affichage.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que l’obtention de ladite au moins une donnée de contexte est réalisée via une technique de reconnaissance optique de caractères et/ou une technique de vision par ordinateur.
De cette façon, la base de connaissance peut être enrichie avec deux types d’informations : celles extraites du texte et celles extraites des éléments d’image. On couvre ainsi la majeure partie, voire dans certains cas la totalité, des données utiles comprises dans l’image.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que l’étape de mise à jour est conditionnée par la valeur d’un score de confiance associé à ladite au moins une donnée de contexte.
De cette façon, la qualité des informations collectées et stockées dans la base de connaissance s’en trouve améliorée.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que ladite au moins une donnée système comprend au moins une commande informatique exécutable par le système d’exploitation dudit terminal électronique.
De cette façon, les informations collectées et stockées dans la base de connaissance comprennent des commandes systèmes aptes à être rejouées par une application informatique OTT. Par exemple, lorsque l’utilisateur souhaite programmer l’extinction de son ordinateur Windows 10 ™ via l’application OTT, celle-ci obtient depuis la base de connaissance la commande associée (shutdown -s -f -t xxx où « xxx » correspond au délai souhaité). Bien évidement cela suppose que cette action a déjà été réalisée au préalable par l’utilisateur via une autre application et ajoutée à la base de connaissance. Un avantage de ce mode de réalisation est qu’il est possible de piloter une application et/ou déclencher une fonction informatique même lorsque celle-ci n’est pas accessible via l’interface homme-machine restituée par le terminal électronique. En effet, l’exécution de la commande permet d’exécuter la fonction demandée par l’utilisateur sans avoir à simuler un clic de souris au niveau du bouton graphique ou d’un menu associé à la fonction demandée. La donnée système peut également comprendre le nom de l’application active (c’est-à-dire l’application en cours d’utilisation par l’utilisateur). Le nom de l’application est par exemple obtenu du système d’exploitation du terminal électronique via une commande système ou bien via une API spécifique telle que la commande JavaScript Node .j s
« ,getActiveWindow() » du gestionnaire de paquets « npm ». Il s’agit généralement du nom du fichier exécutable de l’application, c’est-à-dire du fichier comprenant le code informatique permettant l’exécution de l’application par le terminal électronique. A noter que le nom de l’exécutable peut être comparé à des éléments d’une liste comprenant les noms commerciaux des applications. Ainsi, il est possible, grâce au nom de l’exécutable, d’obtenir le nom de l’application dont l’interface graphique est restituée par un écran du terminal électronique.
Selon un mode de mise en œuvre particulier de l'invention, un procédé tel que décrit ci- dessus est caractérisé en ce que ladite donnée de contexte appartient au groupe comprenant au moins :
- un libellé ;
- une taille de fenêtre graphique ;
- une position au sein dudit écran ;
- un texte ;
- une image.
Ainsi, la solution proposée peut tenir compte de la grande diversité des données obtenues en résultat de l’analyse de l’image numérique. Elle est efficace même si l’utilisateur manipule une grande quantité d’applications. Concrètement, la donnée de contexte peut comprendre la version de l’application, le nom de l’application / de la fonction informatique, la description de la fonction, la position au sein de l’image d’un élément graphique et / ou d’un libellé associé à la fonction, et plus généralement n’importe quelle information associée à l’application et / ou la fonction informatique utilisée par l’utilisateur au niveau du terminal électronique. La donnée de contexte peut également comprendre un raccourci clavier associé à la fonction utilisée et / ou une image symbolisant la fonction.
La donnée de contexte peut également comprendre la nature / le type de la fenêtre graphique affichée par une application informatique au niveau d’un écran du terminal électronique. En effet, il est par exemple possible de distinguer, grâce à la technique de vision par ordinateur, une fenêtre de visioconférence d’une fenêtre de messagerie instantanée affichées par une même application (par exemple Microsoft Teams). Ainsi, la nature / type de la fenêtre peut correspondre à la fonction principale rendue par la fenêtre graphique (édition d’un courriel, visioconférence, messagerie instantanée, base documentaire, etc.).
Cette liste de type de donnée de contexte n’est pas exhaustive.
L'invention concerne également un dispositif de construction d’une base de connaissance mis en œuvre au cours d’une utilisation d’un terminal électronique, et caractérisé en ce que le dispositif comprend :
- un premier module d’obtention d’au moins une donnée de position d’un curseur, ledit curseur étant associé audit au moins un périphérique de pointage dudit terminal électronique, et d’au moins une image numérique d’une capture d’au moins une partie du rendu d’au moins un écran dudit terminal électronique ;
- un deuxième module d’obtention d’au moins une donnée système en provenance dudit terminal électronique ;
- un troisième module d’obtention d’au moins une donnée de contexte en fonction d’une analyse de tout ou partie de ladite image numérique ;
- un module de mise à jour de ladite base de connaissance avec lesdites au moins une donnée de position, de système et de contexte.
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 serveur, une passerelle ou un terminal caractérisé en ce qu’il comporte un dispositif de construction tel que décrit ci-dessus.
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 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 de construction et ce programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé de construction.
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 :
[Fig 1] La figure 1 illustre un exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation de l'invention,
[Fig 2] La figure 2 illustre l’architecture d’un dispositif adapté pour la mise en œuvre du procédé de construction, selon un mode particulier de réalisation de l’invention ;
[Fig 3] La figure 3 illustre les principales étapes du procédé de construction selon un mode particulier de réalisation de l’invention.
5. Description d'un mode de réalisation de l'invention
La figure 1 illustre un exemple d'environnement de mise en œuvre de l'invention selon un mode particulier de réalisation. L’environnement représenté en figure 1 comprend au moins un terminal 101 qui intègre un dispositif de construction apte à mettre en œuvre le procédé de construction selon la présente invention.
Le procédé peut fonctionner de manière permanente et autonome dès l’activation du dispositif ou bien à la suite d’une action utilisateur.
Le terminal 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, serveur, passerelle, etc.
Un ou plusieurs périphériques de restitution graphique/d’affichage (105) peuvent être compris par le terminal 101 ou bien connectés (connecté de façon filaire via un câble VGA, HDMI, USB, etc. ou bien sans fil via la technologie WiFi®, Bluetooth®, etc.). Ce ou ces périphériques de restitution peuvent être un écran ou un vidéo projecteur.
Selon un mode particulier de réalisation de l'invention, le ou les périphériques de restitution graphique peuvent être connectés au terminal 101 via le réseau 102.
De même, un ou plusieurs périphériques d’entrée / de pointage (103a, 103b) peuvent être compris par le terminal 101 ou bien connectés (connectés de façon filaire via un câble VGA, HDMI, USB, etc. ou bien sans fil via la technologie WiFi®, Bluetooth®, etc.). Ce ou ces périphériques de pointage peuvent ê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 de localisation et d’action au niveau d’un élément affiché par un périphérique d’affichage du terminal 101.
La figure 2 illustre un dispositif (S) configuré pour mettre en œuvre le procédé de construction selon un mode particulier de réalisation de l'invention. Le dispositif (S) a l'architecture classique d'un ordinateur, et comprend notamment 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. Le programme d'ordinateur PG comprend des instructions pour mettre en œuvre les étapes du procédé de construction tel que décrit ultérieurement à l’appui de la figure 3, 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é de construction selon l'un quelconque des modes particuliers de réalisation décrits en relation avec la figure 3 et selon les instructions du programme d'ordinateur PG.
Le dispositif (S) comprend un module d’obtention OBT1 apte à obtenir au moins une donnée de position d’un curseur associé à un périphérique de pointage /d’entrée. La donnée de position peut être obtenue à la suite d’une action réalisée au niveau du périphérique de pointage. Cette action peut être un mouvement (par exemple un mouvement symbolisant une croix réalisée à l’aide du curseur du périphérique de pointage, les coordonnées pouvant alors correspondre aux coordonnées du point d’intersection des deux droites formant la croix), un clic (les coordonnées pouvant correspondre aux coordonnées du curseur du périphérique de pointage au moment du clic, c’est-à-dire lorsqu’une pression est exercée ou bien relâchée sur un bouton du périphérique de pointage), un appui long (les coordonnées pouvant correspondre aux coordonnées du curseur du périphérique de pointage au moment de l’appui long, par exemple, un appui de plusieurs secondes), etc.
Le dispositif (S) comprend un module d’obtention OBT2 apte à obtenir moins une donnée système en provenance du système d’exploitation du terminal 101. La donnée système peut être une commande, le nom d’un processus informatique exécuté par le système d’exploitation du terminal 101 ou bien n’importe quelle information obtenue et / ou générée par le système d’exploitation du terminal 101. Le dispositif (S) comprend en outre un module d’obtention OBT3 apte à obtenir au moins une donnée de contexte comme résultat d’une analyse d’au moins une image numérique d’une capture d’au moins une partie du rendu d’au moins un écran du terminal 101. La technique employée pour l’obtention d’une donnée de contexte peut être une technique de reconnaissance optique de caractères et/ou de vision par ordinateur.
Le dispositif (S) comprend également un module de mise à jour MAJ apte à alimenter et à mettre à jour une base de connaissance comme une base de données centralisée et/ou distribuée ou bien un ou plusieurs fichiers.
La figure 3 illustre les étapes du procédé de construction d’une base de connaissance (par exemple une base de données) selon un mode particulier de réalisation de l’invention. Une fois cette base de connaissance suffisamment riche d’informations, une application OTT peut l’exploiter afin d’offrir des services innovants tels que par exemple une interface unique apte à piloter les applications informatiques installées sur le terminal électronique. L’application OTT peut également piloter de manière autonome et transverse les fonctions des applicatifs du terminal électronique en fonction de routines informatiques prédéterminées (une séquence d’instructions).
Le procédé est mis en œuvre par un dispositif de construction. Le dispositif de construction mettant en œuvre le procédé est intégré dans, ou confondue avec, le terminal de l’utilisateur 101 (ce terminal est par exemple un ordinateur personnel fixe ou portable, une tablette numérique, un assistant numérique personnel, un smartphone, un poste de travail, un ordinateur de bord, etc.). Dans une deuxième implémentation, le dispositif de construction mettant en œuvre le procédé est intégré dans, ou confondue avec, un autre dispositif électronique qui coopère avec le terminal de l’utilisateur. Cet autre dispositif est par exemple un serveur, une passerelle domestique, un smartphone, un objet connecté, etc.
Selon un autre mode de réalisation, le dispositif de construction 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.
Dans ce mode de réalisation particulier, on suppose que le terminal de l’utilisateur permet le multifenêtrage, c'est-à-dire l’affichage simultané de plusieurs fenêtres applicatives sur l’écran du terminal. Comme déjà mentionné plus haut, une fenêtre applicative est une fenêtre liée à l’exécution d’une application par le terminal. On suppose également que le système d’exploitation du terminal permet de récupérer, et fournir au dispositif de construction qui implémente le présent procédé, certains événements système comme la position d’un curseur d’un périphérique de pointage associé au terminal de l’utilisateur, le nom d’un processus informatique ou une commande informatique qui a récemment été exécutée par le terminal.
Lors de la première étape (GET1) le procédé obtient une donnée de position d’un curseur en provenance d’un dispositif / périphérique de pointage (un pavé tactile, une souris, un trackball, un trackpoint, un joystick ou encore depuis une caméra (via un procédé d’oculométrie ou « Eye tracking » en anglais)).
Cette donnée de position peut correspondre à des coordonnées en pixel ou bien à un ratio (position relative par exemple en pourcentage) de la taille de l’écran et / ou d’une fenêtre graphique lorsqu’un évènement système particulier est détecté. La donnée de position est par exemple obtenue à la suite d’une action réalisée par un utilisateur du terminal 101 au niveau d’un périphérique d’entrée. Cette action peut être un clic réalisé via une souris, l’enfoncement d’une touche particulière d’un clavier, une commande de sélection énoncée par l’utilisateur, un geste particulier capté par une caméra comprise ou associée au terminal 101 (par exemple la caméra 104) ou bien n’importe quelle action permettant une interaction avec une interface homme-machine restituée par le terminal 101 via l’écran 105.
Lors de cette étape le procédé obtient également une image représentative du contenu affiché par un périphérique d’affichage (105) du terminal 101. L’image est par exemple obtenue en provenance d’un logiciel exécuté par le terminal 101 apte à capturer le contenu graphique du périphérique d’affichage 105 du terminal 101.
Alternativement, l’image est obtenue en provenance d’un terminal 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 terminal 101. Ce dernier cas peut impliquer la transmission de l’image, par le terminal tiers, à destination du terminal 101.
Alternativement, le procédé génère une image représentative du contenu graphique du périphérique d’affichage 105 du terminal 101.
Selon un mode particulier de réalisation de l'invention, l’image obtenue correspond à une partie du contenu restitué par le périphérique d’affichage 105, par exemple, la fenêtre graphique active (la fenêtre qui détient le focus). Lors de la deuxième étape (GET2) le procédé obtient une donnée système en provenance du système d’exploitation du terminal 101. Cette donnée système peut comprendre le nom d’un processus en cours d’exécution et / ou une commande système interprétable par le système d’exploitation du terminal 101 et apte à déclencher une action / un évènement au niveau du terminal 101 (par exemple le lancement ou la fermeture d’un logiciel, l’exécution d’une fonction, etc.). Cette donnée système peut également comprendre le nom de l’application active (application qui a le focus) ainsi que des paramètres d’exécution comme la taille de la fenêtre graphique active de l’application et sa position au sein de l’écran.
Selon un mode particulier de réalisation de l'invention, le procédé peut obtenir la donnée système depuis un logiciel et / ou un dispositif tiers.
A l’étape (GET3) le procédé analyse l’image obtenue lors de l’étape GET1. L’analyse peut comprendre une reconnaissance optique de caractères appliquée à l’image. La reconnaissance optique de caractères permet d’obtenir une retranscription du texte contenu dans l’image sous forme d’une suite / séquence de caractères.
L’analyse peut en outre comprendre une reconnaissance via une technique de vision par ordinateur. Cette technique permet d’extraire des informations d’éléments graphiques contenus au sein de l’image. Par exemple la reconnaissance de texte, la reconnaissance d’un objet, la reconnaissance d’un élément spécifique (image représentant un animal, un véhicule, etc.). Ces techniques (reconnaissance optique de caractères et vision par ordinateur) peuvent être appliquées à une partie de l’image (par exemple centrée en fonction de la donnée de position obtenue lors de l’étape GET1).
Dans une mise en œuvre particulière, chaque élément de texte (ligne par exemple) ou d’image reconnu par une technique de reconnaissance (OCR, vision par ordinateur, etc.) est ignoré si un score de confiance associé à la reconnaissance est inférieur à un seuil particulier (paramètre de configuration). En d’autres termes, une information extraite n’est prise en compte que si elle est associée à un score de confiance de détection supérieur à une valeur de confiance.
Selon un mode particulier de réalisation de l'invention, la reconnaissance optique de caractères et/ ou la vision par ordinateur est/sont réalisée(s) par un logiciel tiers. Le ou les résultats, par exemple, la retranscription du texte (suite / séquence de caractères et leur position associée) et/ou les éléments graphiques reconnus, sont émis par le logiciel tiers à destination du procédé. Selon un mode particulier de réalisation de l'invention, le procédé réalise la reconnaissance optique de caractères et/ ou la vision par ordinateur au niveau de l’image.
Une fois l’analyse réalisée le procédé obtient en résultat un ensemble de données de contexte. Ces données peuvent appartenir au groupe comprenant :
- un texte (par exemple la description d’une fonction donnée via une pop-up ou une infobulle) ;
- un libellé (nom de la fonction et/ou un raccourci clavier) associé à un élément graphique (bouton, menu, fenêtre) ; la taille d’un élément graphique (bouton, fenêtre, menu, texte, libellé, etc.) au sein de l’image ; la position d’un élément graphique au sein de l’image ;
- une image associée à une fonction de l’application (par exemple une image d’un élément graphique (bouton, menu, etc.) apte à déclencher l’exécution d’une fonction suite à une action utilisateur (clic, commande vocale, un appui sur une touche d’un clavier, etc.) ; etc.
Le libellé peut également comprendre la nature / le type de la fonction principale rendue par une fenêtre graphique affichée et/ou active (par exemple : fenêtre « d’édition de courriels », « de visioconférence », « de messagerie instantanée », etc).
Bien entendu, la liste des données de contexte précédente n’est pas limitative, et d’autres types de données de contexte sont susceptibles d’être déterminés lors de l’analyse de l’image.
A noter que la position peut correspondre à des coordonnées en pixel ou bien à un ratio (position relative par exemple en pourcentage) de la taille de la fenêtre graphique qui contient l’élément graphique. Les informations sur la position et la taille sont formées par une position X,Y (par exemple par rapport à un angle de la fenêtre rectangulaire) et un couple (hauteur, largeur). La présente invention n’est pas limitée aux fenêtres applicatives de forme rectangulaire, mais s’applique quelle que soit la forme (ronde, ovale, etc.).
Lors de l’étape UPDATE, le procédé met à jour une base de connaissance (BDD) avec les données de position, les données système et les données de contextes. Lorsque la base de données est suffisamment remplie (c’est-à-dire que la période d’apprentissage a été suffisamment longue), celle-ci peut être utilisée par une application tierce pour piloter les applicatifs présents sur le terminal 101.
En effet, cette base de connaissance peut être considérée comme une table de correspondances entre chaque fonction de chaque applicatif (application informatique) utilisé par l’utilisateur et les actions système associées (actions exécutées par le terminal électronique) et la position de ces fonctions dans une fenêtre applicative.
Exemple d’application : Un utilisateur utilise régulièrement un logiciel de visioconférence. Le procédé de construction est par exemple exécuté lorsque l’utilisateur clique (évènement système au sens de l’invention) sur l’icône permettant de raccrocher / quitter la visioconférence. Au moment du clic le procédé peut obtenir : la position du curseur de la souris de l’ordinateur de l’utilisateur (donnée de position au sens de l’invention) ;
- une image du contenu affiché par l’écran de l’utilisateur correspondant à la fenêtre active du logiciel de visioconférence ; la position de la fenêtre et / ou la position du curseur par rapport à la fenêtre ; le nom du processus informatique qui vient de réaliser l’action. Le nom du processus peut correspondre au nom du logiciel / de la fenêtre active. Il est par exemple obtenu en scrutant l’utilisation du processeur et ou de la mémoire (variation / pic de consommation). A noter que le nom de la fenêtre active peut également être obtenu en réponse à l’exécution d’une commande émise à destination du système d’exploitation du terminal.
Le procédé réalise ensuite une analyse de l’image via une technique de reconnaissance optique de caractères et/ou de vision par ordinateur. Le procédé peut obtenir en résultat les données de contexte suivantes :
- un libellé de la fenêtre graphique active (qui peut correspondre au nom de l’application, à un numéro de version, à un titre de document, etc.) ; la taille de la fenêtre applicative active (longueur et largeur) en pixels ;
- un libellé qui se trouve à proximité de la position du curseur. Dans ce cas particulier le libellé correspond à « quitter ». A noter que le libellé correspond à la fonction invoquée par l’utilisateur lorsque celui-ci a cliqué (c’est-à-dire quitter la visioconférence). Le libellé peut également correspondre à un raccourci clavier. Dans notre cas le raccourci peut correspondre à « Ctrl + F4 » ; - une image/ icône qui se trouve à proximité de la position du curseur (c’est-à-dire associée à la fonction invoquée par l’utilisateur). Dans notre cas il peut s’agir d’un pictogramme cliquable symbolisant une croix permettant de quitter la visioconférence) ;
- un libellé indiquant le type / la nature de la fenêtre active. Dans notre cas le libellé peut correspondre à « visioconférence ».
A noter que les données obtenues peuvent être ignorées si un score de confiance associé à la reconnaissance optique de caractères et/ou à la vision par ordinateur est inférieur à un seuil particulier (paramètre de configuration). En d’autres termes, une information extraite n’est prise en compte que si elle est associée à un score de confiance de détection supérieur à une valeur de confiance.
Le procédé met à jour ou ajoute ensuite tout ou partie de ces informations dans la base de connaissance BDD (base de données distribuée ou non). Un enregistrement de la base données peut avoir un format du type :
{« fonction » , « nom de l’application », « position X », « position Y » }
Ou bien {« fonction » , « nom de l’application », « position X », « position Y », « raccourci clavier » } ;
Ou encore {« fonction » , « nom de l’application », « position X », « position Y », « type » }•
Les positions X et Y peuvent correspondent aux coordonnées relatives (par exemple en pourcentage) du curseur au sein de la fenêtre applicative active.
Dans le cas décrit ci-dessus l’enregistrement peut correspondre à :
{« quitter » , « Microsoft Teams » , « left :0.85 » , « top:0.09 » , « visioconférence »}
Bien entendu, avant d’ajouter cet enregistrement, le procédé vérifie si un enregistrement du même type n’existe pas au sein de la base de données. Cette vérification consiste à rechercher dans la base de données un enregistrement ayant une clef primaire identique. Dans notre cas la clef primaire peut correspondre à : {« fonction » , « nom de l’application »} ; à {« image/icône de la fonction » , « nom de l’application »} ; ou bien à {« fonction » , « nom de l’application », « type »}. Si un tel enregistrement existe, le procédé compare les données obtenues à celles présentes au sein de l’enregistrement. Dans le cas où les données correspondent, aucun traitement n’est réalisé par le procédé. Dans le cas contraire, le procédé met à jour les données de l’enregistrement trouvé avec les données obtenues préalablement depuis le système d’exploitation du terminal et l’analyse de l’image.
Lorsque la base de données est suffisamment remplie, celle-ci peut être utilisée par une application tierce pour piloter les applicatifs présents sur l’ordinateur de l’utilisateur.
Ainsi, lorsque l’application tierce demande à quitter une visioconférence (par exemple à la suite d’une requête utilisateur), celle-ci récupère les données pertinentes (par exemple la position de l’élément graphique cliquable correspondant à la fonction « quitter » c’est-à-dire les coordonnées X et Y) depuis la base de connaissance via par exemple une recherche ayant pour clef primaire le nom de la fonction et le nom du logiciel. L’application tierce (OTT) rejoue ensuite le clic (simule le clic de l’utilisateur) au niveau de la position (X,Y) obtenue préalablement.
Bien évidement cela suppose que la fonction invoquée par l’utilisateur au travers de l’application tierce (OTT) soit affichée au niveau de l’écran du terminal 101.
Selon un mode particulier de réalisation de l'invention, le procédé peut également rejouer le raccourci clavier correspondant à la fonction invoquée par l’utilisateur.
Selon un mode particulier de réalisation de l'invention, le procédé peut, lors de l’étape de mise à jour de la base de connaissance, ajouter un identifiant associé à la fenêtre applicative active. Cet identifiant est par exemple obtenu via l’application d’une fonction cryptographique au niveau de l’image obtenue. La fonction cryptographique peut être une fonction de hachage permettant l’obtention d’une empreinte numérique de l’image. Ce mode de réalisation permet, lorsque la clef primaire comprend cet identifiant, de distinguer une même fonction (par exemple « quitter ») qui serait présente au sein de deux fenêtres graphiques différentes d’une même application.
Cette identifiant peut également comprendre une donnée obtenue depuis le système d’exploitation du terminal 101 comme par exemple le nom et/ou le chemin d’accès (arborescence de répertoire(s) / fichier(s) inform atique(s)) à l’exécutable de la fenêtre applicative active. A noter que lorsque l’identifiant de la fenêtre correspond à une empreinte numérique, cela suppose que le contenu de la fenêtre ne varie pas.
Selon un mode particulier de réalisation de l'invention, le procédé peut obtenir depuis le système d’exploitation la commande système générée à la suite du clic souris de l’utilisateur. Cette commande peut alors être comprise dans l’enregistrement obtenu par l’application tierce (OTT). Dans le cas décrit ci-dessus l’enregistrement peut correspondre à :
{« fonction » , « nom de l’application », « position X », « position Y », « commande » }
La commande peut ensuite être exécutée par le système d’exploitation de l’ordinateur à la demande de l’application tierce (c’est-à-dire de l’utilisateur).
Ainsi, si la fonctionnalité « quitter » est disponible via un bouton dans l’interface homme- machine mais aussi via un sous-menu « option/quitter », la commande système demandant à l’application de quitter la visioconférence sera la même (peu importe si l’utilisateur a cliqué sur le bouton ou est passé par le menu/sous-menu). En outre, et contrairement à la solution décrite précédemment basée sur un rejeu d’un clic souris ou d’un raccourci clavier, il n’est pas nécessaire que la fonction invoquée par l’application tierce (OTT) soit affichée au niveau de l’écran du terminal 101.

Claims

REVENDICATIONS
1. Procédé de construction d’une base de connaissance, ledit procédé étant mis en œuvre par un dispositif de construction au cours d’une utilisation d’un terminal électronique (101), et caractérisé en ce que le procédé comprend : lorsqu’un évènement système sur ledit terminal électronique est détecté
- une première étape d’obtention (GET1) d’au moins une donnée de position d’un curseur, ledit curseur étant associé à au moins un périphérique de pointage (103a, 103b) dudit terminal électronique, et d’au moins une image numérique d’une capture d’au moins une partie du rendu d’au moins un écran dudit terminal électronique ;
- une deuxième étape d’obtention (GET2) d’au moins une donnée système en provenance dudit terminal électronique ;
- une troisième étape d’obtention (GET3) d’au moins une donnée de contexte en fonction d’une analyse de tout ou partie de ladite image numérique ;
- une étape de mise à jour (UPDATE) de ladite base de connaissance avec lesdites au moins une donnée de position, de système et de contexte.
2. Procédé selon la revendication 1 caractérisé en ce que ledit évènement système est généré par au moins un périphérique de pointage (103 a, 103b) associé audit terminal électronique (101).
3. Procédé selon la revendication 1 caractérisé en ce que la capture porte sur une fenêtre applicative active.
4. Procédé selon la revendication 1 caractérisé en ce que l’obtention de ladite au moins une donnée de contexte est réalisée via une technique de reconnaissance optique de caractères et/ou une technique de vision par ordinateur.
5. Procédé selon la revendication 1 caractérisé en ce que l’étape de mise à jour est conditionnée par la valeur d’un score de confiance associé à ladite au moins une donnée de contexte.
6. Procédé selon la revendication 1 caractérisé en ce que ladite au moins une donnée système comprend au moins une commande informatique exécutable par le système d’exploitation dudit terminal électronique.
7. Procédé selon la revendication 1 caractérisé en ce que ladite donnée de contexte appartient au groupe comprenant au moins :
- un libellé ; - une taille de fenêtre graphique ;
- une position au sein dudit écran ;
- un texte ;
- une image.
8. Dispositif de construction d’une base de connaissance mis en œuvre au cours d’une utilisation d’un terminal électronique, et caractérisé en ce que le dispositif comprend :
- un premier module d’obtention (OBT1) d’au moins une donnée de position d’un curseur, ledit curseur étant associé audit au moins un périphérique de pointage (103a, 103b) dudit terminal électronique, et d’au moins une image numérique d’une capture d’au moins une partie du rendu d’au moins un écran dudit terminal électronique ;
- un deuxième module d’obtention (OBT2) d’au moins une donnée système en provenance dudit terminal électronique ;
- un troisième module d’obtention (OBT3) d’au moins une donnée de contexte en fonction d’une analyse de tout ou partie de ladite image numérique ;
- un module de mise à jour (MAJ) de ladite base de connaissance avec lesdites au moins une donnée de position, de système et de contexte.
9. Serveur, passerelle ou terminal caractérisé en ce qu’il comporte un dispositif de construction selon la revendication 8.
10. Programme d’ordinateur comportant les instructions pour l’exécution du procédé de construction selon l’une quelconque des revendications 1 à 7, lorsque le programme est exécuté par un processeur.
PCT/EP2023/071468 2022-08-10 2023-08-02 Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels WO2024033192A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2208230A FR3138841A1 (fr) 2022-08-10 2022-08-10 Procédé et dispositif de construction d’une base de connaissance dans le but d’utiliser de manière transverse des fonctions applicatives d’une pluralité de logiciels.
FRFR2208230 2022-08-10

Publications (1)

Publication Number Publication Date
WO2024033192A1 true WO2024033192A1 (fr) 2024-02-15

Family

ID=83506435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/071468 WO2024033192A1 (fr) 2022-08-10 2023-08-02 Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels

Country Status (2)

Country Link
FR (1) FR3138841A1 (fr)
WO (1) WO2024033192A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160044135A1 (en) * 2014-08-11 2016-02-11 International Business Machines Corporation Distributing ui control events from a single event producer across multiple systems event consumers
US20170060368A1 (en) * 2015-09-02 2017-03-02 International Business Machines Corporation Computer-vision based execution of graphical user interface (gui) application actions
FR3117240A1 (fr) * 2020-12-08 2022-06-10 Orange Procédé de construction d’une base de connaissance, produit programme d'ordinateur, médium de stockage et machine de calcul correspondants.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160044135A1 (en) * 2014-08-11 2016-02-11 International Business Machines Corporation Distributing ui control events from a single event producer across multiple systems event consumers
US20170060368A1 (en) * 2015-09-02 2017-03-02 International Business Machines Corporation Computer-vision based execution of graphical user interface (gui) application actions
FR3117240A1 (fr) * 2020-12-08 2022-06-10 Orange Procédé de construction d’une base de connaissance, produit programme d'ordinateur, médium de stockage et machine de calcul correspondants.

Also Published As

Publication number Publication date
FR3138841A1 (fr) 2024-02-16

Similar Documents

Publication Publication Date Title
US20100042933A1 (en) Region selection control for selecting browser rendered elements
US8421747B2 (en) Object detection and user settings
AU2016286308A1 (en) Robotic process automation
EP2211286B1 (fr) Procédé de sécurisation d'interface entre un utilisateur et une application, système, terminal et produit programme d'ordinateur correspondants.
EP1434412A1 (fr) Procédé de navigation optimisée dans les menus d'affichage d'un terminal mobile et terminal mobile associé
FR2723221A1 (fr) Procede pour identifier les objets dans un systemed'exploitation reposant sur une interface utilisateur graphique sur un ordinateur
EP2336867A1 (fr) Procédé et dispositif de contrôle de l'affichage sur un dispositif d'affichage d'une pluralité d'éléments d'une liste
WO2012028817A1 (fr) Procède de recueil de données a caractères événementiel de formulaires électroniques
EP3769196A1 (fr) Procede d'interaction entre d'une part au moins un utilisateur et/ou un premier dispositif electronique et d'autre part un second dispositif electronique
EP3202116B1 (fr) Procédé et dispositif d'aide à la décision
WO2024033192A1 (fr) Procédé et dispositif de construction d'une base de connaissance dans le but d'utiliser de manière transverse des fonctions applicatives d'une pluralité de logiciels
FR3117240A1 (fr) Procédé de construction d’une base de connaissance, produit programme d'ordinateur, médium de stockage et machine de calcul correspondants.
EP2413233B1 (fr) Téléphone mobile sous android comprenant une chaîne de mise à disposition de contenus
WO2018167420A1 (fr) Procédé d'enrichissement d'un contenu numérique par données spontanées
FR2804775A1 (fr) Module de saisie informatique
FR2883996A1 (fr) Procede de construction de scenes multimedia comprenant au moins un objet pointeur, procede de restitution de scenes, terminal, programmes d'ordinateur, serveur et objet pointeur correspondants
FR3103041A1 (fr) Procédé et dispositif de traitement d’image
EP1849299B1 (fr) Procede et dispositif d'edition de programme audiovisuel
EP2634683B1 (fr) Procédé de navigation au sein d'un contenu affichable à l'aide de commandes de navigation, dispositif de navigation et programme associé
CN117251093A (zh) 图像处理方法、图像处理装置和电子设备
FR2872598A1 (fr) Telecommande souris
FR3140687A1 (fr) Procédé de détermination d’au moins une action cible parmi un ensemble d’actions exécutables sur un terminal électronique
FR3102874A1 (fr) Procédé de collecte d’information contenue dans des messages électroniques stockés dans un terminal
FR3081577A1 (fr) Technique de saisie d'au moins un caractere au moyen d'une interface utilisateur d'un dispositif electronique
WO2014114877A1 (fr) Procédé de gestion de documents capturés sur un équipement mobile, et équipement apte à mettre en oeuvre le procédé

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23748811

Country of ref document: EP

Kind code of ref document: A1