{"id":10392,"date":"2023-03-07T11:09:31","date_gmt":"2023-03-07T11:09:31","guid":{"rendered":"https:\/\/lightgoldenrodyellow-horse-236112.hostingersite.com\/resources\/sfdx-hardis-une-suite-open-source-complete-pour-le-release-management-de-vos-projets-salesforce\/"},"modified":"2026-01-21T16:01:06","modified_gmt":"2026-01-21T16:01:06","slug":"sfdx-hardis-une-suite-open-source-complete-pour-le-release-management-de-vos-projets-salesforce","status":"publish","type":"post","link":"https:\/\/cloudity.com\/fr\/sfdx-hardis-une-suite-open-source-complete-pour-le-release-management-de-vos-projets-salesforce\/","title":{"rendered":"SFDX-HARDIS : une suite open-source compl\u00e8te pour le release management de vos projets Salesforce"},"content":{"rendered":"<div id=\"fws_6970c7f559517\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span data-contrast=\"auto\">Si je vous dis\u2026\u00a0<\/span><i><span data-contrast=\"auto\">Change Sets<\/span><\/i><span data-contrast=\"auto\">, qu\u2019est-ce que \u00e7a \u00e9voque chez vous\u202f?<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Si vous venez de faire une\u00a0<\/span><i><span data-contrast=\"auto\">grimace<\/span><\/i><span data-contrast=\"auto\">, alors continuez cet article.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Pourquoi est-ce que dans toutes les technos on pourrait g\u00e9rer nos projets en maitrisant le cycle de vie de notre application, sauf avec Salesforce, \u00e0 part en prenant des licences additionnelles qui coutent un bras\u202f?<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Face \u00e0 ce constat, mon \u00e9quipe et moi-m\u00eame chez Cloudity avons d\u00e9cid\u00e9 d\u2019agir\u202f: dans cet article je vais vous expliquer pourquoi et comment nous avons cr\u00e9\u00e9 la suite sfdx-hardis, et vous donner quelques billes afin de vous permettre d\u2019\u00e9valuer factuellement si c\u2019est dans l\u2019int\u00e9r\u00eat de vos projets ou non de l\u2019utiliser.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Au programme\u202f:<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">R\u00e9sum\u00e9 de la saison pr\u00e9c\u00e9dente<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Episode 1\u202f: La cr\u00e9ation<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Episode 2\u202f: Pour vos projets\u202f?<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Episode 3\u202f: Le grand saut\u202f!<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Episode 4\u202f: Que se cache-t-il derri\u00e8re tout \u00e7a\u202f?<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"15\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Episode 5\u202f: A vous de jouer\u202f!<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f55a074\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h3><span class=\"TextRun MacChromeBold SCXW56041361 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW56041361 BCX0\">R\u00e9sum\u00e9 de<\/span><span class=\"NormalTextRun SCXW56041361 BCX0\">\u00a0la saison pr\u00e9c\u00e9dente<\/span><\/span><span class=\"EOP SCXW56041361 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">J\u2019ai commenc\u00e9 \u00e0 travailler sur Salesforce en 2017\u202f: nous \u00e9tions\u00a0<\/span><b><span data-contrast=\"auto\">10 coll\u00e8gues \u00e0 param\u00e9trer et d\u00e9velopper dans la m\u00eame org<\/span><\/b><span data-contrast=\"auto\">, et malgr\u00e9 nos tentatives d\u00e9sesp\u00e9r\u00e9es de synchronisation, c\u2019\u00e9tait un\u00a0<\/span><b><span data-contrast=\"auto\">cauchemar de savoir qui fait quoi, o\u00f9, pourquoi<\/span><\/b><span data-contrast=\"auto\">, et je ne parlerai m\u00eame pas des\u00a0<\/span><b><span data-contrast=\"auto\">performances<\/span><\/b><span data-contrast=\"auto\">\u00a0atroces\u2026<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">Nous avions mis en place quelques\u00a0<\/span><b><span data-contrast=\"auto\">tentatives d\u2019industrialisation<\/span><\/b><span data-contrast=\"auto\">\u2026 plut\u00f4t bancales\u202f: lignes de commande\u00a0<\/span><b><span data-contrast=\"auto\">Ant copi\u00e9es coll\u00e9es depuis un fichier Word<\/span><\/b><span data-contrast=\"auto\">\u00a0stock\u00e9 sur un disque r\u00e9seau,\u00a0<\/span><b><span data-contrast=\"auto\">package.xml \u00e9crits manuellement<\/span><\/b><span data-contrast=\"auto\">\u2026 les journ\u00e9es de mise en production \u00e9taient redout\u00e9es de tous, et parfois m\u00eame moi j\u2019ai h\u00e9sit\u00e9 \u00e0 poser un RTT pour \u00e9viter de vivre un tel sacerdoce\u2026<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">A l\u2019annonce de la sortie de\u00a0<\/span><b><span data-contrast=\"auto\">Salesforce DX<\/span><\/b><span data-contrast=\"auto\">, nous aper\u00e7\u00fbmes une lumi\u00e8re au bout du tunnel des gal\u00e8res de d\u00e9ploiement\u202f: nous allions enfin pouvoir g\u00e9rer notre projet de mani\u00e8re professionnelle avec du\u00a0<\/span><b><span data-contrast=\"auto\">git<\/span><\/b><span data-contrast=\"auto\">, des\u00a0<\/span><b><span data-contrast=\"auto\">pipelines CI\/CD<\/span><\/b><span data-contrast=\"auto\">, comme dans n\u2019importe quelle autre technologie depuis plus de dix ans\u202f!\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Mais\u00a0<\/span><b><span data-contrast=\"auto\">la joie fut de courte dur\u00e9e<\/span><\/b><span data-contrast=\"auto\">. SFDX est un bel outil\u2026 pour livrer des projets de type \u00ab\u202fHello world\u202f\u00bb.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Il faut l\u2019<\/span><b><span data-contrast=\"auto\">appeler de mani\u00e8re dynamique, et donc script\u00e9e<\/span><\/b><span data-contrast=\"auto\">, pour le rendre\u00a0<\/span><b><span data-contrast=\"auto\">applicable au cycle de vie d\u2019un projet complexe<\/span><\/b><span data-contrast=\"auto\">, et sans scripts avanc\u00e9s nous avons rencontr\u00e9s les irritants suivants\u202f:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">La n\u00e9cessit\u00e9 de\u00a0<\/span><b><span data-contrast=\"auto\">manuellement mettre \u00e0 jour des fichiers XML<\/span><\/b><span data-contrast=\"auto\">\u00a0pour que leur d\u00e9ploiement ne provoque pas d\u2019obscures erreurs de la metadata API<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">L\u2019<\/span><b><span data-contrast=\"auto\">\u00e9crasement r\u00e9gulier de configurations<\/span><\/b><span data-contrast=\"auto\">\u00a0directement effectu\u00e9es dans les orgs<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">De gros\u00a0<\/span><b><span data-contrast=\"auto\">probl\u00e8mes d\u2019adoption<\/span><\/b><span data-contrast=\"auto\">\u00a0aupr\u00e8s des\u00a0<\/span><b><span data-contrast=\"auto\">utilisateurs non techniques.<\/span><\/b><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Nous avons donc du\u00a0<\/span><b><span data-contrast=\"auto\">scripter, scripter et encore scripter<\/span><\/b><span data-contrast=\"auto\">\u00a0(en Bash, en Groovy ou en Node.js, selon l\u2019humeur voire la m\u00e9t\u00e9o\u2026) jusqu\u2019\u00e0 atteindre un \u00e9tat \u00e0 peu pr\u00e8s acceptable de la\u00a0<\/span><b><span data-contrast=\"auto\">cha\u00eene d\u2019int\u00e9gration et de d\u00e9ploiement continue<\/span><\/b><span data-contrast=\"auto\">\u00a0(la fameuse CI\/CD\u202f!).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Mais ces scripts devaient \u00eatre\u00a0<\/span><b><span data-contrast=\"auto\">maintenus directement dans le repository git du projet<\/span><\/b><span data-contrast=\"auto\">, ce qui \u00e9tait terriblement\u00a0<\/span><b><span data-contrast=\"auto\">chronophage,<\/span><\/b><span data-contrast=\"auto\">\u00a0et n\u00e9cessitait l\u2019<\/span><b><span data-contrast=\"auto\">expertise d\u2019un architecte DevOps.<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Episode 1\u202f: La cr\u00e9ation<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Lorsqu\u2019 Hardis-Group m\u2019a fait l\u2019extr\u00eame honneur de m\u2019embaucher en tant que CTO de leur d\u00e9partement d\u00e9di\u00e9 \u00e0 l\u2019int\u00e9gration Salesforce (d\u00e9sormais la filiale Cloudity), certains de nos clients avaient d\u00e9j\u00e0 exig\u00e9 de travailler en versionnement et CI\/CD.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Les quelques projets CI\/CD existants\u00a0<\/span><b><span data-contrast=\"auto\">maintenaient leurs propres pipelines et scripts<\/span><\/b>\u00a0<b><span data-contrast=\"auto\">chacun de leur c\u00f4t\u00e9,<\/span><\/b><span data-contrast=\"auto\">\u00a0selon leurs besoins sp\u00e9cifiques mais souvent analogues.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Cette situation \u00e9tait\u00a0<\/span><b><span data-contrast=\"auto\">g\u00e9rable, mais pas scalable<\/span><\/b><span data-contrast=\"auto\">, nous avons par cons\u00e9quent d\u00fb r\u00e9\u00e9valuer les diff\u00e9rentes orientations disponibles dans l\u2019\u00e9cosyst\u00e8me Salesforce :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Acheter de couteuses licences d\u2019un outil DevOps tiers du march\u00e9<\/span><\/b><span data-contrast=\"auto\">\u00a0comme Copado, Gearset, Flosum, Autorabit, Blue Canvas, Prodly ou Opsera ;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Continuer \u00e0 travailler avec des\u00a0<\/span><b><span data-contrast=\"auto\">pipelines CI\/CD faits maison<\/span><\/b><span data-contrast=\"auto\">\u00a0(et les maintenir avec souffrance sur chacun de nos projets).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Afin de r\u00e9fl\u00e9chir aux avantages et inconv\u00e9nients de chaque option, nous avons d\u00e9fini une\u00a0<\/span><b><span data-contrast=\"auto\">matrice<\/span><\/b>\u00a0<b><span data-contrast=\"auto\">d\u00e9cisionnelle<\/span><\/b><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f55b836\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img fetchpriority=\"high\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334094333_591002256256362_227360835420113586_n-1.png\" sizes=\"(max-width: 1565px) 100vw, 1565px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334094333_591002256256362_227360835420113586_n-1.png 1565w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334094333_591002256256362_227360835420113586_n-1-300x108.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334094333_591002256256362_227360835420113586_n-1-1024x368.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334094333_591002256256362_227360835420113586_n-1-768x276.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334094333_591002256256362_227360835420113586_n-1-1536x552.png 1536w\" alt=\"\" width=\"1565\" height=\"562\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f55eb8b\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span data-contrast=\"auto\">Nous n\u2019\u00e9tions pas franchement emball\u00e9s par les options commerciales, car nos clients n\u2019ont pas tous le budget n\u00e9cessaire.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">La plupart d\u2019entre eux auraient \u00e9t\u00e9\u00a0<\/span><b><span data-contrast=\"auto\">r\u00e9ticents \u00e0 l\u2019id\u00e9e d\u2019acheter de couteuses licences additionnelles<\/span><\/b><span data-contrast=\"auto\">, pour une utilisation qui restait encore tr\u00e8s abstraite dans leur esprit.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">\u00ab\u202fPourquoi payer pour du DevOps alors qu\u2019avec les Change Sets on y arrivait \u00e0 peu pr\u00e8s jusqu\u2019ici\u202f?\u202f\u00bb<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Comme nous avions de s\u00e9rieuses comp\u00e9tences en interne sur les pipelines CI\/CD script\u00e9s, nous avons d\u00e9cid\u00e9 de conserver ce modus operandi.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Mais nous ne souhaitions pas alourdir nos charges en maintenant des scripts pour chacun de nos clients. Cela nous a donn\u00e9 l\u2019id\u00e9e de les<\/span><b><span data-contrast=\"auto\">\u00a0factoriser en packageant un moteur open-source<\/span><\/b><span data-contrast=\"auto\">, qui serait<\/span><b><span data-contrast=\"auto\">\u00a0utilis\u00e9 sur tous les projets,\u00a0<\/span><\/b><span data-contrast=\"auto\">ces derniers contenant<\/span><b><span data-contrast=\"auto\">\u00a0uniquement la configuration\u00a0<\/span><\/b><span data-contrast=\"auto\">appliqu\u00e9e par le moteur.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p>C\u2019est ainsi qu\u2019est n\u00e9 le plugin\u00a0<a href=\"https:\/\/sfdx-hardis.cloudity.com\/\">Salesforce DX sfdx-hardis<\/a>\u00a0!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f55f099\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/330780643_228349636306024_7031459238789600306_n-1.png\" sizes=\"(max-width: 1658px) 100vw, 1658px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/330780643_228349636306024_7031459238789600306_n-1.png 1658w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_330780643_228349636306024_7031459238789600306_n-1-300x157.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_330780643_228349636306024_7031459238789600306_n-1-1024x537.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_330780643_228349636306024_7031459238789600306_n-1-768x403.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_330780643_228349636306024_7031459238789600306_n-1-1536x805.png 1536w\" alt=\"\" width=\"1658\" height=\"869\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f560a23\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span data-contrast=\"auto\">Les plugins Salesforce DX fonctionnent en ligne de commande, et certains de nos coll\u00e8gues\u00a0<\/span><b><span data-contrast=\"auto\">consultants fonctionnels et administrateurs<\/span><\/b><span data-contrast=\"auto\">\u00a0\u00e9taient tr\u00e8s peu enthousiastes \u00e0 la perspective d\u2019\u00e9crire des lignes barbares dans un terminal.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Nous avons donc d\u00e9cid\u00e9 de\u00a0<\/span><b><span data-contrast=\"auto\">cr\u00e9er une interface utilisateur<\/span><\/b><span data-contrast=\"auto\">\u00a0permettant d\u2019<\/span><b><span data-contrast=\"auto\">interagir avec l\u2019outillage avec des clics\u00a0<\/span><\/b><span data-contrast=\"auto\">et non des lignes de commande.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Ainsi fut pos\u00e9e la premi\u00e8re pierre de l\u2019extension\u00a0<\/span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=NicolasVuillamy.vscode-sfdx-hardis\"><span data-contrast=\"none\">VsCode sfdx-hardis.<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f560e23\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"https:\/\/cloudity.com\/fr\/actualites\/sfdx-hardis-une-suite-open-source-complete-pour-le-release-management-de-vos-projets-salesforce\/\" alt=\"\" width=\"100\" height=\"100\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"nectar_video_player_self_hosted wpb_video_widget wpb_content_element vc_clearfix vc_video-aspect-ratio-169 vc_video-el-width-100 vc_video-align-left\" data-border-radius=\"none\" data-shadow=\"none\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_video_wrapper\"><video class=\"nectar-video-self-hosted\" poster=\"https:\/\/cloudity.com\/wp-content\/uploads\/2023\/03\/Capture-decran-2023-03-03-a-10.05.29.png\" preload=\"metadata\" controls=\"controls\" width=\"1280\" height=\"720\" data-mce-fragment=\"1\"><\/video><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f563578\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h3><b><span data-contrast=\"auto\">Episode 2\u202f: Pour vos projets\u202f?<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">Vous \u00eates fatigu\u00e9(e)s des Change Sets, de manquer de maitrise, de maintenir les scripts de votre pipeline, ou alors vous ne voulez ou ne pouvez pas payer pour un des produits DevOps du march\u00e9\u202f?<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Alors il est peut-\u00eatre temps de basculer du mod\u00e8le\u00a0<\/span><b><span data-contrast=\"auto\">\u00abOrg-Based Artisanal\u00bb<\/span><\/b><span data-contrast=\"auto\">\u00a0avec d\u00e9ploiements manuels au mod\u00e8le\u00a0<\/span><b><span data-contrast=\"auto\">\u00abSource-Based Industrialis\u00e9\u00bb<\/span><\/b><span data-contrast=\"auto\">\u00a0avec d\u00e9ploiements automatis\u00e9s !<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Apr\u00e8s avoir franchi ce cap, vous b\u00e9n\u00e9ficierez\u00a0<\/span><b><span data-contrast=\"auto\">bien avant de d\u00e9ployer en production<\/span><\/b><span data-contrast=\"auto\">\u00a0de ces importants patterns :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Le<\/span><b><span data-contrast=\"auto\">\u00a0Versionnement<\/span><\/b><span data-contrast=\"auto\">, pour tracer qui a fait quoi, quand, o\u00f9 et pourquoi ;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Les<\/span><b><span data-contrast=\"auto\">\u00a0Simulations de d\u00e9ploiements\u00a0<\/span><\/b><span data-contrast=\"auto\">d\u00e8s le premier niveau<\/span>\u00a0<span data-contrast=\"auto\">de la cha\u00eene<\/span><b><span data-contrast=\"auto\">,<\/span><\/b><span data-contrast=\"auto\">\u00a0y compris la couverture exhaustive des tests unitaires Apex et LWC ;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Les<\/span><b><span data-contrast=\"auto\">\u00a0Contr\u00f4les de la qualit\u00e9 du code<\/span><\/b><span data-contrast=\"auto\">, pour diminuer les risques de bugs, r\u00e9gressions, ainsi que ma\u00eetriser la dette technique ;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">La<\/span><b><span data-contrast=\"auto\">\u00a0Gestion des conflits<\/span><\/b><span data-contrast=\"auto\">, pour tout simplement \u00e9viter d\u2019\u00e9craser le travail de vos coll\u00e8gues (ou inversement\u202f!)<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Les<\/span><b><span data-contrast=\"auto\">\u00a0D\u00e9ploiements automatis\u00e9s<\/span><\/b><span data-contrast=\"auto\">\u00a0: laissez les serveurs CI d\u00e9ployer pour vous, avec un minimum d\u2019actions manuelles n\u00e9cessaires.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Le diagramme suivant peut vous donner une id\u00e9e de l\u2019\u00e9volution entre un projet non-CI\/CD et un projet g\u00e9r\u00e9 en CI\/CD, notamment au niveau des d\u00e9ploiements.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Les automatismes sont ex\u00e9cut\u00e9s sur un serveur CI qui orchestre l\u2019ensemble des jobs de contr\u00f4le et de d\u00e9ploiement.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">La cha\u00eene CI\/CD am\u00e8ne des avantages cruciaux :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Gr\u00e2ce aux\u00a0<\/span><b><span data-contrast=\"auto\">jobs de contr\u00f4le automatis\u00e9s<\/span><\/b><span data-contrast=\"auto\">, tout ce qui sera d\u00e9ploy\u00e9 avec succ\u00e8s dans l\u2019org d\u2019int\u00e9gration sera ensuite d\u00e9ploy\u00e9 de mani\u00e8re transparente vers la recette, la pr\u00e9-production, et enfin l\u2019org de production ;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"6\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">L\u2019int\u00e9gration \u00e9tant lin\u00e9aire et continue,\u00a0<\/span><b><span data-contrast=\"auto\">ce que vous testerez fonctionnellement en recette co\u00efncidera avec ce qui sera d\u00e9ploy\u00e9 en production<\/span><\/b><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f563b3f\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334798026_199311729354918_4438256962464600782_n-1.png\" sizes=\"auto, (max-width: 1817px) 100vw, 1817px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334798026_199311729354918_4438256962464600782_n-1.png 1817w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798026_199311729354918_4438256962464600782_n-1-300x165.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798026_199311729354918_4438256962464600782_n-1-1024x563.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798026_199311729354918_4438256962464600782_n-1-768x422.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798026_199311729354918_4438256962464600782_n-1-1536x845.png 1536w\" alt=\"\" width=\"1817\" height=\"999\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f567aea\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h3><b><span data-contrast=\"auto\">Episode 3\u202f: Le grand saut !<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Voici quelques mod\u00e8les courants d\u2019utilisation de sfdx-hardis. Mais avant de vous lancer, certains pr\u00e9requis sont n\u00e9cessaires :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">L\u2019acc\u00e8s \u00e0 un\u00a0<\/span><b><span data-contrast=\"auto\">serveur GIT &amp; CI\/CD<\/span><\/b><span data-contrast=\"auto\">. C\u2019est le serveur qui ex\u00e9cute les scripts pour g\u00e9rer la cha\u00eene CI\/CD. sfdx-hardis est nativement int\u00e9gr\u00e9 avec\u00a0<\/span><a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/\"><span data-contrast=\"none\">Gitlab CI<\/span><\/a><span data-contrast=\"auto\">\u00a0et\u00a0<\/span><a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/devops\/pipelines\"><span data-contrast=\"none\">Azure Pipelines<\/span><\/a><span data-contrast=\"auto\">. Vous pouvez \u00e9galement l\u2019adapter \u00e0\u00a0<\/span><a href=\"https:\/\/github.com\/features\/actions\"><span data-contrast=\"none\">Github Actions<\/span><\/a><span data-contrast=\"auto\">,\u00a0<\/span><a href=\"https:\/\/bitbucket.org\/product\/en\/features\/pipelines\"><span data-contrast=\"none\">Bitbucket Pipelines<\/span><\/a><span data-contrast=\"auto\">\u00a0et\u00a0<\/span><a href=\"https:\/\/www.jenkins.io\/\"><span data-contrast=\"none\">Jenkins ;<\/span><\/a><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">La nomination d\u2019un\u00a0<\/span><b><span data-contrast=\"auto\">Release Manager<\/span><\/b><span data-contrast=\"auto\">, qui a des comp\u00e9tences en\u00a0<\/span><b><span data-contrast=\"auto\">Git<\/span><\/b><span data-contrast=\"auto\">\u00a0et\u00a0<\/span><b><span data-contrast=\"auto\">Salesforce DX ;<\/span><\/b><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">La\u00a0<\/span><b><span data-contrast=\"auto\">volont\u00e9 d\u2019\u00e9voluer<\/span><\/b><span data-contrast=\"auto\">\u00a0: vos \u00e9quipes doivent \u00eatre suffisamment matures pour accepter d\u2019adapter leurs m\u00e9thodes de travail \u00e0 la cha\u00eene d\u2019int\u00e9gration continue, ainsi que de laisser les Change Sets aux oubliettes, dans l\u2019objectif de produire des livrables mieux ma\u00eetris\u00e9s et de meilleure qualit\u00e9.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Maintenant, allons voir comment sfdx-hardis s\u2019applique en fonction de votre r\u00f4le dans l\u2019\u00e9quipe d\u2019un projet Salesforce.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Setup Manager<\/span><\/b><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Release Manager<\/span><\/b><span data-contrast=\"auto\">\u00a0(peut \u00e9galement \u00eatre le Setup Manager)<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Contributeur<\/span><\/b><span data-contrast=\"auto\">\u00a0(consultants fonctionnels et techniques, administrateurs).<\/span><\/li>\n<\/ul>\n<h4><b><span data-contrast=\"auto\">En tant que Setup Manager<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"auto\">Le Setup Manager va\u00a0<\/span><b><span data-contrast=\"auto\">initialiser les \u00e9l\u00e9ments techniques du projet Salesforce CI\/CD<\/span><\/b><span data-contrast=\"auto\">\u00a0(repository Git, strat\u00e9gie de branches, pipeline CI\/CD, authentification entre le serveur CI et les orgs Salesforce\u2026).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Voici un exemple de\u00a0<\/span><b><span data-contrast=\"auto\">strat\u00e9gie de branches avanc\u00e9e<\/span><\/b><span data-contrast=\"auto\">, avec une\u00a0<\/span><b><span data-contrast=\"auto\">gestion parall\u00e8le de BUILD et de RUN<\/span><\/b>\u00a0<b><span data-contrast=\"auto\">pour un projet<\/span><\/b><span data-contrast=\"auto\">, mais selon la complexit\u00e9 de votre besoin, il est \u00e9galement possible de d\u00e9finir une strat\u00e9gie de branches\u00a0<\/span><b><span data-contrast=\"auto\">beaucoup plus simple<\/span><\/b><span data-contrast=\"auto\">\u00a0avec uniquement une pr\u00e9production (branche &amp; org) et une production (branche &amp; org).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f5681df\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334798033_995857684727274_5979630226485590307_n-1.png\" sizes=\"auto, (max-width: 1905px) 100vw, 1905px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334798033_995857684727274_5979630226485590307_n-1.png 1905w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798033_995857684727274_5979630226485590307_n-1-300x140.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798033_995857684727274_5979630226485590307_n-1-1024x477.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798033_995857684727274_5979630226485590307_n-1-768x358.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334798033_995857684727274_5979630226485590307_n-1-1536x715.png 1536w\" alt=\"\" width=\"1905\" height=\"887\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<figure class=\"wp-block-image size-full\">\n<figcaption class=\"wp-element-caption\"><em>Parallel BUILD &amp; RUN strategy<\/em><\/figcaption>\n<\/figure>\n<p><span class=\"TextRun SCXW256447375 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256447375 BCX0\">Toutes les \u00e9tapes de l<\/span><span class=\"NormalTextRun SCXW256447375 BCX0\">\u2019initialisation\u00a0<\/span><span class=\"NormalTextRun SCXW256447375 BCX0\">sont d\u00e9taill\u00e9es dans le\u00a0<\/span><\/span><a class=\"Hyperlink SCXW256447375 BCX0\" href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-setup-home\/\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW256447375 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW256447375 BCX0\" data-ccp-charstyle=\"Hyperlink\">Sfdx<\/span><span class=\"NormalTextRun SCXW256447375 BCX0\" data-ccp-charstyle=\"Hyperlink\">-hardis Setup Guide<\/span><\/span><\/a><span class=\"TextRun SCXW256447375 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW256447375 BCX0\">, incluant\u00a0<\/span><span class=\"NormalTextRun SCXW256447375 BCX0\">des tutoriels et vid\u00e9os.<\/span><\/span><span class=\"EOP SCXW256447375 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334795568_144636845156990_7459152131463015210_n-1.png\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334795568_144636845156990_7459152131463015210_n-1.png 1919w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334795568_144636845156990_7459152131463015210_n-1-300x147.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334795568_144636845156990_7459152131463015210_n-1-1024x501.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334795568_144636845156990_7459152131463015210_n-1-768x376.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334795568_144636845156990_7459152131463015210_n-1-1536x752.png 1536w\" alt=\"\" width=\"1919\" height=\"939\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f56c451\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h4><b><span data-contrast=\"auto\">En tant que release manager<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"auto\">Le r\u00f4le du release manager sera d\u2019<\/span><b><span data-contrast=\"auto\">assister les contributeurs<\/span><\/b><span data-contrast=\"auto\">, de\u00a0<\/span><b><span data-contrast=\"auto\">valider les Merge Requests<\/span><\/b><span data-contrast=\"auto\">\u00a0et de proc\u00e9der aux\u00a0<\/span><b><span data-contrast=\"auto\">d\u00e9ploiements entre les branches majeures<\/span><\/b><span data-contrast=\"auto\">\u00a0(exemples : recette vers pr\u00e9-production, pr\u00e9-production vers production).<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">Toutes les activit\u00e9s du Release Manager sont d\u00e9taill\u00e9es dans le\u00a0<\/span><\/i><a href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-release-home\/\"><i><span data-contrast=\"none\">sfdx-hardis Release Manager Guide<\/span><\/i><\/a><i><span data-contrast=\"auto\">, incluant des tutoriels et vid\u00e9os.<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f56c8a7\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/333911055_249207310771271_4118400636946822155_n-1.png\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/333911055_249207310771271_4118400636946822155_n-1.png 1919w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_333911055_249207310771271_4118400636946822155_n-1-300x147.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_333911055_249207310771271_4118400636946822155_n-1-1024x503.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_333911055_249207310771271_4118400636946822155_n-1-768x377.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_333911055_249207310771271_4118400636946822155_n-1-1536x754.png 1536w\" alt=\"\" width=\"1919\" height=\"942\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f56e524\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h4><b><span data-contrast=\"auto\">En tant que contributeur<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"auto\">Le r\u00f4le des contributeurs est de fournir de\u00a0<\/span><b><span data-contrast=\"auto\">nouvelles fonctionnalit\u00e9s<\/span><\/b><span data-contrast=\"auto\">\u00a0et des\u00a0<\/span><b><span data-contrast=\"auto\">correctifs<\/span><\/b><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Ils travailleront dans des\u00a0<\/span><b><span data-contrast=\"auto\">Sandbox<\/span><\/b><span data-contrast=\"auto\">\u00a0(ou parfois scratch orgs), et utiliseront les\u00a0<\/span><b><span data-contrast=\"auto\">menus interactifs de VsCode SFDX Hardis<\/span><\/b><span data-contrast=\"auto\">\u00a0pour\u202f:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">D\u00e9marrer une nouvelle User Story<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Ouvrir leur sandbox pour y effectuer la configuration et les d\u00e9veloppements<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Rapatrier de leur sandbox les mises \u00e0 jour sous forme de fichiers metadatas<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Pr\u00e9parer les Merge Requests pour publier leurs \u00e9volutions au niveau sup\u00e9rieur<\/span><span data-ccp-props=\"{}\">\u00a0.<\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f56e9c3\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/New-Task-1-1.gif\" alt=\"\" width=\"1280\" height=\"692\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f5708aa\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span class=\"TextRun SCXW238157534 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW238157534 BCX0\">Les\u00a0<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">commandes pour consultants\/<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">admins<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">\u00a0sont simplifi\u00e9es, cependant les\u00a0<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">d\u00e9veloppeurs auront acc\u00e8s \u00e0\u00a0<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">beaucoup\u00a0<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">\u00a0d\u2019<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">actions plus avanc\u00e9es<\/span><span class=\"NormalTextRun SCXW238157534 BCX0\">\u00a0!\u00a0<\/span><\/span><span class=\"EOP SCXW238157534 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334784709_177617355014666_7816894298061828046_n-1.png\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334784709_177617355014666_7816894298061828046_n-1.png 1918w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334784709_177617355014666_7816894298061828046_n-1-300x147.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334784709_177617355014666_7816894298061828046_n-1-1024x502.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334784709_177617355014666_7816894298061828046_n-1-768x377.png 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334784709_177617355014666_7816894298061828046_n-1-1536x754.png 1536w\" alt=\"\" width=\"1918\" height=\"941\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f5754fe\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><i><span data-contrast=\"auto\">Toutes les activit\u00e9s des contributeurs sont d\u00e9taill\u00e9es dans\u00a0<\/span><\/i><a href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-use-home\/\"><i><span data-contrast=\"none\">sfdx-hardis User Guide<\/span><\/i><\/a><i><span data-contrast=\"auto\">, incluant des tutoriels et vid\u00e9os.<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Episode 4\u202f: Que se cache-t-il derri\u00e8re tout \u00e7a\u202f?<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Pas de bo\u00eete noire ou de magie vaudou en arri\u00e8re-plan\u2026 mais des outils simples et robustes, tels que d\u00e9crits dans les sections suivantes.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Plugin Salesforce DX : sfdx-hardis<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">sfdx-hardis est essentiellement un\u00a0<\/span><b><span data-contrast=\"auto\">orchestrateur<\/span><\/b><span data-contrast=\"auto\">\u00a0de<\/span><b><span data-contrast=\"auto\">:<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">commandes<\/span><b><span data-contrast=\"auto\">\u00a0Salesforce DX natives<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">commandes<\/span><b><span data-contrast=\"auto\">\u00a0Git<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">commandes d\u2019<\/span><b><span data-contrast=\"auto\">autres plugins Salesforce DX<\/span><\/b><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Il a \u00e9t\u00e9 con\u00e7u de mani\u00e8re \u00e0\u00a0<\/span><b><span data-contrast=\"auto\">assister les utilisateurs<\/span><\/b><span data-contrast=\"auto\">\u00a0\u00e0 l\u2019aide de\u00a0<\/span><b><span data-contrast=\"auto\">parcours interactifs<\/span><\/b><span data-contrast=\"auto\">\u00a0leur demandant de\u00a0<\/span><b><span data-contrast=\"auto\">r\u00e9pondre \u00e0 des questions<\/span><\/b><span data-contrast=\"auto\">\u00a0et\u00a0<\/span><b><span data-contrast=\"auto\">saisir des valeurs<\/span><\/b><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Les\u00a0<\/span><b><span data-contrast=\"auto\">commandes lanc\u00e9es en arri\u00e8re-plan\u00a0<\/span><\/b><span data-contrast=\"auto\">sont affich\u00e9es\u00a0<\/span><b><span data-contrast=\"auto\">en direct dans les logs du terminal<\/span><\/b><span data-contrast=\"auto\">, afin que les utilisateurs les plus techniques comprennent mieux les actions de l\u2019outillage et montent en comp\u00e9tences sur git et Salesforce DX par la m\u00eame occasion.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Un des grands avantages de l\u2019outillage est qu\u2019il automatise certaines op\u00e9rations fastidieuses, et met \u00e0 jour le XML lorsque cela est n\u00e9cessaire, par exemple :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Mise \u00e0 jour automatique<\/span><\/b><span data-contrast=\"auto\">\u00a0des package.xml et\u00a0<\/span><b><span data-contrast=\"auto\">destructiveChanges.xml<\/span><\/b><span data-contrast=\"auto\">\u00a0avant de commiter (gr\u00e2ce \u00e0\u00a0<\/span><a href=\"https:\/\/github.com\/scolladon\/sfdx-git-delta\"><span data-contrast=\"none\">sfdx-git-delta<\/span><\/a><span data-contrast=\"auto\">\u00a0!)<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Installation automatique des Managed Packages<\/span><\/b><span data-contrast=\"auto\">\u00a0au cours des d\u00e9ploiements<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Import automatique de donn\u00e9es r\u00e9f\u00e9rentielles<\/span><\/b><span data-contrast=\"auto\">\u00a0(ex\u202f: Maps, CPQ) au cours des d\u00e9ploiements (gr\u00e2ce \u00e0\u00a0<\/span><a href=\"https:\/\/github.com\/forcedotcom\/SFDX-Data-Move-Utility\"><span data-contrast=\"none\">sfdmu<\/span><\/a><span data-contrast=\"auto\">\u00a0!)<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-config-cleaning\/#minimize-profiles\"><b><span data-contrast=\"none\">Suppression des permissions sur les profils<\/span><\/b><\/a><span data-contrast=\"auto\">, pour \u00e9viter des soucis futurs en\u00a0<\/span><a href=\"https:\/\/admin.salesforce.com\/blog\/2023\/permissions-updates-learn-moar-spring-23\"><span data-contrast=\"none\">2026 avec leur d\u00e9pr\u00e9ciation<\/span><\/a><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Correction automatique des fichiers XML<\/span><\/b><span data-contrast=\"auto\">\u00a0afin qu\u2019ils puissent \u00eatre d\u00e9ploy\u00e9s sans erreurs<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-config-overwrite\/\"><b><span data-contrast=\"none\">Gestion de l\u2019\u00e9vitement des \u00e9crasements<\/span><\/b><\/a><span data-contrast=\"auto\">\u00a0non souhait\u00e9s d\u2019\u00e9l\u00e9ments dans les orgs cibles de d\u00e9ploiement, lorsqu\u2019il est pr\u00e9vu qu\u2019ils soient directement maintenus en production<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Initialisation des sandboxes et des scratch orgs<\/span><\/b><span data-contrast=\"auto\">\u00a0avec des affectations utilisateur, des scripts Apex, des \u00e9chantillons de donn\u00e9es\u2026<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><a href=\"https:\/\/sfdx-hardis.cloudity.com\/hardis\/scratch\/pull\/\"><b><span data-contrast=\"none\">Enforcement du rapatriement de metadonn\u00e9es<\/span><\/b><\/a><span data-contrast=\"auto\">\u00a0qui ne sont parfois pas d\u00e9tect\u00e9es par le tracking SFDX<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">G\u00e9n\u00e9ration de certificats, d\u00e9ploiement d\u2019une Connected App et d\u00e9finition de variables d\u2019environnement pour\u00a0<\/span><a href=\"https:\/\/sfdx-hardis.cloudity.com\/salesforce-ci-cd-setup-auth\/\"><b><span data-contrast=\"none\">cr\u00e9er une connexion s\u00e9curis\u00e9e entre le serveur CI et les orgs ;<\/span><\/b><\/a><b><\/b><b><\/b><b><\/b><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Instructions compr\u00e9hensibles par un \u00eatre humain<\/span><\/b><span data-contrast=\"auto\">\u00a0pour\u00a0<\/span><a href=\"https:\/\/sfdx-hardis.cloudity.com\/deployTips\/\"><span data-contrast=\"none\">r\u00e9soudre les erreurs de d\u00e9ploiement<\/span><\/a><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Et bien\u00a0<\/span><a href=\"https:\/\/sfdx-hardis.cloudity.com\/commands\/\"><span data-contrast=\"none\">d\u2019autres choses encore<\/span><\/a><span data-contrast=\"auto\">\u00a0!<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">La majorit\u00e9 de la configuration est situ\u00e9e dans un unique fichier YAML dans votre repository, livr\u00e9 avec\u00a0<\/span><a href=\"https:\/\/sfdx-hardis.cloudity.com\/sfdx-hardis-config-file\/\"><span data-contrast=\"none\">une documentation exhaustive<\/span><\/a><span data-contrast=\"auto\">\u00a0ainsi qu\u2019une auto-compl\u00e9tion dans votre IDE. Son contenu est principalement mis \u00e0 jour par les commandes de configuration sfdx-hardis.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Lorsque vous utilisez la commande \u00ab\u202f<\/span><i><span data-contrast=\"auto\">Create sfdx-hardis project<\/span><\/i><span data-contrast=\"auto\">\u202f\u00bb, elle g\u00e9n\u00e8re des pipelines CI\/CD pr\u00eats \u00e0 l\u2019emploi :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Pour Gitlab\u202f:\u00a0<\/span><a href=\"https:\/\/github.com\/hardisgroupcom\/sfdx-hardis\/blob\/main\/defaults\/ci\/.gitlab-ci.yml\"><span data-contrast=\"none\">gitlab-ci.yml<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Pour Azure\u202f:\u00a0<\/span><a href=\"http:\/\/azure-pipelines-checks.yml\/\"><span data-contrast=\"none\">azure-pipelines-checks.yml<\/span><\/a><span data-contrast=\"auto\">,\u00a0<\/span><a href=\"https:\/\/github.com\/hardisgroupcom\/sfdx-hardis\/blob\/main\/defaults\/ci\/azure-pipelines-deployment.yml\"><span data-contrast=\"none\">azure-pipelines-deployment.yml<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f576c25\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334691012_226822183129826_2562061714526842818_n-1.png\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334691012_226822183129826_2562061714526842818_n-1.png 598w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334691012_226822183129826_2562061714526842818_n-1-300x188.png 300w\" alt=\"\" width=\"598\" height=\"375\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f579065\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span data-contrast=\"auto\">Sfdx-hardis fournit \u00e9galement une commande qui permet de cr\u00e9er un\u00a0<\/span><b><span data-contrast=\"auto\">repository additionnel de monitoring<\/span><\/b><span data-contrast=\"auto\">, qui effectuera une\u00a0<\/span><b><span data-contrast=\"auto\">sauvegarde journali\u00e8re de toutes les m\u00e9tadonn\u00e9es<\/span><\/b><span data-contrast=\"auto\">\u00a0de toute org, afin que vous puissiez\u202f:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Tracer de mani\u00e8re fine les mises \u00e0 jour manuelles<\/span><\/b><span data-contrast=\"auto\">\u00a0effectu\u00e9es par les administrateurs en production<\/span><span data-ccp-props=\"{}\">\u00a0;<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Anticiper les probl\u00e8mes<\/span><\/b><span data-contrast=\"auto\">\u00a0li\u00e9s aux futures mises \u00e0 jour de la plateforme Salesforce, comme par exemple la\u00a0<\/span><a href=\"https:\/\/nicolas.vuillamy.fr\/handle-salesforce-api-versions-deprecation-like-a-pro-335065f52238\"><span data-contrast=\"none\">d\u00e9pr\u00e9ciation des anciennes versions des API ;<\/span><\/a><b><\/b><b><\/b><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Comparer\u00a0<\/span><\/b><span data-contrast=\"auto\">le contenu de vos diff\u00e9rentes\u00a0<\/span><b><span data-contrast=\"auto\">orgs majeures.<\/span><\/b><\/li>\n<\/ul>\n<ul>\n<li>\u00a0<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f5795ad\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334059619_723485722786776_5796971651733891523_n-1.png\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334059619_723485722786776_5796971651733891523_n-1.png 975w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334059619_723485722786776_5796971651733891523_n-1-300x97.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334059619_723485722786776_5796971651733891523_n-1-768x248.png 768w\" alt=\"\" width=\"975\" height=\"315\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f57b853\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h3><span data-ccp-props=\"{}\">\u00a0<\/span><b><span data-contrast=\"none\">Extension Visual Studio Code : VsCode SFDX Hardis<\/span><\/b><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">VsCode SFDX Hardis contient principalement un menu permettant de lancer les diff\u00e9rentes commandes, mais aussi :<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"12\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"none\">Une int\u00e9gration entre les lignes de commande sfdx-hardis et l\u2019<\/span><b><span data-contrast=\"none\">interface utilisateur de Visual Studio Code<\/span><\/b><span data-contrast=\"none\">, pour une meilleure exp\u00e9rience utilisateur,\u00a0<\/span><b><span data-contrast=\"none\">avec des clics plut\u00f4t que des lignes de commande.<\/span><\/b><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f57bc86\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/Capture-decran-2023-03-03-a-12.06.17-1.png\" sizes=\"auto, (max-width: 1352px) 100vw, 1352px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/Capture-decran-2023-03-03-a-12.06.17-1.png 1352w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_Capture-decran-2023-03-03-a-12.06.17-1-300x153.png 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_Capture-decran-2023-03-03-a-12.06.17-1-1024x523.png 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_Capture-decran-2023-03-03-a-12.06.17-1-768x392.png 768w\" alt=\"\" width=\"1352\" height=\"690\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f57df4b\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"12\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">La v\u00e9rification de la\u00a0<\/span><b><span data-contrast=\"auto\">pr\u00e9sence<\/span><\/b><span data-contrast=\"auto\">\u00a0et de la\u00a0<\/span><b><span data-contrast=\"auto\">conformit\u00e9<\/span><\/b><span data-contrast=\"auto\">\u00a0des\u00a0<\/span><b><span data-contrast=\"auto\">outils et d\u00e9pendances<\/span><\/b><span data-contrast=\"auto\">\u00a0(Node.js, sfdx-cli, plugins SFDX\u2026), ainsi que des messages visuels pour assister les utilisateurs lorsque des installations ou mises \u00e0 jour sont n\u00e9cessaires.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f57e396\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334742991_714158226863441_4288049806908104254_n-1.png\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/334742991_714158226863441_4288049806908104254_n-1.png 620w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_334742991_714158226863441_4288049806908104254_n-1-300x183.png 300w\" alt=\"\" width=\"620\" height=\"379\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f580ce8\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<h3><span class=\"TextRun MacChromeBold SCXW76533972 BCX0\" lang=\"FR-FR\" xml:lang=\"FR-FR\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW76533972 BCX0\">Episode 5<\/span><span class=\"NormalTextRun SCXW76533972 BCX0\">:\u00a0<\/span><span class=\"NormalTextRun SCXW76533972 BCX0\">A vous de jouer<\/span><span class=\"NormalTextRun SCXW76533972 BCX0\">\u202f!<\/span><\/span><span class=\"EOP SCXW76533972 BCX0\" data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<\/div>\n<\/div>\n<div class=\"img-with-aniamtion-wrap \" data-max-width=\"100%\" data-max-width-mobile=\"default\" data-shadow=\"none\" data-animation=\"none\">\n<div class=\"inner\">\n<div class=\"hover-wrap\">\n<div class=\"hover-wrap-inner\"><img loading=\"lazy\" decoding=\"async\" class=\"img-with-animation skip-lazy \" src=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/20230111-Cloudity-Banweb-LK-1584x396px-1.jpg\" sizes=\"auto, (max-width: 1584px) 100vw, 1584px\" srcset=\"http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/20230111-Cloudity-Banweb-LK-1584x396px-1.jpg 1584w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_20230111-Cloudity-Banweb-LK-1584x396px-1-300x75.jpg 300w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_20230111-Cloudity-Banweb-LK-1584x396px-1-1024x256.jpg 1024w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_20230111-Cloudity-Banweb-LK-1584x396px-1-768x192.jpg 768w, http:\/\/cloudity.com\/wp-content\/uploads\/2026\/01\/1_20230111-Cloudity-Banweb-LK-1584x396px-1-1536x384.jpg 1536w\" alt=\"\" width=\"1584\" height=\"396\" data-delay=\"0\" data-animation=\"none\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"fws_6970c7f582f0e\" class=\"wpb_row vc_row-fluid vc_row\" data-column-margin=\"default\" data-midnight=\"dark\">\n<div class=\"row-bg-wrap\" data-bg-animation=\"none\" data-bg-animation-delay=\"\" data-bg-overlay=\"false\">\n<div class=\"inner-wrap row-bg-layer\">\n<div class=\"row-bg viewport-desktop\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"row_col_wrap_12 col span_12 dark left\">\n<div class=\"vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone \" data-padding-pos=\"all\" data-has-bg-color=\"false\" data-bg-color=\"\" data-bg-opacity=\"1\" data-animation=\"\" data-delay=\"0\">\n<div class=\"vc_column-inner\">\n<div class=\"wpb_wrapper\">\n<div class=\"wpb_text_column wpb_content_element \">\n<div class=\"wpb_wrapper\">\n<p><span data-contrast=\"auto\">Comme nous l\u2019utilisons avec succ\u00e8s sur\u00a0<\/span><b><span data-contrast=\"auto\">de nombreux projets clients<\/span><\/b><span data-contrast=\"auto\">, nous consid\u00e9rons que notre suite open-source pour g\u00e9rer les projets en CI\/CD est\u00a0<\/span><b><span data-contrast=\"auto\">suffisamment mature<\/span><\/b><span data-contrast=\"auto\">\u00a0pour \u00eatre officiellement\u00a0<\/span><b><span data-contrast=\"auto\">partag\u00e9e avec la communaut\u00e9 des trailblazers<\/span><\/b><span data-contrast=\"auto\">\u00a0!<\/span><\/p>\n<p><span data-contrast=\"auto\">Il s\u2019agit de l\u2019humble pr\u00e9sent de\u00a0<\/span><a href=\"https:\/\/cloudity.com\/fr\/\"><span data-contrast=\"none\">Cloudity<\/span><\/a><span data-contrast=\"auto\">\u00a0\u00e0 l\u2019Ohana Salesforce : tout ce que nous demandons en retour, c\u2019est du\u00a0<\/span><b><span data-contrast=\"auto\">feedback<\/span><\/b><span data-contrast=\"auto\">, et peut-\u00eatre quelques\u00a0<\/span><a href=\"https:\/\/github.com\/hardisgroupcom\/sfdx-hardis\"><b><span data-contrast=\"none\">Github Stars\u00a0<img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/svg\/1f642.svg\" alt=\"\ud83d\ude42\" \/><\/span><\/b><\/a><\/p>\n<p><span data-contrast=\"auto\">Les\u00a0<\/span><b><span data-contrast=\"auto\">Pull Requests<\/span><\/b><span data-contrast=\"auto\">\u00a0sont bien \u00e9videmment les\u00a0<\/span><b><span data-contrast=\"auto\">bienvenues<\/span><\/b><span data-contrast=\"auto\">\u00a0pour tous ceux qui souhaitent\u00a0<\/span><b><span data-contrast=\"auto\">participer \u00e0 cette belle aventure<\/span><\/b><span data-contrast=\"auto\">, et cela m\u00eame si vous \u00eates un concurrent, car c\u2019est ainsi que fonctionne la communaut\u00e9 open-source :\u00a0<\/span><b><span data-contrast=\"auto\">chacun apporte sa pierre \u00e0 l\u2019\u00e9difice et tout le monde en profite\u202f<\/span><\/b><span data-contrast=\"auto\"><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/svg\/1f60a.svg\" alt=\"\ud83d\ude0a\" \/><\/span><\/p>\n<p><span data-contrast=\"auto\">Remerciements particuliers \u00e0 :<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"12\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><a href=\"https:\/\/www.linkedin.com\/in\/vernonkeenan\/\"><span data-contrast=\"none\">Vernon<\/span><\/a><span data-contrast=\"none\">\u00a0Keenan<\/span><span data-contrast=\"auto\">\u00a0pour m\u2019avoir donn\u00e9 l\u2019opportunit\u00e9 de poster sur\u00a0<\/span><a href=\"https:\/\/salesforcedevops.net\/\"><span data-contrast=\"none\">salesforcedevops.net<\/span><\/a><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"12\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Calibri&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Maxime Guenego, Cl\u00e9ment Fernandez, Remy Vultaggio Focher &amp; Fabien Taillon pour les relectures.<\/span><\/li>\n<\/ul>\n<p><a href=\"https:\/\/salesforcedevops.net\/index.php\/2023\/03\/01\/sfdx-hardis-open-source-salesforce-release-management\/\"><i><span data-contrast=\"none\">Cet article a \u00e9t\u00e9 originalement post\u00e9 en anglais sur salesforcedevops.net, le site de r\u00e9f\u00e9rence du DevOps dans l\u2019\u00e9cosyst\u00e8me Salesforce<\/span><\/i><\/a><\/p>\n<\/div>\n<p>\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"SFDX-HARDIS \u2013 A demo with Nicolas Vuillamy from Cloudity\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/qP6MaZUGzik?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Si je vous dis\u2026\u00a0Change Sets, qu\u2019est-ce que \u00e7a \u00e9voque chez vous\u202f?\u00a0 Si vous venez de faire une\u00a0grimace, alors continuez cet article.\u00a0\u00a0 Pourquoi est-ce que dans toutes les technos on pourrait g\u00e9rer nos projets en maitrisant le cycle de vie de notre application, sauf avec Salesforce, \u00e0 part en prenant des licences additionnelles qui coutent un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10124,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"SFDX-HARDIS : une suite open-source compl\u00e8te\u2026 - Cloudity","_seopress_titles_desc":"Si je vous dis\u2026\u00a0Change Sets, qu\u2019est-ce que \u00e7a \u00e9voque chez vous\u202f?\u00a0 Si vous venez de faire une\u00a0grimace, alors continuez cet article.\u00a0\u00a0 Pourquoi est-ce\u2026","_seopress_robots_index":"","footnotes":""},"categories":[213],"tags":[185],"class_list":["post-10392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","tag-open-source"],"acf":[],"_links":{"self":[{"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/posts\/10392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/comments?post=10392"}],"version-history":[{"count":0,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/posts\/10392\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/media\/10124"}],"wp:attachment":[{"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/media?parent=10392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/categories?post=10392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudity.com\/fr\/wp-json\/wp\/v2\/tags?post=10392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}