Memegoat LogoMemegoat

Fonctionnalités Techniques

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 :

🛡️

Sécurité (Antivirus)

Chaque fichier uploadé est scanné en temps réel par ClamAV.

🎞️

Transcodage

Conversion automatique vers WebP (images) et WebM (vidéos).

Validation

Contrôle strict des formats (png, jpeg, webp, webm, gif) et des tailles.

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.

Isolation Réseau

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).