Socle SaaS NFZ Docs
Cette vue transforme la roadmap commerciale en plan d’exécution technique : tenant, entitlements, abonnements, paiement, audit/versioning, média S3/RustFS, connecteurs de publication et parité FR/EN.
Isoler les organisations, espaces documentaires, utilisateurs et builds pour vendre la solution en SaaS ou en instance dédiée.
Contrôler les fonctionnalités par édition : Free, Starter, Pro, Enterprise.
Suivre l’état actif, trialing, past_due ou canceled d’une organisation.
Permettre Stripe, PayPal ou paiement manuel sans coupler le cœur documentaire.
Rassurer les DSI/RSSI : traçabilité, rollback, conformité et preuve d’action.
Sortir les assets de docs/uploads local pour supporter SaaS, cluster, sauvegarde et CDN.
Publier vers GitHub Pages, serveur SFTP, bucket S3/CDN ou pipeline CI depuis l’interface.
Rendre la solution vendable hors contexte francophone sans traduire le contenu VitePress client /docs/.
Sécuriser le modèle commercial avant d’ajouter le paiement.
- Services tenants, plans, entitlements.
- Hook requireTenantMembership() et requireEntitlement().
- UI sélecteur tenant + badges limites sur les actions sensibles.
- Impossible de lire/modifier une ressource d’un autre tenant.
- Les limites Free/Starter bloquent build/export/publish côté serveur.
Rendre le produit robuste pour DSI/RSSI et usage multi-instance.
- Service docs-audit-logs actif + futur service docs-versions append-only.
- Provider docs-assets local|s3 avec RustFS en docker-compose profil media.
- Vue historique + rollback dans l’éditeur.
- Chaque save/build/export produit un événement audit.
- Les images sauvegardées restent accessibles après rebuild et export.
Transformer la démo commerciale en offre SaaS opérable.
- Subscriptions, billing-customers, payment-webhooks, invoices.
- Publish-targets et publish-runs GitHub Pages/S3/SFTP.
- Logs, statuts, URL publique et artefacts de publication.
- Un tenant peut souscrire, changer de plan, payer et publier depuis l’UI.
- Les webhooks paiement sont signés, idempotents et journalisés.
Finaliser le shell SaaS vendable et le guide produit bilingue.
- Toutes les pages app/pages/** passent par i18n.
- Guide utilisateur /guide/ en FR/EN, sans traduire le contenu client /docs/.
- Script diagnose:i18n intégré dans doctor:docs.
- Aucune chaîne UI critique hardcodée en FR dans app/pages/**.
- Chaque page guide FR a son équivalent EN.