Prérequis : Aucun - parfait pour débuter !
Objectif : Réaliser sa première Pull Request sur GitHub
- Prérequis
- Objectifs
- Étape 1 : Créer votre compte GitHub
- Étape 2 : Choisir un projet
- Étape 3 : Explorer le projet
- Étape 4 : Configurer Git
- Étape 5 : Fork du projet
- Étape 6 : Cloner votre fork
- Étape 7 : Créer une branche
- Étape 8 : Faire vos modifications
- Étape 9 : Commiter vos changements
- Étape 10 : Pousser vos changements
- Étape 11 : Créer une Pull Request
- Étape 12 : Après la Pull Request
- Récapitulatif
- FAQ
Avant de commencer, assurez-vous d'avoir :
- Un ordinateur avec une connexion internet
- Git installé sur votre machine (📥 Télécharger Git)
- Un éditeur de code (VS Code recommandé)
💡 Astuce : Pour vérifier si Git est installé, tapez
git --version
dans votre terminal
À la fin de ce codelab, vous aurez :
- ✅ Créé votre compte GitHub
- ✅ Fait votre première contribution (fork + pull request)
- ✅ Compris le workflow de contribution
- Rendez-vous sur github.com
- Cliquez sur "Sign up"
- Remplissez le formulaire :
- Username : choisissez un nom professionnel (vous pourrez l'utiliser sur votre CV)
- Email : utilisez votre email principal
- Password : créez un mot de passe sécurisé
- Vérifiez votre compte via l'email reçu
Pour ce codelab, nous vous proposons plusieurs projets selon votre appétence :
- Projet : Codelab Java
- Types de contributions : Corriger des fautes, améliorer la documentation
- Projet : Codelab Python
- Types de contributions : Ajouter des fonctions simples, corriger des bugs
- Projet : Codelab ReactJs
- Types de contributions : Nouvelles fonctionnalités, refactoring
- Visitez le repository du projet choisi
- Lisez le fichier
README.md
pour comprendre le projet - Consultez les Issues ouvertes (onglet "Issues")
- Cherchez les labels :
- 🏷️
good first issue
: parfait pour débuter - 🏷️
help wanted
: les mainteneurs cherchent de l'aide - 🏷️
documentation
: pour les améliorations de doc
- 🏷️
Fichiers importants à consulter :
Fichier | Description |
---|---|
README.md |
Description du projet, installation, usage |
CONTRIBUTING.md |
Règles de contribution |
Issues |
Problèmes à résoudre ou fonctionnalités demandées |
Pull Requests |
Contributions en cours de review |
- Cliquez sur l'onglet "Issues"
- Filtrez par label
good first issue
- Lisez plusieurs issues pour comprendre ce qui est demandé
- Choisissez une issue qui vous intéresse et semble à votre portée
Bonjour ! Je suis nouveau/nouvelle dans les contributions open source et
j'aimerais travailler sur cette issue. Puis-je m'en charger ? Merci !
Ouvrez votre terminal et configurez Git avec vos informations :
# Configuration de votre nom (utilisez votre vrai nom)
git config --global user.name "Votre Nom"
# Configuration de votre email (le même que GitHub)
git config --global user.email "votre.email@example.com"
# Vérification de la configuration
git config --list
🔍 Vérification : Vous devriez voir vos informations s'afficher
- Sur la page GitHub du projet, cliquez sur le bouton "Fork" (en haut à droite)
- Sélectionnez votre compte personnel comme destination
- Attendez que le fork se crée (quelques secondes)
💡 Qu'est-ce qu'un fork ?
Un fork est votre copie personnelle du projet. Vous pouvez y faire tous les changements que vous voulez sans affecter le projet original.
Projet Original → Votre Fork
(lecture) (lecture + écriture)
- Sur votre fork (pas le projet original !), cliquez sur "Code"
- Copiez l'URL HTTPS
# Remplacez [VOTRE-USERNAME] et [NOM-DU-PROJET] par les vraies valeurs
git clone https://github.com/[VOTRE-USERNAME]/[NOM-DU-PROJET].git
# Exemple :
git clone https://github.com/johndoe/simple-calculator.git
# Entrez dans le dossier du projet
cd [NOM-DU-PROJET]
# Vérifiez que tout fonctionne
ls -la
✅ Checkpoint : Vous devriez voir les fichiers du projet dans votre terminal
Ne jamais travailler directement sur la branche
main
!
# Créez et basculez sur une nouvelle branche
# Utilisez un nom descriptif de votre contribution
git checkout -b fix-typo-in-readme
# Autres exemples :
# git checkout -b add-multiplication-function
# git checkout -b update-installation-docs
# Vérifiez que vous êtes sur la bonne branche
git branch
✅ Bon | ❌ Éviter |
---|---|
fix-login-bug |
fix |
add-new-feature |
add new feature |
update-readme |
changes |
Pattern recommandé : verbe-description-courte
# Si vous utilisez VS Code
code .
# Ou ouvrez manuellement le dossier dans votre éditeur préféré
Selon l'issue choisie, vous pourriez :
- Corriger les fautes de frappe
- Améliorer des phrases peu claires
- Ajouter des exemples
- Mettre à jour des liens brisés
- Ajouter une nouvelle fonction
- Corriger un bug
- Améliorer les tests
- Optimiser les performances
# Si le projet a des tests, lancez-les
npm test
# ou
python -m pytest
# ou suivez les instructions du README
# Testez manuellement votre code si nécessaire
Le guide de contribution du projet contient les informations nécéssaires pour lancer les tests du projet.
⚠️ Important : Assurez-vous que vos changements ne cassent pas le projet existant !
# Voir quels fichiers ont été modifiés
git status
# Voir le détail des changements
git diff
# Ajouter tous les fichiers modifiés
git add .
# Ou ajouter des fichiers spécifiques
git add README.md src/calculator.js
# Commit avec un message clair et descriptif
git commit -m "Fix typo in installation instructions"
# Autres exemples :
# git commit -m "Add multiplication function to calculator"
# git commit -m "Update broken links in contributing guide"
✅ Bon | ❌ Éviter |
---|---|
Fix typo in README |
fixed some stuff |
Add login validation |
changes |
Remove deprecated function |
updates |
Règles d'or :
- Utilisez l'impératif : "Fix bug" plutôt que "Fixed bug"
- Soyez concis mais descriptifs (50 caractères max)
- Commencez par une majuscule
- Pas de point final
# Pousser votre branche vers votre fork
git push origin [nom-de-votre-branche]
# Exemple :
git push origin fix-typo-in-readme
📝 Note : Si c'est votre premier push sur cette branche, Git vous donnera une URL GitHub pour créer une pull request. Copiez-la !
3 méthodes au choix :
- Méthode 1 : Cliquez sur l'URL fournie par Git dans le terminal
- Méthode 2 : Allez sur votre fork GitHub, vous verrez un bandeau jaune "Compare & pull request"
- Méthode 3 : Projet original > onglet "Pull requests" > "New pull request"
Résumé concis de votre contribution
Fix typo in README installation section
Expliquez votre contribution de manière détaillée
## Description
Cette PR corrige une faute de frappe dans la section d'installation du README.
## Changements apportés
- Correction de "instalation" en "installation" ligne 23
- Amélioration de la clarté de la phrase d'introduction
## Tests
- [x] J'ai relu les modifications
- [x] Les liens fonctionnent correctement
- [x] Le formatage Markdown est correct
Résout l'issue #42
Important : Vérifiez ces paramètres avant de créer la PR
Paramètre | Valeur correcte |
---|---|
Base repository | Le projet original (pas votre fork !) |
Base branch | main ou master |
Head repository | Votre fork |
Compare branch | Votre branche de travail |
Cliquez sur "Create pull request"
🎉 Félicitations ! Vous venez de créer votre première pull request !
- Review : Les mainteneurs vont examiner votre code
- Feedback : Ils peuvent demander des modifications
- Tests automatiques : Le code peut être testé automatiquement
- Merge : Si tout va bien, votre PR sera fusionnée ! 🎊
Ne paniquez pas ! C'est normal et formateur.
- Faites les modifications sur votre branche locale
- Commitez les changements
- Poussez la branche (
git push origin [nom-branche]
) - La PR sera automatiquement mise à jour ✨
- ✅ Répondez rapidement aux commentaires
- ✅ Remerciez pour les reviews
- ✅ Ne prenez pas les critiques personnellement
- ✅ Soyez patient, les mainteneurs sont souvent bénévoles
- ✅ Posez des questions si quelque chose n'est pas clair
Voici le workflow que vous venez d'apprendre :
graph LR
A[Fork] --> B[Clone]
B --> C[Branch]
C --> D[Edit]
D --> E[Commit]
E --> F[Push]
F --> G[Pull Request]
G --> H[Review]
H --> I[Merge]
- ✅ Fork → Créer votre copie du projet
- ✅ Clone → Télécharger le code sur votre machine
- ✅ Branch → Créer une branche pour vos modifications
- ✅ Edit → Faire vos changements
- ✅ Commit → Sauvegarder vos changements
- ✅ Push → Envoyer vos changements sur GitHub
- ✅ Pull Request → Demander l'intégration de vos changements
- Trouvez d'autres issues sur le même projet
- Explorez de nouveaux projets sur GitHub
- Rejoignez des communautés (Discord, Slack)
- Apprenez les bonnes pratiques de Git
- Lisez sur les conventions de code
- Participez à des événements comme Hacktoberfest
Ressource | Description |
---|---|
GitHub Docs | Documentation officielle |
Pro Git Book | Livre complet sur Git |
First Contributions | Projet pour s'exercer |
🚫 "Je ne vois pas le bouton Fork"
Solution : Vous devez être connecté à GitHub. Vérifiez que vous êtes bien logged in.
💻 "git command not found"
Solution : Git n'est pas installé ou pas dans votre PATH.
- Téléchargez Git depuis git-scm.com
- Redémarrez votre terminal après installation
🔒 "Permission denied" lors du push
Solution : Vérifiez que vous poussez vers votre fork, pas le projet original.
git remote -v
# origin doit pointer vers votre fork
⚡ "Conflicts" dans ma PR
Solution : Le projet original a évolué. Vous devez synchroniser votre fork :
git checkout main
git pull upstream main
git checkout votre-branche
git merge main
❌ Ma PR a été fermée sans explication
Solution : Relisez le CONTRIBUTING.md
. Votre PR ne respectait peut-être pas les règles du projet.
Si vous rencontrez des problèmes pendant le codelab :
- 🙋 Levez la main pour qu'un mentor vienne vous aider
- 👀 Regardez l'écran pour les solutions aux problèmes courants
- 🤝 Entraidez-vous avec vos voisins
Rappel important : Il est normal de rencontrer des difficultés lors de sa première contribution. L'important est d'apprendre et de persévérer !
Cochez au fur et à mesure de votre progression :
- 🥇 First Timer : Compte GitHub créé
- 🥈 Explorer : Projet analysé et issue choisie
- 🥉 Coder : Modifications effectuées localement
- 🏆 Contributor : Première PR créée
- 🌟 Open Source Hero : PR mergée !
🎉 Félicitations et bienvenue dans le monde de l'Open Source !
"The best way to get started is to quit talking and begin doing." - Walt Disney
Happy coding! 🚀
Créé avec ❤️ pour la communauté Open Source