doc/doc_use_git_fr.md
2020-04-26 18:21:50 +02:00

45 lines
6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Propulser une contribution avec Git
Il est bien sûr possible de contribuer directement sur la documentation de YunoHost, mais ce nest pas la manière la plus pratique de le faire tant pour le·la contributeur·rice que pour la personne qui va injecter votre contribution dans la documentation. Voici un tutoriel pour comprendre et créer une contribution à la documentation de YunoHost en utilisant loutil [Git (en)](https://git-scm.com/) et [github.com](http://github.com/) qui est le service de forge Git qui héberge et stocke le code source de YunoHost ainsi que sa documentation.
## Création dun compte sur github.com
Pour pouvoir envoyer vos contributions via GitHub, il est nécessaire davoir un compte sur GitHub. Pour créer le compte vous aurez besoin dune adresse e-mail valide à laquelle vous avez accès. GitHub est un outil puissant qui propose de nombreuses fonctionnalités, linterface peut être un peu effrayante au début.
Vous nêtes pas obligé·e de donner vos noms et prénoms, vous pouvez utiliser un pseudonyme (lors de linscription `Username`).
## Forker la documentation de YunoHost dans votre dépôt personnel
Forker le code source permet de créer une nouvelle branche de développement dun code source de logiciel ou dans le cas présent, le code source de la documentation. En créant une nouvelle branche, cela vous permet de modifier le code et dajouter vos contributions sans altérer le code de la branche `master` qui est le rendu public de la documentation. Ce qui vous permet de ne pas devoir tout marquer mais le faire en plusieurs étapes. (Notamment pour les contributions demandant plus de temps de travail).
Forker un projet sur GitHub est extrêmement simple, il suffit de cliquer sur le bouton Fork, cela créera un nouveau dépôt sur votre espace de GitHub.
![Capture décran bouton fork GitHub](/images/dug_fork.png)
Dans le titre du nouveau dépôt, vous verrez de quelle provenance vient le dépôt, dans le cas présent `YunoHost/doc`
![Capture décran titre et sous-titre du dépot](/images/dug_fork_source.png)
> **Point de vigilance !**
> Si vous forkez le dépôt dun·e autre contributeur·rice que YunoHost, vous aurez les mêmes fichiers. Sauf que quand vous enverrez vos modifications, elles seront envoyées au contributeur et non au dépôt YunoHost. Lavantage est que ça vous permet de développer une autre branche créée par le·la contributeur·rice et ainsi travailler avec une autre personne à une amélioration avant proposition au dépôt principal.
> Il nest pas possible davoir un fork du dépot dun·e contributeur·rice et le fork dépôt dorigine au même moment dans votre propre dépôt.
## Modifier et ajouter votre contribution
Une fois le dépôt forké (copié), il faudra créer une nouvelle branche de développement au sein de votre dépôt. Cest à travers cette branche que vous allez modifier les fichiers et ainsi proposer des améliorations de la documentation. Le fait que ce soit une nouvelle branche vous permettra par la suite de faire une Pull Request, cest à dire une demande dajout de vos contributions au sein de la branche `master` qui est la branche principale de la documentation. Les règles de développement sur GitHub changent selon les développeurs de chaque dépôt, certains ont une branche testing dans laquelle il faut proposer les contributions.
Plus dinformations sur ce quest une branche sur git-scm.com : [Les branches avec Git - Ce quest une branche](https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Ce-qu-est-une-branche).
## Envoyer votre contribution par une Pull Request
Faire une Pull Request correspond au moment où vous souhaitez partager votre travail avec le reste des contributeurs⋅rices et lintégrer au dépot master (dépôt principal de YunoHost). Lors de la publication dune Pull Request, couramment nommée PR, les contributeurs⋅rices pourront amender, commenter, ajouter, corriger votre contribution avant intégration complète au dépôt.
## Suivre votre contribution et prendre en compte les retours des contributeurs·trices
Lorsque vous avez déjà fait une PR (Pull Request), les modifications de votre branche de développement sur le dépôt Git se rajouteront automatiquement à la PR. Cela ne nécessite aucune action supplémentaire. Vous pouvez aussi intégrer les propositions de modifications de contributeurs, qui lorsquils·elles auditeront le code, peuvent trouver des erreurs ou de nouvelles formulations plus adaptées.
## Faire remonter des erreurs et des souhaits par des issues
YunoHost dispose dun dépôt Git spécifique pour le recueil des issues : [github.com/YunoHost/issues](https://github.com/YunoHost/issues)
Une issue aussi appelé ticket, est un problème identifié ou alors un souhait de développement ; dans le cas présent pour la documentation, mais cest valable pour tout dépôt logiciel. Dans le cadre de la documentation de YunoHost il sera surtout proposé des issues pour le développement de la documentation, les problèmes identifiés étant facilement corrigeables.
## Aller plus loin avec Git et travailler sur son poste de travail
Utiliser la puissance de Git et ainsi travailler sur son ordinateur personnel, permet entre autres de ne pas avoir à créer de `commit` à chaque enregistrement intermédiaire des pages de documentations modifiées. Cela permet aussi dutiliser des outils et logiciels qui permettent une distinction plus facile des codes utilisés dans une page de documentation.
- Ressource en ligne : [docs.microsoft.com - Configurer un référentiel Git localement pour la documentation](https://docs.microsoft.com/fr-fr/contribute/get-started-setup-local)
## Quelques ressources ailleurs sur le net pour aller plus loin
- [Gérer son code avec Git et GitHub - openclassrooms.com](https://openclassrooms.com/fr/courses/2342361-gerez-votre-code-avec-git-et-github)
- [Interface utilisateurs·trices de Git - git-scm.com](https://git-scm.com/download/gui/linux)