{"id":70818,"date":"2023-07-10T09:46:32","date_gmt":"2023-07-10T08:46:32","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=70818&#038;preview=true&#038;preview_id=70818"},"modified":"2023-10-27T13:41:03","modified_gmt":"2023-10-27T12:41:03","slug":"cache-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/","title":{"rendered":"Cache Ruby on Rails : un tutoriel rapide"},"content":{"rendered":"<p>La mise en cache est essentielle pour am\u00e9liorer les performances et l&rsquo;\u00e9volutivit\u00e9 des applications web &#8211; et la mise en cache dans <a href=\"https:\/\/kinsta.com\/fr\/blog\/ruby-on-rails-vs-node-js\/#what-is-ruby-on-rails\">Ruby on Rails<\/a> ne fait pas exception. En stockant et en r\u00e9utilisant les r\u00e9sultats de calculs co\u00fbteux ou de requ\u00eates de base de donn\u00e9es, la mise en cache r\u00e9duit consid\u00e9rablement le temps et les ressources n\u00e9cessaires pour r\u00e9pondre aux requ\u00eates des utilisateurs.<\/p>\n<p>Ici, nous examinons comment mettre en \u0153uvre diff\u00e9rents types de mise en cache dans Rails, tels que la mise en cache de fragments et la mise en cache de poup\u00e9es russes. Nous vous montrons \u00e9galement comment g\u00e9rer les d\u00e9pendances de la mise en cache et choisir les magasins de mise en cache, et nous d\u00e9crivons les meilleures pratiques pour utiliser efficacement la mise en cache dans une application Rails.<\/p>\n<p>Cet article suppose que vous connaissiez Ruby on Rails, que vous utilisez la version 6 ou sup\u00e9rieure de Rails et que vous \u00eates \u00e0 l&rsquo;aise avec les <a href=\"https:\/\/guides.rubyonrails.org\/action_view_overview.html\" target=\"_blank\" rel=\"noopener noreferrer\">vues Rails<\/a>. Les exemples de code montrent comment utiliser la mise en cache dans des mod\u00e8les de vues nouveaux ou existants.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Types de mise en cache dans Ruby on Rails<\/h2>\n<p>Plusieurs types de mise en cache sont disponibles dans les applications Ruby on Rails, en fonction du niveau et de la granularit\u00e9 du contenu \u00e0 mettre en cache. Les principaux types utilis\u00e9s dans les applications Rails modernes sont les suivants :<\/p>\n<ul>\n<li><strong>Mise en cache de fragments<\/strong> : met en cache les parties d&rsquo;une page web qui ne changent pas fr\u00e9quemment, telles que les en-t\u00eates, les pieds de page, les colonnes lat\u00e9rales ou le contenu statique. La mise en cache des fragments r\u00e9duit le nombre de partiels ou de composants rendus \u00e0 chaque requ\u00eate.<\/li>\n<li><strong>Mise en cache des poup\u00e9es russes <\/strong>: met en cache les fragments imbriqu\u00e9s d&rsquo;une page web qui d\u00e9pendent les uns des autres, tels que les collections et les associations. La mise en cache des poup\u00e9es russes \u00e9vite les requ\u00eates inutiles \u00e0 la base de donn\u00e9es et facilite la r\u00e9utilisation des fragments mis en cache inchang\u00e9s.<\/li>\n<\/ul>\n<p>Deux autres types de mise en cache faisaient auparavant partie de Ruby on Rails, mais sont d\u00e9sormais disponibles en tant que fonctions distinctes :<\/p>\n<ul>\n<li><strong>Mise en cache des pages <\/strong>: met en cache des pages web enti\u00e8res sous forme de fichiers statiques sur le serveur, en contournant l&rsquo;ensemble du cycle de vie du rendu de la page<\/li>\n<li><strong>Mise en cache des actions <\/strong>: met en cache la sortie d&rsquo;actions de contr\u00f4leurs entiers. Il est similaire \u00e0 la mise en cache de pages mais vous permet d&rsquo;appliquer des filtres comme l&rsquo;authentification.<\/li>\n<\/ul>\n<p>La mise en cache des pages et des actions est rarement utilis\u00e9e et n&rsquo;est plus recommand\u00e9e pour la plupart des cas d&rsquo;utilisation dans les applications Rails modernes.<\/p>\n<h2>Mise en cache de fragments dans Ruby on Rails<\/h2>\n<p>La mise en cache de fragments vous permet de mettre en cache des parties d&rsquo;une page qui changent peu souvent. Par exemple, une page affichant une liste de produits avec leurs prix et leurs \u00e9valuations peut mettre en cache des d\u00e9tails qui ne changeront probablement pas.<\/p>\n<p>Dans le m\u00eame temps, cela pourrait permettre \u00e0 Rails de rendre \u00e0 nouveau les parties dynamiques de la page &#8211; comme les commentaires ou les \u00e9valuations &#8211; \u00e0 chaque chargement de la page. La mise en cache de fragments est moins utile lorsque les donn\u00e9es sous-jacentes d&rsquo;une vue changent fr\u00e9quemment en raison de la surcharge li\u00e9e \u00e0 la mise \u00e0 jour fr\u00e9quente du cache.<\/p>\n<p>En tant que type de mise en cache le plus simple inclus dans Rails, la mise en cache de fragments devrait \u00eatre votre premier choix lorsque vous ajoutez une mise en cache \u00e0 votre application pour en am\u00e9liorer les performances.<\/p>\n<p>Pour utiliser la mise en cache de fragments dans Rails, utilisez la <a href=\"https:\/\/api.rubyonrails.org\/v6.1.0\/classes\/ActionView\/Helpers\/CacheHelper.html\" target=\"_blank\" rel=\"noopener noreferrer\">m\u00e9thode d&rsquo;aide<\/a> <code>cache<\/code> dans vos vues. Par exemple, \u00e9crivez le code suivant pour mettre en cache un produit partiel dans votre vue :<\/p>\n<pre><code class=\"language-js\">&lt;% @products.each do |product| %&gt;\n  &lt;% cache product do %&gt;\n    &lt;%= render partial: \"product\", locals: { product: product } %&gt;\n  &lt;% end %&gt;\n&lt;% end %&gt;<\/code><\/pre>\n<p>L&rsquo;aide <code>cache<\/code> g\u00e9n\u00e8re une cl\u00e9 de cache bas\u00e9e sur le nom de la classe de chaque \u00e9l\u00e9ment, <code>id<\/code>, et l&rsquo;horodatage <code>updated_at<\/code> (par exemple, <code>products\/1-20230501000000<\/code>). La prochaine fois qu&rsquo;un utilisateur demandera le m\u00eame produit, l&rsquo;aide <code>cache<\/code> ira chercher le fragment mis en cache dans le magasin de cache et l&rsquo;affichera sans lire le produit dans la base de donn\u00e9es.<\/p>\n<p>Vous pouvez \u00e9galement personnaliser la cl\u00e9 de cache en passant des options \u00e0 l&rsquo;aide <code>cache<\/code>. Par exemple, pour inclure un num\u00e9ro de version ou un horodatage dans votre cl\u00e9 de cache, \u00e9crivez quelque chose comme ceci :<\/p>\n<pre><code class=\"language-js\">&lt;% @products.each do |product| %&gt;\n  &lt;% cache [product, \"v1\"] do %&gt;\n    &lt;%= render partial: \"product\", locals: { product: product } %&gt;\n  &lt;% end %&gt;\n&lt;% end %&gt;<\/code><\/pre>\n<p>Vous pouvez \u00e9galement d\u00e9finir un d\u00e9lai d&rsquo;expiration :<\/p>\n<pre><code class=\"language-js\">&lt;% @products.each do |product| %&gt;\n  &lt;% cache product, expires_in: 1.hour do %&gt;\n    &lt;%= render partial: \"product\", locals: { product: product } %&gt;\n  &lt;% end %&gt;\n&lt;% end %&gt;<\/code><\/pre>\n<p>Le premier exemple ajoutera <code>v1<\/code> \u00e0 la cl\u00e9 du cache (par exemple, <code>products\/1-v1<\/code>). Cela permet d&rsquo;invalider le cache lorsque vous modifiez le mod\u00e8le partiel ou la mise en page. Le deuxi\u00e8me exemple d\u00e9finit un d\u00e9lai d&rsquo;expiration pour l&rsquo;entr\u00e9e du cache (1 heure), ce qui permet d&rsquo;expirer les donn\u00e9es p\u00e9rim\u00e9es.<\/p>\n<h2>La mise en cache en poup\u00e9es russes dans Ruby on Rails<\/h2>\n<p>La mise en cache en poup\u00e9es russes est une puissante strat\u00e9gie de mise en cache dans Ruby on Rails qui optimise les performances de votre application en imbriquant les caches les uns dans les autres. Elle utilise la mise en cache de fragments Rails et les d\u00e9pendances de cache pour minimiser le travail redondant et am\u00e9liorer les temps de chargement.<\/p>\n<p>Dans une application Rails typique, vous rendez souvent une collection d&rsquo;\u00e9l\u00e9ments, chacun avec plusieurs composants enfants. Lorsque vous mettez \u00e0 jour un seul \u00e9l\u00e9ment, \u00e9vitez de rendre \u00e0 nouveau l&rsquo;ensemble de la collection ou les \u00e9l\u00e9ments non affect\u00e9s. Utilisez la mise en cache de la poup\u00e9e russe lorsque vous traitez des structures de donn\u00e9es hi\u00e9rarchiques ou imbriqu\u00e9es, en particulier lorsque les composants imbriqu\u00e9s ont leurs propres donn\u00e9es associ\u00e9es qui peuvent changer ind\u00e9pendamment.<\/p>\n<p>L&rsquo;inconv\u00e9nient de la mise en cache en poup\u00e9e russe est qu&rsquo;elle ajoute de la complexit\u00e9. Vous devez comprendre les relations entre les niveaux imbriqu\u00e9s des \u00e9l\u00e9ments que vous mettez en cache pour vous assurer que vous mettez en cache les bons \u00e9l\u00e9ments. Dans certains cas, vous devrez ajouter des associations \u00e0 vos mod\u00e8les <a href=\"https:\/\/guides.rubyonrails.org\/active_record_basics.html\" target=\"_blank\" rel=\"noopener noreferrer\">Active Record<\/a> pour que Rails puisse d\u00e9duire les relations entre les \u00e9l\u00e9ments de donn\u00e9es mis en cache.<\/p>\n<p>Comme pour la mise en cache de fragments ordinaires, la mise en cache de poup\u00e9es russes utilise la m\u00e9thode d&rsquo;aide <code>cache<\/code>. Par exemple, pour mettre en cache une cat\u00e9gorie avec ses sous-cat\u00e9gories et ses produits dans votre vue, \u00e9crivez quelque chose comme ceci :<\/p>\n<pre><code class=\"language-js\">&lt;% @categories.each do |category| %&gt;\n  &lt;% cache category do %&gt;\n    &lt;h2&gt;&lt;%= category.name %&gt;&lt;\/h2&gt;\n    &lt;% category.subcategories.each do |subcategory| %&gt;\n    &lt;% cache subcategory do %&gt;\n    &lt;h3&gt;&lt;%= subcategory.name %&gt;&lt;\/h3&gt;\n    &lt;% subcategory.products.each do |product| %&gt;\n    &lt;% cache product do %&gt;\n        &lt;%= render partial: \"product\", locals: { product: product } %&gt;\n        &lt;% end %&gt;\n    &lt;% end %&gt;\n    &lt;% end %&gt;\n    &lt;% end %&gt;\n  &lt;% end %&gt;\n&lt;% end %&gt;<\/code><\/pre>\n<p>L&rsquo;aide <code>cache<\/code> stockera chaque niveau imbriqu\u00e9 s\u00e9par\u00e9ment dans le stockage de cache. La prochaine fois que la m\u00eame cat\u00e9gorie sera demand\u00e9e, elle ira chercher son fragment mis en cache dans le magasin de cache et l&rsquo;affichera sans effectuer de nouveau le rendu.<\/p>\n<p>Toutefois, si les d\u00e9tails d&rsquo;une sous-cat\u00e9gorie ou d&rsquo;un produit changent, comme son nom ou sa description, cela invalide le fragment mis en cache, qui est alors affich\u00e9 \u00e0 nouveau avec les donn\u00e9es mises \u00e0 jour. La mise en cache en poup\u00e9es russes vous \u00e9vite d&rsquo;avoir \u00e0 invalider une cat\u00e9gorie enti\u00e8re si une seule sous-cat\u00e9gorie ou un seul produit change.<\/p>\n<h2>Gestion des d\u00e9pendances du cache dans Ruby on Rails<\/h2>\n<p>Les d\u00e9pendances du cache sont des relations entre les donn\u00e9es mises en cache et leurs sources sous-jacentes, et leur gestion peut s&rsquo;av\u00e9rer d\u00e9licate. Si les donn\u00e9es sources changent, toutes les donn\u00e9es mises en cache associ\u00e9es doivent expirer.<\/p>\n<p>Rails peut utiliser les horodatages pour g\u00e9rer automatiquement la plupart des d\u00e9pendances du cache. Chaque mod\u00e8le Active Record poss\u00e8de les attributs <code>created_at<\/code> et <code>updated_at<\/code> qui indiquent quand le cache a cr\u00e9\u00e9 ou mis \u00e0 jour l&rsquo;enregistrement pour la derni\u00e8re fois. Pour que Rails puisse g\u00e9rer automatiquement la mise en cache, d\u00e9finissez les relations de vos mod\u00e8les Active Record comme suit :<\/p>\n<pre><code class=\"language-js\">class Product &lt; ApplicationRecord\n  belongs_to :category\nend\nclass Category &lt; ApplicationRecord\n  has_many :products\nend<\/code><\/pre>\n<p>Dans cet exemple :<\/p>\n<ul>\n<li>Si vous mettez \u00e0 jour un enregistrement de produit (par exemple, en modifiant son prix), son horodatage <code>updated_at<\/code> change automatiquement.<\/li>\n<li>Si vous utilisez cet horodatage dans votre cl\u00e9 de cache (comme <code> products\/1-20230504000000<\/code>), votre fragment mis en cache est automatiquement invalid\u00e9.<\/li>\n<li>Pour invalider le fragment mis en cache de votre cat\u00e9gorie lorsque vous mettez \u00e0 jour un enregistrement de produit &#8211; peut-\u00eatre parce qu&rsquo;il affiche des donn\u00e9es agr\u00e9g\u00e9es comme le prix moyen &#8211; utilisez la m\u00e9thode <code>touch<\/code> dans votre contr\u00f4leur (<code>@product.category.touch<\/code>) ou ajoutez une option <code>touch<\/code> dans votre association de mod\u00e8le (<code>belongs_to :category touch: true<\/code>).<\/li>\n<\/ul>\n<p>Un autre m\u00e9canisme de gestion des d\u00e9pendances du cache consiste \u00e0 utiliser des m\u00e9thodes de mise en cache de bas niveau &#8211; telles que <code>fetch<\/code> et <code>write<\/code> &#8211; directement dans vos mod\u00e8les ou vos contr\u00f4leurs. Ces m\u00e9thodes vous permettent de stocker des donn\u00e9es ou du contenu arbitraires dans votre magasin de cache avec des cl\u00e9s et des options personnalis\u00e9es. Par exemple :<\/p>\n<pre><code class=\"language-js\">class Product &lt; ApplicationRecord\n  def self.average_price\n    Rails.cache.fetch(\"products\/average_price\", expires_in: 1.hour) do\n    average(:price)\n    end\n  end\nend<\/code><\/pre>\n<p>Cet exemple montre comment mettre en cache des donn\u00e9es calcul\u00e9es &#8211; telles que le prix moyen de tous les produits &#8211; pendant une heure en utilisant la m\u00e9thode <code>fetch<\/code> avec une cl\u00e9 personnalis\u00e9e (<code>products\/average_price<\/code>) et une option d&rsquo;expiration (<code>expires_in: 1.hour<\/code>).<\/p>\n<p>La m\u00e9thode <code>fetch<\/code> tente d&rsquo;abord de lire les donn\u00e9es dans la m\u00e9moire cache. Si elle ne trouve pas les donn\u00e9es ou si les donn\u00e9es ont expir\u00e9, elle ex\u00e9cute le bloc et stocke le r\u00e9sultat dans la m\u00e9moire cache.<\/p>\n<p>Pour invalider manuellement une entr\u00e9e de cache avant son expiration, utilisez la m\u00e9thode <code>write<\/code> avec l&rsquo;option <code>force<\/code>:<\/p>\n<pre><code class=\"language-js\">Rails.cache.write(\"products\/average_price\", Product.average(:price), force: true))<\/code><\/pre>\n<h2>Stockages de cache et backends dans Ruby on Rails<\/h2>\n<p>Rails vous permet de choisir diff\u00e9rents stockages de cache ou backends pour stocker vos donn\u00e9es et contenus mis en cache. Le stockage de cache Rails est une couche d&rsquo;abstraction qui fournit une interface commune pour interagir avec diff\u00e9rents syst\u00e8mes de stockage. Un backend de cache impl\u00e9mente l&rsquo;interface du stockage de cache pour un syst\u00e8me de stockage sp\u00e9cifique.<\/p>\n<p>Rails prend en charge plusieurs types de stockages de cache ou de backend, d\u00e9taill\u00e9s ci-dessous.<\/p>\n<h3>Stockage de m\u00e9moire<\/h3>\n<p>Le stockage de m\u00e9moire utilise un hachage en m\u00e9moire comme stockage de cache. Il est rapide et simple, mais sa capacit\u00e9 et sa persistance sont limit\u00e9es. Cette m\u00e9moire cache convient aux environnements de d\u00e9veloppement et de test ou aux petites applications simples.<\/p>\n<h3>Stockage sur disque<\/h3>\n<p>Le stockage sur disque utilise des fichiers sur le disque comme m\u00e9moire cache. Il s&rsquo;agit de l&rsquo;option de mise en cache la plus lente de Rails, mais sa capacit\u00e9 et sa persistance sont importantes. Le stockage sur disque convient aux applications qui doivent mettre en cache de grandes quantit\u00e9s de donn\u00e9es et qui n&rsquo;ont pas besoin de performances maximales.<\/p>\n<h3>Redis<\/h3>\n<p>Le stockage Redis utilise une instance <a href=\"https:\/\/kinsta.com\/fr\/blog\/redis-vs-mongodb\/#redis-with-kinsta\">Redis<\/a> pour le stockage du cache. Redis est un stockage de donn\u00e9es en m\u00e9moire qui prend en charge plusieurs types de donn\u00e9es. Bien qu&rsquo;il soit rapide et flexible, il n\u00e9cessite un serveur et une configuration distincts. Il convient aux applications qui doivent mettre en cache des donn\u00e9es complexes ou dynamiques qui changent fr\u00e9quemment. Redis est un choix id\u00e9al pour l&rsquo;ex\u00e9cution d&rsquo;applications Rails dans le cloud, car certains h\u00e9bergeurs, dont Kinsta, proposent <a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/cache\/cache-redis\/\">Redis en tant que cache d&rsquo;objets persistants<\/a>.<\/p>\n<h3>Memcached<\/h3>\n<p>Le stockage Memcached utilise une instance <a href=\"https:\/\/kinsta.com\/fr\/blog\/memcached-vs-redis\/\">Memcached<\/a> pour le stockage du cache. Memcached est un stockage cl\u00e9-valeur en m\u00e9moire qui prend en charge des types de donn\u00e9es et des fonctionnalit\u00e9s simples. Il est rapide et \u00e9volutif, mais comme Redis, il n\u00e9cessite un serveur et une configuration distincts. Ce stockage convient aux applications qui doivent mettre en cache des donn\u00e9es simples ou statiques faisant l&rsquo;objet de mises \u00e0 jour fr\u00e9quentes.<\/p>\n<p>Vous pouvez configurer votre stockage de cache dans vos fichiers d&rsquo;environnement Rails (par exemple, <strong>config\/environments\/development.rb<\/strong>) \u00e0 l&rsquo;aide de l&rsquo;option <code>config.cache_store<\/code>. Voici comment utiliser chacune des m\u00e9thodes de mise en cache int\u00e9gr\u00e9es \u00e0 Rails :<\/p>\n<pre><code class=\"language-js\"># Use memory store\nconfig.cache_store = :memory_store\n# Use disk store\nconfig.cache_store = :file_store, \"tmp\/cache\"\n# Use Redis\nconfig.cache_store = :redis_cache_store, { url: \"redis:\/\/localhost:6379\/0\" }\n# Use Memcached\nconfig.cache_store = :mem_cache_store, \"localhost\"<\/code><\/pre>\n<p>Vous ne devez avoir qu&rsquo;un seul appel \u00e0 <code>config.cache_store<\/code> par fichier d&rsquo;environnement. Si vous en avez plusieurs, le stockage de cache n&rsquo;utilise que le dernier.<\/p>\n<p>Chaque stockage de cache pr\u00e9sente des avantages et des inconv\u00e9nients uniques en fonction des besoins et des pr\u00e9f\u00e9rences de votre application. Choisissez celui qui convient le mieux \u00e0 votre cas d&rsquo;utilisation et \u00e0 votre niveau d&rsquo;exp\u00e9rience.<\/p>\n<h2>Meilleures pratiques pour la mise en cache dans Ruby on Rails<\/h2>\n<p>L&rsquo;utilisation de la mise en cache dans votre application Rails peut consid\u00e9rablement am\u00e9liorer ses performances et son \u00e9volutivit\u00e9, en particulier lorsque vous mettez en \u0153uvre les meilleures pratiques suivantes :<\/p>\n<ul>\n<li><strong>Mettez en cache de mani\u00e8re s\u00e9lective <\/strong>: Ne mettez en cache que les donn\u00e9es fr\u00e9quemment consult\u00e9es, co\u00fbteuses \u00e0 g\u00e9n\u00e9rer ou rarement mises \u00e0 jour. \u00c9vitez la mise en cache excessive pour pr\u00e9venir l&rsquo;utilisation excessive de la m\u00e9moire, les risques de donn\u00e9es p\u00e9rim\u00e9es et la d\u00e9gradation des performances.<\/li>\n<li><strong>Expirer les entr\u00e9es du cache <\/strong>: Emp\u00eachez les donn\u00e9es p\u00e9rim\u00e9es en expirant les entr\u00e9es non valides ou non pertinentes. Utilisez des horodatages, des options d&rsquo;expiration ou l&rsquo;invalidation manuelle.<\/li>\n<li><strong>Optimisez les performances du cache <\/strong>: Choisissez le stockage de cache qui correspond aux besoins de votre application et r\u00e9glez ses param\u00e8tres &#8211; comme la taille, la compression ou la s\u00e9rialisation &#8211; pour obtenir des performances optimales.<\/li>\n<li><strong>Surveillez et testez l&rsquo;impact du cache <\/strong>: \u00c9valuez le comportement du cache &#8211; comme le taux de r\u00e9ussite, le taux d&rsquo;\u00e9chec et la latence &#8211; et \u00e9valuez leurs impacts respectifs sur les performances (temps de r\u00e9ponse, d\u00e9bit, utilisation des ressources). Utilisez des outils tels que <a href=\"https:\/\/kinsta.com\/fr\/docs\/hebergement-wordpress\/surveillance-wordpress\/suivi-personnalise-new-relic\/\">New Relic<\/a>, les <a href=\"https:\/\/guides.rubyonrails.org\/debugging_rails_applications.html#the-logger\">journaux Rails<\/a>, les <a href=\"https:\/\/api.rubyonrails.org\/classes\/ActiveSupport\/Notifications.html\" target=\"_blank\" rel=\"noopener noreferrer\">notifications ActiveSupport<\/a> ou le <a href=\"https:\/\/github.com\/MiniProfiler\/rack-mini-profiler\" target=\"_blank\" rel=\"noopener noreferrer\">mini-profiler Rack<\/a>.<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>La mise en cache Ruby on Rails am\u00e9liore les performances et l&rsquo;\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es ou les contenus fr\u00e9quemment consult\u00e9s. Avec une compr\u00e9hension plus approfondie des techniques de mise en cache, vous \u00eates mieux \u00e9quip\u00e9 pour fournir des applications Rails plus rapides \u00e0 vos utilisateurs.<\/p>\n<p>Pour d\u00e9ployer votre application Rails optimis\u00e9e, vous pouvez vous tourner vers la plateforme d&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;applications<\/a> de Kinsta. Commencez gratuitement avec un compte <a href=\"https:\/\/sevalla.com\/pricing\/\">Hobby Tier<\/a> et explorez la plateforme avec cet <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#ruby-on-rails\">exemple de d\u00e9marrage rapide de Ruby on Rails<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La mise en cache est essentielle pour am\u00e9liorer les performances et l&rsquo;\u00e9volutivit\u00e9 des applications web &#8211; et la mise en cache dans Ruby on Rails ne &#8230;<\/p>\n","protected":false},"author":259,"featured_media":70819,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1019],"class_list":["post-70818","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-languages-developpement-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mise en cache Rails : un tutoriel rapide - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l&#039;\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cache Ruby on Rails : un tutoriel rapide\" \/>\n<meta property=\"og:description\" content=\"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l&#039;\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-10T08:46:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-27T12:41:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3043\" \/>\n\t<meta property=\"og:image:height\" content=\"1522\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l&#039;\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Cache Ruby on Rails : un tutoriel rapide\",\"datePublished\":\"2023-07-10T08:46:32+00:00\",\"dateModified\":\"2023-10-27T12:41:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\"},\"wordCount\":2486,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\",\"name\":\"Mise en cache Rails : un tutoriel rapide - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\",\"datePublished\":\"2023-07-10T08:46:32+00:00\",\"dateModified\":\"2023-10-27T12:41:03+00:00\",\"description\":\"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l'\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg\",\"width\":3043,\"height\":1522},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Languages de d\u00e9veloppement web\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/languages-developpement-web\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cache Ruby on Rails : un tutoriel rapide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mise en cache Rails : un tutoriel rapide - Kinsta\u00ae","description":"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l'\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/","og_locale":"fr_FR","og_type":"article","og_title":"Cache Ruby on Rails : un tutoriel rapide","og_description":"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l'\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.","og_url":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2023-07-10T08:46:32+00:00","article_modified_time":"2023-10-27T12:41:03+00:00","og_image":[{"width":3043,"height":1522,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l'\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","twitter_creator":"@kinsta_fr","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Steve Bonisteel","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Cache Ruby on Rails : un tutoriel rapide","datePublished":"2023-07-10T08:46:32+00:00","dateModified":"2023-10-27T12:41:03+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/"},"wordCount":2486,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/","url":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/","name":"Mise en cache Rails : un tutoriel rapide - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","datePublished":"2023-07-10T08:46:32+00:00","dateModified":"2023-10-27T12:41:03+00:00","description":"Apprenez comment la mise en cache Ruby on Rails am\u00e9liore les performances et l'\u00e9volutivit\u00e9 des applications en stockant et en r\u00e9utilisant efficacement les donn\u00e9es fr\u00e9quemment consult\u00e9es.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/07\/rails-caching.jpg","width":3043,"height":1522},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/cache-ruby-on-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Languages de d\u00e9veloppement web","item":"https:\/\/kinsta.com\/fr\/sujets\/languages-developpement-web\/"},{"@type":"ListItem","position":3,"name":"Cache Ruby on Rails : un tutoriel rapide"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/fr\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/70818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=70818"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/70818\/revisions"}],"predecessor-version":[{"id":70841,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/70818\/revisions\/70841"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/translations\/dk"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/70818\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/70819"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=70818"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=70818"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=70818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}