Mathis HERRIOT 1e0bb03182 test: format multiline assertion in comments service spec
- Adjusted `remove` test to improve readability of multiline assertion.
2026-01-29 15:10:22 +01:00
2026-01-29 15:06:20 +01:00
2026-01-03 14:42:48 +01:00
2026-01-29 15:06:20 +01:00

🐐 Memegoat

Memegoat est une plateforme moderne de partage et de création de mèmes, conçue avec une architecture robuste et sécurisée.

Ce dépôt est en cours de développement. Nous intégrons actuellement les fonctionnalités clés dans le monorepo. Il n'est pas encore totalement prêt pour un déploiement auto-hébergé simplifié, mais vous pouvez le lancer localement.

Qu'est-ce que Memegoat ?

Memegoat est votre destination ultime pour découvrir, créer et partager les meilleurs mèmes du web. Notre plateforme se concentre sur la performance, la sécurité des données et une expérience utilisateur fluide.

Retrouvez notre documentation complète sur : docs.memegoat.fr

Architecture & Stack Technique

Le projet est structuré en monorepo :

  • Frontend : Next.js avec Tailwind CSS et Shadcn/ui.
  • Backend : NestJS (TypeScript) avec PostgreSQL.
  • Base de données : Drizzle ORM avec chiffrement natif PGP pour les données sensibles.
  • Infrastructure : Docker, Caddy (Reverse Proxy & TLS), stockage compatible S3.

Documentation Rapide

Pour approfondir vos connaissances techniques sur le projet :

Comment l'utiliser ?

Déploiement en Production

Le projet est prêt pour la production via Docker Compose.

  1. Prérequis : Docker et Docker Compose installés.
  2. Variables d'environnement : Copiez .env.example en .env.prod et ajustez les valeurs (clés secrètes, hosts, Sentry DSN, etc.).
  3. Lancement :
    docker-compose -f docker-compose.prod.yml up -d
    
  4. Services inclus :
    • Frontend : Next.js en mode standalone optimisé.
    • Backend : NestJS avec clustering et monitoring Sentry.
    • Caddy : Gestion automatique du SSL/TLS.
    • ClamAV : Scan antivirus en temps réel des médias.
    • Redis : Cache, sessions et limitation de débit (Throttling/Bot detection).
    • MinIO : Stockage compatible S3.

Sécurité et Performance

  • Transcodage Auto : Toutes les images sont converties en WebP et les vidéos en WebM pour minimiser la bande passante.
  • Bot Detection : Système intégré de détection et de bannissement automatique des crawlers malveillants via Redis.
  • Monitoring : Tracking d'erreurs et profilage de performance via Sentry (Node.js et Next.js).

Clés API

Pour utiliser l'API, vous pouvez générer des clés API sécurisées directement depuis votre profil sur memegoat.fr.

Fonctionnalités Clés

  • Sécurité Avancée : Chiffrement des données personnelles au repos et hachage aveugle pour la recherche.
  • RGPD by Design : Mécanismes de Soft Delete, purge automatique et hachage des IPs.
  • Multi-Authentification : Support des sessions JWT, des clés API et de la double authentification (2FA).
  • Gestion de Contenu : Support des mèmes et GIFs avec système de tags et signalements.
  • Traitement Médias Sécurisé : Scan antivirus (ClamAV) systématique et transcodage haute performance (WebP, WebM, AVIF, AV1).

Contribution

Les contributions sont les bienvenues ! Veuillez consulter notre guide de contribution avant de soumettre une pull request.

Licence

Ce projet est principalement sous licence GNU Affero General Public License v3.0 (AGPL-3.0). Certains composants, comme les SDKs, peuvent être sous licence MIT. Veuillez vous référer aux fichiers LICENSE dans les répertoires respectifs pour plus de détails.

↑ Retour en haut ↑

Description
No description provided
Readme AGPL-3.0 4.8 MiB
Languages
TypeScript 94.8%
PowerShell 1.5%
Shell 1.4%
CSS 1.1%
CMake 0.8%
Other 0.4%