Sprint Planning - Gestion des Abonnements Stripe
Date de création : 11 novembre 2025
Statut : 🔵 Plan détaillé
Propriétaire : PO (Julien)
Dernière mise à jour : 11 novembre 2025
📖 Guide d'Utilisation
Ce document détaille chaque sprint avec : - Tâches : Quoi faire ? - Estimations : Combien de temps ? - Responsables : Qui fait quoi ? - Dépendances : Quoi avant quoi ? - Validation : Comment vérifier ?
Durée de chaque sprint : 2 semaines
🎯 Vue d'Ensemble
Semaine 1-2 : Sprint 1 - Phase 1 (Critique)
├── Documents légaux & Consentement
├── Validation webhooks
├── Audit trails
├── Politique de remboursement & CGV
└── Recherche juridique - Délais d'annulation
Semaine 3-4 : Sprint 2 - Phase 2 (Haute Priorité)
├── Droit à l'oubli (RGPD)
├── Export de données (RGPD)
├── Factures
├── Gestion erreurs paiement
├── Gestion des annulations avec délai
├── Gestion des litiges (disputes)
├── Gestion des moyens de paiement
└── Prévention de la fraude (Stripe Radar)
Semaine 5-6 : Sprint 3 - Phase 2 (Suite) & Phase 3
├── Upgrade/Downgrade d'abonnement
├── Rate limiting
├── Conformité TVA/GST
├── Portabilité données
└── Tests finaux
Semaine 7-8 : Sprint 4-5 - Phase 3 (Optimisation)
├── Audit externe
├── Ajustements
└── Préparation production
📅 Sprint 1 - Phase 1 (Critique)
Durée : 2 semaines (10 jours de travail)
Équipe : PO + 2 Dev
Objectif : Implémenter les éléments critiques avant tout déploiement
Semaine 1
Jour 1 : Préparation & Setup
Matin (4h) : - [ ] Réunion de démarrage (1h) - Présenter le plan - Répondre aux questions - Clarifier les priorités - [ ] Setup des outils (3h) - Créer branches Git - Setup Stripe CLI - Setup Firebase Emulator
Responsable : PO + Dev 1 & 2
Après-midi (4h) : - [ ] Lire la documentation (4h) - AUDIT_CONFORMITE_STRIPE.md - CHECKLIST_SECURITE.md (sections 2 & 3)
Responsable : Dev 1 & 2
Jour 2-3 : Documents Légaux
Tâche 1 : Générer documents légaux (4h) - [ ] S'inscrire sur Termly.io ou iubenda.com - [ ] Générer politique de confidentialité - [ ] Générer conditions d'utilisation - [ ] Personnaliser pour Yinshi
Responsable : PO
Tâche 2 : Créer écran de consentement (6h) - [ ] Créer widget Flutter - [ ] Afficher politique de confidentialité - [ ] Afficher conditions d'utilisation - [ ] Ajouter checkbox d'acceptation - [ ] Ajouter boutons Accepter/Refuser
Responsable : Dev 1
Tâche 3 : Stocker le consentement (4h)
- [ ] Ajouter champs Firestore
- consentement_accepte : boolean
- date_consentement : timestamp
- version_consentement : string
- [ ] Implémenter sauvegarde
Responsable : Dev 2
Jour 4-5 : Validation Webhooks
Tâche 1 : Setup Stripe Webhooks (2h) - [ ] Aller dans Stripe Dashboard - [ ] Copier webhook secret - [ ] Stocker dans variable d'environnement
Responsable : PO
Tâche 2 : Implémenter validation HMAC-SHA256 (6h) - [ ] Créer Cloud Function pour webhooks - [ ] Vérifier signature HMAC-SHA256 - [ ] Vérifier timestamp (replay attack) - [ ] Rejeter les webhooks invalides
Responsable : Dev 1
Tâche 3 : Logger les webhooks (4h)
- [ ] Créer collection Firestore webhook_logs
- [ ] Logger tous les webhooks
- [ ] Inclure : timestamp, event_id, type, résultat
Responsable : Dev 2
Semaine 2
Jour 6-7 : Audit Trails
Tâche 1 : Créer collection audit_logs (2h) - [ ] Créer structure Firestore - [ ] Définir champs - [ ] Créer indexes
Responsable : Dev 2
Tâche 2 : Logger les actions sensibles (8h) - [ ] Logger connexions (succès + échecs) - [ ] Logger paiements (succès + échecs) - [ ] Logger changements de rôle - [ ] Logger suppressions de compte - [ ] Logger modifications d'abonnement
Responsable : Dev 1 & 2
Tâche 3 : Protéger les logs (4h) - [ ] Implémenter Firestore Rules - [ ] Seuls admins peuvent lire - [ ] Logs non modifiables - [ ] Définir rétention (90 jours)
Responsable : Dev 2
Jour 8-10 : Tests & Validation
Tâche 1 : Tests unitaires (4h) - [ ] Tester validation webhooks - [ ] Tester logging - [ ] Tester consentement
Responsable : Dev 1
Tâche 2 : Tests d'intégration (4h) - [ ] Tester flux complet de paiement - [ ] Tester avec Stripe CLI - [ ] Tester avec données de test
Responsable : Dev 2
Tâche 3 : Code review & ajustements (4h) - [ ] Revoir le code - [ ] Corriger les bugs - [ ] Optimiser la performance
Responsable : Dev 1 & 2
Tâche 4 : Documentation (2h) - [ ] Documenter les changements - [ ] Créer guide d'implémentation - [ ] Mettre à jour README
Responsable : PO
Sprint 1 - Validation
Checklist de fin de sprint :
- [ ] Documents légaux créés et lisibles
- [ ] Écran de consentement fonctionne
- [ ] Consentement stocké dans Firestore
- [ ] Webhooks Stripe validés
- [ ] Logs des webhooks complets
- [ ] Audit trails implémentés
- [ ] Firestore Rules auditées
- [ ] Tous les tests passent
- [ ] Code review complétée
- [ ] Documentation mise à jour
Réunion de fin de sprint (1h) : - Présenter les résultats - Discuter des problèmes rencontrés - Planifier Sprint 2
📅 Sprint 2 - Phase 2 (Haute Priorité)
Durée : 2 semaines (10 jours de travail)
Équipe : PO + 2 Dev
Objectif : Implémenter les éléments avant production
Semaine 3
Jour 1-2 : Droit à l'Oubli
Tâche 1 : Créer endpoint de suppression (4h) - [ ] Vérifier authentification - [ ] Demander confirmation - [ ] Implémenter logique de suppression
Responsable : Dev 1
Tâche 2 : Supprimer les données Firestore (4h) - [ ] Supprimer profil utilisateur - [ ] Supprimer abonnement - [ ] Supprimer historique de paiement - [ ] Supprimer logs utilisateur
Responsable : Dev 2
Tâche 3 : Supprimer Stripe & Firebase (4h) - [ ] Annuler l'abonnement Stripe - [ ] Supprimer le compte Firebase - [ ] Envoyer email de confirmation
Responsable : Dev 1
Jour 3-4 : Export de Données
Tâche 1 : Créer endpoint d'export (4h) - [ ] Vérifier authentification - [ ] Récupérer toutes les données - [ ] Générer JSON/CSV
Responsable : Dev 2
Tâche 2 : Générer fichier chiffré (4h) - [ ] Chiffrer le fichier - [ ] Créer lien de téléchargement - [ ] Lien valide 7 jours
Responsable : Dev 1
Tâche 3 : Envoyer par email (2h) - [ ] Envoyer lien par email - [ ] Inclure instructions - [ ] Tester
Responsable : Dev 2
Jour 5 : Gestion des Annulations avec Délai
Tâche 1 : Annulation immédiate (4h)
- [ ] Cloud Function cancelSubscriptionImmediate
- [ ] Vérifier authentification
- [ ] Annuler l'abonnement Stripe
- [ ] Révoquer l'accès immédiatement
Responsable : Dev 1
Tâche 2 : Annulation à fin de période (4h)
- [ ] Cloud Function cancelSubscriptionAtPeriodEnd
- [ ] Configurer cancel_at_period_end
- [ ] Maintenir l'accès jusqu'à la fin
- [ ] Envoyer email de confirmation
Responsable : Dev 2
Jour 6-7 : Gestion des Litiges & Moyens de Paiement
Tâche 1 : Gestion des Litiges (6h)
- [ ] Webhook handler charge.dispute.created
- [ ] Logger le litige dans Firestore
- [ ] Envoyer notification interne (email/Slack)
- [ ] Créer interface admin pour preuves
Responsable : Dev 1
Tâche 2 : Gestion des Moyens de Paiement (6h)
- [ ] Cloud Function createSetupIntent
- [ ] Interface Flutter sécurisée
- [ ] Formulaire de carte avec SDK Stripe
- [ ] Mettre à jour le moyen de paiement par défaut
Responsable : Dev 2
Tâche 3 : Prévention de la Fraude (4h) - [ ] Configurer Stripe Radar - [ ] Créer règles personnalisées - [ ] Activer 3D Secure - [ ] Mettre en place monitoring
Responsable : Dev 1
Jour 8-10 : Factures & Tests
Tâche 1 : Factures (4h) - [ ] Setup Stripe Invoices API - [ ] Stocker factures dans Firestore - [ ] Interface de téléchargement - [ ] Envoyer factures par email
Responsable : Dev 2
Tâche 2 : Gestion Erreurs de Paiement (4h) - [ ] Implémenter retry logic - [ ] Backoff exponentiel - [ ] Notifications utilisateur
Responsable : Dev 1
Tâche 3 : Tests complets (4h) - [ ] Tester suppression de compte - [ ] Tester export de données - [ ] Tester annulations - [ ] Tester gestion litiges - [ ] Tester mise à jour paiement
Responsable : Dev 1 & 2
Tâche 4 : Code review & documentation (2h) - [ ] Revoir le code - [ ] Corriger les bugs - [ ] Mettre à jour documentation
Responsable : Dev 1 & 2
Sprint 2 - Validation
Checklist de fin de sprint :
- [ ] Droit à l'oubli implémenté et testé
- [ ] Export de données implémenté et testé
- [ ] Factures générées automatiquement
- [ ] Factures téléchargeables
- [ ] Factures envoyées par email
- [ ] Gestion des erreurs de paiement
- [ ] Retry logic fonctionne
- [ ] Tous les tests passent
- [ ] Code review complétée
- [ ] Documentation mise à jour
Réunion de fin de sprint (1h) : - Présenter les résultats - Vérifier la qualité - Planifier Sprint 3
📅 Sprint 3 - Phase 2 (Suite) & Phase 3
Durée : 2 semaines (10 jours de travail)
Équipe : PO + 2 Dev
Objectif : Finaliser les éléments de sécurité, conformité et optimisation
Semaine 5
Jour 1-2 : Upgrade/Downgrade d'Abonnement
Tâche 1 : Cloud Function updateSubscription (4h) - [ ] Récupérer l'abonnement actuel - [ ] Mettre à jour avec nouveau priceId - [ ] Gérer le prorata automatique
Responsable : Dev 1
Tâche 2 : Interface Flutter (4h) - [ ] Écran de changement de plan - [ ] Comparaison des plans - [ ] Confirmation et paiement prorata
Responsable : Dev 2
Jour 3-4 : Rate Limiting
Tâche 1 : Setup Firebase Rate Limiting (4h) - [ ] Configurer quotas Firebase - [ ] Implémenter rate limiting côté client - [ ] Monitorer les abus
Responsable : Dev 1
Tâche 2 : Rate limiting côté serveur (4h) - [ ] Cloud Function avec quotas - [ ] Bloquer les IPs abusives - [ ] Logger les tentatives
Responsable : Dev 2
Jour 5 : Conformité TVA/GST
Tâche 1 : Déterminer TVA par pays (4h) - [ ] API de géolocalisation - [ ] Tableau des taux TVA - [ ] Calcul automatique
Responsable : Dev 1
Semaine 6
Jour 6-7 : Portabilité & Tests
Tâche 1 : Portabilité des Données (4h) - [ ] Format standardisé JSON-LD - [ ] Schema.org markup - [ ] Documentation du format
Responsable : Dev 2
Tâche 2 : Tests de charge (4h) - [ ] Simuler 1000 utilisateurs - [ ] Tester les webhooks - [ ] Vérifier les performances
Responsable : Dev 1
Jour 8-10 : Tests Finaux & Préparation
Tâche 1 : Tests de sécurité (4h) - [ ] Scanner de vulnérabilités - [ ] Tests de pénétration - [ ] Vérifier les permissions
Responsable : Dev 2
Tâche 2 : Checklist déploiement (4h) - [ ] Configurer env production - [ ] Mettre à jour les clés - [ ] Tester en production
Responsable : Dev 1
Tâche 3 : Documentation finale (2h) - [ ] Mettre à jour README - [ ] Documenter l'architecture - [ ] Créer guides d'utilisation
Responsable : Dev 1 & 2
Sprint 3 - Validation
Checklist de fin de sprint :
- [ ] Rate limiting implémenté et testé
- [ ] Conformité TVA implémenté et testé
- [ ] Audit Firestore complété
- [ ] Tests de sécurité passés
- [ ] Audit trails complets
- [ ] Plan de rollback créé
- [ ] Runbook de déploiement créé
- [ ] Équipe support formée
- [ ] Prêt pour production
Réunion de fin de sprint (1h) : - Présenter les résultats - Valider la production-readiness - Planifier le déploiement
📊 Résumé des Estimations
| Sprint | Phase | Durée | Tâches | Priorité |
|---|---|---|---|---|
| Sprint 1 | Critique | 2 sem | 5 épiques | 🔴 TRÈS HAUTE |
| Sprint 2 | Haute | 2 sem | 9 épiques | 🔴 TRÈS HAUTE |
| Sprint 3 | Moyenne | 2 sem | 5 épiques | 🟠HAUTE |
| Sprint 4-5 | Optimisation | 2 sem | Audit externe | 🟡 MOYENNE |
Total : 8 semaines (40 jours de travail)
👥 Allocation des Ressources
PO (Julien)
- Sprint 1 : 40% (4 jours) - Recherche juridique + politique
- Sprint 2 : 20% (2 jours)
- Sprint 3 : 30% (3 jours)
Total : 9 jours
Dev 1
- Sprint 1 : 80% (8 jours)
- Sprint 2 : 80% (8 jours)
- Sprint 3 : 80% (8 jours)
Total : 24 jours
Dev 2
- Sprint 1 : 80% (8 jours)
- Sprint 2 : 80% (8 jours)
- Sprint 3 : 80% (8 jours)
Total : 24 jours
🎯 Dépendances Entre Sprints
Sprint 1 (Critique)
├── Documents légaux
├── Validation webhooks
└── Audit trails
↓
Sprint 2 (Haute Priorité)
├── Droit à l'oubli (dépend de : Documents légaux)
├── Export de données (dépend de : Documents légaux)
├── Factures (dépend de : Validation webhooks)
└── Gestion erreurs (dépend de : Validation webhooks)
↓
Sprint 3 (Moyenne Priorité)
├── Rate limiting (indépendant)
├── Conformité TVA (indépendant)
└── Tests finaux (dépend de : Sprint 1 & 2)
✅ Checklist Avant Chaque Sprint
Avant Sprint 1
- [ ] Équipe alignée
- [ ] Outils installés
- [ ] Branches Git créées
- [ ] Ressources confirmées
Avant Sprint 2
- [ ] Sprint 1 complété
- [ ] Tests passés
- [ ] Code review complétée
- [ ] Aucun bug bloquant
Avant Sprint 3
- [ ] Sprint 2 complété
- [ ] Tests passés
- [ ] Code review complétée
- [ ] Aucun bug bloquant
📞 Points de Synchronisation
Quotidien
- Standup : 15 min (9h30)
- Qu'est-ce que j'ai fait hier ?
- Qu'est-ce que je fais aujourd'hui ?
- Quels sont les blocages ?
Hebdomadaire
- Réunion de sprint : 1h (lundi 10h)
- Revoir les tâches de la semaine
- Identifier les risques
- Ajuster le plan si besoin
Bi-hebdomadaire
- Fin de sprint : 1h
- Présenter les résultats
- Discuter des problèmes
- Planifier le sprint suivant
🚀 Prochaines Étapes
- Valider ce plan avec l'équipe
- Créer les branches Git pour chaque sprint
- Commencer Sprint 1 lundi prochain
- Suivre le plan semaine par semaine
Document créé par Cascade - Sprint Planning pour Yinshi