La géolocalisation
Par Reivilo le mercredi, janvier 17 2007, 20:48 - Débats - Lien permanent
Pour bon nombre de requêtes on cherche des résultats proches de sa localité (restaurant, salle, évènement, magasin,....). Évidemment on pourrait chercher en mettant un mot-clef comme la région, la ville ou le département par exemple, mais les sites sont rarement bien étiqueté.
Critères actuellement utilisés
La plupart des moteurs de recherche proposent de restreindre la recherche à une langue ou encore aux sites hébergés dans un pays précis.Détecter la langue d'un site ou d'un internaute (via la valeur renvoyée par le navigateur par exemple) est relativement aisé, et ça marche plutôt bien.
Par contre, restreindre une recherche aux sites hébergés dans un pays n'est pas pertinent. En effet, de moins en moins en moins de particuliers/entreprises utilise un hébergeur à proximité de son magasin ou encore dans le même pays. La mode va aux hébergeurs de grandes tailles qui ont leur propre datacenter là où l'immobilier est bon marché ou simplement où le backbone internet est peu onéreux. Ainsi nombre de sites français sont hébergés en allemagne ou encore aux USA. Bref, bon nombre de sites pertinents seraient recalés avec un tel critère.
Mais alors comment définir :
- La langue et la localisation de l'utilisateur
- La langue et la localisation d'un site ou plutôt du service qu'il représente (par exemple un hôtel)
Du côté de l'internaute
Pour cibler l'internaute, deux outils sont à disposition :
- L'user-agent renvoyé par son navigateur
- Son IP
Le user-agent des navigateurs les plus utilisés renvoie la langue utilisée par l'utilisateur, donc on peut en déduire la langue qui l'intéresse (évidemment, ce n'est pas infaillible et tous les critères devraient être ajustables par l'internaute).
Le seul critère qui pourrait refléter la localistion de l'internaute est son ip (qu'il faudrait tracer), néanmoins cela demande trop de temps, c'est approximatif et si ça passe par un proxy par exemple, le critère tombe à l'eau. Bref, je ne vois pas de vraie solution pour localiser l'internaute.
Du côté du site
Du côté du site on retrouve également l'IP du serveur (et cette fois on aurait le temps de la tracer), mais comme je l'ai dit précédemment, le résultat peu être totalement trompeur. Bref ce n'est pas un critère fiable.
Pour localiser le service d'un site (dans le cas où la prestation serait matériel comme un hôtel, restaurant, cinéma, musée ou autre évènement), le critère le plus fiable à mon avis serait une adresse trouvée dans le site. Ce serait à ValizBot de la trouver et de l'analyser.
Qu'en pensez-vous ?
Commentaires
Pour ce qui est de la localisation de l'internaute, c'est pas evident. Pré selectionner suivant le user agent, puis lui donner la possibilité de changer sa localisation me semble être la meilleure solution.
Pour les sites web, c'est corsé aussi. Si ValizBot trouve l'adresse, ce serait précis et la meilleure solution. Sinon, la ville ou des informations moins précises sur la localité sont trouvable généralement. A partir de la, il serait possible de situer le service plus ou moins approximativement, et le classer suivant la précision des informations données
Pour la langue de l'internaute, il y a un en-tête HTTP envoyé non ? (accept-language ou comme ça)
Pour trouver la langue d'un site, soit on s'appuie sur des informations données par le site lui-même (en-têtes, meta, etc...), soit sur une analyse du contenu.
Pour la géolocalisation : - de l'internaute : c'est très dur, quoique avec les infos du whois de l'IP ça avance pas mal les choses quand même. Sinon, lui laisser tout simplement la possibilité de rentrer une adresse (genre "toulouse France") lors d'une recherche. En effet, la géolocalisation précise n'est vraiment utile que pour des recherches particulières ; enfin perso, dans 90% des recherches que je fais, ça ne m'intéresse pas. - d'un site : j'aime bien l'idée de l'adresse, l'idéal ça serait de détecter les pages contacts & co. Il y aussi le whois du domaine.