2.7 KiB
Projets & Workflows
Qu'est-ce qu'un projet ?
Un projet regroupe un ensemble de tâches, time entries et éventuellement tickets client. Il est défini par :
- Un code court (2-10 lettres majuscules, ex:
SIRH,CRM) qui préfixe les numéros de tâches - Un client optionnel (ou interne si null)
- Une couleur d'identification
- Un workflow (obligatoire) qui définit ses colonnes kanban
Qu'est-ce qu'un workflow ?
Un workflow est un jeu de statuts kanban réutilisable. Au lieu d'avoir une liste globale de statuts comme dans la plupart des outils, chaque projet a son propre kanban adapté à sa façon de travailler.
Exemple
| Workflow | Statuts |
|---|---|
| Standard (par défaut) | À faire → En cours → Bloqué → En attente de validation → Terminé |
| DevKanban | Backlog → Spec → In Dev → Review PR → QA → Done |
| Support | Nouveau → Diagnostic → Résolu |
Tu peux créer autant de workflows que tu veux depuis Admin → Workflows.
Les 5 catégories canoniques
Chaque statut, peu importe son workflow, appartient à une catégorie canonique parmi :
| Catégorie | Description |
|---|---|
todo |
À faire — pas encore commencé |
in_progress |
En cours — quelqu'un bosse dessus |
blocked |
Bloqué — attente d'une dépendance |
review |
En validation — relecture, PR, QA |
done |
Terminé — close |
🎯 Pourquoi des catégories ? Pour que la vue Mes tâches puisse regrouper des tâches venant de projets avec des workflows différents (ex: une tâche "In Dev" de DevKanban et "En cours" de Standard apparaissent dans la même colonne
in_progress).
Changer le workflow d'un projet
- Ouvrir le projet → Modifier le projet (drawer)
- Section Workflow → cliquer sur Changer de workflow
- Sélectionner le workflow cible
- Mapper chaque statut source vers un statut cible (le mapping est pré-rempli automatiquement par catégorie)
- Confirmer — toutes les tâches migrent dans une seule transaction
Règles du mapping
- ✅ Chaque statut actuellement utilisé par une tâche doit être mappé (sinon erreur 422)
- ✅ Un statut peut être mappé vers
null→ la tâche passe en backlog (sans statut) - ❌ Tu ne peux pas mapper vers un statut qui n'appartient pas au workflow cible
Supprimer un workflow
Tu peux supprimer un workflow uniquement s'il n'est lié à aucun projet (HTTP 409 sinon). Réassigne d'abord les projets vers un autre workflow.
⚠️ Le workflow Standard ne peut pas être supprimé tant qu'il reste le défaut (un seul workflow peut avoir
isDefault=trueà la fois, garanti par un listener Doctrine).