You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/fr/1-getting-started-lessons/2-github-basics/README.md

49 KiB

Introduction à GitHub

Salut toi, futur développeur ! 👋 Prêt à rejoindre des millions de codeurs dans le monde ? Je suis vraiment enthousiaste à l'idée de te présenter GitHub imagine-le comme le réseau social des programmeurs, sauf qu'au lieu de partager des photos de ton déjeuner, nous partageons du code et construisons des choses incroyables ensemble !

Voici ce qui me fascine vraiment : chaque application sur ton téléphone, chaque site web que tu visites, et la plupart des outils que tu vas apprendre à utiliser ont été créés par des équipes de développeurs collaborant sur des plateformes comme GitHub. Cette appli musicale que tu adores ? Quelquun comme toi y a contribué. Ce jeu auquel tu ne peux pas résister ? Yep, il a probablement été créé grâce à une collaboration sur GitHub. Et maintenant, TU vas apprendre à faire partie de cette communauté incroyable !

Je sais que tout cela peut sembler beaucoup au début franchement, je me souviens avoir regardé ma première page GitHub en me disant « Mais quest-ce que tout ça veut dire ? » Mais voilà la chose : chaque développeur a commencé exactement là où tu es à cet instant. À la fin de cette leçon, tu auras ton propre dépôt GitHub (pense à ça comme ta vitrine personnelle de projets dans le cloud), et tu sauras comment sauvegarder ton travail, le partager avec dautres, et même contribuer à des projets utilisés par des millions de personnes.

Nous allons faire ce voyage ensemble, étape par étape. Pas de précipitation, pas de pression juste toi, moi, et quelques outils vraiment sympas qui vont devenir tes nouveaux meilleurs amis !

Intro to GitHub

Sketchnote par Tomomi Imura

journey
    title Votre aventure GitHub aujourd'hui
    section Configuration
      Install Git: 4: You
      Create Account: 5: You
      First Repository: 5: You
    section Maîtriser Git
      Local Changes: 4: You
      Commits & Pushes: 5: You
      Branching: 4: You
    section Collaborer
      Fork Projects: 4: You
      Pull Requests: 5: You
      Open Source: 5: You

Quiz Avant la Leçon

Pre-lecture quiz

Introduction

Avant de plonger dans les choses vraiment passionnantes, préparons ton ordinateur pour un peu de magie GitHub ! Imagine ça comme organiser tes fournitures dart avant de créer un chef-dœuvre avoir les bons outils à portée de main rend tout plus fluide et bien plus amusant.

Je vais te guider personnellement à travers chaque étape de linstallation, et je te promets que ce nest pas aussi intimidant que ça en a lair au premier abord. Si quelque chose ne fait pas sens tout de suite, cest complètement normal ! Je me souviens avoir configuré mon premier environnement de développement et avoir eu limpression dessayer de lire des hiéroglyphes anciens. Chaque développeur est passé exactement par là où tu es maintenant, se demandant sil faisait les choses correctement. Spoiler : si tu es là en train dapprendre, cest que tu fais déjà les choses correctement ! 🌟

Dans cette leçon, nous allons couvrir :

  • suivre le travail que tu fais sur ta machine
  • travailler sur des projets avec dautres
  • comment contribuer à des logiciels open source

Prérequis

Préparons ton ordinateur pour un peu de magie GitHub ! Ne tinquiète pas cette configuration ne se fait quune seule fois, et ensuite tu seras prêt pour toute ta carrière de codeur.

Bien, commençons par la base ! Dabord, il faut vérifier si Git est déjà présent sur ton ordinateur. Git, cest un peu comme avoir un assistant super intelligent qui se souvient de chaque modification que tu fais dans ton code bien mieux que dappuyer frénétiquement sur Ctrl+S toutes les deux secondes (on est tous passés par là !).

Vérifions si Git est déjà installé en tapant cette commande magique dans ton terminal :
git --version

Si Git nest pas encore là, pas de panique ! Va simplement sur télécharger Git et télécharge-le. Une fois installé, il faut bien présenter Git :

💡 Configuration Initiale : Ces commandes indiquent à Git qui tu es. Ces informations seront liées à chaque commit que tu feras, alors choisis un nom et un e-mail que tu es à laise de partager publiquement.

git config --global user.name "your-name"
git config --global user.email "your-email"

Pour vérifier si Git est déjà configuré, tu peux taper :

git config --list

Tu auras aussi besoin dun compte GitHub, dun éditeur de code (comme Visual Studio Code), et tu devras ouvrir ton terminal (ou : invite de commandes).

Va sur github.com et crée un compte si tu nen as pas déjà un, ou connecte-toi et complète ton profil.

💡 Astuce moderne : Pense à configurer des clés SSH ou utiliser GitHub CLI pour une authentification plus simple sans mots de passe.

GitHub nest pas le seul dépôt de code au monde ; il en existe dautres, mais GitHub est le plus connu.

Préparation

Tu auras besoin à la fois dun dossier avec un projet de code sur ta machine locale (laptop ou PC), et dun dépôt public sur GitHub, qui servira dexemple pour apprendre à contribuer aux projets des autres.

Sécuriser Ton Code

Parlons un instant de sécurité mais ne tinquiète pas, on ne va pas te submerger avec des trucs effrayants ! Pense à ces pratiques de sécurité comme à verrouiller ta voiture ou ta maison. Ce sont des habitudes simples qui deviennent naturelles et qui protègent ton travail acharné.

Nous allons te montrer les manières modernes et sécurisées de travailler avec GitHub dès le début. Comme ça, tu prendras de bonnes habitudes qui te serviront tout au long de ta carrière de codeur.

