đź“‹ Recettes
Accueil
+ Nouvelle recette
Accueil
+ Nouvelle recette
Éditer la recette
Projet
Statut
Brouillon
En cours
Terminée
Titre
Description
**Référentiel VIVANT** des parcours fonctionnels de GrooveGrave (app **PIANO**, univers corbeau/undead). Base de **chaque recette fonctionnelle**, rejouable en régression via **XCUITest headless**. À maintenir à jour à chaque évolution du produit. Chaque cas = action utilisateur → **résultat attendu (100% piano, aucun reliquat guitare)**. Légende statut : ✅ OK · ⚠️ à corriger (UX/legacy) · ⛔ bloquant (audio guitare) · ⏳ à tester.
Cas d'usage
Parcours principal : un **pianiste** installe l'app, explore/trouve des accords **au piano**, crée/consulte des chansons avec accords alignés aux paroles, s'exerce (gammes au clavier, métronome, gamification) et personnalise (langue, timbre piano, premium) — le tout dans l'identité **corbeau/gothique**, sans aucun élément guitare (cordes/frettes/capo/accordeur/médiator).
Étapes
**Recette fonctionnelle** = rejouer chaque cas d'usage ci-dessous via **XCUITest headless** (clone simulateur iPhone 17 Pro), **capturer** l'écran (`XCTAttachment`) et **statuer OK/KO** vs résultat attendu. Le `xcodebuild test` sert de **garde-fou de non-régression**. Les preuves sont attachées à la recette du run correspondant. Convention : un test `UC01…UC12` par cas d'usage pour rejouer la régression.
Cas de test
| ID | Cas d'usage | Étapes | Résultat attendu (piano) | Statut | |---|---|---|---|---| | UC01 | Onboarding | 1er lancement → pages onboarding → Entrée | Visuels **piano/corbeau**, pas de guitare ; arrivée accueil | ⚠️ splash mascotte guitare | | UC02 | Accueil | Ouvrir l'app | 6 cartes piano/corbeau, fond sombre **sans cadres blancs** | ✅ | | UC03 | Dictionnaire d'accords | Fondamentale → accord → voicing clavier + inversions → écouter | Clavier piano, notes de l'accord **enfoncées + point rouge**, **son piano** | ✅ visuel / ⛔ son (GuitarAudioEngine) | | UC04 | Créer une chanson | Éditeur → titre/artiste/tonalité → lignes d'accords → enregistrer | **Pas de capo** ; chanson listée | ⚠️ capo présent | | UC05 | Feuille de chanson | Ouvrir chanson → accords alignés paroles → transposer → jouer | Lecture **piano**, touches surlignées ; pas de capo/strum | ⛔ capo + GuitarAudioEngine + strum/picking | | UC06 | Recherche / Import (Style Analysis) | Rechercher artiste/titre → importer | Import **sans capo/fret** ; visuel piano | ⚠️ mascotte guitare + capo import | | UC07 | Gammes | Fondamentale + gamme → voir au clavier → jouer | Gamme sur **PianoKeyboardView**, lecture piano ; pas de frettes/CAGED | ⚠️ reliquats manche | | UC08 | Composer | Construire une progression → jouer (arpège/accord) | **Son piano** | ⛔ GuitarAudioEngine + doigtés guitare | | UC09 | Métronome | Régler tempo → start/stop | Clic audible, cohérent | ✅ | | UC10 | Réglages | Langue, rejouer tuto, audio (timbre piano), badges/streaks | Timbres **piano**, pas d'accordeur/guitare | ⚠️ timbres/icônes guitare | | UC11 | Premium / Paywall | Ouvrir paywall → gating features | Cohérent piano | ⏳ à tester | | UC12 | Mon instrument | Enregistrer un timbre perso | Capture **« piano »**, pas « multi-cordes » | ⚠️ libellés guitare | **Écrans/états déjà OK** : Accueil (UC02), Métronome (UC09), rendu clavier (UC03 visuel), Gamification, Liste de chansons, Contrôles de lecture.
Diagramme Mermaid
(optionnel)
Exemple:
flowchart LR\n A --> B
Ajouter des images
(PNG, JPEG, GIF, WebP — max 50MB)
Upload en cours...
Conclusions
Couverture fonctionnelle cartographiée : **12 cas d'usage**. Le **visuel/UX** est largement OK (accueil, clavier) ; les **KO/⛔ restants** viennent du **moteur audio guitare** et du **capo** (chantier P0/P1). Ce référentiel est la **base rejouable** des prochaines recettes fonctionnelles : chaque run crée une recette qui statue ces UC et attache ses preuves.
Recommandations
1. **Maintenir ce référentiel** à jour à chaque évolution produit. 2. **Automatiser** chaque UC en test XCUITest nommé (`UC01…UC12`) pour la régression headless. 3. **Évolution portail (demandée à Alice, en parallèle)** : cas d'usage **first-class** (catalogue réutilisable par projet), **statut pass/fail par run**, **liaison run↔use case**, historique de régression, et champ « preuve » par cas. Tant que le portail reste en champs libres, on stocke le catalogue ici (ce document).
Enregistrer
Annuler