Personnaliser votre produit
Définissez l'identité, les langues, le style visuel, le thème, les informations légales et les systèmes optionnels avant vos fonctions métier.
À la fin de cette page, le starter portera le nom, les URL, les langues et le style de votre produit, et chaque système optionnel aura une décision explicite : conserver, adapter ou supprimer. Faites ces choix avant de modifier des écrans précis ; l'identité et le périmètre influencent les URL, les e-mails, les textes légaux, l'analytique, la facturation et la console d'administration.
Ce qui est livré et ce que vous choisissez
| Domaine | Comportement livré | Votre décision |
|---|---|---|
| Identité | saas.config.json suit nom, slug, assistance et URL de docs | Lancer le customizer et revoir le diff |
| Assistance | L’email d’assistance est une valeur produit suivie | Le définir avant lancement ou choisir un autre canal |
| Langues | Anglais, chinois, espagnol, français et japonais sont disponibles ; les préfixes sont as-needed | Choisir la langue par défaut, les langues actives et la détection du navigateur |
| Style visuel | studio est le preset de compilation partagé par le web et l'admin | Le garder ou choisir en code glass, soft, editorial ou brutalist |
| Mode de couleur | L'app client utilise system par défaut via l'environnement | Choisir system, light ou dark ; l'admin n'a pas encore de sélecteur de mode |
| Pages légales | Un brouillon visible décrit les flux par défaut du starter | Compléter l'identité et les politiques, puis obtenir une revue juridique |
| Systèmes optionnels | Facturation, stockage, e-mail, Slack, analytique, parrainage, tâches et réservations ont du code ou des adaptateurs | Configurer ce qui reste, ou supprimer ensemble UI, validation, routes et documentation |
Point de départ recommandé
Utilisez un vrai nom, conservez le mode system et le preset studio jusqu'à stabiliser l'architecture de l'information, et n'activez que les langues que l'équipe sait maintenir. Gardez analytique, publicité, parrainage et fonctions de démonstration désactivés tant qu'il n'existe pas de besoin, de texte utilisateur et de processus opérationnel.
Les alternatives sont possibles, mais ont un coût. Plus de langues élargissent l'audience et l'obligation de traduction. Un preset affirmé différencie le produit, mais exige une revue complète clair/sombre et admin. Activer une intégration évite de la reconstruire, mais ajoute identifiants, pannes, déclarations de confidentialité et support.
Définir l'identité et les langues
Lancez d’abord le customizer suivi dans Git :
pnpm customize
pnpm customize -- --name "Acme Cloud" --slug acme-cloud --preset glass --locales fr,en --default-locale fr --support-email support@example.com --docs-url https://docs.example.com --yesLa commande valide et écrit atomiquement saas.config.json, puis synchronise uniquement les valeurs publiques des profils ignorés existants sans toucher aux secrets. --dry-run affiche le candidat et --no-env évite la synchronisation. Le gate de production refuse les overrides qui contredisent l’identité suivie.
Choisir un preset visuel
Choisissez le preset avec le customizer ou modifiez la configuration suivie :
{ "appearance": { "preset": "glass" } }src/config/style.ts dérive sa valeur typée de saas.config.json. Web et admin partagent le preset ; c’est un choix de build, pas un sélecteur utilisateur.
Finaliser l'identité légale
Complétez LegalData dans src/config/legal.ts : raison sociale et adresse, contacts confidentialité et juridique, loi applicable, date d'effet et sous-traitants réellement utilisés. Traitez chaque texte entre crochets. Tant qu'un champ d'identité requis manque, LegalConfig.isConfigured reste false et les pages de confidentialité et conditions affichent un avertissement de brouillon non revu.
Le texte livré est une trame de rédaction, pas un conseil juridique ni une politique terminée. Retirez les prestataires inutilisés, ajoutez ceux qui reçoivent des données personnelles, alignez la conservation sur l'effacement des comptes et faites valider le résultat par un professionnel qualifié.
Définir le périmètre du produit
Consignez une décision pour chaque système optionnel :
- Conserver : configurer identifiants, textes, supervision, gestion des échecs et responsable.
- Adapter : changer la politique ou le fournisseur derrière la frontière de service existante, puis mettre à jour tests et guides.
- Supprimer : retirer routes, UI, validation de production, jobs et documentation dans le même changement. Un identifiant vide n'est pas une décision produit.
Pour les systèmes conservés, poursuivez avec Plans et droits, Facturation Stripe, Téléversement de fichiers et Déploiement et sécurité.
Vérifier avant les fonctions métier
pnpm lint
pnpm test:run
pnpm build:web
pnpm build:adminVérifiez que la langue par défaut n'a pas de préfixe, que chaque autre langue active répond, que le sélecteur n'affiche aucune langue désactivée, que les liens de documentation et de support tiennent leur promesse, que les deux apps partagent le preset et que le web reste lisible en clair et sombre. Ouvrez confidentialité et conditions : ne publiez pas tant que l'avertissement de brouillon ou des marqueurs de politique subsistent.
Ce qui n'est pas terminé pour vous
Le starter ne fournit ni configurateur de marque, ni sélecteur de preset à l'exécution, ni mode sombre admin, ni contact d'assistance par environnement, ni politique juridique validée, ni décision sur les systèmes optionnels de votre produit. Ces choix appartiennent volontairement à l'équipe qui l'adopte.
Si vous activez mesure d’audience ou publicité, prenez cette décision avec Analytique et consentement, pas comme une simple variable d’environnement isolée.
Instantané des sources
Vérifié avec le commit 2a1a04a du starter :