{"id":7729,"date":"2025-08-29T12:00:53","date_gmt":"2025-08-29T12:00:53","guid":{"rendered":"https:\/\/techhub.saworks.io\/?post_type=docs&#038;p=7729"},"modified":"2025-09-24T12:02:34","modified_gmt":"2025-09-24T12:02:34","slug":"explorer-github-actions","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github-intermediaire\/automatiser-les-tests-de-charge-azure-en-utilisant-github\/explorer-github-actions\/","title":{"rendered":"Explorer GitHub Actions"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><strong>GitHub Actions est une plateforme d&rsquo;int\u00e9gration et de livraison continues (CI\/CD) qui vous permet d&rsquo;automatiser vos pipelines de compilation, de test et de d\u00e9ploiement.<\/strong><\/p>\n\n\n\n<p>Elle vous permet de cr\u00e9er des workflows qui compilent, testent et d\u00e9ploient automatiquement votre code sur n&rsquo;importe quelle plateforme. Explorons GitHub Actions et comment les d\u00e9veloppeurs les utilisent.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Composants de GitHub Actions<\/strong><\/h3>\n\n\n\n<p>Vous pouvez ex\u00e9cuter un workflow GitHub Actions manuellement ou le configurer pour qu\u2019il soit d\u00e9clench\u00e9 lorsqu\u2019un \u00e9v\u00e9nement se produit dans votre d\u00e9p\u00f4t. Par exemple, une pull request peut d\u00e9clencher un workflow qui effectue une v\u00e9rification dans le cadre du processus de revue.<\/p>\n\n\n\n<p>Un workflow contient les composants suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Workflows<\/strong> : Contiennent un ou plusieurs jobs qui peuvent s\u2019ex\u00e9cuter en s\u00e9quence ou en parall\u00e8le.<\/li>\n\n\n\n<li><strong>Jobs<\/strong> : Contiennent une ou plusieurs \u00e9tapes qui ex\u00e9cutent soit un script que vous d\u00e9finissez, soit une action. Les jobs s\u2019ex\u00e9cutent dans leur propre machine virtuelle ou dans un conteneur.<\/li>\n\n\n\n<li><strong>Steps (\u00e9tapes)<\/strong> : D\u00e9finissent les t\u00e2ches sp\u00e9cifiques \u00e0 effectuer pendant l\u2019ex\u00e9cution du workflow. Chaque \u00e9tape ex\u00e9cute un script shell ou une action r\u00e9utilisable qui simplifie le workflow.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Workflows<\/strong><\/h3>\n\n\n\n<p>Un workflow est un processus automatis\u00e9 configurable qui ex\u00e9cute un ou plusieurs jobs. Les workflows sont d\u00e9finis dans un fichier YAML int\u00e9gr\u00e9 au d\u00e9p\u00f4t. Ils s\u2019ex\u00e9cutent lorsqu\u2019ils sont d\u00e9clench\u00e9s par un \u00e9v\u00e9nement, manuellement ou selon un calendrier d\u00e9fini.<\/p>\n\n\n\n<p>Les workflows sont d\u00e9finis dans le r\u00e9pertoire <code>.github\/workflows<\/code> d\u2019un d\u00e9p\u00f4t. Un d\u00e9p\u00f4t peut contenir plusieurs workflows, chacun pouvant effectuer un ensemble de t\u00e2ches diff\u00e9rent.<br>Par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un workflow pour compiler et tester les pull requests.<\/li>\n\n\n\n<li>Un workflow pour d\u00e9ployer l\u2019application \u00e0 chaque cr\u00e9ation de version.<\/li>\n\n\n\n<li>Un workflow pour ajouter une \u00e9tiquette \u00e0 chaque ouverture de nouvelle issue.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00c9v\u00e9nements<\/strong><\/h3>\n\n\n\n<p>Un \u00e9v\u00e9nement est une activit\u00e9 sp\u00e9cifique dans un d\u00e9p\u00f4t qui d\u00e9clenche l\u2019ex\u00e9cution d\u2019un workflow.<br>Par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une pull request cr\u00e9\u00e9e.<\/li>\n\n\n\n<li>Une issue ouverte.<\/li>\n\n\n\n<li>Un commit pouss\u00e9 dans le d\u00e9p\u00f4t.<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez aussi d\u00e9clencher un workflow selon un calendrier, via une API REST ou manuellement.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Jobs<\/strong><\/h3>\n\n\n\n<p>Un job est un ensemble d\u2019\u00e9tapes dans un workflow, ex\u00e9cut\u00e9 sur un runner. Chaque \u00e9tape est soit un script shell, soit une action. Les \u00e9tapes s\u2019ex\u00e9cutent dans l\u2019ordre et d\u00e9pendent les unes des autres.<br>Puisqu\u2019elles s\u2019ex\u00e9cutent sur le m\u00eame runner, vous pouvez partager des donn\u00e9es entre les \u00e9tapes.<br>Par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une \u00e9tape qui compile l\u2019application.<\/li>\n\n\n\n<li>Une \u00e9tape qui teste l\u2019application compil\u00e9e.<\/li>\n<\/ul>\n\n\n\n<p>Les jobs peuvent \u00eatre configur\u00e9s avec des d\u00e9pendances entre eux. Par d\u00e9faut, ils n\u2019ont pas de d\u00e9pendances et s\u2019ex\u00e9cutent en parall\u00e8le.<br>Exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Plusieurs jobs de compilation pour diff\u00e9rentes architectures s\u2019ex\u00e9cutent en parall\u00e8le.<\/li>\n\n\n\n<li>Un job de packaging d\u00e9pend de ces jobs et s\u2019ex\u00e9cute une fois qu\u2019ils sont termin\u00e9s.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Actions<\/strong><\/h3>\n\n\n\n<p>Une action est une application personnalis\u00e9e pour GitHub Actions qui effectue une t\u00e2che complexe mais r\u00e9p\u00e9titive.<br>Elle permet de r\u00e9duire le code r\u00e9p\u00e9titif dans vos fichiers de workflow.<br>Exemples :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloner votre d\u00e9p\u00f4t Git.<\/li>\n\n\n\n<li>Configurer l\u2019environnement de compilation.<\/li>\n\n\n\n<li>Authentifier aupr\u00e8s d\u2019un fournisseur cloud.<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez cr\u00e9er vos propres actions ou en trouver dans le <strong>GitHub Marketplace<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Runners<\/strong><\/h3>\n\n\n\n<p>Un runner est un serveur qui ex\u00e9cute vos workflows lorsqu\u2019ils sont d\u00e9clench\u00e9s. Chaque runner ex\u00e9cute un seul job \u00e0 la fois.<br>GitHub fournit des runners pour :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu Linux<\/li>\n\n\n\n<li>Microsoft Windows<\/li>\n\n\n\n<li>macOS<\/li>\n<\/ul>\n\n\n\n<p>Chaque ex\u00e9cution de workflow s\u2019effectue dans une machine virtuelle fra\u00eechement provisionn\u00e9e.<br>GitHub propose aussi des runners plus puissants avec des configurations plus grandes.<\/p>\n\n\n\n<p>Si vous avez besoin d\u2019un syst\u00e8me d\u2019exploitation diff\u00e9rent ou d\u2019une configuration mat\u00e9rielle sp\u00e9cifique, <a href=\"https:\/\/docs.github.com\/fr\/actions\/concepts\/runners\/self-hosted-runners\">vous pouvez h\u00e9berger vos propres runners<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GitHub Actions est une plateforme d&rsquo;int\u00e9gration et de livraison continues (CI\/CD) qui vous permet d&rsquo;automatiser vos pipelines de compilation, de test et de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":7721,"menu_order":43,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-7729","docs","type-docs","status-publish","hentry"],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/6a70e7c73db9f245e650948d09d74f61?s=96&d=mm&r=g","author_name":"Annick N'dri","_links":{"self":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7729"}],"collection":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/comments?post=7729"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7729\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/7721"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=7729"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=7729"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=7729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}