Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROVIDING A TARGET APPLICATION
Document Type and Number:
WIPO Patent Application WO/2011/070284
Kind Code:
A1
Abstract:
The present invention relates to a method for providing a target application on a terminal, said method including the following steps: transferring a deployment application from a server to the terminal, said application being an Internet application; transferring at least one module of the target application from a server, said transfer being triggered by the deployment application; executing the target application, said execution being triggered by the deployment application; and intercepting at least one query coming from the target application.

Inventors:
MACRIS ALEXANDRE (FR)
Application Number:
PCT/FR2010/052629
Publication Date:
June 16, 2011
Filing Date:
December 07, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SPAWNAPPS (FR)
MACRIS ALEXANDRE (FR)
International Classes:
H04L29/08; G06F9/445; G06F9/46
Foreign References:
US20070244987A12007-10-18
US20050010963A12005-01-13
US7451196B12008-11-11
Other References:
None
Attorney, Agent or Firm:
CABINET LHERMET LA BIGNE & REMY (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de mise à disposition d'une application cible (AC) sur un terminal (12), comprenant les étapes suivantes :

- transfert (60) depuis un serveur (14) vers le terminal d'une application de déploiement (AD), cette application étant une application internet,

- transfert (66) d'au moins un module de l'application cible depuis un serveur (16), déclenché par l'application de déploiement,

- exécution (70, 74) de l'application-cible (AC), déclenchée par l'application de déploiement,

- interception (100, 110, 132) d'au moins une requête en provenance de l'application-cible.

2. Procédé selon la revendication précédente, comprenant une étape (70) d'exécution d'un intercepteur (IN), déclenchée par l'application de déploiement, cet intercepteur étant apte à intercepter au moins une requête en provenance de l'application cible, l'exécution de l'intercepteur déclenchant de préférence à son tour l'étape (70) d'exécution de l'application-cible (AC).

3. Procédé selon la revendication précédente, comprenant une étape (66) de transfert de l'intercepteur (IN) depuis un serveur (16), déclenchée par l'application de déploiement (AD).

4. Procédé selon l'une quelconque des revendications précédentes, dans lequel le transfert (118) d'au moins un module de l'application-cible et/ou de l'intercepteur est précédé d'une étape de vérification (114) de l'application de déploiement (AD) auprès du terminal (12) et/ou d'un serveur.

5. Procédé selon l'une quelconque des revendications précédentes, comprenant au moins une étape (112, 104) de redirection de la ou d'au moins une requête de l'application-cible (AC) vers un système d'exploitation (SE) du terminal (12), et/ou vers l'application de déploiement (AD).

6. Procédé selon la revendication précédente, dans lequel, l'application de déploiement (AD) ayant déjà transféré vers le terminal (12) un module de base de l'application-cible (AC), le procédé comprend une étape d'interception (110) d'une requête d'ouverture d'un fichier n'appartenant pas au module de base de l'application- cible et une étape de transfert (118) du fichier depuis un serveur vers le terminal, ce transfert étant commandé par l'application de déploiement (AD).

7. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comprend une étape d'interception (100) d'une requête d'affichage de l'application cible et une étape de modification (102) de cette requête pour que l'application-cible (AC) s'affiche dans une page web, notamment la page web comprenant le lien.

8. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape de réalisation (134) d'une action par l'application cible en fonction d'un lien activé par un utilisateur dans une page Web.

9. Programme d'ordinateur permettant la mise à disposition d'une application-cible sur un terminal, le programme comprenant des instructions logicielles pour:

- commander le transfert d'au moins un module de l'application cible depuis un serveur sur le terminal,

- commander l'exécution d'un intercepteur apte à intercepter au moins une requête en provenance de l'application-cible,

un tel programme formant une application internet.

10. Dispositif comprenant une mémoire stockant le programme d'ordinateur selon la revendication précédente ainsi qu'un intercepteur apte à intercepter au moins une requête en provenance de l'application-cible.

Description:
Procédé de mise à disposition d'une application-cible

La présente invention concerne un procédé de mise à disposition d'une application-cible sur un terminal.

On connaît des applications natives, s'exécutant grâce au système d'exploitation du terminal, formant liaison entre de telles applications et les éléments matériels du terminal, un tel système d'exploitation étant par exemple Windows Vista ou Linux. Un procédé de mise à disposition de telles applications peut comprendre une étape de téléchargement de l'application native depuis un serveur suivi d'une étape d'installation de cette application sur le terminal de l'utilisateur. Durant cette étape, les différents fichiers constituant l'application sont notamment stockés dans la mémoire du terminal et un chemin d'accès vers l'application est créé.

Un tel procédé est classique mais est peu pratique car il n'est pas transparent pour l'utilisateur, qui doit effectuer de nombreuses opérations pour pouvoir finalement accéder à l'application. Il est également possible que le nombre de ces opérations découragent l'utilisateur et l'entraîne à renoncer au téléchargement de l'application native.

On connaît en outre des applications internet, s'exécutant à l'aide d'un navigateur internet, tel que Internet Explorer, Mozilla Firefox ou Google Chrome par exemple et d'une machine virtuelle, telle que Java, Javascript ou Flash, permettant l'exécution de l'application internet alors que les éléments constituant celle-ci ne sont pas stockés sur le terminal. Les éléments constituant celle-ci sont stockés en grande partie sur un serveur externe auquel le terminal peut accéder par le biais d'un réseau internet. Pour utiliser cette application, le terminal doit en permanence communiquer avec le serveur stockant ces éléments. Le procédé de mise à disposition d'une telle application comprend donc généralement une étape d'accès au serveur, accompagnée d'une authentification de l'utilisateur.

De telles applications nécessitent un développement complet et coûteux pour être mises à disposition de l'utilisateur, le code des applications natives ne pouvant être réutilisé, et ne sont donc pas disponibles pour tous les types d'applications natives existantes.

L'invention permet de fournir une alternative aux applications internet précitées, en fournissant un procédé de mise à disposition peu contraignant pour l'utilisateur, et ce procédé étant applicable pour tous les types d'applications déjà existantes, sans modification substantielle de celles-ci.

A cet effet, l'invention a pour objet un procédé de mise à disposition d'une application-cible sur un terminal, comprenant les étapes suivantes : - transfert depuis un serveur vers le terminal d'une application de déploiement, cette application étant une application internet,

- transfert d'au moins un module de l'application-cible depuis un serveur, déclenché par l'application de déploiement,

- exécution de l'application-cible, déclenchée par l'application de déploiement,

- interception d'au moins une requête en provenance de l'application-cible.

Ainsi, l'application de déploiement permet l'exécution de toutes les étapes en vue de l'utilisation de l'application-cible sans aucune intervention de l'utilisateur, notamment son transfert. Cela diminue donc le nombre d'opérations à effectuer par l'utilisateur, ou « nombre de clics » pour obtenir un accès à l'application-cible et augmente donc son intérêt pour l'application-cible.

De plus, conserver l'application-cible sur le terminal entre deux utilisations ne se justifie pas toujours, la mise à disposition de celle-ci étant très simple. Celle-ci peut donc être stockée sur le terminal dans l'emplacement de la mémoire du terminal correspondant au cache du navigateur, et, de ce fait, être supprimée automatiquement au bout d'une période de temps prédéterminée. Cela permet ainsi de minimiser les transferts de données lors de la réutilisation de l'application-cible mais il n'est ainsi pas nécessaire d'effectuer une opération spécifique de désinstallation lorsque l'utilisateur ne souhaite plus se servir de l'application-cible. En outre, l'application-cible n'occupe pas de façon inutile de l'espace de stockage dans le terminal.

Du fait de l'interception des requêtes, les possibilités de moduler l'utilisation de l'application-cible, pour l'adapter au mieux aux besoins de l'utilisateur, sont plus importantes. Grâce à cette technique, il est par exemple possible de fournir à l'utilisateur, dans un premier temps, une seule portion d'une application-cible puis, lorsque celui-ci le requière, de déclencher le transfert en vue de l'utilisation de modules supplémentaires de l'application-cible. On peut de ce fait optimiser l'utilisation de l'application-cible.

L'application de déploiement est une application internet, c'est à dire une application qui s'exécute grâce à une machine virtuelle, telle que Java, et un navigateur internet, ce qui permet à l'utilisateur de se procurer l'application-cible sans avoir à télécharger et installer préalablement une autre application formant l'application de déploiement. Une application de déploiement formée par une application internet est en outre compatible avec tous les systèmes d'exploitation et tous les navigateurs et peut donc être universellement utilisée. Il n'est également pas nécessaire de mettre à jour une telle application qui est mise à jour automatiquement en ligne.

Le procédé selon l'invention permet en outre de mettre à disposition de l'utilisateur, de façon non contraignante, de nombreuses applications-cibles déjà existantes sans avoir besoin de modifier celles-ci de façon importante, voire sans avoir à les modifier du tout au préalable. Les outils pour mettre celles-ci à disposition sont en effet indépendants de l'application-cible choisie par l'utilisateur. Ces outils permettent en outre la mise à disposition de nombreuses applications-cibles.

Le procédé peut également comprendre l'une ou plusieurs des caractéristiques de la liste suivante :

- le procédé comprend une étape d'exécution d'un intercepteur, déclenchée par l'application de déploiement, cet intercepteur étant apte à intercepter au moins une requête en provenance de l'application-cible, l'exécution de l'intercepteur déclenchant de préférence à son tour celle de l'application-cible. Ainsi, c'est un intercepteur, formant un programme d'ordinateur distinct de l'application de déploiement, qui effectue les interceptions dans l'application-cible, un tel intercepteur pouvant alors être distinct d'une application internet et être une application native, directement en interaction avec le système d'exploitation du terminal, ce qui permet d'effectuer l'interception des requêtes plus aisément à l'aide des techniques connues,

- le procédé comprend une étape de transfert de l'intercepteur depuis un serveur, déclenchée par l'application de déploiement. L'intercepteur est ainsi transféré sur le terminal sans que l'utilisateur ait besoin d'effectuer une action supplémentaire,

- le procédé comprend une étape préalable d'actionnement par un utilisateur du terminal d'un lien situé sur une page Web,

- le transfert d'au moins un module de l'application-cible et/ou de l'intercepteur est précédé d'une étape de vérification effectuée par l'application de déploiement auprès du terminal et/ou d'un serveur. En particulier, l'étape de vérification peut comprendre une étape de vérification des droits d'accès du terminal au module de l'application-cible. L'utilisateur peut ainsi avoir accès à l'application-cible seulement s'il s'est enregistré auprès d'une autorité et/ou s'il a payé pour bénéficier des droits d'accès. On peut également envisager que l'application de déploiement laisse l'accès libre seulement à une portion de l'application-cible, pour permettre un essai de l'application-cible par l'utilisateur. Cette étape de vérification peut également comprendre une étape de comparaison du module à télécharger et du module éventuellement stocké sur le terminal ou une comparaison d'un nom de fichier avec les noms de fichiers transférés sur le terminal. Ainsi, on peut éviter des opérations de transfert inutiles, et ne transférer le cas échéant que les mises à jours de l'application- cible et/ou seulement une partie des modules de l'application-cible,

le procédé comprend au moins une étape de redirection de la ou d'au moins une requête vers un système d'exploitation du terminal, et/ou vers l'application de déploiement. Ces opérations de redirection sont notamment effectuées par l'intercepteur.

le procédé comprend une étape d'interception d'une requête d'affichage de l'application cible et de modification de cette requête pour que l'application cible s'affiche dans une page web, notamment la page web comprenant le lien. Pour obtenir ce résultat, la requête modifiée est redirigée vers le système d'exploitation. On évite ainsi d'ouvrir de multiples fenêtres pour arriver à ce que l'utilisateur se procure l'application cible. L'utilisateur bénéficie donc d'un meilleur confort d'utilisation de l'application cible. Cela permet également d'intégrer l'application-cible à un environnement particulier, adapté à l'utilisateur et à ses besoins, par exemple pour améliorer l'esthétisme de l'environnement présenté à l'utilisateur ou pour diffuser à l'utilisateur des offres en rapport avec ses besoins pendant qu'il utilise l'application-cible,

l'application de déploiement ayant déjà transféré vers le terminal un module de base de l'application-cible, le procédé comprend une étape d'interception d'une requête d'ouverture d'un fichier n'appartenant pas au module de base de l'application-cible et une étape de transfert du fichier depuis un serveur vers le terminal, ce transfert étant commandé par l'application de déploiement. On ne transfère alors certains fichiers vers le terminal que lorsque ceux-ci sont demandés par l'utilisateur. Par exemple, si ce dernier utilise un traitement de texte, le module de dessin peut ne pas être transféré vers le terminal lors d'une étape de transfert initial puis être transféré vers le terminal uniquement si ce module est demandé par l'utilisateur. Cela permet d'optimiser l'espace de stockage réservé à l'application sur le terminal et à minimiser le temps de transfert nécessaire pour que l'utilisateur puisse commencer à utiliser l'application-cible,

le procédé peut également comprendre une étape lors de laquelle on commande la réalisation d'une action de l'application-cible en fonction d'un lien activé sur une page Web. Cela permet une communication de l'application- cible avec son environnement. L'invention a également pour objet un programme d'ordinateur permettant la mise à disposition d'une application-cible sur un terminal, le programme comprenant des instructions logicielles pour:

- commander le transfert d'au moins un module de l'application-cible depuis un serveur sur lequel elle est stockée,

- commander l'exécution d'un intercepteur apte à intercepter au moins une requête en provenance de l'application-cible,

un tel programme formant une application internet.

L'invention a également pour objet un dispositif comprenant une mémoire stockant le programme d'ordinateur selon l'invention ainsi qu'un intercepteur apte à intercepter au moins une requête en provenance de l'application-cible.

Un tel dispositif est par exemple un terminal, un serveur ou un ensemble de serveurs.

Optionnellement, l'application-cible est également stockée dans la mémoire du dispositif.

L'invention a également pour objet un système comprenant un terminal relié par un réseau à au moins un serveur ou un ensemble de serveurs formant un dispositif selon l'invention.

L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins dans lesquels :

- la figure 1 représente un système permettant l'exécution d'un procédé selon un mode de réalisation de l'invention,

- la figure 2 est un diagramme représentant une initialisation d'un procédé selon un mode de réalisation de l'invention,

- les figures 3A et 3B sont des schémas de la structure respective d'une application de déploiement et d'un intercepteur utilisé pour la mise en oeuvre du procédé selon un mode de réalisation de l'invention,

- les figures 4 à 6 sont des diagrammes représentant des étapes du procédé se produisant lors de l'utilisation par un utilisateur de l'application-cible.

On a représenté sur la figure 1 un système 10 comprenant un terminal 12 et une pluralité de serveurs 14, 16 reliés au terminal par l'intermédiaire d'un réseau 18, tel que le réseau Internet.

Le terminal 12 et les serveurs 14, 16 comprennent chacun des moyens de stockage de données, respectivement 19, 20, 22, tels qu'une mémoire, ainsi que des moyens d'exécution respectivement 24, 25a, 25b, tels qu'un processeur, de tels moyens permettant notamment l'exécution des applications sur ces appareils et la mise en mémoire de certaines données dans les moyens de stockage de données respectifs de chacun de ces appareils. Chacun des éléments du système comporte également des moyens de communication 26, 28a, 28b, avec les autres éléments du système permettant aux divers éléments de communiquer entre eux par le biais du réseau.

Le terminal 12 comprend également des moyens d'entrée-sortie 30 permettant l'interaction avec un utilisateur. De tels moyens comprennent notamment un clavier, ou une souris, pour permettre à l'utilisateur de commander le terminal et un écran ou un haut-parleur pour permettre à ce dernier de recevoir les informations du terminal.

Le terminal 12 comprend un système d'exploitation SE formant interface avec l'utilisateur et permettant d'exécuter toutes les applications natives situées sur le terminal, notamment stockées dans les moyens de stockage de celui-ci. Un tel système d'exploitation est par exemple Windows Vista ou Linux. Le terminal 12 comprend également une application native formant « navigateur » NA, qui permet de communiquer avec d'autres entités par le biais du réseau internet. Des navigateurs connus sont par exemple Internet Explorer ou Mozilla Firefox. Le système d'exploitation et le navigateur sont exécutés sur le terminal à l'aide des moyens 24.

Le serveur 14 comprend dans ses moyens de stockage une application de déploiement, qui sera détaillée plus loin dans la description et le serveur 16 comprend dans ses moyens de stockage un intercepteur, également décrit plus en détails ci- après, et l'application-cible à laquelle souhaite accéder l'utilisateur.

Avant d'être placée dans la mémoire 22 du serveur 16, l'application-cible est paramétrée manuellement pour être adaptée à l'exécution dans le contexte du procédé. La taille de la fenêtre est par exemple paramétrée. Le fichier des paramètres est ensuite enregistré dans la mémoire du serveur 16 avec les autres fichiers relatifs à l'application cible. Les fichiers peuvent être enregistrés sous forme compressée.

On va maintenant décrire le procédé de mise à disposition d'une application à destination du terminal 12, un tel procédé étant effectué à l'aide du système tel que décrit. On va tout d'abord décrire l'initialisation de ce procédé.

Lors d'une première étape 40, l'utilisateur 32, ayant accès au terminal 12, commande à ce dernier l'affichage d'une page Web permettant d'accéder à l'application-cible. Il effectue cette étape en cliquant sur un lien d'un moteur de recherche affiché à l'aide du navigateur, par exemple, ou en saisissant l'adresse de la page Web à l'aide des moyens d'entrée-sortie 30 dans l'interface du navigateur. Cette page Web est affichée à l'aide d'un navigateur exécuté par le processeur du terminal.

Suite à cette étape, le navigateur NA du terminal 12 requiert le chargement de la page Web auprès d'un premier serveur, par exemple le serveur 14, lors d'une étape 42. Cette communication auprès du serveur est effectuée à l'aide de moyens de communication 26, 28a du terminal et du serveur et du réseau 18. Le serveur 14 répond à la requête du navigateur NA en lui fournissant la page Web demandée, stockée dans ses moyens de stockage 20, lors d'une étape 44. La page s'affiche sur l'écran du terminal 12, lors d'une étape 46, grâce au navigateur qui permet de la présenter à l'utilisateur.

Une telle page Web présente généralement un lien pour commander le transfert et l'exécution d'une application-cible, par exemple une application de traitement de texte, un jeu ou une application de tout autre type. Lors d'une étape 48, l'utilisateur qui souhaite utiliser l'application-cible, clique sur le lien et active celui-ci.

Le navigateur NA envoie un message au serveur 14 pour lui indiquer que l'utilisateur 32 a activé le lien lors d'une étape 50 et le serveur retourne lors d'une étape 52 un message d'autorisation à destination de l'utilisateur 32, que le terminal restitue à l'utilisateur, lors d'une étape 54. Les étapes 50-54 permettent d'obtenir la confirmation de l'utilisateur prouvant qu'il souhaite bien obtenir l'application-cible et éviter toute opération inutile de mise à disposition de l'application-cible.

Si l'utilisateur 32 souhaite toujours accéder à l'application-cible, il active un lien pour signifier son accord, par exemple en cliquant sur un bouton dans l'interface du navigateur, lors d'une étape 56.

Le navigateur signifie alors au serveur 14 que l'utilisateur a activé le lien lors d'une étape 58. En réponse, le serveur 14 initie le transfert, vers le terminal 12, d'une application de déploiement AD, lors d'une étape 60. Le navigateur stocke alors une portion de l'application-cible dans les moyens de stockage du terminal 12, dans l'emplacement correspondant à son « cache », qui est une mémoire dans laquelle les fichiers sont stockés de façon temporaire, lors d'une étape 6. Une telle étape est une étape classique en cas de transfert à l'aide du navigateur. Suite à son enregistrement et également de façon classique, le navigateur commande l'exécution de l'application de déploiement sur le terminal 12, lors d'une étape 62.

L'application de déploiement AD est une application internet qui s'exécute à l'aide d'une machine virtuelle, par exemple Java, une telle machine virtuelle étant installée sur le terminal 12, et du navigateur du terminal 12, lors de l'étape 62. Elle s'exécute plus particulièrement dans le contexte du navigateur. Dans le mode de réalisation décrit, cette application est une applet Java.

La structure de l'application selon ce mode de réalisation de l'invention est représentée de façon schématique à la figure 3a. Une telle application comprend une unité d'interface avec l'utilisateur 80, apte à présenter une interface à l'utilisateur et à transformer les actions de l'utilisateur sur l'interface en commandes. Cette interface est embarquée dans une page Web, étant donné que l'application s'exécute à l'aide d'un navigateur internet. Elle comprend également une unité 82 de communication avec une autre application, soit un intercepteur IN, qui sera détaillée plus tard, et une unité de communication 84 avec le navigateur et le système d'exploitation, formée par une application Java de type connue.

Elle comprend en outre des moyens de gestion du cache 86 du navigateur permettant de contrôler la présence de fichiers relatifs à l'application-cible dans le cache du navigateur et des moyens de gestion des transfert 88, dont l'utilité et le fonctionnement seront détaillés plus tard.

Une fois l'application de déploiement AD transférée sur le terminal 12, celle-ci envoie, sans intervention de l'utilisateur, un message vers un deuxième serveur 16 pour commander le transfert depuis ce serveur 16 de l'application-cible AC et d'un intercepteur IN vers le terminal, lors d'une étape 64 effectuée par l'intermédiaire du navigateur et des moyens de communication 26. Cette étape est effectuée en particulier par les moyens de gestion des transferts 88 de l'application de déploiement AD, qui indiquent quels sont les fichiers de l'application-cible à transférer depuis le serveur 16 et par l'unité de communication 84 de l'application de déploiement vers le navigateur permettant de transmettre la requête construite par le gestionnaire des transferts au navigateur.

En réponse à cette requête, le serveur 16 transfère à la fois l'intercepteur IN et un module de base de l'application-cible formant une portion de l'application-cible vers le terminal lors d'une étape 66.

Le module de base de l'application-cible comprend par exemple les fonctions de mise en page du texte dans un traitement de texte, mais pas celles relatives aux dessins ou aux tableaux. L'application-cible AC et l'intercepteur IN sont des applications natives, qui s'exécutent directement grâce au système d'exploitation du terminal 12, grâce auxquels différentes applications telles que le navigateur de celui-ci s'exécute.

Le système d'exploitation enregistre, lors d'une étape 68, l'application-cible AC et l'intercepteur IN à l'emplacement correspondant au cache du navigateur dans les moyens de stockage du terminal, de façon classique.

On va maintenant décrire la structure de l'intercepteur tel qu'enregistré dans le terminal 12, à l'aide de la figure 3B. Un tel intercepteur comprend une unité 90 de communication avec l'application de déploiement AD, ainsi qu'un exécuteur d'application-cible 92, qui met en place le contexte d'exécution d'une telle application, soit les données permettant l'exécution de l'application-cible. Il comprend également un injecteur 94 permettant de relier de façon connue l'intercepteur à l'application-cible. Enfin, l'intercepteur comprend également des régisseurs 96a, 96b, 96c, permettant de relier une fonction appelée par l'application-cible à une action à exécuter par l'intercepteur. Dans cet exemple, l'intercepteur comprend trois régisseurs : celui des fenêtres 96a, celui des accès aux fichiers de l'application-cible 96b et celui des événements système 96c.

On notera que les unités de communication 82, 90 fonctionnent à l'aide de canaux interprocessus connus tels que des sockets, l'application de déploiement et l'intercepteur ne s'exécutant pas dans le même contexte.

L'application de déploiement AD commande ensuite l'exécution de l'intercepteur

IN lors d'une étape 70, à l'aide de l'unité de communication 82. Une fois son exécution lancée, l'intercepteur IN crée l'environnement d'exécution de l'application-cible lors d'une étape 72. Puis, l'intercepteur commande l'exécution de celle-ci à l'aide de l'unité 92 et s'injecte dans le contexte de l'application-cible lors d'une étape 74, par des techniques connues et à l'aide de l'injecteur 94. L'application-cible est maintenant prête à être utilisée par l'utilisateur.

On va maintenant décrire dans les figures 4 à 6 des séquences du procédé selon le mode de réalisation décrit dans la figure 2, lors de l'exécution de l'application- cible.

La figure 4 représente plus particulièrement les échanges entre les différents éléments du terminal 12, lors de l'ouverture de l'application-cible.

Lors d'une étape 100, l'application-cible AC émet une requête à destination du système d'exploitation SE du terminal 12. Cette requête est une requête auprès du système d'exploitation pour que celui-ci ouvre une fenêtre d'affichage pour l'interface utilisateur de l'application sur l'écran du terminal.

Du fait de l'injection de l'intercepteur dans l'application, celui-ci intercepte la requête à destination du système d'exploitation et modifie celle-ci lors d'une étape 102, conformément aux prescriptions du régisseur 96b. L'intercepteur est notamment programmé pour ajouter des détails sur la localisation de la fenêtre d'affichage de l'application-cible, et indiquer que celle-ci doit se trouver dans la page Web affichée par le navigateur et sur laquelle l'utilisateur a activé le lien.

L'intercepteur IN transmet ensuite la requête modifiée de l'application-cible AC au système d'exploitation lors d'une étape 104. Le système d'exploitation SE avec l'aide du navigateur procède ensuite lors d'une étape 106 à l'affichage de la fenêtre de l'application-cible AC.

Le fait que le paramètre de taille de fenêtre ait été préalablement paramétré manuellement permet d'augmenter le confort de l'utilisateur, car la fenêtre de l'application-cible peut ainsi être de taille adaptée à la taille de l'espace d'affichage dévolu sur la page Web. Un paramétrage préalable de l'application-cible n'est toutefois pas obligatoire.

La fenêtre est alors affichée dans la page Web, ce qui permet de relier l'application-cible au site Web distribuant celle-ci et d'afficher des éléments, par exemple des éléments commerciaux, que l'utilisateur peut visualiser en même temps qu'il utilise l'application-cible AC.

On va maintenant décrire en référence à la figure 5 les échanges et interactions entre les différents éléments du système, lorsque l'utilisateur requiert l'utilisation d'un module supplémentaire non enregistré sur les moyens de stockage du terminal.

Lors d'une étape 110, suite à la requête de l'utilisateur, l'application-cible AC émet une requête à destination du système d'exploitation SE pour l'ouverture du fichier de l'application-cible AC, ce fichier est non enregistré dans les moyens de stockage du terminal.

L'intercepteur IN intercepte la requête et vérifie si ce fichier a déjà été transféré dans le terminal, à l'aide de ces régisseurs, programmés pour ce faire, lors d'une étape 111 . Puis, si ce fichier n'a pas déjà été transféré dans le terminal, il transmet la requête lors d'une étape 112 à l'application de déploiement AD à l'aide des unités de communication respectives 82, 90. Dans le cas contraire, la requête est directement transférée au système d'exploitation. Ce cas n'est pas représenté sur la figure 5.

Lors d'une étape 114, l'application de déploiement AD vérifie ensuite que le fichier demandé est disponible sur le serveur 16, à l'aide des moyens de gestion du cache 86 disposant d'une liste des fichiers disponibles et en coopération avec le navigateur.

Dans ce cas, il envoie alors, lors d'une étape 116, une requête vers le serveur

16 par l'intermédiaire du navigateur NA pour obtenir un module comprenant le fichier manquant. Cette étape est effectuée par l'application de déploiement AD à l'aide des moyens de gestion de transfert 88 déterminant quels fichiers doivent être transférés depuis le serveur et de l'unité de communication avec le navigateur 82. Lors d'une étape 118, le serveur 16 retourne au terminal 12, notamment au navigateur; le module supplémentaire manquant. Un tel module correspond par exemple à une fonction supplémentaire de l'application-cible.

Le navigateur NA enregistre alors le module dans le cache du navigateur, lors d'une étape 120 et émet un message vers l'application de déploiement AD pour lui indiquer que le téléchargement est terminé. L'application de déploiement communique alors avec l'intercepteur pour lui indiquer que le fichier est disponible, lors d'une étape 123. Cette communication est également effectuée par le biais de l'unité de communication 82. L'intercepteur IN transmet alors la requête d'ouverture du fichier au système d'exploitation lors d'une étape 124. Lors d'une étape 125, le système d'exploitation ouvre ensuite le fichier demandé par l'application-cible et répond à l'application-cible AC, lors d'une étape 126. Cette application-cible peut alors répondre à la requête de l'utilisateur et poursuivre son fonctionnement de façon normale.

On va maintenant décrire en référence à la figure 6 les échanges entre différents éléments du terminal 12 lors de la fermeture de l'application-cible AC.

Pour fermer l'application-cible, l'utilisateur peut activer un lien de la page Web mise à disposition par le navigateur et affichant l'application-cible. Il peut par exemple cliquer sur une icône représentant une croix dans cette page Web.

Lorsque cela se produit, l'application de déploiement AD est informée que le lien a été activé par l'utilisateur, notamment grâce à l'unité d'interface utilisateur 80. L'application de déploiement AD envoie ensuite un message à l'intercepteur IN pour l'informer que le lien a été activé par l'utilisateur, à l'aide de l'unité de communication avec l'intercepteur 84 et lors d'une étape 130.

Ensuite, lors d'une étape 132, lorsque l'application-cible envoie une requête de questionnement d'événement, requête périodique envoyée au système d'exploitation de façon connue, l'intercepteur IN intercepte cette requête. Comme le signal de fermeture de l'application-cible AC a été reçu depuis l'application de déploiement AD, l'intercepteur IN répond alors directement à l'application-cible par la commande « fermer l'application », conformément à ce qui est prescrit par l'un de ses régisseurs.

Un tel procédé permet donc d'utiliser l'application-cible de façon simple pour l'utilisateur, sans pour autant avoir besoin de modifier le code relatif à l'application- cible.

On notera que l'invention n'est pas limitée à ce qui a été décrit ci-dessus.

Par exemple, le système peut ne pas être conforme à ce qui a été décrit ci- dessus. Le nombre de serveurs peut par exemple être différent de ce qui a été décrit, l'application de déploiement, l'intercepteur et l'application-cible pouvant par exemple être mis à disposition sur un même serveur.

Le réseau peut également être un réseau local et non le réseau Internet.

En outre, l'application de déploiement peut être différente de ce qui a été décrit. Elle peut par exemple ne pas comprendre les moyens de gestion de cache. En outre, elle peut comprendre des modules supplémentaires de ce qui a été décrit, par exemple un module permettant la redirection de l'utilisateur vers un site Web sur lequel il doit s'identifier lorsqu'il compte utiliser une fonction particulière de l'application-cible ou un module permettant de vérifier que les droits d'accès de l'utilisateur sont encore en vigueur dans ce même cas. Elle peut également comprendre des moyens de gestion des mises à jour de l'application aptes à comparer les fichiers stockés dans le cache du navigateur et les fichiers se trouvant sur le serveur et à vérifier s'il est nécessaire de transférer vers le terminal des fichiers mis à jour relativement aux fichiers que celui-ci possède d'ores et déjà.

L'intercepteur n'est pas non plus limité à ce qui a été décrit. Il peut notamment comprendre des régisseurs supplémentaires lorsqu'il est nécessaire d'intercepter d'autres fonctions de l'application que celles d'ores et déjà décrites.

Le procédé n'est pas non plus limité à ce qui a été décrit. Comme cela a été précisé plus haut, il est possible que l'intercepteur soit apte à modifier d'autres fonctions que celles décrites ou uniquement une fonction parmi celles décrites ou parmi d'autres. L'intercepteur peut intercepter toutes les requêtes issues de l'application-cible en retransmettant certaines fonctions vers le système d'exploitation sans les modifier ou intercepter seulement certaines requêtes.

II est également possible que l'application de déploiement et/ou l'intercepteur et/ou l'application-cible ne soit pas mise en mémoire dans le cache du navigateur. En outre, l'intercepteur peut ne pas être transféré vers le terminal à chaque initialisation de l'application-cible mais l'application de déploiement peut tout d'abord vérifier s'il est stocké sur le terminal.

De même, l'intercepteur et l'application de déploiement ne sont pas forcément transmis lors de la même étape. Toute l'application-cible peut en revanche être transmise lors d'une seule et même étape.

Les étapes 50 à 54 sont également optionnelles, même si elles sont préférentielles pour garantir l'accord de l'utilisateur.