Important
La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 95.16%.
1. Contribuer étape par étape
Note
Bien que la documentation de QGIS soit utilisée pour expliquer le processus, toutes les commandes et étapes montrées ci-dessous sont également applicables au site web de QGIS (dans le dépôt QGIS-Website).
Si vous lisez ces lignes, c’est sûrement parce que vous souhaitez contribuer à écrire la documentation de QGIS et cherchez un guide pratique. Vous êtes au bon endroit! Ce document vous guidera à travers les différentes façons d’atteindre cet objectif, vous indiquant les étapes principales, les astuces que vous pouvez utiliser et les pièges dont vous devez vous méfier.
Pour toute aide, n’hésitez pas à laisser un commentaire sur le ticket du problème que vous essayez de corriger ou à écrire dans la liste QGIS-community-team. Découvrez les différents canaux dans QGIS community support.
Plongeons-nous maintenant dans le processus.
Documentation sources are stored using the Git version control system and are available on GitHub at https://github.com/qgis/QGIS-Documentation. A list of issues to fix and features to explain can be found at https://github.com/qgis/QGIS-Documentation/issues.
Astuce
Si vous êtes un nouveau contributeur et que vous ne savez pas par où commencer, vous pouvez vous attaquer à nos tickets de bienvenue.
Il y a deux façons principales, non mutuellement exclusives, de modifier les fichiers :
1.1. Utiliser l’interface web de GitHub
L’interface web de GitHub vous permet de faire comme suit:
éditer des fichiers
prévisualiser et valider vos changements
Créer une pull request pour ajouter vos modifications dans le répertoire principal.
Créer, mettre à jour ou supprimer des branches
If you are not yet familiar with Git and GitHub vocabulary, you may want to read the GitHub Hello-world project to learn some basic vocabulary and actions that will be used below.
Note
Si vous corrigez un problème signalé
Si vous comptez apporter des corrections à un signalement, ajoutez un commentaire au rapport d’erreur afin de vous le faire assigner. Ceci empêchera que plus d’une personne travaille sur la même erreur.
1.1.1. Cloner la documentation de QGIS
Dans l’hypothèse où vous avez déjà un compte GitHub, il vous faudra d’abord cloner les fichiers source de la documentation.
Naviguez vers la page d’accueil du dépôt QGIS-Documentation et cliquez sur le bouton
en haut à droite.
Dans votre compte GitHub, vous trouverez un dépôt pour la documentation QGIS (https://github.com/<YourName>/QGIS-Documentation). Ce dépôt est une copie du dépôt QGIS-Documentation officiel. Vous y avez un accès complet en écriture et vous pouvez donc apporter des modifications sans affecter la documentation officielle.
1.1.2. Faire des changements
Il y a différentes façons de contribuer à la documentation QGIS. Bien que nous les exposions ci-dessous séparément, vous pouvez passer d’un processus à l’autre sans risque.
Alternative 1: Utiliser le lien Edit on GitHub
Chaque page de la documentation QGIS peut être modifiée rapidement et facilement en cliquant sur le lien Modifier sur GitHub :
dans le coin haut droit de chaque page,
ou dans le menu déroulant en bas de la barre latérale gauche.
Cela ouvrira le fichier dans la branche
qgis:masteravec un message en haut de la page vous indiquant que vous n’avez pas accès en écriture à ce dépôt et vos modifications seront appliquées à une nouvelle branche de votre dépôt.Note
If you do have write access to the QGIS repository, no message is displayed and your changes will likely be saved directly in the main repository instead of your fork. However, to keep the repository clean, it is recommended that even contributors with write access work from their forks when editing documentation.
Faites vos changements. Étant donné que la documentation est écrite à l’aide de la syntaxe reStructureText, en fonction de vos modifications, vous devrez peut-être vous baser sur les Recommandations pour la documentation.
Une fois les modifications terminées sur le fichier, appuyez sur Commit changes… et ajoutez un titre court expliquant l’objet des modifications. Vous pouvez également fournir dans l’encart en dessous une explication plus détaillée, lorsque nécessaire.
Appuyez sur Propose changes afin de sauvegarder vos modifications. Cela va générer une nouvelle branche (
patch-xxx) dans votre dépôt et le navigateur ouvrira la page Comparing changes.Si le problème que vous tentez de résoudre ne requiert pas d’autres modifications, vous pouvez passer à la section Partager vos modifications via Pull Request ci-dessous.
S’il y a des changements supplémentaires à effectuer avant de les soumettre à QGIS, suivez ces étapes :
Accédez à votre fork de documentation QGIS (
https://github.com/<YourName>/QGIS-Documentation)Sélectionnez-la. Le bouton
affiche désormais Branch: patch-xxx.Passez à la section Modifier des fichiers ci-dessous.
Alternative 2 : Créer une branche ad hoc dans votre dépôt de documentation
Vous pouvez modifier des fichiers directement à partir de votre fork de la documentation QGIS.
D’abord, assurez-vous que la branche master est à jour avec son homologue dans le dépôt original (aussi dénommé upstream), c’est-à-dire avec qgis:master. Pour cela :
Rendez-vous à la page principale de votre dépôt, c’est-à-dire.
https://github.com/<YourName>/QGIS-Documentation. La branchemasterdevrait être active avec une mention indiquant si elle est à jour ou pas avec la branchemasterdeqgis/QGIS-Documentation.Si elle contient des commits en avance sur la branche officielle, il est préférable que vous utilisiez la méthode alternative du bouton d’édition jusqu’à ce que vous ayez aligné votre branche
master.Si votre branche a des commits de retard :
Dépliez le menu déroulant Sync Fork sur la droite. Vous pouvez :
Compare : comparer les deux branches et voir les nouvelles modifications apportées à la branche dans le dépôt upstream que vous n’avez pas encore dans la vôtre.
Fetch and merge : copie les modifications présentes dans la branche distante vers la vôtre.
Appuyez sur Fetch and merge : à la fin du processus, votre branche est indiquée à jour avec
qgis/QGIS-Documentation:master.
Cliquez sur
dans le coin supérieur gauche de votre copie de dépôt QGIS-Documentation et entrez un nom unique dans le champ de texte pour créer une nouvelle branche. Il est recommandé de nommer la nouvelle branche en lien avec le problème que vous souhaitez résoudre. Pratique pour rapidement l’identifier à l’avenir.Appuyez sur Create branch <nom_branche> from master. Le bouton
devrait maintenant indiquer nom_branche.Vous êtes fin prêt.e à apporter de nouvelles modifications à votre nouvelle branche.
Attention
Faites vos changements dans une branche ad hoc, jamais dans la branche master
Par convention, évitez de faire des changements dans votre branche master sauf lorsque vous fusionnez les modifications de la branche master de qgis/QGIS-Documentation dans votre copie du dépôt QGIS-Documentation. Des branches distinctes vous permettent de travailler sur plusieurs problèmes en même temps sans interférer avec d’autres branches. Si vous faites une erreur, vous pouvez toujours supprimer une branche et recommencer en en créant une nouvelle à partir de la branche principale.
1.1.3. Modifier des fichiers
Assurez-vous que la branche à modifier est active, c’est-à-dire que son nom est affiché dans le menu en haut à gauche, ou dans l’URL de la page.
Parcourez les fichiers source jusqu’au fichier à modifier.
Procédez à vos modifications en suivant les règles d’écriture.
Une fois les modifications terminées sur le fichier, appuyez sur Commit changes… et ajoutez un titre court expliquant l’objet des modifications. Vous pouvez également fournir dans l’encart en dessous une explication plus détaillée, lorsque nécessaire.
Assurez-vous que l’option Commit directly to the <nom_branche> branch est sélectionnée.
Appuyez sur Commit changes afin de sauvegarder vos modifications dans la branche.
Pour mettre à jour ou ajouter une image :
Parcourez votre branche jusqu’au dossier du fichier à mettre à jour ou ajouter.
En haut à droite, utilisez le menu pour sélectionner et charger le ou les fichiers depuis votre disque dur. Pour ce qui est du formatage du fichier image à utiliser, vous trouverez des conseils dans la documentation à Les Captures d’écrans.
Si un fichier de même nom existe déjà, il sera écrasé.
Validez une fois encore vos modifications dans la branche cible.
Répétez les étapes précédentes pour tout autre fichier qui doit être mis à jour pour résoudre le problème.
1.1.5. Supprimez votre branche fusionnée
Vous pouvez supprimer la branche une fois vos modifications fusionnées. La suppression d’anciennes branches vous évite d’avoir des branches inutilisées et obsolètes dans votre dépôt.
1.2. Utiliser les outils de ligne de commande Git
L’interface Web GitHub est un moyen facile de mettre à jour le dépôt de documentation QGIS avec vos contributions, mais elle ne propose pas d’outils pour :
regroupez vos commits et nettoyez votre historique des changements
résoudre les conflits possibles avec le dépôt principal
construire la documentation pour tester vos modifications
You need to install Git on your hard drive in order to get access to more advanced and powerful tools and have a local copy of the repository. Some basics you may often need are exposed below. You’ll also find rules to care about even if you opt for the web interface.
Dans les exemples de code ci dessous, les lignes commençant par $ représente les commandes que vous aurez à taper, alors que les # sont des commentaires.
1.2.1. Dépôt local
Vous êtes maintenant prêt à obtenir un clone local de votre dépôt de documentation QGIS.
Vous pouvez cloner votre dépôt QGIS à l’aide de l’URL Web comme suit :
# move to the folder in which you intend to store the local repository
$ cd ~/Documents/Development/QGIS/
$ git clone https://github.com/<YourName>/QGIS-Documentation.git
The former command line is simply an example.
You should adapt both the path and the repository URL, replacing <YourName>
with your GitHub user name.
Vérifiez les points suivants :
# Enter the local repository
$ cd ./QGIS-Documentation
$ git remote -v
origin https://github.com/<YourName>/QGIS-Documentation.git (fetch)
origin https://github.com/<YourName>/QGIS-Documentation.git (push)
$ git branch
* master
origin est le nom du dépôt distant de votre dépôt QGIS-Documentation.
master est la branche principale par défaut. Vous ne devriez jamais l’utiliser pour vos contributions ! Jamais!
Vous pouvez également cloner votre dépôt QGIS à l’aide du protocole SSH :
# move to the folder in which you intend to store the local repository
$ cd ~/Documents/Development/QGIS/
$ git clone [email protected]:<YourName>/QGIS-Documentation.git
Astuce
Permission denied (publickey) error?
Si vous obtenez une erreur Autorisation refusée (publickey) avec l’ancienne commande, il peut y avoir un problème avec votre clé SSH. Voir Aide GitHub pour plus de détails.
Vérifiez les points suivants si vous avez utilisé le protocole SSH:
# Enter the local repository
$ cd ./QGIS-Documentation
$ git remote -v
origin [email protected]:<YourName>/QGIS-Documentation.git (fetch)
origin [email protected]:<YourName>/QGIS-Documentation.git (push)
$ git branch
* master
You can start to work here but in the long term process you will get a lot of issues when you will push your contribution (called Pull Request in GitHub process) as the master branch of the qgis/QGIS-Documentation repository will diverge from your local/remote repository. You then need to keep track of the main remote repository and work with branches.
1.2.2. Ajoutez un autre dépôt distant
Pour pouvoir suivre l’avancement du travail réalisé sur le projet principal, ajoutez un nouveau dépôt distant dans votre dépôt local. Ce nouveau dépôt distant sera le dépôt QGIS-Documentation du projet QGIS :
$ git remote add upstream https://github.com/qgis/QGIS-Documentation.git
$ git remote -v
origin https://github.com/<YourName>/QGIS-Documentation.git (fetch)
origin https://github.com/<YourName>/QGIS-Documentation.git (push)
upstream https://github.com/qgis/QGIS-Documentation.git (fetch)
upstream https://github.com/qgis/QGIS-Documentation.git (push)
De même, vous pouvez utiliser le protocole SSH pour ajouter un dépôt distant dans votre dépôt local :
$ git remote add upstream [email protected]:qgis/QGIS-Documentation.git
$ git remote -v
origin [email protected]:<YourName>/QGIS-Documentation.git (fetch)
origin [email protected]:<YourName>/QGIS-Documentation.git (push)
upstream [email protected]:qgis/QGIS-Documentation.git (fetch)
upstream [email protected]:qgis/QGIS-Documentation.git (push)
Désormais, vous avez le choix entre deux dépôts distants :
origin pour « pousser » votre branche locale dans votre dépôt distant
upstream pour fusionner (si vous avez les droits pour le faire) votre contribution avec le dépôt officiel OU pour mettre à jour votre branche « master » sur le dépôt local à partir de la branche « master » du dépôt officiel.
Note
upstream est juste un intitulé, une sorte de nom standard, mais vous pouvez l’appeler comme vous voulez.
1.2.3. Mettez à jour votre branche de base
Avant de travailler sur une nouvelle contribution, vous devez toujours mettre à jour votre branche principale dans votre dépôt local. En supposant que vous souhaitiez apporter des modifications à la documentation de test, exécutez les lignes de commande suivantes :
# switch to master branch (it is easy to forget this step!)
$ git checkout master
# get "information" from the master branch in the upstream repository
# (aka qgis/QGIS-Documentation's repository)
$ git fetch upstream master
# merge update from upstream/master to the current local branch
# (which should be master, see step 1)
$ git merge upstream/master
# update **your** remote repository (aka <YourName>/QGIS-Documentation)
$ git push origin master
Vous avez maintenant vos dépôt locaux et distants qui ont tous deux leur branche master à jour avec la branche master officielle de la documentation QGIS. Vous pouvez commencer à travailler sur votre contribution.
Note
Changez de branche si vous souhaitez contribuer au document publié
En parallèle de la documentation de test, nous continuons à résoudre les problèmes de la dernière version, ce qui signifie que vous pouvez également y contribuer. Suivez l’exemple de code de la section précédente, en remplaçant master par la branche correspondante de la dernière documentation.
1.2.4. Contribuez dans votre branche de production
Maintenant que la branche de base est mise à jour, il vous faut créer une branche spéciale pour accueillir vos modifications. Ayez le réflexe de toujours travailler sur une branche autre que celle de base - souvent la master! Toujours!
# Create a new branch
$ git checkout -b myNewBranch
# checkout means go to the branch
# and -b flag creates a new branch if needed, based on current branch
# Let's check the list of existing branches (* indicates the current branch)
$ git branch
master
release_2.18
...
* myNewBranch
# You can now add your contribution, by editing the concerned file(s)
# with any application (in this case, vim is used)
$ vim myFile
# once done
$ git add myFile
$ git commit
Quelques remarques à propos des commandes de commit/push :
essayez de ne « commiter » qu’une seule contribution (changement atomique). En d’autres termes, n’adressez qu’une seule erreur à la fois.
essayez d’expliquer avec soin ce que vous avez modifié dans le titre de votre commit et dans la description. La première ligne est un titre, doit commencer par une lettre majuscule, devra contenir 80 caractères au maximum et ne devra pas se terminer par un
.. Soyez concis. Votre description peut être plus longue et se termine par un.. Vous pouvez y donner plus de détails.utilisez un
#avec un nombre pour faire référence à un problème. Préfixez avecFixsi vous fixez le ticket: votre commit fermera le ticket.
Maintenant que vos modifications sont sauvegardées et intégrées dans votre branche locale, il va falloir les envoyer sur le dépôt en ligne, afin de pouvoir créer des pull-requests:
$ git push origin myNewBranch
1.2.6. Nettoyez votre dépôt local et distant.
Une fois que votre PR a été fusionnée dans le dépôt officiel QGIS-Documentation, vous pouvez supprimer votre branche. En effet, si vous contribuez souvent, vous vous retrouverez d’ici quelques semaines avec un nombre considérable de branches inutilisées. Du coup, gardez votre dépôt propre de cette façon :
# delete local branch
$ git branch -d myNewBranch
# Remove your remote myNewBranch by pushing nothing to it
$ git push origin :myNewBranch
Et n’oubliez pas de mettre à jour la branche master dans votre dépôt local!
1.3. Pour aller plus loin
Other than the GitHub web interface and the Git command line tools exposed above, there are also GUI applications you can use to create and manage your contributions to the documentation.
Lorsque les modifications de la demande d’extraction sont en conflit avec des modifications récentes transmises à la branche cible, les conflits doivent être résolus avant qu’une fusion ne soit possible:
si le conflit concerne quelques lignes concurrentes, un bouton Résoudre les conflits est disponible dans la page de demande d’extraction GitHub. Appuyez sur le bouton et résolvez le problème comme expliqué sur la page Résolution d’un conflit de fusion sur GitHub
if the conflict involves files renaming or removal, then you’d need to resolve the conflict using Git command lines. Typically, you have to first rebase your branch over the target branch using
git rebase targetBranchcall and fix the conflicts that are reported. Read more at Resolving a merge conflict using the command line
Parfois, à la fin du processus de relecture, vous pouvez vous retrouver avec des modifications divisées en plusieurs validations qui n’en valent pas nécessairement la peine. Les lignes de commande Git vous aident à écraser ces validations en un nombre plus petit et en des messages de validation plus significatifs. Quelques détails sur Utilisation du rebasage git en ligne de commande





