Skip to content

Commit e0896b1

Browse files
Merge pull request #14 from GouvernementFR/feat/contributing-gitflow
feat(doc): ajoute un fichier contributing-gitflow
2 parents 2699d42 + 6487e02 commit e0896b1

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed

CONTRIBUTING-gitflow.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# GitFlow du DSFR Chart
2+
3+
## Installation
4+
5+
Le dépôt est disponible à cette adresse : https://github.com/GouvernementFR/dsfr-chart
6+
7+
Afin de pouvoir commencer à développer et contribuer au DSFR-chart, assurez-vous tout d'abord de faire un fork du projet depuis votre compte GitHub (https://help.github.com/articles/fork-a-repo/)
8+
9+
Il suffit ensuite de cloner votre fork, en téléchargeant les sources depuis le bouton “clone” de github, ou via un terminal avec commande :
10+
```shell
11+
git clone https://github.com/VOTRE_NOM_UTILISATEUR_GITHUB/dsfr
12+
```
13+
14+
La branche **dev** est la principale branche de travail - la branche **main** correspondant aux versions de productions livrées aux utilisateurs. Il est donc nécessaire de créer de nouvelles branches de travail pour l'ajout et la modification de packages depuis la branche **dev**. (Voir la section [Utilisation > Git](#git), pour le fonctionnement détaillé).
15+
16+
## Git
17+
18+
### Branches
19+
Afin de travailler sur un nouveau package, ou un correctif d'un package existant, il est nécessaire de créer une nouvelle branche à partir de la branche `dev`.
20+
```shell
21+
git checkout -b prefixe/ma-branche dev
22+
```
23+
24+
#### Nommage des branches <!-- omit in toc -->
25+
Afin d'organiser et d'identifier rapidement la nature du contenu des branches, il est nécessaire de préfixer les branches :
26+
feature/nom-de-la-branche pour les nouvelles fonctionnalités ou nouveaux composants.
27+
fix/nom-de-la-branche pour les correctifs apportés sur des fonctionnalités ou composants existants.
28+
29+
30+
### Commits
31+
Nous utilisons des [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) qui doivent donc s'écrire sous la forme suivante :
32+
33+
```
34+
<type>[optional scope]: <description en français>
35+
36+
[optional body]
37+
38+
[optional footer(s)]
39+
```
40+
41+
Les valeurs possibles pour le `type` de commit sont :
42+
* **fix**: Un commit de type `fix` permet de patcher un bug ([[PATCH]](https://semver.org/#summary))
43+
* **feat**: Un commit de type `feat` permet d'introduire une nouvelle fonctionnalité ([[MINOR]](https://semver.org/#summary))
44+
* D'autres types que `feat` et `fix` peuvent être utilisés, nous utilisons [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional), qui recommande l'utilisation des principaux types suivants : `build`, `chore`, `ci`, `docs`, `style`, `refactor`, `perf`, `test`
45+
46+
* **BREAKING CHANGE**: Un commit avec un footer `BREAKING CHANGE:` introduit un changement important dans le code ([[MAJOR]](https://semver.org/#summary))
47+
48+
Les messages de commits sont écrits en français (exception faite des mots réservés par conventional commit, ainsi que les termes techniques).
49+
50+
Exemple de commit simple :
51+
52+
```
53+
feat: ajout du composant BarChart
54+
```
55+
56+
Exemple de commit avec `scope` le nom du composant ou de la fonction, description et `BREAKING CHANGE` footer
57+
```
58+
fix(core): maj fonction: ancien-nom devient nouveau-nom
59+
60+
BREAKING CHANGE: nouveau nom pour la fonction ....
61+
```
62+
63+
### Signature des commits
64+
65+
Afin de garantir l'originalité des contributions, nous demandons aux contributeurs de signer leurs commits et/ou de nous faire parvenir le [certificat de garantie de l'origine du développeur](doc/legal/cgod.md) signé.
66+
67+
Pour signer un commit :
68+
69+
```
70+
git commit --signoff (ou git commit -s)
71+
```
72+
73+
### Proposer une pull request
74+
75+
Important
76+
77+
**Avant de proposer une pull request**, assurez vous que vous respectez la [garantie d’origine de vos développements](https://github.com/GouvernementFR/dsfr/blob/main/doc/legal/cgod.md), et pour les personnes **n'étant pas des agents de l’État,** que vous avez pris connaissance des documents relatifs à la [cession des droits d’auteur](doc/legal/cession.md), **document à nous transmettre signé**.
78+
79+
**Toute ‘pull request’ ne respectant pas ces pré-requis sera systématiquement rejetée.**
80+
81+
Pour contribuer sur le git DSFR, il convient d’utiliser une “pull-request” (PR).
82+
Lorsque vous estimez que votre développement est terminé et qu'il peut-être révisé par l'équipe DSFR, vos devez créer une pull request depuis github (https://github.com/GouvernementFR/dsfr/pulls ) ou github cli (gh).
83+
La pull-request suit les même règles de nommage décrites précédemment (branches, commits), à savoir le [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).
84+
Une description détaillant le problème à résoudre, la façon dont la contribution résout le problème et toute autre information utile à la revue de code est fortement conseillée !
85+
86+
La pull request doit être faite depuis la branche de votre fork vers la branche **dev** du dépôt officiel.
87+
88+
### Recette
89+
90+
L'ouverture de chaque nouvelle pull request sur le Github du DSFR-chart génère un environnement de recette sur une URL Netlify de type :
91+
```
92+
https://deploy-preview-[NUMERO DE LA PULL REQUEST]--dsfr-chart.netlify.app/
93+
```
94+
95+
Cet environnement de recette expose le contenu du repertoire `/docs` basé sur la page (`public/index.html`) présentant l'ensemble des graphiques mis à disposition des utilisateurs du DSFR-chart. Voir la section [Déploiement d'une page de démonstration](./CONTRIBUTING.md#déploiement-dune-page-de-démonstration)

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ Enfin, il est nécessaire de lancez un serveur local pour visualiser la page d'e
2424

2525
Un serveur local sera alors lancé sur l'adresse localhost:8080. Accéder à http://localhost:8080 pour visualiser la liste des exemples.
2626

27+
## GitFlow
28+
29+
Se referer au fichier [CONTRIBUTING-gitflow.md](./CONTRIBUTING-gitflow.md) qui décrit le modèle de branches à suivre pour contribuer au DSFR Chart.
30+
2731
## Ajouter un type de graphique
2832

2933
Cette partie décrit les étapes à suivre pour l'ajout d'une nouvelle représentation graphique au sein du DSFR Chart.

0 commit comments

Comments
 (0)