2.6 KiB
2.6 KiB
🐐 Memegoat - Roadmap & Critères de Production
Ce document définit les objectifs, les critères techniques et les fonctionnalités à atteindre pour que le projet Memegoat soit considéré comme prêt pour la production et conforme aux normes européennes (RGPD) et françaises.
1. 🏗️ Architecture & Infrastructure
- Backend NestJS (TypeScript)
- Base de données PostgreSQL avec Drizzle ORM
- Stockage d'objets compatible S3 (MinIO)
- Service d'Emailing (Nodemailer / SMTPS)
- Documentation Technique & Référence API (
docs.memegoat.fr) - Health Checks (
/health) - Gestion des variables d'environnement (Validation avec Zod)
- CI/CD (Build, Lint, Test, Deploy)
2. 🔐 Sécurité & Authentification
- Hachage des mots de passe (Argon2id)
- Gestion des sessions robuste (JWT avec Refresh Token et Rotation)
- RBAC (Role Based Access Control) fonctionnel
- Système de Clés API (Hachées en base)
- Double Authentification (2FA / TOTP)
- Limitation de débit (Rate Limiting / Throttler)
- Validation stricte des entrées (DTOs + ValidationPipe)
- Protection contre les vulnérabilités OWASP (Helmet, CORS)
3. ⚖️ Conformité RGPD (EU & France)
- Chiffrement natif des données personnelles (PII) via PGP (pgcrypto)
- Hachage aveugle (Blind Indexing) pour l'email (recherche/unicité)
- Journalisation d'audit complète (Audit Logs) pour les actions sensibles
- Gestion du consentement (Versionnage CGU/Politique de Confidentialité)
- Droit à l'effacement : Flux de suppression (Soft Delete -> Purge définitive)
- Droit à la portabilité : Export des données utilisateur (JSON)
- Purge automatique des données obsolètes (Signalements, Sessions expirées)
- Anonymisation des adresses IP (Hachage) dans les logs
4. 🖼️ Fonctionnalités Coeur (Media & Galerie)
- Exploration (Trends, Recent, Favoris)
- Recherche par Tags, Catégories, Auteur, Texte
- Gestion des Favoris
- Upload sécurisé via S3 (URLs présignées)
- Scan Antivirus (ClamAV) et traitement des médias (WebP, WebM, AVIF, AV1)
- Limitation de la taille et des formats de fichiers entrants (Configurable)
- Système de Signalement (Reports) et workflow de modération
- SEO : Metatags dynamiques et slugs sémantiques
5. ✅ Qualité & Robustesse
- Couverture de tests unitaires (Jest) > 80%
- Tests d'intégration et E2E
- Gestion centralisée des erreurs (Filters NestJS)
- Monitoring et centralisation des logs (ex: Sentry, ELK/Loki)
- Performance : Cache (Redis) pour les tendances et recherches fréquentes