Backlog
User Stories
US9.1
En tant qu'utilisateur, je peux publier une story photo/vidéo visible 24h
must
8pts
US9.2
En tant qu'utilisateur, je peux ajouter des stickers à ma story : sondage, question, curseur, tag lieu
must
8pts
US9.3
En tant qu'utilisateur, je vois les stories des abonnements en bulles horizontales en haut du feed
must
4pts
US9.4
En tant qu'utilisateur, je peux répondre à une story par message privé ou emoji
must
3pts
US9.5
En tant qu'utilisateur, je vois les résultats de mes sondages en story
must
4pts
US9.6
En tant qu'utilisateur, je peux archiver mes stories après expiration
should
2pts
US9.7
En tant qu'utilisateur, je peux publier un Reel (vidéo verticale max 90s) avec texte overlay
must
10pts
US9.8
En tant qu'utilisateur, je navigue dans un feed Reels (swipe vertical full-screen)
must
5pts
US9.9
En tant qu'utilisateur, je peux ajouter un son/musique à mon reel depuis une bibliothèque
should
8pts
US9.10
En tant qu'utilisateur, je peux remixer un itinéraire existant (fork, modifier, republier avec crédit)
must
10pts
US9.11
En tant qu'utilisateur, je peux faire un Duet vidéo (ma réaction côte à côte)
should
8pts
US9.12
En tant qu'utilisateur, je peux opt-out de la fonction Remix pour mes contenus
must
3pts
US9.13
En tant que système, les stories expirent automatiquement et sont archivées en S3 Glacier
must
5pts
/stories, /reels, /remix
Endpoints API
POST
/stories
Créer une story (multipart: media + metadata)
🔒 auth
GET
/stories/feed
Stories des abonnements (bulles horizontales)
🔒 auth
GET
/stories/:id
Détail d'une story
🔒 auth
POST
/stories/:id/views
Marquer comme vue
🔒 auth
POST
/stories/:id/reply
Répondre à une story (→ message privé)
🔒 auth
POST
/stories/:id/poll-vote
Voter sur un sondage story (body: option)
🔒 auth
GET
/stories/:id/poll-results
Résultats d'un sondage
🔒 auth
GET
/users/:id/stories
Stories actives d'un utilisateur
🔒 auth
GET
/users/:id/story-archive
Archive stories (auteur seulement)
🔒 auth
POST
/reels
Uploader un reel (body: video_url, caption, tags)
🔒 auth
GET
/reels/feed
Feed reels vertical paginé (cursor)
🔒 auth
GET
/reels/:id
Détail d'un reel
🔒 auth
POST
/reels/:id/duet
Créer un duet vidéo
🔒 auth
POST
/itineraries/:id/remix
Remixer un itinéraire (fork + attribution)
🔒 auth
GET
/itineraries/:id/remixes
Liste des remixes d'un itinéraire
🔒 auth
Critères d'acceptation
✓Story visible par les abonnements dès publication (< 3s)
✓Expiration automatique vérifiée et effective dans la fenêtre de 5 min
✓Reel traité par Cloudflare Stream et disponible en < 90s
✓Remix avec attribution affichée correctement sur iOS et Android
✓Opt-out Remix : bouton absent sur les contenus protégés