{"id":8290,"date":"2016-05-28T12:34:05","date_gmt":"2016-05-28T12:34:05","guid":{"rendered":"https:\/\/dev.railscarma.com\/a-detailed-look-rails-5-features-changes\/"},"modified":"2021-06-06T12:26:59","modified_gmt":"2021-06-06T12:26:59","slug":"un-regard-detaille-rails-5-caracteristiques-changements","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/un-regard-detaille-rails-5-caracteristiques-changements\/","title":{"rendered":"Un aper\u00e7u d\u00e9taill\u00e9 des fonctionnalit\u00e9s et des modifications de Rails 5"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"8290\" class=\"elementor elementor-8290\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6b9d6da elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6b9d6da\" 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-313bd6a2\" data-id=\"313bd6a2\" 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-3eb0d995 elementor-widget elementor-widget-text-editor\" data-id=\"3eb0d995\" 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\tRails 5 a \u00e9t\u00e9 annonc\u00e9 par David Heinemeier Hansson (DHH), cr\u00e9ateur du framework Ruby on Rails, lors de la RailsConf 2015 \u00e0 Atlanta. La version 5.0.0 Beta de Ruby a \u00e9t\u00e9 publi\u00e9e le 18 d\u00e9cembre 2015. En dehors de Rails 4, les nouvelles fonctionnalit\u00e9s sont mises en \u0153uvre dans la version 5 comme le c\u00e2ble d'action et les turbolinks am\u00e9lior\u00e9s qui peuvent instantan\u00e9ment am\u00e9liorer le flux de travail de d\u00e9veloppement web. Voici les fonctionnalit\u00e9s de Rails 5 :\n<h3>Prise en charge de la version de Ruby :<\/h3>\nRails 5 va <strong>seulement<\/strong> fonctionne avec Ruby 2.2.1 et plus. Les caract\u00e9ristiques suivantes justifient l'utilisation de Ruby 2 ou d'une version plus r\u00e9cente :\n\n<strong>Collecteur de d\u00e9chets de symboles<\/strong>\n\nDans les applications Ruby On Rails, nous passons g\u00e9n\u00e9ralement des symboles partout, ce qui ouvre la possibilit\u00e9 d'attaques DoS lorsque notre m\u00e9moire est consomm\u00e9e par des symboles qui ne sont jamais ramass\u00e9s par le garbage collector. Ruby 2.2.0 a introduit des changements dans son garbage collector afin de pouvoir collecter les symboles.\n\n<strong>Module #pr\u00e9pendant<\/strong>\n\nPermet d'ins\u00e9rer un module devant la classe \u00e0 laquelle il a \u00e9t\u00e9 ajout\u00e9.\n\n<strong>Arguments sur les mots-cl\u00e9s<\/strong>\n\nRuby 2.0 a introduit un support de premi\u00e8re classe pour les arguments de type mot-cl\u00e9 :\n<blockquote>def foo(bar : 'default')\nmet bar\nfin\n\nfoo # =&gt; 'default' (d\u00e9faut)\nfoo(bar : 'baz') # =&gt; 'baz'\nGC incr\u00e9mentiel<\/blockquote>\nCela permettra de r\u00e9duire la consommation de m\u00e9moire des applications Rails. Suppression du code obsol\u00e8te et nettoyage\n\n<strong>Action Mailer<\/strong>\n\nLes m\u00e9thodes #deliver et #deliver ! ont \u00e9t\u00e9 supprim\u00e9es, utilisez les nouvelles m\u00e9thodes deliver_now ou deliver_later.\n<blockquote>L'aide *_path dans les vues d'email a \u00e9t\u00e9 supprim\u00e9e et utilise *_url.<\/blockquote>\n<strong>Enregistrement actif<\/strong>\n\nLes attributs prot\u00e9g\u00e9s (attr_accessible) ne sont plus du tout pris en charge.\n\nNon prise en charge de la gemme activerecord-deprecated_finders.\n\n<strong>Assertions de l'ActionPack<\/strong>\n\nLes assertions assert_template et assigns() sont obsol\u00e8tes et d\u00e9plac\u00e9es dans leur propre gem rails-controller-testing.\n<blockquote>ActiveRecord::Base#has_secure_token<\/blockquote>\nRails 5 a introduit has_secure_token pour inclure un jeton al\u00e9atoire dans les mod\u00e8les.\n\n<strong>Vue de l'action<\/strong>\n\nDans la vue d'action, les m\u00e9thodes d'aide telles que content_tag_for et div_for ont \u00e9t\u00e9 retir\u00e9es du noyau et d\u00e9plac\u00e9es dans une gemme s\u00e9par\u00e9e record-tag-helper.\n\n<strong>Turbolinks<\/strong>\n\n<strong>Nouveau Turbolinks 3<\/strong> r\u00e9sout l'un des probl\u00e8mes majeurs de Rails. Quelques applications web fonctionnent tr\u00e8s lentement parce qu'elles rechargent la page enti\u00e8re depuis le serveur. Ce nouveau Turbolinks 3 ne recharge que le contenu du corps de la page, il ne recharge pas la page enti\u00e8re. Il vous permet de sp\u00e9cifier quels \u00e9l\u00e9ments doivent \u00eatre remplac\u00e9s par des partiels.\n\nLa fonctionnalit\u00e9 de remplacement partiel est l'un des changements les plus significatifs de Rails 5. Nous pourrons indiquer \u00e0 Turbolinks, c\u00f4t\u00e9 client, le contenu que nous devons modifier\/remplacer et celui que nous ne voulons pas. Pour d\u00e9cider de la strat\u00e9gie de remplacement dans le DOM, Turbolinks recherche les attributs HTML5 data-turbolinks-permanent et data-turbolinks-temporary.\n\nNous pouvons utiliser turbolinks.visit ou Turbolinks.replace pour mettre \u00e0 jour le DOM et d\u00e9clencher un remplacement c\u00f4t\u00e9 client. Visit enverra un GET au serveur pour obtenir le HTML qui doit \u00eatre utilis\u00e9 pour remplacer notre DOM et replace attend de nous le HTML qui doit \u00eatre utilis\u00e9 pour son op\u00e9ration.\n\n<em>Les m\u00eames fonctionnalit\u00e9s peuvent \u00eatre d\u00e9clench\u00e9es c\u00f4t\u00e9 serveur avec redirect_to et render, qui peuvent tous deux recevoir les options change, keep et flush. Mais redirect_to peut aussi recevoir des turbolinks avec true ou false pour forcer une redirection.<\/em>\n\n<strong>C\u00e2ble d'action<\/strong>\n\n<strong>C\u00e2ble d'action<\/strong> est un framework, utilis\u00e9 pour \u00e9tendre Rails via les Websockets afin d'ajouter une fonctionnalit\u00e9 de passage de messages en temps r\u00e9el. C'est probablement l'une des meilleures choses de Rails 5. Il int\u00e8gre en douceur les WebSockets au reste de l'application Rails. Le c\u00e2ble d'action permet d'ajouter tr\u00e8s facilement des fonctionnalit\u00e9s en temps r\u00e9el \u00e0 votre application. La raison pour laquelle cette fonctionnalit\u00e9 a \u00e9t\u00e9 ajout\u00e9e est le besoin croissant d'une telle fonctionnalit\u00e9. Elle a \u00e9t\u00e9 introduite pour \u00e9tendre les fonctionnalit\u00e9s de Rails avec une messagerie en temps r\u00e9el utilisant les WebSockets.\n\nAction Cable offre de nombreux avantages, notamment celui d'\u00eatre une connexion ouverte, extr\u00eamement l\u00e9g\u00e8re par rapport \u00e0 d'autres requ\u00eates HTTP. Un autre avantage est qu'une fois la connexion \u00e9tablie, elle reste ouverte. Gr\u00e2ce \u00e0 cette ligne ouverte, le serveur et le client peuvent communiquer sans avoir \u00e0 r\u00e9tablir une nouvelle connexion. Le serveur et le client peuvent utiliser la connexion full-duplex de WebSocket pour communiquer l'un avec l'autre en m\u00eame temps.\n\n<em>L'un des inconv\u00e9nients du c\u00e2ble d'action est son incapacit\u00e9 \u00e0 mettre les requ\u00eates en cache. Un autre inconv\u00e9nient de WebSocket est la prise en charge par les navigateurs, car seulement 70% du march\u00e9 des navigateurs permet les connexions WebSocket.<\/em>\n\n<strong>Nouvelles fonctionnalit\u00e9s suppl\u00e9mentaires dans Rails 5<\/strong>\n<ul>\n \t<li>M\u00e9thode #or dans ActiveRecord::Relation<\/li>\n \t<li>#belongs_to est requis par d\u00e9faut<\/li>\n \t<li>API d'attributs d'enregistrements actifs<\/li>\n \t<li>has_secure_token d\u00e9barqu\u00e9 dans ActiveRecord<\/li>\n \t<li>L'adaptateur Mysql active record prend en charge Json<\/li>\n \t<li>Rendre un mod\u00e8le en dehors du contr\u00f4leur<\/li>\n \t<li>Meilleur ex\u00e9cuteur de tests Minitest<\/li>\n<\/ul>\n<strong>API Rails<\/strong>\n\nIl vous permet de g\u00e9n\u00e9rer des applications Rails bas\u00e9es uniquement sur l'API et d'\u00e9liminer tous les intergiciels qui ne sont pas n\u00e9cessaires dans une application. Lorsque vous cr\u00e9ez une nouvelle application Rails en utilisant la nouvelle API Rails, vous obtenez une configuration qui suppose que vous travaillez avec JSON et non avec HTML.\n\n<strong>Commande pour cr\u00e9er une application API Rails :<\/strong>\n<blockquote>rails new my-app-api -api<\/blockquote>\n<strong>Rendu de n'importe o\u00f9<\/strong>\n\nTous ces jours, nous avons utilis\u00e9 des gemmes comme render_anywhere pour rendre les vues en dehors du contr\u00f4leur. Dans Rails 5, vous pouvez rendre vos vues depuis n'importe o\u00f9. En plus des options de rendu, il y a aussi une option disponible pour passer des variables instantan\u00e9es aux mod\u00e8les.\n\n<strong>Red\u00e9marrez votre application avec une commande Rake<\/strong>\n\nDans Rail 5, vous pouvez red\u00e9marrer toutes vos applications avec la commande <strong>red\u00e9marrage du r\u00e2teau<\/strong>. Et pour la migration : <strong>base de donn\u00e9es rails: migrer<\/strong>\nNotez que cette liste n'est pas exhaustive et que pour en savoir plus sur tous les changements de Rails 5, nous vous recommandons de consulter l'annonce de la version sur Rails.Org.\n\nA lire \u00e9galement :\n<ul>\n \t<li><a href=\"\/fr\/rails-upgrade-services\/\">Passer \u00e0 Rails 5<\/a><\/li>\n \t<li><a href=\"\/fr\/blog\/articles-techniques\/generate-swagger-docs-rails-api\/\" target=\"_blank\" rel=\"noopener noreferrer\">Comment g\u00e9n\u00e9rer une documentation Swagger pour une API Rails<\/a><\/li>\n \t<li><a href=\"\/fr\/blog\/articles-techniques\/generer-ajouter-une-application-de-rails-de-plan-de-site\/\" target=\"_blank\" rel=\"noopener noreferrer\">Comment g\u00e9n\u00e9rer et ajouter un sitemap \u00e0 votre application Rails<\/a><\/li>\n<\/ul>\n\u00c0 <a href=\"https:\/\/www.railscarma.com\/fr\/\">RailsCarma<\/a> nous utilisons les outils et les techniques les plus r\u00e9cents pour cr\u00e9er votre application. Consultez <a href=\"\/fr\/portefeuille\/\">Notre portfolio<\/a> pour comprendre comment nous contribuons \u00e0 changer la forme de l'industrie du logiciel. <a href=\"\/fr\/contactez-nous\/\">Contactez-nous d\u00e8s maintenant !<\/a>\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-128d6157 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"128d6157\" 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-77735531\" data-id=\"77735531\" 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-65ce124c elementor-widget elementor-widget-heading\" data-id=\"65ce124c\" 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-4a7c9ab1 elementor-widget elementor-widget-shortcode\" data-id=\"4a7c9ab1\" 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=\"297ab9f1f5\">\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=\"R\u00e9cup\u00e9ration de donn\u00e9es dans Rails en traitant CSV\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/grattage-de-donnees-dans-les-rails-en-traitant-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 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=\"R\u00e9cup\u00e9ration de donn\u00e9es dans Rails en traitant CSV\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/grattage-de-donnees-dans-les-rails-en-traitant-csv\/?related_post_from=31591\">\r\n        R\u00e9cup\u00e9ration de donn\u00e9es dans Rails en traitant CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Passer des appels vocaux via les applications Web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/passer-des-appels-vocaux-via-les-applications-web-ruby-on-rails\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 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=\"Passer des appels vocaux via les applications Web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/passer-des-appels-vocaux-via-les-applications-web-ruby-on-rails\/?related_post_from=31309\">\r\n        Passer des appels vocaux via les applications Web 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>Rails 5 a \u00e9t\u00e9 annonc\u00e9 par David Heinemeier Hansson (DHH), cr\u00e9ateur du framework Ruby on Rails, lors de la RailsConf 2015 \u00e0 Atlanta. La version 5.0.0 Beta de Ruby a \u00e9t\u00e9 publi\u00e9e le 18 d\u00e9cembre 2015. En dehors de Rails 4, les nouvelles fonctionnalit\u00e9s sont impl\u00e9ment\u00e9es dans la version 5 telles que Action cable et turbolinks am\u00e9lior\u00e9s qui peuvent instantan\u00e9ment am\u00e9liorer le web....<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Solutions d'int\u00e9gration d'API tierces en Ruby on Rails<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31913,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[382,674],"class_list":["post-8290","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-ruby-on-rails","tag-ruby5"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A Detailed Look at Rails 5 Features and Changes<\/title>\n<meta name=\"description\" content=\"Rails 5 was announced by David Heinemeier Hansson(DHH), creator of Ruby on Rails Framework at Rails Conference 2015 in Atlanta.\" \/>\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\/un-regard-detaille-rails-5-caracteristiques-changements\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Detailed Look at Rails 5 Features and Changes\" \/>\n<meta property=\"og:description\" content=\"Rails 5 was announced by David Heinemeier Hansson(DHH), creator of Ruby on Rails Framework at Rails Conference 2015 in Atlanta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/un-regard-detaille-rails-5-caracteristiques-changements\/\" \/>\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-05-28T12:34:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T12:26:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"A Detailed Look at Rails 5 Features and Changes\",\"datePublished\":\"2016-05-28T12:34:05+00:00\",\"dateModified\":\"2021-06-06T12:26:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/\"},\"wordCount\":942,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg\",\"keywords\":[\"Ruby on rails\",\"ruby5\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/\",\"name\":\"A Detailed Look at Rails 5 Features and Changes\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg\",\"datePublished\":\"2016-05-28T12:34:05+00:00\",\"dateModified\":\"2021-06-06T12:26:59+00:00\",\"description\":\"Rails 5 was announced by David Heinemeier Hansson(DHH), creator of Ruby on Rails Framework at Rails Conference 2015 in Atlanta.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Detailed Look at Rails 5 Features and Changes\"}]},{\"@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":"Un aper\u00e7u d\u00e9taill\u00e9 des fonctionnalit\u00e9s et des modifications de Rails 5","description":"Rails 5 a \u00e9t\u00e9 annonc\u00e9 par David Heinemeier Hansson (DHH), cr\u00e9ateur du framework Ruby on Rails, lors de la Rails Conference 2015 \u00e0 Atlanta.","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\/un-regard-detaille-rails-5-caracteristiques-changements\/","og_locale":"fr_FR","og_type":"article","og_title":"A Detailed Look at Rails 5 Features and Changes","og_description":"Rails 5 was announced by David Heinemeier Hansson(DHH), creator of Ruby on Rails Framework at Rails Conference 2015 in Atlanta.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/un-regard-detaille-rails-5-caracteristiques-changements\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-05-28T12:34:05+00:00","article_modified_time":"2021-06-06T12:26:59+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"A Detailed Look at Rails 5 Features and Changes","datePublished":"2016-05-28T12:34:05+00:00","dateModified":"2021-06-06T12:26:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/"},"wordCount":942,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg","keywords":["Ruby on rails","ruby5"],"articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/","name":"Un aper\u00e7u d\u00e9taill\u00e9 des fonctionnalit\u00e9s et des modifications de Rails 5","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg","datePublished":"2016-05-28T12:34:05+00:00","dateModified":"2021-06-06T12:26:59+00:00","description":"Rails 5 a \u00e9t\u00e9 annonc\u00e9 par David Heinemeier Hansson (DHH), cr\u00e9ateur du framework Ruby on Rails, lors de la Rails Conference 2015 \u00e0 Atlanta.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/05\/rails5.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/a-detailed-look-rails-5-features-changes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"A Detailed Look at Rails 5 Features and Changes"}]},{"@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\/8290","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=8290"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/8290\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/31913"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=8290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=8290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=8290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}