Brevet FR2980888A1 — publié le 20130405

Aide à la navigation pour installation synchronisée d'applications logicielles La présente invention est relative au domaine de l'installation d'applications logicielles sur un terminal mobile de communication. Ce terminal mobile est typiquement un téléphone intelligent, ou « smartphone ». Ce type d'équipement permet à son utilisateur d'installer des applications logicielles disponibles sur le réseau internet. Deux systèmes d'exploitation se partagent principalement le marché : la plateforme Android de la société Google, et la plateforme iOS de la société Apple. Que ce soit pour une plateforme de type Android ou iOS, le nombre des applications disponibles est en constante croissance. À l'été 2011, on cite le chiffre de 450000 applications disponibles sur chacune des deux plateformes. L'installation de ces applications passe principalement par des sites dédiés recensant les applications disponibles, comme Android Market et AppleStore. Ces sites fonctionnent comme des galeries marchandes dans lequel l'utilisateur peut naviguer dans des catégories et choisir d'installer telle ou telle application, éventuellement après paiement de son prix. Il est possible de naviguer sur ces sites via un navigateur mis en oeuvre par un autre terminal de communication, par exemple un PC fixe ou portable. Via un mécanisme de synchronisation, il est possible de déclencher l'installation d'une application sur le terminal mobile à partir de ce navigateur. Par exemple, il est possible de créer un compte Google et de l'utiliser à la fois comme identification dans le terminal mobile fonctionnant sous Android, et comme identification sur site Android Market. L'appuie sur un bouton « Installer » sur le site web Android Market déclenche alors l'ajout d'une information dans le compte Google qui, lors de la prochaine connexion du terminal mobile, déclenchera automatiquement le téléchargement de l'application et son installation. Ce mécanisme de synchronisation améliore le confort de l'utilisateur mais demeure insuffisant pour plusieurs raisons. En effet, il repose sur le présupposé que les applications sont toutes disponibles sur ces sites dédiés. Or certaines applications peuvent n'être disponibles que sur d'autres sites, par exemple ceux du développeur ou ceux du fournisseur de service associé à l'application. Par exemple, le site web d'une société de transport en commun peut proposer sur son site une application de consultation des horaires. Par ailleurs, ce mécanisme est immédiat et ne permet pas de repentir : l'utilisateur choisit une application en validant son installation par synchronisation. Il peut naviguer sur le site « Android Market » ou « AppleStore » et installer ainsi, une à une, plusieurs applications. Mais il ne lui est pas possible de supprimer aisément une installation, ni même d'avoir une vue des applications installées pendant sa session. Le but de l'invention est d'améliorer la situation en offrant un mécanisme et un dispositif pour fournir un plus grand confort à l'utilisateur, ainsi que davantage de possibilités aux développeurs d'applications et aux fournisseurs de service. Pour ce faire, l'invention a pour premier objet un procédé d'installation d'applications sur un terminal mobile de communication, comportant - une étape de navigation au moyen d'un navigateur mis en oeuvre par un autre terminal de communication, d'une première page web vers une deuxième page web, ces première et deuxième pages web contenant chacune au moins un identifiant respectivement d'une première et seconde applications, dans lequel le navigateur affiche une portion d'interface graphique continument présente, - une étape de sélection consistant pour l'utilisateur à ajouter au moins un de ces identifiants dans la portion d'interface graphique, - une étape de validation consistant à déclencher la synchronisation des applications correspondant aux identifiants contenus dans la portion d'interface graphique. Selon un mode de réalisation de l'invention, le procédé comporte en outre une étape de suppression d'un identifiant parmi les identifiants contenus dans la portion d'interface graphique. Ces identifiants peuvent comprendre une représentation graphique. L'étape de sélection est réalisée en faisant glisser ladite représentation graphique vers ladite portion graphique. Les identifiants peuvent comprendre un lien vers l'application correspondante. Le procédé peut également comporter une étape d'analyse des représentations graphiques afin de déterminer l'application correspondante ; et/ou une étape de classement des identifiants contenus dans la portion d'interface graphique. Ce classement peut comprendre l'affectation à une liste. L'affectation d'une liste à un identifiant peut être réalisée au moins à partir de métadonnées contenus dans ledit identifiant. L'invention a également pour objet un terminal de communication comportant des moyens - pour naviguer au moyen d'un navigateur d'une première page web vers une deuxième page web, ces première et deuxième pages web contenant chacune au moins un identifiant, respectivement d'une première et seconde applications, - pour afficher une portion d'interface graphique, continument présente, et présentant des moyens de sélection permettant à l'utilisateur du navigateur d'ajouter au moins un des identifiants dans la portion d'interface graphique, et - des moyens de validation permettant de déclencher la synchronisation vers un terminal mobile de communication des applications correspondant aux identifiants contenus dans la portion d'interface graphique. L'invention, ses avantages et ses caractéristiques apparaitront de façon plus claire dans la description de mises en oeuvre qui va suivre en liaison avec les figures annexées. La figure 1 représente le contexte dans lequel s'insère l'invention. Les figures 2, 3, 4 et 5 illustrent 4 étapes d'une session de navigation d'un utilisateur utilisant l'invention. L'invention s'applique particulièrement à la situation dans laquelle un utilisateur dispose, même temporairement, d'un terminal mobile de communication T1 et d'un autre terminal de communication T2. Le terminal mobile de communication T1 peut être un téléphone mobile du type communément appelé « smartphone », d'une tablette numérique etc. Typiquement, il peut s'agir de tout équipement facilement transportable et proposant, du fait de sa miniaturisation, une navigation limitée ou, tout du moins, moins conviviale que sur un ordinateur. Ce type d'équipements fonctionne généralement sous un système d'exploitation iOS pour les terminaux iPhone de la société Apple, ou Android développé par la société Google. Quelques autres plateformes existent encore. L'autre terminal de communication T2 peut être un ordinateur fixe ou portable, une tablette numérique ou tout autre appareil permettant la navigation sur le web de façon plus conviviale que le terminal mobile T1. Il peut, à la limite, s'agir d'un autre terminal mobile de communication. Ces deux terminaux de communication sont connectés communication N permettant l'accès à internet et au web. Un serveur G permet de stocker les applications à un réseau de ou, tout du moins, des références vers ces applications. Il peut s'agir d'un site de type « place de marché » comme les sites Android Market ou AppleStore. Dans une mise en oeuvre utilisant les services offerts par la société Google, ce serveur G peut en outre contenir un profil de l'utilisateur. Ce profil contient au minimum des informations d'identification (identifiant, adresse e-mail, mot de passe) et des informations de synchronisation. II est à noter que le terme serveur doit être compris dans une acception large incluant des serveurs applicatifs répartis sur plusieurs machines physiques. Pour des raisons de balance de charge évidente, de telles « places de marché » sont typiquement déployées sur un ensemble de serveurs qui peuvent être déportés sur plusieurs sites géographiques et chaque site peut lui-même comporter un ou plusieurs « clusters » (groupe) de serveurs physiques. L'architecture de ces serveurs applicatifs G est en dehors du cadre de l'invention et ne sera pas davantage décrite. Un serveur S met à disposition des pages web, sur lequel l'utilisateur peut naviguer avec le terminal de communication T2. Plusieurs, voire de très nombreux, serveurs S peuvent être disponibles. Les figures 2 à 5 montrent 4 étapes de navigation de l'utilisateur à partir d'un navigateur installé sur le terminal de communication T2. Sur chacune, la fenêtre B correspondant au navigateur présente une page web différente, respectivement P1, P2, P3 et P4, ainsi qu'une portion d'interface graphique ZG. Les menus et autres éléments graphiques du navigateur ne sont pas représentés. La portion d'interface graphique ZG est représentée en grisé sur les figures. Dans la réalité, plusieurs mises en oeuvre sont possibles. Il peut s'agir d'un bandeau en bas de la fenêtre, qui peut être opaque ou semi-transparent. Il peut s'agir d'un bandeau affiché sur un coté de la fenêtre, ou masqué et affichable sur action de l'utilisateur, etc. Cette portion d'interface graphique n'est pas fournie directement par le propriétaire de la page web visualisée, mais est gérée par un module logiciel indépendant des pages et sites web. Elle est continument présente, c'est-à-dire qu'au cours d'une session de navigation, l'utilisateur peut à tout moment y accéder et l'utiliser. La session de navigation peut se limiter à deux pages web consécutives. Dans l'exemple décrit, la session de navigation correspond aux pages web P1, P2, P3 et P4. Ce module logiciel peut être intégré dans le navigateur, ou être une extension (« plug-in ») de ce navigateur. La plupart des navigateurs offrent en effet des mécanismes d'extension permettant d'ajouter ainsi des fonctionnalités supplémentaires aux fonctionnalités de base. Le module logiciel peut également être intégré aux pages web visités (module Javascript, par exemple). Cette mise en oeuvre oblige toutefois les propriétaires de pages web de gérer l'ajout de ce module logiciel sur les pages de leurs sites. Dans ce cas également, le module logiciel en lui-même est indépendant de la page (il est le même quelque soit la page visitée). La première page Pl contient notamment un identifiant ID1 d'une première application. Cet identifiant peut comprendre une représentation graphique. Cette représentation graphique est typiquement une icône, c'est-à-dire une image de taille réduite représentant graphiquement l'application. La représentation graphique peut également représenter un QR code (« Quick Response Code ») associé à l'application. Ce code peut coder l'adresse URI (« Unified Resource Identifier ») de l'application. L'identifiant peut ne pas comprendre de représentation graphique, mais par exemple uniquement une chaîne de caractère représentant son nom, ou n'importe quelle information permettant à l'utilisateur de repérer qu'une application est disponible au téléchargement. L'identifiant peut en outre contenir un lien vers l'application correspondante. Ce lien peut être un lien vers une page d'un site « place de marché », notamment la page de l'Android Market correspondant à l'application. Il peut également s'agir d'un lien vers l'application elle-même dans l'Android Market. Le lien peut également être un lien vers le site du développeur de l'application, ou bien un lien vers l'application elle-même (c'est-à-dire le fichier exécutable) sur le site du développeur, ou sur le site correspondant à la page visitée Pl, ou un autre site tiers. Par exemple, si cette première page visitée correspond à un site d'une société de transport en commun, l'application peut être une application de consultation des horaires de trains. Cette application peut indifféremment être hébergée sur le site de la société de transport, ou bien sur la plage de marché « Android Market » (ou « AppleStore », ou autres...), ou bien sur un site tiers, par exemple de la société de développement d'applications web avec lequel la société de transport à collaboré. Comme nous le verrons peu à peu par la suite, la localisation de l'application est transparente pour l'utilisateur. L'invention présente donc l'avantage de masquer cette localisation et de permettre différents modèles d'affaire sans que l'expérience et le confort de navigation de l'utilisation soient impactés. L'invention comprend une étape de sélection d'une application consistant pour l'utilisateur à ajouter l'identifiant ID1 correspondant dans la portion d'interface graphique ZG. Cet ajout peut notamment être réalisé en faisant glisser l'identifiant vers cette portion ZG. Cette action peut provoquer le déclenchement de codes informatiques prévus pour récupérer les informations contenues dans l'identifiant ID1. Plusieurs situations sont possibles en fonction de la nature de cet identifiant et des informations qu'il contient. S'il contient un lien vers l'application, celui-ci est récupéré et ajouté dans les données associées à la portion d'interface ZG. S'il ne contient pas de lien, selon un mode de réalisation de l'invention, il est procédé à une recherche de l'application correspondant à l'identifiant ID1. Si l'identifiant ID1 comprend une représentation graphique figurant un « QR Code » représentatif de l'adresse URI, il est possible de procéder à l'analyse de ce QR Code afin de récupérer l'adresse URI (ou lien) et de la mémoriser dans les données associées à la portion d'interface ZG. Si l'identifiant comprend une représentation graphique de type « icône », il peut être procédé à une analyse sémantique du contenu de l'icône ou à une analyse comparative avec un ensemble d'icônes connues. L'analyse sémantique est utile dans la situation où l'icône contient un nom ou une représentation graphique connue. Par exemple, si l'icône représente la lettre M en jaune, on peut en déduire qu'il s'agit d'une application dédiée à la société McDonald's. L'analyse comparative peut consister à rechercher sur le web des icônes ayant une importante affinité avec celle de la représentation ID1. En effet, il est raisonnable de penser que si l'application existe, elle sera associée avec la même icône (à une déformation homothétique près). Aussi, en cas d'absence de lien sur la page Pl, il peut être utile de rechercher sur le web d'autres pages contenant la même icône et d'escompter qu'une de ces autres pages contient le lien vers l'application. Cette autre page peut notamment être celle d'un site de type « place de marché » et la recherche peut éventuellement être limitée à ce type de sites. L'invention a donc pour avantage supplémentaire de résoudre les difficultés liés à des liens cassés : si le propriétaire de la page Pl a mis un lien vers un site tiers mais que ce site tiers a été réorganisé de sorte que le lien ne soit plus pertinent, l'invention peut permettre de retrouver l'application sur ce site tiers (ou même ailleurs) grâce à ce mécanisme d'analyse de la représentation graphique. Elle permet également aux propriétaires de page de s'affranchir du maintien à jour de ces liens, voire de ne pas chercher à insérer de liens (statiques, par nature) mais à laisser le mécanisme de l'invention rechercher l'information de façon dynamique. La figure 3 montre une étape ultérieure de la navigation de l'utilisateur. Une autre page web P2 est affichée, mais la portion d'interface graphique ZG reste affichée en bas d'écran. Cette portion contient l'identifiant ID] précédemment ajouté. Dans la figure 4, l'utilisateur a navigué vers une deuxième page web P3 contenant un identifiant ID2 d'une seconde application. De la même façon que précédemment, l'utilisateur peut ajouter cet identifiant ID3 dans la portion d'interface graphique ZG, par exemple en le faisant glisser. Comme précédemment également, cet identifiant peut contenir différentes informations (représentations graphiques, liens, etc.) et le mécanisme de l'invention peut suppléer l'absence de certaines informations. Dans la figure 5, la navigation a amené l'utilisateur sur une autre page P4. Dans la portion d'interface graphique ZG figurent les deux identifiants ID] et ID2. Il est à noter que les pages Pl, P2, P3, P4 peuvent indifféremment appartenir à un même site web ou à plusieurs sites web différents. L'utilisateur peut sélectionner un ou plusieurs des identifiants ID], ID2 ajoutés afin d'effectuer une action sur celui-ci ou ceux-ci. Cette action peut notamment consister à supprimer l'identifiant. L'action peut également consister à classer l'identifiant sélectionné (ou les identifiants sélectionnés) parmi l'ensemble des identifiants contenus dans la portion d'interface ZG. Ce classement peut consister simplement à ordonner les identifiants. Le classement peut également consister à affecter l'identifiant à une liste. Cette liste peut être préexistante ou être créé au moment de l'affectation. Plusieurs listes peuvent être gérées et affichées ou affichables dans la portion d'interface ZG. Toutes ou parties de ces listes peuvent être associées à des contextes d'usage des applications la composant (par exemple : « à la maison », « au travail », « dans la rue »...) L'affectation d'une application à une liste peut être manuelle ou automatique. Il est en effet possible de réaliser une affectation automatique en déterminant des thèmes à partir de l'application correspondante : par exemple, si l'utilisateur sélectionne des applications relatives à plusieurs services de transport en commun, une liste « transport en commun » peut être automatique créé. De même, si plusieurs applications sont relatives à des services localisés dans une ville donnée, une liste relative à cette ville peut être créée. Il est possible d'affecter alors un identifiant d'application à plusieurs listes. Par exemple, une application relative à la RATP peut être affecté à une liste « transport en commun » et/ou à une liste « Paris ». L'affectation peut être aidée par des métadonnées contenus dans l'identifiant ID], ID2. Ces identifiants peuvent des mots-clés ou toute information libre aidant à déterminer une thématique de l'application ou un contexte dans lequel elle peut être utilisée. Il est possible d'utiliser une ontologie afin de gérer les différences de terminologie entre fournisseurs d'applications et sites web. Les métadonnées peuvent comprendre des informations de contexte d'usage. Ces informations peuvent permettre de classer les applications directement dans la liste appropriée. Le classement peut être également effectué en analysant les listes précédemment créés par l'utilisateur ou par d'autres utilisateurs. Il est en effet possible de se baser sur ces données historiques afin de déterminer des affinités entre applications. Ainsi, lors de l'ajout d'une nouvelle application, elle peut être affectée à une liste contenant des applications apparaissant souvent avec elle dans des listes existantes. L'affectation automatique d'un identifiant ID], ID2 à une liste n'exclut pas la possibilité pour l'utilisateur de pouvoir éventuellement modifier cette affectation. Enfin, le procédé selon l'invention comprend une étape de validation consistant à déclencher la synchronisation des applications correspondant aux identifiants ID], ID2 contenus dans la portion d'interface graphique ZG, vers le terminal mobile de communication T1. Dans une mise en oeuvre utilisant les mécanismes de la société Google, cette étape de validation peut comprendre une étape de connexion aux services de synchronisation offerts par Google. Ces services sont notamment accessibles via le site « Android Market ». Cette sous-étape de connexion peut être automatique et transparente pour l'utilisateur. En effet, celui-ci peut avoir préalablement fournis ses identifiants au module logiciel gérant la portion d'interface graphique ZG, qui peut alors les fournir aux services Google. Cette connexion peut intervenir au moment de la validation ou bien préalablement, par exemple au moment du lancement du navigateur. Dans l'exemple de la figure 5, la validation peut être déclenchée par l'appuie sur le bouton « Val ». Selon une mise en oeuvre de l'invention, il est prévu une étape de suggestions d'applications. En effet, le module logiciel associé à la portion d'interface graphique ZG étant continument disponible pendant la navigation, il est en mesure de recueillir des informations à la fois sur la navigation de l'utilisateur et sur les applications installées. À partir de ces informations, il est possible d'effectuer une recherche, notamment sur un site de type « place de marché » des applications correspondant le mieux aux besoins de l'utilisateur, et de les lui proposer. La proposition peut se faire dans une zone dédiée de la portion d'interface ZG. Par exemple, un identifiant peut être affiché pour chaque application proposée (une icône par exemple), avec des moyens pour valider la suggestion. Ces moyens peuvent être un bouton juxtaposé à l'identifiant, et/ou bien la possibilité de faire glisser l'identifiant de cette zone vers une autre zone, et/ou bien d'afficher une option dédiée dans le menu contextuel de la souris, etc. Les informations sur les applications installées peuvent comprendre le nom de l'identifiant correspondant, mais aussi des métadonnées contenues dans cet identifiant. Selon un mode de réalisation de l'invention, la portion d'interface graphique ZG peut également comporter une zone affichant les identifiants contenus dans la page affichée. Cette fonctionnalité peut permettre de rassembler en un même endroit les identifiants qui peuvent être répartis sur une page de taille importante ou de structure complexe. Elle peut ainsi permettre de gagner du temps en évitant à l'utilisateur de rechercher les différents identifiants disponibles sur une page affichée. Pour ce faire, le module logiciel associé à cette portion graphique ZG dispose de moyens prévus pour analyser le contenu de la page web pour y déterminer les identificateurs présents. Une mise en oeuvre peut consister à présenter à l'utilisateur à la fois les identifiants d'applications ainsi déterminés sur la page web affichée et les identifiants d'applications suggérés. Les deux types d'informations peuvent être mêlés ou présentés de façon distincte.25 REVENDICATIONS1) Procédé d'installation d'applications sur un terminal mobile de communication, comportant une étape de navigation au moyen d'un navigateur mis en oeuvre par un autre terminal de communication, d'une première page web vers une deuxième page web, lesdites première et deuxième pages web contenant chacune au moins un identifiant respectivement d'une première et seconde applications, dans lequel ledit navigateur affiche une portion d'interface graphique continument présente, et comportant une étape de sélection consistant pour l'utilisateur dudit navigateur à ajouter au moins un desdits identifiants dans ladite portion d'interface graphique, une étape de validation consistant à déclencher la synchronisation des applications correspondant aux identifiants contenus dans ladite portion d'interface graphique. 2) Procédé selon la revendication comportant en outre une étape de suppression d'un identifiant parmi les identifiants contenus dans ladite portion d'interface graphique. 3) Procédé selon l'une des revendications précédentes, dans lequel les 20 identifiants comprennent une représentation graphique. 4) Procédé selon la revendication 3, dans lequel l'étape de sélection est réalisé en faisant glisser ladite représentation graphique vers ladite portion graphique. 25 5) Procédé selon l'une des revendications précédentes dans lequel les identifiants comprennent un lien vers l'application correspondante. 6) Procédé selon l'une des revendications 3 à 4, comportant une étape d'analyse des représentations graphiques afin de déterminer l'application correspondante. 30 7) Procédé selon l'une des revendications précédentes, comportant une étape de classement des identifiants contenus dans ladite portion d'interface graphique. 8) Procédé selon la revendication précédente, dans lequel le classement comprend l'affectation à une liste. 9) Procédé selon la revendication précédente, dans lequel l'affectation d'une liste à un identifiant est réalisée au moins à partir de métadonnées contenus dans ledit identifiant. 10) Terminal de communication (T2) comportant des moyens pour naviguer au 10 moyen d'un navigateur d'une première page web (P1) vers une deuxième page web (P3), lesdites première et deuxième pages web contenant chacune au moins un identifiant (ID1, ID2) respectivement d'une première et seconde applications, et pour afficher une portion d'interface graphique (ZG) continument présente et présentant des moyens de sélection permettant à l'utilisateur dudit navigateur d'ajouter au moins un 15 desdits identifiants dans ladite portion d'interface graphique, et des moyens de validation (Val) permettant de déclencher Ici synchronisation vers un terminal mobile de communication (T1) des applications correspondant aux identifiants (ID1, ID2) contenus dans ladite portion d'interface graphique. 20 11) Programme d'ordinateur comportant des moyens pour mettre en oeuvre le procédé selon l'une des revendications 1 à 9, lorsque ledit programme est exécuté sur un terminal de communication. 12) Support de stockage de données comportant du code logiciel adapté pour 25 mettre en oeuvre le procédé selon l'une des revendications 1 à 9. 13) Terminal de communication comportant un programme d'ordinateur selon la revendication 11 et disposant des moyens matériels pour le mettre en oeuvre..