License Commits Visit memegoat.fr

Follow on LinkedIn Join our Discord

# 🐐 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](https://memegoat.fr) 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](https://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 : - **[ModĂšle de DonnĂ©es](https://docs.memegoat.fr/docs/database)** : MCD, MLD et MPD. - **[SĂ©curitĂ©](https://docs.memegoat.fr/docs/security)** : Chiffrement PGP, Argon2id, RBAC. - **[ConformitĂ© RGPD](https://docs.memegoat.fr/docs/compliance)** : Mesures techniques et droits des utilisateurs. - **[API & IntĂ©grations](https://docs.memegoat.fr/docs/api)** : Authentification par sessions, clĂ©s API et 2FA. ## 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** : ```bash 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](https://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 ↑