EP2612236A1 - Method of gathering data of an event-like nature from electronic forms - Google Patents

Method of gathering data of an event-like nature from electronic forms

Info

Publication number
EP2612236A1
EP2612236A1 EP11764809.7A EP11764809A EP2612236A1 EP 2612236 A1 EP2612236 A1 EP 2612236A1 EP 11764809 A EP11764809 A EP 11764809A EP 2612236 A1 EP2612236 A1 EP 2612236A1
Authority
EP
European Patent Office
Prior art keywords
event
electronic form
field
user
user terminal
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP11764809.7A
Other languages
German (de)
French (fr)
Inventor
Benoit Ferlin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ONEY BANK
Original Assignee
BANQUE ACCORD
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 BANQUE ACCORD filed Critical BANQUE ACCORD
Publication of EP2612236A1 publication Critical patent/EP2612236A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/875Monitoring of systems including the internet

Definitions

  • the present invention relates to the technical field of online services and more particularly to the study of user interactions with electronic forms online.
  • the electronic form is considered one of the main promoters of online services.
  • the form allows, in fact: a high reactivity: data entry can be accelerated - by comparison, for example, with an email application - using drop-down menus or checkboxes; obtaining pre-formatted data that can be automatically integrated into a database;
  • obtaining relevant information for example, by causing the user to make a choice from a predefined list at the convenience of the online service administrator.
  • the electronic form has become a key computing resource for online services, whether informative, advisory or transactional.
  • An objective of the present invention is to improve the ergonomics of electronic forms in order to facilitate the access of Internet users to online services conditioned by the submission of these forms.
  • the invention relates, in a first aspect, to a method of managing an electronic form accessible on an application server via a user terminal provided with at least one input device, this method comprising the following steps: - as soon as the electronic form is loaded by the user terminal, identification of the fields of the electronic form likely to be concerned by user interactions;
  • the invention relates to an event recorder for managing an electronic form accessible on an application server via a user terminal provided with at least one input device, this recorder being the event being configured for:
  • the invention relates to a computer program product implemented on a memory medium that can be implemented within a computer processing unit and includes instructions for implementing the process summarized above.
  • FIG. 1 schematically illustrates a nonlimiting functional representation of an embodiment
  • FIG. 2 schematically illustrates an alternative embodiment.
  • FIG. 1 shows a user 1 requesting, via a user terminal 10, access to a content and / or an online service from an application server 2.
  • the user terminal 10 (a computer, a digital tablet, a smartphone, a mobile phone, or more generally any device allowing the user 1 to interact with a remote server) is, in particular, provided with input and output devices.
  • a display means (a screen).
  • input device any device for sending instructions (text input, pointing for example) to the user terminal 10.
  • a keyboard, a touch screen, a digicode, a joystick, a mouse, a trackball , a touchpad, a graphics tablet or any combination of these are examples of input devices of the user terminal 10.
  • the user terminal 10 is also provided with a web browser (FireFox®, Fennec®, Opera®, Opera Mobile®, Internet Explorer®, Google Chrome® for example) or any other means of consulting a website set online via the application server 2.
  • This web browser is arranged to transmit a request for access to a service and / or a content posted, as well as to display the response to this request transmitted from the application server 2.
  • the communication between the user terminal 10 and the application server 2 is established according to a navigation protocol simultaneously supported (http, https, WAP for example).
  • the application server 2 allows access to (or hosts) at least one website (or a WAP site) including an electronic form.
  • the application server 2 offers an online service such as an online banking loan application, requiring the filling of an electronic form by a user wishing to benefit from this service.
  • the user 1 In its interactions with the content posted via the application server 2, the user 1 transmits an access request 120 to an electronic form to the application server 2. In response, the application server 2 returns to the user 1 the required electronic form 121 including an event recorder.
  • the event recorder is a computer program product (i.e., a set of lines of code representing instructions) attached to the electronic form required by the user 1.
  • the Event recorder is embedded in the source code of the electronic form.
  • the event recorder is however independent of the electronic form required by the user 1, and can be integrated with any other electronic form.
  • the purpose of the event recorder is to allow the reconstitution over time of the manner in which the required electronic form is filled by the user 1.
  • any constituent element of the electronic form or more generally any component of the graphic interface included in the electronic form (icon, push button, check box, radio button, menu of command, context menu, tab, scroll bar, text box, tooltip, dialog box, floating window, hypertext link for example).
  • a "user interaction” designates, here, any instruction (selection, input, pointing for example) triggered by the user 1 via an input device of the user terminal 10 or by a computer program product (a robot for example).
  • the electronic form 121 including an event recorder, the latter, in an initialization phase, - performs an exploration of the electronic form (step 11 of Figure 1) in order to identify all the fields whose values can be modified by the user 1 (an input zone, a drop-down menu, a checkbox, a radio button, a button, a link to another document for example), and
  • step 12 of Figure 1 the properties of the identified fields; ie for each identified field, memorizes the name, the type (button, checkbox, file, hidden, image, password, radio, reset, select-one, select-multiple, submit, text, textarea for example), and the initial value (empty, checked for example).
  • the event recorder builds a detailed repository characterizing all the fields present in the electronic form loaded by the user 1.
  • the event recorder scans the electronic form to extract the structure (that is, all the fields present in the electronic form) to store it in a Structural table] whose form is as follows:
  • Each field of the electronic form is indexed by a number of the electronic form and its appearance number in the structure of this electronic form.
  • a listener in particular, "listener” in English
  • a listener is associated with each field listed on the electronic form, in order to detect any event produced on this field, and trigger, therefore, the memorization of this event.
  • events mention is made of:
  • the focus event occurs when a listed field is selected. As soon as this field loses "focus”, the "blur” event occurs. These two events make it possible, in particular, to know that the user 1 performs a swap from the electronic form to another document. The two events "focus” and “blur” inform, among others, the attention of the user 1 to the electronic form.
  • Auditors programmed to detect "focus” and “blur” events are implemented on the “window” object of the Document Object Model (DOM) that triggers a storage function associated with the "window” object.
  • DOM Document Object Model
  • the "resize” event results from resizing the electronic form window using one of the following browser functions: “handle” (usually accessible in the lower right corner of the browser), “full screen”, “ lower level “or” enlarge “(the last three are usually in the upper right corner of the browser).
  • Time management is performed by means of a variable fed with the current time, making it possible to calculate the time (in milliseconds) elapsed between two consecutive events and / or the duration of an event (also in milliseconds).
  • any captured event is stored in a Trace [] array, including the following properties:
  • selTxt Selected text in a "text" or “textarea” field selDeb Offset in the field of the beginning of the selected text
  • the stored data relating to an event produced and picked up by a listener includes: the event, the field in which the event occurred, the elapsed time (in milliseconds) since the previous event, the instruction transmitted from the input device to the user terminal (ie the value of the key pressed, or the mouse button pressed), the content of the selected text / item, a start index and / or end of the selected text, the new value of the field, a modification of the value of a field, the status of special keys such as "CTL", "ALT”, "SHIFT” for example.
  • a given event is generated by:
  • the "event” property stores an alphabetic character associated with the event that has been triggered while respecting a certain nomenclature, such as the following:
  • the stored data relates to the way in which the user 1 interacts with the electronic form and not on the content of his interactions (ie the text entered).
  • the submission of the electronic form (step 122 of FIG. 1) by the user 1 to the application server 2 triggers the unloading phase enabling the memorized data to be attached to the electronic form.
  • the unloading phase allows:
  • the technical trace is then formatted to include a header, a structure and the event trace already stored.
  • the header delimited by a tag of type ⁇ header> and ⁇ / head>, enriches the information included in the trace of events by including, by way of non-exhaustive example, the elements of the following table.
  • appCodeName The code name of the browser (for example, Mozilla)
  • appVersion Browser version for example 5.0 (Windows; U; Windows NT 6.1) cookieEnabled Boole î indicating that the browser accepts cookies cpuClass Type of ⁇ processor
  • the structure of a technical trace, delimited by ⁇ structure> and ⁇ / structure> tags, includes a description of the listed fields of the electronic form as shown below:
  • the event trace includes all the events that occurred during the execution phase on the form and that can be delimited with the " ⁇ trace>" and " ⁇ / trace>” tags.
  • the trace is composed of the following elements each separated by the character "
  • the event trace is preferably encrypted.
  • the content of the structure of the technical trace can also be encrypted.
  • encryption keys are calculated by the event recorder in a random manner and stored in the system variable "window.name”.
  • this encryption method makes it possible to keep the same encryption method for all the electronic forms loaded (ie open) on the same browser.
  • three encryption matrices are defined from three distinct zones of an input device of the user terminal (a keyboard):
  • matrix A the keys F1 to F12;
  • the keys numbered according to a key encryption table make it possible to obtain encryption matrices composed of the keys relative to each zone.
  • Each matrix is initialized with its corresponding key numbers, for example:
  • - mB figures from 17 to 26; and - mC: numbers from 31 to 40 + figures from 45 to 54 + figures from 59 to 64.
  • mB new Array (19,20,22,24,17,21,23,25,26,18);
  • Encryption matrices mA, mB, and mC are generated as soon as the event recorder is loaded. If, during a later loading of the event recorder, the presence of the matrices is detected in the variable "window.name", the chain is reworked to erase the opening and closing hooks and a simple evaluation of the chain allows to load the matrices keeping the same permutations.
  • Encrypting a charcode following the keypress event includes the following steps:
  • the formatted technical trace is attached in a hidden manner (a "hidden" element) to the electronic form to be submitted by the user 1 to the application server 2.
  • the technical trace is sent to the application server 2 (step 122 of Figure 1) or the analysis server 3 (step 130 of Figure 1).
  • the technical trace makes it possible to locate the areas of the form where user 1 has stopped. This makes it possible, for example, to identify the fields that represent an obstacle to users to complete their transactions.
  • the application server 2 is provided with a plugin 21 programmed to extract the technical trace of the submitted form and transfer it to an analysis server 3.
  • This transfer is intended, in particular, not to disturb the operation of the application server 2 which is dedicated to processing the content of the submitted form.
  • the management of the technical trace is reserved for an analysis server 3 so as not to penalize the processing time, by the application server 2, of the content of the form submitted by the user 1.
  • the technical trace is directly transmitted (step 130 of FIG. 1) to the analysis server 3.
  • the analysis server 3 is configured to:
  • step 31 of FIG. 1 the structure of the trace, the presence of the information of the header, for example;
  • step 33 of Figure 1 the analysis of the technical trace in a database 30.
  • the analysis step 32 of an event trace includes several steps such as: the normalization of the event trace by deleting, for example, superfluous events dependent on the browser used by the user 1 (for example, the fact of passing from one field to another generates in Internet Explorer an event of the type "the window gains the focus");
  • successive events chains translating user interactions can be made, according to a particular embodiment, by analyzing the trace by a technique called "regular expressions": we associate a letter of the alphabet with each event of the trace and form a string of characters consisting of all events, one after the other. Each regular expression is searched in the chain of events, and when it is found, we associate an "analysis flag" to know that the elementary events correspond to a particular action.
  • the event trace is decomposed into understandable events, in other words in user interactions: a key has been pressed, a field has undergone a "paste" action, or a box has been checked, for example.
  • the translation of all the events included in the event trace into user interactions makes it possible to reconstitute in time the manner in which the electronic form has been completed by the user 1. More precisely, this step makes it possible to reconstitute, by a tracing of user interactions (copy-paste, text entry, item selection, page switching for example) taking into account, in particular, the temporal aspect (duration / order of user interaction) or the scenario according to which the form electronic is filled.
  • the evaluation of the striking dynamics can be carried out by calculating, for each event of the trace, the distance "Levenshtein” (or according to any other measure of similarity between two chains of events) resulting from the changes of value of the zone on which the event occurred.
  • the distance "Levenshtein” quantifies the algorithmic cost of passing from one word to another. This step of evaluating the typing dynamic makes it possible to identify how the fields of the electronic form have been filled. Indeed, there are three types of keystrokes:
  • this event occurs when user 1 quickly typed on the keyboard; the sequence is characterized by the fact that the keyup event of the first key pressed has not yet occurred even though the keydown event of the next key has occurred. This analysis tends to show that the user who made the typing usually enters this information on the keyboard;
  • This analysis step allows the reconstitution of the way the electronic form has been filled by the user 1.
  • the user 1 For example, the user 1:
  • a human decision can be made (for example by a group of people such as a marketing management) to modify the form, for example if the statistics show difficulties for some users to fill out correctly or quickly enough the form.
  • a person authorized to access the analysis server 3 can consult (step 41 of FIG. 1), for example daily, the analyzes of the technical traces recorded in the database 30 of the analysis server 3 and define (step 42 of Figure 1), accordingly, a plan of action.
  • the application server 2 can request (step 231 of FIG. 2) the analysis of the technical traces that have been transferred to it from the analysis server 3 (step 232 of the figure 2) for further processing of the submitted form (for example, to accept or reject a bank transaction in the case of an e-banking form).
  • the analysis server 3 is configured to apply itself processing rules of the form (step 34 of Figure 2).
  • the system and method just described above make it possible, on the basis of a behavioral statistical analysis (anonymous) of the user interactions, to modify the architecture of the forms in order to improve their ergonomics without as much as it is necessary to modify the client terminals, both in terms of hardware and software.
  • the behavioral characteristics of the user include the manner in which the user uses an input device (the keyboard and / or the mouse for example).
  • the different types of forms can thus comprise different functionalities (in particular assistance with filling, for example by means of drop-down menus instead of free input window).
  • the application server 2 can perform the analysis server function 3.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Method of managing an electronic form accessible on an application server (2) via a user terminal (10) provided with at least one input peripheral, this method comprising the following steps: - upon the loading of the electronic form by the user terminal (10), identification (11) of the fields of the electronic form that are liable to be relevant to user interactions; - detection and storage of data relating to any event produced on each of the identified fields; - downloading of the data stored upon submission of the electronic form; - analysis of the downloaded data.

