Détecter les préférences du navigateur
Par J.Ducastel le lundi 3 décembre 2007, 19:34 - Formules - Lien permanent
Il bien plus agréable pour l'internaute de disposer directement du contenu qui le concerne (langue, navigateur, OS...) plutot que de devoir fouiller le site web pour l'obtenir. Cela améliore son expérience de navigation, et donc l'attrait pour votre site.
Beaucoup d'entre nous se sont habitués à chercher, en arrivant sur un site, s'il n'en existait pas une version dans sa propre langue. On cherche alors où sont les petits drapeaux, les micro-liens avec code de langue sur deux caractères, etc. Et beaucoup d'utilisateurs ne les trouvent pas, et quittent le site immédiatement, faute de pratiquer la langue affichée. Pourtant, quand le contenu d'un site est traduit, le plus gros du travail est fait; pourquoi ne pas l'afficher directement dans la langue spécifiée par l'internaute pour son navigateur ?
Ceci est également valable pour d'autres
préférences. La page de téléchargement de
Firefox par exemple est non seulement traduite dans la langue de
l'internaute, mais la version proposée au téléchargement est celle
correspondant à son système d'exploitation. Tout aussi efficace, la page de bookmarklets pour Del.icio.us
est automatiquement adaptée au navigateur en cours. Ceci est possible grâce aux
données de préférences et d'environnement utilisateur transmises par le
navigateur au serveur web via les en-têtes HTTP.
Outre les préférences de langue, et les particularités eventuelles de l'environnement système d'exploitation/navigateur, il peut être souhaitable de détecter le support de javascript, surtout pour les sites utilisant ajax pour certaines de leurs fonctionnalités. Tout comme le support de flash. La liste est longue, car les possibilités d'HTTP sont encore largement sous-utilisées.
Bien evidemment, il faut garder à l'esprit que ces données ne sont pas fiables, et ne doivent être utilisées que pour définir la version du contenu par défaut, et toujours permettre à l'utilisateur de modifier ces réglages si possible via des liens et des contrôles manuels.
Pour ce qui est de PHP, vous pouvez utiliser un de mes bouts de script ( getting browser language settings with php), ou la classe phpsniff qui semble bien plus complete (pas encore utilisée, je viens de tomber dessus).


Commentaires