Le modèle de départ pour les startups d'IA. Authentification, paiement et i18n inclus. English
Concepts de base

Déploiement

Cloudflare Pages

deploy-targets.json définit deux cibles, chacune un projet Cloudflare Pages lié à une branche :

{
  "prod": {
    "project": "votrestartup",
    "branch": "main",
    "site": {
      "url": "https://votrestartup.ai",
      "dataMode": "live",
      "apiBaseUrl": "https://api.votrestartup.ai",
      "recaptchaSiteKey": "..."
    }
  },
  "local": {
    "project": "votrestartup-local",
    "branch": "dev",
    "default": true,
    "site": { "url": "https://local.votrestartup.ai", "dataMode": "demo", "noindex": true }
  }
}

Créez les deux projets depuis le tableau de bord Cloudflare avec l'intégration GitHub, en indiquant npm run build comme commande de build, _site comme dossier de sortie et la branche de la cible comme branche de production. Chaque push sur cette branche se déploie alors tout seul : le build lit CF_PAGES_BRANCH et applique les réglages site de la cible correspondante. Toute autre branche, comme l'aperçu d'une pull request, génère la cible default. Pour déployer depuis votre machine, lancez :

bun run deploy:check     # valide les deux cibles, sans déployer
bun run deploy:local     # build et déploiement de la cible local
bun run deploy:prod      # build et déploiement de la cible prod

Le build d'une cible, qu'il vienne d'un push ou de votre machine, échoue sur une url d'exemple ou un dataMode absent. Une cible live exige aussi une URL d'API en HTTPS et une vraie clé reCAPTCHA. noindex ajoute une balise meta robots noindex à chaque page, pour que la copie de préproduction reste hors des résultats de recherche.

bun run preview sert la version générée localement avec Wrangler, y compris les règles de cache de src/_headers et les redirections de src/_redirects.

Mise en cache

Les fichiers CSS et JavaScript de production portent une empreinte dans leur nom, et src/_headers les met en cache pendant un an. Les images et les polices le sont pendant 30 jours. Le HTML n'est jamais mis en cache longtemps : un déploiement est visible immédiatement.

Avant le lancement

  • Remplacez les témoignages d'exemple et les signatures du blogue par les vôtres.
  • Rédigez les pages légales liées dans le pied de page.
  • Lancez une fois bun run lighthouse:check et bun run links:check:external sur le contenu final.
Offre de lancement : 20 % de rabais sur les deux licences avec le code LAUNCH20 au paiement.