{"id":26104,"date":"2017-01-07T09:58:22","date_gmt":"2017-01-07T09:58:22","guid":{"rendered":"https:\/\/dev.railscarma.com\/jenkins-setup-rspec-code-coverage\/"},"modified":"2024-01-10T12:59:41","modified_gmt":"2024-01-10T12:59:41","slug":"jenkins-configure-la-couverture-du-code-rspec","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/jenkins-configure-la-couverture-du-code-rspec\/","title":{"rendered":"Configuration de Jenkins pour RSpec et couverture de code"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"26104\" class=\"elementor elementor-26104\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5ab650c3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5ab650c3\" 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-5d6447e8\" data-id=\"5d6447e8\" 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-6db96535 elementor-widget elementor-widget-text-editor\" data-id=\"6db96535\" 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\t<p align=\"justify\">Cet article d\u00e9crit la r\u00e9alisation des objectifs de l&#039;int\u00e9gration qui a pour impact de fournir des logiciels plus rapidement et sans bugs, les probl\u00e8mes rencontr\u00e9s et la mise \u00e0 niveau propos\u00e9e pour fournir un logiciel fluide et qualitatif. Les principaux objectifs sont de d\u00e9velopper la confiance n\u00e9cessaire pour modifier le code et le valider rapidement, d&#039;\u00eatre en mesure d&#039;effectuer des mises \u00e0 niveau technologiques sans aucun effort manuel et d&#039;atteindre z\u00e9ro besoin de tests manuels.<\/p>\n<p><strong>Introduction<\/strong><\/p>\n<p align=\"justify\">Pendant le processus de d\u00e9veloppement, il est essentiel d&#039;ex\u00e9cuter fr\u00e9quemment la suite de tests de votre application Web afin de maintenir une distance strat\u00e9gique par rapport \u00e0 tout probl\u00e8me impr\u00e9vu et de garantir que tout se passe bien. Cependant, il peut \u00eatre difficile de ne jamais oublier d&#039;ex\u00e9cuter les tests au fur et \u00e0 mesure, et de plus, \u00e0 mesure que votre suite de tests s&#039;agrandit, son ex\u00e9cution prend de plus en plus de temps. C&#039;est l\u00e0 qu&#039;intervient un serveur d&#039;int\u00e9gration continue. Un serveur CI peut cr\u00e9er automatiquement votre application et ex\u00e9cuter des tests lorsque vous apportez des modifications. De plus, il vous avertit \u00e9galement de toute erreur ou \u00e9chec de test. Jenkins est l&#039;un de ces serveurs CI open source populaires sur Ubuntu 14.<\/p>\n<p><strong>Mise en place de Jenkins<\/strong><br>\nJe vais configurer Jenkins, un serveur CI open source populaire sur Ubuntu 14. Je le configurerai ensuite pour ex\u00e9cuter les sp\u00e9cifications Rspec et le rapport de couverture de code d&#039;un projet Ruby on Rails lorsqu&#039;une modification est transmise \u00e0 GitHub.<\/p>\n<p><strong>Installation de Jenkins<\/strong><br>\n1. Mise \u00e0 jour du syst\u00e8me - sudo apt-get update<br>\n2. Serveur web - si un serveur web n'est pas install\u00e9 sur votre syst\u00e8me - sudo apt-get install nginx<br>\n3. Java - sudo apt-get install openjdk-7-jdk<br>\n4. wget -q -O - http:\/\/pkg.jenkins-ci.org\/debian\/jenkins-ci.org.key | sudo apt-key add -<br>\n5. sudo sh -c 'echo deb http:\/\/pkg.jenkins-ci.org\/debian binary\/ &gt; \/etc\/apt\/sources.list.d\/jenkins.list'<br>\n6. sudo apt-get update<br>\n7. sudo apt-get install jenkins<br>\n8. sudo service jenkins restart<br>\n9. Tapez ssh-keygen dans votre syst\u00e8me local et ajoutez la cl\u00e9 dans le d\u00e9p\u00f4t de votre projet sur GitHub.<\/p>\n<p><strong>Configuration de Jenkins<\/strong><br>\n1. Aller sur http:\/\/localhost:8080<br>\n2. Il demandera le mot de passe de l'administrateur et le r\u00e9cup\u00e9rera dans \/var\/lib\/jenkins\/secrets\/initialAdminPassword.<\/p>\n<ul>\n<li>sudo chmod -R 777 \/var\/lib\/jenkins\/secrets si vous n&#039;avez pas l&#039;autorisation d&#039;acc\u00e9der au dossier<\/li>\n<li>vi \/var\/lib\/jenkins\/secrets\/initialAdminPassword<\/li>\n<\/ul>\n<p>3. Pour installer les plugins requis, cliquez sur \u00ab G\u00e9rer Jenkins \u00bb puis \u00ab G\u00e9rer les plugins \u00bb. Dans l&#039;onglet \u00ab Disponible \u00bb, v\u00e9rifiez les plugins suivants :<\/p>\n<ul>\n<li>Git<\/li>\n<li>GitHub<\/li>\n<li>RVM<\/li>\n<li>R\u00e2teau<\/li>\n<li>DocLink<\/li>\n<li>Maven<\/li>\n<\/ul>\n<p>4. Ensuite, s\u00e9lectionnez \"T\u00e9l\u00e9charger maintenant et installer apr\u00e8s le red\u00e9marrage\"<br>\n5. Configurer la s\u00e9curit\u00e9 globale. Naviguez \u00e0 nouveau vers \"Manage Jenkins\" et s\u00e9lectionnez \"Configure Global Security\". Sur cet \u00e9cran, cochez \"Enable Security\", puis \"Jenkins' own user database\" sous \"Security Realm\". Ensuite, s\u00e9lectionnez \"Project-based Matrix Authorization Strategy\" (Strat\u00e9gie d'autorisation matricielle bas\u00e9e sur le projet) sous \"Authorization\" (Autorisation).<br>\n6. A partir de l\u00e0, ajoutez les utilisateurs \"admin\" et \"github\", en v\u00e9rifiant toutes les permissions pour admin et seulement \"Read\" pour github. Confirmez vos param\u00e8tres \u00e0 l'aide de la capture d'\u00e9cran ci-dessous et enregistrez les modifications.<\/p>\n<p><strong>Configuration du projet<\/strong><br>\n1. Depuis la page d'accueil, cliquez sur \"Nouvel \u00e9l\u00e9ment\", puis s\u00e9lectionnez \"Construire un projet de logiciel libre\" et cliquez sur \"OK\".<br>\n2. Remplissez les champs \"Nom du projet\" et \"Projet GitHub\".<br>\n3. Sous \"Source Code Management\", s\u00e9lectionnez \"Git\" et indiquez l'url du repo. (Si vous devez vous authentifier avec SSH, configurez-le ici).<br>\n4. Cliquez sur Ex\u00e9cuter la compilation dans un environnement g\u00e9r\u00e9 par RVM et ajoutez la version rvm.<br>\n5. Dans build, s\u00e9lectionnez \"Execute Shell Commands\" et sp\u00e9cifiez les commandes suivantes :<\/p>\n<ul>\n<li>#!\/bin\/bash -e<\/li>\n<li>source ~\/.bashrc<\/li>\n<li>rvm utilise 2.3.0<\/li>\n<li>installation group\u00e9e<\/li>\n<li>exporter RAILS_ENV=test<\/li>\n<li>rake db: cr\u00e9er<\/li>\n<li>rake db: sch\u00e9ma: charger<\/li>\n<li>test de r\u00e2teau\u00a0:\u00a0pr\u00e9parer<\/li>\n<li>sp\u00e9cification rspec<\/li>\n<\/ul>\n<p>6. Pour \u00eatre s\u00fbr de savoir quand un build \u00e9choue, configurez des notifications par email dans \"Add post-build action\". Configurez SMTP sur la page \"Configurer le syst\u00e8me\", qui se trouve sous \"G\u00e9rer Jenkins\".<br>\n7. Dans les actions post-construction, s\u00e9lectionnez \"Publier le document\" et configurez comme ci-dessous.<\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/Jenkins-Setup-for-RSpec-Code-Coverage.png\"><img decoding=\"async\" class=\"aligncenter wp-image-26106 size-full\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/01\/Jenkins-Setup-for-RSpec-Code-Coverage.png\" width=\"427\" height=\"290\"><\/a><\/p>\n<p><strong>Tests avec Jenkins<\/strong><\/p>\n<ul>\n<li>S\u00e9lectionnez le projet que vous souhaitez cr\u00e9er dans la liste des projets disponibles.<\/li>\n<li>Cliquez sur \u00ab\u00a0Construire maintenant\u00a0\u00bb.<\/li>\n<li>Allez dans \u00ab Build History \u00bb et cliquez sur le dernier num\u00e9ro de build.<\/li>\n<\/ul>\n<p>Si la build est de couleur rouge, cela signifie que la build a \u00e9chou\u00e9.<\/p>\n<ul>\n<li>Corrigez les erreurs de configuration, le cas \u00e9ch\u00e9ant.<\/li>\n<li>Corrigez les cas de test ayant \u00e9chou\u00e9 et reconstruisez.<\/li>\n<\/ul>\n<p>Si le build est de couleur bleue, cela signifie que le build est r\u00e9ussi et que le code est pr\u00eat \u00e0 \u00eatre d\u00e9ploy\u00e9.<\/p>\n<ul>\n<li>Cliquez sur \u00ab Rapport de couverture du code \u00bb.<\/li>\n<li>Cliquez sur le contr\u00f4leur correspondant aux cas de test que vous avez \u00e9crits.<\/li>\n<li>V\u00e9rifiez le pourcentage de couverture du code.<\/li>\n<li>Si le 100% n&#039;est pas couvert, v\u00e9rifiez les num\u00e9ros de ligne et la couverture.<\/li>\n<\/ul>\n<p><strong>Les r\u00e9f\u00e9rences<\/strong><br>\n<a href=\"http:\/\/www.webascender.com\/Blog\/ID\/522\/Setting-up-Jenkins-for-GitHub-Rails-Rspec#.WG8_Lp6qq1F\">http:\/\/www.webascender.com\/Blog\/ID\/522\/Setting-up-Jenkins-for-GitHub-Rails-Rspec#.WG8_Lp6qq1F<\/a><\/p>\n<p><a href=\"https:\/\/www.railscarma.com\/fr\/\">RailsCarma<\/a> propose des services de d\u00e9veloppement Rails depuis plus de 8 ans. Nos d\u00e9veloppeurs sont rompus \u00e0 l'ex\u00e9cution de tous les types de&nbsp;<a href=\"https:\/\/www.railscarma.com\/fr\/\">D\u00e9veloppement d&#039;applications Ruby On Rails<\/a>&nbsp;projets et am\u00e9liorer les fonctionnalit\u00e9s de vos applications Ruby on Rails existantes. Contactez-nous pour en savoir plus sur nos comp\u00e9tences en d\u00e9veloppement et les projets sur lesquels nous avons travaill\u00e9.&nbsp;<\/p>\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-3dab4eeb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3dab4eeb\" 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-6a6523f6\" data-id=\"6a6523f6\" 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-35d0c05 elementor-widget elementor-widget-heading\" data-id=\"35d0c05\" 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-2a98cc51 elementor-widget elementor-widget-shortcode\" data-id=\"2a98cc51\" 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=\"ec95fb1fc4\">\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>Cet article d\u00e9crit la r\u00e9alisation des objectifs de l'int\u00e9gration qui a un impact sur la livraison de logiciels plus rapidement et sans bogues, les probl\u00e8mes rencontr\u00e9s et la mise \u00e0 jour propos\u00e9e pour fournir un logiciel fluide et de qualit\u00e9. Les principaux objectifs sont de d\u00e9velopper la confiance pour modifier le code et le valider rapidement, d'\u00eatre en mesure d'effectuer des ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31815,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-26104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Jenkins Setup for RSpec &amp; Code Coverage - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"This article depicts the accomplishment of the objectives of the integration that impacts delivering software faster with no bugs, the issues confronted\" \/>\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\/jenkins-configure-la-couverture-du-code-rspec\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jenkins Setup for RSpec &amp; Code Coverage - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"This article depicts the accomplishment of the objectives of the integration that impacts delivering software faster with no bugs, the issues confronted\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/jenkins-configure-la-couverture-du-code-rspec\/\" \/>\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=\"2017-01-07T09:58:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-10T12:59:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png\" \/>\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\/png\" \/>\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\/jenkins-setup-rspec-code-coverage\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Jenkins Setup for RSpec &#038; Code Coverage\",\"datePublished\":\"2017-01-07T09:58:22+00:00\",\"dateModified\":\"2024-01-10T12:59:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/\"},\"wordCount\":793,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png\",\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/\",\"url\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/\",\"name\":\"Jenkins Setup for RSpec & Code Coverage - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png\",\"datePublished\":\"2017-01-07T09:58:22+00:00\",\"dateModified\":\"2024-01-10T12:59:41+00:00\",\"description\":\"This article depicts the accomplishment of the objectives of the integration that impacts delivering software faster with no bugs, the issues confronted\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jenkins Setup for RSpec &#038; Code Coverage\"}]},{\"@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":"Configuration Jenkins pour RSpec et couverture de code - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"Cet article d\u00e9crit la r\u00e9alisation des objectifs de l&#039;int\u00e9gration qui a pour impact de fournir des logiciels plus rapidement et sans bugs, les probl\u00e8mes rencontr\u00e9s","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\/jenkins-configure-la-couverture-du-code-rspec\/","og_locale":"fr_FR","og_type":"article","og_title":"Jenkins Setup for RSpec & Code Coverage - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"This article depicts the accomplishment of the objectives of the integration that impacts delivering software faster with no bugs, the issues confronted","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/jenkins-configure-la-couverture-du-code-rspec\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2017-01-07T09:58:22+00:00","article_modified_time":"2024-01-10T12:59:41+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png","type":"image\/png"}],"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\/jenkins-setup-rspec-code-coverage\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Jenkins Setup for RSpec &#038; Code Coverage","datePublished":"2017-01-07T09:58:22+00:00","dateModified":"2024-01-10T12:59:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/"},"wordCount":793,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png","articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/","url":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/","name":"Configuration Jenkins pour RSpec et couverture de code - RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png","datePublished":"2017-01-07T09:58:22+00:00","dateModified":"2024-01-10T12:59:41+00:00","description":"Cet article d\u00e9crit la r\u00e9alisation des objectifs de l&#039;int\u00e9gration qui a pour impact de fournir des logiciels plus rapidement et sans bugs, les probl\u00e8mes rencontr\u00e9s","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/01\/Jenkins-Setup-for-RSpec-Code-Coverage-1.png","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/de\/blog\/technical-articles\/jenkins-setup-rspec-code-coverage\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Jenkins Setup for RSpec &#038; Code Coverage"}]},{"@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\/26104","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=26104"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/26104\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/31815"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=26104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=26104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=26104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}