Files
flowdeck/BRANCHING.md
bruno 47b0f80dfe
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
docs: ROADMAP restructuré pour focus MVP + stratégie de branches Gitea
- ROADMAP.md: réorganisé avec priorités claires (v4.0.0=complété, v4.0.1=onboarding PRIO MAX)
- Ajout BRANCHING.md: convention main/develop/feat/*, workflow complet
- Branche develop créée et poussée sur Gitea
- Sections Parité Notion réparties en v4.1–v4.10 ordonnées par priorité
- Résumé des phases mis à jour
2026-07-20 07:28:41 -04:00

109 lines
3.1 KiB
Markdown

# Stratégie de branches — FlowDeck
## Structure
```
main ──●────────────●────── production (tags vX.Y.Z)
\ /
develop ●──●──●──●────── intégration continue
\ \ \
feat/xxx ● ● ●──── feature branches
fix/xxx ●─────────── hotfix branches
```
## Branches
| Branche | Rôle | Déploiement | Protection |
|---------|------|-------------|------------|
| `main` | Production | Docker auto sur :8080 | Push direct interdit, PR only |
| `develop` | Intégration | Staging (optionnel) | Push direct interdit, PR only |
| `feat/<nom>` | Nouvelle feature | Aucun | Libre |
| `fix/<nom>` | Correctif urgent | Aucun | Libre |
## Workflow quotidien
### 1. Démarrer une feature
```bash
git checkout develop
git pull origin develop
git checkout -b feat/ma-feature
```
### 2. Travailler
```bash
# Coder, commit souvent
git add -A
git commit -m "feat: description claire de ce qui est fait"
git push origin feat/ma-feature
```
### 3. Créer une Pull Request
Aller sur https://git.dracodev.net/bruno/flowdeck/pulls
- **Base** : `develop`
- **Head** : `feat/ma-feature`
- Titre : descriptif
- Assigner un reviewer si applicable
### 4. Après merge
```bash
git checkout develop
git pull origin develop
git branch -d feat/ma-feature # supprimer la branche locale
```
## Release (develop → main)
```bash
# 1. S'assurer que develop est prêt
git checkout develop
git pull origin develop
# 2. Créer une PR develop → main sur Gitea
# (ou merger localement si admin)
git checkout main
git merge develop
git tag v4.0.1
git push origin main --tags
```
## Hotfix urgent
```bash
git checkout main
git checkout -b fix/urgence
# ... corriger ...
git commit -m "fix: description"
git push origin fix/urgence
# PR fix/urgence → main
# PUIS merger main → develop pour synchroniser
git checkout develop
git merge main
git push origin develop
```
## Conventions de commits
| Préfixe | Usage | Exemple |
|---------|-------|---------|
| `feat:` | Nouvelle fonctionnalité | `feat: landing page for visitors` |
| `fix:` | Correction de bug | `fix: redirect loop on /` |
| `refactor:` | Restructuration sans changement fonctionnel | `refactor: extract sidebar_data` |
| `test:` | Ajout/modification de tests | `test: onboarding flow e2e` |
| `docs:` | Documentation | `docs: update ROADMAP.md` |
| `style:` | Formatage, CSS | `style: mobile sidebar fixes` |
| `chore:` | Tâches de maintenance | `chore: bump version to 4.0.1` |
## Règles
1. **Jamais de push direct sur `main`** — toujours via PR depuis `develop` ou `fix/*`
2. **Jamais de push direct sur `develop`** — toujours via PR depuis `feat/*` ou `fix/*`
3. **Une branche = une feature / un fix** — éviter les branches fourre-tout
4. **Tests passent avant merge** — CI Gitea Actions doit être verte
5. **Commit + push après chaque modification significative**
6. **Nom de branche en kebab-case** : `feat/landing-page`, `fix/login-redirect`
7. **Supprimer la branche après merge** (sauf `main` et `develop`)