Stack Technique
Vue d'ensemble
┌─────────────────────────────────────────────────────────────────┐
│ INFRASTRUCTURE │
├─────────────────────────────────────────────────────────────────┤
│ Traefik (Reverse Proxy + SSL) │
│ Docker (Containerisation) │
└─────────────────────────────────────────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Landing │ │ Frontend │ │ Supabase │ │ Video │
│ Page │ │ Angular │ │ Backend │ │ Generator │
├─────────────┤ ├ ─────────────┤ ├─────────────┤ ├─────────────┤
│ HTML/CSS/JS │ │ Angular 17 │ │ PostgreSQL │ │ Node.js │
│ Nginx │ │ NGXS │ │ Edge Funcs │ │ FFmpeg │
│ │ │ Tailwind │ │ Auth │ │ Puppeteer │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
Frontend (front-dedicaces)
Framework & Core
| Technologie | Version | Usage |
|---|---|---|
| Angular | 17.x | Framework principal |
| TypeScript | 5.x | Langage |
| RxJS | 7.x | Programmation réactive |
State Management
| Technologie | Usage |
|---|---|
| NGXS | Store centralisé |
| @ngxs/storage-plugin | Persistance locale |
UI & Styling
| Technologie | Usage |
|---|---|
| Tailwind CSS | Utility-first CSS |
| DaisyUI | Composants Tailwind |
| ngx-quill | Éditeur riche |
Services Externes
| Technologie | Usage |
|---|---|
| Supabase JS | Client backend |
| ngx-stripe | Paiements |
| posthog-js | Analytics/Erreurs |
Vidéo (côté client)
| Technologie | Usage |
|---|---|
| @ffmpeg/ffmpeg | Traitement vidéo browser |
| fluent-ffmpeg | Interface FFmpeg |
Backend (back-dedicaces)
Supabase
| Composant | Usage |
|---|---|
| PostgreSQL | Base de données |
| Auth | Authentification |
| Storage | Stockage fichiers |
| Edge Functions | Serverless (Deno) |
| Realtime | Subscriptions |
Edge Functions Runtime
| Technologie | Usage |
|---|---|
| Deno | Runtime JavaScript |
| TypeScript | Langage |
| Supabase SDK | Client admin |
Video Generator (dedicace-generator)
Runtime
| Technologie | Version | Usage |
|---|---|---|
| Node.js | 20.x | Runtime principal |
| Express | 4.x | Serveur HTTP |
Traitement Média
| Technologie | Usage |
|---|---|
| FFmpeg | Composition vidéo |
| Puppeteer | Rendu HTML→Image |
| Sharp | Traitement images |
Utilitaires
| Technologie | Usage |
|---|---|
| cheerio | Parsing HTML |
| he | Décodage entités HTML |
| axios | Requêtes HTTP |
Landing Page (landing-page-kazadedicate)
Stack
| Technologie | Usage |
|---|---|
| HTML5 | Structure |
| CSS3 | Styles (inline) |
| JavaScript | Interactions |
| Nginx | Serveur web |
SEO
| Technologie | Usage |
|---|---|
| Sitemap XML | Indexation |
| Meta tags | SEO on-page |
| Schema.org | Données structurées |
Infrastructure
Containerisation
| Technologie | Usage |
|---|---|
| Docker | Containers |
| Docker Compose | Orchestration locale |
Reverse Proxy
| Technologie | Usage |
|---|---|
| Traefik | Routing |
| Let's Encrypt | Certificats SSL |
Domaines
| Domaine | Service |
|---|---|
| momentscollectifs.fr | Landing page |
| app.momentscollectifs.fr | Application Angular |
| api.momentscollectifs.fr | Video Generator |
Versions et Compatibilité
Node.js
{
"engines": {
"node": ">=20.0.0"
}
}
Angular
{
"@angular/core": "^17.0.0",
"@angular/ssr": "^17.0.0"
}
Navigateurs Supportés
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Dépendances Principales
front-dedicaces
{
"@angular/core": "^17.x",
"@ngxs/store": "^3.x",
"@supabase/supabase-js": "^2.x",
"ngx-stripe": "^17.x",
"ngx-quill": "^24.x",
"@ffmpeg/ffmpeg": "^0.12.x",
"posthog-js": "^1.x"
}
dedicace-generator
{
"express": "^4.x",
"fluent-ffmpeg": "^2.x",
"puppeteer": "^22.x",
"sharp": "^0.33.x",
"@supabase/supabase-js": "^2.x"
}