couple-repo/Projects/LeBonCoup_Features.md
StillHammer f5aa93bcbd Initial commit: Couple matters documentation + PowerPoint skill
Documentation personnelle complète
- CLAUDE.md : Instructions compactes et enrichies
- personnalités/ : Profils Alexis, Tingting, Ben, Xiaoxiao + TingtingWork.md
- couple_backlog/ : Historique conflits (16-22 octobre 2025)
- conversation_topics/ : Système suivi sujets actifs
- Projects/ : Analyses techniques et projets
- ToRemember/ : Leadership socratique, suivi conversations
- Promesses_à_tenir.md, observations_patterns.md

PowerPoint skill
- .claude/skills/pptx/ : Skill officiel Anthropic (html2pptx)
- Identité visuelle Tingting : Bordeaux + Or antique + Crème
- Exemple : personnalités/Tingting_Class73_Elegant.pptx

Organisation
- planning/, stratégie/, topics/, plan_discussion/
- .gitignore : node_modules, *.pptx (sauf personnalités/), HTML/JS temp

🎯 Repo propre : 129 fichiers essentiels, 0 dependencies
2025-10-24 14:54:57 +08:00

340 lines
9.3 KiB
Markdown

# LeBonCoup - Spécifications Fonctionnelles
## Vue d'ensemble
Plateforme de petites annonces inversée : les demandeurs publient leurs besoins gratuitement, les prestataires paient pour accéder aux demandes via un système de tokens.
---
## 1. Système d'Utilisateurs
### 1.1 Types d'utilisateurs
- **Demandeurs** : Publient des demandes de services (gratuit)
- **Prestataires (Pros)** : Achètent des tokens pour accéder aux demandes
### 1.2 Inscription/Connexion
- Email + mot de passe
- Pas de nom/prénom obligatoire
- Pseudonyme auto-généré : "User_8x7f9a"
- Email **jamais** stocké en clair (hashé avec SHA256 + salt)
- Mot de passe hashé (Argon2 ou bcrypt)
### 1.3 Récupération de compte
- Service support séparé
- User entre son email → système calcule le hash → trouve le compte
- Reset password par email
- **Attention** : Changement de mot de passe = suppression de toutes les conversations
---
## 2. Système de Tokens
### 2.1 Achat de tokens
**Packs prépayés uniquement :**
- 10€ = 10 tokens
- 25€ = 30 tokens (+20% bonus)
- 50€ = 70 tokens (+40% bonus)
- 100€ = 150 tokens (+50% bonus)
**Paiement via Stripe :**
- Carte bancaire
- Apple Pay
- Google Pay
- PayPal (optionnel)
### 2.2 Utilisation des tokens
**1 token = accès à 1 demande**
**Tokens premium (optionnel v2) :**
- 2 tokens = accès prioritaire
- Permet de dépasser la limite de 5 pros (jusqu'à 6-7 max)
**Pas d'expiration des tokens** (ou très longue : 12 mois)
### 2.3 Remboursement automatique
- Si demande devient "pleine" entre filtrage et déblocage → refund auto
- Si demande signalée comme frauduleuse → refund
- Si demandeur fantôme (aucune réponse après 7 jours) → refund partiel
---
## 3. Publication de Demandes
### 3.1 Création de demande (gratuit)
**Champs obligatoires :**
- Titre (max 100 caractères)
- Description détaillée
- Catégorie (liste prédéfinie : plomberie, électricité, déménagement, etc.)
- Localisation (ville/arrondissement, floutée publiquement)
- Budget min/max
**Limites anti-spam :**
- Max 3 demandes actives simultanément par user
- Modération automatique (scan de mots-clés suspects)
- Review manuelle si détection de contenu suspect
### 3.2 Visibilité des demandes
**Avant déblocage (pour les pros) :**
- Nombre total de demandes correspondant aux filtres
- **Aucun détail** (pas de titre, pas de preview)
- Éventuellement : carte avec zones géographiques floutées (heatmap)
**Après déblocage :**
- Titre complet
- Description complète
- Localisation précise
- Budget
- Date de publication
- Nombre de pros ayant déjà contacté (X/5)
### 3.3 Cycle de vie d'une demande
**États :**
- **Active** : moins de 5 pros l'ont débloquée
- **Full** : 5 pros (ou 7 avec premium) l'ont débloquée
- **Resolved** : demandeur marque comme résolu
- **Expired** : 30 jours sans activité
- **Deleted** : supprimée par le demandeur ou admin
---
## 4. Système de Filtres (Pros)
### 4.1 Filtres disponibles
- **Géolocalisation** : ville, département, rayon en km
- **Catégories** : sélection multiple
- **Budget** : fourchette min/max
- **Date de publication** : dernières 24h, 7 jours, 30 jours
- **Urgence** : tag "urgent" (optionnel)
### 4.2 Affichage après filtrage
```
🔍 37 demandes correspondent à vos critères
Aperçu géographique (optionnel) :
- Paris 11e : 5 demandes
- Paris 18e : 8 demandes
- 93 Seine-Saint-Denis : 12 demandes
- 94 Val-de-Marne : 12 demandes
Budget moyen : 300-800€
[Débloquer pour 37 tokens] [Débloquer en premium pour 74 tokens]
```
---
## 5. Messagerie Chiffrée
### 5.1 Architecture
**Chiffrement de bout en bout (E2E) :**
- Clé de chiffrement dérivée de `email_clair + password_clair` (côté client uniquement)
- Messages stockés chiffrés sur le serveur
- Serveur **ne peut pas** déchiffrer
**Stockage en "blob" :**
- 1 conversation = 2 blobs chiffrés (1 pour chaque participant)
- Chaque blob contient tout l'historique de la conversation
- Pas de messages individuels stockés
### 5.2 Fonctionnalités messagerie
- **Texte** : illimité
- **Médias** (photos/vidéos - optionnel v2) :
- Max 5 Mo par image
- Max 50 Mo par vidéo
- Stockage temporaire : 14 jours max
- Cache client local (IndexedDB)
### 5.3 Notifications
- Push notifications : "Nouveau message de Pro_8x7f9a"
- Email notifications (opt-in)
- Badge de messages non lus
### 5.4 Rétention des données
**Conversations texte :**
- Suppression automatique après **6 mois** d'inactivité
- Warning 30 jours avant suppression
- User peut exporter avant
**Médias :**
- Suppression automatique après **14 jours**
- Warning 24h avant expiration
- User peut télécharger avant
**Changement de mot de passe :**
- Suppression immédiate de tous les blobs de l'user
- L'autre participant garde son blob (peut toujours lire)
---
## 6. Modération et Sécurité
### 6.1 Modération des demandes (publiques)
**Scan automatique :**
- Mots-clés interdits
- Patterns suspects (combinaisons de mots)
- Détection de services illégaux
**Actions :**
- Flag pour review manuelle
- Blocage immédiat si contenu clairement illégal
- Ban du user
### 6.2 Modération des messages (privés)
**Système de "flags" client-side :**
**Avant chiffrement, scan local (JavaScript) :**
- Détection de numéros de téléphone
- Détection d'emails
- Détection de réseaux sociaux (@instagram, etc.)
- Mots-clés suspects : "cash", "espèces", "discret", "sans facture"
- Combinaisons suspectes
**Flags envoyés au serveur (anonymes) :**
```
Conversation A-B : +2 flags (catégories: contact_externe, paiement_externe)
```
**Le serveur ne voit PAS le contenu, juste les compteurs.**
**Actions automatiques par seuils :**
- **10 flags** → Warning in-app
- **25 flags** → Restriction temporaire (24h sans pouvoir envoyer de messages)
- **50 flags** OU 3+ signalements → Ban automatique
### 6.3 Signalement par les users
**User A signale User B :**
- User A peut partager son blob déchiffré avec le support
- Support review manuellement
- Si confirmé problématique → ban de User B + refund des tokens
**User B n'est pas informé** que son compte est sous investigation.
---
## 7. Fonctionnalités Avancées (v2)
### 7.1 Système de réputation (optionnel)
- Score de confiance basé sur :
- Ancienneté du compte
- Nombre de flags reçus
- Tokens dépensés (pros) / demandes résolues (demandeurs)
- Visible publiquement (par pseudonyme)
### 7.2 Tokens premium
- 2 tokens pour accès prioritaire
- Passe outre la limite de 5 pros (slots 6-7 réservés aux premium)
### 7.3 Abonnements
- 50€/mois = 60 tokens + accès illimité aux demandes "basiques"
- Tokens servent pour demandes "premium" (gros budgets)
### 7.4 Export de données
- User peut télécharger toutes ses conversations (JSON ou PDF)
- Export de l'historique de tokens
- Conforme RGPD (droit à la portabilité)
---
## 8. MVP - Périmètre Minimal
### Inclure :
✅ Inscription/connexion (email/password hashés)
✅ Achat de tokens (Stripe, packs fixes)
✅ Publication de demandes (gratuit, limite 3 actives)
✅ Filtres (géo, catégorie, budget)
✅ Système de déblocage avec tokens (max 5 pros)
✅ Messagerie texte simple (blob chiffré)
✅ Flags automatiques (modération soft)
✅ Signalement users
✅ Auto-refund si demande pleine
✅ Suppression auto conversations > 6 mois
### Exclure du MVP :
❌ Tokens premium
❌ Médias (photos/vidéos)
❌ Application mobile (web responsive suffit)
❌ Système de notation/avis
❌ Analytics avancés
❌ Abonnements
---
## 9. CGU et Conformité
### 9.1 Mentions obligatoires
**Anonymat et privacy :**
```
- Vos échanges sont chiffrés de bout en bout
- Nous ne pouvons pas lire vos messages
- Votre email n'est jamais exposé publiquement
- Pseudonymes utilisés sur la plateforme
```
**Modération :**
```
- Les demandes publiques sont modérées automatiquement
- Les messages sont analysés localement avant chiffrement
pour détecter des comportements interdits
- En cas de signalement, des actions peuvent être prises
```
**Rétention des données :**
```
- Conversations supprimées après 6 mois d'inactivité
- Médias supprimés après 14 jours
- Warning avant suppression automatique
- Changement de mot de passe = suppression de vos conversations
```
**Paiements et remboursements :**
```
- Tokens sans expiration (12 mois de validité)
- Remboursement automatique en cas de demande indisponible
- Pas de remboursement si demande légitime mais non aboutie
```
### 9.2 RGPD
- Données minimales collectées (email hashé, pas de nom/prénom)
- Droit à l'export des données
- Droit à la suppression du compte
- Pas de revente de données
- Cookies strictement nécessaires uniquement
### 9.3 Légal
- Responsabilité limitée : plateforme de mise en relation
- Modération proactive (détection automatique)
- Coopération avec les autorités si requis
- Interdiction stricte d'activités illégales (prostitution, drogue, travail au noir)
---
## 10. Roadmap Suggérée
**Phase 1 - MVP (3-4 mois) :**
- Inscription/auth
- Tokens + Stripe
- Demandes + filtres
- Messagerie texte chiffrée
- Modération basique
**Phase 2 - Amélioration (2-3 mois) :**
- Médias (photos/vidéos)
- Tokens premium
- Système de réputation
- Analytics
**Phase 3 - Scale (ongoing) :**
- App mobile (React Native)
- Abonnements
- Notifications avancées
- Support client amélioré
---
**Date de création :** 2025-01-16
**Version :** 1.0
**Statut :** Draft pour validation