Files
memegoat/documentation/content/docs/deployment.mdx
Mathis HERRIOT 1f7bd51a7b feat(docs): add detailed features and business flow diagrams
- 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.
2026-02-01 20:27:46 +01:00

76 lines
1.8 KiB
Plaintext

---
title: Déploiement & Tests
description: Procédures de déploiement et stratégie de tests
---
## 🚀 Déploiement
### Architecture de service
Un conteneur **Caddy** est utilisé en tant que reverse proxy pour fournir le TLS et la gestion du FQDN.
### Pré-requis Système
<Cards>
<Card title="Environnement" description="Node.js >= 22 (recommandé pour NestJS 11), pnpm >= 10." />
<Card title="Base de données" description="PostgreSQL >= 16 + pgcrypto et Redis 7+." />
<Card title="Stockage" description="MinIO ou S3 Compatible." />
<Card title="Services" description="ClamAV (clamd), FFmpeg 6+ et Serveur SMTP." />
</Cards>
### Procédure de Déploiement
<Steps>
<Step>
### Configuration de l'environnement
Copiez le fichier `.env.example` vers `.env` et configurez les variables essentielles (clés PGP, secrets JWT, accès S3).
</Step>
<Step>
### Installation des dépendances
Utilisez pnpm pour installer les packages dans le monorepo :
```bash
pnpm install
```
</Step>
<Step>
### Initialisation de la base de données
Exécutez les migrations Drizzle pour créer les tables et les types nécessaires.
```bash
pnpm --filter backend db:migrate
```
</Step>
<Step>
### Lancement des services
Utilisez Docker Compose pour lancer l'infrastructure complète ou démarrez les services individuellement.
```bash
docker-compose up -d
```
</Step>
</Steps>
## 🧪 Tests & Qualité
<Tabs items={['Tests', 'Linting', 'Build']}>
<Tab value="Tests">
Exécutez la suite de tests unitaires avec Jest :
```bash
pnpm test
```
</Tab>
<Tab value="Linting">
Vérifiez la conformité du code avec Biome :
```bash
pnpm lint
```
</Tab>
<Tab value="Build">
Validez la compilation de tous les modules :
```bash
pnpm build
```
</Tab>
</Tabs>