generated from codegouvfr/eleventy-dsfr
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
227 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
# Contribuer | ||
|
||
Merci d'envisager nous aider sur ce projet. Tout type de contribution est bienvenue. | ||
Merci de nous aider sur ce projet ou d'envisager de le faire. Tout type de contribution est bienvenue. | ||
|
||
## Contributions autres que du code | ||
|
||
|
@@ -10,4 +10,150 @@ Vous pouvez également parcourir les [issues existantes](https://github.com/IGNF | |
|
||
## Modifier le code ou la documentation | ||
|
||
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](https://docs.github.com/fr/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) | ||
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](https://docs.github.com/fr/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). | ||
|
||
N'hésitez pas à consulter la documentation [rédacteur](docs/redacteur.md) si vous voulez modifier le contenu du site ou [développeur](docs/developpeur.md) 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. | ||
|
||
### Première 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) : | ||
|
||
```bash | ||
git clone [email protected]:your_GH_account/cartes.gouv.fr-documentation.git | ||
``` | ||
|
||
- Placez vous dans le nouveau dossier créé : | ||
|
||
```bash | ||
cd cartes.gouv.fr-documentation | ||
``` | ||
|
||
- Ajoutez le dépôt principal comme source "upstream" (en utilisant l'url HTTPS) : | ||
|
||
```bash | ||
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 : | ||
|
||
```bash | ||
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. | ||
|
||
### Maintenir votre dépôt à jour | ||
|
||
- Assurez vous d'être sur la branche main : | ||
|
||
```bash | ||
git checkout main | ||
``` | ||
|
||
- Téléchargez les mises à jour de toutes les branches de upstream : | ||
|
||
```bash | ||
git fetch upstream | ||
``` | ||
|
||
- Mettez à jour votre branche main locale au même niveau que la branche main du dépôt principal : | ||
|
||
```bash | ||
git rebase upstream/main | ||
``` | ||
|
||
### Mettre à jour si vous avez des changements locaux | ||
|
||
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 : | ||
|
||
```bash | ||
git stash | ||
``` | ||
|
||
- Maintenant vous pouvez "rebaser" : | ||
|
||
```bash | ||
git rebase upstream/main | ||
``` | ||
|
||
- Puis réappliquez vos changements mis de côté : | ||
|
||
```bash | ||
git stash apply | ||
``` | ||
|
||
- Supprimez les changements que vous aviez mis dans le "stash" (optionnel): | ||
|
||
```bash | ||
git stash pop | ||
``` | ||
|
||
### Créer une branche | ||
|
||
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 : | ||
|
||
```bash | ||
git checkout -b nouvelle-doc | ||
``` | ||
|
||
### Apporter des changements | ||
|
||
Vous pouvez utiliser l'éditeur de votre choix pour apporter des changements. Nous recommandons [Visual Studio Code](https://code.visualstudio.com/download). | ||
|
||
### Commiter les changements | ||
|
||
- Ajoutez les fichiers au commit (fichiers modifiés ou ajoutés) : | ||
|
||
```bash | ||
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. | ||
|
||
### Pousser les changements sur GitHub | ||
|
||
- Poussez les changements de votre nouvelle branche sur votre fork sur github : | ||
|
||
```bash | ||
git push origin nouvelle-doc | ||
``` | ||
|
||
### Créer une pull-request | ||
|
||
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. | ||
|
||
### Après avoir créé une 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Installation de l'environnement de travail | ||
|
||
Cette documentation s'adresse aussi bien aux développeurs qu'aux rédacteurs qui souhaitent installer le site localement. | ||
|
||
Pour les rédacteurs, cette documentation est technique mais vous permet de visualiser vos modifications et nouveaux articles dans un navigateur avant de les proposer en les poussant sur github.com. | ||
|
||
## Prérequis | ||
|
||
Pour disposer d'un environnement de travail confortable, il est recommandé de disposer des logiciels suivants : | ||
|
||
- **Visual Studio Code** (https://code.visualstudio.com/download) comme éditeur pour tous les langages utilisés par le site, notamment le markdown (mais vous pouvez utiliser un autre éditeur si vous préférez) | ||
- **NodeJS** (https://nodejs.org/en/download/prebuilt-installer) pour pouvoir construire le site localement sur votre poste de travail et le prévisualiser. | ||
- **Git** (https://gitforwindows.org/, lien pour Windows) pour interagir avec le dépôt de code et github.com. | ||
|
||
Git et NodeJS sont indispensables pour aller plus loin dans l'installation. | ||
|
||
## Installation | ||
|
||
Sous Windows, après avoir installé _Git for Windows_, vous devriez avoir accès au clic droit dans l'explorateur à un menu contextuel "Git Bash here" qui vous permet de lancer une invite de commande qui est très adaptée à l'utilisation de Git et offre une bonne coloration syntaxique. Il est recommandé de la préférer à l'invite de commande par défaut de Windows. | ||
|
||
### Cloner le dépôt | ||
|
||
Clonez le dépôt (ou votre fork du dépôt, ce qui est préférable) sur votre poste de travail dans un nouveau dossier nommé `cartes.gouv.fr-documentation` : | ||
|
||
```bash | ||
git clone https://github.com/IGNF/cartes.gouv.fr-documentation | ||
``` | ||
|
||
Rendez vous dans le dossier pour exécuter les commandes suivantes : | ||
|
||
```bash | ||
cd cartes.gouv.fr-documentation | ||
``` | ||
|
||
### Installer les dépendances | ||
|
||
```bash | ||
npm install | ||
``` | ||
|
||
Cette commande créé un sous-dossier `node_modules` dans lequel vont s'installer toutes les dépendances du projet, conformément à ce qui est décrit dans les fichiers `package.json` et `package-lock.json`. | ||
|
||
### Exécuter Eleventy pour construire le site | ||
|
||
```bash | ||
npm run build | ||
``` | ||
|
||
**Eleventy** est le logiciel utilisé pour construire le site. Il transforme les fichiers _markdown_ ou _nunjucks_ du dossier `content` en pages html à l'aide des gabarits du dossier `_includes`. Ensuite **Pagefind** indexe le contenu de ces pages pour que le moteur de recherche du site soit fonctionnel. | ||
|
||
A l'issu de cette commande, le dossier `_site` est rempli ou modifié avec un contenu HTML, visualisable dans un navigateur. | ||
|
||
### Déployer en local | ||
|
||
```bash | ||
npm start | ||
``` | ||
|
||
Cette commande rend le site disponible à l'adresse `https://localhost:8080/fr/` et reste active, à l'écoute des changements que vous effectuez dans le projet. | ||
|
||
**:sparkles: Vous avez maintenant réussi à déployer le site en local :sparkles:** | ||
|
||
Le site est ainsi maintenu à jour en même temps que vous modifiez des fichiers. Mais les contenus modifiés ne sont pas indexés pour la recherche et il peut arriver que certaines modifications ne soient pas immédiatement prises en compte. Dans ce cas, arrêtez le site (`Ctrl+C`) et relancez les 2 commandes précédentes : `npm run build` puis `npm start`. | ||
|
||
Les développeurs peuvent exécuter un [mode de débogage](https://www.11ty.dev/docs/debugging/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters