{"id":1026,"date":"2023-09-25T14:17:54","date_gmt":"2023-09-25T12:17:54","guid":{"rendered":"https:\/\/www.lena-it.fr\/?p=1026"},"modified":"2023-09-22T14:24:26","modified_gmt":"2023-09-22T12:24:26","slug":"devops-comparaison-des-principaux-outils-dintegration-ci-cd","status":"publish","type":"post","link":"https:\/\/www.lena-it.fr\/index.php\/2023\/09\/25\/devops-comparaison-des-principaux-outils-dintegration-ci-cd\/","title":{"rendered":"DevOps\u202f: Comparaison des principaux outils d&rsquo;int\u00e9gration CI\/CD\u00a0"},"content":{"rendered":"\n[et_pb_section fb_built=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.21.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb da_disable_devices=\u00a0\u00bboff|off|off\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb da_is_popup=\u00a0\u00bboff\u00a0\u00bb da_exit_intent=\u00a0\u00bboff\u00a0\u00bb da_has_close=\u00a0\u00bbon\u00a0\u00bb da_alt_close=\u00a0\u00bboff\u00a0\u00bb da_dark_close=\u00a0\u00bboff\u00a0\u00bb da_not_modal=\u00a0\u00bbon\u00a0\u00bb da_is_singular=\u00a0\u00bboff\u00a0\u00bb da_with_loader=\u00a0\u00bboff\u00a0\u00bb da_has_shadow=\u00a0\u00bbon\u00a0\u00bb][et_pb_row _builder_version=\u00a0\u00bb4.20.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb width=\u00a0\u00bb100%\u00a0\u00bb max_width=\u00a0\u00bb100%\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.20.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Articles-de-Blog.png\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb hover_enabled=\u00a0\u00bb0&Prime; sticky_enabled=\u00a0\u00bb0&Prime; alt=\u00a0\u00bbArticles de Blog\u00a0\u00bb title_text=\u00a0\u00bbArticles de Blog\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" style=\"margin: 0cm; vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">Dans le monde de l&rsquo;informatique moderne, le d\u00e9veloppement logiciel a vu son cycle de mise en production passer de plusieurs mois \u00e0 quelques jours, voire parfois quelques heures, n\u00e9cessitant une compl\u00e8te refonte de ses m\u00e9canismes d&rsquo;int\u00e9gration afin de garantir un minimum de qualit\u00e9. Ce bouleversement a donn\u00e9 naissance \u00e0 un nouveau m\u00e9tier, le DevOps, qui vise \u00e0 mettre en place des outils et des m\u00e9thodologies am\u00e9liorant la collaboration entre les \u00e9quipes de d\u00e9veloppement et d&rsquo;exploitation gr\u00e2ce \u00e0 des comp\u00e9tences techniques pointues. L&rsquo;objectif ultime du DevOps est de livrer des logiciels de mani\u00e8re plus rapide et plus fiable gr\u00e2ce \u00e0 une automatisation et une orchestration avanc\u00e9e d&rsquo;un ensemble de t\u00e2ches.<o:p><\/o:p><\/span><\/p>\n<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">L&rsquo;une des pierres angulaires de la pratique DevOps est l&rsquo;int\u00e9gration continue (CI) et le d\u00e9ploiement continu (CD), qui automatisent et rationalisent le processus de livraison des applications. Dans cet article, nous explorerons certains outils d&rsquo;int\u00e9gration CI\/CD disponibles en mettant l&rsquo;accent sur leurs points forts, donnant ainsi aux entreprises quelques cl\u00e9s pour s\u00e9lectionner l&rsquo;outil qui leur convient le mieux.<\/span><\/p>\n<p><o:p><\/o:p><\/p>\n<h2 class=\"paragraph\" style=\"margin: 0cm; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><span style=\"font-family: 'Calibri',sans-serif;\">Qu&rsquo;est-ce que l&rsquo;int\u00e9gration continue et le d\u00e9ploiement continu ?<\/span><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/h2>\n<p class=\"paragraph\" style=\"margin: 0cm; vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">L&rsquo;int\u00e9gration continue (CI) repr\u00e9sente une \u00e9tape cruciale de la m\u00e9thodologie DevOps, impliquant l&rsquo;automatisation avanc\u00e9e des processus de d\u00e9veloppement logiciel. Lorsqu&rsquo;un d\u00e9veloppeur fusionne son code dans un r\u00e9f\u00e9rentiel partag\u00e9 (GIT, SVN ou Mercurial), il d\u00e9clenche \u00e0 travers un orchestrateur tel que Jenkins, Travis CI ou GitLab tout un ensemble d&rsquo;actions. Ces outils d&rsquo;orchestration vont automatiquement d\u00e9clencher la compilation du code, ex\u00e9cuter des tests unitaires, r\u00e9aliser une analyse de qualit\u00e9, et enfin produire le livrable.<o:p><\/o:p><\/span><\/p>\n<ul><\/ul>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-dun-cycle-CI-classique-1-1.png\u00a0\u00bb alt=\u00a0\u00bbExemple d&rsquo;un cycle CI classique \u00a0\u00bb title_text=\u00a0\u00bbExemple d&rsquo;un cycle CI classique\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple d&rsquo;un cycle CI classique<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\"><br \/>Afin de configurer et maintenir cette m\u00e9canique d&rsquo;automatisation, il est n\u00e9cessaire de mettre en place une (voire plusieurs) configuration de build. L&rsquo;\u00e9criture de ces scripts sera r\u00e9alis\u00e9e en fonction des technologies de d\u00e9veloppement utilis\u00e9es. Chacune de ces \u00e9tapes est d\u00e9pendante des autres ; par exemple, si la phase de compilation \u00e9choue, le cycle s&rsquo;arr\u00eate, ne passant pas par les phases 3, 4 et 5.<o:p><\/o:p><\/span><\/p>\n<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">Le d\u00e9ploiement continu (CD) repr\u00e9sente la suite du cycle CI. Il va se charger d&rsquo;automatiser toute la m\u00e9canique de d\u00e9ploiement des applications dans des environnements vari\u00e9s, passant de celui de test \u00e0 la production, incluant souvent la pr\u00e9-exploitation. Pour cette phase, il est capital d&rsquo;avoir de solides comp\u00e9tences techniques en mati\u00e8re de gestion d&rsquo;infrastructures et d&rsquo;orchestration de conteneurs. En association, des outils comme Kubernetes, Ansible et Terraform sont couramment utilis\u00e9s pour piloter et automatiser cette partie. Les comp\u00e9tences techniques associ\u00e9es comprennent la cr\u00e9ation de fichiers de configuration pour d\u00e9ployer des applications dans des conteneurs, la mise en place d&rsquo;une politique de gestion de la scalabilit\u00e9, une strat\u00e9gie de gestion des versions pour garantir la coh\u00e9rence des d\u00e9ploiements en production, et une homog\u00e9n\u00e9it\u00e9 dans la mise en place des environnements.<o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-dun-cycle-DC-classique-.png\u00a0\u00bb alt=\u00a0\u00bbExemple d&rsquo;un cycle DC classique \u00a0\u00bb title_text=\u00a0\u00bbExemple d&rsquo;un cycle DC classique\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb custom_margin=\u00a0\u00bb0px||11px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple d&rsquo;un cycle DC classique<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<ol><\/ol>\n<p>En somme, le CI\/CD sont des piliers de la m\u00e9thodologie DevOps. Les professionnels qualifi\u00e9s sont capables de mettre en place ces processus complexes de mani\u00e8re efficace, garantissant ainsi une qualit\u00e9 constante du code, une livraison plus rapide des fonctionnalit\u00e9s et une r\u00e9duction des risques par rapport \u00e0 un d\u00e9ploiement manuel.<\/p>\n<p><span>\u00a0<\/span><\/p>\n<h2><span><strong>Les principaux outils d&rsquo;int\u00e9gration CI\/CD<\/strong><\/span><span>\u00a0<\/span><\/h2>\n<p>Il existe une pl\u00e9thore d&rsquo;outils d&rsquo;int\u00e9gration CI\/CD disponibles sur le march\u00e9, chacun ayant ses propres caract\u00e9ristiques et avantages. En voici quelques-uns :<\/p>\n<p><span>\u00a0<\/span><\/p>\n<h3><span><strong>Jenkins (enfant de Hudson)<\/strong><\/span><span>\u00a0<\/span><\/h3>\n<p>Historiquement, Jenkins fait partie des premiers outils d&rsquo;int\u00e9gration CI\/CD et est encore assez r\u00e9pandu. Il offre une grande flexibilit\u00e9 gr\u00e2ce \u00e0 sa large gamme de plugins et \u00e0 sa capacit\u00e9 \u00e0 s&rsquo;int\u00e9grer avec de nombreux outils. Jenkins permet de configurer des pipelines d&rsquo;int\u00e9gration et de d\u00e9ploiement \u00e0 l&rsquo;aide d&rsquo;une interface web en mode clic ou plus s\u00e9rieusement via des scripts (Jenkinsfile).<br \/><span>\u00a0<\/span><\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-de-linterface-web-de-creation-dun-Pipeline-Jenkins-.png\u00a0\u00bb alt=\u00a0\u00bbExemple de l&rsquo;interface web de cr\u00e9ation d&rsquo;un Pipeline Jenkins \u00a0\u00bb title_text=\u00a0\u00bbExemple de l&rsquo;interface web de cre\u0301ation d&rsquo;un Pipeline Jenkins\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple de l&rsquo;interface web de cr\u00e9ation d&rsquo;un Pipeline Jenkins<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb25px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p>Jenkins est gratuit et open source, c&rsquo;est une application web Java qui peut \u00eatre d\u00e9ploy\u00e9e dans tous les environnements, y compris dans un conteneur Docker. Il peut g\u00e9rer tous types de projets, du projet classique Java en passant par des projets Cobol ou .Net. Du c\u00f4t\u00e9 de la s\u00e9curit\u00e9, il est possible de cr\u00e9er des coffres-forts o\u00f9 stocker des informations que seuls les administrateurs de l&rsquo;outil pourront modifier. Il n&rsquo;y a pas vraiment de limite \u00e0 ce que Jenkins peut faire, cependant, son interface est assez lourde en termes d&rsquo;utilisation. Certains plugins, souvent indispensables, peuvent ne plus \u00eatre maintenus, rendant son utilisation \u00e0 long terme probl\u00e9matique.<span>\u00a0<br \/><br \/><\/span><\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-dhistorique-de-lancement-dun-CI-dans-Jenkins-.png\u00a0\u00bb alt=\u00a0\u00bbExemple d&rsquo;historique de lancement d&rsquo;un CI dans Jenkins \u00a0\u00bb title_text=\u00a0\u00bbExemple d&rsquo;historique de lancement d&rsquo;un CI dans Jenkins\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple d&rsquo;historique de lancement d&rsquo;un CI dans Jenkins<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb header_3_font=\u00a0\u00bbLora||||||||\u00a0\u00bb custom_margin=\u00a0\u00bb25px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<h3 class=\"paragraph\" style=\"margin: 0cm; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><span style=\"font-family: 'Calibri',sans-serif;\">GitLab CI\/CD<\/span><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/h3>\n<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">Int\u00e9gr\u00e9 directement \u00e0 la plateforme de gestion de code GitLab, GitLab CI\/CD facilite la configuration des pipelines d&rsquo;int\u00e9gration et de d\u00e9ploiement.<o:p><\/o:p><\/span><\/p>\n<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">Reconnu comme le leader des outils DevOps en 2023 par le Magic Quadrant, il permet aux \u00e9quipes de d\u00e9finir des \u00e9tapes sp\u00e9cifiques en utilisant un fichier de configuration d\u00e9fini dans le r\u00e9f\u00e9rentiel (.gitlab-ci.yml).<o:p><\/o:p><\/span><\/p>\n<p class=\"paragraph\" style=\"vertical-align: baseline;\"><span style=\"font-family: 'Calibri',sans-serif;\">Comme on peut s&rsquo;en douter, le langage utilis\u00e9 par ce script est le YAML. Son \u00e9criture peut demander beaucoup de temps, entre 1 et 5 jours ouvrables selon les projets et le nombre d&rsquo;\u00e9tapes d\u00e9sir\u00e9es.<br \/><br \/><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-de-fichier-.gitlab-ci.yml-.png\u00a0\u00bb alt=\u00a0\u00bbExemple de fichier .gitlab-ci.yml \u00a0\u00bb title_text=\u00a0\u00bbExemple de fichier .gitlab-ci.yml\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple de fichier .gitlab-ci.yml<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb header_3_font=\u00a0\u00bbLora||||||||\u00a0\u00bb custom_margin=\u00a0\u00bb25px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p>Tout comme ses concurrents, il est possible de cr\u00e9er des coffres-forts o\u00f9 stocker des informations que seuls les administrateurs de l&rsquo;outil pourront modifier. GitLab a un p\u00e9rim\u00e8tre d&rsquo;utilisation et d&rsquo;action plus large que Jenkins, son cycle de maintenance est aussi beaucoup plus rapide et fiable.<\/p>\n<p>Contrairement \u00e0 Jenkins, GitLab est un logiciel payant (il existe tout de m\u00eame une version gratuite limit\u00e9e). On peut l&rsquo;installer dans son SI (ou dans un conteneur), mais son utilisation classique se fait le plus souvent via un abonnement directement sur <a href=\"https:\/\/gitlab.com\/\">https:\/\/gitlab.com<\/a>. Le prix varie en fonction du nombre de collaborateurs, mais aussi du temps pris par le lancement des cycles de CI\/CD. Il est donc important d&rsquo;optimiser ses cycles ici afin de ne pas payer plus que n\u00e9cessaire.<\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Exemple-de-monitoring-de-pipeline-dans-GitLab-.png\u00a0\u00bb alt=\u00a0\u00bbExemple de monitoring de pipeline dans GitLab \u00a0\u00bb title_text=\u00a0\u00bbExemple de monitoring de pipeline dans GitLab\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p class=\"paragraph\" align=\"center\" style=\"margin: 0cm; text-align: center; vertical-align: baseline;\"><span class=\"normaltextrun\"><b><i><span style=\"font-family: 'Calibri',sans-serif;\">Exemple de monitoring de pipeline dans GitLab<\/span><\/i><\/b><\/span><span class=\"eop\"><span style=\"font-family: 'Calibri',sans-serif;\">\u00a0<\/span><\/span><span style=\"font-family: 'Calibri',sans-serif;\"><o:p><\/o:p><\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb header_3_font=\u00a0\u00bbLora||||||||\u00a0\u00bb custom_margin=\u00a0\u00bb25px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<h3><span><strong>Travis CI<\/strong><\/span><span>\u00a0<\/span><\/h3>\n<p>Travis CI est un outil d&rsquo;int\u00e9gration CI\/CD qui se concentre sur la simplicit\u00e9 et la facilit\u00e9 d&rsquo;utilisation. Autrefois open source, il est aujourd&rsquo;hui payant et a \u00e9t\u00e9 particuli\u00e8rement populaire pour les projets li\u00e9s \u00e0 la plateforme GitHub. Les configurations de pipeline sont d\u00e9finies dans un fichier .travis.yml dans le r\u00e9f\u00e9rentiel.<\/p>\n<p>Son utilisation et son fonctionnement sont assez proches de Jenkins, avec une interface beaucoup plus fluide et conviviale. Son approche payante lui permet aussi d&rsquo;assurer un meilleur suivi dans le temps. L&rsquo;\u00e9criture du fichier en YAML est tr\u00e8s proche de la syntaxe utilis\u00e9e par GitLab.<span>\u00a0<\/span><\/p>\n<p><span><\/span><\/p>\n<h3><span><strong>CircleCI<\/strong><\/span><span>\u00a0<\/span><\/h3>\n<p>CircleCI est une plateforme d&rsquo;int\u00e9gration CI\/CD payante qui offre une configuration simplifi\u00e9e via un fichier de configuration appel\u00e9 .circleci\/config.yml. Elle prend en charge l&rsquo;int\u00e9gration avec plusieurs services cloud et offre des options d&rsquo;ex\u00e9cution parall\u00e8le pour acc\u00e9l\u00e9rer les processus.<\/p>\n<p>La cr\u00e9ation d&rsquo;un pipeline sur CircleCI implique la d\u00e9finition des \u00e9tapes cl\u00e9s telles que la compilation, les tests, le d\u00e9ploiement, et la gestion des d\u00e9pendances dans le fichier .circleci\/config.yml. CircleCI offre \u00e9galement des fonctionnalit\u00e9s avanc\u00e9es, notamment l&rsquo;int\u00e9gration transparente avec plusieurs services cloud tels qu&rsquo;AWS, Google Cloud, et Azure, pour le d\u00e9ploiement et la gestion des infrastructures.<\/p>\n<p><span>\u00a0<\/span><\/p>\n<h3><span><strong>TeamCity<\/strong><\/span><span>\u00a0<\/span><\/h3>\n<p>TeamCity, d\u00e9velopp\u00e9 par l&rsquo;\u00e9diteur JetBrains, offre une solution d&rsquo;int\u00e9gration CI\/CD puissante avec une interface utilisateur conviviale. Il prend en charge la cr\u00e9ation de pipelines complexes et offre une int\u00e9gration transparente avec les outils JetBrains, notamment IntelliJ et PhpStorm, pour citer les plus connus.<br \/><br \/><\/p>[\/et_pb_text][et_pb_image src=\u00a0\u00bbhttps:\/\/www.lena-it.fr\/wp-content\/uploads\/2023\/09\/Screenshot-de-TeamCity-source-https-www.jetbrains.comfr-frteamcity-.png\u00a0\u00bb alt=\u00a0\u00bbScreenshot de TeamCity (source https:\/\/www.jetbrains.com\/fr-fr\/teamcity\/) \u00a0\u00bb title_text=\u00a0\u00bbScreenshot de TeamCity (source https-::www.jetbrains.com:fr-fr:teamcity:)\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb][\/et_pb_image][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p style=\"text-align: center;\"><span><strong><em>Screenshot de TeamCity (source https:\/\/www.jetbrains.com\/fr-fr\/teamcity\/)<\/em><\/strong><\/span><span>\u00a0<\/span><\/p>[\/et_pb_text][et_pb_text ul_item_indent=\u00a0\u00bb30px\u00a0\u00bb ol_position=\u00a0\u00bboutside\u00a0\u00bb ol_item_indent=\u00a0\u00bb30px\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.2&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb16px\u00a0\u00bb header_2_text_color=\u00a0\u00bb#386759&Prime; header_2_font_size=\u00a0\u00bb22px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.6em\u00a0\u00bb header_3_font=\u00a0\u00bbLora||||||||\u00a0\u00bb custom_margin=\u00a0\u00bb25px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb theme_builder_area=\u00a0\u00bbpost_content\u00a0\u00bb]<p>Il existe beaucoup d&rsquo;autres solutions dont nous n&rsquo;avons pas parl\u00e9 ici, telles qu&rsquo;Azure DevOps, Bitbucket CI\/CD (g\u00e9r\u00e9 par Atlassian, la soci\u00e9t\u00e9 \u00e9ditant Jira), ou m\u00eame GitHub Actions. Cette liste d&rsquo;outils change chaque ann\u00e9e, n&rsquo;h\u00e9sitez pas \u00e0 remettre en question vos choix d&rsquo;outils en fonction des \u00e9volutions de votre SI.<\/p>\n<p><span>\u00a0<\/span><\/p>\n<h2><span><strong>Crit\u00e8res de choix<\/strong><\/span><span>\u00a0<\/span><\/h2>\n<p>Le choix d&rsquo;un outil d&rsquo;int\u00e9gration CI\/CD d\u00e9pend d&rsquo;un grand nombre de crit\u00e8res, dont les plus classiques sont :<\/p>\n<ul>\n<li>Le budget : faut-il payer par utilisateur, projet, temps d&rsquo;utilisation, forfait annuel, etc.<\/li>\n<li>Les types de projets : Java, .NET, Angular, Cobol, etc.<\/li>\n<li>Les besoins : faire des cycles complets, partiels, c\u00f4t\u00e9 d\u00e9veloppement, c\u00f4t\u00e9 production, etc.<\/li>\n<li>L&rsquo;infrastructure actuelle : souhaitez-vous tout en interne, tout dans le cloud, avec des conteneurs, etc.<\/li>\n<li>Les comp\u00e9tences de vos \u00e9quipes actuelles : d\u00e9butantes, interm\u00e9diaires, expertes, etc.<span><\/span><\/li>\n<\/ul>\n<p>D&rsquo;autres points \u00e0 prendre en compte sont les suivants :<\/p>\n<ul>\n<li><strong>Complexit\u00e9 de configuration :<\/strong> Il est essentiel de consid\u00e9rer la complexit\u00e9 de la configuration requise par chaque outil. Certains, comme Travis CI, sont connus pour leur simplicit\u00e9, tandis que d&rsquo;autres, comme Jenkins, offrent plus de flexibilit\u00e9 dans les pipelines mais pr\u00e9sentent une plus grande complexit\u00e9 de configuration.<\/li>\n<li><strong>Int\u00e9gration avec d&rsquo;autres outils :<\/strong> Si votre \u00e9quipe utilise d\u00e9j\u00e0 des outils sp\u00e9cifiques pour la gestion de projets, la surveillance, le stockage des artefacts, etc., assurez-vous que l&rsquo;outil CI\/CD que vous choisissez s&rsquo;int\u00e8gre facilement avec ces outils. Les comp\u00e9tences techniques ici incluent la configuration d&rsquo;int\u00e9grations et la gestion des API.<\/li>\n<li><strong>\u00c9volutivit\u00e9 :<\/strong> Pensez \u00e0 l&rsquo;\u00e9volutivit\u00e9 de votre projet et de votre \u00e9quipe. L&rsquo;outil doit \u00eatre capable de s&rsquo;adapter \u00e0 la croissance du projet. Cela peut impliquer la gestion de clusters d&rsquo;agents (par exemple, dans Jenkins) ou la planification de ressources dans le cloud (comme dans CircleCI ou AWS CodePipeline).<\/li>\n<li><strong>Facilit\u00e9 d&rsquo;utilisation :<\/strong> Si votre \u00e9quipe est nouvelle dans le domaine DevOps, la facilit\u00e9 d&rsquo;utilisation devient cruciale. Des outils comme GitLab CI\/CD sont souvent consid\u00e9r\u00e9s comme plus conviviaux pour les d\u00e9butants. Cependant, la ma\u00eetrise des concepts fondamentaux du CI\/CD reste essentielle, quelle que soit l&rsquo;interface.<\/li>\n<li><strong>Co\u00fbt :<\/strong> Les mod\u00e8les de tarification varient consid\u00e9rablement. Certains outils proposent des options gratuites, tandis que d&rsquo;autres n\u00e9cessitent des abonnements payants. Comprenez les co\u00fbts associ\u00e9s \u00e0 l&rsquo;utilisation de chaque outil, en tenant compte du nombre de builds, du stockage des artefacts et des fonctionnalit\u00e9s premium. Les comp\u00e9tences ici concernent la gestion budg\u00e9taire et l&rsquo;\u00e9valuation des co\u00fbts d&rsquo;exploitation.<\/li>\n<\/ul>\n<p><span>\u00a0<\/span><\/p>\n<p>En conclusion, le choix d&rsquo;un outil d&rsquo;int\u00e9gration CI\/CD d\u00e9pend de multiples facteurs, tous importants et sp\u00e9cifiques \u00e0 votre entreprise. Les comp\u00e9tences techniques varient en fonction de l&rsquo;outil choisi, et m\u00eame en fonction de sa version, mais quel que soit votre choix, un grand nombre de fondamentaux demeurent importants, tels que la ma\u00eetrise :<\/p>\n<ul>\n<li>des configurations de pipeline,<\/li>\n<li>de la gestion des ressources,<\/li>\n<li>de la s\u00e9curisation des acc\u00e8s,<\/li>\n<li>du monitoring.<\/li>\n<\/ul>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Dans le monde de l&rsquo;informatique moderne, le d\u00e9veloppement logiciel a vu son cycle de mise en production passer de plusieurs mois \u00e0 quelques jours, voire parfois quelques heures, n\u00e9cessitant une compl\u00e8te refonte de ses m\u00e9canismes d&rsquo;int\u00e9gration afin de garantir un minimum de qualit\u00e9. Ce bouleversement a donn\u00e9 naissance \u00e0 un nouveau m\u00e9tier, le DevOps, qui [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1041,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[39,38,35],"tags":[],"class_list":["post-1026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-numerique","category-technologie"],"_links":{"self":[{"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/1026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1026"}],"version-history":[{"count":6,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/1026\/revisions"}],"predecessor-version":[{"id":1044,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/1026\/revisions\/1044"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/media\/1041"}],"wp:attachment":[{"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lena-it.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}