Jean-David Daviet

Comprendre les sites internet – Le cache

Si vous gérez un site internet, ou même si vous aimez juste être sur internet de temps en temps, vous avez peut-être remarqué ce mot cache. Et quand on travaille dans l’industrie du développement, on ne se rend même plus compte qu’un cache ça n’est pas forcément évident pour tout le monde. Alors qu’est-ce que c’est que le cache ?

Qu’est ce que le cache ?

Tout d’abord, en gros, le cache c’est une copie d’un fichier à un instant T. C’est bien, mais à quoi ça sert ? Parce que avoir une copie d’un fichier sur mon ordinateur, je sais faire, hop CTRL-C CTRL-V.
Dans le domaine de l’informatique, il est bon de créer une copie d’un fichier pour ne pas avoir à le recréer à chaque fois qu’on veut y accéder. Quand on accède un site internet, pour pouvoir récupérer les dernières actualités, informations ou contenu, le site doit faire des calculs. Et parfois quand ces calculs sont un peu complexes, il arrive que le site soit un peu lent à s’afficher (exemple : Site, retrouve moi cet article de l’année 2006, mentionnant le mot chien mot et faisant parti de la catégorie animaux).
Vous savez le petit rond bleu qui tourne dans l’onglet de votre navigateur…

A quoi sert le cache ?

Imaginez maintenant que plein de gens cherchent différents contenus sur le site. Il va avoir encore plus de peine, parce qu’il faut qu’il calcule les demandes de tout le monde ! C’est la qu’intervient le cache. Au lieu de créer une page web pour chaque utilisateur du site, le serveur va faire les calculs nécéssaire pour créer cette page, puis il va la mettre en cache. Il a crée une copie qu’il lui suffira d’afficher la prochaine fois que quelqu’un demandera la même page. Et oui, pourquoi calculer deux fois la même chose ? Ils sont un peu feignant en fait les sites !

Donc au final, l’utilisateur qui aura la page en cache, lui aura une page qui s’affichera beaucoup plus rapidement, parce que le site n’aura pas eu besoin de la recalculer.

C’est là tout l’interêt du cache. Car cette page qui n’aura pas été calculée sera servi beaucoup plus rapidement.

Mais du coup, le problème c’est quand on souhaite avoir une version à jour de la page. Parce que si le site ne donne que la même page, et que des informations ont été ajoutés sur le site entre-temps, l’utilisateur n’aura pas la version à jour du document. C’est pour ça qu’on à souvent tendance à entendre “Ah mais c’est un problème de cache”, ou encore “Vide ton cache”. C’est quand le contenu que l’on reçoit n’est plus à jour par rapport à la dernière version du contenu.

Le cache navigateur

Un autre système de cache, est celui du navigateur. Quand on va sur un site, votre navigateur tel que Chrome ou Firefox par exemple, vont télécharger tout le contenu de la page. Cela inclut les images, mais aussi les style de la page, le texte, et les scripts qui permettent de faire interagir la page. Comme les images, les styles et les scripts sont des éléments que l’on retrouve sur l’ensemble du site (en général le logo est le même sur tout le site, pareil pour les styles). Donc le navigateur va décider de stocker dans son cache une copie de ces éléments. La prochaine fois qu’on accède à une page du site, le navigateur va dire au site “Hé pas besoin de me transférer le logo, je l’ai déjà, ne perd pas ton temps avec ça” et le site de répondre “Ok, pas de soucis, merci”. Du fait, la page s’affichera beaucoup plus vite, parce que les éléments sont déjà existants sur votre navigateur (donc sur votre ordinateur) et pas besoin de télécharger les éléments à nouveau.

Ici aussi le problème se pose quand une version des styles dans le cache navigateur par exemple n’est plus à jour avec le serveur. Imaginez que Pierre accède à mon site. Son navigateur télécharge mes styles, images, etc…. Ensuite je décide de changer le fond de mon site en bleu. Je met à jour le site. La prochaine fois que Pierre accède mon site, il se peut (ce n’est pas obligé) qu’il ait une ancienne version du site avec le fond qui n’est pas bleu. Il faudra donc qu’il vide son cache pour que le navigateur télécharge à nouveau les bons styles.

Pour conclure, soyez conscient que c’est une vulgarisation, donc le but n’est pas d’être le plus exhaustif possible mais vraiment de donner un début de compréhension sur l’interêt du cache sur les sites internet.