Brevet FR3011104A1 — publié le 20150327

La présente invention se rapporte à des moyens pour déporter, sur un terminal, une interface utilisateur d'une application hôte exécutée par un système applicatif distant. Elle concerne plus particulièrement des moyens pour permettre d'intervenir à distance sur le système d'exploitation d'un ordinateur à des fins d'assistance technique, ou encore d'utiliser, depuis un dispositif connecté à Internet, des applications hébergées sur un serveur distant. L'émergence d'infrastructures informatiques proposant des logiciels en tant que service (désigné par l'acronyme anglais «SaaS» pour «Software as a Service»), en particulier des services dans le nuage (en anglais, «cloud computing»), ainsi que la généralisation de nouveaux dispositifs tels que les tablettes ou les téléphones mobiles intelligents ont généré une demande pour une utilisation locale de logiciels exécutés par des systèmes distants. Une première solution consiste à adapter un logiciel existant, qu'il s'agisse d'un outil de bureautique ou d'un progiciel de gestion complexe, à ces nouvelles utilisations. Pour cela, il est nécessaire de concevoir à nouveau l'interface utilisateur et proposer plusieurs versions, en fonction des plates-formes supportées. Ces adaptations nécessitent de reprogrammer le logiciel, opérations complexes, ce qui engendre donc des surcoûts significatifs. Une autre solution consiste à exécuter le logiciel sur le système distant, et à reproduire sur l'écran du dispositif local l'interface utilisateur dudit logiciel. Ces solutions dites d'accès à distance reposent sur le principe du déport de l'affichage de l'application exécutée à distance sur le client local: seules les interactions de l'utilisateur sont transmises au système distant de sorte que ce dernier puisse les prendre en compte. Une quantité importante de données, principalement celles nécessaires pour transmettre les représentations graphiques de l'interface, est échangée entre le client local et le système distant. En outre, cette solution est peu adaptée au déport d'interface sur des dispositifs locaux présentant des caractéristiques très diverses, notamment en terme de résolutions d'affichage. Un des objets de l'invention est de fournir des moyens pour déporter l'interface utilisateur d'une application informatique hôte exécutée sur un système distant, capable de s'adapter aux contraintes et caractéristiques des terminaux locaux. Un autre objet de l'invention est de fournir des moyens de déport, ne nécessitant pas de reprogrammation de l'application hôte. Un autre objet de l'invention est de fournir des moyens de déport adaptés à être utilisés avec des terminaux aux capacités très diverses, comme des ordinateurs portables, des téléphones intelligents, des tablettes, ou tout autre dispositif permettant d'afficher ou de saisir des informations sur un écran. Un autre objet de l'invention est de fournir des moyens de déport configurables permettant notamment de sélectionner les éléments de l'interface devant être effectivement reproduits sur le terminal, en fonction de droits d'accès ou des capacités du terminal. Un autre objet de l'invention est de fournir des moyens permettant de déporter l'interface grâce à un réseau de communication, en limitant la quantité d'informations échangées entre le terminal et l'application hôte. Un autre objet de l'invention est de fournir des composants logiciels permettant à des concepteurs de logiciel de bâtir des solutions utilisant lesdits composants pour déporter une interface utilisateur. Un autre objet de l'invention est de fournir une solution ne nécessitant pas l'ouverture d'une session utilisateur spécifique pour déporter l'interface. Un autre objet de l'invention est de fournir une solution configurable aisément, notamment selon les souhaits de l'utilisateur ou d'un administrateur. Un ou plusieurs de ces objets sont remplis par les procédés, les programmes d'ordinateur, et les supports d'enregistrement selon les revendications indépendantes. Les revendications dépendantes fournissent en outre des solutions à ces objets et/ou d'autres avantages. Plus particulièrement, selon un premier aspect, l'invention se rapporte à un procédé pour déporter, sur un terminal, une interface utilisateur d'une application hôte exécutée par un système applicatif. Le terminal est couplé à un réseau de communication. Le procédé comporte les étapes suivantes: - une étape de collecte des informations relatives à la création ou la mise à jour, par l'application hôte, d'éléments de l'interface utilisateur de l'application hôte; - une étape d'extraction d'informations descriptives des éléments de l'interface utilisateur, à partir des informations collectées au cours de l'étape de collecte; - une étape de transmission des informations descriptives au terminal, par l'intermédiaire du réseau de communication. Le réseau de communication est par exemple le réseau Internet, ou encore un réseau intranet. L'application hôte est par exemple un service pour traiter des tâches bureautiques, un logiciel métier, ou un outil de prise de contrôle à distance et de gestion de parc informatique. Le terminal est par exemple un ordinateur portable, une tablette, un ordinateur de bureau, ou encore un système embarqué. Le terminal peut comprendre des moyens informatiques, typiquement un processeur, des moyens de stockage, et des moyens d'affichage et d'interaction - par exemple un écran tactile, un ensemble composé d'un clavier, d'une souris et d'un écran - pour permettre à un utilisateur d'interagir avec des applications exécutées localement. Les éléments de l'interface utilisateur sont les composants utilisés par l'application hôte pour construire l'interface utilisateur, par exemple, des fenêtres, des boutons, des champs de saisie, des lecteurs audio/vidéo, etc. Les informations descriptives relatives aux éléments de l'interface utilisateur correspondent aux informations permettant de décrire les éléments de l'interface utilisateur. Les informations descriptives relatives aux éléments de l'interface utilisateur comportent par exemple au moins une des informations suivantes: un identifiant, un type, un contenu présenté, une position, une dimension, un comportement, une caractéristique graphique. À titre d'exemple, pour une fenêtre de l'interface utilisateur, les informations descriptives relatives à cette fenêtre pourraient être: l'identifiant permettant d'identifier la fenêtre, le type de fenêtre (fenêtre modale, fenêtre plein écran, fenêtre redimensionnable, etc.), les dimensions de cette fenêtre, le titre de la fenêtre, la position de cette fenêtre relativement aux autres éléments de l'interface utilisateur, la couleur de l'arrière-plan, etc. Ainsi, le procédé permet de ne transmettre au client que les informations descriptives des éléments de l'interface utilisateur, et non une image de l'interface utilisateur: la quantité de données transmises est donc fortement limitée. En outre, en décrivant les éléments de l'interface utilisateur, le terminal peut non seulement reproduire lesdits éléments, mais également les adapter ou les remplacer en fonction des capacités ou de la configuration du terminal. Par exemple, préalablement à l'étape de transmission, les informations descriptives des éléments de l'interface utilisateur de l'application hôte peuvent être adaptées et/ou remplacées et/ou supprimées, en fonction des capacités du terminal et/ou de la configuration et/ou des paramètres propres au terminal et/ou à son utilisateur. Ainsi une fenêtre instanciée par l'application hôte peut être remplacée par un élément d'interface utilisateur plus adapté sur un terminal de type téléphone intelligent. Cela est rendu possible par l'envoi d'une description des éléments de l'interface utilisateur, et pas seulement une représentation graphique. Les informations réunies lors de l'étape de collecte peuvent être obtenues, au moins partiellement, en interceptant des demandes, émises par l'application hôte, de création ou de mise à jour des éléments de l'interface utilisateur. En particulier, l'application hôte peut faire appel à des couches logicielles proposées par un système d'exploitation du système: ces appels peuvent alors être interceptés et analysés de sorte à extraire les informations souhaitées. Les informations réunies lors de l'étape de collecte peuvent aussi être reçues, au moins partiellement, par une interface de collecte adaptée à être utilisée par l'application hôte pour transmettre les informations relatives à la création ou la mise à jour des éléments de l'interface utilisateur. La transmission des informations entre le terminal et le système applicatif peut être sécurisé tout ou en partie, par exemple en mettant en oeuvre des procédés d'authentification bout-en-bout et/ou de cryptage de données. Les informations descriptives peuvent être encodées à l'aide d'un langage de balisage utilisant une sémantique adaptée à la description des éléments de l'interface utilisateur, avant d'être transmises au terminal. L'encodage permet en particulier de transposer, sous une forme adaptée et efficace, les informations nécessaires pour décrire les éléments de l'interface utilisateur. Les informations descriptives peuvent être encodées à l'aide d'un langage de balisage, par exemple à l'aide d'un langage de balisage extensible ( en anglais « XML » pour « Extensible Markup Language ») utilisant une sémantique adaptée. Au cours de l'étape de transmission, les informations descriptives peuvent être filtrées, selon au moins un critère, avant d'être transmises au terminal. Le critère est par exemple fonction des droits d'accès d'un utilisateur connecté au terminal. Le critère peut aussi être fonction d'une liste d'exclusion d'un sous-ensemble des éléments de l'interface utilisateur, renseignée par un administrateur. Aussi, il est possible d'adapter finement et selon diverses contraintes, les informations descriptives transmises au terminal, en particulier pour s'adapter à des contraintes de sécurité. Le procédé peut encore comporter les étapes suivantes : - une étape de réception d'informations descriptives de mise à jour des éléments de l'interface utilisateur ; - une étape d'identification des modifications à appliquer aux éléments de l'interface utilisateur, en fonction des informations descriptives de mises à jour ; - une étape de mise à jour des éléments de l'interface utilisateur pour prendre en compte les modifications identifiées au cours de l'étape d'identification. Ainsi l'application hôte peut mettre à jour les éléments de l'interface utilisateur à partir des informations de mise à jour reçues, par exemple du terminal. Au cours de l'étape d'identification, les adaptions nécessaires pour transposer les mises à jour reçues aux éléments correspondants de l'interface utilisateur de l'application hôte peuvent ainsi être réalisées : par exemple, le redimensionnement d'une fenêtre sur l'interface locale du terminal ayant provoqué l'envoi d'une information de mise à jour, peut être transposé de sorte à permettre un redimensionnement proportionnel de la fenêtre correspondante de l'interface utilisateur de l'application hôte, en tenant compte des différences dues à des résolutions d'affichage différentes. De manière optionnelle, au cours de l'étape de réception et/ou d'identification, les informations de mise à jour reçu peuvent être filtrées selon un deuxième critère. Par exemple, le deuxième critère peut être fonction des droits d'accès de l'utilisateur du terminal distant et/ou encore en fonction d'une liste d'exclusion d'éléments d'interface renseignée par un administrateur. Cette étape optionnelle permet par exemple de renforcer la sécurité et la fiabilité, en proposant un mécanisme pour éliminer les demandes de mises à jour non appropriées ou émises par un utilisateur non autorisé. L'invention se rapporte aussi à un procédé pour créer ou mettre à jour, sur le terminal, une interface utilisateur locale de l'application hôte exécutée par le système applicatif. Le terminal est couplé au réseau de communication. Le procédé comporte les étapes suivantes : - une étape de réception d'informations descriptives d'éléments de l'interface utilisateur locale; - une étape d'extraction d'informations locales relatives à des éléments de l'interface utilisateur locale, à partir des informations descriptives reçues au cours de l'étape de réception; - une étape de génération et/ou de mises à jour des éléments de l'interface utilisateur locale, en fonction des informations locales extraites au cours de l'étape d'extraction. Les informations descriptives des éléments de l'interface utilisateur locale peuvent être adaptées et/ou remplacées et/ou supprimées, en fonction des capacités du terminal et/ou de la configuration et/ou de paramètres propres au terminal et/ou à son utilisateur. Par exemple, la dimension et les proportions des éléments de l'interface utilisateur locale peuvent être adaptées à la résolution de l'écran du terminal, les couleurs des éléments de l'interface utilisateur locale peuvent être choisies en fonction de paramètres saisis par l'utilisateur du terminal. Un type plus adapté pour certains éléments de l'interface utilisateur locale peut encore être utilisé en lieu et place de celui correspondant dans l'interface utilisateur de l'application hôte. La transmission des informations entre le terminal et le système applicatif peut être sécurisé tout ou en partie, par exemple en mettant en oeuvre des procédés d'authentification bout-en-bout et/ou de cryptage de données. Les informations descriptives des éléments de l'interface utilisateur locale comportent par exemple au moins une des informations suivantes: un identifiant, un type, un contenu présenté, une position, une dimension, un comportement, une caractéristique graphique. Les informations descriptives des éléments de l'interface utilisateur locale peuvent être décodées en les interprétant à l'aide d'un langage de balisage utilisant une sémantique adaptée à la description des éléments de l'interface utilisateur locale. Les informations descriptives des éléments de l'interface utilisateur locale peuvent être filtrées, selon au moins un critère. Le critère est par exemple fonction des droits d'accès d'un utilisateur connecté au terminal. Le critère peut aussi être fonction d'une liste d'exclusion d'un sous-ensemble des éléments de l'interface utilisateur. Aussi, il est possible d'adapter finement et selon diverses contraintes, les informations descriptives traitées par le terminal, en particulier pour s'adapter à des contraintes de sécurité. Le procédé peut en outre comporter les étapes suivantes : - une étape de collecte d'informations de mise à jour des éléments de l'interface utilisateur locale; - une étape d'extraction d'informations descriptives de mise à jour des éléments de l'interface utilisateur locale, à partir des informations collectées au cours de l'étape de collecte; - une étape de transmission, au système applicatif, des informations descriptives de mise à jour des éléments de l'interface utilisateur locale, par l'intermédiaire du réseau de communication. De manière optionnelle, au cours de l'étape d'extraction ou de transmission, les informations descriptives de mise à jour des éléments de l'interface utilisateur locale peuvent être filtrées selon un troisième critère. Par exemple, le troisième critère peut être choisi de sorte que les informations descriptives relatives à des mises à jour n'ayant qu'un effet sur les éléments de l'interface utilisateur locale et non sur le fonctionnement de l'application hôte 22, soient exclues des informations transmises. Aussi, cette étape optionnelle permet de limiter le transfert d'information ayant un impact local seulement, et donc de limiter l'envoi d'informations non pertinentes. Selon un deuxième aspect, l'invention se rapporte à un programme d'ordinateur comportant des instructions pour l'exécution des étapes des procédés selon le premier aspect, lorsque ledit programme est exécuté par un processeur. Chacun de ces programmes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. 1:1 Selon un troisième aspect, l'invention se rapporte à un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes des procédés selon le premier aspect. Le support d'informations peut être n'importe quelle entité ou n'importe quel dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé par un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. D'autres particularités et avantages de la présente invention apparaîtront, dans la description ci-après de modes de réalisation, en référence aux dessins annexés, dans lesquels: - la figure 1 est un schéma bloc d'une infrastructure pour fournir un service applicatif, exécuté à distance, à un terminal ; - la figure 2 est un diagramme de séquence d'un procédé pour transmettre, à un terminal, des informations descriptives de l'interface utilisateur de l'application hôte; - la figure 3 est un diagramme de séquence d'un procédé pour générer ou mettre à jour, sur le terminal, l'interface utilisateur locale, à partir des informations descriptives de l'interface utilisateur de l'application hôte; - la figure 4 est un diagramme de séquence d'un procédé pour transmettre, à l'application hôte, des informations de mises à jour relatives aux interactions de l'utilisateur avec l'interface utilisateur locale ; - la figure 5 est un diagramme de séquence d'un procédé pour mettre à jour l'interface utilisateur de l'application hôte, à partir des informations de mise à jour de l'interface utilisateur locale du terminal. La figure 1 illustre schématiquement une infrastructure pour fournir un service applicatif à un terminal. L'infrastructure comporte un système applicatif 10 comportant des moyens de couplage à un réseau de communication 12, par exemple au réseau Internet, ou encore à un réseau intranet. Les moyens de couplage en réseau de communications 12 permettent en particulier au système applicatif 10 d'échanger des informations avec un terminal 14, situé à distance. Le système applicatif 10 comprend des moyens informatiques, typiquement des moyens de calcul comme des processeurs, ainsi que des dispositifs de stockage comme des disques durs et de la mémoire vive. Les moyens informatiques du système applicatif 10 permettent en particulier d'exécuter un système d'exploitation 20 au sein duquel une application hôte 22 peut être exécutée. L'application hôte 22 est utilisée pour délivrer un service applicatif à un utilisateur du terminal 14. Les traitements et calculs nécessaires à l'exécution de l'application hôte 22 sont principalement mis en oeuvre grâce aux moyens informatiques du système applicatif 10. L'application hôte 22 est par exemple un service pour traiter des tâches bureautiques de type traitement de texte, tableur, gestion des contacts et des agendas, messagerie, un logiciel métier - par exemple un logiciel de gestion ou d'accès à une base de données métiers, ou encore un outil de prise de contrôle à distance et de gestion de parc informatique. Les moyens informatiques du système applicatif 10 permettent encore d'exécuter un module de déport 24 d'interface utilisateur. Le module de déport 24 a notamment pour fonction de permettre à un utilisateur de visualiser et manipuler, sur le terminal 24, l'interface utilisateur de l'application hôte 22. Le module de déport 24 comprend des moyens pour d'une part intercepter les commandes émises par l'application hôte 22 pour générer les élément de l'interface utilisateur, et d'autre part transmettre, par l'intermédiaire du réseau de communications 12, au terminal 14, des informations pour reconstituer les éléments de l'interface utilisateur localement. Le terminal 14 est par exemple un ordinateur portable, une tablette, un ordinateur de bureau, ou encore un système embarqué. Le terminal 14 comprend des moyens de communication pour se coupler au réseau de communication 12 et échanger des informations avec le système applicatif 10. Le terminal 14 comprend des moyens informatiques, typiquement un processeur, des moyens de stockage, et des moyens d'affichage et d'interaction - par exemple un écran tactile, un ensemble composé d'un clavier, d'une souris et d'un écran - pour permettre à un utilisateur d'interagir avec les applications exécutées localement. Les moyens informatiques du terminal 14 permettent en particulier d'exécuter un navigateur 30, ainsi qu'un module client 32 s'exécutant dans l'environnement navigateur 30. Le module client 32 a notamment pour fonction de recevoir les informations transmises par le module de déport 24, et générer des éléments d'une interface utilisateur locale 34. Le terminal 14 comporte encore un module de traitement des interactions locales 36 configuré pour intercepter les interactions de l'utilisateur avec les moyens d'affichage d'interaction et les transmettre au module client 32. À la réception de ces informations, le module client 32 est configuré pour mettre à jour les éléments de l'interface utilisateur locale 34 en conséquence, et reporter ces interactions à l'application hôte 22 par l'intermédiaire du module de déport 24. Il est à noter que d'autres types de technolologie cliente peuvent être utilisées en lieu et place d'un navigateur : par exemple une application réalisée selon la technologie Flex ou Java. La figure 2 illustre, par un diagramme de séquence, un procédé, adapté à être mis en oeuvre par le système applicatif 10, pour transmettre, au terminal 14, des informations descriptives des éléments de l'interface utilisateur de l'application hôte 22. Au cours d'une étape 110, l'application hôte 22 génère des éléments de l'interface utilisateur et/ou met à jour les éléments existants de l'interface utilisateur. Les éléments de l'interface utilisateur sont les composants utilisés par l'application hôte 22 pour construire l'interface utilisateur, par exemple, des fenêtres, des boutons, des champs de saisie, des lecteurs audio/vidéo, etc. L'application hôte 22 peut faire appel au système d'exploitation 20 pour la création des éléments de l'interface utilisateur. Pour cela, des appels à des couches logicielles proposées par le système d'exploitation 20 sont émis lors d'une étape 120. Le module de déport 24 intercepte ces appels et mémorise les informations ainsi obtenues, au cours d'une étape 130. Le module de déport 24 a ainsi connaissance des éléments d'interface créés par l'application hôte 22, de leurs identifiants, de leur type et de leurs attributs, par exemple leurs tailles, leurs positions, leurs couleurs, etc. L'application hôte 22 peut également transmettre directement au module de déport 24 les informations relatives aux éléments de l'interface utilisateur. À cette fin, le module de déport 24 met à disposition de l'application hôte 22 une interface adaptée. Au cours d'une étape 130, des informations descriptives des éléments de l'interface utilisateur locale sont extraites, à partir des informations collectées au cours de l'étape 120. Les informations descriptives relatives aux éléments de l'interface utilisateur correspondent aux informations permettant de décrire les éléments de l'interface utilisateur. Les informations descriptives relatives aux éléments de l'interface utilisateur comportent par exemple au moins une des informations suivantes: un identifiant, un type, un contenu présenté, une position, une dimension, un comportement, une caractéristique graphique. À titre d'exemple, pour une fenêtre de l'interface utilisateur, les informations descriptives relatives à cette fenêtre pourraient être: l'identifiant permettant d'identifier la fenêtre, le type de fenêtre (fenêtre modale, fenêtre plein écran, fenêtre redimensionnable, etc.), les dimensions de cette fenêtre, le titre de la fenêtre, la position de cette fenêtre relativement aux autres éléments de l'interface utilisateur, la couleur de l'arrière-plan, etc. Dans une étape 140, les informations descriptives de l'interface utilisateur de l'application hôte 22 sont encodées puis transmises au terminal 14, par l'intermédiaire du réseau de communications 12. L'encodage permet en particulier de transposer, sous une forme adaptée et efficace, les informations nécessaires pour décrire les éléments de l'interface de l'application hôte 22. Les informations descriptives peuvent être encodées à l'aide d'un langage de balisage, par exemple à l'aide d'un langage de balisage extensible (en anglais «XML» pour «Extensible Markup Language») utilisant une sémantique adaptée. De manière optionnelle, au cours de l'étape 140, une partie des informations descriptives peut être filtrée. Par exemple, en fonction des droits d'accès de l'utilisateur du terminal distant et/ou encore en fonction d'une liste d'exclusion d'éléments d'interface renseignée par un administrateur, les informations correspondantes sont exclues des informations transmises au terminal 14. Aussi, une partie de l'interface utilisateur de l'application hôte est transmise, permettant d'adapter les informations envoyées au terminal 14 aux contraintes de sécurité ou encore de limiter l'accès à distance d'une partie seulement de l'application hôte. La figure 3 illustre, par un diagramme de séquence, un procédé pour générer ou mettre à jour sur le terminal 14 des éléments de l'interface utilisateur locale 34, à partir des informations descriptives d'éléments d'interface. Ce procédé est adapté à être mis en oeuvre par le terminal 14. Au cours d'une étape 310, le module client 32 reçoit des informations descriptives encodées par le module de déport 24. Au cours d'une étape 320, le module client 32 identifie les éléments de l'interface utilisateur locale 34 à générer ou mettre à jour, ainsi que leurs attributs. Les adaptions nécessaires pour transposer les mises à jour reçues du système applicatif aux éléments correspondants de l'interface utilisateur locale sont réalisées. Les informations descriptives sont décodées, de manière à identifier notamment le type et les attributs des éléments d'interface à générer. Plus particulièrement, le module client 32 contrôle le navigateur 30 du terminal pour que ce dernier instancie ou mettent à jour, au cours d'une étape 330, les éléments de l'interface utilisateur locale, en fonction des informations descriptives décodées. Pour cela, le module client 32 identifie au cours de l'étape 320 notamment le type et les attributs des éléments de l'interface utilisateur locale à générer, et demande au navigateur 30 d'instancier des éléments de l'interface utilisateur locale adaptés aux contraintes du navigateur 30 et du terminal 14, et/ou encore aux souhaits de personnalisation de l'utilisateur. Par exemple, la dimension et les proportions des éléments de l'interface utilisateur locale 34 peuvent être adaptées à la résolution de l'écran du terminal 14. Les couleurs des éléments de l'interface utilisateur locale 34 peuvent être choisies en fonction des paramètres saisis par l'utilisateur du terminal. Un type plus adapté pour certains éléments de l'interface utilisateur locale 34 peut encore être utilisé en lieu et place de celui correspondant dans l'interface utilisateur de l'application hôte: par exemple, une fenêtre munie d'une barre latérale de défilement vertical peut être remplacée par une fenêtre autorisant le défilement vertical en glissant verticalement le doigt sur une surface tactile. Au cours d'une étape 340, l'interface utilisateur locale 34 est alors dans un état fonctionnel, dans lequel cette dernière peut être utilisée par l'utilisateur du terminal 14, pour visualiser et/ou manipuler des données et/ou requérir des services. La figure 4 illustre, par un diagramme de séquence, un procédé pour transmettre, à l'application hôte 22, des informations de mises à jour relatives aux interactions de l'utilisateur avec les éléments de l'interface utilisateur locale 34. Ce procédé est adapté être mis en oeuvre par le terminal 14. Au cours d'une étape 410, le module de traitement des interactions locales 36 intercepte les interactions de l'utilisateur avec les éléments de l'interface utilisateur locale 34. Les éléments de l'interface utilisateur locale sont alors mis à jour localement au cours d'une étape 420. Le module client 32 est informé de ces interactions, et au cours d'une étape 430, encode les informations de mise à jour des éléments de l'interface utilisateur locale 34. L'encodage permet en particulier de transposer, sous une forme adaptée et efficace, les informations nécessaires pour décrire les mises à jour des éléments de l'interface utilisateur locale 34 engendrées par les interactions de l'utilisateur. Les informations descriptives peuvent être encodées à l'aide d'un langage de balisage, par exemple à l'aide d'un langage de balisage extensible (en anglais «XML» pour «Extensible Markup Language») utilisant une sémantique adaptée. Les informations de mises à jour encodées sont ensuite transmises par le navigateur 30 au système applicatif 10 par l'intermédiaire du réseau de communication 12. De manière optionnelle, au cours de l'étape 440, une partie des informations de mise à jour peut être filtrée. Par exemple, les informations relatives aux mises à jour n'ayant qu'un effet sur les éléments de l'interface utilisateur locale 34 et non sur le fonctionnement de l'application hôte 22, peuvent être exclues des informations transmises au système applicatif 10. Aussi, cette étape optionnelle permet de limiter le transfert d'information ayant un impact local seulement, et donc de limiter l'envoi d'informations non pertinentes. La figure 5 illustre, par un diagramme de séquence, un procédé pour mettre à jour les éléments de l'interface utilisateur de l'application hôte 22, à partir des informations de mise à jour reçues du terminal 10. Ce procédé est adapté à être mis en oeuvre par le système applicatif 10. Au cours d'une étape 210, le module de déport 24 reçoit et décode les informations de mise à jour encodées par le module client 32. Au cours d'une étape 220, le module de déport 24 identifie les éléments de l'interface utilisateur de l'application hôte 22 à mettre à jour ainsi que leurs attributs. Les adaptions nécessaires pour transposer les mises à jour reçues du terminal 14 aux éléments correspondants de l'interface utilisateur de l'application hôte 22 sont réalisées. Par exemple, le redimensionnement d'une fenêtre sur l'interface locale 34 du terminal ayant provoqué l'envoi d'une information de mise à jour, est transposé de sorte à permettre un redimensionnement proportionnel de la fenêtre correspondante de l'interface utilisateur de l'application hôte, en tenant compte des différences dues à des résolutions d'affichage différentes. De manière optionnelle, au cours de l'étape 210 ou 220, une partie des informations de mise à jour peut être filtrée par le module de déport 24. Par exemple, en fonction des droits d'accès de l'utilisateur du terminal distant et/ou encore en fonction d'une liste d'exclusion d'éléments d'interface renseignée par un administrateur, les informations de mise à jour correspondantes ne sont alors pas prises en considération. Cette étape optionnelle permet par exemple de renforcer la sécurité et la fiabilité, en proposant un mécanisme pour éliminer les demandes de mises à jour non appropriées ou émises par un utilisateur non autorisé. Le module de déport 24 transmet, au cours d'une étape 230, une demande au système d'exploitation 20 pour mettre à jour l'interface utilisateur de l'application hôte 22 en fonction des informations de mise à jour décodées et transposées. Le module de déport 24 peut également transmettre, au cours d'une demande 240, une demande à l'application hôte, pour mettre à jour jour l'interface utilisateur de l'application hôte 22 en fonction des informations de mises à jour décodées et transposées. À cette fin, l'application hôte 22, met à disposition du module de déport 24, une interface adaptée. L'application hôte 22 prend en compte les mises à jour au cours d'une étape 240, et si nécessaire, régénère ou adapte son interface utilisateur dans une étape 250. Il est à noter que d'autres formats peuvent être utilisés en lieu et place du format XML pour décrire les données. A titre d'exemple, il est possible d'utiliser un format binaire propriétaire. REVENDICATIONS1 Procédé pour déporter, sur un terminal (14), une interface utilisateur d'une application hôte (22) exécutée par un système applicatif (10), le terminal étant couplé à un réseau de communication (12), caractérisé en ce qu'il comporte les étapes suivantes : - une étape de collecte (120) des informations relatives à la création ou la mise à jour, par l'application hôte, d'éléments de l'interface utilisateur de l'application hôte; - une étape d'extraction (130) d'informations descriptives des éléments de l'interface utilisateur, à partir des informations collectées au cours de l'étape de collecte; - une étape de transmission (140) des informations descriptives au terminal (14), par l'intermédiaire du réseau de communication. 2. Procédé selon la revendication 1, dans lequel, préalablement à l'étape de transmission, les informations descriptives des éléments de l'interface utilisateur de l'application hôte sont adaptées et/ou remplacées et/ou supprimées, en fonction des capacités du terminal et/ou de la configuration et/ou des paramètres propres au terminal et/ou à son utilisateur. 3. Procédé selon l'une quelconque des revendications précédentes, dans lequel les informations réunies lors de l'étape de collecte sont obtenues, au moins partiellement, en interceptant des demandes, émises par l'application hôte (22), de création ou de mise à jour des éléments de l'interface utilisateur. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel les informations réunies lors de l'étape de collecte sont reçues, au moins partiellement, par une interface de collecte adaptée à être utiliséepar l'application hôte (22) pour transmettre les informations relatives à la création ou la mise à jour des éléments de l'interface utilisateur. 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel les informations descriptives relatives aux éléments de l'interface utilisateur comportent au moins une des informations suivantes: un identifiant, un type, un contenu présenté, une position, une dimension, un comportement, une caractéristique graphique. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel les informations descriptives sont encodées à l'aide d'un langage de balisage utilisant une sémantique adaptée à la description des éléments de l'interface utilisateur, avant d'être transmises au terminal. 7 Procédé selon l'une quelconque des revendications précédentes, dans lequel, au cours de l'étape de transmission, les informations descriptives sont filtrées, selon au moins un critère, avant d'être transmises au terminal. 8. Procédé selon l'une quelconque des revendications précédentes, comportant en outre les étapes suivantes : - une étape de réception (210) d'informations descriptives de mise à jour des éléments de l'interface utilisateur ; - une étape d'identification (220) des modifications à appliquer aux éléments de l'interface utilisateur, en fonction des informations descriptives de mises à jour ; - une étape de mise à jour (230, 240) des éléments de l'interface utilisateur pour prendre en compte les modifications identifiées au cours de l'étape d'identification. 9. Procédé pour créer ou mettre à jour, sur un terminal (14), une interface utilisateur locale (34) d'une application hôte (22) exécutée par un système applicatif (10), le terminal étant couplé à un réseau decommunication (12), caractérisé en ce qu'il comporte les étapes suivantes : - une étape de réception (310) d'informations descriptives d'éléments de l'interface utilisateur locale; - une étape d'extraction (320) d'informations locales relatives à des éléments de l'interface utilisateur locale, à partir des informations descriptives reçues au cours de l'étape de réception (310); - une étape de génération et/ou de mises à jour (330, 340) des éléments de l'interface utilisateur locale, en fonction des informations locales extraites au cours de l'étape d'extraction (320). 10. Procédé selon la revendication 9, dans lequel les informations descriptives des éléments de l'interface utilisateur locale sont adaptées et/ou remplacées et/ou supprimées, en fonction des capacités du terminal (10) et/ou de la configuration et/ou des paramètres propres au terminal et/ou à son utilisateur. 11. Procédé selon l'une quelconque des revendications 9 à 10, dans lequel les informations descriptives des éléments de l'interface utilisateur locale comportent au moins une des informations suivantes: un identifiant, un type, un contenu présenté, une position, une dimension, un comportement, une caractéristique graphique. 12. Procédé selon l'une quelconque des revendications 9 à 11, dans lequel, les informations descriptives des éléments de l'interface utilisateur locale sont décodées en les interprétant à l'aide d'un langage de balisage utilisant une sémantique adaptée à la description des éléments de l'interface utilisateur locale. 13. Procédé selon l'une quelconque des revendications 9 à 12, dans lequel, les informations descriptives des éléments de l'interface utilisateur locale sont filtrées, selon au moins un critère.14. Procédé selon l'une quelconque des revendications 9 à 13, comportant en outre les étapes suivantes : - une étape de collecte (410) d'informations de mise à jour des éléments de l'interface utilisateur locale; - une étape d'extraction (430) d'informations descriptives de mise à jour des éléments de l'interface utilisateur locale, à partir des informations collectées au cours de l'étape de collecte; - une étape de transmission (440), au système applicatif (14), des informations descriptives de mise à jour des éléments de l'interface utilisateur locale, par l'intermédiaire du réseau de communication. 15. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 8 et/ou des étapes du procédé selon l'une quelconque des revendications 9 à 14, lorsque ledit programme est exécuté par un processeur. 16. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 8 et/ou des étapes du procédé selon l'une quelconque des revendications 9 à 14.