Description

PROCEDE DE RECUEIL DE DONNEES A CARACTERES  METHOD FOR COLLECTING CHARACTER DATA
EVENEMENTIELS DE FORMULAIRES ELECTRONIQUES  EVENTS OF ELECTRONIC FORMS
La présente invention se rapporte au domaine technique des services en ligne et plus particulièrement à l'étude des interactions utilisateur avec les formulaires électroniques en ligne. The present invention relates to the technical field of online services and more particularly to the study of user interactions with electronic forms online.
Avec l'utilisation généralisée d'Internet et/ou d'Intranet, le nombre des services en ligne ne cesse de progresser : citons à titre d'exemple les services de e-commerce, e-banking, e-learning, e-gouvernement. De fait, de plus en plus d'entreprises - notamment dans le domaine bancaire - tendent à proposer leurs services de manière électronique au moyen d'applications en ligne. Ainsi les transactions bancaires et financières peuvent désormais être accomplies en ligne, à distance. With the widespread use of the Internet and / or Intranet, the number of online services continues to grow: for example, e-commerce, e-banking, e-learning and e-government services. . In fact, more and more companies - especially in the banking sector - tend to offer their services electronically through online applications. Thus banking and financial transactions can now be completed online, remotely.
Afin de répondre à des perspectives économiques et commerciales, ces services en ligne utilisent des ressources informatiques diverses allant du plus simple, tels qu'un courriel « contactez-nous » ou un formulaire électronique, au plus complexe, tels que des outils communicationnels interfaçables sur le Web 2.0 (messagerie instantanée ou « chat », étiquetage social, blog, site web dynamique de type « Wiki »). In order to respond to economic and commercial prospects, these online services use various computer resources ranging from the simplest, such as a "contact us" email or an electronic form, to the more complex, such as communication tools interfaceable on Web 2.0 (instant messaging or "chat", social tagging, blog, dynamic web site of "Wiki" type).
Dans ce contexte, le formulaire électronique est considéré comme l'un des principaux promoteurs des services en ligne. Le formulaire permet, en effet : une forte réactivité : la saisie des données peut être accélérée - par comparaison, par exemple, avec une application de courrier électronique - à l'aide de menus déroulants ou de cases à cocher ; l'obtention de données pré-formatées qui peuvent être automatiquement intégrées à une base de données ; In this context, the electronic form is considered one of the main promoters of online services. The form allows, in fact: a high reactivity: data entry can be accelerated - by comparison, for example, with an email application - using drop-down menus or checkboxes; obtaining pre-formatted data that can be automatically integrated into a database;
l'assistance de l'internaute lors de la saisie des informations requises : données obligatoires (identifiant, mot de passe par exemple) ou facultatives (adresse, profession, âge, adresse électronique par exemple), procédure à suivre (identification, paiement, vérification, confirmation par exemple) ; l'économie de la retranscription des informations utilisateur (à la différence notamment du Chat ou du courrier électronique, dans lesquels les informations utilisateur doivent être extraites et retranscrites, avec un risque d'erreur dans la retranscription); the assistance of the user when entering the required information: compulsory data (username, password for example) or optional (address, profession, age, email address for example), procedure to follow (identification, payment, verification , confirmation for example); the economics of retranscribing user information (unlike in particular chat or e-mail, in which user information must be retrieved and retranscribed, with a risk of error in the retranscription);
- l'obtention d'informations pertinentes, par exemple, en amenant l'utilisateur à effectuer un choix parmi une liste prédéfinie à la convenance de l'administrateur du service en ligne.  obtaining relevant information, for example, by causing the user to make a choice from a predefined list at the convenience of the online service administrator.
C'est pourquoi le formulaire électronique est devenu une ressource informatique capitale pour les services en ligne, qu'ils soient informatifs, consultatifs ou transactionnels. As a result, the electronic form has become a key computing resource for online services, whether informative, advisory or transactional.
Toutefois, les administrateurs des services en ligne peinent à concevoir des formulaires performants et conviviaux, n'ayant pas de retour critique de la part des utilisateurs : il serait nécessaire de faire remplir à ces derniers des formulaires de satisfaction, ce qui serait un cercle vicieux. De sorte que la qualité de l'ergonomie des formulaires électroniques, qui est fondamentale pour l'acceptation par les internautes de la souscription de services en ligne, n'est généralement appréciée que de manière incomplète en raison de l'absence d'étude statistique sur la manière dont les internautes remplissent les formulaires. II va de soi que le comportement des internautes lors du remplissage d'un formulaire varie selon l'âge, le sexe, la catégorie socio-professionnelle, le type de terminal, le navigateur utilisé. Il n'est toutefois pas envisageable, pour des raisons non seulement commerciales mais également éthiques, de subordonner l'accès à un service en ligne nécessitant le remplissage d'un formulaire à l'identification préalable d'une catégorie à laquelle appartiendrait l'internaute : par principe, tout internaute doit pouvoir remplir un formulaire pour accéder au service. However, the administrators of online services are struggling to design efficient and user-friendly forms, with no critical feedback from users: it would be necessary to have the latter fill out satisfaction forms, which would be a vicious circle. . So that the quality of the ergonomics of electronic forms, which is fundamental for the acceptance by Internet users of the subscription of online services, is generally appreciated only incompletely because of the absence of statistical study. about how people fill out forms. It goes without saying that the behavior of Internet users when filling out a form varies according to age, gender, socio-professional category, type of terminal, browser used. However, it is not conceivable, for reasons that are not only commercial but also ethical, to make access to an online service requiring the filling of a form to the prior identification of a category to which the user belongs. : in principle, any user must be able to fill out a form to access the service.
Pourtant les réactions des internautes face aux formulaires sont diverses et complexes. Ainsi si l'organisation des champs à remplir est fondamentale, on note que les logiques varient selon les individus. Cette logique peut d'ailleurs s'opposer aux intérêts du fournisseur du service. Ainsi, si pour certains fournisseurs de services l'âge de l'utilisateur est une donnée fondamentale conditionnant la fourniture du service (citons à titre d'exemple les services réservés aux adultes et interdits aux enfants), la présence du champ « âge » en tête du formulaire peut d'emblée rebuter l'utilisateur qui se détournera du service. De même, la méthodologie de saisie est fondamentale et il existe à ce jour peu de données sur la manière dont, statistiquement, les internautes saisissent les informations qui leur sont demandées. Yet the reactions of Internet users to forms are diverse and complex. Thus, if the organization of the fields to be completed is fundamental, we note that the logics vary according to the individuals. This logic can also oppose the interests of the service provider. So, if for some service providers the age of the user is a given fundamental condition conditioning the provision of the service (let us mention for example the services reserved for adults and prohibited to children), the presence of the field "age" at the top of the form can immediately put off the user who will turn away from the service. Similarly, the capture methodology is fundamental and there is little data to date on how, statistically, Internet users enter the information requested of them.
Un objectif de la présente invention est d'améliorer l'ergonomie des formulaires électroniques afin de faciliter l'accès des internautes à des services en ligne conditionnés par la soumission de ces formulaires. An objective of the present invention is to improve the ergonomics of electronic forms in order to facilitate the access of Internet users to online services conditioned by the submission of these forms.
A cette fin, l'invention se rapporte, selon un premier aspect, à un procédé de gestion d'un formulaire électronique accessible sur un serveur d'application via un terminal utilisateur pourvu d'au moins un périphérique d'entrée, ce procédé comprenant les étapes suivantes : - dès le chargement du formulaire électronique par le terminal utilisateur, identification des champs du formulaire électronique susceptibles d'être concernés par des interactions utilisateur ; To this end, the invention relates, in a first aspect, to a method of managing an electronic form accessible on an application server via a user terminal provided with at least one input device, this method comprising the following steps: - as soon as the electronic form is loaded by the user terminal, identification of the fields of the electronic form likely to be concerned by user interactions;
- détection et mémorisation de données concernant tout événement produit sur chacun des champs identifiés ;  - Detection and storage of data concerning any event produced on each of the identified fields;
- déchargement des données mémorisées lors de la soumission du formulaire électronique;  - unloading the stored data when submitting the electronic form;
- analyse des données déchargées, cette étape d'analyse comprenant une étape de distinction de chaînes d'événements successifs traduisant des interactions utilisateur. L'invention se rapporte, selon un deuxième aspect, à un enregistreur d'événements pour la gestion d'un formulaire électronique accessible sur un serveur d'application via un terminal utilisateur pourvu d'au moins un périphérique d'entrée, cet enregistreur d'événement étant configuré pour:  analysis of the discharged data, this analysis step comprising a step of distinguishing successive event chains that translate user interactions. According to a second aspect, the invention relates to an event recorder for managing an electronic form accessible on an application server via a user terminal provided with at least one input device, this recorder being the event being configured for:
- dès le chargement du formulaire électronique par le terminal utilisateur, identifier les champs du formulaire électronique susceptibles d'être concernés par des interactions utilisateur ; - détecter et mémoriser des données concernant tout événement produit sur chacun des champs identifiés ; - as soon as the electronic form is loaded by the user terminal, identify the fields of the electronic form that may be affected by user interactions; - detect and memorize data concerning any event produced on each of the identified fields;
- décharger, lors de la soumission du formulaire électronique, les données mémorisées à destination d'un serveur d'analyse configuré pour distinguer dans ces données mémorisées au moins une chaîne d'événements successifs traduisant une interaction utilisateur.  - Unload, when submitting the electronic form, the stored data to an analysis server configured to distinguish in this stored data at least one chain of successive events reflecting a user interaction.
L'invention se rapporte, selon un troisième aspect, à un produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique et comprenant des instructions pour la mise en œuvre du procédé résumé ci-dessus. According to a third aspect, the invention relates to a computer program product implemented on a memory medium that can be implemented within a computer processing unit and includes instructions for implementing the process summarized above.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement et de manière concrète à la lecture de la description ci-après de modes de réalisation préférés, laquelle est faite en référence aux dessins annexés dans lesquels :  Other features and advantages of the invention will appear more clearly and concretely on reading the following description of preferred embodiments, which is made with reference to the accompanying drawings in which:
- la figure 1 illustre schématiquement une représentation fonctionnelle non limitative d'un mode de réalisation; FIG. 1 schematically illustrates a nonlimiting functional representation of an embodiment;
la figure 2 illustre schématiquement une variante de réalisation.  Figure 2 schematically illustrates an alternative embodiment.
Sur la figure 1 est représenté un utilisateur 1 requérant, via un terminal utilisateur 10, l'accès à un contenu et/ou à un service en ligne auprès d'un serveur d'application 2. FIG. 1 shows a user 1 requesting, via a user terminal 10, access to a content and / or an online service from an application server 2.
Le terminal utilisateur 10 (un ordinateur, une tablette numérique, un Smartphone, un téléphone portable, ou plus généralement tout dispositif permettant à l'utilisateur 1 d'interagir avec un serveur distant) est, notamment, pourvu de périphériques d'entrée et d'un moyen d'affichage (un écran). On entend, ici, par périphérique d'entrée tout dispositif permettant d'envoyer des instructions (saisie de texte, pointage par exemple) au terminal utilisateur 10. Un clavier, un écran tactile, un digicode, une manette, une souris, un trackball, un pavé tactile, une tablette graphique ou toute combinaison de ces derniers sont des exemples de périphériques d'entrée du terminal utilisateur 10.  The user terminal 10 (a computer, a digital tablet, a smartphone, a mobile phone, or more generally any device allowing the user 1 to interact with a remote server) is, in particular, provided with input and output devices. a display means (a screen). Here we mean by input device any device for sending instructions (text input, pointing for example) to the user terminal 10. A keyboard, a touch screen, a digicode, a joystick, a mouse, a trackball , a touchpad, a graphics tablet or any combination of these are examples of input devices of the user terminal 10.
Le terminal utilisateur 10 est pourvu, en outre, d'un navigateur Web (FireFox ®, Fennec ®, Opéra ®, Opéra Mobile ®, Internet Explorer®, Google Chrome® par exemple) ou tout autre moyen permettant de consulter un site Web mis en ligne via le serveur d'application 2. Ce navigateur Web est agencé pour transmettre une requête d'accès à un service et/ou un contenu mis en ligne, ainsi que pour afficher la réponse à cette requête transmise depuis le serveur d'application 2. The user terminal 10 is also provided with a web browser (FireFox®, Fennec®, Opera®, Opera Mobile®, Internet Explorer®, Google Chrome® for example) or any other means of consulting a website set online via the application server 2. This web browser is arranged to transmit a request for access to a service and / or a content posted, as well as to display the response to this request transmitted from the application server 2.
La communication entre le terminal utilisateur 10 et le serveur d'application 2 est établie selon un protocole de navigation simultanément supporté (http, https, WAP par exemple). The communication between the user terminal 10 and the application server 2 is established according to a navigation protocol simultaneously supported (http, https, WAP for example).
Le serveur d'application 2 permet l'accès à (ou héberge) au moins un site Web (ou un site WAP) comprenant un formulaire électronique. A titre d'exemple non-limitatif, le serveur d'application 2 propose un service en ligne tel qu'une demande de prêt bancaire en ligne, nécessitant le remplissage d'un formulaire électronique par un utilisateur souhaitant bénéficier de ce service. The application server 2 allows access to (or hosts) at least one website (or a WAP site) including an electronic form. As a non-limiting example, the application server 2 offers an online service such as an online banking loan application, requiring the filling of an electronic form by a user wishing to benefit from this service.
Dans ses interactions avec le contenu mis en ligne via le serveur d'application 2, l'utilisateur 1 transmet une requête 120 d'accès à un formulaire électronique auprès du serveur d'application 2. En réponse, le serveur d'application 2 retourne à l'utilisateur 1 le formulaire électronique requis 121 incluant un enregistreur d'événements. In its interactions with the content posted via the application server 2, the user 1 transmits an access request 120 to an electronic form to the application server 2. In response, the application server 2 returns to the user 1 the required electronic form 121 including an event recorder.
L'enregistreur d'événements est un produit programme d'ordinateur (c.à.d. un ensemble de lignes de code représentant des instructions) joint au formulaire électronique requis par l'utilisateur 1. Selon une forme particulière de réalisation, l'enregistreur d'événements est intégré dans le code source du formulaire électronique. The event recorder is a computer program product (i.e., a set of lines of code representing instructions) attached to the electronic form required by the user 1. According to a particular embodiment, the Event recorder is embedded in the source code of the electronic form.
Il est à noter que l'enregistreur d'événements est toutefois indépendant du formulaire électronique requis par l'utilisateur 1, et peut être intégré à tout autre formulaire électronique. L'enregistreur d'événements vise à permettre la reconstitution dans le temps de la manière dont le formulaire électronique requis est rempli par l'utilisateur 1. A cet égard, on distingue trois phases : une phase d'initialisation permettant d'inventorier tous les champs du formulaire électronique susceptibles d'être concernés par des interactions utilisateur ; - une phase d'exécution au cours de laquelle l'enregistreur d'événements détecte et mémorise tout événement produit sur chacun des champs inventoriés du formulaire électronique ; It should be noted that the event recorder is however independent of the electronic form required by the user 1, and can be integrated with any other electronic form. The purpose of the event recorder is to allow the reconstitution over time of the manner in which the required electronic form is filled by the user 1. In this respect, there are three phases: an initialization phase making it possible to inventory all the electronic form fields that may be affected by user interactions; an execution phase during which the event recorder detects and stores any event produced on each of the inventoried fields of the electronic form;
une phase de déchargement permettant de joindre les données mémorisées au formulaire électronique lors de sa soumission par l'utilisateur.  an unloading phase for attaching the stored data to the electronic form when submitted by the user.
On entend, ici, par « champ » d'un formulaire électronique tout élément constitutif du formulaire électronique, ou plus généralement tout composant d'interface graphique compris dans le formulaire électronique (icône, bouton poussoir, case à cocher, bouton radio, menu de commande, menu contextuel, onglet, barre de défilement, zone de texte, bulle d'aide, boite de dialogue, fenêtre flottante, lien hypertexte par exemple). Par ailleurs, une « interaction utilisateur » désigne, ici, toute instruction (sélection, saisie, pointage par exemple) déclenchée par l'utilisateur 1 via un périphérique d'entrée du terminal utilisateur 10 ou par un produit programme d'ordinateur (un robot par exemple). Here we mean by "field" of an electronic form any constituent element of the electronic form, or more generally any component of the graphic interface included in the electronic form (icon, push button, check box, radio button, menu of command, context menu, tab, scroll bar, text box, tooltip, dialog box, floating window, hypertext link for example). Moreover, a "user interaction" designates, here, any instruction (selection, input, pointing for example) triggered by the user 1 via an input device of the user terminal 10 or by a computer program product (a robot for example).
Dès le chargement, par l'utilisateur 1, du formulaire électronique 121 incluant un enregistreur d'événements, ce dernier, dans une phase d'initialisation, - effectue une exploration du formulaire électronique (étape 11 de la figure 1) afin d'y identifier tous les champs dont les valeurs peuvent être modifiées par l'utilisateur 1 (une zone de saisie, un menu déroulant, une case à cocher, un bouton radio, un bouton, un lien vers un autre document par exemple), et Upon loading, by the user 1, the electronic form 121 including an event recorder, the latter, in an initialization phase, - performs an exploration of the electronic form (step 11 of Figure 1) in order to identify all the fields whose values can be modified by the user 1 (an input zone, a drop-down menu, a checkbox, a radio button, a button, a link to another document for example), and
- mémorise (étape 12 de la figure 1) les propriétés des champs identifiés ; i.e. pour chaque champ identifié, mémorise le nom, le type (bouton, checkbox, file, hidden, image, password, radio, reset, select-one, select-multiple, submit, texte, textarea par exemple), et la valeur initiale (vide, coché par exemple). Ainsi, l'enregistreur d'événements construit un référentiel détaillé caractérisant l'ensemble des champs présents dans le formulaire électronique chargé par l'utilisateur 1. Dans une forme particulière de réalisation, l'enregistreur d'événements parcourt le formulaire électronique pour en extraire la structure (c'est-à- dire, l'ensemble des champs présents dans le formulaire électronique) pour la mémoriser dans un tableau Structurel] dont la forme est la suivante : - Stores (step 12 of Figure 1) the properties of the identified fields; ie for each identified field, memorizes the name, the type (button, checkbox, file, hidden, image, password, radio, reset, select-one, select-multiple, submit, text, textarea for example), and the initial value (empty, checked for example). Thus, the event recorder builds a detailed repository characterizing all the fields present in the electronic form loaded by the user 1. In a particular embodiment, the event recorder scans the electronic form to extract the structure (that is, all the fields present in the electronic form) to store it in a Structural table] whose form is as follows:
Propriété Description Property Description
i Numéro du formulaire  i Form number
j Numéro d'apparition du champ dans la structure j Field appearance number in the structure
Idx Index du champ au format « i/j » Idx Field index in "i / j" format
type Type du champ :  type Field type:
button A  button A
checkbo) B  checkbo) B
file C  file C
hidden D  hidden D
image E  image E
passworc 1 F  passworc 1 F
radio G  G radio
reset H  reset H
select-or îe 1  select-or 1
select-m ultiple J  select-m ultiple J
submit K  submit K
text L  text L
textarea M  textarea M
fenêtre X (au sens navigateur)  window X (in the browser sense)
non reco nnu Z  no reco nnu Z
val_ini Valeur in itiale du champ  val_ini Initial value of the field
name Nom du c :hamp au sens HTML  name Name of c: hint in the HTML sense
id identifie int du champ au sens HTML Chaque champ du formulaire électronique est donc indexé par un numéro du formulaire électronique et son numéro d'apparition dans la structure de ce formulaire électronique.  id identifies int from the field to the HTML meaning Each field of the electronic form is indexed by a number of the electronic form and its appearance number in the structure of this electronic form.
Durant la phase d'exécution, un auditeur (notamment, « listener » en anglais) est associé à chaque champ répertorié du formulaire électronique, à l'effet de détecter tout événement produit sur ce champ, et déclencher, par conséquent, la mémorisation de cet événement. A titre d'exemples non- limitatifs d'événements, on cite : During the execution phase, a listener (in particular, "listener" in English) is associated with each field listed on the electronic form, in order to detect any event produced on this field, and trigger, therefore, the memorization of this event. As non-limiting examples of events, mention is made of:
Auditeur Description Auditor Description
keydown Une touche est appuyée  keydown A key is pressed
keypress Une touche est « pressée »  keypress A key is "pressed"
keyup Une touche est relâchée  keyup A key is released
foc us Le champ attrape le focus  The field catches the focus
Blur Le champ perd le focus  Blur The field loses focus
select Un item d'une liste est sélectionné  select An item from a list is selected
paste L'événement « coller » se produit sur le champ  paste The paste event occurs on the field
Cut L'événement « couper » se produit sur le champ copy L'événement « copier » se produit sur le champ Cut The "cut" event occurs on the field copy The "copy" event occurs on the field
change Le contenu d'un champ a changé de valeur  change The content of a field has changed in value
click Le champ a été cliqué  click The field has been clicked
dblclick Le champ a été double cliqué  dblclick The field has been double clicked
contextmenu Un menu contextuel a été déclenché sur le champ mousedown Un bouton de la souris est appuyé sur le champ mouseup Un bouton de la souris est relâché sur le champ resize L'utilisateur redimensionne la fenêtre du formulaire électronique  contextmenu A context menu was triggered on the mousedown field A mouse button is pressed on the mouseup field A mouse button is released on the resize field The user resizes the window of the electronic form
mouseover La souris arrive au dessus du champ mouseout la souris quitte le champ  mouseover The mouse arrives at the top of the field mouseout the mouse leaves the field
En particulier, l'événement «focus» se produit lorsqu'un champ répertorié est sélectionné. Dès que ce champ perd le «focus», se produit l'événement «blur». Ces deux événements permettent, en particulier, de savoir que l'utilisateur 1 effectue un basculement («swap») depuis le formulaire électronique vers un autre document. Les deux événements « focus » et « blur » renseignent, entre autres, sur l'attention de l'utilisateur 1 envers le formulaire électronique. In particular, the focus event occurs when a listed field is selected. As soon as this field loses "focus", the "blur" event occurs. These two events make it possible, in particular, to know that the user 1 performs a swap from the electronic form to another document. The two events "focus" and "blur" inform, among others, the attention of the user 1 to the electronic form.
Les auditeurs programmés pour détecter les événements « focus » et « blur » sont implémentés sur l'objet « window » du DOM (Document Object Model) permettant de déclencher une fonction de mémorisation associée à l'objet « window ». Auditors programmed to detect "focus" and "blur" events are implemented on the "window" object of the Document Object Model (DOM) that triggers a storage function associated with the "window" object.
L'événement « resize » résulte du redimensionnement de la fenêtre du formulaire électronique à l'aide de l'une des fonctions suivantes du navigateur : « poignée » (généralement accessible dans le coin inférieur droit du navigateur), « plein écran », « niveau inférieur » ou encore « agrandir » (ces trois dernières se trouvant généralement dans le coin supérieur droit du navigateur). The "resize" event results from resizing the electronic form window using one of the following browser functions: "handle" (usually accessible in the lower right corner of the browser), "full screen", " lower level "or" enlarge "(the last three are usually in the upper right corner of the browser).
La gestion du temps est effectuée au moyen d'une variable alimentée avec l'heure courante, permettant de calculer le temps (en millisecondes) écoulé entre deux événements consécutifs et/ou la durée d'un événement (également en millisecondes). Time management is performed by means of a variable fed with the current time, making it possible to calculate the time (in milliseconds) elapsed between two consecutive events and / or the duration of an event (also in milliseconds).
Dans une mise en œuvre particulière, tout événement capté est mémorisé dans un tableau Trace[], comprenant les propriétés suivantes : Propriété Descriptif In a particular implementation, any captured event is stored in a Trace [] array, including the following properties: Property Description
i Numéro ck î séquence de l'événement  i Number ck î sequence of the event
dh Nombre di î millisecondes écoulées depuis le précédent événement ctrl Indice de 'objet sur lequel se produit l'événement  dh Number of milliseconds elapsed since the previous event ctrl Event index on which the event occurs
keycode Keycode o u charcode sur un événement de type touche  keycode keycode o u charcode on a key type event
selTxt Texte séle ctionné dans un champ de type « text » ou « textarea » selDeb Offset dan s le champ du début du texte sélectionné  selTxt Selected text in a "text" or "textarea" field selDeb Offset in the field of the beginning of the selected text
selFin Offset dan s le champ de la fin du texte sélectionné  selFin Offset in the end field of the selected text
new_val_vide Indicateur permettant de savoir que la nouvelle valeur du champ est  new_val_vide Indicator to know that the new value of the field is
« vide ».  "Empty".
special_key Permet de savoir qu'une touche spéciale a été appuyée lors de  special_key Lets you know that a special key has been pressed when
l'événeme nt  the event
événement Code de événement survenu  Event Event Code Occurred
new_val Nouvelle v aleur du champ  new_val New field value
mouse Dernière p osition connue de la souris avant que ne se produise  mouse Last known mouse p osition before it happens
l'événeme nt  the event
De préférence, les données mémorisées relatives à un événement produit et capté par un auditeur comprennent : l'événement, le champ dans lequel s'est produit l'événement, le temps écoulé (en millisecondes) depuis l'événement précédent, l'instruction transmise depuis le périphérique d'entrée au terminal utilisateur (c.à.d. la valeur de la touche du clavier appuyée, ou le bouton de la souris appuyé), le contenu du texte/item sélectionné, un indice de début et/ou de fin du texte sélectionné, la nouvelle valeur du champ, une modification de la valeur d'un champ, l'état des touches spéciales telles que « CTL », « ALT », «SHIFT » par exemple. Par ailleurs, lorsqu'un événement donné est généré par : Preferably, the stored data relating to an event produced and picked up by a listener includes: the event, the field in which the event occurred, the elapsed time (in milliseconds) since the previous event, the instruction transmitted from the input device to the user terminal (ie the value of the key pressed, or the mouse button pressed), the content of the selected text / item, a start index and / or end of the selected text, the new value of the field, a modification of the value of a field, the status of special keys such as "CTL", "ALT", "SHIFT" for example. In addition, when a given event is generated by:
- un clic de souris, alors celui-ci est identifié (clic gauche, clic milieu, clic droit) ; - a click of the mouse, then this one is identified (left click, middle click, right click);
- l'appui sur une touche (événement keydown - keypress et keyup), alors le « keycode » de la touche (pour les événements keydown et keyup) ou le « charcode » (pour l'événement keypress) est identifié.  - pressing a key (keydown - keypress and keyup event), then the "keycode" of the key (for the keydown and keyup events) or the "charcode" (for the keypress event) is identified.
On mémorise, en outre, l'appui sur une ou plusieurs touches spéciales, à savoir les touches « Ctrl », « Alt », ou « Shift » par exemple, lorsque l'événement se produit dans la propriété « special_key ». La propriété « ctrl », par exemple, est donc associée au champ sur lequel se produit l'événement. Si l'événement concerne la fenêtre elle-même du formulaire électronique, on mémorise, alors, pour cette fenêtre (i = 0, j = 0, selon le tableau Structure[]) l'événement «focus» ou «blur». Si l'événement concerne un type de champ inconnu (dont l'origine peut être un bogue du navigateur), on attribue à la propriété « ctrl » la valeur « none » afin que l'événement soit dépilé du tableau des événements Trace[]. It also stores the support on one or more special keys, namely the keys "Ctrl", "Alt", or "Shift" for example, when the event occurs in the property "special_key". The "ctrl" property, for example, is therefore associated with the field on which the event occurs. If the event concerns the window itself of the electronic form, then, for this window (i = 0, j = 0, according to the Structure table []), the event "focus" or "blur" is memorized. If the event is for an unknown field type (which may be a bug in the browser), the "ctrl" property is set to "none" so that the event is removed from the Trace [] event table.
A titre d'exemple, si l'événement concerne un élément de type « text », « textarea » ou « password » et que du texte est sélectionné, les informations suivantes sont mémorisées : For example, if the event concerns an element of type "text", "textarea" or "password" and text is selected, the following information is stored:
- selTxt :Texte sélectionné ; - selTxt: Selected text;
- selDeb : Offset dans l'élément du début de la sélection ;  - selDeb: Offset in the element of the beginning of the selection;
- selFin : Offset dans l'élément de la fin de la sélection.  - selFin: Offset in the element at the end of the selection.
Si l'événement concerne un élément de type « select-one » ou « select- multiple », on alimente la propriété « new_val » qui va formater dans une chaîne les éléments sélectionnés de la manière suivante : If the event concerns an element of type "select-one" or "select-multiple", one feeds the property "new_val" which will format in a chain the selected elements in the following way:
Caractère '[' Character '['
Pour chaque item sélectionné : For each selected item:
Numéro d'ordre de l'item, Order number of the item,
Le texte de l'item dans lequel on remplace le caractère « | » par The text of the item in which the character "| " by
« &pipe » et le caractère « / » par « &slashe », "& Pipe" and the character "/" by "& slashe",
Le caractère « / » The character " / "
Caractère « ] ». Character "]".
Si l'événement concerne un champ de type « radio » ou « checkbox », on alimente à « 1 » ou « 0 » la propriété « new_val » (1 : coché ou sélectionné, 0 l'inverse). If the event concerns a "radio" or "checkbox" type field, the property "new_val" (1: checked or selected, 0 the reverse) is fed to "1" or "0".
Enfin, pour tous les autres champs pour lesquels la propriété « value » est définie (text, textarea, password), on alimente la propriété « new_val » avec la valeur de l'élément en remplaçant le caractère « | » par « &pipe ». Notamment, si la nouvelle valeur est vide alors que la précédente était différente du vide, on met la propriété « new_val_vide » à 1. On alimente enfin la propriété « ex_val » du champ avec la nouvelle valeur. Dans un mode de réalisation, on mémorise dans la propriété « événement » un caractère alphabétique associé à l'événement qui s'est déclenché en respectant une certaine nomenclature, comme par exemple la suivante : Finally, for all the other fields for which the "value" property is defined (text, textarea, password), we supply the "new_val" property with the value of the element by replacing the "| By "&pipe". In particular, if the new value is empty while the previous one was different from the empty one, we put the property "new_val_vide" to 1. Lastly, we feed the property "ex_val" of the field with the new value. In one embodiment, the "event" property stores an alphabetic character associated with the event that has been triggered while respecting a certain nomenclature, such as the following:
Il est à noter que les données mémorisées portent sur la manière dont l'utilisateur 1 interagit avec le formulaire électronique et non sur le contenu de ses interactions (c.à.d. le texte saisi).  It should be noted that the stored data relates to the way in which the user 1 interacts with the electronic form and not on the content of his interactions (ie the text entered).
La soumission du formulaire électronique (étape 122 de la figure 1) par l'utilisateur 1 au serveur d'application 2, déclenche la phase de déchargement permettant de joindre les données mémorisées au formulaire électronique. The submission of the electronic form (step 122 of FIG. 1) by the user 1 to the application server 2 triggers the unloading phase enabling the memorized data to be attached to the electronic form.
En particulier, la phase de déchargement permet : In particular, the unloading phase allows:
- de formater les données mémorisées pendant la phase d'initialisation et d'exécution en une trace technique ; - To format the data stored during the initialization and execution phase in a technical trace;
- de joindre, dans une zone créée dynamiquement, la trace technique au formulaire électronique à soumettre.  - to join, in a dynamically created zone, the technical trace to the electronic form to be submitted.
Pour cela, tout d'abord, afin d'éviter tout problème d'interprétation de la trace technique avec certains caractères « spéciaux » (du type « < », « ? » par exemple), ceux-ci sont, de préférence, remplacés en respectant une certaine nomenclature telle que la suivante : Caractère Chaîne de remplacement For this, first of all, in order to avoid any problem of interpretation of the technical trace with certain "special" characters (of the type "<", "?" For example), these are, preferably, replaced by respecting a certain nomenclature such as the following: Character Replacement String
< %3c  <% 3c
= %3d  =% 3d
> %3e  >% 3rd
& %26  &% 26
? %3f  ? % 3f
La trace technique est ensuite formatée pour comprendre un entête, une structure et la trace d'événements déjà mémorisée. The technical trace is then formatted to include a header, a structure and the event trace already stored.
L'entête, délimité par une balise de type <entete> et </entete>, enrichit l'information comprise dans la trace d'événements en comprenant, à titre d'exemple non exhaustif, les éléments du tableau suivant. The header, delimited by a tag of type <header> and </ head>, enriches the information included in the trace of events by including, by way of non-exhaustive example, the elements of the following table.
Nom Descriptif Name Description
version Version du recorder (par exemple, 1.0)  Version Version of the recorder (for example, 1.0)
host Nom du host sur lequel a tourné l'enregistreur d'événements (par  host The name of the host on which the event recorder turned (by
exempl e www.oney.fr)  example e www.oney.fr)
pathname Chemin de la page sur le site (par exemple, /ouverture/carte. php) search Chaîne des paramètres éventuels de l'url (par  pathname Path of the page on the site (for example, / aperture / map php) search String of the possible parameters of the url (by
exempl e ?mode=souscription)  example e? mode = subscription)
Date_Deb Date - \ îeure de chargement du formulaire  Date_Deb Date - Load time of the form
Date_Fin Date - \ îeure au moment de l'exécution de la fonction  Date_End Date - \ at the time of the function execution
appCodeName Nom de code du navigateur (par exemple, Mozilla)  appCodeName The code name of the browser (for example, Mozilla)
appMinorVersion Type de ? version mineure du navigateur  appMinorVersion Type of? minor version of the browser
appName Nom co mplet du navigateur (par exemple Netscape)  appName Full name of the browser (eg Netscape)
appVersion Version du navigateur (par exemple 5.0 (Windows; U; Windows NT 6.1) cookieEnabled Booléer î indiquant que le navigateur accepte ou non les cookies cpuClass Type di \ processeur  appVersion Browser version (for example 5.0 (Windows; U; Windows NT 6.1) cookieEnabled Boole î indicating that the browser accepts cookies cpuClass Type of \ processor
language Langage ? du navigateur (par exemple fr)  language Language? browser (for example, fr)
onLine Booléer î indiquant que le navigateur est connecté à Internet ou non platform Nom du système d'exploitation (par exemple Win32)  onLine Booler indicating that the browser is connected to the Internet or not platform Name of the operating system (eg Win32)
systemLanguage Code la ngue du système d'exploitation  systemLanguage Code the ngue of the operating system
. . Concate înation de plusieurs informations du navigateur (par exemple, userAgent .. ...  . . Concatenation of several browser information (for example, userAgent .. ...
3 Mozilla '5.0 (Windows; U)  3 Mozilla '5.0 (Windows; U)
userLanguage Code la ngue du navigateur  userLanguage Code the ngue of the browser
availHeight Nombre > de pixels utiles de la résolution verticale de l'écran availHeight Number > useful pixels of the vertical resolution of the screen
availWidth Nombre > de pixels utiles de la résolution horizontale de l'écran availWidth Number > of useful pixels of the horizontal resolution of the screen
colorDepth Profonc eur des couleurs en nombre de bits  colorDepth Color depth in bits
height Résolut ion verticale réelle de l'écran  height Resolute actual vertical ion of the screen
width Résolut ion horizontale réelle de l'écran  width Resolute actual horizontal ion of the screen
innerHeight Hauteu r en pixel de la zone de contenu visible du navigateur  innerHeight Height in pixel of the visible content area of the browser
innerWidth Largeur en pixel de la zone de contenu visible du navigateur  innerWidth The pixel width of the browser's visible content area
XOffset Positior î de la page dans le navigateur (ascenseur) dans le sens  XOffset Positior î of the page in the browser (elevator) in the direction
horizon tal  horizon tal
YOffset Positior î de la page dans le navigateur (ascenseur) dans le sens vertical  YOffset Positior î of the page in the browser (elevator) in the vertical direction
On fournit ci-après un exemple d'entête d'une trace technique (le caractère « I » est remplacé par « &pipe » dans chaque propriété contenant du texte) : <entete>1.0| www.pcaba.fr| /test- cagnotte/lab_coordonnees.php| 11269965021999112699651546461 Mozilla | ;SP3; | Microsoft Internet Explorer|4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1 ; .NET CLR 2.0.50727; .NET CLR 1.1.4322) | true | x861 undef ined | true | Win321 f r | Mozilla/4.0 (compatible; MSIE 6.0; An example of a technical trace header is given below (the character "I" is replaced by "&pipe" in each property containing text): <Header> 1.0 | www.pcaba.fr | / test- kitty / lab_coordonnees.php | 11269965021999112699651546461 Mozilla | ; SP3; | Microsoft Internet Explorer | 4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) | true | x861 undef ined | true | Win321 fr | Mozilla / 4.0 (compatible; MSIE 6.0;
Windows NT 5.1; SV1 ; .NET CLR 2.0.50727; .NET CLR  Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR
1.1.4322) | fr 19961128013211024112801881112291010</entete>  1.1.4322) | en 19961128013211024112801881112291010 </ cap>
La structure d'une trace technique, délimitée par des balises de type <structure>, et </structure>, comprend un descriptif des champs répertoriés du formulaire électronique comme indiqué ci-après : The structure of a technical trace, delimited by <structure> and </ structure> tags, includes a description of the listed fields of the electronic form as shown below:
On fournit ci-après un exemple illustratif d'une structure d'une trace technique (le caractère « | » est remplacé par « &pipe » dans chaque propriété contenant du texte) :  An illustrative example of a structure of a technical trace is given below (the character "|" is replaced by "& pipe" in each property containing text):
<structure>0/0|window| |X| | 10/1 |eventid| |D| | suivant 10/21 civilité | civilité 111 [0: <Structure> 0/0 | window | | X | | 10/1 | eventid | | D | | next 10/21 civility | civility 111 [0:
] | [1 :Monsieur] 10/31 prénom | prénom | L| | Benoit 10/41 nom | nom | L| | Ferlin 10/51 nomJeuneFille I nom-jeune-fille I L| | |0/6|dateNaissanceJour| |l|[0:-- ] | [1: Mr.] 10/31 first name | first name | L | | Benoit 10/41 name | name | L | | Ferlin 10/51 nameYoungGirl I young-girl-name I L | | | 0/6 | dateNaissanceJour | | L | [0 -
] I [22:22] 10/71 dateNaissanceMois | 111 [0:-] | [6:06] 10/81 dateNaissanceAnnee | 111 [0:— - ] I [30: 1963] 10/91 paysNaissance | pays- naissance 111 [1 : France] | [1 : France] 10/101 departementNaissancel département- naissance 111 [0: Choisissez] | [69:Morbihan] |0/111 villeNaissancel ville- naissancel L| | GUERI 0/121 numeroRuel numero-rue| L| 11 RUE ] I [22:22] 10/71 dateBirthBirth | 111 [0: -] | [6:06] 10/81 dateBirthAnniversary | 111 [0: - -] I [30: 1963] 10/91 countryBirth | country- birth 111 [1: France] | [1: France] 10/101 departementNaissancel department- birth 111 [0: Select] | [69: Morbihan] | 0/111 cityNaissancel city-infant L | | GUERI 0/121 numeroRuel street-number | L | 11 STREET
NATIONALE 10/131 residenceBatiment | residence- batiment|L| | 10/141 étage | étage | L| | |0/15|codePostal|code- postall L| 15900010/161 UeuDit | lieuDit | L | | 10/171 commune | commune | L| | LILLE 10/181 teleph oneFixel telephone-fixe| L| | |0/19|telephoneMobile|telephone- mobile|L| | 10/201 email | adresse-email| L| | bferlin@test.fr | </structure> NATIONAL 10/131 residenceBatiment | residence-building | L | | 10/141 floor | floor | L | | | 0/15 | postCode | postcode-L | 15900010/161 UeuDit | placeDit | L | | 10/171 common | common | L | | LILLE 10/181 teleph oneFixel landline | L | | | 0/19 | mobile phone | mobile phone | L | | 10/201 email | email-address | L | | bferlin@test.fr | </ Structure>
0/20 email L (text) bferlin@test.fr  0/20 email L (text) bferlin@test.fr
La trace d'événements comprend l'ensemble des événements survenus lors de la phase d'exécution sur le formulaire et qui peut être délimitée avec les balises « <trace> » et « </trace> ». La trace est composée des éléments suivants séparés chacun par le caractère « | » : The event trace includes all the events that occurred during the execution phase on the form and that can be delimited with the "<trace>" and "</ trace>" tags. The trace is composed of the following elements each separated by the character "| »:
Nom Descriptif Name Description
Dh Nombre de millisecondes écoulées depuis le précédent événement  Dh Number of milliseconds since the previous event
Ctrl Il s'agit de l'identifiant du champ, à savoir « 'Idx de la structure  Ctrl This is the identifier of the field, ie '' Idx of the structure
Code événement  Event Code
keydown A  keydown A
keyup B  keyup B
keypress C  keypress C
foc us D  jibs
blur E  blur E
select F  select F
événement  event
paste G  paste G
eut H  had H
copy I  copy I
change J  change J
click K  click K
dblclick L  dblclick L
contextmenu M mousedown N contextmenu M mousedown N
mouseup 0  mouseup 0
Autre Z  Other Z
keycode * Keycode ou charcode sur un événement de type touche keycode * Keycode or charcode on a key type event
selTxt * Texte sélectionné dans un champ de type « text » ou « textarea » selDeb Offset dans le champ du début du texte sélectionné selTxt * Text selected in a "text" or "textarea" field selDeb Offset in the field of the beginning of the selected text
selFin Offset dans le champ de la fin du texte sélectionné  selFin Offset in the field at the end of the selected text
new_val * Nouvelle valeur du champ new_val * New field value
new_val_vide Indicateur permettant de savoir que la nouvelle valeur du champ est  new_val_vide Indicator to know that the new value of the field is
« vide ».  "Empty".
spe_key Permet de savoir qu'une touche spéciale était appuyée lors de  spe_key Lets you know that a special key was pressed when
l'événement  event
Pour des raisons de confidentialité, la trace d'événements est, de préférence, cryptée. Notamment, le contenu de la structure de la trace technique peut être aussi crypté. For privacy reasons, the event trace is preferably encrypted. In particular, the content of the structure of the technical trace can also be encrypted.
Dans un mode de réalisation non-limitatif du cryptage de la trace d'événement, des clefs de cryptage sont calculées par l'enregistreur d'événements d'une manière aléatoire et stockés dans la variable système « window.name ». Avantageusement, cette méthode de cryptage permet de conserver le même procédé de cryptage pour tous les formulaires électroniques chargés (c.à.d. ouverts) sur un même navigateur. Pour cela, dans un mode préféré de réalisation, trois matrices de cryptage sont définies à partir de trois zones distinctes d'un périphérique d'entré du terminal utilisateur (un clavier) : In a non-limiting embodiment of the event trace encryption, encryption keys are calculated by the event recorder in a random manner and stored in the system variable "window.name". Advantageously, this encryption method makes it possible to keep the same encryption method for all the electronic forms loaded (ie open) on the same browser. For this, in a preferred embodiment, three encryption matrices are defined from three distinct zones of an input device of the user terminal (a keyboard):
- matrice A (mA) : les touches F1 à F12 ; matrix A (mA): the keys F1 to F12;
- matrice B (mB) : les touches 1 à 0 du clavier principal et les mêmes du clavier numérique ;  - matrix B (mB): the keys 1 to 0 of the main keyboard and the same of the numeric keypad;
- matrice C (mC) : les touches A à Z.  - matrix C (mC): the keys A to Z.
Les touches numérotées selon un tableau de cryptage des touches permettent d'obtenir des matrices de cryptage composées des touches relatives à chaque zone. The keys numbered according to a key encryption table make it possible to obtain encryption matrices composed of the keys relative to each zone.
Chaque matrice est initialisée avec ses numéros de touches correspondantes, par exemple : Each matrix is initialized with its corresponding key numbers, for example:
- mA : chiffres de 1 à 11 ; - mA: numbers from 1 to 11;
- mB : chiffres de 17 à 26 ; et - mC : chiffres de 31 à 40 + chiffres de 45 à 54 + chiffres de 59 à 64. - mB: figures from 17 to 26; and - mC: numbers from 31 to 40 + figures from 45 to 54 + figures from 59 to 64.
Pour chaque matrice ainsi constituée, un grand nombre (par exemple 1000) de permutations deux à deux des éléments de chaque matrice est effectué. For each matrix thus formed, a large number (for example 1000) of permutations two by two of the elements of each matrix is performed.
Ces matrices sont ensuite sauvegardées dans la variable « window.name ». L'exemple suivant illustre le format de cette variable (les chiffres sont utilisés ici à des seules fins d'illustration) : These matrices are then saved in the "window.name" variable. The following example illustrates the format of this variable (the numbers are used here for illustrative purposes only):
[m A = new Array (2,12,8,1,6,3,10,9,7,5,4,11); [m A = new Array (2,12,8,1,6,3,10,9,7,5,4,11);
mB = new Array (19,20,22,24,17,21,23,25,26,18); mB = new Array (19,20,22,24,17,21,23,25,26,18);
mC = new Array mC = new Array
(48,60,64,31 ,39,47,45,50,63,54,40,46,49,62,35,36,38,53,61 ,59,37,32,51 ,33, 52,34);] (48,60,64,31, 39,47,45,50,63,54,40,46,49,62,35,36,38,53,61, 59,37,32,51, 33, 52 , 34);]
Les matrices de cryptage mA, mB, et mC sont générées dès le chargement de l'enregistreur d'événements. Si, lors d'un chargement ultérieur de l'enregistreur d'événements, la présence des matrices est détectée dans la variable « window.name », la chaîne est retravaillée pour effacer les crochets ouvrants et fermants et une simple évaluation de la chaîne permet de charger les matrices en gardant les mêmes permutations. Encryption matrices mA, mB, and mC are generated as soon as the event recorder is loaded. If, during a later loading of the event recorder, the presence of the matrices is detected in the variable "window.name", the chain is reworked to erase the opening and closing hooks and a simple evaluation of the chain allows to load the matrices keeping the same permutations.
Afin de constituer un tableau de touches mélangées en respectant ces blocs, un tableau nommé tcp[] indexé de 0 à 105 reprend les matrices mA, mB et mC : var tcp = new ArrayQ; In order to constitute a table of mixed keys respecting these blocks, an array named tcp [] indexed from 0 to 105 takes the matrices mA, mB and mC: var tcp = new ArrayQ;
for (i = 0; i < 105; i + + ) { for (i = 0; i <105; i + +) {
tcp[i] = i;  tcp [i] = i;
if ((i > 0) && (i < 13)) tcp[i] = mA[i-1];  if ((i> 0) && (i <13)) tcp [i] = mA [i-1];
if ((i > 16) && (i < 27)) tcp[i] = mB[i-17];  if ((i> 16) && (i <27)) tcp [i] = mB [i-17];
if ((i > 94) && (i < 105)) tcp[i] = mB[i-95];  if ((i> 94) && (i <105)) tcp [i] = mB [i-95];
if ((i > 30) && (i < 41)) tcp[i] = mC[i-31];  if ((i> 30) && (i <41)) tcp [i] = mC [i-31];
if ((i > 44) && (i < 55)) tcp[i] = mC[i-35];  if ((i> 44) && (i <55)) tcp [i] = mC [i-35];
if ((i > 58) && (i < 64)) tcp[i] = mC[i-39];  if ((i> 58) && (i <64)) tcp [i] = mC [i-39];
Il est à noter que lors de l'appui sur une touche, trois événements produisent : It should be noted that when pressing a key, three events produce:
- keydown : la touche est enfoncée, et le keycode de la touche est intercepté ; - keypress : la touche est appuyée, et le charcode de la touche est intercepté ; - keydown: the key is pressed, and the keycode of the key is intercepted; - keypress: the key is pressed, and the charcode of the key is intercepted;
- keyup : la touche est relâchée, et le keycode de la touche est intercepté. II convient, en particulier, de conserver une cohérence entre les valeurs de « keycode -charcode » et la valeur des caractères saisis, permettant de détecter, par exemple, que l'utilisateur 1 a corrigé son nom en inversant deux caractères d'une précédente saisie.  - keyup: the key is released, and the keycode of the key is intercepted. In particular, it is advisable to maintain coherence between the values of "keycode -charcode" and the value of the characters entered, making it possible, for example, to detect that the user 1 has corrected his name by inverting two characters of a previous one capture.
On fournit ci-après un exemple illustrant le procédé de cryptage dans lequel deux touches, par exemple 53 (L) et 64 (N) selon un tableau de cryptage des touches, on été inversées lors de la création des matrices de cryptage : An example is given below illustrating the encryption method in which two keys, for example 53 (L) and 64 (N) according to a key encryption table, were inverted during the creation of the encryption matrices:
Les deux tableaux suivant, respectivement de correspondance entre un élément et son numéro de touche et la correspondance entre un numéro de touche et son élément, sont utilisés par le procédé de cryptage.  The following two tables, respectively of correspondence between an element and its key number and the correspondence between a key number and its element, are used by the encryption method.
Le tableau de correspondance entre un élément et son numéro de touche peut se présenter ainsi : The correspondence table between an element and its key number can be as follows:
Nom Description Exemple kd Correspo idance entre un keyCode et un n° de touche kd[76]=53 kc Correspo idance entre un charcode et un n° de touche kc[108]=53 kcm Correspo idance entre un charcode « en majuscule » < ?t un n° kcm[76]=53  Name Description Example kd Correspo idance between a keyCode and a key number kd [76] = 53 kc Correspo idance between a charcode and a key number kc [108] = 53 kcm Correspo idance between a "uppercase" charcode < is a number kcm [76] = 53
de touchi  of touchi
car Correspo idance entre un caractère et son n° de touch< ? car[T]=53  because Correspo idance between a character and its number of touch <? because [T] = 53
car['L]=53  because [L] = 53
Le tableau de correspondance entre un numéro de touche et son élément peut se présenter ainsi : The correspondence table between a key number and its element can be as follows:
Nom Description Exemple tkd Correspo ndance entre un n° de touche et un keycode tkd[64]=78 tkc Correspo ndance entre un n° de touche et un charcode tkc[64]=110 tkcm Correspo ndance entre un n° de touche et un charco de « en tkcm [64] = 78  Name Description Example tkd Correspo ndance between a key number and a keycode tkd [64] = 78 tkc Correspo ndance between a key number and a tkc charcode [64] = 110 tkcm Correspo ndance between a key number and a key charco de «in tkcm [64] = 78
majuscu le »  majuscu the »
te Correspo ndance entre un n° de touche et un carael :ère en tc[64]='n'  te Correspo ndance between a key number and a carael: era in tc [64] = 'n'
minuscu e  minuscule e
tem Correspo ndance entre un n° de touche et un carael :ère en tcm[64] = 'N'  tem Correspo ndance between a key number and a carael: era in tcm [64] = 'N'
majuscu le Le cryptage d'un keycode à la suite des événements keydown et keyup, comprend les étapes suivantes : capitalize it Encrypting a keycode following the keydown and keyup events includes the following steps:
- récupération, depuis le tableau kd, du numéro de la touche associé au keycode à crypter: dans cet exemple kd[76]=53 ; - recovery, from the table kd, the number of the key associated with the keycode to encrypt: in this example kd [76] = 53;
- lecture de la permutation de la touche en question dans le tableau tcp : dans cet exemple, tcp[53]=64 ;  - read the permutation of the key in question in the table tcp: in this example, tcp [53] = 64;
- recherche, dans le tableau tkd, du keycode associé au numéro de touche obtenu: dans cet exemple, tkd[64] = 78.  - search, in the table tkd, for the keycode associated with the key number obtained: in this example, tkd [64] = 78.
Le cryptage d'un charcode à la suite de l'événement keypress comprend les étapes suivantes : Encrypting a charcode following the keypress event includes the following steps:
- récupération, depuis le tableau kc, du numéro de touche associé au charcode à crypter (si cet élément n'est pas défini, on récupère alors ce numéro de touche dans le tableau kcm): dans cet exemple kcm[76] = 53 - recovery, from the table kc, of the key number associated with the charcode to encrypt (if this element is not defined, one recovers then this number of key in the table kcm): in this example kcm [76] = 53
- lecture de la permutation de la touche en question dans le tableau tcp : dans cet exemple, tcp[53]=64 ;  - read the permutation of the key in question in the table tcp: in this example, tcp [53] = 64;
- recherche, dans le tableau tkc, du charcode associé au numéro de touche obtenu: dans cet exemple, tkd[64] = 78.  - search, in table tkc, for the charcode associated with the key number obtained: in this example, tkd [64] = 78.
Une comparaison de la mise en majuscule d'un caractère avec le caractère lui-même permet de savoir si un caractère est en minuscule ou en majuscule (à l'exception des caractères spéciaux tels que, par exemple, « à », « ù » ou « ç »). A titre d'exemple, selon les exemples précités, car['L']= 53, alors que tcp[53] = 64 correspond dans tcm à 'N' c.à.d. tcm[64] = 'N'. Bien entendu, d'autres méthodes de cryptage de la trace d'événement peuvent être utilisées. A comparison of the capitalization of a character with the character itself allows to know if a character is lowercase or uppercase (except for special characters such as, for example, "to", "ù" or "ç"). By way of example, according to the above examples, since ['L'] = 53, whereas tcp [53] = 64 corresponds in tcm to 'N' ie. tcm [64] = 'N'. Of course, other methods of encrypting the event trace can be used.
Dans un mode de réalisation et pour des raisons de sécurité, la trace technique formatée est jointe d'une manière cachée (un élément de type « hidden ») au formulaire électronique à soumettre par l'utilisateur 1 au serveur d'application 2. Dans un autre mode de réalisation, même si l'utilisateur 1 annule la soumission ou abandonne le formulaire électronique (retour arrière depuis le navigateur, fermeture de la page du formulaire électronique par exemple), la trace technique est envoyée au serveur d'application 2 (étape 122 de la figure 1) ou au serveur d'analyse 3 (étape 130 de la figure 1). Dans ce cas, la trace technique permet de repérer les zones du formulaire où s'est arrêté l'utilisateur 1. Ceci permet, par exemple, d'identifier les champs qui représentent un obstacle aux utilisateurs pour achever leurs transactions. Dans un mode de réalisation, le serveur d'application 2 est pourvu d'un plugin 21 programmé pour extraire la trace technique du formulaire soumis et la transférer à un serveur d'analyse 3. Ce transfert vise, en particulier, à ne pas perturber le fonctionnement du serveur d'application 2 qui est dédié au traitement du contenu du formulaire soumis. De ce fait, la gestion de la trace technique est réservée à un serveur d'analyse 3 afin de ne pas pénaliser le temps de traitement, par le serveur d'application 2, du contenu du formulaire soumis par l'utilisateur 1. In one embodiment and for security reasons, the formatted technical trace is attached in a hidden manner (a "hidden" element) to the electronic form to be submitted by the user 1 to the application server 2. In another embodiment, even if the user 1 cancels the submission or abandons the electronic form (backtracking from the browser, closing the electronic form page for example), the technical trace is sent to the application server 2 (step 122 of Figure 1) or the analysis server 3 (step 130 of Figure 1). In this case, the technical trace makes it possible to locate the areas of the form where user 1 has stopped. This makes it possible, for example, to identify the fields that represent an obstacle to users to complete their transactions. In one embodiment, the application server 2 is provided with a plugin 21 programmed to extract the technical trace of the submitted form and transfer it to an analysis server 3. This transfer is intended, in particular, not to disturb the operation of the application server 2 which is dedicated to processing the content of the submitted form. As a result, the management of the technical trace is reserved for an analysis server 3 so as not to penalize the processing time, by the application server 2, of the content of the form submitted by the user 1.
En variante, la trace technique est directement transmise (étape 130 de la figure 1) au serveur d'analyse 3. Le serveur d'analyse 3 est configuré pour : As a variant, the technical trace is directly transmitted (step 130 of FIG. 1) to the analysis server 3. The analysis server 3 is configured to:
- vérifier la cohérence de la trace technique (étape 31 de la figure 1) : la structure de la trace, la présence des informations de l'entête par exemple ; check the coherence of the technical trace (step 31 of FIG. 1): the structure of the trace, the presence of the information of the header, for example;
- analyser la trace d'événements comprises dans la trace technique (étape 32 de la figure 1); et  analyzing the trace of events included in the technical trace (step 32 of FIG. 1); and
- mémoriser (étape 33 de la figure 1) l'analyse de la trace technique dans une base de données 30.  - Store (step 33 of Figure 1) the analysis of the technical trace in a database 30.
L'étape d'analyse 32 d'une trace d'événements comprend notamment plusieurs étapes telles que : - la normalisation de la trace d'événements en y supprimant, par exemple, des événements superflus dépendant du navigateur utilisé par l'utilisateur 1 (par exemple, le fait de passer d'un champ à un autre génère sous Internet Explorer un événement de type « la fenêtre gagne le focus »); The analysis step 32 of an event trace includes several steps such as: the normalization of the event trace by deleting, for example, superfluous events dependent on the browser used by the user 1 (for example, the fact of passing from one field to another generates in Internet Explorer an event of the type "the window gains the focus");
- la distinction de chaînes d'événements successifs traduisant des interactions utilisateur, par exemple la chaîne d'événements - the distinction of successive chains of events translating user interactions, for example the chain of events
« mousedown - mouseup- contextmenu-paste » correspondant à l'action « coller dans une zone à l'aide du menu contextuel » ; "Mousedown - mouseup- contextmenu-paste" corresponding to the action "paste into an area using the context menu";
- l'évaluation de la dynamique de frappe (frappe normale : keydown- keypress-keyup, frappe rapide : temps entre keyup et keydown successifs, frappe répétitive : durée du temps du keypress).  - evaluation of the typing dynamics (normal typing: keydown-keypress-keyup, fast typing: time between keyup and keydowns, repetitive typing: duration of the keypress time).
La distinction de chaînes d'événements successifs traduisant des interactions utilisateur peut être faite, selon un mode particulier de réalisation, en analysant la trace par une technique dite des « expressions régulières » : on associe une lettre de l'alphabet à chaque événement de la trace et on forme une chaîne de caractères constituée de tous les événements, les uns à la suite des autres. Chaque expression régulière est recherchée dans la chaîne des événements, et lorsqu'elle est trouvée, on associe alors un « flag d'analyse » permettant de savoir que les événements élémentaires correspondent à une action particulière. A ce niveau d'analyse, la trace d'événements est décomposée en événements compréhensibles, autrement dit en interactions utilisateur : une touche à été appuyée, un champ a subi une action « coller », ou une case à été coché par exemple. The distinction of successive events chains translating user interactions can be made, according to a particular embodiment, by analyzing the trace by a technique called "regular expressions": we associate a letter of the alphabet with each event of the trace and form a string of characters consisting of all events, one after the other. Each regular expression is searched in the chain of events, and when it is found, we associate an "analysis flag" to know that the elementary events correspond to a particular action. At this level of analysis, the event trace is decomposed into understandable events, in other words in user interactions: a key has been pressed, a field has undergone a "paste" action, or a box has been checked, for example.
Avantageusement, la traduction de tous les événements compris dans la trace d'événements en interactions utilisateur permet de reconstituer dans le temps la manière dont le formulaire électronique a été rempli par l'internaute 1. Plus précisément, cette étape permet de reconstituer, par un traçage des interactions utilisateur (copier-coller, saisie de texte, sélection d'item, permutation de page par exemple) en tenant, notamment, compte de l'aspect temporel (durée/ordre des interactions utilisateur) ou du scénario suivant lequel le formulaire électronique est rempli. Advantageously, the translation of all the events included in the event trace into user interactions makes it possible to reconstitute in time the manner in which the electronic form has been completed by the user 1. More precisely, this step makes it possible to reconstitute, by a tracing of user interactions (copy-paste, text entry, item selection, page switching for example) taking into account, in particular, the temporal aspect (duration / order of user interaction) or the scenario according to which the form electronic is filled.
L'évaluation de la dynamique de frappe peut être effectuée en calculant, pour chaque événement de la trace, la distance « Levenshtein » (ou selon toute autre mesure de similarité entre deux chaînes d'événements) issue des changements de valeur de la zone sur laquelle s'est produit l'événement. La distance « Levenshtein » quantifie le coût algorithmique permettant de passer d'un mot à un autre. Cette étape d'évaluation de la dynamique de frappe permet d'identifier la manière dont les champs du formulaire électronique ont été remplis. En effet, on distingue trois types de frappes : The evaluation of the striking dynamics can be carried out by calculating, for each event of the trace, the distance "Levenshtein" (or according to any other measure of similarity between two chains of events) resulting from the changes of value of the zone on which the event occurred. The distance "Levenshtein" quantifies the algorithmic cost of passing from one word to another. This step of evaluating the typing dynamic makes it possible to identify how the fields of the electronic form have been filled. Indeed, there are three types of keystrokes:
- frappe normale : Le champ est modifié suite aux événements « keydown + keypress + keyup » ; - normal typing: The field is modified following the events "keydown + keypress + keyup";
- frappe rapide : cet événement se produit lorsque l'utilisateur 1 tape rapidement sur le clavier ; la séquence se caractérise par le fait que l'événement « keyup » de la 1ère touche appuyée ne s'est pas encore produit alors même que s'est produit l'événement « keydown » de la touche suivante. Cette analyse tend à démontrer que l'utilisateur qui a effectué la saisie à l'habitude de saisir cette information au clavier ;  - fast typing: this event occurs when user 1 quickly typed on the keyboard; the sequence is characterized by the fact that the keyup event of the first key pressed has not yet occurred even though the keydown event of the next key has occurred. This analysis tends to show that the user who made the typing usually enters this information on the keyboard;
- frappe répétitive : cet événement se produit lorsque l'utilisateur appuie longtemps sur une touche et déclenche une alimentation répétitive du champ avec le même caractère. Par ailleurs, l'analyse de la trace technique permet aussi d'identifier les champs qui ont été modifiés à l'aide de « copier/coller », de la technique « d'auto-complétion » offerte par certains navigateurs, ou à l'aide de robots par exemple.  - Repetitive typing: This event occurs when the user presses a key for a long time and triggers repetitive field feeding with the same character. In addition, the analysis of the technical trace also makes it possible to identify the fields that have been modified using "copy / paste", the "auto-completion" technique offered by certain browsers, or the using robots for example.
Cette étape d'analyse permet la reconstitution de la manière dont le formulaire électronique à été rempli par l'utilisateur 1. Par exemple, l'utilisateur 1 : This analysis step allows the reconstitution of the way the electronic form has been filled by the user 1. For example, the user 1:
- a cliqué sur le champ « nom », l'a rempli à l'aide des touches du clavier en effectuant X saisies normales, Y saisies rapides, Z corrections ; - clicked on the "name" field, filled it with the keys on the keyboard by making X normal entries, Y quick entries, Z corrections;
- a sauté du champ « nom » vers le champ « adresse » à l'aide de la touche de tabulation ; - a permuté vers une fenêtre autre que celle du formulaire électronique (la fenêtre du formulaire électronique a perdu le « focus », et un événement « blur » a été subséquemment produit); - jumped from the "name" field to the "address" field using the tab key; - swapped to a window other than the electronic form window (the electronic form window lost focus, and a blur event was subsequently generated);
- a activé de nouveau le champ « adresse » du formulaire électronique (événement « focus » produit sur le champ « adresse ») ;  - has activated again the "address" field of the electronic form ("focus" event produced on the "address" field);
- a collé un contenu dans le champ « adresse » à l'aide du menu contextuel (la chaîne des événements suivants s'est produite sur le champ « adresse » : « mousedown - mouseup- contextmenu-paste »).  - pasted content into the "address" field using the context menu (the following chain of events occurred on the "address" field: "mousedown - mouseup- contextmenu-paste").
En fonction des données récoltées lors de cette analyse, une décision humaine peut être prise (par exemple par un groupe 4 de personnes tel qu'une direction marketing) pour modifier le formulaire, par exemple si les statistiques démontrent des difficultés pour certains utilisateurs à remplir correctement ou suffisamment rapidement le formulaire. A cet effet, une personne autorisée à accéder au serveur d'analyse 3 peut consulter (étape 41 de la figure 1), par exemple quotidiennement, les analyses des traces techniques enregistrées dans la base de données 30 du serveur d'analyse 3 et définir (étape 42 de la figure 1), en conséquence, un plan d'action. Based on the data collected during this analysis, a human decision can be made (for example by a group of people such as a marketing management) to modify the form, for example if the statistics show difficulties for some users to fill out correctly or quickly enough the form. For this purpose, a person authorized to access the analysis server 3 can consult (step 41 of FIG. 1), for example daily, the analyzes of the technical traces recorded in the database 30 of the analysis server 3 and define (step 42 of Figure 1), accordingly, a plan of action.
Selon un autre mode de réalisation illustré sur la figure 2, le serveur d'application 2 peut requérir (étape 231 de la figure 2) l'analyse des traces techniques qui lui ont été transférées du serveur d'analyse 3 (étape 232 de la figure 2) pour la suite du traitement du formulaire soumis (par exemple, pour accepter ou refuser une transaction bancaire dans le cas d'un formulaire e-banking). According to another embodiment illustrated in FIG. 2, the application server 2 can request (step 231 of FIG. 2) the analysis of the technical traces that have been transferred to it from the analysis server 3 (step 232 of the figure 2) for further processing of the submitted form (for example, to accept or reject a bank transaction in the case of an e-banking form).
Dans ce mode de réalisation, le serveur d'analyse 3 est configuré pour appliquer lui-même des règles de traitement du formulaire (étape 34 de la figure 2). In this embodiment, the analysis server 3 is configured to apply itself processing rules of the form (step 34 of Figure 2).
Le système et le procédé qui viennent d'être décrits ci-dessus permettent notamment, sur la base d'une analyse statistique comportementale (anonyme) des interactions utilisateur, de modifier l'architecture des formulaires afin d'en améliorer l'ergonomie sans pour autant qu'il soit nécessaire de modifier les terminaux clients, tant en termes matériels que logiciels. Les caractéristiques comportementales de l'utilisateur comprennent notamment la manière dont l'utilisateur utilise un périphérique d'entrée (le clavier et/ou la souris par exemple). The system and method just described above make it possible, on the basis of a behavioral statistical analysis (anonymous) of the user interactions, to modify the architecture of the forms in order to improve their ergonomics without as much as it is necessary to modify the client terminals, both in terms of hardware and software. The behavioral characteristics of the user include the manner in which the user uses an input device (the keyboard and / or the mouse for example).
Il est également envisageable de mettre en ligne plusieurs types de formulaires selon les performances supposées des utilisateurs. Les différents types de formulaires peuvent ainsi comporter des fonctionnalités différentes (notamment d'aide au remplissage, par exemple au moyen de menus déroulants au lieu de fenêtre de saisie libre). It is also possible to put online several types of forms according to the supposed performance of users. The different types of forms can thus comprise different functionalities (in particular assistance with filling, for example by means of drop-down menus instead of free input window).
Il va de soi, par ailleurs, que des variantes de réalisation sont envisageables. Ainsi, le serveur d'application 2 peut assurer la fonction de serveur d'analyse 3. It goes without saying, moreover, that alternative embodiments are possible. Thus, the application server 2 can perform the analysis server function 3.

Claims

REVENDICATIONS
1. Procédé de gestion d'un formulaire électronique accessible sur un serveur d'application (2) via un terminal utilisateur (10) pourvu d'au moins un périphérique d'entrée, ce procédé caractérisé en ce qu'il comprend les étapes suivantes : A method for managing an electronic form accessible on an application server (2) via a user terminal (10) provided with at least one input device, this method characterized in that it comprises the following steps :
- dès le chargement du formulaire électronique par le terminal utilisateur (10), identification (11) des champs du formulaire électronique susceptibles d'être concernés par des interactions utilisateur ;  - as soon as the electronic form is loaded by the user terminal (10), identification (11) of the fields of the electronic form that may be affected by user interactions;
- détection et mémorisation de données concernant tout événement produit sur chacun des champs identifiés ;  - Detection and storage of data concerning any event produced on each of the identified fields;
- déchargement des données mémorisées lors de la soumission du formulaire électronique;  - unloading the stored data when submitting the electronic form;
- analyse des données déchargées, cette étape d'analyse comprenant une étape de distinction de chaînes d'événements successifs traduisant des interactions utilisateur.  analysis of the discharged data, this analysis step comprising a step of distinguishing successive event chains that translate user interactions.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape d'identification comprend une étape de mémorisation des propriétés des champs identifiés.  2. Method according to claim 1, characterized in that the identification step comprises a step of memorizing the properties of the identified fields.
3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comprend en outre une étape d'association d'un auditeur à chaque champ identifié du formulaire électronique pour détecter tout événement produit sur ce champ.  3. Method according to any one of claims 1 or 2, characterized in that it further comprises a step of associating a listener to each identified field of the electronic form to detect any event produced on this field.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les événements à détecter sont choisis parmi les événements suivants : keydown, keypress, keyup, focus, blur, select, paste, eut, copy, change, click, dbelick, contextmenu, mousedown, mouseup, resize, mouseover, mouseout.  4. Method according to any one of the preceding claims, characterized in that the events to be detected are chosen from the following events: keydown, keypress, keyup, focus, blur, select, paste, eut, copy, change, click, dbelick , contextmenu, mousedown, mouseup, resize, mouseover, mouseout.
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les données mémorisées concernant un événement produit sur un champ identifié sont sélectionnées parmi l'événement produit, le champ sur lequel s'est produit l'événement, le temps écoulé depuis l'événement précédent, l'instruction transmise depuis le périphérique d'entrée au terminal utilisateur, la nouvelle valeur du champ, une modification de la valeur d'un champ, l'état de touches spéciales du périphérique d'entrée. 5. Method according to any one of the preceding claims, characterized in that the stored data relating to an event produced on an identified field are selected from the product event, the field on which the event occurred, the time elapsed since the previous event, the instruction transmitted since input device to the user terminal, the new value of the field, a change of the value of a field, the state of special keys of the input device.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de déchargement des données mémorisées comprend une opération de formatage des données mémorisées et une opération de jonction des données formatées au formulaire électronique. 6. Method according to any one of the preceding claims, characterized in that the step of unloading the stored data comprises a formatting operation of the stored data and an operation of joining the formatted data to the electronic form.
7. Procédé selon la revendication 6, caractérisé en ce les données mémorisés sont formatées pour comprendre un entête, une structure et une trace des événements produits. 7. Method according to claim 6, characterized in that the stored data are formatted to include a header, a structure and a trace of the events produced.
8. Procédé selon la revendication 7, caractérisé en ce que la trace des événements produits est cryptée.  8. Method according to claim 7, characterized in that the trace of the events produced is encrypted.
9. Enregistreur d'événements pour gérer un formulaire électronique accessible sur un serveur d'application (2) via un terminal utilisateur (10) pourvu d'au moins un périphérique d'entrée, cet enregistreur d'événement étant caractérisé en ce qu'il est configuré pour:  An event recorder for managing an electronic form accessible on an application server (2) via a user terminal (10) provided with at least one input device, said event recorder being characterized in that it is configured for:
- dès le chargement du formulaire électronique par le terminal utilisateur (10), identifier (11) les champs du formulaire électronique susceptibles d'être concernés par des interactions utilisateur ;  - as soon as the electronic form is loaded by the user terminal (10), identifying (11) the fields of the electronic form that may be affected by user interactions;
- détecter et mémoriser des données concernant tout événement produit sur chacun des champs identifiés ;  - detect and memorize data concerning any event produced on each of the identified fields;
- décharger, lors de la soumission du formulaire électronique, les données mémorisées à destination d'un serveur d'analyse (3) configuré pour distinguer dans ces données mémorisées au moins une chaîne d'événements successifs traduisant une interaction utilisateur.  - Unload, when submitting the electronic form, the stored data to an analysis server (3) configured to distinguish in this stored data at least one chain of successive events reflecting a user interaction.
10. Enregistreur d'événements selon la revendication 9, caractérisé en ce qu'il est joint au formulaire électronique requis par le terminal utilisateur (10), en réponse à une requête d'accès (120) à ce formulaire électronique, émise depuis le terminal utilisateur (10).  10. Event recorder according to claim 9, characterized in that it is attached to the electronic form required by the user terminal (10), in response to an access request (120) to this electronic form, issued since the user terminal (10).
11. Produit programme d'ordinateur implémenté sur un support mémoire, susceptible d'être mis en œuvre au sein d'une unité de traitement informatique et comprenant des instructions pour la mise en œuvre d' procédé selon l'une des revendications 1 à 8. 11. Computer program product implemented on a memory medium, capable of being implemented within a processing unit computer and comprising instructions for carrying out the method according to one of claims 1 to 8.
EP11764809.7A 2010-09-02 2011-08-30 Method of gathering data of an event-like nature from electronic forms Withdrawn EP2612236A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1003511A FR2964484B1 (en) 2010-09-02 2010-09-02 METHOD FOR COLLECTING DATA WITH EVENTUAL CHARACTERS OF ELECTRONIC FORMS
PCT/FR2011/051983 WO2012028817A1 (en) 2010-09-02 2011-08-30 Method of gathering data of an event-like nature from electronic forms

Publications (1)

Publication Number Publication Date
EP2612236A1 true EP2612236A1 (en) 2013-07-10

Family

ID=44247921

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11764809.7A Withdrawn EP2612236A1 (en) 2010-09-02 2011-08-30 Method of gathering data of an event-like nature from electronic forms

Country Status (7)

Country Link
US (1) US20130227386A1 (en)
EP (1) EP2612236A1 (en)
CN (1) CN103262049B (en)
BR (1) BR112013006365A8 (en)
FR (1) FR2964484B1 (en)
RU (2) RU2013114686A (en)
WO (1) WO2012028817A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493487B (en) * 2011-05-31 2015-07-21 Rakuten Inc Information processing system, information processing system processing methods, programs and recording media
CN104008115B (en) * 2013-02-27 2018-11-13 腾讯科技(深圳)有限公司 A kind of wap page title bar display methods and system
US10409904B2 (en) * 2014-06-26 2019-09-10 D2L Corporation Methods and systems for providing an electronic form
WO2017197188A2 (en) * 2016-05-11 2017-11-16 Aclipsa Mobile Video Solutions, Llc System and method for analyzing content usage events
CN106354875B (en) * 2016-09-21 2020-02-21 中体彩科技发展有限公司 Data scheduling device
BR112021014123B1 (en) 2020-03-26 2022-10-11 Citrix Systems, Inc METHOD FOR GENERATING MICRO APPLICATION, SYSTEM AND NON-TRANSIENT COMPUTER READABLE MEDIA RECOMMENDATIONS
WO2021203403A1 (en) 2020-04-10 2021-10-14 Citrix Systems, Inc. Microapp subscription recommendations
US11553053B2 (en) * 2020-04-16 2023-01-10 Citrix Systems, Inc. Tracking application usage for microapp recommendation
CN112860561B (en) * 2021-02-23 2022-05-27 汇链通产业供应链数字科技(厦门)有限公司 Automatic performance testing method and terminal device
US11797623B2 (en) 2021-12-09 2023-10-24 Citrix Systems, Inc. Microapp recommendations for networked application functionality

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535912B1 (en) * 1999-08-31 2003-03-18 Lucent Technologies Inc. Method for creating and playing back a smart bookmark that automatically retrieves a requested Web page through a plurality of intermediate Web pages
US20040100507A1 (en) * 2001-08-24 2004-05-27 Omri Hayner System and method for capturing browser sessions and user actions
CN1428733A (en) * 2001-12-27 2003-07-09 鸿富锦精密工业(深圳)有限公司 Information collecting and monitoring system
US6968509B1 (en) * 2002-06-05 2005-11-22 Microsoft Corporation Recording of user-driven events within a computer application
US7716322B2 (en) * 2002-09-23 2010-05-11 Alcatel-Lucent Usa Inc. Automatic exploration and testing of dynamic Web sites
US7552445B2 (en) * 2002-12-13 2009-06-23 Savvis Communications Corporation Systems and methods for monitoring events from multiple brokers
US7523391B1 (en) * 2003-03-25 2009-04-21 Microsoft Corporation Indicating change to data form
US8127021B2 (en) * 2006-03-18 2012-02-28 Metafluent, Llc Content aware routing of subscriptions for streaming and static data
EP1903452B1 (en) * 2006-09-25 2012-08-22 Software AG Method and system for processing the input in an XML form
US8095476B2 (en) * 2006-11-27 2012-01-10 Inquira, Inc. Automated support scheme for electronic forms
RU2378987C1 (en) * 2008-07-14 2010-01-20 Закрытое акционерное общество "ЮНИК" Method for getting acquainted in internet network by means of psychological test
US20100107049A1 (en) * 2008-10-23 2010-04-29 International Business Machines Corporation Dynamic Generation of Data Entry Metadata

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2012028817A1 *

Also Published As

Publication number Publication date
RU2640715C1 (en) 2018-01-11
FR2964484A1 (en) 2012-03-09
RU2013114686A (en) 2014-10-10
FR2964484B1 (en) 2015-09-18
CN103262049A (en) 2013-08-21
BR112013006365A8 (en) 2018-06-12
WO2012028817A1 (en) 2012-03-08
US20130227386A1 (en) 2013-08-29
CN103262049B (en) 2016-12-28
BR112013006365A2 (en) 2016-06-28

Similar Documents

Publication Publication Date Title
WO2012028817A1 (en) Method of gathering data of an event-like nature from electronic forms
US10762280B2 (en) Systems, devices, and methods for facilitating website remediation and promoting assistive technologies
US11455458B2 (en) Modular systems and methods for selectively enabling cloud-based assistive technologies
CN109993316B (en) Method and system for executing machine learning process
US9686275B2 (en) Correlating cognitive biometrics for continuous identify verification
US20220147411A1 (en) Session triage and remediation systems and methods
US8150791B2 (en) Benefits services privacy architecture
US10867120B1 (en) Modular systems and methods for selectively enabling cloud-based assistive technologies
CN101582083A (en) Web-based detection in image, extraction and recognition
US11042689B2 (en) Generating a document preview
FR3069075A1 (en) SYSTEM AND METHOD FOR INTEGRATING MESSAGE CONTENT IN A TARGET DATA PROCESSING DEVICE
Fazzini et al. Characterizing human aspects in reviews of covid-19 apps
CN110674404A (en) Link information generation method, device, system, storage medium and electronic equipment
JP6162134B2 (en) Social page trigger
Barbosa et al. “Every Website Is a Puzzle!”: Facilitating Access to Common Website Features for People with Visual Impairments
US20240005640A1 (en) Synthetic document generation pipeline for training artificial intelligence models
TW201523421A (en) Determining images of article for extraction
US11727195B2 (en) Modular systems and methods for selectively enabling cloud-based assistive technologies
US20120150899A1 (en) System and method for selectively generating tabular data from semi-structured content
US20150058774A1 (en) Gesture-based visualization of financial data
WO2018015515A1 (en) Methods for opinion sharing, computer programs and hardware for implementing methods
KR102565960B1 (en) Box electronic documentation system capable of creating, storing, transmitting, and deriving statistics using an input user interface, and providing method thereof
US20240143161A1 (en) System and method for digitizing and mining handwritten notes to enable real-time collaboration
TW201523423A (en) Employing page links to merge pages of articles
Joseph ADMINISTRATION SYSTEM FOR END TO END LUXURY APARTMENT MANAGEMENT SOFTWARE

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20130306

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20140203

APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APBR Date of receipt of statement of grounds of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA3E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ONEY BANK

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190301