- couple_backlog/28_octobre_2025.md: Multi-vector plan (Tandem exchange + Aissia) - couple_backlog/25_octobre_2025.md: Previous backlog entry - Projects/aissia.md: AISSIA project with LanguageLearningModule integration - Projects/chinese_audio_tts_pipeline.md, groveengine_framework.md, social_network_manager.md - Projects/LeBonCoup/: Reorganized into folder - WorkTingting/28_10_2025-parents/: Parent meeting presentation materials - ToRemember/Japan_Conducts.md: Cultural notes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
9.3 KiB
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