/Devenir Contributeur de projet Open-Source

Devenir Contributeur de projet Open-Source

Cet article a pour but, de vous initier et de vous sensibiliser à la contribution, afin de devenir un contributeur de projet Open-Source.

Pour cela, je vais prendre comme exemple Symfony et les composants qui l’entourent.

Initialisation

Avant de commencer, il faudra dans un premier temps créer un compte Github : https://github.com.

Si le projet est sur Gitlab ou Bitbucket, il faudra un compte sur la même plateforme que le projet que vous voulez contribuer.

Pour Symfony et les composants, c’est Github.

Installation

Désormais que vous avez un compte sur Github, nous allons sur le projet Symfony (A savoir Symfony et ses composants sont sur le même git).

Page Github Officiel de Symfony

Vous allez cliquer sur le bouton « Fork » situé en haut à droite de la page projet.

Page Github Officiel de Symfony avec Fork selectionner

Puis choisissez votre profil afin que Github vous créer un dépôt clone de Symfony sur votre profil Github.

Démarrage

Désormais que vous avez fork le projet Github, nous allons commencer désormais à cloner le projet Symfony.

En SSH

git clone git@github.com:Username/symfony.git

En HTTPS

git clone https://github.com/Username/symfony.git

Maintenant que vous avez cloner le projet Symfony de votre dépôt, nous allons désormais commencer à créer une branche spécifique pour cette contribution.

git checkout -b translation_test

Admettons que le composant translation (symfony/src/Symfony/Component/Translation) manque des tests unitaires (symfony/src/Symfony/Component/Translation/Tests/Command/XliffLintCommandTest.php).

Vous allez faire un ajout / modification dans ce fichier. Dès que vous avez fini votre ajout / modification, nous allons faire les pré requis avant de faire un commit sur votre branche.

Tester …

A savoir sur Symfony, il y a des tests unitaires / fonctionnels qui permettent d’éviter les régressions et valider le code. Mais d’autres n’en ont peu ou pas malheureusement mais c’est fort conseiller de les faire si cela est possible.

Soumission de la contribution

Vous avez effectués les tests sur votre environnement local, on va maintenant pousser ce code sur votre dépôt Git distant.

git add ... // liste des fichiers

On met un joli message de commit.

git commit -m "Adding more tests"
git push origin translation_test

Maintenant le code est actuellement sur votre dépôt Github fork du projet Symfony. Pour ma part c’est TheGarious/Symfony. Il faudra cliquer sur le bouton Compare & pull request situé dans l’encadrement jaune.

Maintenant vous êtes sur la page de la pull request, ce qui est important avant d’appuyer sur Create pull request :

  • Choisir la bonne branche sur lequel vous voulez faire votre merge.
  • Créer un titre court et résumer bien votre pull request
  • Modifier ou créer un message qui permet de déterminer votre pull request (A savoir, sur Symfony un template de base est présent pour facilité les messages dans les pull requests)
  • En bas de la page vous avez les commits et les fichiers modifiés qui vous permettra de vérifier si vous n’avez pas fait quelques bêtises.

Félicitation

Dès lors que vous avez appuyé sur le bouton Create pull request, le dépôt officiel Symfony a reçu votre pull request. Vous devez désormais surveiller et attendre l’acceptation ou un retour d’un responsable, au cas où une demande de modification à faire afin de le valider au final.

Désormais vous savez comment contribuer sur les projets open-source.

YES