--- title: Fonctionnalités Techniques description: Détails des fonctionnalités clés du projet Memegoat --- # 🚀 Fonctionnalités Techniques Le projet Memegoat intègre un ensemble de fonctionnalités avancées pour garantir une expérience utilisateur fluide, sécurisée et performante. ## 🏗️ Infrastructure & Médias ### 📤 Publication & Traitement Le coeur de la plateforme permet la publication sécurisée de mèmes et de GIFs avec un pipeline de traitement complet : #### Détails du Pipeline : - **Transcodage Haute Performance** : - **Images & GIFs** : Conversion vers **WebP** (via `sharp`). Support de l'**AVIF** intégré. - **Vidéos** : Conversion vers **WebM** (VP9/Opus via `ffmpeg`). Support de l'**AV1** implémenté. - **Validation Stricte** : - Limites de taille configurables (par défaut : 512 Ko pour les images, 1024 Ko pour les GIFs). - **Gestion du Cycle de Vie** : Support du **Soft Delete** (Droit à l'oubli) et de la restauration temporaire. ### 📦 Stockage S3 (MinIO) Pour la gestion des médias, Memegoat utilise **MinIO**, une solution de stockage d'objects compatible S3, auto-hébergée. Le serveur MinIO est isolé dans le réseau interne de Docker et n'est pas exposé directement sur internet. Le Backend fait office de proxy ou génère des URLs présignées. --- ## 🔍 Expérience Utilisateur ### 🔍 SEO & Partage La plateforme est optimisée pour le référencement naturel et le partage social : - **Metatags dynamiques** : Le Backend détecte les robots (Twitter, Facebook, Google) et sert un rendu HTML spécifique avec les balises OpenGraph et Twitter Cards. - **URLs Sémantiques** : Chaque mème possède un slug unique généré à partir de son titre (ex: `memegoat.fr/contents/mon-super-meme`). - **Indexation** : Structure sémantique HTML5 et Sitemap dynamique. - **Rendus côté serveur (SSR)** : Utilisation de Next.js pour un affichage instantané pour les utilisateurs. ### ⚡ Performance & Cache Pour garantir une réactivité maximale, Memegoat utilise plusieurs niveaux de cache : - **Cache Redis** : Les résultats des requêtes fréquentes (tendances, exploration) sont stockés dans un cache Redis côté serveur. - **Directives HTTP** : Utilisation rigoureuse des headers `Cache-Control` pour permettre la mise en cache par les navigateurs et les CDNs. --- ## 🛡️ Gouvernance & Sécurité ### 🕵️ Audit des Actions Chaque action sensible sur la plateforme est tracée dans la table `audit_logs` : - Modification de profil, suppression de contenu, changements de permissions. - Enregistrement de l'auteur, de l'action, de l'horodatage et des détails techniques (IP hachée, User-Agent). ### 👤 Gestion du Profil Un système complet de gestion de profil permet aux utilisateurs de : - Gérer leurs informations personnelles (nom d'affichage, avatar). - Configurer la **Double Authentification (2FA)**. - Consulter leurs sessions actives et révoquer des accès. Toutes les données sensibles du profil sont protégées par **chiffrement PGP** au repos. ### 🚩 Modération & Signalements Un système de modération intégré permet de maintenir la qualité du contenu : - Signalement de contenus ou de tags inappropriés. - Workflow : `pending` -> `reviewed` -> `resolved` / `dismissed`. - Purge automatique des signalements obsolètes pour respecter la minimisation des données (RGPD).