Quand tu travailles avec GitHub, il est important de suivre les bonnes pratiques de sécurité :

Domaine de Sécurité Meilleure Pratique Pourquoi cest Important
Authentification Utiliser des clés SSH ou des jetons daccès personnel Les mots de passe sont moins sécurisés et sont progressivement abandonnés
Authentification à Deux Facteurs Activer la 2FA sur ton compte GitHub Ajoute une couche supplémentaire de protection du compte
Sécurité des Dépôts Ne jamais commettre dinformations sensibles Les clés API et mots de passe ne doivent jamais être dans des dépôts publics
Gestion des Dépendances Activer Dependabot pour les mises à jour Permet de garder tes dépendances sécurisées et à jour

⚠️ Rappel Critique de Sécurité : Ne commets jamais de clés API, mots de passe, ou autres informations sensibles dans un dépôt. Utilise des variables denvironnement et le fichier .gitignore pour protéger ces données sensibles.

Configuration Moderne de lAuthentification :

# Générer une clé SSH (algorithme ed25519 moderne)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Configurer Git pour utiliser SSH
git remote set-url origin git@github.com:username/repository.git

💡 Astuce de Pro : Les clés SSH évitent de devoir saisir des mots de passe à répétition et sont plus sécurisées que les méthodes dauthentification traditionnelles.


Gérer Ton Code Comme un Pro

OK, CEST là que ça devient vraiment excitant ! 🎉 Nous allons apprendre à suivre et gérer ton code comme font les pros, et franchement, cest lune de mes parties préférées à enseigner parce que ça change radicalement la donne.

Imagine ça : tu écris une histoire incroyable, et tu veux garder une trace de chaque brouillon, chaque modification géniale, et chaque moment “attends, cest un coup de génie !” en cours de route. Cest exactement ce que Git fait pour ton code ! Cest comme avoir un carnet de notes de voyage dans le temps qui se souvient de TOUT chaque frappe, chaque changement, chaque moment “oups, jai tout cassé” que tu peux annuler instantanément.

Je vais être honnête ça peut sembler complexe au début. Quand jai commencé, je pensais “Pourquoi je ne peux pas juste sauvegarder comme dhabitude ?” Mais fais-moi confiance : une fois que Git aura fait tilt pour toi (et ça arrivera !), tu auras un de ces moments de révélation où tu te diras “Comment ai-je PU coder sans ça ?” Cest comme découvrir que tu peux voler alors que tu marchais partout toute ta vie !

Supposons que tu as un dossier local avec un projet de code et que tu veux commencer à suivre tes progrès avec git le système de contrôle de version. Certains comparent lutilisation de git à écrire une lettre damour à ton futur toi. En relisant tes messages de commit des jours, semaines ou mois plus tard, tu pourras te rappeler pourquoi tu as pris telle décision, ou “revenir en arrière” sur un changement à condition, bien sûr, décrire de bons messages de commit.

flowchart TD
    A[📁 Vos fichiers de projet] --> B{Est-ce un dépôt Git ?}
    B -->|Non| C[git init]
    B -->|Oui| D[Effectuer des modifications]
    C --> D
    D --> E[git add .]
    E --> F["git commit -m 'message'"]
    F --> G[git push]
    G --> H[🌟 Code sur GitHub !]
    
    H --> I{Voulez-vous collaborer ?}
    I -->|Oui| J[Forker & Cloner]
    I -->|Non| D
    J --> K[Créer une branche]
    K --> L[Effectuer des modifications]
    L --> M[Pull Request]
    M --> N[🎉 Contribution !]
    
    style A fill:#fff59d
    style H fill:#c8e6c9
    style N fill:#ff4081,color:#fff

Tâche : Crée Ton Premier Dépôt !

🎯 Ta Mission (et je suis trop content pour toi !) : Nous allons créer ensemble ton tout premier dépôt GitHub ! À la fin de cette étape, tu auras ton petit coin dinternet où ton code vivra, et tu auras effectué ton premier “commit” (cest le langage des développeurs pour dire que tu as sauvegardé ton travail de façon intelligente).

Cest franchement un moment très spécial tu vas officiellement rejoindre la communauté mondiale des développeurs ! Je me rappelle encore lexcitation de ma première création de repo et de me dire “Wow, je fais vraiment ça !”

Faisons cette aventure ensemble, étape par étape. Prends ton temps pour chaque partie pas de course, et je te promets que chaque étape aura du sens. Souviens-toi, chaque superstar du code que tu admires était assise exactement là où tu es, sur le point de créer son premier dépôt. Cest trop cool, non ?

Regarde la vidéo

Vidéo des bases de Git et GitHub

