Aller au contenu | Aller au menu | Aller à la recherche

La Géolocalisation dans Firefox 3.5 et Fennec

Fennec La fondation Mozilla a publié la semaine dernière la 4e Beta du futur Firefox 3.5. Une des évolutions intéressante de cette version, hormis l'amélioration du moteur JavaScript, l'élément <video/>, les Web Workers, ou le chargement de Font CSS, est l'intégration de l'API de Géolocalisation du W3C. Firefox 3.5

L'API de Géolocalisation est une futur norme du W3C pour permettre aux pages Web et donc aux applications Web d'interroger le navigateur sur le position sur terre de l'utilisateur. Actuellement cette API est accessible aux utilisateurs de Google Gears. Firefox 3.5 augmentera encore le nombre d'utilisateurs susceptibles de profiter de cette innovation, et Fennec, la version pour Mobile de Firefox, devrait encore augmenter l'intérêt des développeurs pour cette fonctionnalité.

L'utilisation de cette API dans une page Web est assez simple :

<html>
<head>
<script type="text/javascript">

function displayLocation(loc) {
  var locDiv = document.getElementById("locationDiv");
  locDiv.innerHTML = "lat: " + loc.coords.latitude + ", lon:" + loc.coords.longitude;
}

function getLocation() {
    navigator.geolocation.getCurrentPosition(displayLocation);
}

</script>
</head>

<body>
<a href="#" onClick="getLocation()">Click here to display location</a><br>
<div id="locationDiv"></div>
</body>
</html>

L'intérêt est de pouvoir fournir un service plus précis :

  • un centrage plus précis sur une carte
  • une recherche plus précise de lieu ou d'information
  • ne pas avoir à installer un nouveau logiciel pour partager sa position
  • ou tout autre service pouvant profiter d'une localisation

Bien sûr l'aspect sécurité et protection de la vie privée a été pris en compte par l'équipe Mozilla. Ainsi voici le point de vue développé par Doug Turner lors d'une conférence sur air.mozilla.org :

  • Protection de la vie privée : le respect de la vie privée est super importante pour nous (Mozilla) et nous estimons avoir la meilleure politique en matière de protection de la vie privée vis à vis de vos données. L'utilisation de données Wifi, d'adresses IP, de protocoles associés ne doit jamais être utilisée pour espionner les utilisateurs, les suivre ou les partagers sans un accord explicite.
  • Préserver le choix de l'utilisateur : Si l'utilisateur ne fait rien, la géolocalisation n'est jamais utilisée. Lorsqu'une page Web veut demander la position de l'utilisateur, une boîte de dialogue, comme pour lorsque vous entrez un login / mot de passe, apparaît. L'utilisateur est libre de choisir si il fournit l'information, mais s'il ne fait rien aucune géolocalisation n'est fournit à la page Web. La fonctionnalité est désactivé par défaut. Enfin l'utilisateur est libre de choisir un autre système de géolocalisation qu'il installe grâce à une extension.

Mais afin de développer l'utilisation de cette API et de faire naître de nouveaux services, Mozilla souhaitait proposer au moins un service de géolocalisation. Par contre ce service doit être en accord avec les règles de sécurité et de protection de la vie privée de la fondation Mozilla, ce qui est la cas des services de Google. Donc par défaut dans Firefox 3.5 et Fennec, la géolocalisation est fourni par le service de géolocalisation de Google que l'on retrouve dans Google Latitude.

Donc techniquement cela donne :

  1. L'utilisateur se rend sur une page contenant du JavaScript demandant la géolocalisation au navigateur, Firefox ou Fennec.
  2. Lorsque la page est chargé par le navigateur une boîte de dialogue appraît.
  3. Si l'utilisateur ne sélectionne rien ou clique non, le navigateur ne demande aucune géolocalisation et retourne simplement un message d'erreur.
  4. Si l'utilisateur a répondu oui, Firefox ou Fennec formate les données des point d'accès Wifi en JSON et les envois au Service Google de Localisation via HTTPS (les données sont donc cryptées).
  5. Le Service Google de Localisation retourne une géolocalisation au format JSON.

Pour en savoir plus :