- Introduced new interaction and community features, including comments and private messaging. - Added technical diagrams for critical workflows: authentication, content publication, and messaging. - Enhanced data model documentation with support for comments and messaging tables. - Updated API references with endpoints for comments, messaging, and user search. - Integrated post-quantum cryptography for improved data protection.
81 lines
4.4 KiB
Plaintext
81 lines
4.4 KiB
Plaintext
---
|
|
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 (voir le [Flux de Publication](/docs/flows#-publication-de-contenu-pipeline-médía)) :
|
|
|
|
<Cards>
|
|
<Card icon="🛡️" title="Sécurité (Antivirus)" description="Chaque fichier uploadé est scanné en temps réel par ClamAV." />
|
|
<Card icon="🎞️" title="Transcodage" description="Conversion automatique vers WebP (images) et WebM (vidéos)." />
|
|
<Card icon="✅" title="Validation" description="Contrôle strict des formats (png, jpeg, webp, webm, gif) et des tailles." />
|
|
</Cards>
|
|
|
|
#### 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.
|
|
|
|
<Callout type="info" title="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.
|
|
</Callout>
|
|
|
|
---
|
|
|
|
## 🔍 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.
|
|
|
|
### 💬 Interaction & Communauté
|
|
Memegoat favorise l'interaction entre les utilisateurs via plusieurs fonctionnalités sociales :
|
|
- **Système de Commentaires** : Les utilisateurs peuvent commenter les mèmes, répondre à d'autres commentaires et aimer les contributions.
|
|
- **Messagerie Privée** : Un système de messagerie sécurisé permettant des conversations directes entre utilisateurs, avec gestion des conversations et compteurs de messages non lus.
|
|
|
|
<Callout type="info">
|
|
Toutes les données sensibles du profil sont protégées par **chiffrement PGP** au repos.
|
|
</Callout>
|
|
|
|
### 🚩 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).
|