Toutes les docs

DOC/ Mis à jour le 2026-09-19

Développement

Setup, commandes et flux de contribution de ce dépôt.

  • Node.js 24 ou plus récent
  • pnpm 12 (épinglé via packageManager dans package.json)

pnpm install

pnpm dev          # turbo dev : app web avec HMR
pnpm type-check   # turbo type-check sur tout le monorepo
pnpm lint         # eslint (règles next + typescript), zéro warning
pnpm test         # turbo test (vitest)
pnpm build        # build de production dans apps/web/.next

Tous les checks doivent passer avant le push : pnpm lint avec zéro erreur, pnpm type-check avec zéro erreur, pnpm format:check sans différence et un pnpm build réussi.

  • Strings d'interface : modifiez packages/i18n/messages/en.json puis traduisez les six autres fichiers de langue. Gardez la structure de clés identique.
  • Docs : modifiez packages/content/docs/en/<slug>.md puis mettez à jour les traductions. Les traductions manquantes retombent en anglais automatiquement.
  • Après avoir changé messages ou docs, lancez pnpm build et vérifiez chaque route de langue dans le navigateur.

Les commits du dépôt sont créés avec l'identité GitLab du propriétaire du projet pour que les jobs CI tournent avec vérification d'identité, et chaque commit porte un trailer de co-auteur :

Co-authored-by: Ella Mizuki

C'est obligatoire pour que le pipeline tourne ; voir deployment.md.

main est protégée : push par les Maintainers, force push désactivé. Les réécritures d'historique (comme ré-attribuer la paternité de commits) nécessitent de retirer temporairement la protection, de faire le force push et de la restaurer avec exactement les mêmes réglages.

Le pipeline défini dans .gitlab-ci.yml exécute quatre jobs :

  • quality lint et typecheck ;
  • semgrep-sast scan de sécurité (template) ;
  • build build de production avec artefact ;
  • secret_detection scan de secrets (template).

Le setup pnpm est limité aux jobs quality et build. Les images des templates de sécurité n'incluent pas corepack et ne doivent pas l'hériter.

La validation est :

  • lint, typecheck, build ;
  • passage navigateur à 375, 768, 1024, 1440 et 1920px avec zéro overflow horizontal, dans toutes les langues ;
  • passage reduced motion : pas de shimmer ni de transitions actives, contenu visible ;
  • la navigation par ancre dégage le header fixe (scroll padding) ;
  • les routes docs résolvent dans toutes les langues, y compris le fallback anglais.