Skip to content

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

  1. Valider ce plan avec l'équipe
  2. Créer les branches Git pour chaque sprint
  3. Commencer Sprint 1 lundi prochain
  4. Suivre le plan semaine par semaine

Document créé par Cascade - Sprint Planning pour Yinshi