# Cahier des charges — Bons Points (app Android commerciale) **Version :** 0.2 **Date :** 9 juin 2026 **Statut :** Cadrage — produit public monétisé (pas usage famille seul) --- ## 1. Vision produit ### Objectif business Publier sur le **Google Play Store** une application de **bons points** pour familles, **100 % locale** (pas de SaaS, pas de compte obligatoire), monétisée pour **générer des revenus** au-delà du coût du compte développeur (~25 €). ### Proposition de valeur (marketing) > **« Vos bons points restent chez vous — zéro cloud, zéro compte, zéro données enfants sur nos serveurs. »** Les données familiales (scores, historique, photos) vivent **uniquement sur le téléphone**. Seul un **mini site de redirection** (téléchargement / QR) peut exister côté serveur — sans accès au contenu familial. ### Ce n’est PAS - **P’titsPas** (`app.ptits-pas.fr`) — application pro garde d’enfants / collectivités (projet séparé, login, SaaS). - L’instance familiale actuelle (Ariana, Pablo, Hélia) — elle sert de **prototype** et de source de règles par défaut, pas de produit final. ### Hors périmètre v1 - iOS (coût Mac + 99 €/an) - OK Google / Nest / voix - Synchronisation multi-téléphones en temps réel - Comptes utilisateurs cloud (Firebase Auth, etc.) --- ## 2. Modèle économique ### Freemium (recommandé) | | **Gratuit** | **Premium** (achat unique) | |--|-------------|----------------------------| | Enfants | **1 enfant** max | **Illimité** (ou plafond raisonnable, ex. 8) | | Règles / récompenses | Pack par défaut + édition limitée | Édition complète, familles custom | | Publicités | **Bandeau AdMob** (bas d’écran) | **Aucune pub** | | Export sauvegarde | ✅ | ✅ | | Historique | 30 derniers jours | Illimité | | Prix cible | 0 € | **2,99 € – 4,99 €** (achat in-app unique) | *Chiffres à affiner après étude concurrence.* ### Publicité (AdMob) - App ciblant **familles et enfants** → politique **Google Play Families** obligatoire. - Pubs **taguées child-directed**, contenu **G** max, SDK Ads certifié Families. - **Revenus pub faibles** sur ce segment ; l’IAP « sans pub + multi-enfants » doit être le levier principal. - **Pas de pub** dans l’espace parent ni sur les écrans où l’enfant dépense ses points (UX + conformité). ### Coûts récurrents | Poste | Coût | |-------|------| | Compte Google Play | ~25 € une fois | | Hébergement landing `/download` | ~0 € (page statique sur infra existante) | | Backend données familiales | **0 €** | | AdMob / Play Billing | Commission Google sur IAP (~15 %) | ### Seuil de rentabilité (ordre de grandeur) - Coût fixe initial : ~25 € + temps de dev. - À 3 € IAP net ~2,55 € : **~10 achats** pour couvrir le compte Play (hors temps). - Les pubs seules nécessitent **très nombreuses** impressions (surtout en child-directed). --- ## 3. Utilisateurs cibles | Profil | Besoin | |--------|--------| | **Parent** (acheteur décisionnaire) | Gérer points, règles, récompenses, corriger erreurs | | **Enfant** | Voir score, historique, « boutique » | | **Parent soucieux vie privée** | Pas de compte, pas de cloud — argument d’achat | **Marché initial :** France, français. Extension EU possible plus tard. --- ## 4. Parcours utilisateur (premier lancement) Pas de login. À la première ouverture : 1. **Écran bienvenue** — promesse (local, privé, simple). 2. **Création du 1er enfant** — prénom, couleur, photo (galerie ou avatar). 3. **Choix du PIN parent** (obligatoire). 4. **Import règles par défaut** — pack « Maison & école » (~30 règles issues du prototype) ou départ vide. 5. **Tableau de bord** — prêt à l’emploi. Ensuite : ouverture directe sur le tableau de bord (PIN pour espace parent). --- ## 5. Fonctionnalités ### 5.1 MVP commercial (v1.0 — publication Play Store) #### Tableau de bord - Liste enfants (limité à 1 en gratuit ; badge « Passer à Premium » si ajout 2e enfant). - Accès espace parent (PIN). - Menu : réglages, export/import, premium, politique confidentialité. #### Enfant - Fiche : photo, score, historique, boutique. - Plancher score à **0**. #### Espace parent (PIN) - Multi-sélection enfants (premium si >1 enfant). - Grille règles par familles (édition en premium ; lecture + apply en gratuit). - Historique + **annulation** de mouvement. - Verrouillage auto après sortie de l’écran parent. #### Boutique - Récompenses configurables (premium) ou pack défaut (gratuit). #### Configuration (premium ou partiel gratuit) - Ajouter / modifier / désactiver règles et récompenses. - Ajouter enfants (premium au-delà du 1er). - Changer PIN, couleurs, photos. - **Export / import** sauvegarde JSON chiffrée (Google Drive, mail, fichier local). #### Monétisation intégrée - Bandeau AdMob (écrans autorisés uniquement). - Écran achat Premium (Google Play Billing). - Restauration achat sur nouveau téléphone. #### Légal (obligatoire Play Store) - Politique de confidentialité (URL statique). - Mention « pas de collecte données enfants sur serveur ». - Déclaration cible d’âge Play Console (familles). - CGU simplifiées si IAP. ### 5.2 v1.1+ - Widget Android (scores). - Packs de règles thématiques (téléchargement embarqué, pas serveur). - Statistiques locales pour parents (graphique semaine). - Traduction anglais si traction FR. ### 5.3 Exclu - Voix / assistant. - Sync cloud entre parents. - Réseau social, classements entre familles. --- ## 6. Règles métier (inchangées par rapport au prototype) - Score entier, plancher **0**. - Mouvement = trace de chaque action (règle, delta, date). - Annulation = correction inverse (plancher respecté). - Familles de règles : Maison, Routine, Fratrie, Respect, Écrans, Bonus (+ custom en premium). *Référence données seed : `apps/bonpoint/src/db.js` (`REGLES_DEFAUT`, `RECOMPENSES_DEFAUT`).* --- ## 7. Architecture technique | Couche | Choix | |--------|--------| | Framework | **Flutter** (UI rapide, Cursor-friendly, un codebase) | | Base locale | **drift** ou **sqflite** (SQLite) | | État | Riverpod ou Bloc | | IAP | `in_app_purchase` | | Pub | `google_mobile_ads` (Families-compliant) | | Export | Fichier JSON + checksum ; option chiffrement AES (mot de passe parent) | | PIN | Hash local (bcrypt / argon2 via package) | ### Réseau (minimal) | Usage | Réseau | Données | |-------|--------|---------| | Usage quotidien app | **Non requis** | — | | AdMob | Oui | Requêtes pub anonymisées (Families) | | Play Billing | Oui | Transaction Google | | Landing `bonpoint.ptits-pas.fr/download` | Oui | Redirection Play Store + compteur scans | | Données familiales vers serveur | **Jamais** | — | ### Landing marketing (serveur léger) - URL : `https://bonpoint.ptits-pas.fr/download` (ou sous-domaine dédié). - QR code sur cartons → comptage scan → redirect fiche Play Store. - **Aucune** donnée enfant ; analytics agrégés uniquement. --- ## 8. Distribution Play Store ### Compte développeur - Compte **personnel** ou **organisation** (si structure P’tits Pas / micro-entreprise — *à trancher pour facturation IAP*). ### Avant publication publique (compte perso récent) - **Test fermé** : minimum **12 testeurs** opt-in, **14 jours consécutifs**. - Questionnaire « production access » rempli par Google. - Prévoir recrutement testeurs (réseau, parents école, etc.) **avant** de viser la prod. ### Fiche Store - Nom : **Bons Points** (ou **Bonpoint — Bons points famille** si conflit). - Captures : tableau de bord, espace parent, boutique. - Argument : **100 % hors ligne, privé, sans compte**. --- ## 9. Stratégie marketing (terrain) | Canal | Action | |-------|--------| | **QR cartons** | Carton imprimé → `/download` → Play Store | | **Bouche-à-oreille** | Enfants / parents d’école (récré, WhatsApp parents) | | **Différenciation** | Vie privée vs apps concurrentes cloud + abonnement | | **Pas en v1** | Budget pub Facebook, influenceurs | --- ## 10. Concurrence & positionnement Marché saturé d’apps « chores / rewards / points ». Angles possibles : 1. **100 % local** — pas d’abonnement mensuel. 2. **Français natif** — règles et UX pensées France. 3. **Prix bas** — IAP unique vs abonnements concurrents. 4. **Sans compte** — installation en 2 minutes. *Étude concurrentielle à faire (2–3 apps FR/EN) avant finalisation pricing.* --- ## 11. Rapport avec le prototype web | Élément | Décision | |---------|----------| | `bonpoint.ptits-pas.fr` | Devient **landing + redirect** ; app web famille optionnelle en maintenance | | Code Node actuel | Source de vérité pour **règles par défaut** et **logique métier** ; pas porté tel quel | | Dialogflow / Smart Home / Nest | **Abandonné** | | Photos Ariana/Pablo/Hélia | Remplacées par avatars génériques dans l’app publique | --- ## 12. Planning indicatif | Phase | Livrable | Durée estimée | |-------|----------|---------------| | **0** | Validation CDC v0.2 + étude concurrence + pricing | 1 semaine | | **1** | Projet Flutter + BDD + onboarding + 1 enfant | 1 semaine | | **2** | Espace parent, règles, mouvements, annulation | 1 semaine | | **3** | Boutique, export/import, packs règles défaut | 1 semaine | | **4** | AdMob + IAP + écran premium | 1 semaine | | **5** | Légal, polish, tests, test fermé 14 j | 2 semaines | | **6** | Landing QR + cartons + demande prod Play | 1 semaine | **Total indicatif :** 7–8 semaines à temps partiel. --- ## 13. Critères d’acceptation v1.0 - [ ] Onboarding sans compte ; 1er enfant créé en < 3 min - [ ] Gratuit : 1 enfant, pub visible, pack règles défaut utilisable - [ ] Premium : achat débloque multi-enfants + sans pub + édition complète - [ ] 100 % fonctionnel en mode avion (hors pub et achat) - [ ] Export puis import sur autre téléphone = données identiques - [ ] Conformité Families (pubs G, pas de tracking enfant) - [ ] Politique confidentialité accessible depuis l’app - [ ] Test fermé 12×14 j validé avant prod --- ## 14. Points encore à trancher | # | Question | Options | |---|----------|---------| | 1 | **Nom marque Play Store** | Bons Points / Bonpoint / autre | | 2 | **Prix IAP** | 2,99 € / 3,99 € / 4,99 € | | 3 | **Limite enfants premium** | Illimité / 6 / 8 | | 4 | **Compte Play** | Perso / société (micro-entreprise) | | 5 | **Édition règles en gratuit** | Lecture seule / 5 règles custom | | 6 | **Historique gratuit** | 30 j / 50 mouvements / illimité | | 7 | **Landing** | Garder `bonpoint.ptits-pas.fr` / nouveau domaine | | 8 | **Quand arrêter le site web actuel** | Dès v1 / après traction app | --- ## 15. Prochaine étape 1. Valider ce CDC v0.2 (prix IAP, limites gratuit/premium). 2. Faire une **mini étude concurrence** (3 apps, leurs prix). 3. Créer le repo Flutter `bonpoint-app` et l’onboarding. 4. En parallèle : ouvrir compte Play + préparer liste des 12 testeurs. --- *v0.1 → v0.2 : pivot produit public monétisé (freemium + AdMob + IAP), stack Flutter, landing QR conservée.*