Faisons Ça Ensemble :

  1. Crée ton dépôt sur GitHub. Va sur GitHub.com et cherche le bouton vert vif New (ou le signe + en haut à droite). Clique dessus et choisis New repository.

    Voici ce quil faut faire :

    1. Donne un nom à ton dépôt choisis quelque chose de significatif pour toi !
    2. Ajoute une description si tu veux (ça aide les autres à comprendre ton projet)
    3. Décide si tu veux quil soit public (tout le monde peut le voir) ou privé (juste pour toi)
    4. Je te conseille de cocher la case pour ajouter un fichier README cest comme la page daccueil de ton projet
    5. Clique sur Create repository et célèbre tu viens de créer ton premier repo ! 🎉
  2. Navigue jusquà ton dossier de projet. Ouvre maintenant ton terminal (pas de panique, ce nest pas aussi effrayant que ça en a lair !). On doit dire à ton ordinateur où se trouvent tes fichiers de projet. Tape cette commande :

    cd [name of your folder]
    

    Ce quon fait ici :

    • On dit au fond “Hé ordinateur, emmène-moi dans mon dossier de projet”
    • Cest comme ouvrir un dossier spécifique sur ton bureau, mais on le fait avec des commandes texte
    • Remplace [name of your folder] par le vrai nom de ton dossier de projet
  3. Transforme ton dossier en dépôt Git. Ici, cest là que la magie opère ! Tape :

    git init
    

    Voilà ce qui vient de se passer (cest pas mal du tout) :

    • Git vient de créer un dossier caché .git dans ton projet tu ne le verras pas, mais il est là !
    • Ton dossier normal devient un “dépôt” capable de suivre chaque modification que tu fais
    • Pense à ça comme donner des super-pouvoirs à ton dossier pour tout se souvenir
  4. Vérifie ce qui se passe. Voyons ce que Git pense de ton projet à cet instant :

    git status
    

    Comprendre ce que Git te dit :

    Tu peux voir quelque chose qui ressemble à ça :

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    Pas de panique ! Voilà ce que ça veut dire :

    • Les fichiers en rouge sont ceux qui ont des changements mais ne sont pas prêts à être sauvegardés
    • Les fichiers en vert (quand tu les vois) sont prêts à être sauvegardés
    • Git taide en te disant exactement ce que tu peux faire ensuite

    💡 Astuce de pro : La commande git status est ton meilleur allié ! Utilise-la chaque fois que tu es perdu. Cest comme demander à Git “Hé, quelle est la situation maintenant ?”

  5. Prépare tes fichiers à être sauvegardés (on appelle ça “staging”) :

    git add .
    

    Ce quon vient de faire :

    • On a dit à Git “Hey, je veux inclure TOUS mes fichiers dans la prochaine sauvegarde”
    • Le . veut dire “tout ce quil y a dans ce dossier”
    • Maintenant tes fichiers sont “mis en scène” et prêts pour létape suivante

    Tu veux être plus sélectif ? Tu peux ajouter juste certains fichiers spécifiques :

    git add [file or folder name]
    

    Pourquoi faire ça ?

    • Parfois tu veux sauvegarder des changements liés ensemble
    • Ça taide à organiser ton travail en morceaux logiques
    • Ça rend plus facile de comprendre ce qui a changé et quand

    Tu as changé davis ? Pas de souci ! Tu peux retirer des fichiers de la mise en scène comme ceci :

    # Désindexer tout
    git reset
    
    # Désindexer un seul fichier
    git reset [file name]
    

    Ne tinquiète pas ça ne supprime pas ton travail, ça enlève juste les fichiers de la pile “prêt à sauvegarder”.

  6. Sauvegarde ton travail définitivement (tu fais ton premier commit !) :

    git commit -m "first commit"
    

    🎉 Félicitations ! Tu viens de faire ton premier commit !

    Voici ce qui vient de se passer :

    • Git a pris un “instantané” de tous tes fichiers mis en scène à ce moment précis
    • Ton message de commit “first commit” explique ce quest ce point de sauvegarde
    • Git a donné à cet instantané un ID unique pour que tu puisses toujours le retrouver
    • Tu as officiellement commencé à suivre lhistorique de ton projet !

    💡 Messages de commit futurs : Pour les prochains commits, sois plus descriptif ! Au lieu de “updated stuff”, essaye “Ajout du formulaire de contact sur la page daccueil” ou “Correction du bug du menu de navigation”. Ton futur toi te remerciera !

  7. Connecte ton projet local à GitHub. Pour linstant, ton projet nexiste que sur ton ordinateur. Connectons-le à ton dépôt GitHub pour que tu puisses le partager avec le monde !

    Dabord, va sur la page de ton dépôt GitHub et copie lURL. Puis reviens ici et tape :

    git remote add origin https://github.com/username/repository_name.git
    

    (Remplace cette URL par lURL réelle de ton dépôt !)

    Ce que nous venons de faire :

    • Nous avons créé une connexion entre votre projet local et votre dépôt GitHub
    • "Origin" est juste un surnom pour votre dépôt GitHub cest comme ajouter un contact dans votre téléphone
    • Maintenant, votre Git local sait où envoyer votre code quand vous êtes prêt à le partager

    💡 Façon plus simple : Si vous avez GitHub CLI installé, vous pouvez faire cela en une seule commande :

    gh repo create my-repo --public --push --source=.
    
  8. Envoyez votre code sur GitHub (le grand moment !) :

    git push -u origin main
    

    🚀 Voilà ! Vous téléchargez votre code sur GitHub !

    Ce qui se passe :

    • Vos commits voyagent de votre ordinateur vers GitHub
    • Loption -u établit une connexion permanente pour que les futurs pushs soient plus simples
    • "main" est le nom de votre branche principale (comme le dossier principal)
    • Après cela, vous pouvez juste taper git push pour les futurs envois !

    💡 Note rapide : Si votre branche porte un autre nom (comme "master"), utilisez ce nom à la place. Vous pouvez vérifier avec git branch --show-current.

  9. Votre nouveau rythme quotidien de codage (cest ici que ça devient addictif !) :

    Désormais, chaque fois que vous faites des modifications à votre projet, vous avez cette simple danse en trois étapes :

    git add .
    git commit -m "describe what you changed"
    git push
    

    Cela devient votre rythme de codage :

    • Faites des changements géniaux dans votre code
    • Mettez-les en scène avec git add (« Hé Git, fais attention à ces changements ! »)
    • Enregistrez-les avec git commit et un message descriptif (vous vous remerciera à lavenir !)
    • Partagez-les avec le monde en utilisant git push 🚀
    • Rincez et répétez sérieusement, cela devient aussi naturel que respirer !

    Jadore ce flux de travail parce que cest comme avoir plusieurs points de sauvegarde dans un jeu vidéo. Vous avez fait un changement que vous aimez ? Commitez-le ! Vous voulez essayer quelque chose de risqué ? Pas de problème vous pouvez toujours revenir à votre dernier commit si ça tourne mal !

    💡 Astuce : Vous voudrez peut-être aussi adopter un fichier .gitignore pour empêcher certains fichiers que vous ne voulez pas suivre dapparaître sur GitHub comme ce fichier de notes que vous stockez dans le même dossier mais qui na pas sa place dans un dépôt public. Vous pouvez trouver des modèles de fichiers .gitignore sur .gitignore templates ou en créer un avec gitignore.io.

