Merci de nous aider sur ce projet ou d'envisager de le faire. Tout type de contribution est bienvenue.
N'hésitez pas à formuler toute proposition de nouvelle documentation, question, signalement d'anomalie ou demande d'évolution fonctionnelle dans une nouvelle issue.
Vous pouvez également parcourir les issues existantes pour voir si le sujet n'a pas déjà été abordé et apporter des informations complémentaires ou proposer des pistes de solutions.
Si vous voulez corriger une anomalie ou apporter une nouvelle fonctionnalité vous-même, faites ces modifications dans un fork du dépôt et soumettez-nous une pull request.
N'hésitez pas à consulter la documentation rédacteur si vous voulez modifier le contenu du site ou développeur si vous voulez modifier ses fonctionnalités.
Ci-dessous, un guide pas à pas décrit le processus de contribution via un fork et une pull request. Si vous êtes déjà familier de Git et Github, il ne vous sera pas nécessaire mais peut constitue néanmoins un document auquel vous pouvez vous référer en cas de doute. Il répète quelques éléments présents dans la documentation d'installation.
- Créez un compte Github
- Installez Git sur votre poste de travail
- Configurez Git avec votre nom et votre email
- Forkez le dépôt
- Clonez votre fork (en utilisant SSH ou l'url HTTPS) :
git clone [email protected]:your_GH_account/cartes.gouv.fr-documentation.git
- Placez vous dans le nouveau dossier créé :
cd cartes.gouv.fr-documentation
- Ajoutez le dépôt principal comme source "upstream" (en utilisant l'url HTTPS) :
git remote add upstream https://github.com/IGNF/cartes.gouv.fr-documentation
- Votre remote devrait maintenant être "origin", votre fork, et "upstream" devrait correspondre au dépôt principal sur IGNF. Vous pouvez le vérifier en utilisant la commande :
git remote -v
- Vous devriez voir quelque-chose comme ça :
origin [email protected]:your_GH_account/cartes.gouv.fr-documentation.git (fetch)
origin [email protected]:your_GH_account/cartes.gouv.fr-documentation.git (push)
upstream https://github.com/IGNF/cartes.gouv.fr-documentation.git (fetch)
upstream https://github.com/IGNF/cartes.gouv.fr-documentation.git (push)
Il est important qu'"origin" pointe bien vers votre fork.
- Assurez vous d'être sur la branche main :
git checkout main
- Téléchargez les mises à jour de toutes les branches de upstream :
git fetch upstream
- Mettez à jour votre branche main locale au même niveau que la branche main du dépôt principal :
git rebase upstream/main
Si la commande précédente rebase
échoue avec le message "error: cannot rebase: You have unstaged changes...",
mettez vos modifications locales de côté dans le "stash" en utilisant la commande :
git stash
- Maintenant vous pouvez "rebaser" :
git rebase upstream/main
- Puis réappliquez vos changements mis de côté :
git stash apply
- Supprimez les changements que vous aviez mis dans le "stash" (optionnel):
git stash pop
Maintenant que vous avez mis à jour votre branche main locale, vous pouvez créer une nouvelle branche à partir d'elle :
- Créez une branche (ici appelée "nouvelle-doc") et placez vous dessus :
git checkout -b nouvelle-doc
Vous pouvez utiliser l'éditeur de votre choix pour apporter des changements. Nous recommandons Visual Studio Code.
- Ajoutez les fichiers au commit (fichiers modifiés ou ajoutés) :
git add file1
git add file2
- Commitez le changement :
git commit -m "ajout nouvelle doc"
NB : dans l'exemple, le commit porte le message "ajout nouvelle doc". Utilisez un message court mais explicite pour décrire vos changements. Ne décrivez pas tous vos commits de la même façon.
- Poussez les changements de votre nouvelle branche sur votre fork sur github :
git push origin nouvelle-doc
AU moement de votre push, GitHub va vous répondre directement en vous donnant l'URL à laquelle vous pouvez créer votre pull request. Vous pouvez suivre cette URL ou vous rendre à tout moment sur votre fork sur Github, afficher la branche "nouvelle-doc" et Github vous montrera un bandeau avec un bouton pour créer une nouvelle pull request.
Les mainteneurs du dépôt vont maintenant examiner votre pull request. Si besoin, ils travailleront avec vous pour améliorer vos changements.
Une fois que les changements dans votre pull request seront prêts à être intégrés, les mainteneurs décideront de la façon la plus appropriée de les intégrer dans la branche main du dépôt principal :
- en mergeant la branche avec tous ces commits + un merge commit,
- en combinant tous les commits en un seul (squash)
- ou en rebasant tous vos commits sur la branche main, à la suite des commits déjà présents.