html5 History api est une api javascript permettant de contrôler l’historique de navigation. Pour prendre un exemple simple, prenons un diaporama photo, avec des boutons suivants et précédents. Si l’internaute clique sur le bouton suivant, le diaporama va changer d’image. S’il clique ensuite sur le bouton précédent de son navigateur, c’est la page précédente qui va être chargée, et non l’image précédente du diaporama. Ceci s’explique facilement, puisque les boutons de navigation du diaporama, ne modifient pas l’historique de navigation.
Grâce à l’api history, on peut modifier l’historique de navigation. Et pour reprendre l’exemple ci-dessus, on peut maintenant ajouter au dessus de la pile de l’historique, la dernière image vue dans notre diaporama. On retrouvera donc bien l’image précédente en cliquant sur le bouton précédent du navigateur.
L’api history permet aussi de modifier l’url, sans avoir à recharger la page. L’internaute possède un moyen supplémentaire de savoir à quel endroit il se trouve. On peut maintenant générer des urls uniques et cohérentes avec des contenus chargés en AJAX. Mais attention cependant, au rafraichissement de la page. Il faut prévoir dans la conception de vos sites/applications que les urls générées renvoient bien la page voulue, et non une erreur 404 ou autre.
Dans beaucoup de sites/applications utilisant l’AJAX, on note une incohérence quasi systématique entre les urls et le contenu chargé en asynchrone. Un des objectifs de cette api est d’essayer de rétablir cette cohérence.
Comme le montre le tableau ci-dessous, cette api est loin d’être supportée par beaucoup de navigateurs.

Un script javascript a été développé pour rendre html5 history compatible avec un maximum de navigateur : history.js
Voilà pour la théorie, j’essaie de vous faire un autre article sur la mise en pratique d’html5 hsitory dans 2/3 jours.
Pour patienter, voici un peu de lecture sur le sujet :
Je suis un concepteur et développeur web à Grenoble. Je développe essentiellement avec le CMS Spip. Actuellement en contrat chez Territorial, je continue ma veille technologique, et vous fais partager ce que je trouve utile et pratique.