Aller au contenu
supastack
Parcourir la documentation
WebTanStack Start

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /fr/docs/tanstack/tech-stack.md (or send Accept: text/markdown).

Stack technique

Les technologies derrière le kit et le rôle de chacune.

Avant de commencer

Ouvrez votre projet supastack téléchargé dans Visual Studio Code en utilisant Fichier → Ouvrir le dossier, puis choisissez Terminal → Nouveau terminal. La racine du référentiel est le dossier contenant package.json, les applications et les packages. Exécutez la commande ci-dessous et laissez son terminal ouvert. Si une commande n'est pas reconnue, terminez le guide d'installation de l'outil avant de continuer.

Lisez d’abord le didacticiel de la plateforme. Un serveur est le processus d'application qui répond aux requêtes du navigateur ou du téléphone. Le Web lit apps/web-tanstack/.env.local, Expo lit apps/mobile/.env.local et les commandes de migration de base de données lisent root .env. La démonstration sans base de données/tableau de bord est distincte des comptes réels/auth, qui nécessitent une migration Postgres. Un paiement sur téléphone ou sur ordinateur uniquement nécessite un backend Web exécuté séparément.

corepack pnpm --filter @supastack/web-tanstack dev

Stack applicatif

L'application web est une application TanStack Start composée de packages TypeScript partagés — les mêmes packages alimentent l'application mobile Expo. Le chrome produit utilise des modules CSS sur des design tokens, il n'y a donc pas de CSS-in-JS runtime à déboguer, et le stockage d'objets est compatible S3. Les outils ci-dessous sont les choix par défaut assumés.

TanStack Start + React

L'application web fonctionne avec TanStack Start sur les routes fichier de TanStack Router et les server components de React 19.

TypeScript + Turborepo

Le mode strict de TypeScript s'applique à tout l'espace de travail pnpm, et Turborepo coordonne les builds.

Better Auth

Better Auth est le moteur d'identité ; un moteur Auth.js est disponible pour les équipes qui s'y standardisent.

Drizzle + PostgreSQL

La persistance passe par l'ORM Drizzle sur PostgreSQL — le schéma et les helpers par lesquels chaque enregistrement transite.

Facturation

La facturation Stripe est le défaut, et un adaptateur Lemon Squeezy est inclus.

Trigger.dev

Les tâches en arrière-plan s'exécutent sur Trigger.dev.

E-mail transactionnel

Les e-mails transactionnels sont envoyés via Resend ou AWS SES.

Sentry + PostHog

L'observabilité passe par Sentry et PostHog.

Expo

L'application mobile Expo consomme les mêmes packages TypeScript, donc les changements de contrat se vérifient sur les deux surfaces à la fois. Expo livre pour iOS et Android.

Modules partagés

Chaque capacité transverse vit dans un package avec un petit contrat : auth, db, billing, ai, jobs, email, storage, observability, config, i18n et api. Les applications les composent ; la logique métier du produit reste hors du kit.

Chaque module adossé à un fournisseur embarque un adaptateur fake ou local pour que la boucle de test et de développement par défaut n'appelle jamais un service payant.

Outillage de vérification

Vitest couvre le comportement unitaire et d'intégration, Playwright les flux navigateur, et ESLint plus Prettier gardent le code cohérent. La suite déterministe tourne sans identifiants fournisseur ; l'acceptation avec vrais fournisseurs est un chemin séparé et conditionné.

corepack pnpm test              # deterministic unit + integration
corepack pnpm check             # lint, types, tests, format
corepack pnpm build             # production builds
corepack pnpm test:e2e:tanstack  # browser flows