Toutes les docs

DOC/ Mis à jour le 2026-09-19

Déploiement

Build, hébergement, domaine et configuration analytics.

Le site est construit en HTML statique au moment du build par Next.js :

pnpm build

Next.js pré-rend la page d'accueil, les pages de documentation, le sitemap et les assets statiques pour les sept langues. Il n'y a pas de runtime serveur, donc n'importe quel hôte statique fonctionne.

L'hébergement de production est Vercel :

  • framework preset : Next.js
  • root directory : apps/web
  • build command : pnpm build

Le domaine est ella.yuricunha.com, configuré dans apps/web/src/data/site.ts et les metadata de l'app, qui pilotent les URLs canoniques, l'Open Graph et le sitemap.

  • /docs index des pages de documentation, par langue ;
  • /docs/<slug> page individuelle de documentation, par langue.

Ce sont des routes statiques générées au build. La langue par défaut (anglais) n'a pas de préfixe d'URL ; les autres langues portent leur préfixe, par exemple /pt/docs ou /ja/docs.

  • Anglais par défaut : https://ella.yuricunha.com
  • Autres langues : https://ella.yuricunha.com/<locale>

Chaque page déclare des alternates hreflang pour les sept langues, et le sitemap liste chaque variante.

Umami est préparé mais inerte par défaut. Le composant Analytics ne se rend que lorsque les deux variables d'environnement sont présentes au build :

NEXT_PUBLIC_UMAMI_SRC=https://votre-hote-umami/script.js
NEXT_PUBLIC_UMAMI_WEBSITE_ID=votre-website-id

Sans elles, le site livre zéro JavaScript d'analytics. Aucun ID de placeholder n'est committé.

Le pipeline GitLab tourne sur main. Il est créé avec un profil GitLab qui a la vérification d'identité, car GitLab.com refuse d'exécuter des jobs CI sans elle. Déclenchez-le avec :

glab api --method POST \
  "projects/isyuricunha%2Fella-mizuki/pipeline" -f "ref=main"

Vérifiez que le pipeline créé atteint success : quality, build, SAST et secret detection doivent tous passer avant de considérer le déploiement vert.

  • metadata, Open Graph, Twitter cards, canonical et JSON-LD dans le layout de la locale ;
  • robots.txt et le sitemap sont générés dans le build ;
  • la social card est public/og.png (1200x630, générée avec les polices Geist à partir d'un template HTML rendu) ;
  • chaque langue reçoit ses propres metadata et alternates hreflang.