{"id":7773,"date":"2016-03-30T11:45:23","date_gmt":"2016-03-30T11:45:23","guid":{"rendered":"https:\/\/dev.railscarma.com\/get-more-out-of-queries-in-rails-using-bullet-in-just-3-steps\/"},"modified":"2021-06-06T12:30:08","modified_gmt":"2021-06-06T12:30:08","slug":"tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes\/","title":{"rendered":"Tirez le meilleur parti des requ\u00eates dans Rails en utilisant Bullet en seulement 3 \u00e9tapes"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"7773\" class=\"elementor elementor-7773\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6c9f2594 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6c9f2594\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6c021b6c\" data-id=\"6c021b6c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5716e1a8 elementor-widget elementor-widget-text-editor\" data-id=\"5716e1a8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAvez-vous d\u00e9j\u00e0 ouvert un placard et tout le contenu vous est tomb\u00e9 dessus ? Dans le cadre de la programmation, cela est appel\u00e9 \u00ab code spaghetti \u00bb. C\u2019est le genre de codes qui sont tellement confus que d\u00e8s qu\u2019on fait un petit changement, tout commence \u00e0 s\u2019effondrer. Autant il est important d\u2019\u00e9crire de bons codes, autant il est tout aussi important de les garder propres. Mais lorsque vous d\u00e9veloppez une application \u00e0 grande \u00e9chelle, il devient difficile de garder vos codes propres et organis\u00e9s. Dans cet article, vous apprendrez \u00e0 tirer le meilleur parti des requ\u00eates dans les rails \u00e0 l&#039;aide de Bullet en seulement 3 \u00e9tapes. Pour les projets \u00e0 grande \u00e9chelle avec une complexit\u00e9 accrue, la refactorisation manuelle du code devient un risque \u00e9norme et prend du temps. Par cons\u00e9quent, il est recommand\u00e9 d&#039;utiliser des outils tiers comme Bullet Gem pour la maintenance, la s\u00e9curit\u00e9 et l&#039;optimisation des codes. Le plugin Bullet, d\u00e9velopp\u00e9 par Richard Huang pour Ruby on Rails, a \u00e9t\u00e9 utilis\u00e9 pour la premi\u00e8re fois en 2009. Et depuis lors, il s&#039;est av\u00e9r\u00e9 \u00eatre un joyau puissant qui permet de surveiller les applications Ruby on Rails pour am\u00e9liorer les performances. Bullet Gem aide \u00e0 r\u00e9duire le nombre de requ\u00eates effectu\u00e9es par une application. Cela aide \u00e9galement \u00e0 trouver <strong>N+1<\/strong> requ\u00eates dans l&#039;application pendant le mode d\u00e9veloppement en affichant les notifications dans le navigateur.\n\n<img decoding=\"async\" class=\"aligncenter wp-image-7776 size-full\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/image_bullet_gem.jpg\" alt=\"image_bullet_gem\" width=\"589\" height=\"271\" \/>\n\n<strong>N+1<\/strong> Un probl\u00e8me de requ\u00eate est une situation dans laquelle le d\u00e9veloppeur effectue des appels suppl\u00e9mentaires \u00e0 la base de donn\u00e9es lorsqu&#039;il souhaite obtenir encore et encore des donn\u00e9es associ\u00e9es sp\u00e9cifiques. Par exemple,\n<blockquote>2.2.1\u00a0:005 &gt; Message.all.each {|message| message.conversation.sender_id}<\/blockquote>\nCet exemple r\u00e9cup\u00e8re tous les messages, puis it\u00e8re chacun de ces enregistrements et tente d&#039;obtenir la conversation des messages \u00e0 partir de la base de donn\u00e9es. La solution \u00e0 ce probl\u00e8me est le plugin Bullet, qui permet de surveiller les requ\u00eates de l&#039;application. Il notifie les \u00e9ventuels sc\u00e9narios N+1 et les chargements impatients inutilis\u00e9s. Une autre solution courante pour cela consiste \u00e0 utiliser des m\u00e9thodes de chargement h\u00e2tives\u00a0: pr\u00e9chargement, inclusions, d\u00e9sireux_load. Exemples pour les m\u00e9thodes suivantes\u00a0:\u00a0-\n<blockquote>2.2.1 :007 &gt; Message.includes(:conversation).references(:conversations).each { |message| message.conversation.sender_id } 2.2.1\u00a0:008 &gt; Message.eager_load(:conversation).each { |message| message.conversation.sender_id } 2.2.1\u00a0:009 &gt; Message.preload(:conversation).all.each { |message| message.conversation.sender_id } Le chargement rapide est la solution au probl\u00e8me de requ\u00eate N+1 qui garantit que nous ne finissons pas par ex\u00e9cuter des requ\u00eates inutiles lors d&#039;une boucle sur un objet.<\/blockquote>\n<h4><strong>Utilisation et configuration de Bullet Gem\u00a0:\u00a0<\/strong><\/h4>\nL&#039;exemple ci-dessous montre deux mod\u00e8les\u00a0; Message et conversation, dans lesquels un message se compose de plusieurs conversations. Un peu de code devrait \u00eatre\u00a0:\u00a0-\n<blockquote>Dans la classe app\/controllers\/messages_controller.rb MessagesController &amp;lt; ApplicationController def index @messages = Message.all end end Dans app\/views\/messages\/index.html.erb\n\n&lt;h1&gt;messages&lt;\/h1&gt;\n\n&lt;% @messages.each do |message| %&gt;\n\n&lt;%message.conversations.each do |conversation|%&gt;\n\n&lt;ul class=&quot;&rdquo;message_link&rdquo;&quot;&gt;\n\n&lt;li&gt;&lt;%=link_to conversation.sender_id, conversation_path(conversation)%&gt;&lt;\/li&gt;\n\n&lt;\/ul&gt;\n\n&lt;%end%&gt;\n\n&lt;% end %&gt;<\/blockquote>\n<strong>Fondamentalement, Bullet Gem aide \u00e0 r\u00e9soudre le probl\u00e8me n+1 dans l\u2019application Rails.<\/strong>\n<h4>Tirez le meilleur parti des requ\u00eates dans Rails en utilisant Bullet en seulement 3 \u00e9tapes<\/h4>\n\u00c9tape 1 : - Ajoutez la gemme Bullet au gemfile et ex\u00e9cutez l&#039;installation du bundle,\n<blockquote># Pour la gemme d&#039;optimisation de code &#039;bullet&#039;, groupe\u00a0: [:development, :test]<\/blockquote>\nLa gemme ne doit \u00eatre utilis\u00e9e que dans l&#039;environnement de d\u00e9veloppement, car vous ne voudriez pas que les utilisateurs de l&#039;application re\u00e7oivent des alertes sur les probl\u00e8mes de requ\u00eate N+1. \u00c9tape 2 : - Bullet doit \u00eatre activ\u00e9 dans l&#039;application. Le simple fait d&#039;ajouter la gemme de puce ne notifiera pas les mauvaises requ\u00eates. La configuration se fait dans le fichier config\/environments\/development.rb.\n<blockquote>config.after_initialize do Bullet.enable = true Bullet.alert = true Bullet.bullet_logger = true Bullet.console = true Bullet.rails_logger = true Bullet.unused_eager_loading_enable = false end Bullet.enable\u00a0: activez la gemme Bullet, sinon ne faites rien Bullet.alert\u00a0: afficher une alerte JavaScript dans le navigateur Bullet.bullet_logger\u00a0: se connecter au fichier journal Bullet (Rails.root\/log\/bullet.log) Bullet.rails_logger\u00a0: ajouter des avertissements directement au journal Rails<\/blockquote>\n\u00c9tape 3\u00a0: Red\u00e9marrez le serveur. Apr\u00e8s l&#039;\u00e9tape 2, nous verrions une fen\u00eatre contextuelle d&#039;alerte JavaScript dans le navigateur avec la requ\u00eate N+1 d\u00e9tect\u00e9e. L&#039;alerte contiendrait le fichier contenant le probl\u00e8me et les suggestions sur ce qui pourrait \u00eatre fait pour r\u00e9soudre le probl\u00e8me. Dans Contr\u00f4leur,\n<blockquote>class MessagesController &lt; ApplicationController def index @messages = Message.includes(:conversations) end end<\/blockquote>\n<strong>R\u00e9f\u00e9rences:-<\/strong>\n\nLIEN GITHUB\u00a0: \u2013 <a href=\"https:\/\/github.com\/flyerhzm\/bullet\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/flyerhzm\/bullet<\/a>\n\nNos d\u00e9veloppeurs ma\u00eetrisent parfaitement toutes sortes de <a href=\"https:\/\/www.railscarma.com\/fr\/embaucher-un-developpeur-ruby-on-rails\/\" target=\"_blank\" rel=\"noopener noreferrer\">travaux de d\u00e9veloppement de Ruby on Rails<\/a> et g\u00e9rer tout type de projet. <a href=\"\/fr\/contactez-nous\/\" target=\"_blank\" rel=\"noopener noreferrer\">Contactez-nous<\/a> pour en savoir plus sur nos comp\u00e9tences en d\u00e9veloppement et les projets que nous pouvons g\u00e9rer.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-70987f92 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"70987f92\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-71c6c633\" data-id=\"71c6c633\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-61d1550a elementor-widget elementor-widget-heading\" data-id=\"61d1550a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnez-vous pour les derni\u00e8res mises \u00e0 jour<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e7f0ce0 elementor-widget elementor-widget-shortcode\" data-id=\"3e7f0ce0\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"chargeur\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Adresse e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nom\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"S&#039;abonner\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"fr\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"joyau kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n        Gemme de Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"pourquoi embaucher des d\u00e9veloppeurs Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n        Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n        Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEILLEURES ID\u00c9ES POUR LE D\u00c9VELOPPEMENT DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Vous est-il d\u00e9j\u00e0 arriv\u00e9 d'ouvrir un placard et de vous faire tomber dessus tout le contenu de l'int\u00e9rieur ? Dans le domaine de la programmation, on appelle cela un \"code spaghetti\". Il s'agit du genre de codes qui sont tellement m\u00e9lang\u00e9s que d\u00e8s que vous faites un petit changement, tout commence \u00e0 s'effondrer. M\u00eame s'il est ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31937,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[665,572],"class_list":["post-7773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-bullet-gem","tag-gem"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Get More Out of Queries in Rails Using Bullet in Just 3 Steps<\/title>\n<meta name=\"description\" content=\"It is recommended to use third party tools like Bullet Gem for the maintenance, security and optimization of codes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get More Out of Queries in Rails Using Bullet in Just 3 Steps\" \/>\n<meta property=\"og:description\" content=\"It is recommended to use third party tools like Bullet Gem for the maintenance, security and optimization of codes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-30T11:45:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T12:30:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Get More Out of Queries in Rails Using Bullet in Just 3 Steps\",\"datePublished\":\"2016-03-30T11:45:23+00:00\",\"dateModified\":\"2021-06-06T12:30:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/\"},\"wordCount\":770,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg\",\"keywords\":[\"bullet gem\",\"gem\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/\",\"url\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/\",\"name\":\"Get More Out of Queries in Rails Using Bullet in Just 3 Steps\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg\",\"datePublished\":\"2016-03-30T11:45:23+00:00\",\"dateModified\":\"2021-06-06T12:30:08+00:00\",\"description\":\"It is recommended to use third party tools like Bullet Gem for the maintenance, security and optimization of codes.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get More Out of Queries in Rails Using Bullet in Just 3 Steps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tirez le meilleur parti des requ\u00eates dans Rails en utilisant Bullet en seulement 3 \u00e9tapes","description":"Il est recommand\u00e9 d&#039;utiliser des outils tiers comme Bullet Gem pour la maintenance, la s\u00e9curit\u00e9 et l&#039;optimisation des codes.","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:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes\/","og_locale":"fr_FR","og_type":"article","og_title":"Get More Out of Queries in Rails Using Bullet in Just 3 Steps","og_description":"It is recommended to use third party tools like Bullet Gem for the maintenance, security and optimization of codes.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/tirez-le-meilleur-parti-des-requetes-dans-les-rails-en-utilisant-bullet-en-seulement-3-etapes\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-03-30T11:45:23+00:00","article_modified_time":"2021-06-06T12:30:08+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Get More Out of Queries in Rails Using Bullet in Just 3 Steps","datePublished":"2016-03-30T11:45:23+00:00","dateModified":"2021-06-06T12:30:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/"},"wordCount":770,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg","keywords":["bullet gem","gem"],"articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/","url":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/","name":"Tirez le meilleur parti des requ\u00eates dans Rails en utilisant Bullet en seulement 3 \u00e9tapes","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg","datePublished":"2016-03-30T11:45:23+00:00","dateModified":"2021-06-06T12:30:08+00:00","description":"Il est recommand\u00e9 d&#039;utiliser des outils tiers comme Bullet Gem pour la maintenance, la s\u00e9curit\u00e9 et l&#039;optimisation des codes.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/03\/rc.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/holen-sie-mit-bullet-in-nur-3-schritten-mehr-aus-abfragen-in-rails-heraus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Get More Out of Queries in Rails Using Bullet in Just 3 Steps"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administrateur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/7773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=7773"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/7773\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/31937"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=7773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=7773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=7773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}