Brevet FR2980937A1 — publié le 20130405

i L'invention a trait de manière générale au partage d'applications entre divers systèmes informatiques connectés à un réseau de communication. Plus précisément, l'invention concerne le partage d'une application web entre plusieurs terminaux informatiques reliés à un réseau, une telle application web étant exécutée par un navigateur web dans un terminal informatique, au cours d'une session initiée par un utilisateur du terminal. On entend ici par "application web" des applications logicielles accessibles via un navigateur web. De telles applications sont généralement développées sous forme de modules distincts, parfois appelées Porlets, Widgets ou simplement Modules en terminologie anglaise, et sont le plus souvent manipulables, grâce à un navigateur web, à l'intérieur d'une interface graphique associée telle qu'une fenêtre. La présente invention s'applique notamment à un système dit « d'informatique en nuage » (traduction possible de l'anglais « cloud computing »), c'est-à-dire un système informatique qui permet notamment aux entreprises qui ne disposent pas de leurs propres serveurs, de stocker leurs données sur des serveurs qu'elles louent. Elles délèguent ainsi leurs opérations de calcul et de stockage à des prestataires bénéficiant d'infrastructures informatiques disséminées dans le monde entier et reliées entre elles par un réseau. L'accès à cette « informatique en nuage » se fait généralement via Internet, et dans ce contexte, un utilisateur accède à ses applications et ses données hébergées sur un serveur distant au travers d'un « bureau virtuel », via tout terminal connecté au réseau. Il existe diverses solutions techniques de partage d'écran ou d'applications logicielles entre plusieurs dispositifs informatiques. L'une d'entre elles est connue sous l'acronyme VNC pour « virtuel network computing » en anglais. VNC est un protocole d'accès à un bureau distant qui permet de prendre le contrôle d'un ordinateur distant. Il permet de transmettre les saisies au clavier ainsi que les clics de souris d'un ordinateur à l'autre, à travers un réseau informatique, en utilisant le protocole RFB (Remote Frame Buffer) qui est un protocole d'accès à distance aux interfaces graphiques des utilisateurs (GUI). Le protocole VNC se compose de deux parties, un client et un serveur. Le serveur est le programme esclave sur la machine qui partage son écran, et le client (appelé aussi le viewer) est le programme maître qui regarde et interagit éventuellement avec le serveur. Par conséquent, comme beaucoup d'autres techniques de partage d'écran, les solutions basées sur le protocole VNC nécessitent l'installation d'une application logicielle sur l'ordinateur qui partage son écran et sur celui qui « regarde » à distance l'écran partagé. Le fait d'avoir à installer une application spécifique de partage d'écran sur chaque ordinateur concerné, présente des inconvénients en termes de coût financier et de temps d'installation de l'application. Par ailleurs une telle technique n'est pas appropriée à un partage d'application entre plusieurs ordinateurs distants, dans le cadre d'un travail collaboratif par exemple. Enfin, avec la technique VNC, l'utilisateur qui partage son écran n'a pas la possibilité de garder le contrôle de son ordinateur pendant qu'un ordinateur distant a le contrôle sur son écran. Ainsi, il existe ainsi un besoin de solutions techniques de partage d'applications qui permettent à un utilisateur de partager l'usage d'une application avec un ou plusieurs autres utilisateurs, sans nécessité d'installation spécifique de modules logiciels supplémentaires, et tout en permettant à l'utilisateur de l'ordinateur qui partage une application donnée, de garder le contrôle sur le reste de son environnement informatique, non partagé. La présente vise notamment à répondre à ce besoin. A cet effet, selon un premier aspect, l'invention concerne un procédé de partage d'une application web entre plusieurs terminaux informatiques reliés à un réseau de communication, l'application web étant exécutée par un navigateur web d'un premier terminal informatique, au cours d'une première session initiée par un premier utilisateur. Conformément à l'invention, le procédé précité est caractérisé comme suit : - dans le premier terminal, suite à une détermination préalable d'un ensemble de terminaux avec lequel partager l'application web, une requête de partage d'application est envoyée à destination d'un premier serveur sur le réseau, cette requête de partage d'application incluant l'adresse web de lancement de l'application web et des informations d'identification du premier utilisateur relatives à la première session ; - en réponse à la réception de la requête de partage dans le premier serveur, un dispositif informatique prédéterminé sur le réseau lance une seconde session d'exécution de l'application web en utilisant les informations d'identification de session du premier utilisateur, la seconde session prenant comme état initial l'état d'exécution courant de la première session ; - dans le dispositif informatique prédéterminé, un flux de données de type VNC est créé, ce flux correspondant aux données d'affichage de la seconde session d'exécution de l'application web ; puis - le flux de données de type VNC est converti dans un format directement lisible par un navigateur web, et transmis à chacun des terminaux de l'ensemble de terminaux déterminés. Ainsi, selon l'invention, la caractéristique selon laquelle une seconde session d'exécution de l'application à partager est lancée dans un dispositif informatique sur le réseau, distinct du premier terminal informatique dont l'utilisateur (« premier utilisateur ») est initiateur du partage de l'application web, permet à ce premier utilisateur de pouvoir garder le contrôle sur le reste de son environnement informatique (bureau virtuel). Par ailleurs, la caractéristique selon laquelle un flux de données directement lisible par un navigateur web (désigné ici par « flux de données web ») en pratique par chargement d'une adresse web de type URL (Uniform Resource Locator) par le navigateur -, et correspondant aux données d'affichage de la seconde session d'exécution de l'application web partagée, est transmis à chacun des terminaux informatiques, permet d'éviter l'installation de logiciels additionnels dans l'ensemble des terminaux informatiques. Selon une caractéristique de réalisation du procédé précité, le dispositif informatique susmentionné dans lequel la seconde session d'exécution de l'application web est lancée, est une machine virtuelle. Le lancement d'une seconde session d'exécution de l'application web dans cette machine virtuelle, est alors précédé par : - l'envoi par le premier serveur d'une requête d'activation de machine virtuelle à destination d'un second serveur sur le réseau, la requête d'activation contenant l'adresse web de lancement de l'application web et lesdites informations d'identification de session du premier utilisateur ; - en réponse à la réception de la requête d'activation de machine virtuelle par le second serveur, activation d'une machine virtuelle. L'utilisation de machines virtuelles est particulièrement adaptée à un contexte de fourniture de logiciels à la demande ou « en tant que service » (en anglais Software as a Service - SaaS). En effet, la virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs distincts. On appelle serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE) ces ordinateurs virtuels. Les avantages liés à l'utilisation de machines virtuelles dans un contexte de fourniture de logiciels à la demande résident notamment dans une utilisation optimale des ressources d'un parc de machines (répartition des machines virtuelles sur les machines physiques en fonction des charges respectives) et dans l'allocation dynamique de la puissance de calcul en fonction des besoins de chaque application à un instant donné. Selon un mode de réalisation particulier de l'invention, la seconde session d'exécution de l'application web est lancée par un navigateur web de la machine virtuelle activée, et la création, dans la machine virtuelle, d'un flux de données de type VNC correspondant aux données d'affichage de la seconde session d'exécution de l'application web, est mis en oeuvre par un module serveur VNC fournissant un flux VNC à partir des données d'affichage produites par le navigateur web de la machine virtuelle. Dans ce mode de réalisation, l'étape de transmission du flux de données web à chacun des terminaux de l'ensemble de terminaux sélectionnés, comprend : - dans ladite machine virtuelle, la conversion par un module de visualisation de flux VNC, du flux VNC fourni par ledit module serveur VNC, en un flux de données de type web accessible via une adresse web déterminée, dite adresse web d'accès ; - l'envoi d'un message à chacun des terminaux informatiques de l'ensemble de terminaux sélectionnés, le message contenant ladite adresse web d'accès ; - dans chacun des terminaux informatiques de l'ensemble de terminaux, la réception du message suivie du chargement de l'adresse web d'accès par un navigateur web. Ainsi tout se passe comme si l'écran du terminal informatique du premier utilisateur, était déporté dans une machine virtuelle mise en oeuvre dans un serveur sur le réseau, et c'est le flux de données produit par le navigateur de la machine virtuelle qui fait l'objet d'un processus VNC global, c'est-à-dire, d'une part, la production d'un flux VNC (partie serveur VNC) à partir des données d'affichage de la seconde session d'exécution de l'application web ; puis d'autre part, la conversion du flux de données VNC en un flux de données web (partie cliente/viewer VNC). Chacun des terminaux informatiques choisis pour le partage de l'application web, peut alors recevoir le flux de données produit par le « visualisateur » (viewer) VMC de la machine virtuelle, simplement au moyen de son navigateur web. Selon un deuxième aspect, l'invention concerne un serveur de gestion du partage d'applications web entre plusieurs terminaux informatiques sur un réseau de communication. Selon l'invention, un tel serveur comporte : - des moyens de réception d'une requête de partage en provenance d'un terminal informatique dans lequel un navigateur web exécute une application web au cours d'une session initiée par un premier utilisateur, la requête de partage d'application incluant l'adresse web de lancement de l'application web, des informations d'identification du premier utilisateur relatives à ladite session ; - des moyens de génération et d'envoi d'une requête d'activation de machine virtuelle à destination d'un second serveur, ladite requête d'activation contenant l'adresse de lancement de ladite application web et lesdites informations d'identification de session du premier utilisateur. Corrélativement, selon un troisième aspect, l'invention concerne un serveur de gestion de machines virtuelles, ce serveur comportant : - des moyens de réception d'une requête d'activation de machine virtuelle en provenance d'un serveur de gestion de partage d'applications web, tel que brièvement exposé ci-dessus ; - des moyens d'activation d'une machine virtuelle, en réponse à la réception de la requête d'activation de machine virtuelle ; - des moyens pour déclencher le lancement par un navigateur web dans la machine virtuelle activée, d'une nouvelle session d'exécution de l'application web, en utilisant les informations d'identification de session du premier utilisateur, la nouvelle session de l'application web prenant comme état initial l'état d'exécution courant de la session dans le premier terminal. Selon un quatrième aspect, l'invention a aussi pour objet un système informatique dans lequel une machine virtuelle est configurée pour la mise en oeuvre d'un procédé de partage d'application tel que brièvement exposé plus haut. Une telle machine virtuelle selon l'invention comporte : - un module serveur VNC adapté à fournir un flux VNC correspondant aux données d'affichage résultant d'une nouvelle session d'exécution de l'application web à partager, dans un navigateur web de la machine virtuelle ; - un module de visualisation de flux VNC adapté à convertir le flux VNC fourni par le module serveur VNC, en un flux de données de type web directement lisible par un navigateur web et accessible via une adresse web d'accès déterminée, cette adresse web d'accès étant destinée à être chargée par un navigateur web dans chaque terminal informatique parmi un ensemble de terminaux informatiques, afin de partager l'exécution de ladite application web. Enfin, selon un cinquième aspect, la présente invention a également pour objet un module logiciel comprenant des instructions de programme pour la mise en oeuvre d'un ensemble d'étapes parmi celles définies dans un procédé de partage d'applications web, selon l'invention, tel que brièvement défini plus haut, lorsqu'un tel module logiciel est exécuté dans un système informatique. Un tel module logiciel peut utiliser n'importe quel langage de programmation, et comprendre des programmes sous forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi par conséquent un support d'enregistrement ou support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur associé au module logiciel précité. Les supports d'enregistrement précités peuvent être constitués par n'importe quelle entité ou dispositif capable de stocker un tel 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 amovible tel qu'une clé USB ou un moyen d'enregistrement magnétique, tel qu'un disque dur. D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un module logiciel selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Les avantages procurés par les serveurs, le système informatique, le module logiciel, tels que brièvement définis plus haut, selon respectivement les deuxième à cinquième aspects de l'invention, sont identiques ou contribuent à ceux mentionnés plus haut en relation avec le procédé de partage d'une application web, selon l'invention, et ne seront par conséquent pas rappelés ici. D'autres caractéristiques et avantages de la présente invention ressortiront de la description détaillée faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif, et dans lesquels : - les figures 1 a et 1 b illustrent le principe général d'un procédé de partage d'application, selon l'invention ; - la figure 2 représente un système de communication bâti autour d'un réseau de communication de type Internet et dans lequel peut être mis en oeuvre un procédé de partage d'application, selon l'invention ; et - la figure 3 représente sous forme d'organigramme les principales étapes d'un procédé de partage d'application, mis en oeuvre dans le système de communication représenté à la figure 2, selon un mode de réalisation de l'invention. Les figures la et lb illustrent le principe général d'un procédé de partage d'application, selon l'invention. Sur la figure la, trois terminaux informatiques U1, U2, U3 d'utilisateurs sont connectés un réseau NW de type Internet dans un contexte de cloud computing et plus précisément dans un contexte de logiciel en tant que service (SaaS). Les terminaux informatiques peuvent être de différents types, par exemple des ordinateurs personnels (PC), des tablettes tactiles, des téléphones intelligents (smartphone en anglais), notamment. Dans l'exemple illustré, le terminal U1 accède à distance via un navigateur web simultanément à trois applications web A1, A2, A3, par exemple une suite bureautique constituée d'un tableur grapheur, d'un logiciel de traitement de texte, et d'un logiciel de présentation. Cette suite bureautique est fournie par un serveur de logiciels (non représenté) sur le réseau NW. Les flèches C1, C2, C3, correspondant respectivement aux trois applications précitées, indiquent que les applications dont le contenu d'exécution est affiché dans une fenêtre respective sur l'écran du terminal U1 sont exécutées à distance du terminal U1, dans un serveur distant connecté au réseau NW ( « le nuage »). Les flèches D2 et D3 indiquent respectivement quel les utilisateurs des terminaux U2 et U3 ont fait une demande (ou ont été sélectionnés) pour partager avec l'utilisateur du terminal U1, respectivement, l'application A2 et l'application A3. La figure lb représente en conséquence la mise en partage des applications A2 et A3 exécutées lors d'une session initiée par l'utilisateur du terminal U1 avec les utilisateurs des terminaux U2 et U3. Comme représenté sur la fig. 1 b, suite aux demandes de partage des applications A2 et A3 par respectivement les terminaux U2 et U3, deux machines virtuelles ont été activées par un serveur VMS pour lancer respectivement une seconde session d'exécution pour l'application A2 et pour l'application A3. L'exécution à distance des applications A2 et A3 par les machines virtuelles précitées est représentée par les deux traits en pointillé C2b et C3b. Dans cet exemple, conformément à l'invention, l'application A2 est partagée entre les terminaux U1 et U2 par téléchargement respectif, auprès de la machine virtuelle concernée, du flux de données web représentatif de l'exécution de l'application A2 selon la seconde session d'exécution (flèches U1A2 et U2A2). De même, l'application A3 est partagée entre les terminaux U1 et U3 comme représenté par les flèches U1A3 et U3A3. En référence à la figure 2, on va à présent décrire un système de communication bâti autour d'un réseau de communication de type Internet et dans lequel on peut mettre en oeuvre un procédé de partage d'application, selon un exemple de réalisation de l'invention. Sur la figure 2, on retrouve les trois terminaux U1, U2, U3 et un réseau de communication NW de type Internet, déjà mentionnés en référence aux figures 1 a-1 b. Conformément à l'invention, ce système de communication comprend en outre un serveur WSG de gestion du partage d'applications web. Ce serveur WSG (« workspace gate ») fournit par exemple une plateforme de services accessible via un portail web dédié (on dit encore « page d'accueil ») dont l'adresse web (URL) est chargée par le navigateur web d'un terminal informatique considéré. Dans ce cas, un utilisateur de premier terminal U1 peut alors se connecter à une application web choisie sur la plateforme de services, après avoir saisi un identifiant d'utilisateur et un mot de passe dans une zone dédiée affichée par le portail. L'utilisateur du terminal U1 déclenche ainsi l'ouverture d'une session d'exécution de l'application web. Le serveur WSG comprend par ailleurs un module de réception d'une requête de partage en provenance d'un terminal informatique dans lequel un navigateur web exécute une application web au cours d'une session d'utilisateur, comme exposé ci- dessus. Comme cela sera détaillé plus loin dans l'exposé, cette requête de partage d'application inclut l'adresse web de lancement de l'application web, des informations d'identification du premier utilisateur relatives à la session initiale, et des informations d'identification de chaque terminal parmi un ensemble de terminaux déterminés au préalable, par exemple sélectionnés par l'utilisateur du terminal Ul. Le serveur WSG comprend également un module de génération et d'envoi d'une requête d'activation de machine virtuelle à destination d'un second serveur - le serveur VMS sur la figure 2 - cette requête d'activation contenant l'adresse de lancement de l'application web à partager et les informations d'identification de session du premier utilisateur, c'est-à-dire l'utilisateur du terminal U1 dans l'exemple décrit. Le serveur VMS (comme « virtuel machine server ») représenté sur la figure 2 est un serveur de gestion de machines virtuelles. En effet, conformément à l'invention, il comprend un module de réception d'une requête d'activation de machine virtuelle, telle que mentionnée ci-dessus, en provenance du serveur WSG. En pratique, le serveur VMS dispose d'un espace mémoire interne ou peut accéder à un espace mémoire externe, par exemple hébergé dans un autre serveur, lequel espace mémoire stocke des modèles logiciels (template en anglais) de machines virtuelles, qui peuvent être sélectionnés en fonction de leur disponibilité puis activés. Le serveur VMS comprend par conséquent des moyens pour déclencher le lancement, par le navigateur web d'une machine virtuelle (VM) sélectionnée, d'une nouvelle session d'exécution de l'application web à partager, en utilisant les informations d'identification de session du premier utilisateur, ici l'utilisateur du terminal U1. A cet effet, une machine virtuelle émulée dans un système informatique, en conformité avec l'invention, comprend un module APP LCH qui reçoit une requête d'activation en provenance du serveur VMS et dont le traitement déclenche le lancement, par le navigateur web WEB BR dans la machine virtuelle sélectionnée (VMi), d'une nouvelle session d'exécution de l'application web à partager. Par ailleurs, la machine virtuelle, VMi, comprend un module serveur VNC (VNC_SVR) adapté à fournir un flux VNC correspondant aux données d'affichage, dans son navigateur web (VNC BR), suite à l'exécution de l'application web (deuxième session). La machine virtuelle VMi comprend en outre un module de visualisation de flux VNC (VNC VWR) adapté à convertir le flux VNC fourni par le module serveur VNC précité (VNC SVR), en un flux de données directement lisible par un navigateur web extérieur à la machine virtuelle, c'est-à-dire accessible via une adresse web d'accès déterminée. Cette adresse web d'accès est destinée à être chargée par le navigateur web dans chaque terminal informatique (U2, U3) déterminé pour le partage de l'application web considérée. La machine virtuelle dispose enfin d'un module système d'exploitation OS, chargé notamment de gérer l'interopérabilité des différents modules composant la machine virtuelle et de gérer les entrées/sorties de données générées par ou reçues, dans la machine virtuelle. En liaison avec la figure 3, on va détailler à présent les principales étapes d'un procédé de partage d'application selon l'invention, mis en oeuvre dans le système de communication représenté à la figure 2. Afin de simplifier l'exposé, U1, U2, U3 désignent aussi bien les terminaux que leur utilisateur. Le procédé de partage d'une application web selon l'invention commence ainsi par une étape E10 au cours de laquelle, dans le terminal U1 (voir fig. 2), une application web désignée par APP est exécutée à distance depuis le terminal U1 et affiche des données d'exécution dans une interface graphique (par exemple une fenêtre) sur l'écran du terminal U1. Comme mentionné précédemment, l'exécution de l'application APP procède dans le mode de réalisation choisi, de l'ouverture par l'utilisateur du terminal U1 d'une première session (APP S1) de communication avec un serveur distant (serveur WSG). Cette session d'exécution de l'application web est lancée suite au chargement d'une page HTML (Hypertext Markup Language) correspondant à un portail web donnant accès à des logiciels en ligne, par exemple un suite bureautique. A cette fin, l'utilisateur U1 a entré préalablement au clavier un identifiant d'utilisateur (UID) et un mot de passe (PW), dans des champs dédiés de la page HTML. L'utilisateur U1 détermine ensuite un ensemble de terminaux (U2, U3) avec lequel partager l'application web APP. Selon un exemple de réalisation, la détermination de ces terminaux peut être effectuée à l'initiative de l'utilisateur U1, le portail web WSG affichant la liste d'utilisateurs inscrits dans la plateforme de services, cette liste incluant, le cas échéant, le ou les types de terminaux dont disposent les utilisateurs inscrits. L'utilisateur peut alors sélectionner les terminaux U2, U3, par exemple dans le cadre d'un travail collaboratif ou bien dans le cadre d'une séance de formation pour laquelle l'utilisateur U1 est le formateur. Selon un autre exemple de mise en oeuvre, ce sont les utilisateurs U2, U3 qui déclenchent l'envoi d'une requête de partage de l'application APP avec l'utilisateur U1, à destination du serveur WSG et ce dernier met à jour la page HTML du portail affichée à l'écran du terminal U1. L'utilisateur U1 peut alors donner suite aux requêtes de partage. Selon un mode de réalisation particulier, lors de la sélection des autres terminaux d'utilisateurs pour le partage de l'application, l'utilisateur U1 peut en outre définir, pour chacun des utilisateurs sélectionnés, des droits d'accès relatifs à l'application web partagée, par exemple lecture ou lecture-écriture. Suite à la sélection ou la validation par l'utilisateur U1 des terminaux U2 et U3 avec lesquels partager l'application, à l'étape EU, une requête HTTP (HyperText Transfer Protocol) de partage de l'application APP est envoyée par le terminal U1 à destination du serveur WSG. La requête de partage - désignée par SH_APP - inclut des informations permettant l'identification par le serveur WSG des terminaux sélectionnés, par exemple des identifiants de session de connexion de ces terminaux au portail web de la plateforme de services, de tels identifiants étant des identifiants conformes au protocole WebSocket, dans le mode de réalisation choisi. La requête de partage SH_APP inclut également l'adresse web (URL) de lancement de l'application web APP et des informations d'identification du premier utilisateur U1 (UID et PW) et relatives à la première session APP S1 d'utilisation de l'application (APP). Selon un exemple de réalisation, la requête de partage SH_APP prend la forme suivante : https://serviceDePartageOrange.com/ShareSevlet?url=www.app. com&login=martin&pwd=xwzy Dans cet exemple, `www.app.com' est l'adresse web d'accès à l'application web, `martin'est l'identifiant de l'utilisateur U1 et `xwzy'est son mot de passe. De retour à la figure 3, à l'étape E12, le serveur WSG reçoit la requête de partage SH APP, la traite et en conséquence génère et envoi à destination du serveur VMS, de gestion de machines virtuelles, une requête d'activation de machine virtuelle - désignée par ACT_VM -, et contenant l'adresse web de lancement de l'application web APP et les informations d'identification de session du premier utilisateur U1 (UID et PW). On notera ici que les serveurs WSG et VMS ont été présentés comme étant distincts pour faciliter la compréhension de l'exposé, mais que selon un mode de réalisation particulier, le serveur VMS pourra être inclus dans le serveur WSG. En pratique, le serveur WSG consulte via une interface de programmation applicative API (Application Programing Interface) en langage JavaTM, le serveur VMS de machines virtuelles, en sélectionne une, puis transmet au serveur VMS la requête d'activation de machine virtuelle ACT VM, laquelle étant destinée à activer la machine virtuelle sélectionnée. On donne ci-après un exemple d'une telle requête d'activation de machine virtuelle (ACT_VM) : https://ipVMselected:8080/Launcher/LaunchApp?url=www.app. com&login=martin&pwd=xwzy Dans l'exemple de requête HTTP ci-dessus 'ipVMselected:8080' identifie l'adresse IP de la machine virtuelle sélectionnée, launcher/LaunchApp' identifie le module APP_LCH de lancement d'application web, de la machine virtuelle sélectionnée (fig. 2 VMi) ; `url=www.app.com&login=martin&pwd=xwzy' identifie l'application APP par son adresse URL, avec les données d'identification du premier utilisateur U1 (login et pwd) nécessaires pour ouvrir une seconde session d'exécution de l'application APP pour l'utilisateur U1. A l'étape E13 (fig. 3), en réponse à la requête d'activation ACT_VM précitée, dans le serveur VMS, le module APP_LCH de la machine virtuelle sélectionnée (VMi) déclenche l'ouverture d'une seconde session d'exécution de l'application APP via son module de navigation web (WEB BR). La machine virtuelle VMi activée envoie alors une réponse de type XML (eXtensible Markup Language) pour informer le serveur WSG de l'activation réussie de la machine virtuelle. On notera ici que l'application APP relancée au travers d'une seconde session du même utilisateur permet d'ouvrir l'application APP dans l'état courant dans lequel elle se trouve dans le cadre de la première session en cours - il s'agit d'une caractéristique connue du type de plateforme de services SaaS visé par la présente invention. A l'étape E14, dans la machine virtuelle activée (VMi) du serveur VMS, le module serveur VNC (VNC_SVR) crée un flux de données VNC, noté APP S2 VNC, à partir du flux de données d'affichage d'exécution de l'application APP généré par le module navigateur web (WEB BR), suite à l'ouverture de la seconde session. A l'étape E15, le module VNC client VNC_VWR (VNC viewer) de la machine virtuelle convertit le flux VNC, APP S2 VNC, fourni par le module serveur VNC (VNC SVR), en un flux de données, noté APP S2 web, accessible via une adresse web. En pratique, le module VNC_VWR de la machine virtuelle utilise un composant JavaTM apte à extraire du flux de données binaires fourni par le module VNC_SVR des données relatives à des images correspondant au résultat d'exécution de la l'application APP dans le navigateur de la machine virtuelle VMi. Ensuite ce flux de données d'images est transmis à une application de type servlet contenue dans le module VNC VWR, qui l'insère dans une page web associée à une adresse web (URL) prédéterminée, par exemple en utilisant un élément HTML5 de type CanvasTM Cette page web résultante, mise à jour de manière continue avec le flux de données d'images issu du module de visualisation VNC (VNC VWR), devient le flux de données APP S2 web. A l'étape E16, Le serveur WSG, « averti » précédemment de la réussite de l'activation de la machine virtuelle (voir plus haut, étape E13), construit de manière dynamique une URL pointant vers la page web précitée qui constitue le flux de données APP S2 web, cette URL devenant par conséquent l'adresse web d'accès pour visualiser la seconde session d'exécution de l'application APP. L'adresse web d'accès au flux APP S2 web, peut par exemple prendre la forme suivante : http://ipVMselected:8080/VNC VWR VMi/ Toujours à l'étape E16, le serveur WSG transmets un message aux différents terminaux U1, U2, U3 partageant l'application APP - par exemple un email - le message contenant l'URL d'accès à l'application web partagée, exécutée dans la machine virtuelle distante. Pour envoyer un message contenant l'adresse web d'accès, à chacun des terminaux sélectionnés, le serveur WSG peut utiliser les informations d'identification de chaque terminal sélectionné, contenues dans la requête de partage d'application reçue initialement. A l'étape E17, les utilisateurs des différents terminaux U1-U3 peuvent alors ouvrir l'URL notifiée par message et ainsi partager l'exécution de l'application APP dont les données s'affichent sur leur écran respectif. On peut prévoir également que le chargement de l'URL d'accès à l'application partagée, peut être effectué de manière automatique dans les navigateurs des différents terminaux d'utilisateurs. En particulier, concernant le terminal U1 initiateur du partage de l'application, le remplacement de l'adresse web initiale d'accès à l'application web (première session) peut être automatiquement effectué dans la plateforme de service (serveur WSG) pour rediriger le navigateur du terminal U1 vers la deuxième session partagée, exécutée dans la machine virtuelle allouée pour le partage de l'application.15 REVENDICATIONS1. Procédé de partage d'une application web entre plusieurs terminaux informatiques reliés à un réseau de communication, ladite application web étant exécutée par un navigateur web dans un premier terminal informatique (U1), au cours d'une première session initiée par un premier utilisateur, le procédé étant caractérisé en ce que : - dans le premier terminal (U1), suite à une détermination préalable d'un ensemble de terminaux (U2, U3) avec lequel partager ladite application web, une requête de partage d'application est envoyée (El 1) à destination d'un premier serveur (WSG) sur le réseau, ladite requête de partage d'application incluant l'adresse web de lancement de ladite application web et des informations d'identification du premier utilisateur relatives à ladite première session ; - en réponse à la réception (E12) de ladite requête de partage dans le premier serveur (WSG), un dispositif informatique prédéterminé sur le réseau lance (E13) une seconde session d'exécution de ladite application web en utilisant lesdites informations d'identification de session du premier utilisateur, ladite seconde session prenant comme état initial l'état d'exécution courant de la première session ; - dans le dispositif informatique prédéterminé (VMS), un flux de données de type VNC est créé (E14), ce flux correspondant aux données d'affichage de la seconde session d'exécution de ladite application web, puis converti (E15) en un flux de données directement lisible par un navigateur web, dit flux de données web ; et, - ledit flux de données web est transmis (E16) à chacun des terminaux dudit ensemble de terminaux déterminés. 2. Procédé selon la revendication 1, dans lequel ledit dispositif informatique prédéterminé est une machine virtuelle (VMi), le lancement (E13) d'une seconde session d'exécution de ladite application web dans ledit dispositif informatique prédéterminé, étant précédé par : - l'envoi par le premier serveur (WSG) d'une requête d'activation de machine virtuelle à destination d'un second serveur (VMS) sur le réseau, ladite requête d'activation contenant l'adresse web de lancement de ladite application web et lesdites informations d'identification de session du premier utilisateur ; - en réponse à la réception de ladite requête d'activation de machine virtuelle par le second serveur (VMS), activation d'une machine virtuelle (VMi). 3. Procédé selon l'une des revendications 1 ou 2, dans lequel : - la première session d'exécution de l'application web est lancée suite au chargement d'un portail web d'une plateforme de services par le navigateur web du premier terminal, puis à la connexion à ladite application web via la saisie par ledit premier utilisateur d'un identifiant d'utilisateur et d'un mot de passe, dans une zone dudit portail web ; - la détermination d'un ensemble de terminaux avec lequel partager ladite application web comprend l'affichage dans ledit portail web d'une liste d'utilisateurs inscrits dans ledit portail web et la sélection d'un ou plusieurs utilisateurs parmi cette liste, ladite requête de partage d'application transmise audit premier serveur (WSG) contenant des informations d'identification de chaque terminal sélectionné. 4. Procédé selon l'une quelconque des revendications 2 à 3, dans lequel ladite seconde session d'exécution de ladite application web est lancée par un navigateur web (WEB BR) de ladite machine virtuelle (VMi), et dans lequel la création, dans ladite machine virtuelle (VM), d'un flux de données de type VNC correspondant aux données d'affichage de la seconde session d'exécution de ladite application web, est mis en oeuvre par un module serveur VNC (VNC SVR) fournissant un flux VNC à partir des données d'affichage produites par le navigateur web de ladite machine virtuelle. 5. Procédé selon la revendication 4, dans lequel l'étape de transmission dudit flux de données web à chacun des terminaux dudit ensemble de terminaux sélectionnés, comprend : - dans ladite machine virtuelle, la conversion par un module (VNC VWR) de visualisation de flux VNC, du flux VNC fourni par ledit module serveur VNC, en un flux de données de type web accessible via une adresse web déterminée, dite adresse web d'accès ; - l'envoi d'un message à chacun des terminaux informatiques de l'ensemble de terminaux sélectionnés, ledit message contenant ladite adresse web d'accès ; - dans chacun des terminaux informatiques dudit ensemble de terminaux, la réception du message suivie du chargement de l'adresse web d'accès par un navigateur web. 6. Procédé selon la revendication 5, dans lequel l'envoi d'un message contenant ladite adresse web d'accès, à chacun des terminaux sélectionnés, est effectué par ledit premier serveur (WSG), en utilisant des informations d'identification de chaque terminal sélectionné contenues dans ladite requête de partage d'application reçue par ledit premier serveur (WSG). 7. Procédé selon la revendication 3, dans lequel lors de la sélection par le premier utilisateur d'un ou plusieurs utilisateurs parmi la liste d'utilisateurs inscrits dans le portail web de la plateforme de services, le premier utilisateur définit en outre, pour chacun des utilisateurs sélectionnés, des droits d'accès relatifs à l'application web partagée. 8. Serveur (WSG) de gestion du partage d'applications web entre plusieurs terminaux informatiques sur un réseau de communication, caractérisé en ce qu'il comporte : - des moyens de réception d'une requête de partage en provenance d'un terminal informatique dans lequel un navigateur web exécute une application web au cours d'une session initiée par un premier utilisateur, ladite requête de partage d'application incluant l'adresse web de lancement de ladite application web, des informations d'identification du premier utilisateur relatives à ladite session ; - des moyens de génération et d'envoi d'une requête d'activation de machine virtuelle à destination d'un second serveur (VMS), ladite requête d'activation contenant l'adresse de lancement de ladite application web et lesdites informations d'identification de session du premier utilisateur. 9. Serveur (VMS) de gestion de machines virtuelles, caractérisé en ce qu'il comporte : - des moyens de réception d'une requête d'activation de machine virtuelle en provenance d'un serveur de gestion de partage d'applications web selon la revendication 8 ; - des moyens d'activation d'une machine virtuelle, en réponse à la réception de ladite requête d'activation de machine virtuelle ; - des moyens pour déclencher le lancement par un navigateur web dans la machine virtuelle (VM)activée, d'une nouvelle session d'exécution de ladite application web, en utilisant lesdites informations d'identification de session du premier utilisateur,la nouvelle session de ladite application web prenant comme état initial l'état d'exécution courant de la session dans le premier terminal. 10. Système informatique dans lequel une machine virtuelle (VMi) est configurée pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 7, ladite machine virtuelle étant caractérisée en ce qu'elle comporte : - un module serveur VNC (VNC SVR) adapté à fournir un flux VNC correspondant aux données d'affichage résultant d'une nouvelle session d'exécution de ladite application web dans un navigateur web de la machine virtuelle ; - un module de visualisation de flux VNC (VNC VWR) adapté à convertir le flux VNC fourni par ledit module serveur VNC, en un flux de données de type web directement lisible par un navigateur web et accessible via une adresse web d'accès déterminée, ladite adresse web d'accès étant destinée à être chargée par un navigateur web dans chaque terminal informatique parmi un ensemble de terminaux informatiques, afin de partager l'exécution de ladite application web. 11. Module logiciel comprenant des instructions de programme pour la mise en oeuvre d'un ensemble d'étapes parmi celles définies dans un procédé de partage d'applications web conforme à l'une quelconque des revendications 1 à 7, lorsque ledit module logiciel est exécuté dans un système informatique.25