🧠 Premier enregistrement dans le dépôt : Quen avez-vous pensé ?

Prenez un moment pour célébrer et réfléchir :

  • Quavez-vous ressenti en voyant votre code apparaître sur GitHub pour la première fois ?
  • Quelle étape vous a semblé la plus confuse, et laquelle a été étonnamment facile ?
  • Pouvez-vous expliquer la différence entre git add, git commit et git push avec vos propres mots ?
stateDiagram-v2
    [*] --> LocalFiles: Créer un projet
    LocalFiles --> Staged: git add .
    Staged --> Committed: git commit
    Committed --> GitHub: git push
    GitHub --> [*]: Succès ! 🎉
    
    note right of Staged
        Fichiers prêts à être enregistrés
    end note
    
    note right of Committed
        Instantané créé
    end note

Rappelez-vous : Même les développeurs expérimentés oublient parfois les commandes exactes. Apprendre ce flux de travail jusquà ce quil devienne une habitude demande de la pratique vous faites du bon boulot !

Flux de travail Git modernes

Pensez à adopter ces pratiques modernes :

  • Commits conventionnels : Utilisez un format standardisé de messages de commit comme feat:, fix:, docs:, etc. En savoir plus sur conventionalcommits.org
  • Commits atomiques : Faites en sorte que chaque commit représente un seul changement logique
  • Commits fréquents : Commitez souvent avec des messages descriptifs plutôt que des commits volumineux et rares

Messages de commit

Une bonne ligne de sujet de commit Git complète la phrase suivante : Si ce commit est appliqué, il

Pour le sujet, utilisez limpératif au présent : "change" et non "changed" ou "changes".
Comme pour le sujet, dans le corps (optionnel), utilisez aussi limpératif au présent. Le corps doit inclure la motivation du changement et le comparer au comportement précédent. Vous expliquez le pourquoi, pas le comment.

Prenez quelques minutes pour parcourir GitHub. Pouvez-vous trouver un message de commit vraiment bien fait ? En trouvez-vous un très minimal ? Quelle information pensez-vous être la plus importante et utile à transmettre dans un message de commit ?

Travailler avec les autres (La partie fun !)

Accrochez-vous, car CEST ici que GitHub devient absolument magique ! 🪄 Vous avez maîtrisé la gestion de votre propre code, mais maintenant nous plongeons dans ma partie préférée collaborer avec des personnes incroyables du monde entier.

Imaginez ceci : vous vous réveillez demain et voyez que quelquun à Tokyo a amélioré votre code pendant que vous dormiez. Puis quelquun à Berlin corrige un bug qui vous bloquait. Laprès-midi, un développeur à São Paulo a ajouté une fonctionnalité à laquelle vous naviez même pas pensé. Ce nest pas de la science-fiction cest juste un mardi dans lunivers GitHub !

Ce qui me passionne vraiment, ce sont les compétences de collaboration que vous allez apprendre. Ce sont EXATEMENT les mêmes flux de travail que les équipes de Google, Microsoft, et vos startups préférées utilisent chaque jour. Vous napprenez pas juste un outil cool vous apprenez le langage secret qui fait fonctionner toute la communauté du logiciel ensemble.

Sérieusement, une fois que vous aurez ressenti la joie de voir quelquun fusionner votre première pull request, vous comprendrez pourquoi les développeurs sont si passionnés par lopen source. Cest comme faire partie du plus grand projet déquipe créatif au monde !

Regardez cette vidéo

Introduction à Git et GitHub

La principale raison de mettre des choses sur GitHub était de permettre la collaboration avec dautres développeurs.

flowchart LR
    A[🔍 Trouver le projet] --> B[🍴 Fork du dépôt]
    B --> C[📥 Cloner localement]
    C --> D[🌿 Créer une branche]
    D --> E[✏️ Faire des modifications]
    E --> F[💾 Commit des modifications]
    F --> G[📤 Pousser la branche]
    G --> H[🔄 Créer une pull request]
    H --> I{Revue par le mainteneur}
    I -->|✅ Approuvé| J[🎉 Fusion !]
    I -->|❓ Modifications demandées| K[📝 Faire des mises à jour]
    K --> F
    J --> L[🧹 Nettoyer les branches]
    
    style A fill:#e3f2fd
    style J fill:#e8f5e8
    style L fill:#fff3e0

Dans votre dépôt, allez dans Insights > Community pour voir comment votre projet se compare aux standards recommandés de la communauté.

Vous voulez rendre votre dépôt professionnel et accueillant ? Rendez-vous sur votre dépôt et cliquez sur Insights > Community. Cette fonctionnalité intéressante vous montre comment votre projet se compare à ce que la communauté GitHub considère comme de « bonnes pratiques pour un dépôt ».

