Skip to content

Commit 46cbf5e

Browse files
authored
Merge pull request #1178 from dnum-mi/develop
Develop
2 parents 098fe9d + e83a2ff commit 46cbf5e

File tree

6 files changed

+490
-168
lines changed

6 files changed

+490
-168
lines changed
Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
# 🎯 Conventions Git & Commits
2+
3+
Ce fichier contient les instructions pour créer des messages de commit respectant les conventions du projet.
4+
5+
## Format des commits
6+
7+
Le projet utilise le format conventional commit avec des gitmojis.
8+
9+
## Structure des messages de commit
10+
11+
```text
12+
type(scope): gitmoji description courte
13+
14+
## Pourquoi les changements ont été faits :
15+
- Explication du contexte et des raisons
16+
- Problème résolu ou besoin adressé
17+
18+
## Quelles modifications ont été apportées :
19+
- Description détaillée des modifications
20+
- Impact sur l'architecture/fonctionnalités
21+
22+
closes #1234
23+
```
24+
25+
Pas de majuscule au début de la description courte.
26+
27+
Utilise la troisième personne du singulier au présent de l'indicatif pour la description courte.
28+
29+
Si le commit ne concerne qu’un composant, le scope doit être le nom de ce composant.
30+
Exemple: si un commit ne touche qu’à
31+
32+
- src/components/DsfrCheckbox/DsfrCheckbox.vue
33+
- et/ou src/components/DsfrCheckbox/DsfrCheckbox.stories.ts
34+
- et/ou src/components/DsfrCheckbox/DsfrCheckbox.md
35+
- et/ou src/components/DsfrCheckbox/docs-demo/**.*
36+
- et/ou src/components/DsfrCheckbox/DsfrCheckbox.spec.ts
37+
- et/ou src/components/DsfrCheckbox/DsfrCheckbox.types.ts
38+
39+
alors le scope du titre du commit doit être `DsfrCheckbox`.
40+
41+
Exemple :
42+
43+
```text
44+
feat(DsfrRadioButtonSet): ✨ ajoute la propriété rich pour les boutons radio enrichis
45+
46+
- Permet d'utiliser des boutons radio "rich" avec du contenu enrichi dans DsfrRadioButtonSet
47+
- Améliore les possibilités de mise en forme des options de boutons radio
48+
- Répond au besoin d'avoir des boutons radio avec du contenu plus riche que du simple texte
49+
50+
- Ajout de la propriété optionnelle `rich?: boolean` dans `DsfrRadioButtonSetProps`
51+
- Transmission de la prop `rich` au composant `DsfrRadioButton` enfant
52+
53+
closes #1170
54+
```
55+
56+
### Types de commits principaux (à utiliser en priorité)
57+
58+
Ces types couvrent 90% des cas d'usage courants dans le projet :
59+
60+
#### 🔄 **Développement quotidien**
61+
62+
- `feat`: ✨ Nouvelles fonctionnalités
63+
- `fix`: 🐛 Corrections de bugs
64+
- `refactor`: ♻️ Refactoring (ni feat ni fix)
65+
- `style`: 💄 Formatage, style (pas de changement de logique)
66+
67+
#### 📚 **Documentation et maintenance**
68+
69+
- `docs`: 📝 Documentation
70+
- `test`: ✅ Ajout/modification de tests
71+
- `chore`: 🔧 Maintenance, configuration, dépendances
72+
73+
#### 🚀 **Build et déploiement**
74+
75+
- `build`: 📦️ Changements qui affectent le système de build ou dépendances externes
76+
- `ci`: 👷 CI/CD, GitHub Actions
77+
78+
#### 🚨 **Urgences**
79+
80+
- `hotfix`: 🚑️ Corrections critiques en urgence
81+
- `perf`: ⚡ Améliorations de performance
82+
83+
### Types de commits spécialisés (usage occasionnel)
84+
85+
Ces types sont à utiliser dans des cas spécifiques :
86+
87+
#### **Corrections spéciales**
88+
89+
- `revert`: ⏪ Annulation de commit
90+
- `breaking`: 💥 Changements incompatibles (breaking changes)
91+
- `security`: 🔒️ Corrections de sécurité
92+
- `typo`: ✏️ Correction de fautes de frappe
93+
- `lint`: 🚨 Correction des warnings du linter/compilateur
94+
95+
#### 🏗️ **Structure et architecture**
96+
97+
- `move`: 🚚 Déplacement ou renommage de fichiers
98+
- `remove`: 🔥 Suppression de code ou fichiers
99+
- `merge`: 🔀 Fusion de branches
100+
101+
#### 📦 **Dépendances**
102+
103+
- `deps-add`: ➕ Ajout d'une dépendance
104+
- `deps-upgrade`: ⬆️ Mise à jour des dépendances
105+
- `deps-remove`: ➖ Suppression d'une dépendance
106+
107+
#### **Interface utilisateur**
108+
109+
- `ui`: � Interface utilisateur et fichiers de style
110+
- `accessibility`: ♿ Améliorations d'accessibilité
111+
- `responsive`: � Design responsive
112+
113+
#### 🔧 **Développement**
114+
115+
- `types`: 🏷️ Types TypeScript
116+
- `config`: 🔧 Fichiers de configuration
117+
- `wip`: 🚧 Travail en cours (Work In Progress)
118+
119+
## 📝 Exemples pratiques par contexte
120+
121+
### 🎯 **Développement de composants (cas les plus fréquents)**
122+
123+
```text
124+
feat(DsfrButton): ✨ ajoute la variante ghost
125+
126+
## Pourquoi les changements ont été faits :
127+
- Besoin d'une variante de bouton moins visible pour les actions secondaires
128+
- Améliore la hiérarchie visuelle dans les interfaces
129+
130+
## Quelles modifications ont été apportées :
131+
- Ajout de la prop `variant="ghost"` dans DsfrButtonProps
132+
- Nouveau style CSS pour la variante ghost
133+
- Tests et stories mis à jour
134+
135+
closes #1098
136+
```
137+
138+
```text
139+
fix(DsfrModal): 🐛 corrige la fermeture au clic extérieur
140+
141+
## Pourquoi les changements ont été faits :
142+
- La modale ne se fermait pas quand on cliquait sur l'overlay
143+
- Problème d'expérience utilisateur signalé dans l'issue #123
144+
145+
## Quelles modifications ont été apportées :
146+
- Ajout d'un écouteur d'événement click sur l'overlay
147+
- Vérification que le clic ne vient pas de l'intérieur de la modale
148+
149+
closes #987
150+
```
151+
152+
```text
153+
refactor(DsfrTabs): ♻️ simplifie la logique de gestion des onglets actifs
154+
155+
## Pourquoi les changements ont été faits :
156+
- Code complexe et difficile à maintenir
157+
- Améliore la lisibilité pour les futures contributions
158+
159+
## Quelles modifications ont été apportées :
160+
- Remplacement de la logique complexe par un computed plus simple
161+
- Suppression de code redondant
162+
- Même comportement utilisateur maintenu
163+
164+
closes #455
165+
```
166+
167+
### 📚 **Documentation et tests**
168+
169+
```text
170+
docs(DsfrCard): 📝 ajoute des exemples d'utilisation avancée
171+
172+
## Pourquoi les changements ont été faits :
173+
- Les développeurs demandaient plus d'exemples concrets
174+
- Améliore l'adoption du composant
175+
176+
## Quelles modifications ont été apportées :
177+
- Nouveaux exemples dans DsfrCard.md
178+
- Stories Storybook enrichies avec cas d'usage métier
179+
180+
closes #1234
181+
```
182+
183+
```text
184+
test(DsfrInput): ✅ ajoute tests pour la validation des erreurs
185+
186+
## Pourquoi les changements ont été faits :
187+
- Couverture de test insuffisante sur la gestion d'erreurs
188+
- Prévient les régressions sur cette fonctionnalité critique
189+
190+
## Quelles modifications ont été apportées :
191+
- Tests unitaires pour tous les cas d'erreur
192+
- Tests d'interaction utilisateur avec des erreurs
193+
194+
fixes #1045
195+
```
196+
197+
### 🚀 **Build et infrastructure**
198+
199+
```text
200+
ci: 👷 ajoute vérification des liens dans la documentation
201+
202+
## Pourquoi les changements ont été faits :
203+
- Éviter les liens cassés dans la documentation déployée
204+
- Améliore la qualité de la documentation
205+
206+
## Quelles modifications ont été apportées :
207+
- Nouveau job GitHub Actions pour vérifier les liens
208+
- Configuration avec exclusions pour les liens externes temporaires
209+
210+
closes #623
211+
```
212+
213+
```text
214+
chore: 🔧 met à jour la configuration ESLint pour Vue 3.4
215+
216+
## Pourquoi les changements ont été faits :
217+
- Nouvelle version de Vue apporte de nouvelles règles recommandées
218+
- Maintient la qualité du code selon les standards actuels
219+
220+
## Quelles modifications ont été apportées :
221+
- Mise à jour des règles ESLint
222+
- Configuration adaptée aux nouvelles fonctionnalités Vue
223+
224+
closes #678
225+
```
226+
227+
### 🎨 **Styles et interface**
228+
229+
```text
230+
style(global): 💄 harmonise les espacements selon DSFR 1.11
231+
232+
## Pourquoi les changements ont été faits :
233+
- Mise en conformité avec la nouvelle version du DSFR
234+
- Assure la cohérence visuelle avec le système de design
235+
236+
## Quelles modifications ont été apportées :
237+
- Variables CSS mises à jour
238+
- Composants utilisant les nouveaux tokens d'espacement
239+
240+
closes #789
241+
```
242+
243+
### 🎯 **Scopes appropriés pour ce projet**
244+
245+
- **Composant unique** : `DsfrButton`, `DsfrModal`, `DsfrCard`, etc.
246+
- **Groupe de composants** : `DsfrTabs` (quand ça touche TabItem + TabContent + Tabs)
247+
- **Système** : `build`, `ci`, `types`, `docs`
248+
- **Global** : `global`, `core`, `utils` (si ça impacte plusieurs composants)
249+
250+
### ⚠️ **Anti-patterns à éviter**
251+
252+
```text
253+
❌ feat: ajoute un bouton
254+
✅ feat(DsfrButton): ✨ ajoute la propriété disabled
255+
256+
❌ fix: Bug dans la modale
257+
✅ fix(DsfrModal): 🐛 corrige la fermeture au clic extérieur
258+
259+
❌ update: Change des trucs
260+
✅ refactor(DsfrCard): ♻️ simplifie la structure des slots
261+
262+
❌ feat(DsfrButton): Ajoute disabled prop
263+
✅ feat(DsfrButton): ✨ ajoute la propriété disabled
264+
```

.github/conventions-commits.md

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)