FR 3093365 A1 20200904 FR 1902142 A 20190301 Description Titre de l'invention : Procédé de détection de l'aboutissement d'un appel téléphonique initié depuis un navigateur internet d'un appareil de communication mobile Domaine technique 100011 La présente invention concerne un procédé, mis en oeuvre sur un appareil de commu- nication mobile, de détection de l'aboutissement d'un appel téléphonique initié depuis un navigateur internet de l'appareil. Un tel appareil de communication mobile est par exemple un téléphone mobile de type smartphone, ou encore une tablette numérique munie d'une carte SIM (de l'anglais « Subscriber Identity Module »), sans que cela ne soit limitatif dans le cadre de la présente invention. 100021 L'invention concerne également un produit programme d'ordinateur apte à mettre en oeuvre un tel procédé. Technique antérieure [0003] Dans le domaine des appareils de communication mobile équipés d'une fonction d'appel téléphonique, il existe un besoin de détecter l'aboutissement d'un appel initié depuis l'appareil. Pour ce faire, on connait des interfaces de programmation applicatives, aussi appelées API (de l'anglais « Application Programming Interface »), capables de mettre en oeuvre de tels procédés de détection. Certaines de ces API, qui fonctionnent en lien avec un système d'exploitation installé sur l'appareil de communication mobile, sont en outre capables de fournir une information indicative de la durée de l'appel téléphonique passé. Une telle information peut ensuite être transmise, soit à une application interne à l'appareil, soit à l'extérieur de ce dernier via une transmission par réseau sans fil, en vue de son usage pour différentes applications. [0004] Toutefois, de telles solutions connues, basées sur l'exécution d'API, entrainent une consommation en ressources informatiques importante, que ce soit en ressources de traitement processeur aussi bien qu'en ressources mémoire. En effet., certaines de ces API nécessitent la mise en oeuvre d'une fonction d'écoute active d'événements, gourmande en consommation de ressources processeur et mémoire. D'autres API sont basées, pour la mise en oeuvre du procédé de détection de l'aboutissement d'un appel, sur l'installation d'objets informatiques d'écoute d'intentions (intent en anglais) du système d'exploitation. De tels objets informatiques (appelés broadcast recciver en anglais) sont actifs en permanence, même en-dehors des appels téléphoniques initiés depuis l'appareil, car ils écoutent par exemple aussi les appels reçus. Ceci entraine là encore une consommation importante en ressources processeur et mémoire. [0005] En outre, un autre inconvénient lié à ces solutions par API réside dans le fait que de 2 telles API ont connaissance des numéros téléphoniques de l'appelant et de l'appelé. Ceci entraîne un risque important quant à la confidentialité et à la protection des données personnelles de l'utilisateur. Même si certaines de ces API nécessitent des permissions spéciales pour initier un appel téléphonique et/ou pour savoir si l'appel a abouti, la confidentialité des données personnelles relatives au numéro de l'appelant peut tout de même être compromise par une personne malveillante. [0006] Enfin, certaines de ces API ne permettent pas de détecter l'aboutissement d'un appel téléphonique initié directement depuis un navigateur internet de l'appareil de communication mobile. [0007] Il est également connu des procédés, mis en oeuvre sur des appareils de commu- nication mobile, permettant d'établir directement une communication téléphonique entre l'appareil et un terminal externe, suite à l'initiation de l'appel correspondant depuis un navigateur internet de l'appareil. Plus précisément, cette initiation de l'appel s'effectue suite à une activation par l'utilisateur, dans une page internet de son navigateur, de données d'affichage relatives à un numéro d'appel correspondant au terminal. De tels procédés comportent une étape initiale de connexion, via le navigateur internet, à une page internet prédéterminée comprenant des données d'affichage relatives au numéro d'appel téléphonique ; une étape de détection, mise en oeuvre par les moyens de traitement, d'un événement de type clic sur les données d'affichage ; et une étape d'établissement d'une communication téléphonique entre l'appareil de communication mobile et le terminal correspondant au numéro d'appel téléphonique. Résumé de l'invention [0008] L'invention a donc pour but de fournir un procédé, mis en oeuvre sur un appareil de communication mobile, permettant de détecter l'aboutissement d'un appel téléphonique initié depuis un navigateur internet de l'appareil, tout en réduisant la consommation de ressources informatiques nécessaires et en protégeant la confidentialité des données personnelles de l'utilisateur. [0009] Un autre but de l'invention est de fournir un tel procédé, qui permette en outre d'obtenir une estimation de la durée de l'appel téléphonique lorsque cc dernier a abouti. [0010] A cet effet, l'invention concerne un procédé, mis en oeuvre sur un appareil de com- munication mobile, de détection de l'aboutissement d'un appel téléphonique initié depuis un navigateur internet de l'appareil, comprenant en outre des moyens mémoire, des moyens de traitement reliés aux moyens mémoire et munis d'un compteur de temps, et des moyens de communication reliés aux moyens de traitement et comprenant des moyens d'établissement d'une communication téléphonique, le 3 procédé comprenant une étape initiale de détection, mise en oeuvre par les moyens de traitement, d'un événement de type clic sur des données d'affichage d'une page internet prédéterminée affichée via le navigateur internct, lesdites données d'affichage étant relatives à un numéro d'appel téléphonique ; et une étape d'établissement d'une communication téléphonique entre ledit appareil de communication mobile et un terminal correspondant audit numéro d'appel téléphonique ; [0011] comprenant en outre les étapes suivantes, mises en oeuvre par les moyens de traitement : - initialiser, au moment de la détection de l'événement de type clic, ledit compteur de temps ; - détecter un événement prédéterminé, pré-enregistré dans les moyens mémoire ; - arrêter ledit compteur de temps, au moment de la détection dudit événement prédéterminé ; - si la durée enregistrée par ledit compteur de temps est comprise dans un intervalle de temps prédéterminé, déterminer que l'appel téléphonique a abouti. [0012] Grâce aux différentes étapes mises en oeuvre dans le procédé selon l'invention, il est possible de détecter, de manière indirecte, l'aboutissement d'un appel téléphonique initié depuis le navigateur interna de l'appareil. En effet, lorsqu'un événement prédéterminé est détecté par les moyens de traitement, le produit programme stocké dans l'appareil en déduit que l'utilisateur n'est plus en communication téléphonique, puis calcule une estimation de la durée de l'appel et, si cette durée est comprise dans un intervalle de temps prédéterminé, en déduit que l'appel a abouti. Un tel événement prédéterminé est par exemple un événement de type événement d'interaction utilisateur ou remise au premier plan du processus lié au navigateur. Cette détection indirecte de l'aboutissement de l'appel téléphonique s'effectue ainsi grâce au navigateur internet de l'appareil de communication mobile lui-même, plus précisément au moyen d'un moteur du navigateur, par exemple un moteur de type JavaScript, ainsi qu'à la détection d'au moins un événement prédéterminé. Le procédé selon l'invention ne met ainsi en oeuvre aucune API, contrairement aux procédés de détection de l'art antérieur, ce qui permet une réduction substantielle de la consommation de ressources processeur et mémoire dans l'appareil. Le procédé selon l'invention permet en outre une sécurisation des données personnelles de l'utilisateur, en particulier une garantie de préserver la confidentialité de son numéro de téléphone, car le procédé fonctionne de manière entièrement anonyme et sécurisée, et ne requiert l'intervention d'aucune API ni aucune communication des numéros téléphoniques à une application tierce. [0013] Des formes particulières du procédé de détection sont définies selon l'invention. [0014] Selon une caractéristique technique particulière de l'invention, l'appareil comprend en outre un système d'exploitation, et le procédé comprend en outre, après l'étape d'initialisation du compteur de temps, une étape, mise en oeuvre par le système d'exploitation, consistant à mettre en premier plan le processus lié à l'établissement d'une communication téléphonique. [0015] Selon une caractéristique technique particulière de l'invention, l'appareil comprend en outre un système d'exploitation, et le procédé comprend en outre, après l'étape d'initialisation du compteur de temps, une étape, mise en oeuvre par le système d'exploitation, consistant à mettre en arrière-plan le processus lié au navigateur internet. [0016] Selon une caractéristique technique particulière de l'invention, le procédé comprend en outre, après l'étape d'initialisation du compteur de temps, une étape, mise en oeuvre par le système d'exploitation, consistant à inhiber tout déclenchement d'événement au sein du navigateur internet. [0017] Selon une caractéristique technique particulière de l'invention, ledit événement pré- déterminé est soit une remise au premier plan, par le système d'exploitation, du processus lié au navigateur internet, soit un événement de type interaction utilisateur. [0018] Selon une caractéristique technique particulière de l'invention, ledit événement de type interaction utilisateur appartient à une liste prédéterminée d'événements, lesdits événements étant des événements programmés en langage JavaScript. [0019] Selon une caractéristique technique particulière de l'invention, le procédé comprend en outre, après l'étape de détermination que l'appel téléphonique a abouti, une étape, mise en oeuvre par les moyens de traitement, consistant à stocker, dans les moyens mémoire, ladite durée comme étant la durée de l'appel. Ceci permet d'obtenir une estimation de la durée de l'appel téléphonique lorsque ce dernier a abouti. [0020] Selon une caractéristique technique particulière de l'invention, le procédé comprend en outre, après l'étape de détermination que l'appel téléphonique a abouti, une étape, mise en oeuvre par les moyens de traitement, consistant à faire exécuter par le navigateur internet un fichier cache pour l'affichage d'une fenêtre contextuelle, notamment d'une fenêtre contextuelle comportant un questionnaire de satisfaction. Ceci permet par exemple de faire afficher, sur l'appareil de communication mobile, un questionnaire de satisfaction relatif au contenu de la conversation téléphonique. [0021] A cet effet, l'invention concerne également un produit programme d'ordinateur comportant des instructions de programme stockées dans des moyens mémoire d'un appareil de communication mobile et qui, lorsqu'exécutées par des moyens de traitement de l'appareil, sont aptes à mettre en oeuvre le procédé selon l'invention tel que décrit ci-dessus pour la détection de l'aboutissement d'un appel téléphonique initié depuis un navigateur internet de l'appareil ; Brève description des dessins 100221 Les buts, avantages et caractéristiques du procédé selon l'invention apparaîtront mieux dans la description suivante sur la base d'au moins une forme d'exécution non limitative illustrée par les dessins sur lesquels : [0023] [fig.1] est une représentation schématique d'un appareil de communication mobile apte à mettre en oeuvre le procédé de détection selon l'invention ; et [0024] [fig.2] est un logigramme représentant les étapes d'un procédé de détection de l'aboutissement d'un appel téléphonique selon l'invention. Description des modes de réalisation [0025] La figure 1 représente un appareil dc communication mobile 1 L'appareil dc commu- nication mobile 1 est configure pour transmettre et recevoir des données sur au moins un réseau de communication de données 2. L'appareil de communication mobile 1 est en outre configure pour permettre l'établissement de communications téléphoniques sur un tel réseau 2. L'appareil de communication mobile 1 est par exemple un téléphone mobile de type smartphone, ou encore une tablette numérique munie d'une carte SIM (de l'anglais « Subscriber Identity Module »), sans que cette liste ne soit exhaustive. [0026] Le réseau de communication de données 2 est muni d'une infrastructure de commu- nication privée ou étendue permettant la connexion, ou l'accès, à des équipements de communication de type serveurs et/ou bases de données et/ou dispositifs de communication. De manière classique, l'infrastructure de communication forme un réseau sans fil, ou un réseau filaire, ou encore un réseau comprenant une portion sans fil et une portion filaire. Dans un mode de réalisation particulier, le réseau de communication de données 2 est conçu comme un réseau conforme à la norme GSM (de l'anglais « Global System for Mobile Communication ») ou GPRS (de l'anglais « General Packet Radio Service ») ou UMTS (de l'anglais « Universal Mobile Telecommunications Systems ») ; ou encore comme un réseau conforme au protocole IP, par exemple un réseau de type LTE (de l'anglais « Long Term Evolution »)-Advanced. [0027] L'appareil de communication mobile 1 comporte des moyens mémoire 4, des moyens de traitement 6 reliés aux moyens mémoire 4, des moyens de communication 8 reliés aux moyens de traitement 6, et un navigateur internet 10 stocké dans les moyens mémoire 4. L'appareil de communication mobile 1 comporte également un système d'exploitation 12 stocké dans les moyens mémoire 4. [0028] Outre le navigateur intemet 10 et le système d'exploitation 12, les moyens mémoire 4 stockent également un programme d'ordinateur 14. Les moyens mémoire 4 sont par exemple constitués d'une mémoire non volatile reprogrammable, telle que par exemple 6 une mémoire flash. [0029] Les moyens de traitement 6 sont munis d'un compteur de temps, se présentant par exemple sous la forme d'une horloge matérielle ou encore d'une fonction logicielle. Les moyens de traitement 6 sont par exemple constitués d'un ou plusieurs processeur(s). [0030] Les moyens de communication 8 comprennent des moyens d'établissement d'une communication téléphonique sur le réseau 2. Les moyens de communication 8 sont formés d'une interface de communication adaptée pour transmettre et recevoir des données sur le réseau de communication de données 2. [0031] Le navigateur internet 10 est typiquement muni d'un moteur, par exemple un moteur de type JavaScript. [0032] De manière classique, le système d'exploitation 12, lorsqu'il est exécuté par les moyens de traitement 6, fournit un ensemble de fonctionnalités à l'appareil de communication mobile 1 permettant à ce dernier de fonctionner. [0033] Le produit programme d'ordinateur 14 est par exemple téléchargeable depuis un réseau de communication de données 2. Le programme d'ordinateur 14 comporte des instructions de programme adaptées pour mettre en oeuvre un procédé de détection de l'aboutissement d'un appel téléphonique initié depuis le navigateur internet 10 de l'appareil 1, comme décrit par la suite. Les instructions de programme peuvent par exemple être des instructions exécutables codées en langage JavaScript. [0034] Le procédé de détection de l'aboutissement d'un appel téléphonique initié depuis le navigateur internet 10 de l'appareil 1, mis en oeuvre par l'appareil illustré à la figure 1, va maintenant être décrit en référence à la figure 2. [0035] On suppose qu'initialement, un utilisateur de l'appareil de communication mobile 1 se connecte, via le navigateur internet 10, à une page internet prédéterminée comprenant des données d'affichage relatives à un numéro d'appel téléphonique. On suppose en outre que l'utilisateur de l'appareil 1 décide d'initier, directement depuis son navigateur internet 10, un appel téléphonique correspondant à ce numéro d'appel téléphonique. Pour ce faire, via une interface d'entrée de son appareil 1 telle que par exemple un écran tactile, l'utilisateur active les données d'affichage relatives au numéro d'appel, une telle activation pouvant par exemple prendre la forme d'un clic manuel sur ces données affichées sur l'écran tactile. [0036] Au cours d'une étape initiale 20, les moyens de traitement 6 détectent un événement de type clic sur les données d'affichage relatives au numéro d'appel. Par « événement de type clic » on entend tout type d'événement permettant d'activer des données d'affichage interactives, tel que par exemple un bouton d'appel, un lien internet, ou encore un objet JavaScript avec un gestionnaire d'événement de type clic attaché. Cette détection d'un événement de type clic se traduit par exemple par la détection, par 7 les moyens de traitement 6, de l'exécution d'une fonction programmée en langage JavaScript dans le moteur du navigateur internct 10. Simultanément à cette détection, les moyens de traitement 6 exécutent le programme d'ordinateur 14 en vue d'une initialisation du compteur de temps. [0037] De préférence, au cours d'une étape suivante 22 le système d'exploitation 12 de l'appareil 1 met en premier plan le processus lié à l'établissement de la communication téléphonique entre l'appareil 1 et un terminal correspondant au numéro d'appel téléphonique. [0038] De préférence, au cours d'une étape simultanée ou suivante 24, le système d'exploitation 12 de l'appareil 1 met en arrière-plan le processus lié au navigateur internet 10. [0039] De préférence, au cours d'une étape simultanée ou suivante 26, le système d'exploitation 12 de l'appareil 1 inhibe tout déclenchement d'événement au sein du navigateur internet 10. [0040] Il est à noter que l'ordre des étapes 22 à 26 décrites ci-dessus peut être modifié indif- féremment, sans sortir du cadre du procédé de détection objet de la présente invention. [0041] Au cours d'une étape suivante 28, le système d'exploitation 12 de l'appareil 1 bascule vers une application de gestion de la téléphonie, stockée dans les moyens mémoire 4, puis lance une communication téléphonique, depuis l'appareil 1 vers un terminal correspondant au numéro d'appel téléphonique. [0042] Au cours d'une étape suivante 30, le programme d'ordinateur 14 détermine si un événement prédéterminé, pré-enregistré dans les moyens mémoire 4, s'est produit. Cette étape 30 correspond à une écoute dormante de la survenue de l'événement prédéterminé. Un tel événement prédéterminé est par exemple une remise au premier plan, par le système d'exploitation 12, du processus lié au navigateur intemet 10. Alternativement, l'événement prédéterminé est un événement de type interaction utilisateur. Un tel événement de type interaction utilisateur appartient par exemple à une liste prédéterminée d'événements programmés en langage JavaScript. Une telle liste comprend par exemple les événements JavaScript d'interaction suivants, sans que cela ne soit exhaustif : focus ; blur ; touchstart ; scroll ; resize ; click ; visibilitychange ; pagehide ; pageshow. Ces événements JavaScript d'interaction correspondent par exemple à un utilisateur touchant l'écran tactile de l'appareil 1, ou encore redimensionnant une page intemet ou une fenêtre contextuelle. Simultanément à cette détection d'un événement prédéterminé, le programme d'ordinateur 14 arrête le compteur de temps. [0043] Lorsque le programme d'ordinateur 14 a déterminé qu'un événement prédéterminé s'est produit, elle détermine, au cours d'une étape suivante 32, si la durée enregistrée par le compteur de temps est comprise dans un intervalle de temps prédéterminé. Un tel intervalle de temps est déterminé par des études préalables, et correspond à une 8 plage temporelle dans laquelle il existe une forte probabilité qu'un appel téléphonique puisse avoir abouti et donné lieu à une conversation téléphonique. [0044] Si la durée enregistrée par le compteur de temps n'est pas comprise dans l'intervalle de temps prédéterminé, le programme d'ordinateur 14 estime, au cours d'une étape suivante 34, que l'appel téléphonique n'a pas abouti. [0045] Inversement, si la durée enregistrée par le compteur de temps est comprise dans l'intervalle de temps prédéterminé, le programme d'ordinateur 14 détermine, au cours d'une étape suivante 36, que l'appel téléphonique a abouti. [0046] De préférence, au cours d'une étape suivante 38, le programme d'ordinateur 14 stocke, dans les moyens mémoire 4 de l'appareil 1, la durée enregistrée par le compteur de temps comme étant la durée de l'appel téléphonique. [0047] De préférence, au cours d'une étape suivante 40, le programme d'ordinateur 14 fait exécuter par le navigateur internet 10 un fichier cache pour l'affichage d'une fenêtre contextuelle. Une telle fenêtre contextuelle comporte par exemple un questionnaire de satisfaction destiné à l'utilisateur de l'appareil de communication mobile 1. [0048] On conçoit ainsi qu'un tel procédé de détection selon l'invention permet une détection indirecte de l'aboutissement d'un appel téléphonique initié depuis un navigateur internet 10 de l'appareil 1, en ne faisant intervenir que le navigateur 10 et en particulier le moteur JavaScript du navigateur 10, et ce tout en réduisant la consommation de ressources informatiques nécessaires et en protégeant la confidentialité des données personnelles de l'utilisateur. En effet, la consommation des moyens mémoire 4 et des moyens de traitement 6 est nulle pendant toute la durée de la communication téléphonique, contrairement aux solutions de détection de l'aboutissement d'un appel téléphonique de l'art antérieur, et notamment des solutions basées sur l'exécution d'API. 9 [Revendication 1]