🎯 Faites briller votre projet : Un dépôt bien organisé avec une bonne documentation est comme une vitrine propre et accueillante. Cela montre aux gens que vous vous souciez de votre travail et donne envie aux autres de contribuer !

Voici ce qui rend un dépôt génial :

Quoi ajouter Pourquoi cest important Ce que ça vous apporte
Description La première impression compte ! Les gens savent instantanément à quoi sert votre projet
README La page daccueil de votre projet Comme un guide touristique amical pour les nouveaux visiteurs
Directives de contribution Montre que vous êtes ouvert à laide Les gens savent exactement comment ils peuvent vous aider
Code de conduite Crée un espace amical Tout le monde se sent bienvenu à participer
Licence Clarté légale Les autres savent comment ils peuvent utiliser votre code
Politique de sécurité Montre que vous êtes responsable Démontre des pratiques professionnelles

💡 Astuce de pro : GitHub fournit des modèles pour tous ces fichiers. Lors de la création dun nouveau dépôt, cochez les cases pour générer automatiquement ces fichiers.

Fonctionnalités GitHub modernes à explorer :

🤖 Automatisation & CI/CD :

  • GitHub Actions pour les tests automatisés et le déploiement
  • Dependabot pour les mises à jour automatiques des dépendances

💬 Communauté & gestion de projet :

  • GitHub Discussions pour les conversations communautaires au-delà des issues
  • GitHub Projects pour la gestion de projet style kanban
  • Règles de protection des branches pour appliquer les standards de qualité de code

Toutes ces ressources seront utiles pour intégrer de nouveaux membres dans léquipe. Et ce sont généralement les aspects que les nouveaux contributeurs regardent avant même de scruter votre code, pour savoir si votre projet est lendroit où ils veulent passer leur temps.

Les fichiers README, bien quils prennent du temps à préparer, sont souvent négligés par les mainteneurs occupés. Pouvez-vous trouver un exemple particulièrement descriptif ? Note : il existe des outils pour créer de bons README que vous pourriez aimer essayer.

Tâche : Fusionner du code

Les documents de contribution aident les gens à contribuer au projet. Ils expliquent quels types de contributions vous recherchez et comment fonctionne le processus. Les contributeurs devront passer par plusieurs étapes pour pouvoir contribuer à votre repo sur GitHub :

  1. Forker votre repo Vous voudrez probablement que les gens forkent votre projet. Forker signifie créer une réplique de votre dépôt sur leur profil GitHub.
  2. Cloner. Ensuite, ils cloneront le projet sur leur machine locale.
  3. Créer une branche. Vous devrez leur demander de créer une branche pour leur travail.
  4. Concentrez leur changement sur une seule zone. Demandez aux contributeurs de se concentrer sur une seule chose à la fois ainsi, les chances que vous puissiez fusionner leur travail sont plus élevées. Imaginez quils écrivent un correctif, ajoutent une nouvelle fonctionnalité, et mettent à jour plusieurs tests que faire si vous voulez, ou ne pouvez, en implémenter que 2 sur 3, ou 1 sur 3 changements ?

Imaginez une situation où les branches sont particulièrement critiques pour écrire et livrer du bon code. À quels cas dusage pouvez-vous penser ?

Notez, soyez le changement que vous voulez voir dans le monde, et créez aussi des branches pour votre propre travail. Tous les commits que vous faites le seront sur la branche sur laquelle vous êtes actuellement « checked out ». Utilisez git status pour voir sur quelle branche vous êtes.

Passons en revue un flux de travail de contributeur. Supposons que le contributeur ait déjà forké et clonné le repo, donc quil ait un dépôt Git prêt à être travaillé sur sa machine locale :

  1. Créer une branche. Utilisez la commande git branch pour créer une branche qui contiendra les changements quil souhaite contribuer :

    git branch [branch-name]
    

    💡 Approche moderne : Vous pouvez aussi créer et passer à la nouvelle branche en une seule commande :

    git switch -c [branch-name]
    
  2. Passer à la branche de travail. Switcher sur la branche spécifiée et mettre à jour le répertoire de travail avec git switch :

    git switch [branch-name]
    

    💡 Note moderne : git switch est le remplaçant moderne de git checkout pour changer de branches. Cest plus clair et plus sûr pour les débutants.

  3. Faire le travail. À ce stade, vous voulez ajouter vos changements. Noubliez pas den informer Git avec les commandes suivantes :

    git add .
    git commit -m "my changes"
    

    ⚠️ Qualité du message de commit : Assurez-vous de donner un bon nom à votre commit, autant pour vous que pour le mainteneur du repo que vous aidez. Soyez précis sur ce que vous avez changé !

  4. Combiner votre travail avec la branche main. À un moment donné vous aurez fini de travailler et voudrez combiner votre travail avec celui de la branche main. La branche main aura peut-être changé entre-temps, alors assurez-vous dabord de la mettre à jour avec les commandes suivantes :

    git switch main
    git pull
    

    À ce stade, vous voulez vous assurer que tous les conflits, situations où Git ne peut pas facilement combiner les changements, aient lieu dans votre branche de travail. Exécutez donc les commandes suivantes :

    git switch [branch_name]
    git merge main
    

    La commande git merge main va intégrer tous les changements depuis main dans votre branche. Espérons que vous pouvez continuer normalement. Sinon, VS Code vous indiquera où Git est confus et vous devrez modifier les fichiers concernés pour indiquer quel contenu est le plus correct.

    💡 Alternative moderne : Envisagez dutiliser git rebase pour un historique plus propre :

    git rebase main
    

    Cela rejoue vos commits par-dessus la branche main la plus récente, créant un historique linéaire.

  5. Envoyer votre travail sur GitHub. Envoyer votre travail sur GitHub signifie deux choses : pousser votre branche vers votre repo puis ouvrir une PR, Pull Request.

    git push --set-upstream origin [branch-name]
    

    La commande ci-dessus crée la branche sur votre fork.

