Ce projet est un effort communautaire. Les nouveaux contributeurs sont les bienvenus. Les règles de décision et de gouvernance sont détaillées dans le document Gouvernance.
Différente manière de contribuer
Répondre à une question sur une issue
De nombreuses questions sont posées sur les issues. Vous pouvez y répondre en donnant des conseils, ou en proposant une solution.
Créer une nouvelle issue
Si vous avez trouvé un bug, ou si vous avez une question sur une fonctionnalité, vous pouvez créer une nouvelle issue.
En cas de bug, il est important de donner un exemple reproductible reprex
.
Celui-ci contient le code nécessaire pour reproduire le bug, et le
message d’erreur complet. Il est très important pour qu’un développeur
plus expérimenté puisse comprendre le problème et vous aider.
Contribuer à la documentation
Contribuer à la documentation est aussi important que de contribuer au code. Vous pouvez proposer des modifications à la documentation en créant une pull request. Les petites erreurs et modifications peuvent être corrigée directment dans l’interface web GitHub.
NB: La documentation est principalement dans le code
R, et est générée avec le paquet roxygen2. Pour la
modifier il faut donc modifier les fichiers .R
dans le
dossier R/
du projet.
Contribuer au code
Afin de résoudre un bug, ou d’ajouter une nouvelle fonctionnalité, vous pouvez créer une pull request.
Principes généraux de contribution
Eviter la duplication : Avant de soumettre une nouvelle issue, ou une nouvelle pull request, il est important de s’assurer qu’aucun autre contributeur n’a déjà posé la même question ou contribuer sur le même thème.
Etre patient : Les contributeurs sont bénévoles, effectuent la plupart du travail sur leur temps libre et peuvent ne pas répondre immédiatement à vos questions.
Etre respectueux : Les contributeurs viennent de différents horizons, et ont des niveaux de compétences différents. Il est important de respecter les opinions des autres, et de rester bienveillant.
Processus d’acceptation des pull requests
- Il est recommandé de créer une nouvelle branche git pour chaque nouvelle pull request (PR).
- Un code nouveau proposant une nouvelle fonctionnalité doit respecter les conventions de style R. Vous pouvez utiliser le paquet styler pour appliquer ces styles, mais s’il vous plait ne restyler pas du code qui n’a rien à faire avec votre PR.
- Nous utilisons roxygen2, avec la syntaxe Markdown pour la documentation.
- Nous suivons le
guide de style de code R du tidyverse. La seule différence avec le
guide actuel est que nous utilisons le pipe natif
|>
au lieu de%>%
. - Pour SQL, nous suivons le guide de style SQL de Mozilla.
- Nous utilisons testthat pour les tests. Les contributions avec des tests inclus sont acceptés plus facilement.
- Une nouvelle PR doit être revue par au moins un core contributeur avant d’être intégrée.
Comment contribuer concrètement ?
Afin de modifier le code, il est au préalable nécessaire de forker le dépôt principal sur GitHub, puis de soumettre une “pull request” (PR).
Dans les premières étapes, nous expliquons comment installer localement {sndsTools} et comment configurer votre dépôt git :
Créez un compte sur GitHub si vous n’en avez pas déjà un.
Forkez le dépôt du projet : cliquez sur le bouton “Fork” en haut de la page. Cela crée une copie du code sur votre compte GitHub. Pour plus de détails sur la manière de forker un dépôt, consultez ce guide.
Clonez votre fork du dépôt {sndsTools} depuis votre compte GitHub sur votre disque local :
- Ouvrez le projet dans Rstudio et installez localement le paquet avec les dépendances de développement. Dans la console R, lancez :
devtools::install(dependencies = TRUE)
- Ajoutez le dépôt
upstream remote
. Cela sauvegarde la référence du dépôt {sndsTools}, que vous pouvez utiliser pour garder votre version synchronisée avec les derniers changements.
Vous devriez désormais avoir une installation fonctionnelle de {sndsTools}, et votre dépôt git correctement configuré. Vous pouvez maintenant commencer à contribuer en modifiant le code et en soumettant une PR.
- Synchronisez votre branche
main
avec la brancheupstream/main
, plus de détail sur la documentation GitHub:
- Créez une nouvelle branche pour votre contribution :
Et commencez à faire vos changements. Utilisez toujours une branche
différente pour chaque nouvelle fonctionnalité ou bug fix. C’est une
bonne pratique de ne jamais coder sur la branche main
.
- Une fois que vous avez terminé vos modifications, vous pouvez les commiter :
puis les pousser sur votre fork :
- Suivez ces instructions pour créer une pull request de votre travail. Cela enverra un mail aux mainteneurs du projet pour qu’ils puissent examiner votre code.
Il est possible qu’à un moment, vous ayez besoin de résoudre des conflits, si d’autres contributeurs ont modifié le code pendant que vous travailliez sur votre branche. Vous pouvez vous référer à cette documentation pour résoudre les conflits.