{"id":7041,"date":"2018-09-25T10:27:24","date_gmt":"2018-09-25T08:27:24","guid":{"rendered":"https:\/\/www.combell.com\/fr\/blog\/?p=7041"},"modified":"2023-01-03T14:29:45","modified_gmt":"2023-01-03T13:29:45","slug":"utilisez-la-mise-en-cache-pour-un-site-web-rapide-comme-leclair","status":"publish","type":"post","link":"https:\/\/www.combell.com\/fr\/blog\/utilisez-la-mise-en-cache-pour-un-site-web-rapide-comme-leclair\/","title":{"rendered":"Utilisez la mise en cache pour un site web rapide comme l&rsquo;\u00e9clair"},"content":{"rendered":"<p>Thijs Feryn explique pourquoi la mise en cache peut accro\u00eetre la rapidit\u00e9 de vos sites web, comment cela se produit et quels outils sont disponibles.<strong>\u00a0<\/strong><\/p>\n<h2><strong>Quels facteurs influencent la rapidit\u00e9 de votre site web\u00a0?<\/strong><\/h2>\n<p>Les sites web rapides sont devenus une priorit\u00e9. Les internautes ont en effet de moins en moins de patience et abandonnent un site au moindre ralentissement, ce qui joue bien \u00e9videmment en faveur de la concurrence. Mais Google tient \u00e9galement compte de ce facteur en r\u00e9compensant les sites web rapides par un meilleur positionnement dans les r\u00e9sultats de recherche.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-15519\" title=\"Caching maakt vliegensvlugge websites\" src=\"https:\/\/www.combell.com\/nl\/blog\/files\/Caching-maakt-vliegensvlugge-websites.png\" alt=\"Caching maakt vliegensvlugge websites\" width=\"150\" height=\"150\" \/>Mais pour qu'un site web soit rapide, les choses ne sont pas aussi simples qu'on pourrait le croire. Il n'existe en effet pas de solution universelle. La mise en cache peut cependant \u00eatre une bonne solution et booster les performances de votre site web. Cette solution permet en effet de stocker les donn\u00e9es statiques et de ne pas devoir les recalculer \u00e0 chaque visite. L'exemple classique est la page produit de votre site web. Les informations sur les prix et les propri\u00e9t\u00e9s des produits ne doivent pas \u00e0 chaque fois \u00eatre extraites de la base de donn\u00e9es, puisqu'elles peuvent \u00eatre stock\u00e9es en cache.<\/p>\n<p>La rapidit\u00e9 de votre site web est d\u00e9termin\u00e9e \u00e0 <strong>trois niveaux<\/strong>. Tout commence par une <strong>infrastructure performante<\/strong>, et c\u2019est votre h\u00e9bergeur qui en est responsable. Il faut ensuite qu'un <strong>code rapide<\/strong> tourne sur cette infrastructure, et qu'il communique de mani\u00e8re efficace avec la base de donn\u00e9es sous-jacente. Le troisi\u00e8me niveau est le <strong>front-end<\/strong>. C'est ce dernier qui se charge de l'aspect visuel de votre site web, et des am\u00e9liorations peuvent \u00e9galement y \u00eatre apport\u00e9es, par exemple en optimisant les images pour Internet, et \u00e9ventuellement en compressant et fusionnant les fichiers JavaScript et CSS.<strong>\u00a0<\/strong><\/p>\n<h2><strong>Comment ce ralentissement se produit-il\u00a0?<\/strong><\/h2>\n<p>Cependant, la principale cause de ce ralentissement est la combinaison du code qui tourne sur l'infrastructure. Et c'est logique, puisque c'est l\u00e0 que la plupart des calculs sont effectu\u00e9s et que la plupart des processus se d\u00e9roulent.<\/p>\n<p>\u00c0 chaque visite, une requ\u00eate HTTP doit \u00eatre prise en compte, pour ensuite \u00eatre transmise au code. Le code doit souvent faire appel \u00e0 une base de donn\u00e9es. Puis, le r\u00e9sultat de la base de donn\u00e9es doit \u00e0 nouveau \u00eatre trait\u00e9. Tout cela pour finalement aboutir \u00e0 une r\u00e9ponse HTTP que le serveur envoie au navigateur.<\/p>\n<p>Cette succession d'actions peut n\u00e9cessiter beaucoup de temps et de ressources. Sans compter qu'un effet de cascade peut en d\u00e9couler, surtout si le nombre de visiteurs simultan\u00e9s est \u00e9lev\u00e9. Et c'est l\u00e0 que la mise en cache peut s'av\u00e9rer utile, puisqu\u2019elle permet de r\u00e9duire la fr\u00e9quence de ces calculs.<strong>\u00a0<\/strong><\/p>\n<h2><strong>R\u00e9alisez et maintenez votre site web plus rapidement<\/strong><\/h2>\n<p>L'optimisation de votre code demeure n\u00e9anmoins importante. Mais m\u00eame dans un monde id\u00e9al, un code optimis\u00e9 ne pourra presque jamais \u00e0 lui seul garantir un site web performant. La mise en cache peut toujours \u00eatre utile dans de nombreux processus et calculs.<\/p>\n<p>En r\u00e9alit\u00e9, l'optimisation est souvent r\u00e9alis\u00e9e jusqu'\u00e0 atteindre un point critique d'\u00e9quilibre entre les co\u00fbts et les b\u00e9n\u00e9fices. On constate souvent que les investissements n\u00e9cessaires ne correspondent pas aux r\u00e9sultats escompt\u00e9s en termes de temps, de budget et de comp\u00e9tences. La mise en cache n'est donc pas seulement un rem\u00e8de temporaire, mais bien une <strong>vision \u00e0 long terme<\/strong>, qui constitue un \u00e9l\u00e9ment essentiel de la strat\u00e9gie et de l'architecture.<\/p>\n<blockquote><p>\u00ab\u00a0Apr\u00e8s tout, pourquoi recalculerait-on constamment les sorties, alors que ces donn\u00e9es sont statiques\u00a0?\u00a0\u00bb<\/p><\/blockquote>\n<p>La mise en cache peut permettre \u00e0 des sites web lents de devenir plus rapides, et nous parlons alors de <strong>performances<\/strong>. Mais elle peut \u00e9galement maintenir la rapidit\u00e9 des sites web rapides face \u00e0 la pression croissante exerc\u00e9e par un grand nombre de visiteurs. Dans ce dernier cas, nous parlons d'<strong>extensibilit\u00e9<\/strong>.<\/p>\n<h2><strong>Mais au fait, comment cette mise en cache fonctionne-t-elle\u00a0?<\/strong><\/h2>\n<p>Comment fonctionne la mise en cache ? La r\u00e9ponse \u00e0 cette question <strong>d\u00e9pend en fait de ce que vous voulez mettre en cache<\/strong>. Dans le meilleur des cas, ce sera le r\u00e9sultat final des calculs, \u00e0 savoir la page enti\u00e8re. Et vous ferez cela pour r\u00e9duire la charge du serveur. De l'enti\u00e8ret\u00e9 du serveur. Si nous reprenons l'exemple de la page produit, ce sera le r\u00e9sultat complet de cette page. Si cela ne fonctionne pas, vous aurez toujours la possibilit\u00e9 de mettre en cache les sorties des processus de donn\u00e9es.<\/p>\n<p>Cela se fera plut\u00f4t du c\u00f4t\u00e9 du code, le but \u00e9tant de r\u00e9duire la charge de la base de donn\u00e9es. Si l'on se r\u00e9f\u00e8re une fois de plus \u00e0 l'exemple des pages produits, il s'agit des sorties de la base de donn\u00e9es, o\u00f9 l\u2019on retrouve des informations sur les prix et les caract\u00e9ristiques des produits.<\/p>\n<h2><strong>Technologies de mise en cache<\/strong><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-11859\" title=\"Varnish caching\" src=\"https:\/\/www.combell.com\/nl\/blog\/files\/2016\/03\/Varnish-cache.png\" alt=\"Varnish caching\" width=\"120\" height=\"120\" \/>En fonction de votre choix, vous pourrez faire appel \u00e0 diverses technologies. <strong>Varnish<\/strong> en est une qui stocke des pages enti\u00e8res dans le but de r\u00e9duire la charge de l'enti\u00e8ret\u00e9 du serveur. Les \u00e9l\u00e9ments mis en cache sont stock\u00e9s dans la RAM, ce qui permet d'atteindre des vitesses ph\u00e9nom\u00e9nales. L'identification se fait \u00e0 l'aide de l'URL. Varnish est un syst\u00e8me s\u00e9par\u00e9 qui se trouve devant le serveur web et communique via HTTP.<\/p>\n<p>D'apr\u00e8s notre exp\u00e9rience, c\u2019est Varnish qui offre \u00e0 ce jour les meilleurs r\u00e9sultats, car il tente de mettre en cache la page enti\u00e8re et toutes ses d\u00e9pendances, y compris les images et les fichiers CSS et JavaScript. Cela n'est toutefois pas toujours souhaitable. Certaines pages contiennent en effet des parties de contenu qui varient d'un utilisateur \u00e0 l'autre. Prenons l'exemple des paniers d'achat. Dans ce cas, tout ne peut pas \u00eatre mis en cache. Et aussi ici, Varnish est capable de prendre les bonnes d\u00e9cisions pour ne mettre en cache que ce qui peut y \u00eatre mis.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-10258\" title=\"redis caching hosting\" src=\"https:\/\/www.combell.com\/nl\/blog\/files\/2015\/06\/redis-caching-hosting.png\" alt=\"redis caching hosting\" width=\"120\" height=\"107\" \/>Des technologies telles que <strong>Redis<\/strong> sont plut\u00f4t destin\u00e9es \u00e0 mettre en cache les sorties des processus de donn\u00e9es et \u00e0 fonctionner depuis le back-end. Redis est un cache distribu\u00e9. Pour faire simple, il s'agit de RAM distante \u00e0 laquelle vous pouvez acc\u00e9der via le r\u00e9seau. Redis ne prend pas en charge les calculs complexes et stocke les donn\u00e9es au format cl\u00e9-valeur.<\/p>\n<p>Redis prend en charge plusieurs types de donn\u00e9es. Pour faire un choix, il faut que vous sachiez si vous souhaitez ou non utiliser les types de donn\u00e9es pris en charge par Redis, mais il faut surtout que vous teniez compte de la compatibilit\u00e9 avec votre code.<\/p>\n<h2><strong>Les donn\u00e9es sont mises en cache, mais il faut aussi penser \u00e0 leur suppression\u00a0!<\/strong><\/h2>\n<p>Quelle que soit la technologie choisie, vous devez toujours r\u00e9fl\u00e9chir \u00e0 la dur\u00e9e de conservation des \u00e9l\u00e9ments dans le cache et \u00e0 la fa\u00e7on dont vous les supprimerez du cache en cas de modification des donn\u00e9es. <strong>Il est en effet pire de mettre en cache trop de donn\u00e9es trop longtemps que d\u2019y mettre trop peu de donn\u00e9es.<\/strong><\/p>\n<p>La dur\u00e9e de mise en cache peut \u00eatre d\u00e9termin\u00e9e en utilisant ce que l'on appelle la valeur Time To Live. Vous pouvez sp\u00e9cifier ce dernier dans Redis en fonction des fonctions sp\u00e9cifiques d'ajout et de gestion des donn\u00e9es. Varnish permet de faire cela par le biais d'un en-t\u00eate appel\u00e9 Cache-Control, qui indique votre code de fin via HTTP. La suppression d'\u00e9l\u00e9ments du cache peut se faire dans Redis et Varnish et en fonction de certaines m\u00e9thodes qu'ils proposent, mais heureusement, il existe des tas de plug-ins de frameworks et de SGC qui vous faciliteront la t\u00e2che. Cela peut sembler ironique, mais il est plus facile de placer des \u00e9l\u00e9ments dans le cache que de les en supprimer. Mieux vaut donc bien y r\u00e9fl\u00e9chir.<\/p>\n<p>Pour un pack d'h\u00e9bergement web, vous pouvez <a href=\"https:\/\/my.combell.com\" target=\"_blank\" rel=\"noopener noreferrer\">activer la mise en cache dans votre panneau de contr\u00f4le<\/a>. Si vous avez un environnement d'h\u00e9bergement infog\u00e9r\u00e9, votre account manager se fera un plaisir de vous fournir des conseils sur l'option de mise en cache la mieux adapt\u00e9e \u00e0 votre situation. <a href=\"https:\/\/www.combell.com\/fr\/support\" target=\"_blank\" rel=\"noopener noreferrer\">Contactez-nous pour obtenir des conseils sur la mise en cache<\/a><\/p>\n<p style=\"text-align: center;\"><a class=\"cta_button\" href=\"https:\/\/on.combell.com\/fr\/ebooks\/des-sites-rapides-comme-l-eclair-grace-a-varnish?_ga=2.156719673.363436007.1666076493-1366424696.1654580814\" target=\"_blank\" rel=\"noopener\">T\u00e9l\u00e9chargez le livre num\u00e9rique gratuit sur Varnish<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thijs Feryn explique pourquoi la mise en cache peut accro\u00eetre la rapidit\u00e9 de vos sites web, comment cela se produit et quels outils sont disponibles.\u00a0 Quels facteurs influencent la rapidit\u00e9...<\/p>\n","protected":false},"author":1,"featured_media":7545,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[62,64],"tags":[97,99,216,98,1014,100],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching.jpg",1000,350,false],"thumbnail":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-50x50.jpg",50,50,true],"medium":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-300x105.jpg",300,105,true],"medium_large":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-768x269.jpg",768,269,true],"large":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-1024x358.jpg",1024,358,true],"1536x1536":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching.jpg",1000,350,false],"2048x2048":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching.jpg",1000,350,false],"post-featured":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-850x290.jpg",850,290,true],"post-featured-opt":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-750x256.jpg",750,256,true],"post-featured-opt-md":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-850x290.jpg",850,290,true],"post-featured-opt-sm":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-485x165.jpg",485,165,true],"post-featured-opt-xs":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-375x128.jpg",375,128,true],"post-most-popular":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-50x50.jpg",50,50,true],"post-author":["https:\/\/www.combell.com\/fr\/blog\/files\/Lightning-fast-websites-with-caching-60x60.jpg",60,60,true]},"uagb_author_info":{"display_name":"Combell","author_link":"https:\/\/www.combell.com\/fr\/blog\/author\/blogadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"Thijs Feryn explique pourquoi la mise en cache peut accro\u00eetre la rapidit\u00e9 de vos sites web, comment cela se produit et quels outils sont disponibles.\u00a0 Quels facteurs influencent la rapidit\u00e9...","_links":{"self":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/7041"}],"collection":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/comments?post=7041"}],"version-history":[{"count":6,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/7041\/revisions"}],"predecessor-version":[{"id":7832,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/7041\/revisions\/7832"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/media\/7545"}],"wp:attachment":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/media?parent=7041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/categories?post=7041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/tags?post=7041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}