🤝 Vérification des compétences de collaboration : Prêt à travailler avec les autres ?

Voyons comment vous vous sentez à propos de la collaboration :

  • Lidée de forker et faire des pull requests vous paraît-elle claire maintenant ?
  • Quest-ce que vous voulez pratiquer davantage concernant le travail avec les branches ?
  • À quel point vous sentez-vous à laise de contribuer au projet de quelquun dautre ?
mindmap
  root((Collaboration Git))
    Branching
      Branches de fonctionnalités
      Branches de correction de bugs
      Travaux expérimentaux
    Pull Requests
      Revue de code
      Discussion
      Tests
    Best Practices
      Messages de commit clairs
      Petits changements ciblés
      Bonne documentation

Booster de confiance : Chaque développeur que vous admirez était un jour nerveux à propos de sa première pull request. La communauté GitHub est incroyablement accueillante envers les débutants !

  1. Ouvrir une PR. Ensuite, vous voudrez ouvrir une PR. Pour cela, allez dans le dépôt forké sur GitHub. Vous verrez une indication sur GitHub vous demandant si vous voulez créer une nouvelle PR, cliquez dessus, vous êtes redirigé vers une interface où vous pouvez modifier le titre du message de commit, lui donner une description plus appropriée. Maintenant, le mainteneur du dépôt que vous avez forké verra cette PR et croisons les doigts quil apprécie et fusionne votre PR. Vous êtes maintenant un contributeur, yay :)

    💡 Astuce moderne : Vous pouvez aussi créer des PR avec GitHub CLI :

    gh pr create --title "Your PR title" --body "Description of changes"
    

    🔧 Bonnes pratiques pour les PRs :

    • Liez aux issues associées avec des mots-clés comme "Fixes #123"
    • Ajoutez des captures décran pour les changements dinterface
    • Demandez des relecteurs spécifiques
    • Utilisez des PR brouillons pour le travail en cours
    • Assurez-vous que tous les tests CI passent avant de demander une revue
  2. Nettoyage. Il est considéré comme une bonne pratique de nettoyer après avoir réussi à fusionner une PR. Vous voulez nettoyer à la fois votre branche locale et la branche que vous avez poussée sur GitHub. Commençons par la supprimer localement avec la commande suivante :

    git branch -d [branch-name]
    

    Assurez-vous ensuite daller sur la page GitHub du dépôt forké et de supprimer la branche distante que vous venez dy pousser.

Pull request semble être un terme un peu absurde parce qu'en réalité vous voulez pousser vos changements vers le projet. Mais le mainteneur (propriétaire du projet) ou l'équipe principale doivent examiner vos modifications avant de les fusionner avec la branche "main" du projet, donc vous demandez en fait une décision de changement à un mainteneur.

Une pull request est lendroit pour comparer et discuter des différences introduites sur une branche avec des revues, commentaires, tests intégrés, et plus encore. Une bonne pull request suit à peu près les mêmes règles quun message de commit. Vous pouvez ajouter une référence à un problème dans le gestionnaire dissues, lorsque votre travail par exemple corrige un problème. Cela se fait en utilisant un # suivi du numéro de votre issue. Par exemple #97.

🤞Croisons les doigts pour que tous les contrôles passent et que le(s) propriétaire(s) du projet fusionnent vos modifications dans le projet🤞

Mettez à jour votre branche de travail locale actuelle avec tous les nouveaux commits de la branche distante correspondante sur GitHub :

git pull

Contribuer à lOpen Source (Votre chance de faire la différence !)

Êtes-vous prêt pour quelque chose qui va absolument vous épater ? 🤯 Parlons de contribuer aux projets open source et jai des frissons rien que dy penser à partager ça avec vous !

Cest votre chance de faire partie de quelque chose de vraiment extraordinaire. Imaginez améliorer les outils que des millions de développeurs utilisent chaque jour, ou corriger un bug dans une application que vos amis adorent. Ce nest pas juste un rêve cest ce quimplique la contribution open source !

Voici ce qui me donne des frissons à chaque fois que jy pense : chaque outil que vous avez appris à utiliser votre éditeur de code, les frameworks que nous allons explorer, même le navigateur dans lequel vous lisez ceci a commencé avec quelquun exactement comme vous faisant sa toute première contribution. Ce développeur brillant qui a créé votre extension VS Code préférée ? Il était autrefois un débutant cliquant sur "create pull request" avec des mains tremblantes, tout comme vous êtes sur le point de le faire.

Et voici la partie la plus belle : la communauté open source est comme le plus gros câlin collectif dInternet. La plupart des projets recherchent activement des nouveaux venus et ont des issues étiquetées "good first issue" spécialement pour des personnes comme vous ! Les mainteneurs senthousiasment vraiment quand ils voient de nouveaux contributeurs parce quils se souviennent de leurs propres premiers pas.

