AUTOMATISATION D'UNE CONFIGURATION ET UTILISATION D'UN PROCEDE D'ASSISTANCE A L'ORIENTATION, PLATE-FORME ET PROGRAMME D'ORDINATEUR ASSOCIES [1] DOMAINE TECHNIQUE [2] La présente invention concerne une automatisation d'une configuration et une utilisation d'un procédé d'assistance à l'orientation, ainsi que la plate-forme de cartographie interactive, et le programme d'ordinateur associés. [3] L'invention trouve une application particulièrement avantageuse dans le domaine du guidage automatisé, dans lequel on assiste un utilisateur souhaitant se rendre d'un point de départ à un point de destination, en lui indiquant la route à suivre à l'aide d'un terminal, mobile ou non, muni d'une application logicielle de guidage. [4] ETAT DE L'ART [5] On connaît par exemple le document FR 2 901 602 qui décrit un système d'assistance à l'orientation comprenant des balises implantées sur les points singuliers d'un réseau de circulation et au moins un équipement récepteur portatif, chacune des balises comprenant un émetteur associé à une mémoire contenant au moins un identifiant unique de ladite balise. Des bases de données comprennent pour chaque point singulier, une indication de direction jusqu'au point singulier suivant, en direction de chaque destination finale possible, chaque point singulier étant identifié par l'identifiant unique de la balise qui lui est associée. [6] Un tel système donne de bons résultats. Néanmoins il nécessite une très grande taille de mémoire pour les bases de données. En outre, il nécessite de très fréquents appels aux bases de données puisque le système fonctionne pas à pas : à chaque point singulier rencontré, on fait nécessairement appel aux bases de données pour déterminer quel message dispenser à l'utilisateur, en fonction du point singulier courant, du point singulier précédent et de la destination finale. Il est également impossible, avec le système existant, de calculer et d'afficher l'itinéraire complet sur une carte. [7] On connaît également le document ayant le numéro de dépôt FR1060426 décrivant un procédé de localisation perfectionné dans lequel on définit des points singuliers où des messages directionnels sont diffusés ; puis on crée un base d'arcs comprenant, pour chaque point singulier, les arcs entre ledit point singulier et chacun des points singuliers voisins accessibles depuis ledit point singulier. En fonction d'un point singulier de départ et d'un point singulier d'arrivée, on sélectionne les arcs d'un chemin optimal permettant d'atteindre le point singulier d'arrivée depuis le point singulier de départ. Pour chaque point singulier du chemin optimal, on diffuse un message directionnel. A cet effet, le procédé met en oeuvre une base de données contenant les messages directionnels à sélectionner en fonction du point singulier précédent, du point singulier actuel, et du point singulier suivant sur le chemin optimal. [8] L'avantage d'un tel procédé est qu'il rend possible la détermination en une fois de l'ensemble des instructions de guidage nécessaires pour aller d'un point de départ à un point de destination, sans avoir à recourir aux bases à chaque point singulier rencontré. Toutefois, la taille de la base de données des messages directionnels, même si elle est réduite par rapport à celle de la base de données du document FR2 901 602, reste importante, ce qui engendre une grande consommation des ressources du terminal, et une complexité dans la configuration du procédé qui rend impossible l'automatisation de la configuration. [9] OBJET DE L'INVENTION [10] L'invention a notamment pour but de remédier à ces inconvénients en proposant un procédé perfectionné ayant pour but d'automatiser une partie de la configuration du procédé d'assistance à l'orientation. Le procédé selon l'invention fait également appel à une base de données de génération de messages directionnels de taille réduite facilitant la mise en oeuvre du procédé d'assistance à l'orientation. [11] A cet effet, l'invention concerne un procédé d'assistance à l'orientation dans un espace caractérisé en ce qu'il comporte : - une phase de configuration réalisée par un administrateur comportant les étapes suivantes : - définir une base de données de messages directionnels contenant une liste de messages directionnels à diffuser associés à des plages d'angles de référence correspondantes, - importer au moins une cartographie de l'espace, - créer, sur la cartographie, des points singuliers correspondant aux endroits où les messages directionnels seront diffusés, - relier entre eux les points singuliers voisins par des arcs, - créer une base de données stockant les différents arcs en référençant les coordonnées des points singuliers constituant chaque arc, et - une phase d'utilisation comportant les étapes suivantes : - identifier un point singulier de départ et un point singulier d'arrivée, - calculer le plus court chemin constitué d'une succession des arcs à suivre pour atteindre le point singulier d'arrivée depuis le point singulier de départ, - diffuser, à l'endroit d'un point singulier donné appartenant au plus court chemin préalablement calculé, un message directionnel en fonction de l'angle entre deux arcs successifs du plus court chemin ayant comme sommet le point singulier dont le message directionnel associé est à déterminer à partir de ladite base de données de messages directionnels. [12] Selon une mise en oeuvre, les étapes de relier entre eux les points singuliers par des arcs et de créer la base de données stockant les différents arcs sont effectuées par une plateforme sans intervention de l'administrateur. [13] Selon une mise en oeuvre, pour définir la base de données de messages directionnels, l'administrateur place un point sur un cercle trigonométrique et entre manuellement le message directionnel associé à ce point, la plage d'angles étant définie par un axe de référence et un axe passant par le centre du cercle trigonométrique et le point placé par l'administrateur, cette plage d'angles étant calculée automatiquement et ensuite stockée dans la base de données des messages directionnels avec le message correspondant. [14] Selon une mise en oeuvre, le procédé comporte l'étape d'associer un sens de navigation à chaque arc pour gérer le sens de déplacement sur le chemin préalablement calculé. [15] Selon une mise en oeuvre, le procédé comporte l'étape d'associer un critère typologique à chaque arc, le plus court chemin étant calculé uniquement pour les arcs ayant un critère typologique correspondant à celui sélectionné par l'utilisateur. [16] Selon une mise en oeuvre, le procédé comporte l'étape de définir au moins un point intermédiaire positionné sur un arc ainsi qu'un message contextuel associé qui n'est pas un message directionnel. [017] Selon une mise en oeuvre, le procédé comporte l'étape de - définir, sur la cartographie, au moins une zone d'intérêt particulière associée à un ou plusieurs points singuliers, et - utiliser comme point d'arrivée un des points singuliers de la zone d'intérêt particulière, lorsque cette zone d'intérêt particulière est sélectionnée comme arrivée. [018] Selon une mise en oeuvre, le procédé comporte l'étape de - définir, sur la cartographie, des zones d'intérêt génériques de même nature présentes dans plusieurs endroits de l'espace, chaque zone d'intérêt générique étant associée à un ou plusieurs points singuliers, et - utiliser comme point d'arrivée un des points singuliers de la zone d'intérêt générique la plus proche de l'utilisateur, lorsque cette zone d'intérêt générique est sélectionnée et que l'utilisateur est localisé par un moyen quelconque à sa disposition. [19] Selon une mise en oeuvre, une plateforme contenant les bases de données pour une multitude d'espaces, il comporte l'étape de télécharger dans un terminal uniquement les données des bases de données nécessaires à l'orientation dans le ou les espaces préalablement sélectionnés. [20] Selon une mise en oeuvre, la plateforme autorisant un accès à plusieurs administrateurs via une interface d'administration commune, ces administrateurs peuvent configurer uniquement la cartographie de l'espace correspondant à leur droit d'accès. [21] Selon une mise en oeuvre, le procédé comporte l'étape de définir une ou plusieurs étapes intermédiaires pouvant être une zone d'intérêt particulière ou générique ou un point singulier, le plus court chemin étant calculé en passant par les étapes intermédiaires ainsi définies par l'utilisateur. [22] Selon une mise en oeuvre, le point de départ est défini par des moyens de localisation. [23] Selon une mise en oeuvre, le plus court chemin est actualisé en fonction de la position réelle de l'utilisateur. [24] L'invention concerne en outre une plateforme pour l'assistance à l'orientation dans un espace caractérisée en ce qu'elle comporte : - une interface d'administration permettant à une pluralité d'administrateurs de gérer différents espaces, - une base de données de messages directionnels contenant une liste de messages directionnels à diffuser associés à des plages d'angles de référence correspondantes, - au moins une base de données comportant des données relatives à une cartographie, - une base de données contenant des points singuliers correspondant aux endroits où les messages directionnels seront diffusés, - une base de données stockant les différents arcs en référençant les coordonnées des points singuliers constituant chaque arc, et - un logiciel pour calculer le plus court chemin constitué d'une succession des arcs à suivre pour atteindre un point singulier d'arrivée depuis un point singulier de départ définis par l'utilisateur, et pour diffuser, à l'endroit d'un point singulier donné appartenant au plus court chemin préalablement calculé, un message directionnel en fonction de l'angle entre deux arcs successifs du plus court chemin ayant comme sommet le point singulier dont le message directionnel associé est à déterminer à partir de ladite base de données de messages directionnels, - la plateforme comportant des moyens pour communiquer avec un terminal et des moyens pour autoriser le téléchargement local par le terminal d'au moins partiellement un élément parmi : le logiciel, la base de données de messages directionnels, la base de données comportant les données relatives à la cartographie, la base de données contenant les points singuliers, et la base de données contenant les arcs. [25] L'invention concerne en outre un programme d'ordinateur sur un support d'informations, ledit programme contenant des instructions de programme adaptée à être exécutées par un terminal pour la mise en oeuvre des étapes de la phase d'utilisation du procédé selon l'invention. [01] BREVE DESCRIPTION DES FIGURES [26] L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Ces figures ne sont données qu'à titre illustratif mais nullement limitatif de l'invention. Elles montrent : [27] Figure 1 : une plateforme et un terminal mettant en oeuvre le procédé d'assistance à l'orientation selon l'invention ; [28] Figure 2 : un outil permettant d'automatiser la création de la base de données de messages directionnels mise en oeuvre par le procédé d'assistance à l'orientation selon l'invention ; [29] Figures 3a-3d : différentes étapes d'exploitation d'une cartographie sur laquelle l'administrateur définit, via la plateforme de configuration, des points singuliers à partir desquels des arcs sont créés, des zones d'intérêt, ainsi que des points intermédiaires conformément au procédé selon l'invention ; [30] Figure 4 : un extrait de la base de données répertoriant les arcs dans un mode de mise en oeuvre de l'invention ; [31] Figure 5 : des étapes pour la configuration et la mise en oeuvre du procédé d'assistance à l'orientation selon l'invention. [32] Dans la suite de ce document les éléments identiques, similaires, ou analogues, conservent la même référence d'une figure à l'autre. [33] DESCRIPTION D'UN MODE DE REALISATION DE L'INVENTION [34] La Figure 1 montre une plate-forme 1 et un terminal 2 mettant en oeuvre le procédé d'assistance à l'orientation selon l'invention dans un espace E géographique, par exemple un aéroport, une gare, un bâtiment de centre commercial, etc.. [35] La plate-forme 1 est formée par une passerelle 5 stockée sur un serveur et une interface d'administration 3, par exemple de type WEB, permettant à un administrateur d'accéder et de gérer les différents espaces et les services associés ainsi que de visualiser les données correspondantes. La passerelle 5 contient un logiciel L d'assistance à l'orientation destiné à être mis en oeuvre localement, après téléchargement, par le terminal 2, ou alors à fournir au terminal 2 le résultat de l'algorithme de recherche d'itinéraire exécuté par le logiciel L dans le cas où le terminal 2 dispose de ressources limitées. Il serait également possible de visualiser les résultats du procédé d'assitance à l'orientation via un outil de simulation, grâce au logiciel L. [36] La passerelle 5 comporte également au moins un ensemble Al de bases de données, dites bases de données globales, permettant la mise en oeuvre du logiciel de navigation L. Cet ensemble Al de bases de données consiste en une base de données BDDp contenant un ensemble de points singuliers définis par l'administrateur correspondant chacun à un endroit sur la cartographie comme expliqué ci-après, une base de données BDDa contenant des arcs, c'est-à-dire des couples de points singuliers voisins ; une base de données BDDm de messages directionnels ; une base de données BDDc contenant des données relatives à une cartographie Z de l'espace E dans lequel l'utilisateur souhaite s'orienter ; une base de données BDDpoi contenant des zones d'intérêt POI sélectionnables par l'utilisateur ; ainsi qu'une base de données utilisateur BDDu contenant des statistiques relatives aux différents chemins suivis par les utilisateurs, ainsi que des statistiques relatives aux différents profils de ces utilisateurs. Le contenu de ces différentes bases de données sera détaillé ci-après. [37] La passerelle 5 pourra, le cas échéant, comporter en outre un module 4 de localisation dans le cas où le terminal 2 utilisateur ne serait pas assez évolué pour embarquer le module 4 de localisation et que le terminal 2 ne comporterait alors qu'un module 10 de réception. Ce module 10 permettrait de remonter à la plate-forme 1 des informations (sur les puissances reçues des différentes balises Bi par exemple) permettant la localisation déportée du terminal 2 (identifiants de balises Bluetooth, indications de puissances, idem en Wi-Fi etc.). [38] Le logiciel de navigation L, l'ensemble Al de bases de données globales et le module 4 de localisation éventuel appartiennent à une passerelle 5. On considère ainsi que la plate-forme 1 est formée par ladite passerelle 5 et l'interface d'administration 3. [39] La plate-forme 1 échange des données avec le terminal 2 d'un utilisateur prenant de préférence la forme d'un téléphone mobile. Toutefois en variante, il peut s'agir par exemple d'un PDA (« Personal Digital Assistant »), d'un ordinateur, portable ou non, ou tout autre dispositif adapté. [40] Le terminal 2 comporte de préférence une interface homme-machine (IHM) 7 adaptée pour communiquer avec l'utilisateur. Cette IHM 7 comporte à cet effet des moyens de saisie de commandes ou d'instructions par l'utilisateur, par exemple un clavier, et/ou un micro associé à une application de reconnaissance vocale. L'IHM 7 comporte en outre des moyens de restitution d'informations à destination de l'utilisateur, par exemple un écran d'affichage et/ou un haut-parleur associé à une application de synthèse vocale. En variante, le terminal 2 peut prendre la forme d'un simple module sans IHM particulière. [41] Par ailleurs, le terminal 2 comporte un logiciel L d'assistance à l'orientation permettant de guider l'utilisateur depuis une position de départ jusqu'à une position d'arrivée. Lorsqu'il s'agit d'applications mobiles, le logiciel L ainsi que la structure des différentes bases de données sont installés indépendamment de la plate-forme 1, cette dernière ne servant qu'à remplir ou éventuellement mettre à jour les différentes bases de données nécessaires à l'utilisation du logiciel L d'assistance à l'orientation. En variante, dans le cas d'une localisation déportée, le terminal 2 exploite les résultats du logiciel L fournis par la plateforme 1. [42] Dans le cas d'un terminal 2 dit « intelligent », c'est-à-dire comportant une capacité de calculs importante et un grand espace mémoire, le terminal 2 comporte en outre une zone mémoire 8 adaptée pour stocker notamment des bases de données correspondant à l'espace E d'intérêt que l'utilisateur aura téléchargées depuis la plate-forme 1. Ainsi, la zone mémoire 8 contient la base de données BDDm de messages directionnels ; la base de données BDDc contenant la cartographie de l'espace E dans lequel l'utilisateur souhaite s'orienter ; la base de données arcs BDDa et la base de données BDDpoi contenant des zones d'intérêt sélectionnables par l'utilisateur. En variante, dans le cas d'un terminal 2 dit « non intelligent », c'est-à-dire comportant une capacité de calculs réduite et un espace mémoire réduit voire nul, ces données sont stockées sur la plate-forme 1, cette dernière assurant la localisation et le guidage de l'utilisateur. Le terminal non intelligent 2 ne remonte alors que des données brutes permettant la localisation déportée de l'utilisateur, c'est-à-dire une localisation réalisée sur la plate-forme 1. [43] La structure des bases de données locales BDDm, BDDc, BDDa et BDDpoi sera téléchargée entièrement vers le terminal 2 ; toutefois leur contenu sera de préférence téléchargé partiellement en fonction notamment des besoins d'assistance de l'utilisateur et de zones d'intérêt POI choisies par l'utilisateur afin de limiter la consommation des ressources du terminal 2. L'ensemble des données locales du terminal 2 est de préférence mis à jour régulièrement par la plate-forme 1 ; tandis que certains types de données pourront être remontés vers la plate-forme 1 notamment pour l'élaboration des statistiques ou la localisation déportée. [44] De manière optionnelle, le terminal 2 comporte un module de réception radiofréquence 10 capable de recevoir des informations transmises par voie radio. Ces informations sont issues des bornes référencées Bi pouvant prendre la forme de bornes Wi-Fi, Bluetooth, ou encore d'un satellite dans le cas de l'utilisation d'un système GPS. Le terminal 2 pourra également embarquer le module 4 de localisation permettant d'identifier la localisation du terminal 2 à partir de l'identifiant émis par une balise Bi ou du signal émis par le module GPS. [45] Dans un environnement multi-administrateurs 01-0M, la plate-forme 1 comporte une multitude d'ensembles Al -AN de données globales correspondant chacun à au moins un espace géographique E distinct. L'administrateur 01-0M est dans ce cas autorisé à accéder uniquement, via l'interface d'administration 3 commun, aux cartographies qu'il peut créer et modifier en fonction de ses droits d'accès. [46] Par ailleurs, chaque utilisateur télécharge sur son terminal 2, parmi l'ensemble des données stockées sur la plate-forme 1, uniquement les données utiles à son orientation dans l'environnement E qu'il aura sélectionné parmi un ensemble d'environnements E disponibles affichés sur l'écran du terminal 2. On note également que des parcours entre différents environnements E sont possibles, avec éventuellement une partie du parcours en extérieur, en utilisant les moyens de guidage à disposition sur le terminal 2 utilisateur. [47] Plus précisément, lors de la mise en oeuvre du procédé selon l'invention, un administrateur 01-0M se connecte, dans une étape 100, à la plate-forme 1 via l'interface d'administration 3. Dans une étape 101, l'administrateur 01-0M définit alors la base de données BDDm de messages directionnels contenant une liste de messages à diffuser associés à des plages d'angles, dites plages d'angles de référence, correspondantes. Pour faciliter le travail de l'administrateur, on fait appel à un outil montré sur la Figure 2 basé sur l'utilisation d'un cercle trigonométrique C ayant un axe de référence X0. L'administrateur place un point Ai sur le cercle C et entre manuellement le message directionnel Mi associé à la plage d'angle Qi correspondante. Cette plage d'angles est définie par rapport à l'axe XO de référence et à un axe Yi passant par le centre O du cercle trigonométrique C et le point Ai placé par l'administrateur. Cette plage d'angles Qi est calculée automatiquement et ensuite stockée dans la base de données BDDm avec le message Mi correspondant. Par exemple, lorsque l'angle entre deux arcs sera compris dans la plage d'angles 01, le message directionnel « continuez tout droit » sera diffusé ; tandis que lorsque l'angle entre deux arcs sera compris dans la plage d'angles Q2, le message directionnel « Allez en face à gauche » sera émis. [48] L'administrateur 01-0M importe, dans une étape 102, une cartographie Z montrée sur la Figure 3a, d'une partie d'un espace E géographique, par exemple un aéroport, un bâtiment de centre commercial. Cette cartographie Z est associée à la base de données BDDc. Cette cartographie P est mise à l'échelle par l'administrateur. [49] Comme montré sur la Figure 3b, l'administrateur 01-0M peut alors positionner, dans une étape 103 un nombre fini de points singuliers Pi correspondant aux endroits où des messages directionnels seront diffusés à l'utilisateur. Suivant le lieu, ces points singuliers Pi sont par exemple des points situés à des endroits tels qu'une zone de contrôle, une zone d'accueil, une zone de guichets, des quais, une intersection entre plusieurs chemins etc. La plateforme 1 comporte une base de données BDDp listant les points singuliers Pi définis par l'utilisateur. [50] Comme montré sur la Figure 3c, des voies Vi de passage praticables par les usagers correspondant par exemple à des couloirs de l'espace E sont calculées automatiquement, dans une étape 104, en fonction de ces points singuliers Pi. Les voies Vi sont éventuellement ajustables suivant leur largeur par l'administrateur 01-0M. [51] L'administrateur 01-0M peut également définir des zones d'intérêt POlp particulières listées dans la base de données BDDpoi, comme par exemple des magasins dans un centre commercial, associés à un ou plusieurs points singuliers préalablement définis. L'administrateur 01-0M peut également définir des zones d'intérêt POlg génériques correspondant à des endroits de même nature présents dans plusieurs endroits de l'espace tels que des toilettes. [52] L'administrateur 01-0M peut également définir des points intermédiaires Pint qui ne participeront pas au guidage de l'utilisateur mais auquel un message contextuel d'information sera associé. Ainsi, l'administrateur Pint pourra définir, sur la cartographie Z, un point intermédiaire Pint correspondant à un endroit en travaux ou à un magasin proposant des soldes et créer un message d'information correspondant à destination de l'utilisateur. [53] La base de données arc BDDa est ensuite automatiquement créée par la plate-forme 1 dans une étape 105. A cet effet, comme montré sur la Figure 4, la base de données BDDa répertorie les couples de points singuliers Pi voisins de l'espace E reliés entre eux constituant les arcs référencés ai sur la Figure 3d. Un point singulier B est considéré comme voisin du point singulier courant A si, par exemple, pour aller du point singulier A courant vers le point singulier B en empruntant les voies de passage praticables, aucun autre point singulier n'est rencontré. [54] Dans un mode de réalisation optionnel, la base de données BDDa comporte en outre pour chaque arc ai défini entre deux points singuliers Pi, la distance entre ces deux points singuliers Pi ; le sens de parcours de l'arc ai ; ainsi que la typologie de l'arc ai correspondant à une ou plusieurs caractéristiques du chemin sur cet arc. Par exemple, on pourra définir une typologie particulière pour les arcs pouvant être empruntés par des personnes à mobilité réduite ou pour les arcs où l'on rencontre de multiples magasins, etc.... Chaque arc ai pourra ainsi être affecté de plusieurs typologies particulières différentes. [55] Dans le cas où aucun moyen de positionnement n'est mis en oeuvre par le terminal 2, l'invention produit une carte de route indiquant les différentes directions à prendre et affichant les messages directionnels correspondant au chemin souhaité par l'utilisateur. Le cas échéant, l'invention pourra afficher les messages directionnels « pas à pas » lorsque l'utilisateur indiquera manuellement au court de son chemin un nouveau point singulier atteint qu'il aura repéré lui-même dans l'espace. [56] Dans le cas où un ensemble de balises radio Bi (de type Bluetooth, Wifi ou autre) est utilisé pour repérer automatiquement la position de l'utilisateur, ces balises Bi sont disposées à des endroits connus, de façon à ce qu'en chaque point de l'espace E où l'on souhaite localiser l'utilisateur, il existe un recouvrement par rayonnement d'au moins 3 balises. A partir des trois identifiants et des trois niveaux de puissance de balises reçus par le terminal 2, le module 4 de localisation détermine la position réelle de l'utilisateur au moyen d'un algorithme de trilatération basé de préférence sur une minimisation des moindres carrés. Toutefois, un algorithme basé sur d'autres types de minimisation pourrait être choisi. En variante, il est bien entendu possible d'utiliser toute autre solution de localisation connue, le module de localisation 4 étant adapté en fonction de la solution choisie. [57] On décrit ci-après l'utilisation des services d'assistance à l'orientation proposés suite à la configuration de la ou des cartographies préalablement effectuées par l'administrateur 01-0M. [58] Dans une étape 106, l'utilisateur sélectionne sur son terminal 2, parmi un ensemble d'espaces E pour lesquels l'assistance à l'orientation est proposée, celui qui l'intéresse. La structure et au moins une partie du contenu des bases de données BDDc ; BDDpoi ; BDDa ; BDDpt et BDDm nécessaires à la mise en oeuvre du procédé d'assistance à l'orientation sont téléchargées dans le terminal 2. Le logiciel L est soit préinstallé, ou installé en même temps que le chargement des bases de données. Alternativement, certaines de ces bases de données ou aucune d'entre elles ne sont téléchargées, le terminal 2 communiquant alors à distance avec la plateforme 1 pour accéder au contenu de ces bases de données. [59] Ensuite, dans une étape 107, en utilisant les moyens de saisie de l'IHM 7 du terminal 2, l'utilisateur indique un point singulier de départ D et un point singulier d'arrivée A parmi les points singuliers de l'espace E. Cette indication est réalisée par exemple par sélection de ces deux points singuliers dans un menu déroulant listant l'ensemble des points singuliers du lieu d'intérêt E ou directement sur une carte s'affichant sur le terminal 2. L'utilisateur peut également sélectionner une zone d'intérêt POI (particulière ou générique), de sorte que le ou les points singuliers Pi associés à cette zone d'intérêt seront considérés comme point(s) singulier(s) d'arrivée A. [60] Dans un mode de réalisation particulier, le point singulier de départ est par défaut le point singulier Pi le plus proche de la localisation de l'utilisateur déterminée par le module 4 de localisation. Alternativement, cette indication est réalisée par exemple par la saisie d'adresses de départ et d'arrivée par l'utilisateur, puis détermination, par l'application d'assistance à l'orientation dans la base de données des points singuliers BDDp, du point singulier le plus proche de l'adresse de départ et du point singulier le pus proche de l'adresse d'arrivée. L'algorithme de définition du plus court chemin est alors mis en oeuvre dans une étape 108, afin de déterminer le plus court chemin constitué à l'aide d'arcs ai sélectionnés dans la base de donnes BDDa, tel que l'utilisateur du terminal 2 puisse se rendre depuis le point singulier de départ D jusqu'au point singulier d'arrivée en empruntant ce chemin. Dans un exemple de mise en oeuvre, l'algorithme de calcul de plus court chemin est l'algorithme de Dijkstra. [61] Ce plus court chemin doit être le plus court chemin constitué d'arcs sélectionnés dans la base de données BDDa, tout en tenant éventuellement compte de contraintes supplémentaires telles que certains points singuliers de passage obligés (par exemple un portique de sécurité à l'entrée d'un centre commercial), ainsi que des étapes intermédiaires requises (par exemple un utilisateur peut requérir de passer par un point singulier de vente de journaux). Le plus court chemin pourra également être calculé, le cas échéant, en fonction de la typologie des différents arcs correspondant au mode de parcours choisi par l'utilisateur, tel qu'un parcours « flânerie » ou accessible aux personnes à mobilité réduite. Dans le cas où l'utilisateur sélectionne une zone d'intérêt générique, la zone d'intérêt la plus proche sera sélectionnée par l'application en fonction de la position de l'utilisateur dans le cas où des moyens de localisation sont utilisés. Il est également possible pour l'utilisateur de définir une ou plusieurs étapes intermédiaires pouvant être une zone d'intérêt particulière ou générique POlp, POlg ou un point singulier Pi, le plus court chemin étant calculé en passant par les étapes intermédiaires ainsi définies par l'utilisateur. [62] Un plus court chemin est, suivant les cas, un chemin ayant un nombre minimal d'arcs ai ou encore un chemin dont la somme des distances (éventuellement pondérées) associées à chaque arc ai sélectionné est minimale ou toute autre définition. Cette étape 108 produit ainsi une « feuille de route » des points singuliers Pi successifs à atteindre par l'utilisateur correspondant aux arcs ai sélectionnés constituant le chemin le plus court. [63] Ainsi en référence à la Figure 3d, le point singulier de départ D sélectionné dans l'étape 107 est le point identifié par P7 tandis que le point singulier d'arrivée A sélectionné est le point P6. La suite ordonnée des arcs sélectionnés dans la base de données BDDa au cours de l'étape 108 est donc la suivante (P7 ; P4) ; (P4 ; P5) ; (P5 ; P6). Ce plus court chemin définit ainsi la liste ordonnée des points singuliers successifs devant lesquels l'utilisateur devra passer, selon l'assistance à l'orientation proposée par l'invention, pour aller du point de départ D au point d'arrivée A. Ces points successifs dans le plus court chemin sont dans le cas présent : P7 ; P4 ; P5 ; P6. [64] Dans une étape 109, on sélectionne dans la base de données de messages directionnels BDDm, un message de guidage associé à chacun des points singuliers Pi du chemin optimal déterminé, considéré en-dehors du point d'arrivée P6, destiné à guider l'utilisateur à partir de chacun de ces points Pi. La détermination des messages directionnels pourra être effectuée « à la volée » au cours du déplacement de l'utilisateur. [65] A cet effet, dans un mode de réalisation, sur un écran du terminal 2 est affichée la cartographie Z du lieu entre les points D et A, représentant en outre au moins les points singuliers successifs selon le plus court chemin soit dans le cas présent : P7, P4, P5, P6. Le message d'instruction à diffuser à un point singulier donné Pi appartenant au plus court chemin préalablement est calculé, à partir de la base de données de messages directionnels, en fonction de l'angle entre deux arcs ai successifs du plus court chemin ayant comme sommet le point singulier Pi dont le message directionnel Mi associé est à déterminer. [66] Dans l'exemple, l'application de guidage affichera en P7 un message du type « allez tout droit » ; en P4 un message du type « tournez à droite » ; et en P5 un message du type « Allez en face à droite ». Le message directionnel associé à chacun de ces points singulier Pi est par exemple affiché sur l'écran du terminal 2, en faisant correspondre l'instruction et le point associé par exemple par une flèche sur l'écran. [67] Dans le cas où l'utilisateur est localisé, le chemin est recalculé lorsque l'utilisateur s'est écarté du chemin. Pour détecter une erreur dans le chemin emprunté par l'utilisateur, on pourra, dans le cas où des balises Bi sont utilisées, comparer le point singulier attendu en fonction du sens de déplacement de l'utilisateur avec le point singulier le plus proche de la position détectée par le terminal 2. Si ces points singuliers correspondent alors on en déduit que l'utilisateur suit le bon chemin. Dans le cas contraire, un message d'alarme est par exemple fourni à l'utilisateur et un nouveau chemin optimal est recalculé avec les instructions de guidage associées selon les étapes 107 à 109, en gardant le point d'arrivée initialement sélectionné et en prenant comme nouveau point de départ le point singulier Pi venant d'être détecté. Une fois ces étapes réalisées, le terminal 2 affiche alors sur l'écran, de façon spécifique, le message de guidage associé au point singulier Pi courant dont l'identifiant vient d'être reçu par le téléphone 2, en tant qu'instruction de guidage devant être suivie par l'utilisateur. [68] Ainsi grâce à l'invention, un guidage optimisé de l'utilisateur peut être réalisé. Le nombre d'opérations de requêtes auprès des bases de données et de calcul est réduit par rapport aux techniques de l'art antérieur puisque le chemin optimal et les messages directionnels pour guider l'utilisateur depuis le point de départ jusqu'au point d'arrivée sont déterminables de façon groupée et font appel à une base de données de messages directionnels de taille réduite. En outre, le chemin optimal et les informations de guidage peuvent être déterminées, indépendamment du réseau de balises radio-fréquences Bi. [69] Dans le mode de réalisation décrit en référence aux figures, les étapes 107, 108 et 109 sont réalisées par les moyens de traitement du terminal 2. Dans un autre mode de réalisation, certaines de ces étapes, sont réalisées par des moyens de traitement de la plateforme 1 en relation avec le terminal 2 par des moyens de télécommunication. [70] On note également que l'ordre présenté des différentes étapes du procédé pourrait être modifié. En particulier, l'importation de la cartographie Z et la définition des FOI pourraient être effectués avant la définition de la base de données des messages directionnels BDDm.