FR 2967280 A1 20120511 FR 1004360 A 20101108 Domaine technique La présente invention concerne le domaine de la navigation sur Internet et a plus particulièrement pour objet une méthode d'exécution informatisée de tâches sur Internet, en particulier sur des sites Web, ainsi qu'un système mettant en oeuvre la précédente méthode. De manière générale, dans le présent texte, le vocabulaire de référence est celui du domaine de l'informatique et des réseaux informatiques. Technique antérieure Les sites Web sont constitués de pages Web écrites dans des langages informatiques adaptés au format de publication Internet, tels que le HTML (pour l'anglais Hypertext Markup Langage) ou XML (pour l'anglais Extensible Markup Langage). Ces pages Web sont consultées par les utilisateurs grâce à des applications logicielles, appelées navigateurs Internet, qui permettent l'affichage, sur un appareil multimédia de l'utilisateur, de ces pages telles qu'elles ont été conçues. Depuis quelques années, Internet et plus particulièrement le Web, est devenu un média incontournable, présent dans le quotidien d'une majorité de personnes. Ce média permet d'accéder à un nombre élevé de services dématérialisés, à partir de tout type d'appareil multimédia muni d'un écran, d'une interface matérielle et d'une connexion Internet et capable d'exécuter un logiciel de navigateur Internet, par exemple un ordinateur, une tablette tactile ou un téléphone mobile. Sur chaque site Web d'un service donné, par exemple les sites bancaires ou de fournisseurs de téléphonie, la façon de réaliser certaines tâches, comme la consultation de son solde, de ses informations personnelles, la KWIFT2-FR-1 TEXTE DEPOSE JS/ML 2967280 - 2 - récupération d'une facture ou la validation d'un achat, diffère. De plus, ces services sur le Web demandent souvent une identification des utilisateurs avec saisie d'un 5 identifiant et d'un mot de passe, afin de leur donner accès au compte client de chacun des services, comportant des données personnelles et confidentielles : c'est par exemple le cas des fournisseurs d'accès Internet, de téléphonie ou d'énergie, des sites bancaires, des sites de messagerie 10 électronique ou d'achat en ligne. Chaque utilisateur d'Internet doit donc gérer un certain nombre de comptes clients, avec des paramètres différents à mémoriser pour chacun d'entre eux. La gestion par les utilisateurs de l'ensemble de ces 15 modi operandi pour l'accomplissement de tâches sur les sites Web, le cas échéant liés à un compte client, est donc plutôt complexe. En outre, cette gestion est potentiellement source de risques quant à la sécurité des données personnelles et confidentielles liées à ces comptes 20 clients. Il existe donc aujourd'hui un besoin exprimé par les utilisateurs d'Internet pour un outil fiable, simple et sûr qui leur permette d'accomplir facilement un nombre accru de tâches sur Internet, en liaison avec des services sur le 25 Web, lesquels services étant éventuellement subordonnés à un compte client. Un tel outil n'existe pas à ce jour, à la connaissance du demandeur. Résumé de l'invention 30 La présente invention vise donc à répondre à ce besoin, en proposant une méthode d'exécution informatisée de tâches sur Internet et un système pour la mise en oeuvre de ladite méthode. A cet égard, l'invention a pour objet une méthode KWIFT2-FR-1 TEXTE DEPOSE J5/NIL - 3 - d'exécution informatisée de tâches sur Internet, en particulier sur des sites Web, méthode remarquable en ce qu'elle comporte : a) la décomposition de la tâche à accomplir en une 5 séquence anthropomimétique de routines, b) la décomposition de chaque routine en une suite anthropomimétique d'actions unitaires, spécifique audit site Web, c) la génération d'un code informatique dans un 10 langage informatique destiné à interagir avec le contenu des pages Web, pour chacune des actions unitaires données, d) l'exécution dudit code informatique par un module d'interfaçage Web, et la transmission des résultats de l'exécution dudit code informatique, 15 les étapes c) et d) étant répétées jusqu'à la réalisation de l'ensemble de la suite anthropomimétique des actions unitaires pour une routine donnée, et ce jusqu'à l'accomplissement complet de la séquence anthropomimétique de routines de la tâche à accomplir. 20 Par anthropomimétique, on entend dans le présent texte qui correspond à la logique comportementale d'un être humain. On comprend bien que le recours à un module d'interfaçage Web permet de réaliser la tache de façon 25 masquée pour l'utilisateur. En outre, la logique anthropomimétique appliquée permet d'exécuter la méthode de façon entièrement automatisée, sans aucune intervention de l'utilisateur pendant son exécution. Elle assure en outre une interaction optimale avec les éléments de la page Web, 30 spécialement des requêtes AJAX (pour l'anglais Asynchronous Javascript and XML), ce qui assure le déroulement correct de l'exécution d'une tâche. Bien sûr, pour des raisons de sécurité et de confidentialités des données personnelles, l'utilisateur pourra intervenir afin de rentrer ses données KWIFT2-FR-1 TEXTE DÉPOSE JS/ML - 4 - personnelles nécessaires à l'accomplissement de la tâche, le cas échéant. De plus, le recours à une logique anthropomimétique permet de satisfaire les contrôles de sécurité qui sont en place sur certains sites Web, notamment sur la vitesse d'exécution des actions et la réalisation d'une séquence donnée des actions (blocage des scripts « intrusifs »). Brève description des dessins D'autres avantages et caractéristiques ressortiront mieux de la description détaillée qui va suivre d'autres étapes de la méthode selon l'invention et d'exemple de système de mise en oeuvre et d'utilisation de ladite méthode, en référence aux dessins annexés sur lesquels : - la figure 1 est une vue schématique de la structure des modules du programme mis en oeuvre par le système selon l'invention. Description des modes de réalisation Selon une caractéristique essentielle de l'invention, la méthode comporte les étapes suivantes : a) la décomposition de la tâche à accomplir en une séquence anthropomimétique de routines, b) la décomposition de chaque routine en une suite 25 anthropomimétique d'actions unitaires, spécifique audit site Web, c) la génération d'un code informatique dans un langage informatique destiné à interagir avec le contenu des pages Web, pour chacune des actions unitaires données, 30 d) l'exécution dudit code informatique par un module d'interfaçage Web, et la transmission des résultats de l'exécution dudit code informatique, les étapes c) et d) étant répétées jusqu'à la réalisation de l'ensemble de la suite anthropomimétique des KWIFT2-FR-1 TEXTE DEPOSE JS/ML - 5 - actions unitaires pour une routine donnée, et ce jusqu'à l'accomplissement complet de la séquence anthropomimétique de routines de la tâche à accomplir. En plus des avantages précédemment cités, la logique anthropomimétique assure à l'utilisateur que l'exécution de la tâche demandée ne lui portera aucun désagrément ; par exemple, en cas d'erreur ou d'impossibilité de connexion au site Web, la méthode sera interrompue avant d'atteindre les limites d'erreur autorisées par le site Web, afin d'éviter un blocage de l'accès au site Web. De préférence et avantageusement, le code informatique généré est un code en langage Javascript. On comprend bien que dans le cadre de la présente invention, l'Homme de l'Art pourra avantageusement utiliser tout code de langage informatique destiné à interagir avec le contenu des pages Web, en fonction notamment de l'évolution des langages de programmation de ces dernières ou encore de son habileté à programmer dans un langage informatique. Selon une autre caractéristique de la méthode selon l'invention, elle comporte en outre une étape de saisie des identifiants du site Web de l'utilisateur pour le compte duquel la tâche est accomplie. Cette étape de saisie est réalisée en amont ou au cours de l'exécution de la séquence anthropomimétique de routines. De plus, cette étape de saisie peut être réalisée directement par l'utilisateur ou à partir des identifiants rentrés au préalable dans une base de donnée sécurisée, le cas échéant cryptée avec les moyens connus de l'Homme du métier à cet effet. Les différentes variantes d'exécution de l'étape de saisie des identifiants peuvent être appliquées selon le choix de l'utilisateur et du rapport entre le degré d'automatisation et de préservation de la confidentialité souhaité. KWIFT2-FR-1 TEXTE DEPOSE JS/ML 2967280 - 6 - Selon une autre caractéristique de la méthode selon l'invention, le module d'interfaçage Web, utilisé par cette méthode, présente l'ensemble des fonctionnalités suivantes : 5 télécharger une page HTML ainsi que l'ensemble des fichiers associés à cette page (notamment fichiers JavaScript et images), - recréer la structure de la page Web à partir du code source HTML, 10 - exécuter les scripts JavaScript téléchargés susceptibles notamment de modifier la structure et le contenu de la page Web, - gérer les requêtes AJAX provenant de la page Web, permettre l'exécution de n'importe quel code 15 JavaScript valide, et donc par conséquent : o Permettre l'accès à la structure et au contenu de la page Web via l'exécution de code Javascript, o Permettre la simulation d'actions de l'utilisateur via l'exécution de code Javascript, 20 - permettre l'accès aux images qui composent la page Web gérer les cookies, - gérer les connexions sécurisées (https notamment) ; - permettre potentiellement le téléchargement de n'importe quel format de fichier électronique. 25 Avantageusement, le module d'interfaçage Web utilisé est un moteur de rendu Web, également dénommé moteur de rendu HTML. Par exemple, l'Homme du,métier pourra utiliser le moteur Webkit. Ce moteur sera avantageusement couplé avec une librairie capable de gérer les connexions 30 sécurisées, comme par exemple OPENSSL. On comprend bien que les fonctionnalités du module d'interfaçage Web qui sont ici liées au langage AJAX et Javascript pourront être remplacées sans difficultés par tout langage équivalent connu de l'Homme de l'Art, en KWIFT2-FR-1 TEXTE DEPOSE JS/ML - 7 - fonction de l'évolution des langages de programmation des pages Web et/ou des moteurs de rendu Web. Selon une caractéristique avantageuse de l'invention, la suite anthropomimétique d'actions unitaires déterminant pour chaque routine son exécution spécifique pour chaque site Web est définie dans une base de données d'actions unitaires. Pour l'écriture de cette base de données, l'Homme de l'art utilisera avantageusement le langage XML (pour 10 l'anglais Extensible Markup Langage). Ainsi, la base relative au fonctionnement précis de chaque site Web, listant les actions unitaires correspondant à une routine pour un site Web donné, peut être aisément mise à jour, pour ajouter des sites Web ou 15 prendre en compte des évolutions des sites, sans remettre en cause la logique d'exécution de la méthode. Un autre objet de la présente invention est un système d'exécution informatisée de tâches sur un site Web. Ce système est remarquable en ce qu'il met en oeuvre la 20 méthode informatisée précédemment exposée. Un tel système comporte au moins un appareil multimédia muni d'un écran, d'une interface matérielle reliée audit appareil multimédia, de moyens de connexion à Internet, d'un processeur informatique en liaison 25 électronique avec un programme informatique stocké sur un support de stockage lisible par ledit appareil multimédia, ledit programme informatique comportant des instructions qui lorsqu'elles sont exécutées par le processeur mettent en oeuvre la méthode selon l'invention. 30 De préférence, l'appareil multimédia est un ordinateur ou un téléphone mobile. De façon avantageuse, et en référence à la figure 1, le programme informatique 10 présente une structure qui comporte : KWIFT2-FR-1 TEXTE DEPOSE JS/ML - 8 - - un module 11 d'orchestration, qui définit la séquence anthropomimétique de routines pour chaque tâche à accomplir, - une base de données 13 d'actions unitaires, comportant pour chaque site Web la suite anthropomimétique d'actions unitaires correspondant à une routine donnée, - un moteur 15 de routines, auquel le module 11 d'orchestration soumet successivement les routines de la séquence de routines à accomplir, lequel moteur 15 de routines décompose chaque routine en une suite anthropomimétique d'actions unitaires à partir des informations de la base de données 13, puis soumet chaque action unitaire à un générateur 17 de script qui lui retourne un code informatique permettant l'exécution de l'action unitaire sur le site Web, - un module 19 d'interfaçage Web, exécutant le code informatique fourni par le moteur 15 de routines et lui retournant le résultat de l'action. Cette architecture du programme informatique 10 facilite la maintenance du programme informatique 10 et la mise à jour dynamique des données, sans avoir à recompiler le programme informatique 10 en intégralité, seule la base de données 13 des actions unitaires étant mise à jour. L'ajout d'une nouvelle tâche et du descriptif de sa séquence anthropomimétique de routines nécessite par contre une mise à jour du programme informatique 10. Des exemples de tâches sur le Web que permettent d'accomplir la méthode et le système selon l'invention sont 30 les suivants : - récupération de soldes bancaires, récupération ou paiement de factures, - création de comptes utilisateurs, - récupération de documents contractuels. KWIFT2-FR-1 _TEXTE DEPOSE JS/ML 2967280 - 9 - On décrira en exemple la séquence anthropomimétique de routines correspondant à la tâche « récupération d'un solde bancaire » - tester si un utilisateur est déjà connecté au site 5 bancaire et le déconnecter au besoin ; - connecter l'utilisateur voulu, - aller sur la page récapitulative des comptes, récupérer les soldes des comptes bancaires. 10 Application industrielle Comme exposé précédemment, la méthode selon l'invention peut être mise en oeuvre pour l'élaboration d'un programme informatique (logiciel) exécuté sur un terminal multimédia connecté à Internet du type ordinateur ou 15 téléphone mobile. Enfin, il va de soi que les exemples d'utilisation de la méthode et du système ne sont que des exemples particuliers, et que la méthode selon l'invention peut être mise en oeuvre sur un ordinateur connecté à Internet sous la 20 forme d'un logiciel exécuté sur un serveur distant en liaison électronique avec ledit ordinateur, sans pour autant sortir du cadre de la présente invention. KWIFT2-FR-1 TEXTE DEPOSE JS/ML REVENDICATIONS1 - Méthode d'exécution informatisée de tâches sur un site Web caractérisée en ce qu'elle comporte : a) la décomposition de la tâche à accomplir en une séquence anthropomimétique de routines, b) la décomposition de chaque routine en une suite anthropomimétique d'actions unitaires, spécifique audit site Web, c) la génération d'un code informatique dans un langage informatique destiné à interagir avec le contenu des pages Web, pour chacune des actions unitaires données, d) l'exécution dudit code informatique par un module d'interfaçage Web, et la transmission dés résultats de l'exécution dudit code informatique les étapes c) et d) étant répétées jusqu'à la réalisation de l'ensemble de la suite anthropomimétique des actions unitaires pour une routine donnée, et ce jusqu'à l'accomplissement complet de la séquence anthropomimétique de routines de la tâche à accomplir. 2 - Méthode selon la revendication précédente caractérisée en ce qu'elle comporte en outre une étape de saisie des identifiants au site Web de l'utilisateur pour le compte duquel la tâche est accomplie. 3 - Méthode selon la revendication 2 caractérisé en ce que l'étape de saisie est réalisée en amont ou au cours de l'exécution de la séquence anthropomimétique de routines. 4 - Méthode selon la revendication 2 ou 3 caractérisé en ce que l'étape de saisie est réalisée directement par l'utilisateur ou à partir des identifiants rentrés au préalable dans une base de donnée sécurisée. KWIFT2-FR-1_NOTIFI JS/ML 2967280 - 11 - 5 - Méthode selon l'une quelconque des revendications 1 à 4 caractérisée en ce qu'elle comporte l'utilisation d'un module d'interfaçage Web présentant 5 l'ensemble des fonctionnalités suivantes : - télécharger une page HTML ainsi que l'ensemble des fichiers associés à cette page (notamment fichiers JavaScript et images), recréer la structure de la page Web à partir du code 10 source HTML, exécuter les scripts JavaScript téléchargés susceptibles notamment de modifier la structure et le contenu de la page Web, - gérer les requêtes AJAX provenant de la page Web, 15 - permettre l'exécution de n'importe quel code JavaScript valide, et donc par conséquent : o Permettre l'accès à la structure et au contenu de la page Web via l'exécution de code Javascript, o Permettre la simulation d'actions de 20 l'utilisateur via l'exécution de code Javascript, - permettre l'accès aux images qui composent la page Web - gérer les cookies, gérer les connexions sécurisées, - permettre potentiellement le téléchargement de 25 n'importe quel format de fichier électronique. 6 - Méthode selon la revendication 5 caractérisée en ce que le module d'interfaçage Web utilisé est un moteur de rendu Web. 7 - Méthode selon l'une quelconque des revendications 1 à 6 caractérisée en ce que la suite anthropomimétique d'actions unitaires, déterminant pour chaque routine son exécution spécifique sur chaque site KWIFT2-FR-1 NOTIF7 JS/ML 30 2967280 - 12 - Web, est définie dans une base de données d'actions unitaires (13). 8 - Méthode selon la revendication 7 caractérisée en 5 ce que ladite base de données d'actions unitaires (13) est écrite en langage XML. 9 - Système d'exécution informatisée de tâches sur un site Web caractérisé en ce qu'il comporte au moins un 10 appareil multimédia muni d'un écran, d'une interface matérielle reliée audit appareil multimédia, de moyens de connexion à Internet, d'un processeur informatique en liaison électronique avec un programme informatique (10) stocké sur un support de stockage lisible par ledit 15 appareil multimédia, ledit programme informatique (10) comportant des instructions qui lorsqu'elles sont exécutées par le processeur mettent en oeuvre la méthode selon les revendications 1 à 8, ledit programme informatique (10) comprenant : 20 - un module (11) d'orchestration, qui définit une séquence anthropomimétique de routines pour chaque tâche à accomplir, - une base de données (13) d'actions unitaires, comportant pour chaque site Web la suite 25 anthropomimétique d'action unitaires correspondant à une routine donnée, - un moteur (15) de routines, auquel le module (11) d'orchestration soumet successivement les routines de la séquence de routines à accomplir, lequel 30 moteur (15) de routines décompose chaque routine en une suite anthropomimétique d'actions unitaires à partir des informations de la base de données (13), puis soumet chaque action unitaire à un générateur (17) de script qui lui retourne un code KWIFT2-FR-1 NOTIFI JS/ML 2967280 - 13 - informatique permettant l'exécution de l'action unitaire sur le site Web, - un module (19) d'interfaçage Web, exécutant le code informatique fourni par le moteur (15) de routines et 5 lui retournant le résultat de l'action. KWIFT2-FR-1 NOTIFI )S/ML