Include information about antivirus scanning (ClamAV) and high-performance transcoding (WebP, WebM, AVIF, AV1) under the media processing section.
93 lines
4.2 KiB
Markdown
93 lines
4.2 KiB
Markdown
<h3 align="center">
|
|
<a name="readme-top"></a>
|
|
<img
|
|
src="https://git.yidhra.fr/repo-avatars/a65bdb0b2864a481aeb7ae2f21201938a25eda4dd36775163a21dc613dd7347c"
|
|
height="200"
|
|
>
|
|
</h3>
|
|
<div align="center">
|
|
<a href="https://git.yidhra.fr/Mathis/memegoat/src/branch/dev/LICENSE">
|
|
<img src="https://img.shields.io/badge/License-AGPL3.0-green" alt="License">
|
|
</a>
|
|
<a href="https://git.yidhra.fr/Mathis/memegoat/commits">
|
|
<img src="https://img.shields.io/badge/Status-Ongoing-blue" alt="Commits">
|
|
</a>
|
|
<a href="https://memegoat.fr">
|
|
<img src="https://img.shields.io/badge/Visit-memegoat.fr-orange" alt="Visit memegoat.fr">
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<p align="center">
|
|
<a href="#">
|
|
<img src="https://img.shields.io/badge/Follow%20me%20on%20LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="Follow on LinkedIn" />
|
|
</a>
|
|
<a href="#">
|
|
<img src="https://img.shields.io/badge/Join%20my%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join our Discord" />
|
|
</a>
|
|
</p>
|
|
</div>
|
|
|
|
# 🐐 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 ?
|
|
|
|
### Installation locale
|
|
|
|
1. Clonez le dépôt.
|
|
2. Installez les dépendances avec `pnpm install`.
|
|
3. Configurez les variables d'environnement (voir `.env.example`).
|
|
4. Lancez les services via Docker ou manuellement.
|
|
|
|
### 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.
|
|
|
|
<p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
|
|
<a href="#readme-top" style="text-decoration: none; color: #007bff; font-weight: bold;">
|
|
↑ Retour en haut ↑
|
|
</a>
|
|
</p> |