Stack Technologique
Technologies Principales
Frontend Framework
| Tech | Version | RĂ´le |
|---|---|---|
| Next.js | 15+ | Framework fullstack React |
| React | 19+ | UI library |
| TypeScript | 5+ | Typage statique |
| Tailwind CSS | 4+ | Styling utility-first |
| shadcn/ui | Latest | Composants UI |
Backend & ORM
| Tech | Version | RĂ´le |
|---|---|---|
| Prisma | 5+ | ORM pour PostgreSQL |
| Node.js | 18+ | Runtime JavaScript |
| TypeScript | 5+ | Typage serveur |
Base de Données
| Tech | Version | RĂ´le |
|---|---|---|
| PostgreSQL | 13+ | Base de données relationnelle |
| Prisma Migrate | Latest | Versioning des migrations |
Authentification
| Tech | RĂ´le |
|---|---|
| better-auth | Framework d’authentification moderne |
| next-auth | Alternative (optionnelle) |
| bcrypt | Hash des mots de passe |
| jsonwebtoken | JWT tokens (optionnel) |
Plugins better-auth
import { betterAuth } from "better-auth";
import { twoFactor } from "better-auth/plugins/two-factor";
import { passkey } from "better-auth/plugins/passkey";
import { magicLink } from "better-auth/plugins/magic-link";
import { emailVerification } from "better-auth/plugins/email-verification";
import { socialProviders } from "better-auth/plugins/social-providers";Outils de Développement
| Tool | RĂ´le |
|---|---|
| pnpm | Gestionnaire de paquets rapide |
| ESLint | Linting JavaScript/TypeScript |
| Prettier | Formatage de code |
| Vitest | Framework de test unitaire |
| Playwright | E2E testing |
| Prisma Studio | GUI pour la base de données |
Intégrations Externes
| Service | RĂ´le | Documentation |
|---|---|---|
| Stripe | Paiements en ligne | Stripe APIÂ |
| GitHub OAuth | Authentification | GitHub OAuth |
| Google OAuth | Authentification | Google OAuth |
| SMTP | Envoi d’emails | Postfix / Gmail / Custom |
| Resend | Email API (optionnel) | Resend |
| Sentry | Error tracking (optionnel) | Sentry |
Éditeur de contenu
| Tech | RĂ´le |
|---|---|
| TipTap | Rich text editor |
| Markdown | Format des articles |
| Plugins TipTap | Autocomplétion, emojis, mentions |
Déploiement
| Tech | RĂ´le |
|---|---|
| Vercel | Platform de déploiement (optionnel) |
| Docker | Containerization (optionnel) |
| GitHub Actions | CI/CD |
Dépendances principales
Production
{
"dependencies": {
"next": "^15.0.0",
"react": "^19.0.0",
"typescript": "^5.0.0",
"prisma": "^5.0.0",
"@prisma/client": "^5.0.0",
"better-auth": "^0.7.0",
"stripe": "^14.0.0",
"@stripe/react-stripe-js": "^2.0.0",
"tiptap": "^2.1.0",
"tailwindcss": "^4.0.0",
"shadcn-ui": "^0.0.4"
}
}Développement
{
"devDependencies": {
"eslint": "^8.0.0",
"prettier": "^3.0.0",
"vitest": "^0.34.0",
"@playwright/test": "^1.40.0",
"prisma": "^5.0.0"
}
}Versions Node.js
- Recommandé : Node.js 18 LTS ou 20+
- Minimum : Node.js 16
- Vérifier :
node --version
Avantages du stack
✅ Performance : Next.js SSR/SSG optimal ✅ Developer Experience : TypeScript + Next.js ✅ Sécurité : better-auth + Prisma ✅ Scalabilité : Architecture moderne ✅ Maintenance : Écosystème stable et mature ✅ Cost : Stack open-source, déploiement gratuit (Vercel)
Alternatives étudiées
- ❌ Firebase : Moins de contrôle
- ❌ Supabase : Overkill pour ce projet
- ❌ Django/Flask : Pas JavaScript
- âś… Next.js + Prisma : Choix optimal
Voir Vue d’ensemble pour comprendre l’intégration de ces technologies.
Last updated on