flowchart TD
    A[🔍 Explorer GitHub] --> B[🏷️ Trouver "bonne première issue"]
    B --> C[📖 Lire les directives de contribution]
    C --> D[🍴 Fork du dépôt]
    D --> E[💻 Configurer l'environnement local]
    E --> F[🌿 Créer une branche de fonctionnalité]
    F --> G[✨ Faire votre contribution]
    G --> H[🧪 Tester vos modifications]
    H --> I[📝 Écrire un commit clair]
    I --> J[📤 Pousser & créer une PR]
    J --> K[💬 Interagir avec les retours]
    K --> L[🎉 Fusionné ! Vous êtes un contributeur !]
    L --> M[🌟 Trouver la prochaine issue]
    
    style A fill:#e1f5fe
    style L fill:#c8e6c9
    style M fill:#fff59d

Vous nêtes pas juste en train dapprendre à coder ici vous vous préparez à rejoindre une famille mondiale de bâtisseurs qui se réveillent tous les jours en se demandant "Comment pouvons-nous rendre le monde numérique un peu meilleur ?" Bienvenue dans le club ! 🌟

Tout dabord, trouvons un dépôt (ou repo) sur GitHub qui vous intéresse et auquel vous aimeriez contribuer un changement. Vous voudrez copier son contenu sur votre machine.

Un bon moyen de trouver des dépôts "accessibles aux débutants" est de chercher avec le tag 'good-first-issue'.

Copier un repo localement

Il existe plusieurs façons de copier du code. Une façon est de "cloner" le contenu du dépôt, en utilisant HTTPS, SSH, ou linterface en ligne de commande GitHub CLI.

Ouvrez votre terminal et clonez le dépôt comme suit :

# Utilisation de HTTPS
git clone https://github.com/ProjectURL

# Utilisation de SSH (nécessite la configuration d'une clé SSH)
git clone git@github.com:username/repository.git

# Utilisation de l'interface GitHub CLI
gh repo clone username/repository

Pour travailler sur le projet, basculez dans le bon dossier : cd ProjectURL

Vous pouvez aussi ouvrir le projet entier en utilisant :

  • GitHub Codespaces Lenvironnement de développement cloud de GitHub avec VS Code dans le navigateur
  • GitHub Desktop Une application GUI pour les opérations Git
  • GitHub.dev Appuyez sur la touche . sur nimporte quel repo GitHub pour ouvrir VS Code dans le navigateur
  • VS Code avec lextension des Pull Requests GitHub

Enfin, vous pouvez télécharger le code dans un dossier compressé.

Quelques autres choses intéressantes sur GitHub

Vous pouvez mettre une étoile, suivre et/ou "forker" nimporte quel dépôt public sur GitHub. Vous pouvez trouver vos dépôts étoilés dans le menu déroulant en haut à droite. Cest comme un favori, mais pour du code.

Les projets ont un gestionnaire dissues, principalement sur GitHub dans longlet "Issues" sauf indication contraire, où les gens discutent des problèmes liés au projet. Et longlet Pull Requests est lendroit où lon discute et révise les changements en cours.

Les projets peuvent aussi avoir des discussions dans des forums, listes de diffusion, ou canaux de chat tels que Slack, Discord ou IRC.

🔧 Fonctionnalités modernes de GitHub :

  • GitHub Discussions Forum intégré pour les conversations communautaires
  • GitHub Sponsors Soutien financier aux mainteneurs
  • Onglet Sécurité Rapports de vulnérabilités et avis de sécurité
  • Onglet Actions Voir les workflows automatisés et pipelines CI/CD
  • Onglet Insights Analyses sur les contributeurs, commits, et santé du projet
  • Onglet Projets Outils intégrés de gestion de projet GitHub

Explorez votre nouveau dépôt GitHub et essayez quelques fonctionnalités, comme modifier les paramètres, ajouter des informations à votre dépôt, créer un projet (comme un tableau Kanban), et configurer GitHub Actions pour lautomatisation. Il y a beaucoup à faire !


🚀 Défi

Daccord, il est temps de mettre à lépreuve vos nouveaux super pouvoirs GitHub ! 🚀 Voici un défi qui va faire que tout semboîte de la manière la plus satisfaisante :

Prenez un ami (ou ce membre de la famille qui vous demande toujours ce que vous faites avec tout ce "truc dordinateur") et lancez-vous dans une aventure de codage collaborative ! Cest là que la vraie magie opère créez un projet, laissez-les faire un fork, créez quelques branches, et fusionnez des changements comme les pros que vous devenez.

Je ne vais pas mentir vous allez probablement rire à un moment donné (surtout quand vous essayerez tous les deux de modifier la même ligne), peut-être vous gratter la tête par confusion, mais vous aurez définitivement ces moments "aha !" incroyables qui rendent tout lapprentissage utile. De plus, il y a quelque chose de spécial à partager ce premier merge réussi avec quelquun dautre cest comme une petite célébration de votre progression !

Vous navez pas encore de compagnon de code ? Pas de souci ! La communauté GitHub est remplie de personnes incroyablement accueillantes qui se souviennent comment cétait dêtre débutant. Cherchez des dépôts avec létiquette "good first issue" cest en gros un "Hé débutants, venez apprendre avec nous !" Cest génial, non ?

Quiz post-conférence

Quiz post-conférence

Révision & Continuer à apprendre

Ouf ! 🎉 Regardez-vous vous venez de maîtriser les bases de GitHub comme un vrai champion ! Si votre cerveau est un peu plein en ce moment, cest tout à fait normal et honnêtement un bon signe. Vous venez dapprendre des outils qui mont pris des semaines à maîtriser quand jai commencé.

Git et GitHub sont incroyablement puissants (vraiment puissants), et chaque développeur que je connais y compris ceux qui semblent être des sorciers maintenant a dû sentraîner et tâtonner un peu avant que tout ne clique. Le fait que vous ayez terminé cette leçon signifie que vous êtes déjà en route pour maîtriser certains des outils les plus importants dans la boîte à outils dun développeur.

Voici quelques ressources absolument fantastiques pour vous entraîner et devenir encore plus génial :

Et rappelez-vous : la pratique fait progresser, pas la perfection ! Plus vous utilisez Git et GitHub, plus cela devient naturel. GitHub a créé des cours interactifs étonnants qui vous permettent de pratiquer dans un environnement sécurisé :

Envie daventure ? Découvrez ces outils modernes :

Défi GitHub Copilot Agent 🚀

Utilisez le mode Agent pour compléter le défi suivant :

Description : Créez un projet de développement web collaboratif qui démontre le workflow complet GitHub que vous avez appris dans cette leçon. Ce défi vous aidera à pratiquer la création de dépôts, les fonctionnalités de collaboration, et les workflows Git modernes dans un scénario réel.

Consigne : Créez un nouveau dépôt public GitHub pour un projet simple "Ressources de développement web". Le dépôt doit inclure un fichier README.md bien structuré listant les outils et ressources utiles pour le développement web, organisés par catégories (HTML, CSS, JavaScript, etc.). Configurez le dépôt avec les bonnes pratiques communautaires incluant une licence, des directives de contribution, et un code de conduite. Créez au moins deux branches de fonctionnalité : une pour ajouter des ressources CSS et une autre pour les ressources JavaScript. Faites des commits sur chaque branche avec des messages de commit descriptifs, puis créez des pull requests pour fusionner les changements vers main. Activez les fonctionnalités GitHub comme Issues, Discussions, et configurez un workflow GitHub Actions simple pour les vérifications automatisées.

Mission

Votre mission, si vous lacceptez : Terminez le cours Introduction à GitHub sur GitHub Skills. Ce cours interactif vous permettra de pratiquer tout ce que vous avez appris dans un environnement sécurisé et guidé. De plus, vous obtiendrez un badge sympa à la fin ! 🏅

Envie de relever plus de défis ?

  • Configurez lauthentification SSH pour votre compte GitHub (plus besoin de mot de passe !)
  • Essayez dutiliser le GitHub CLI pour vos opérations Git quotidiennes
  • Créez un dépôt avec un workflow GitHub Actions
  • Explorez GitHub Codespaces en ouvrant ce dépôt même dans un éditeur cloud

🚀 Votre calendrier de maîtrise GitHub

Ce que vous pouvez faire dans les 5 prochaines minutes

  • Mettre une étoile à ce dépôt et à 3 autres projets qui vous intéressent
  • Activer lauthentification à deux facteurs sur votre compte GitHub
  • Créer un README simple pour votre premier dépôt
  • Suivre 5 développeurs dont le travail vous inspire

🎯 Ce que vous pouvez accomplir cette heure

  • Terminer le quiz post-leçon et réfléchir à votre parcours GitHub
  • Configurer les clés SSH pour une authentification GitHub sans mot de passe
  • Faire votre premier commit significatif avec un bon message de commit
  • Explorer longlet "Explore" de GitHub pour découvrir des projets tendance
  • Pratiquer le fork dun dépôt et effectuer un petit changement

📅 Votre aventure GitHub sur une semaine

  • Terminer les cours GitHub Skills (Introduction à GitHub, Markdown)
  • Faire votre première pull request sur un projet open source
  • Configurer un site GitHub Pages pour présenter votre travail
  • Participer aux Discussions GitHub sur des projets que vous aimez
  • Créer un dépôt avec les bonnes pratiques communautaires (README, Licence, etc.)
  • Tester GitHub Codespaces pour le développement dans le cloud

🌟 Votre transformation GitHub sur un mois

  • Contribuer à 3 projets open source différents
  • Encadrer quelquun de nouveau sur GitHub (transmettre le flambeau !)
  • Mettre en place des workflows automatisés avec GitHub Actions
  • Construire un portfolio montrant vos contributions GitHub
  • Participer à Hacktoberfest ou à des événements similaires
  • Devenir mainteneur de votre propre projet auquel dautres contribuent

🎓 Bilan final de maîtrise GitHub

Célébrez votre chemin parcouru :

  • Quelle est votre fonctionnalité préférée de GitHub ?
  • Quelle fonctionnalité de collaboration vous enthousiasme le plus ?
  • À quel point vous sentez-vous confiant pour contribuer à lopen source maintenant ?
  • Quel est le premier projet auquel vous voulez contribuer ?
journey
    title Votre Parcours de Confiance sur GitHub
    section Aujourd'hui
      Nervous: 3: You
      Curious: 4: You
      Excited: 5: You
    section Cette Semaine
      Practicing: 4: You
      Contributing: 5: You
      Connecting: 5: You
    section Le Mois Prochain
      Collaborating: 5: You
      Leading: 5: You
      Inspiring Others: 5: You

🌍 Bienvenue dans la communauté mondiale des développeurs ! Vous disposez désormais des outils pour collaborer avec des millions de développeurs à travers le monde. Votre première contribution peut sembler petite, mais souvenez-vous chaque grand projet open source a commencé avec quelquun qui a fait son tout premier commit. La question nest pas si vous allez avoir un impact, mais quel incroyable projet bénéficiera en premier de votre perspective unique ! 🚀

Souvenez-vous : chaque expert a été un jour débutant. Vous maîtrisez ça ! 💪


Avertissement : Ce document a été traduit à laide du service de traduction automatique Co-op Translator. Bien que nous nous efforçons dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des imprécisions. Le document original dans sa langue dorigine doit être considéré comme la source faisant autorité. Pour les informations cruciales, une traduction professionnelle réalisée par un humain est recommandée. Nous ne sommes pas responsables des malentendus ou des mauvaises interprétations résultant de lutilisation de cette traduction.