12.1. Concept : cache
À chaque requête de page, le logiciel qui fait tourner votre site, doit réaliser un certain nombre de calculs et récupérer des données depuis la base de données, pour composer la page qui est envoyée au navigateur web ou à une autre application. Ces calculs prennent du temps, ce qui peut entraîner une attente lors du chargement plus longue qu’il n’est souhaitable pour votre page.
Il existe plusieurs moyens d’accélerer le temps de chargement de la page, y compris l’installation de logiciels sur votre serveur. Le système inclut les modules du cœur Internal Page Cache et Dynamic Page Cache, qui ne nécessitent aucun autre logiciel supplémentaire : ils utilisent un mécanisme de cache disponible dans la base de données. Ces modules fonctionnent durant l’exécution des calculs, en stockant les résultats intermédiaires et le rendu final dans une zone spéciale de la base de données (connue comme le cache). La fois suivante qu’une requête compatible est effectuée, les résultats intermédiaires ou les résultats finaux, selon la situation, peuvent être récupérés et utilisés au lieu de refaire l’ensemble des calculs. De plus, lorsque du contenu ou des données qui affectent un calcul particulier sont mis à jour, les données en cache affectées sont retirées du cache, forçant cette partie du calcul à être refaite la prochaine fois qu’on en aura besoin.
Ces modules de cache fonctionnent normalement assez bien, et apportent à minima un surcroît de vitesse à la plupart des sites. Cependant, le cache des pages peut parfois rencontrer des problèmes, tels que :
- Des données corrompues en cache, menant à un rendu de la page incorrect.
- De vieilles données restant trop longtemps en cache, menant à des rendus périmés.
- Un manque de cache, entraînant des chargements de page lents.
Indépendamment de la gestion des deux modules de cache lorsqu’ils sont installés sur votre site, le logiciel sous lequel tourne votre site mettra toujours en cache le résultat de nombreux calculs internes. Comment les systèmes du cœur mettent des données en cache :
- La couche de thème met en cache dans la base de données des informations indiquant quels fichiers de gabarits (templates) sont utilisés pour le rendu de divers types de données. Si vous développez un nouveau thème et ajoutez un nouveau fichier de gabarit, vous devrez vider le cache pour que le fichier de votre thème soit reconnu.
- Les fichiers CSS et JavaScript peuvent optionnellement être optimisés et compressés (en fonction des paramètres de votre site). Si tel est les cas, les versions compressées sont stockées dans le système de fichiers de manières à ce qu’elles n’aient pas à être ré-optimisées trop souvent. Si vous développez un module ou un thème, il pourrait être nécessaire de désactiver ou vider ce cache de fichiers pour que les modifications de fichiers JavaScript ou CSS soient reconnues.
- Le système localise certaines fonctions et classes PHP bas niveau, tels que les mises en œuvres de hooks et les classes d’extension (plugin classes), depuis vos modules installés, et stocke des informations pour savoir quel module dispose de quelle fonctionnalité. Si vous développez un nouveau module ou ajoutez des fonctionnalités à un module existant, il pourrait être nécessaire de vider ce cache de sorte que vos nouvelles fonctionnalités soient reconnues.
Si vous avez des problèmes avec votre site, la première chose à essayer pour les résoudre est en général de vider le cache. Consulter Section 12.2, « Vider le cache » pour de plus amples informations.
S’informer de méthodes supplémentaires de mise en cache et d’optimisation des performances sur la page de documentation de la communauté sur Drupal.org "Caching overview".
Attributions
Écrit par Jennifer Hodgdon. Traduit par Felip Manyer i Ballester.
Source file: prevent-cache.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion