Faites vos premiers pas dans la communauté Open Transport
Vous êtes prêt ? Alors on commence.
Notre point de départ : nous approprier le projet Open Transport. Sans cela, nous n’irions pas bien loin. La question est donc : comment intégrer une communauté open source ?
Il n'y a évidemment pas de réponse absolue, dans la mesure où chaque communauté peut avoir ses spécificités. Néanmoins, on retrouve souvent des éléments similaires d’un projet à l’autre, comme un fichier README, des directives de collaboration, un code de conduite ou encore une licence.
Le projet Open Transport est disponible sur GitHub à cette adresse : https://github.com/OpenClassrooms-Student-Center/7688581-Expert-Git-GitHub.
Avant d’entrer dans le vif du sujet, je vous propose de consulter les éléments suivants :
le fichier README qui donne les informations générales sur le projet ;
le fichier CONTRIBUTING pour les directives de collaboration ;
le fichier CODE OF CONDUCT pour les règles de conduite au sein du projet.
C’est bien sympa tout cela, mais moi je me sers de GitHub dans le contexte de mon entreprise, et pas du tout de l’open source. À quoi cela va me servir ?
Rassurez-vous, j’ai créé ce contexte fictif pour que vous puissiez vous projeter dans des situations concrètes. Même si vous ne travaillez pas dans un contexte open source, vous pourrez appliquer ce que nous allons voir ensemble dans n’importe quel environnement professionnel ou personnel.
La différence sera, bien évidemment, la non-mise à disposition des repositories (dépôts) GitHub auprès du grand public.
Mettez en place votre environnement
Maintenant que vous avez pris connaissance du projet open source et de ses documents associés, vous allez pouvoir faire vos premières actions sur le projet. Mais pour cela, il faut que votre environnement de travail soit opérationnel !
De quoi ai-je besoin ?
Bonne question ! Dans le cadre de ce cours, j’ai souhaité rendre les choses les plus simples possible. Je vous demande d’avoir à disposition :
un navigateur comme Google Chrome pour accéder à GitHub ;
une installation en local de Git ;
un éditeur de texte comme Sublime Text ;
un compte personnel GitHub.
Je ne vous fait pas l'offense de vous montrer comment installer un navigateur (que vous avez déjà, sinon vous ne pourriez pas consulter ce cours ) ni un éditeur de texte. En revanche, si vous avez besoin d’aide pour installer Git, je vous conseille de suivre ce chapitre du cours Gérez du code avec Git et GitHub.
Maintenant que tout est prêt, une étape importante nous attend : Forker le projet !
Mais attends, alors un fork c’est la même chose qu’un clone du projet ?
Fondamentalement, un fork et un clone sont similaires : tous deux sont des copies du projet. Mais il y a bien une différence dans leur lien avec le projet originel. Un clone maintient un lien avec le projet. Par conséquent, si vous faites un git push, la modification sera (uniquement) envoyée au projet originel. En revanche, le fork est complètement isolé du projet originel. Pour envoyer une modification au projet originel, vous devez soumettre une pull request.
Autre différence importante : forker un repository GitHub crée un autre repository GitHub. Alors que cloner un repository GitHub crée seulement une copie locale sur votre ordinateur.
Et si je veux travailler en local sur un fork ?
Bonne question ! La réponse est simplement de cloner en local le fork qui est sur votre repository GitHub. Vous aurez donc 2 actions à réaliser :
Forker le projet – ce qui aura pour conséquence de dupliquer le projet en créant un nouveau repo dans votre compte GitHub.
Cloner le nouveau repository créé dans votre compte GitHub – ce qui va créer une copie locale du fork sur votre ordinateur.
Découvrons maintenant comment forker puis cloner en local le projet Open Transport dans la démonstration suivante :
Félicitations, vous êtes prêt pour votre première contribution.
Apportez votre première contribution
Pour permettre à tous de contribuer, Open Transport utilise la fonctionnalité GitHub Issues.
Ainsi, une façon de commencer à contribuer est de lire les issues du projet et d’en choisir une à notre portée technique. Je vous laisse parcourir la liste des issues du projet Open Transport.
Je vous propose de traiter la première issue, qui correspond à une erreur de texte dans le fichier README.md :
Notre plan d’attaque est le suivant :
Modifier en local le fichier README.md.
Faire un git add, un git commit (avec le numéro de l’issue dans le message, cf. les règles de contribution) et un git push pour envoyer la modification sur notre repository distant (le fork).
Créer une pull request via l’interface graphique de GitHub.
Pour les étapes 1 et 2, je vous fais entièrement confiance, vous n’avez pas besoin de mon aide ! Sinon, je vous invite à consulter ce chapitre du cours Gérez du code avec Git et GitHub.
Pour l’étape 3, voici comment faire :
Premièrement rendez-vous sur l’onglet Pull Request de votre repository GitHub :
Deuxièmement, cliquez sur le bouton
qui apparaît dans la zone centrale sur la droite.
Vous êtes désormais sur une page similaire à la copie d’écran ci-dessous :
Notons avec intérêt que le premier encart gris clair indique bien que la pull request va vers le repository de base (lire la ligne de droite à gauche, car la flèche est <-), et qu’il y a la mention “Able to merge”. Tous les signaux sont au vert, il suffit désormais d’appuyer sur le bouton .
Assez simple, finalement, ne trouvez-vous pas ?
Comme le précisent les règles de contribution, votre pull request sera ensuite revue et traitée.
À vous de jouer !
Je vous propose de pratiquer une nouvelle fois en traitant l’issue n° 2 !
Les étapes sont les mêmes que dans l’exemple précédent :
Modifier en local le fichier.
Faire un git add, un git commit et un git push pour envoyer la modification sur notre repository distant (le fork).
Créer une pull request via l’interface graphique de GitHub.
C’est parti, à vous de jouer !
Corrigé
Retrouvez-moi dans la démonstration suivante pour la correction !
En résumé
Avant de contribuer à un projet open source, prenez connaissance de ses directives de collaboration.
Pour contribuer à un projet open source, vous devez le forker puis cloner le nouveau repository sur votre poste de travail.
Identifiez votre périmètre d’action en consultant les issues du projet.
Proposez des modifications au projet en réalisant des pull requests.
Vous avez apporté votre première contribution au projet Open Transport : toutes mes félicitations ! 🥳 Rendez-vous au chapitre suivant pour résoudre vos premiers conflits.