{"id":37349,"date":"2020-05-19T16:34:39","date_gmt":"2020-05-19T14:34:39","guid":{"rendered":"http:\/\/arcadsoftware.com\/?p=37349"},"modified":"2026-03-18T10:53:52","modified_gmt":"2026-03-18T08:53:52","slug":"tests-unitaires-vaincre-la-dette-technique","status":"publish","type":"post","link":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/","title":{"rendered":"Tests unitaires : Vaincre la dette technique"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><h3 style=\"text-align: center; margin-top: 10px; margin-bottom: 20px; font-size: 15px; --fontSize: 15; line-height: 1.3; --minFontSize: 15;\" data-fontsize=\"15\" data-lineheight=\"19.5px\" class=\"fusion-responsive-typography-calculated\">Par Olenka Van Schendel <\/h3>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:25px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.88%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-2\"><p>Sur les syst\u00e8mes modernes et distribu\u00e9s, les tests unitaires sont sans doute l&#8217;\u00e9l\u00e9ment le plus efficace de votre strat\u00e9gie de test. Une batterie de tests unitaires bien con\u00e7us &#8220;impose&#8221; la qualit\u00e9 de votre application au fur et \u00e0 mesure de son d\u00e9veloppement &#8211; et id\u00e9alement m\u00eame avant.\u00a0 Les \u00e9l\u00e9ments des tests unitaires sont ensuite r\u00e9utilis\u00e9s en continu pendant toute la dur\u00e9e de vie de l&#8217;application afin de d\u00e9tecter toute r\u00e9gression dans le syst\u00e8me.<\/p>\n<p>Mais comment les tests unitaires peuvent-ils profiter aux applications existantes sur IBM i &#8211; et en particulier \u00e0 celles qui n&#8217;ont pas \u00e9t\u00e9 con\u00e7ues dans une optique &#8220;unitaire&#8221;, et o\u00f9 le code monolithique a toujours \u00e9t\u00e9 la norme ?<\/p>\n<p>Dans cet article, nous examinerons l&#8217;importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.<\/p>\n<\/div><div class=\"fusion-text fusion-text-3 summary\"><h2 class=\"fusion-responsive-typography-calculated\" style=\"text-align: center; --fontsize: 18; line-height: 1.2; --minfontsize: 18;\" data-fontsize=\"18\" data-lineheight=\"21.6px\">Sommaire<\/h2>\n<ol>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#La-qualite-a-partir-de-la-quantite\">La qualit\u00e9 \u00e0 partir de la quantit\u00e9<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#Classification-des-defauts\">Classification des d\u00e9fauts<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#detecter-les-erreurs-le-plus-tot-possible\">&#8220;Shift Left&#8221; &#8211; d\u00e9tecter les erreurs le plus t\u00f4t possible<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#un-code-atomique-propre\">Un code &#8220;atomique&#8221; propre<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#Qu-en-est-il-de-l-IBM-i\">Qu&#8217;en est-il de l&#8217;IBM i ?<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#L-importance-de-l-automatisation-des-tests-sur-IBM-i\">L&#8217;importance de l&#8217;automatisation des tests sur IBM i<\/a><\/li>\n<li><a class=\"fusion-one-page-text-link\" href=\"\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#Garantir-l-adoption-des-tests-unitaires-par-les-developpeurs\">Garantir l&#8217;adoption des tests unitaires par les d\u00e9veloppeurs<\/a><\/li>\n<li>La diff\u00e9rence avec Arcad i Unit<\/li>\n<li>Conclusion<\/li>\n<\/ol>\n<\/div><div class=\"fusion-text fusion-text-4\"><div class=\"fusion-menu-anchor\" id=\"La-qualite-a-partir-de-la-quantite\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>1. La qualit\u00e9 \u00e0 partir de la quantit\u00e9<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-37347\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-300x215.png\" alt=\"\" width=\"300\" height=\"215\" srcset=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-200x143.png 200w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-300x214.png 300w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-400x286.png 400w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-600x429.png 600w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-768x550.png 768w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-800x572.png 800w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1-1024x733.png 1024w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Unit-Testing-Quality-from-Quantity-1.png 1167w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Les tests unitaires sont souvent n\u00e9glig\u00e9s au profit de techniques plus orient\u00e9es &#8220;business&#8221; comme les tests fonctionnels ou de bout en bout.  <b>Les tests unitaires prennent un temps pr\u00e9cieux aux d\u00e9veloppeurs<\/b>, surtout sur une base de code ancien comme IBM i qui n&#8217;est pas particuli\u00e8rement structur\u00e9 en &#8220;unit\u00e9s&#8221;.  Alors comment un test unitaire par &#8220;bo\u00eete blanche&#8221;, sans connaissance des fonctionnalit\u00e9s r\u00e9elles de l&#8217;application, peut-il sauvegarder la qualit\u00e9 et la pr\u00e9cision de votre syst\u00e8me, sans parler de la r\u00e9duction de vos co\u00fbts de d\u00e9veloppement ?<\/p>\n<p><b>La solution r\u00e9side dans la quantit\u00e9 et la couverture des tests.<\/b><\/p>\n<p><b>Les tests unitaires impliquent la cr\u00e9ation d&#8217;une multitude de petits cas de tests tr\u00e8s simples. <\/b> Chaque test isole une section particuli\u00e8re du code (comme une proc\u00e9dure, un sous-programme, un bloc conditionnel), d\u00e9finissant le succ\u00e8s ou l&#8217;\u00e9chec en termes de valeurs attendues des param\u00e8tres de sortie pour une entr\u00e9e donn\u00e9e.  L&#8217;ex\u00e9cution du test est ensuite stock\u00e9e comme &#8220;ligne de base&#8221;, et les tests ult\u00e9rieurs sont \u00e9valu\u00e9s par rapport \u00e0 ce r\u00e9sultat.  Cela rend les tests unitaires tr\u00e8s efficaces pour d\u00e9tecter les r\u00e9gressions dans le syst\u00e8me.  Ils peuvent \u00eatre r\u00e9utilis\u00e9s, regroup\u00e9s et ex\u00e9cut\u00e9s dans le cadre d&#8217;une suite \u00e0 tout moment, par exemple apr\u00e8s chaque build du syst\u00e8me, apr\u00e8s un changement d&#8217;environnement, ou avant qu&#8217;un composant particulier ne soit transf\u00e9r\u00e9 aux testeurs QA.  Les tests unitaires cr\u00e9\u00e9s au d\u00e9but de la phase de d\u00e9veloppement peuvent \u00eatre utilis\u00e9s plus tard comme &#8220;smoke test&#8221; d&#8217;une application, afin de d\u00e9tecter les erreurs basiques et \u00e9viter de perdre du temps avec des tests plus sophistiqu\u00e9s.<\/p>\n<\/p>\n<div class=\"fusion-menu-anchor\" id=\"Classification-des-defauts\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>2. Classification des d\u00e9fauts<\/strong><\/h2>\n<p>En effet, <b>les classifications de d\u00e9fauts typiques r\u00e9v\u00e8lent que les d\u00e9fauts des logiciels peuvent \u00eatre attribu\u00e9s \u00e0 une grande vari\u00e9t\u00e9 de causes, notamment<\/b> :<\/p>\n<ul>\n<li>Erreurs dans la sp\u00e9cification, la conception et la mise en \u0153uvre du logiciel et du syst\u00e8me<\/li>\n<li>Erreurs dans l&#8217;utilisation du syst\u00e8me<\/li>\n<li>\n<div>Anomalies dans l&#8217;environnement<\/div>\n<\/li>\n<li>Dommages intentionnels<\/li>\n<li>Cons\u00e9quences potentielles des erreurs ant\u00e9rieures<\/li>\n<\/ul>\n<p>Des enqu\u00eates r\u00e9centes ont montr\u00e9 que jusqu\u2019\u00e0 <b>55 % des d\u00e9fauts sont dus \u00e0 des erreurs pr\u00e9sentes dans le cahier des charges.<\/b><\/p>\n<p>Il a \u00e9galement \u00e9t\u00e9 observ\u00e9 qu&#8217;environ <b>40 % du temps d&#8217;un testeur est consacr\u00e9 aux anomalies d&#8217;environnement<\/b>, ce qui a un impact important sur la qualit\u00e9 et la productivit\u00e9.<\/p>\n<p>Les nombreuses causes &#8220;p\u00e9riph\u00e9riques&#8221; des d\u00e9fauts signifient que les co\u00fbts globaux des tests peuvent \u00eatre consid\u00e9rablement r\u00e9duits en r\u00e9utilisant les cas de tests unitaires dans les &#8220;smoke tests&#8221;, avant d&#8217;entreprendre des tests de syst\u00e8mes co\u00fbteux \u00e0 grande \u00e9chelle.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-37346\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-300x242.png\" alt=\"\" width=\"300\" height=\"242\" srcset=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-177x142.png 177w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-200x162.png 200w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-300x242.png 300w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-400x323.png 400w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-600x485.png 600w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-768x620.png 768w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1-800x646.png 800w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/typical-defect-classification-1.png 952w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:25px;--awb-padding-left:40px;--awb-bg-color:rgba(232,232,232,0.38);--awb-bg-color-hover:rgba(232,232,232,0.38);--awb-bg-size:cover;--awb-border-color:#ea5050;--awb-border-left:7px;--awb-border-style:solid;--awb-width-large:66.666666666667%;--awb-margin-top-large:45px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5 fusion-text-no-margin\" style=\"--awb-margin-bottom:5px;\"><p><strong>D\u00e9couvrez comment ARCAD for DevOps permet de contr\u00f4ler les co\u00fbts et d\u2019acc\u00e9l\u00e9rer les d\u00e9ploiements d\u2019applications dans des environnements technologiques h\u00e9t\u00e9rog\u00e8nes.<\/strong><\/p>\n<\/div><div style=\"text-align:right;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-1 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:#ea5050;--button_border_color:#ea5050;--button_accent_hover_color:#437cb4;--button_border_hover_color:#437cb4;--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/www.arcadsoftware.fr\/arcad\/resource-items\/arcad-for-enterprise-devops-datasheet-fr\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">T\u00e9l\u00e9charger la datasheet<\/span><i class=\"fa-arrow-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:25px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.88%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-6\"><div class=\"fusion-menu-anchor\" id=\"detecter-les-erreurs-le-plus-tot-possible\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>3. &#8220;Shift Left&#8221; &#8211; d\u00e9tecter les erreurs le plus t\u00f4t possible<\/strong><\/h2>\n<p>Les tests unitaires ne sont qu&#8217;une des nombreuses techniques des d\u00e9veloppeurs qui permettent de d\u00e9tecter les d\u00e9fauts le plus t\u00f4t possible dans le cycle de d\u00e9veloppement. Outre l&#8217;analyse statique du code, l&#8217;examen du code par les pairs, l&#8217;analyse de la couverture du code et d&#8217;autres pratiques,<b> les tests unitaires permettent de d\u00e9tecter les erreurs le plus t\u00f4t possible,<\/b> au moment o\u00f9 elles sont le moins co\u00fbteuses.<\/p>\n<p>L&#8217;investissement en temps du d\u00e9veloppeur pour cr\u00e9er le test dans un premier temps peut \u00eatre compens\u00e9 par l&#8217;automatisation du processus de cr\u00e9ation. L&#8217;essentiel est de se concentrer sur des cas d&#8217;utilisation typiques qui affectent le comportement du syst\u00e8me. La combinaison de &#8220;happy path&#8221; et de &#8220;edge cases&#8221; rend les tests unitaires encore plus efficaces.<\/p>\n<p><b>Utilis\u00e9s en continu dans un cycle CI\/CD, les tests unitaires permettent de d\u00e9terminer pr\u00e9cis\u00e9ment dans quelles lignes de code se trouve le d\u00e9faut<\/b>. Les bugs sont corrig\u00e9s avant m\u00eame qu&#8217;ils ne quittent les mains du d\u00e9veloppeur !<\/p>\n<\/p>\n<div class=\"fusion-menu-anchor\" id=\"un-code-atomique-propre\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>4. Un code \u2018atomique\u2019 propre<\/strong><\/h2>\n<p>Plus de <b>90 % des co\u00fbts de d\u00e9veloppement de logiciels sont consacr\u00e9s \u00e0 la maintenance des syst\u00e8mes existants<\/b>. La cr\u00e9ation de tests unitaires au fur et \u00e0 mesure que vous d\u00e9veloppez du code am\u00e9liore la conception du code et le rend plus facile \u00e0 comprendre par les \u00e9quipes de d\u00e9veloppement futures. En plus d&#8217;\u00eatre plus fiable, le code test\u00e9 \u00e0 l&#8217;unit\u00e9 est plus simple, plus modulaire et donc plus facilement r\u00e9utilisable. Cela permet de r\u00e9duire la dette technique et de diminuer les co\u00fbts de d\u00e9veloppement \u00e0 long terme.<\/p>\n<p>Dans sa forme extr\u00eame, le &#8220;Test Driven Development&#8221; apporte une clart\u00e9 suppl\u00e9mentaire m\u00eame lors de la d\u00e9finition des pr\u00e9requis en cr\u00e9ant des tests avant le code lui-m\u00eame.<\/p>\n<\/p>\n<div class=\"fusion-menu-anchor\" id=\"Qu-en-est-il-de-l-IBM-i\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>5. Qu&#8217;en est-il de l&#8217;IBM i ?<\/strong><\/h2>\n<p>Les applications IBM i modernes con\u00e7ues avec une architecture ILE s\u00e9parent d\u00e9j\u00e0 les r\u00e8gles de gestion, la persistance des donn\u00e9es et l&#8217;interface utilisateur en modules ou fonctions distincts, ce qui facilite grandement l&#8217;automatisation des tests unitaires. Les points d&#8217;entr\u00e9e et de sortie d&#8217;un module sont clairs, de sorte qu&#8217;il est relativement facile de d\u00e9finir un \u00e9tat &#8220;r\u00e9ussite\/\u00e9chec&#8221;.<\/p>\n<p>Cependant, de nombreuses applications sur IBM i contiennent encore des sections de code source qui ont \u00e9t\u00e9 d\u00e9velopp\u00e9es il y a 40 ans et qui sont &#8220;trop importantes pour \u00eatre touch\u00e9es&#8221;. Cela cr\u00e9e une situation tr\u00e8s pr\u00e9caire dans laquelle le risque et le co\u00fbt de la refonte du code monolithique ou spaghetti en unit\u00e9s ou modules sont tr\u00e8s \u00e9lev\u00e9s. Oui, le prix \u00e0 payer pour ne rien faire doit \u00eatre d\u00e9pass\u00e9 par une approche plus agile. Heureusement, les tests unitaires cr\u00e9ent le filet de s\u00e9curit\u00e9 dont vous avez besoin lorsque vous modularisez votre code existant. En g\u00e9n\u00e9rant et en relan\u00e7ant des tests unitaires sur des applications &#8221; back-end &#8221; au fur et \u00e0 mesure que vous les modifiez, vous vous assurez que les d\u00e9ploiements pr\u00e9c\u00e9dents fonctionnent toujours lorsqu&#8217;ils sont combin\u00e9s \u00e0 de nouvelles fonctionnalit\u00e9s.<\/p>\n<p><b>Ce type de technique de &#8220;Test Driven Maintenance&#8221; (TDM) permet d&#8217;effectuer des tests unitaires \u00e0 la demande et par lots,<\/b> comme une sorte de syst\u00e8me d&#8217;alerte pr\u00e9coce pour emp\u00eacher l&#8217;apparition de r\u00e9gressions lorsque vous &#8220;d\u00e9m\u00ealez&#8221; votre ancien code.<\/p>\n<p>Pour \u00eatre pleinement adopt\u00e9e par les d\u00e9veloppeurs, <b>toute fonctionnalit\u00e9 de test unitaire sur IBM i doit \u00eatre int\u00e9gr\u00e9e dans l&#8217;environnement de d\u00e9veloppement RDi, et aussi avec des outils standards tels que Jenkins et JUnit pour encourager le partage des outils entre les \u00e9quipes multi-technologiques.<\/b> Les meilleures solutions de tests unitaires sur IBM i peuvent automatiser \u00e0 la fois la cr\u00e9ation et l&#8217;ex\u00e9cution des cas de test, en utilisant la technologie d&#8217;analyse syntaxique pour rechercher les param\u00e8tres et leurs types de donn\u00e9es et identifier rapidement toutes les entr\u00e9es et sorties du programme test\u00e9. La connaissance des r\u00e9f\u00e9rences crois\u00e9es et des d\u00e9pendances permet \u00e9galement de g\u00e9rer les cas de test et de r\u00e9utiliser les cas entre les versions.<\/p>\n<\/p>\n<div class=\"fusion-menu-anchor\" id=\"L-importance-de-l-automatisation-des-tests-sur-IBM-i\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>6. L&#8217;importance de l&#8217;automatisation des tests sur IBM i<\/strong><\/h2>\n<p>Il existe encore quelques cas extr\u00eames o\u00f9 les applications IBM i ne peuvent pas \u00eatre facilement remani\u00e9es et o\u00f9 le co\u00fbt\/temps de restructuration du code est prohibitif.<\/p>\n<p>Dans ce cas, l&#8217;automatisation des tests fonctionnels est la meilleure option. Les cas de test sont cr\u00e9\u00e9s automatiquement lorsque les utilisateurs ex\u00e9cutent les fonctions de l&#8217;application \u00e0 partir de l&#8217;interface utilisateur standard. Contrairement aux tests unitaires o\u00f9 l&#8217;environnement de donn\u00e9es sous-jacent est dynamique, les donn\u00e9es de test fonctionnel sont statiques et restaur\u00e9es avant chaque ex\u00e9cution de test afin de d\u00e9tecter les r\u00e9gressions par simple comparaison des donn\u00e9es, sortie spool et interface utilisateur. Il n&#8217;y a pas de notion de succ\u00e8s ou d&#8217;\u00e9chec, seulement des <em>diff\u00e9rences<\/em>.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-37345\" src=\"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-1024x435.png\" alt=\"\" width=\"765\" height=\"325\" srcset=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-200x85.png 200w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-300x128.png 300w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-400x170.png 400w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-600x255.png 600w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-768x327.png 768w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-800x340.png 800w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-940x400.png 940w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-1024x435.png 1024w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1-1200x510.png 1200w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/test-automation-1.png 1385w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/p>\n<p>Bien s\u00fbr, une strat\u00e9gie de test optimale combine \u00e0 la fois une automatisation des tests unitaires et des tests fonctionnels pour minimiser le temps moyen de r\u00e9paration (MTTR) des d\u00e9fauts dans leur ensemble. La r\u00e9utilisation et le partage des cas de test \u00e9vitent une perte de temps co\u00fbteuse pour le d\u00e9veloppeur et font des tests une activit\u00e9 continue, partie int\u00e9grante du cycle global CI\/CD.<\/p>\n<\/p>\n<div class=\"fusion-menu-anchor\" id=\"Garantir-l-adoption-des-tests-unitaires-par-les-developpeurs\"><\/div>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>7. Garantir l&#8217;adoption des tests unitaires par les d\u00e9veloppeurs<\/strong><\/h2>\n<p>En conclusion, <b>nous avons vu que les tests unitaires facilitent un style de test \u00ab bottom-up \u00bb, en validant les parties individuelles d&#8217;un programme avant de tester la &#8220;somme de ses parties&#8221; <\/b>&#8211; une approche qui anticipe les d\u00e9fauts restants et r\u00e9duit l&#8217;effort des tests d&#8217;int\u00e9gration ult\u00e9rieurs.<\/p>\n<p>Les tests unitaires agissent comme une sorte de &#8220;documentation vivante&#8221; du syst\u00e8me, permettant une compr\u00e9hension rapide de l&#8217;interface d&#8217;une unit\u00e9. Dans le cas d&#8217;un \u00ab Test Driven Development \u00bb, ils peuvent m\u00eame remplacer une sp\u00e9cification d\u00e9taill\u00e9e.<\/p>\n<p>Cependant, les tests unitaires doivent \u00eatre effectu\u00e9s en parall\u00e8le avec d&#8217;autres formes de tests, car ils ne permettent pas de d\u00e9tecter les erreurs au niveau du syst\u00e8me ou les erreurs fonctionnelles, ni les aspects non fonctionnels tels que les performances.<\/p>\n<p><b>Le principal d\u00e9fi des tests unitaires est la cr\u00e9ation de tests r\u00e9alistes et utiles<\/b>, afin d&#8217;\u00e9tablir les conditions initiales pertinentes qui refl\u00e8tent l&#8217;ex\u00e9cution normale d&#8217;une application. Plus important encore, les tests unitaires doivent \u00eatre maintenus en parall\u00e8le avec le processus de changement d&#8217;application lui-m\u00eame, afin de garantir que les tests impact\u00e9s soient maintenus \u00e0 jour et ex\u00e9cut\u00e9s pour chaque changement de code d\u00e9pendant. <b>Pour faciliter la maintenance des tests unitaires, il doit \u00eatre facile de r\u00e9-identifier les nouveaux champs d&#8217;entr\u00e9e et de sortie \u00e0 mesure que l&#8217;application \u00e9volue.<\/b> Sinon, les tests unitaires peuvent devenir aussi bogu\u00e9s que le code qu&#8217;ils sont cens\u00e9s tester !<\/p>\n<p><b>Pour surmonter ces difficult\u00e9s, les tests unitaires doivent \u00eatre hautement automatis\u00e9s et faire partie int\u00e9grante du cycle de livraison continu :<\/b><\/p>\n<ul>\n<li>D\u00e9tection automatique des entr\u00e9es et des sorties pour automatiser la cr\u00e9ation de tests r\u00e9alistes\/utiles<\/li>\n<li>Int\u00e9gration des tests unitaires dans le processus de contr\u00f4le de version<\/li>\n<li>Auto-ex\u00e9cutions des tests en tant que partie continue du flux CI\/CD<\/li>\n<li>R\u00e9utilisation des actifs des tests unitaires pour chaque changement de programme<\/li>\n<li>Maintenance\/mise \u00e0 jour des tests unitaires en fonction des d\u00e9pendances<\/li>\n<\/ul>\n<p>En r\u00e9sum\u00e9, les essais unitaires sont tr\u00e8s b\u00e9n\u00e9fiques mais imposent une certaine rigueur, n\u00e9cessitant une automatisation maximale pour une adoption \u00e0 long terme !<\/p>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>8. La diff\u00e9rence avec Arcad i unit<\/strong><\/h2>\n<p><a href=\"\/arcad\/produits\/arcad-i-unit-test-unitaire-ibm-i\/\" target=\"_blank\" rel=\"noopener noreferrer\">ARCAD iUnit<\/a> a \u00e9t\u00e9 con\u00e7u pour maximiser l&#8217;automatisation tout au long du processus de test unitaire sur IBM i. En tant que tel, il peut m\u00eame \u00eatre utilis\u00e9 par des d\u00e9veloppeurs qui ont peu ou pas de connaissances de l&#8217;application \u00e0 tester.<\/p>\n<p>Tout ce dont ARCAD iUnit a besoin pour commencer \u00e0 travailler est un nom de biblioth\u00e8que. Il en d\u00e9coule un r\u00e9f\u00e9rentiel de connaissances sur les objets contenus dans la biblioth\u00e8que, utilis\u00e9 pour aider le d\u00e9veloppeur \u00e0 chaque \u00e9tape du processus.<\/p>\n<p>Une fois qu&#8217;ARCAD iUnit a analys\u00e9 le contenu de la biblioth\u00e8que, l&#8217;outil guide le d\u00e9veloppeur dans la cr\u00e9ation et l&#8217;ex\u00e9cution des tests \u00e0 partir d&#8217;une interface graphique facile \u00e0 utiliser. <b>Toutes les t\u00e2ches les plus fastidieuses sont enti\u00e8rement automatis\u00e9es, telles que :<\/b><\/p>\n<ul>\n<li>l&#8217;identification de toutes les proc\u00e9dures d&#8217;un programme et de leurs param\u00e8tres d&#8217;entr\u00e9e\/sortie<\/li>\n<li>la d\u00e9finition des r\u00e9sultats attendus<\/li>\n<li>obtention\/r\u00e9glage de valeurs<\/li>\n<li>marquage\/suivi des variables<\/li>\n<li>ex\u00e9cution des tests &#8211; individuellement ou en tant que suite<\/li>\n<li>exportation de tests vers JUnit<\/li>\n<li>&#8216;mocking&#8217; de base de donn\u00e9es, pour injecter des donn\u00e9es dans une table avant l&#8217;ex\u00e9cution du test<\/li>\n<li>&#8216;mocking&#8217; d&#8217;un programme, pour changer le comportement par d\u00e9faut du programme<\/li>\n<li>ex\u00e9cution de projet &#8220;libre&#8221;, pour g\u00e9rer les programmes manquants<\/li>\n<li>int\u00e9gration avec plusieurs outils d&#8217;automatisation : Jenkins, Azure Pipelines, CloudBees, GitLab CI&#8230;<\/li>\n<\/ul>\n<p>L&#8217;introduction de ce niveau d&#8217;automatisation fait avancer le d\u00e9veloppement d&#8217;applications IBM i dans le monde DevOps &#8220;continu&#8221; qui est caract\u00e9ristique sur les syst\u00e8mes distribu\u00e9s &#8211; avec tous les avantages que cela apporte en termes de fiabilit\u00e9 de l&#8217;application, de retour sur investissement, d&#8217;\u00e9limination de la dette technique ou encore de continuit\u00e9 de l&#8217;activit\u00e9 pour en nommer quelques-uns.<\/p>\n<h2 data-fontsize=\"40\" data-lineheight=\"48px\" class=\"fusion-responsive-typography-calculated\" style=\"--fontSize: 40; line-height: 1.2;\"><strong>9. Conclusion<\/strong><\/h2>\n<p>En bref, les tests unitaires sont un maillon indispensable et souvent manquant du d\u00e9veloppement logiciel sur IBM i.<\/p>\n<p><b>Les tests unitaires automatis\u00e9s peuvent rendre un pipeline DevSecOps sur IBM i v\u00e9ritablement continu<\/b> &#8211; avec des avantages mesurables en termes de qualit\u00e9, de vitesse et de co\u00fbt.<\/p>\n<p>Pourtant, l&#8217;adoption des tests unitaires et le taux de retour d\u00e9pendent du degr\u00e9 d&#8217;automatisation offert par l&#8217;outil de test unitaire. Pour obtenir un portail de qualit\u00e9 s\u00e9curis\u00e9, seuls les outils capables de d\u00e9charger TOUTES les t\u00e2ches de cr\u00e9ation de tests de routine du d\u00e9veloppeur avec suffisamment de flexibilit\u00e9 pour s&#8217;adapter \u00e0 un environnement changeant, seront adopt\u00e9s \u00e0 long terme. En ce qui concerne l&#8217;IBM i, <a href=\"\/arcad\/produits\/arcad-i-unit-test-unitaire-ibm-i\/\">ARCAD iUnit<\/a> apporte un niveau d&#8217;automatisation sans pr\u00e9c\u00e9dent et un ROI prouv\u00e9, quelle que soit la variante de langage utilis\u00e9e.<\/p>\n<\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:25px;--awb-padding-left:40px;--awb-bg-color:rgba(232,232,232,0.38);--awb-bg-color-hover:rgba(232,232,232,0.38);--awb-bg-size:cover;--awb-border-color:#ea5050;--awb-border-left:7px;--awb-border-style:solid;--awb-width-large:66.666666666667%;--awb-margin-top-large:45px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-7 fusion-text-no-margin\" style=\"--awb-margin-bottom:5px;\"><p><strong>Vos tests unitaires sont fastidieux ou incomplets? Automatisez-les avec ARCAD iUnit!<\/strong><\/p>\n<\/div><div style=\"text-align:right;\"><a class=\"fusion-button button-flat button-xlarge button-custom fusion-button-default button-2 fusion-button-span-no fusion-button-default-type\" style=\"--button_accent_color:#ea5050;--button_border_color:#ea5050;--button_accent_hover_color:#437cb4;--button_border_hover_color:#437cb4;--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button-border-radius-top-left:0px;--button-border-radius-top-right:0px;--button-border-radius-bottom-right:0px;--button-border-radius-bottom-left:0px;--button_gradient_top_color:rgba(255,255,255,0);--button_gradient_bottom_color:rgba(255,255,255,0);--button_gradient_top_color_hover:rgba(255,255,255,0);--button_gradient_bottom_color_hover:rgba(255,255,255,0);\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"\/arcad\/resource-items\/arcad-iunit-fr\/\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">T\u00e9l\u00e9charger la datasheet<\/span><i class=\"fa-arrow-right fas awb-button__icon awb-button__icon--default button-icon-right\" aria-hidden=\"true\"><\/i><\/a><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:30px;--awb-margin-top:45px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-padding-top:25px;--awb-padding-right:25px;--awb-padding-bottom:25px;--awb-padding-left:25px;--awb-bg-color:var(--awb-color1);--awb-bg-color-hover:var(--awb-color1);--awb-bg-size:cover;--awb-box-shadow:2px 1px 4px 0px rgba(33,41,52,0.41);;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-builder-row fusion-builder-row-inner fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"--awb-flex-grow:0;--awb-flex-grow-medium:0;--awb-flex-grow-small:0;--awb-flex-shrink:0;--awb-flex-shrink-medium:0;--awb-flex-shrink-small:0;width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-0 fusion_builder_column_inner_1_5 1_5 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:20%;--awb-margin-top-large:0px;--awb-spacing-right-large:0%;--awb-margin-bottom-large:5px;--awb-spacing-left-large:9.6%;--awb-width-medium:20%;--awb-order-medium:0;--awb-spacing-right-medium:0%;--awb-spacing-left-medium:9.6%;--awb-width-small:20%;--awb-order-small:0;--awb-spacing-right-small:0%;--awb-margin-bottom-small:0px;--awb-spacing-left-small:9.6%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element \" style=\"--awb-max-width:130px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\" style=\"border-radius:50px;\"><img decoding=\"async\" width=\"250\" height=\"250\" alt=\"Olenka Van schendel\" title=\"olenka-van-schendel\" src=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2026\/03\/olenka-van-schendel.png\" class=\"img-responsive wp-image-75388\" srcset=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2026\/03\/olenka-van-schendel-200x200.png 200w, https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2026\/03\/olenka-van-schendel.png 250w\" sizes=\"(max-width: 640px) 100vw, 250px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column_inner fusion-builder-nested-column-1 fusion_builder_column_inner_4_5 4_5 fusion-flex-column fusion-flex-align-self-flex-start\" style=\"--awb-padding-left:5px;--awb-bg-size:cover;--awb-width-large:80%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.4%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:2.4%;--awb-width-medium:80%;--awb-order-medium:0;--awb-spacing-right-medium:2.4%;--awb-spacing-left-medium:2.4%;--awb-width-small:80%;--awb-order-small:0;--awb-margin-top-small:0px;--awb-spacing-right-small:2.4%;--awb-spacing-left-small:2.4%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:rgba(48,135,120,0.59);--awb-margin-top:0px;--awb-margin-bottom:7px;--awb-margin-top-small:0px;--awb-margin-bottom-small:0px;--awb-font-size:13px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;Poppins&quot;;font-style:normal;font-weight:500;margin:0;font-size:1em;--fontSize:13;--minFontSize:13;line-height:1.2;\">\u00c0 propos de l&#8217;auteur<\/h2><\/div><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-margin-top-small:0px;--awb-margin-bottom-small:0px;--awb-font-size:22px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;Poppins&quot;;font-style:normal;font-weight:600;margin:0;font-size:1em;--fontSize:22;--minFontSize:22;line-height:1.3;\">Olenka Van Schendel<\/h3><\/div><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-four\" style=\"--awb-text-color:var(--awb-color5);--awb-margin-top:0px;--awb-margin-bottom:5px;--awb-margin-top-small:0px;--awb-margin-bottom-small:10px;--awb-font-size:16px;\"><h4 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"font-family:&quot;Poppins&quot;;font-style:normal;font-weight:400;margin:0;font-size:1em;--fontSize:16;--minFontSize:16;line-height:1.36;\"><span style=\"font-size: 1em; background-color: rgba(0, 0, 0, 0);\">VP Marketing &amp; Business Development<\/span>, ARCAD Software<\/h4><\/div><div class=\"fusion-text fusion-text-8 fusion-text-no-margin\" style=\"--awb-font-size:14px;--awb-line-height:1.4;--awb-margin-bottom:0px;--awb-text-font-family:&quot;Poppins&quot;;--awb-text-font-style:normal;--awb-text-font-weight:400;\"><p>Avec plus de 30 ans d&#8217;exp\u00e9rience dans le domaine informatique, Olenka a d\u00e9but\u00e9 dans le domaine de l&#8217;intelligence artificielle et du traitement du langage naturel, travaillant comme ing\u00e9nieure logicielle principalement sur Unix. Elle s&#8217;est rapidement sp\u00e9cialis\u00e9e dans le d\u00e9veloppement d&#8217;outils logiciels int\u00e9gr\u00e9s, notamment des compilateurs, des d\u00e9bogueurs, des syst\u00e8mes de gestion de code source et des environnements de d\u00e9veloppement. Aujourd&#8217;hui concentr\u00e9e sur le d\u00e9veloppement commercial \u00e0 l&#8217;\u00e9chelle mondiale au sein du groupe ARCAD Software, elle reste profond\u00e9ment engag\u00e9e dans les outils DevSecOps, cherchant \u00e0 combler le foss\u00e9 entre le monde IBM i et mainframe et les piles de d\u00e9veloppement modernes.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div>\n<\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-text fusion-text-9\"><\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous examinerons l&#8217;importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.<\/p>\n","protected":false},"author":3,"featured_media":37348,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[246],"tags":[569,552],"class_list":["post-37349","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-fr","tag-blog","tag-devops-pour-ibm-i"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tests unitaires : Vaincre la dette technique - ARCAD<\/title>\n<meta name=\"description\" content=\"Dans cet article, nous examinerons l&#039;importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tests unitaires : Vaincre la dette technique - ARCAD\" \/>\n<meta property=\"og:description\" content=\"Dans cet article, nous examinerons l&#039;importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/\" \/>\n<meta property=\"og:site_name\" content=\"ARCAD\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-19T14:34:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-18T08:53:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1959\" \/>\n\t<meta property=\"og:image:height\" content=\"721\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"administrator\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"administrator\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/\"},\"author\":{\"name\":\"administrator\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/ac3c33678907c9c414148df7a202dfbf\"},\"headline\":\"Tests unitaires : Vaincre la dette technique\",\"datePublished\":\"2020-05-19T14:34:39+00:00\",\"dateModified\":\"2026-03-18T08:53:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/\"},\"wordCount\":3932,\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/Beating-Technical-Debt-1.png\",\"keywords\":[\"blog\",\"DevOps pour IBM i\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/\",\"name\":\"Tests unitaires : Vaincre la dette technique - ARCAD\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/Beating-Technical-Debt-1.png\",\"datePublished\":\"2020-05-19T14:34:39+00:00\",\"dateModified\":\"2026-03-18T08:53:52+00:00\",\"description\":\"Dans cet article, nous examinerons l'importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/Beating-Technical-Debt-1.png\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/Beating-Technical-Debt-1.png\",\"width\":1959,\"height\":721,\"caption\":\"Beating Technical Debt\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.fr\\\/arcad\\\/infos-et-evenements\\\/blog-fr\\\/tests-unitaires-vaincre-la-dette-technique\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"ARCAD\",\"item\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tests unitaires : Vaincre la dette technique\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#website\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"name\":\"ARCAD\",\"description\":\"Experts DevOps &amp; Modernisation sur IBM i (alias AS\\\/400 ou AS400)\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#organization\",\"name\":\"ARCAD Software\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"contentUrl\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/arcad-group-logo-text-144.png\",\"width\":144,\"height\":200,\"caption\":\"ARCAD Software\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pages\\\/Arcad-Software\\\/116086138469235\",\"https:\\\/\\\/x.com\\\/arcad_software\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/arcad-software\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/ARCADSoftwareInc\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/#\\\/schema\\\/person\\\/ac3c33678907c9c414148df7a202dfbf\",\"name\":\"administrator\",\"url\":\"https:\\\/\\\/www.arcadsoftware.com\\\/arcad\\\/author\\\/administrator\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tests unitaires : Vaincre la dette technique - ARCAD","description":"Dans cet article, nous examinerons l'importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/","og_locale":"en_US","og_type":"article","og_title":"Tests unitaires : Vaincre la dette technique - ARCAD","og_description":"Dans cet article, nous examinerons l'importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.","og_url":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/","og_site_name":"ARCAD","article_publisher":"https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","article_published_time":"2020-05-19T14:34:39+00:00","article_modified_time":"2026-03-18T08:53:52+00:00","og_image":[{"width":1959,"height":721,"url":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png","type":"image\/png"}],"author":"administrator","twitter_misc":{"Written by":"administrator","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#article","isPartOf":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/"},"author":{"name":"administrator","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/ac3c33678907c9c414148df7a202dfbf"},"headline":"Tests unitaires : Vaincre la dette technique","datePublished":"2020-05-19T14:34:39+00:00","dateModified":"2026-03-18T08:53:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/"},"wordCount":3932,"publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"image":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png","keywords":["blog","DevOps pour IBM i"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/","url":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/","name":"Tests unitaires : Vaincre la dette technique - ARCAD","isPartOf":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#primaryimage"},"image":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#primaryimage"},"thumbnailUrl":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png","datePublished":"2020-05-19T14:34:39+00:00","dateModified":"2026-03-18T08:53:52+00:00","description":"Dans cet article, nous examinerons l'importance des tests unitaires en g\u00e9n\u00e9ral et \u00e9valuerons la pertinence de cette technique sur IBM i.","breadcrumb":{"@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#primaryimage","url":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png","contentUrl":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-content\/uploads\/2020\/05\/Beating-Technical-Debt-1.png","width":1959,"height":721,"caption":"Beating Technical Debt"},{"@type":"BreadcrumbList","@id":"https:\/\/www.arcadsoftware.fr\/arcad\/infos-et-evenements\/blog-fr\/tests-unitaires-vaincre-la-dette-technique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"ARCAD","item":"https:\/\/www.arcadsoftware.com\/arcad\/"},{"@type":"ListItem","position":2,"name":"Tests unitaires : Vaincre la dette technique"}]},{"@type":"WebSite","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#website","url":"https:\/\/www.arcadsoftware.com\/arcad\/","name":"ARCAD","description":"Experts DevOps &amp; Modernisation sur IBM i (alias AS\/400 ou AS400)","publisher":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.arcadsoftware.com\/arcad\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#organization","name":"ARCAD Software","url":"https:\/\/www.arcadsoftware.com\/arcad\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/","url":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","contentUrl":"https:\/\/www.arcadsoftware.com\/arcad\/wp-content\/uploads\/2017\/09\/arcad-group-logo-text-144.png","width":144,"height":200,"caption":"ARCAD Software"},"image":{"@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/Arcad-Software\/116086138469235","https:\/\/x.com\/arcad_software","https:\/\/www.linkedin.com\/company\/arcad-software","https:\/\/www.youtube.com\/user\/ARCADSoftwareInc"]},{"@type":"Person","@id":"https:\/\/www.arcadsoftware.com\/arcad\/#\/schema\/person\/ac3c33678907c9c414148df7a202dfbf","name":"administrator","url":"https:\/\/www.arcadsoftware.com\/arcad\/author\/administrator\/"}]}},"_links":{"self":[{"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/posts\/37349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/comments?post=37349"}],"version-history":[{"count":4,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/posts\/37349\/revisions"}],"predecessor-version":[{"id":75467,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/posts\/37349\/revisions\/75467"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/media\/37348"}],"wp:attachment":[{"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/media?parent=37349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/categories?post=37349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arcadsoftware.fr\/arcad\/wp-json\/wp\/v2\/tags?post=37349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}