{"id":5621,"date":"2025-07-25T09:10:45","date_gmt":"2025-07-25T09:10:45","guid":{"rendered":"https:\/\/techhub.saworks.io\/docs\/tutoriel-github\/collaborer-avec-dautres-grace-a-markdown-et-github-pages\/composants-du-github-flow\/"},"modified":"2025-07-25T14:25:53","modified_gmt":"2025-07-25T14:25:53","slug":"composants-du-github-flow","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github\/collaborer-avec-dautres-grace-a-markdown-et-github-pages\/composants-du-github-flow\/","title":{"rendered":"Composants du GitHub Flow"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Dans cette unit\u00e9, nous allons passer en revue les composants suivants du&nbsp;<strong>GitHub Flow<\/strong>&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Branches<\/strong><\/li>\n\n\n\n<li><strong>Commits<\/strong><\/li>\n\n\n\n<li><strong>Pull Requests<\/strong><\/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\">\ud83c\udf3f Qu\u2019est-ce qu\u2019une branche ?<\/h3>\n\n\n\n<p>Dans la section pr\u00e9c\u00e9dente, nous avons cr\u00e9\u00e9 un&nbsp;<strong>nouveau fichier<\/strong>&nbsp;et une&nbsp;<strong>nouvelle branche<\/strong>&nbsp;dans votre d\u00e9p\u00f4t.<\/p>\n\n\n\n<p>Les&nbsp;<strong>branches<\/strong>&nbsp;sont une partie essentielle de l\u2019exp\u00e9rience GitHub, car elles permettent de&nbsp;<strong>faire des modifications sans affecter l\u2019ensemble du projet<\/strong>.<\/p>\n\n\n\n<p>Une branche est un&nbsp;<strong>espace s\u00e9curis\u00e9<\/strong>&nbsp;pour exp\u00e9rimenter de nouvelles fonctionnalit\u00e9s ou corriger des erreurs.<br>Si vous faites une erreur, vous pouvez&nbsp;<strong>annuler vos modifications<\/strong>&nbsp;ou&nbsp;<strong>pousser de nouveaux changements<\/strong>&nbsp;pour la corriger.<br>Les modifications ne seront pas appliqu\u00e9es \u00e0 la&nbsp;<strong>branche par d\u00e9faut<\/strong>&nbsp;tant que vous n\u2019aurez pas&nbsp;<strong>fusionn\u00e9 votre branche<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-width:1px;border-radius:15px;background-color:#9b51e04d\">\n<p><strong>Remarque<\/strong><\/p>\n\n\n\n<p>Vous pouvez aussi cr\u00e9er une nouvelle branche et la consulter via le terminal avec la commande :<\/p>\n\n\n\n<p><strong>git checkout -b newBranchName<\/strong><\/p>\n<\/div>\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\">\ud83d\udcdd Qu\u2019est-ce qu\u2019un commit ?<\/h3>\n\n\n\n<p>Dans l\u2019unit\u00e9 pr\u00e9c\u00e9dente, vous avez ajout\u00e9 un nouveau fichier au d\u00e9p\u00f4t en&nbsp;<strong>poussant un commit<\/strong>.<br>Voyons bri\u00e8vement ce qu\u2019est un&nbsp;<strong>commit<\/strong>.<\/p>\n\n\n\n<p>Un&nbsp;<strong>commit<\/strong>&nbsp;est une&nbsp;<strong>modification apport\u00e9e \u00e0 un ou plusieurs fichiers<\/strong>&nbsp;sur une branche.<br>Chaque commit re\u00e7oit un&nbsp;<strong>identifiant unique<\/strong>, est&nbsp;<strong>horodat\u00e9<\/strong>, et&nbsp;<strong>attribu\u00e9 \u00e0 un contributeur<\/strong>.<\/p>\n\n\n\n<p>Les commits permettent de :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Suivre l\u2019historique<\/strong>&nbsp;des fichiers,<\/li>\n\n\n\n<li>Fournir une&nbsp;<strong>tra\u00e7abilit\u00e9 claire<\/strong>&nbsp;pour toute personne examinant les modifications,<\/li>\n\n\n\n<li>Lier les changements \u00e0 des \u00e9l\u00e9ments comme les&nbsp;<strong>issues<\/strong>&nbsp;ou les&nbsp;<strong>pull requests<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"758\" height=\"344\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-commits-1.png\" alt=\"\" class=\"wp-image-5624 lazyload\" data-srcset=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-commits-1.png 758w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-commits-1-300x136.png 300w\" data-sizes=\"(max-width: 758px) 100vw, 758px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 758px; --smush-placeholder-aspect-ratio: 758\/344;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\uddc2\ufe0f \u00c9tats des fichiers dans un d\u00e9p\u00f4t Git<\/h2>\n\n\n\n<p>Dans un d\u00e9p\u00f4t Git, un fichier peut exister dans plusieurs&nbsp;<strong>\u00e9tats valides<\/strong>&nbsp;au cours du processus de contr\u00f4le de version.<br>Les&nbsp;<strong>\u00e9tats principaux<\/strong>&nbsp;sont :&nbsp;<strong>Non suivi (Untracked)<\/strong>&nbsp;et&nbsp;<strong>Suivi (Tracked)<\/strong>.<\/p>\n\n\n\n<p><strong>\ud83d\udd38 Non suivi (<em>Untracked<\/em>)<\/strong><\/p>\n\n\n\n<p>\u00c9tat initial d\u2019un fichier&nbsp;<strong>non encore ajout\u00e9<\/strong>&nbsp;au d\u00e9p\u00f4t Git.<br>Git&nbsp;<strong>n\u2019a pas connaissance<\/strong>&nbsp;de son existence.<\/p>\n\n\n\n<p><strong>\ud83d\udd39 Suivi (<em>Tracked<\/em>)<\/strong><\/p>\n\n\n\n<p>Un fichier suivi est&nbsp;<strong>surveill\u00e9 activement<\/strong>&nbsp;par Git. Il peut \u00eatre dans l\u2019un des sous-\u00e9tats suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Non modifi\u00e9 (Unmodified)<\/strong>&nbsp;: le fichier est suivi, mais&nbsp;<strong>n\u2019a pas \u00e9t\u00e9 modifi\u00e9<\/strong>&nbsp;depuis le dernier commit.<\/li>\n\n\n\n<li><strong>Modifi\u00e9 (Modified)<\/strong>&nbsp;: le fichier a \u00e9t\u00e9&nbsp;<strong>modifi\u00e9<\/strong>, mais les changements&nbsp;<strong>ne sont pas encore pr\u00e9par\u00e9s<\/strong>&nbsp;pour le prochain commit.<\/li>\n\n\n\n<li><strong>Pr\u00e9par\u00e9 (Staged)<\/strong>&nbsp;: les modifications ont \u00e9t\u00e9&nbsp;<strong>ajout\u00e9es \u00e0 la zone de pr\u00e9paration<\/strong>&nbsp;(appel\u00e9e aussi&nbsp;<em>index<\/em>). Elles sont&nbsp;<strong>pr\u00eates \u00e0 \u00eatre valid\u00e9es<\/strong>.<\/li>\n\n\n\n<li><strong>Valid\u00e9 (Committed)<\/strong>&nbsp;: le fichier est enregistr\u00e9 dans la&nbsp;<strong>base de donn\u00e9es du d\u00e9p\u00f4t<\/strong>. Il repr\u00e9sente la&nbsp;<strong>version la plus r\u00e9cente valid\u00e9e<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Ces \u00e9tats sont essentiels pour&nbsp;<strong>collaborer efficacement<\/strong>&nbsp;avec votre \u00e9quipe et savoir&nbsp;<strong>o\u00f9 en est chaque commit<\/strong>&nbsp;dans le processus du projet.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd00 Qu\u2019est-ce qu\u2019une&nbsp;<em>pull request<\/em>&nbsp;?<\/h2>\n\n\n\n<p>Une&nbsp;<strong>pull request<\/strong>&nbsp;est le m\u00e9canisme utilis\u00e9 pour&nbsp;<strong>signaler que les commits d\u2019une branche sont pr\u00eats \u00e0 \u00eatre fusionn\u00e9s<\/strong>&nbsp;dans une autre branche.<\/p>\n\n\n\n<p>Le membre de l\u2019\u00e9quipe qui soumet la pull request demande \u00e0&nbsp;<strong>un ou plusieurs r\u00e9viseurs<\/strong>&nbsp;de :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>v\u00e9rifier le code<\/strong>,<\/li>\n\n\n\n<li><strong>approuver la fusion<\/strong>,<\/li>\n\n\n\n<li><strong>commenter les modifications<\/strong>,<\/li>\n\n\n\n<li>ou m\u00eame&nbsp;<strong>ajouter leurs propres changements<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Une fois les modifications&nbsp;<strong>approuv\u00e9es<\/strong>&nbsp;(si n\u00e9cessaire), la branche source de la pull request (appel\u00e9e&nbsp;<strong>branche de comparaison<\/strong>) est&nbsp;<strong>fusionn\u00e9e<\/strong>&nbsp;dans la&nbsp;<strong>branche de base<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1003\" height=\"658\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-pull-request-1.png\" alt=\"\" class=\"wp-image-5626 lazyload\" data-srcset=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-pull-request-1.png 1003w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-pull-request-1-300x197.png 300w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-pull-request-1-768x504.png 768w\" data-sizes=\"(max-width: 1003px) 100vw, 1003px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1003px; --smush-placeholder-aspect-ratio: 1003\/658;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Maintenant que nous connaissons tous les \u00e9l\u00e9ments, passons en revue le&nbsp;<strong>GitHub Flow<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Le GitHub Flow<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"327\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-1024x327.png\" alt=\"\" class=\"wp-image-5628 lazyload\" data-srcset=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-1024x327.png 1024w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-300x96.png 300w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-768x245.png 768w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-1536x491.png 1536w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-2048x654.png 2048w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/2-branching-1-1800x575.png 1800w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/327;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Le&nbsp;<strong>GitHub Flow<\/strong>&nbsp;peut \u00eatre d\u00e9fini comme un&nbsp;<strong>flux de travail l\u00e9ger<\/strong>&nbsp;qui permet une&nbsp;<strong>exp\u00e9rimentation en toute s\u00e9curit\u00e9<\/strong>.<br>Vous pouvez tester de nouvelles id\u00e9es et collaborer avec votre \u00e9quipe en utilisant les&nbsp;<strong>branches<\/strong>, les&nbsp;<strong>pull requests<\/strong>&nbsp;et les&nbsp;<strong>fusions (merges)<\/strong>.<\/p>\n\n\n\n<p>Maintenant que nous connaissons les bases de GitHub, parcourons ensemble les \u00e9tapes du GitHub Flow et ses composants.<\/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\">\ud83d\udd39 \u00c9tapes du GitHub Flow :<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Cr\u00e9er une branche<\/strong><br>Commencez par cr\u00e9er une branche pour que les modifications, fonctionnalit\u00e9s ou corrections que vous apportez&nbsp;<strong>n\u2019affectent pas la branche principale<\/strong>.<\/li>\n\n\n\n<li><strong>Faire vos modifications<\/strong><br>Il est recommand\u00e9 de&nbsp;<strong>d\u00e9ployer vos changements sur la branche de fonctionnalit\u00e9<\/strong>&nbsp;avant de les fusionner dans la branche principale. Cela permet de s\u2019assurer que les modifications sont valides dans un environnement de production.<\/li>\n\n\n\n<li><strong>Cr\u00e9er une pull request<\/strong><br>Demandez \u00e0 vos collaborateurs de&nbsp;<strong>donner leur avis<\/strong>.<br>La revue de pull request est si importante que certains d\u00e9p\u00f4ts exigent une&nbsp;<strong>validation avant fusion<\/strong>.<\/li>\n\n\n\n<li><strong>Revoir et appliquer les retours<\/strong><br>Prenez en compte les commentaires de vos collaborateurs et&nbsp;<strong>ajustez votre code<\/strong>&nbsp;si n\u00e9cessaire.<\/li>\n\n\n\n<li><strong>Fusionner la pull request<\/strong><br>Une fois que vous \u00eates satisfait des modifications, faites&nbsp;<strong>approuver<\/strong>&nbsp;la pull request (si requis) et&nbsp;<strong>fusionnez-la dans la branche principale<\/strong>.<\/li>\n\n\n\n<li><strong>Supprimer la branche<\/strong><br>Supprimer la branche indique que le travail est termin\u00e9 et&nbsp;<strong>\u00e9vite toute utilisation accidentelle<\/strong>&nbsp;de branches obsol\u00e8tes.<\/li>\n<\/ol>\n\n\n\n<p>\ud83c\udf89 Et voil\u00e0, vous avez parcouru un&nbsp;<strong>cycle complet du GitHub Flow<\/strong>&nbsp;!<\/p>\n\n\n\n<p>Passons maintenant \u00e0 la section suivante, o\u00f9 nous allons voir la&nbsp;<strong>diff\u00e9rence entre les issues et les discussions<\/strong>.<\/p>\n\n\n\n<p><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dans cette unit\u00e9, nous allons passer en revue les composants suivants du&nbsp;GitHub Flow&nbsp;: \ud83c\udf3f Qu\u2019est-ce qu\u2019une branche ? Dans la section pr\u00e9c\u00e9dente, nous [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":5589,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-5621","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\/5621"}],"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=5621"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5621\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5589"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=5621"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=5621"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=5621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}