Files
hykocx af8c082463 docs(project): update project description from cms to multi-purpose platform
- update tagline in README.md and docs to reflect multi-purpose scope
- rephrase project description in PROJECT.md to position zen as an extensible admin platform
- remove detailed core documentation sections from PROJECT.md
- fix typo "palteforme" in directory structure comment
- replace cms references with platform wording in DEV.md
2026-04-24 17:19:33 -04:00

2.1 KiB

ZEN — Plan du projet

Une plateforme multi-usage construite sur l'essentiel, rien de plus, rien de moins.

ZEN est une plateforme admin Next.js qui sert de base à tout type d'application : site vitrine, système de facturation, espace cloud, boutique en ligne, ou n'importe quoi d'autre. L'admin est extensible, on y greffe ce qu'on veut, sans modifier le core.

Elle s'installe automatiquement dans n'importe quel projet Next.js via :

npx @zen/start

Le package principal est @zen/core. Il fournit toute l'infrastructure fondamentale : authentification, base de données, stockage, courriels, paiements, PDF, tâches planifiées, notifications. Chaque fonctionnalité est indépendante — les cores ne se connaissent pas entre eux. Le reste de la plateforme s'appuie sur chacun d'eux sans les coupler.


Principes directeurs

Core purity — Chaque core contient uniquement du code propre à son domaine. Aucune logique métier, aucune dépendance vers un autre core.

Minimal by default — Pas de fonctionnalité superflue. Si ce n'est pas nécessaire, ça n'existe pas.

Sécuritaire par défaut — Requêtes paramétrées, protection CSRF, limitation de débit, validation en entrée, erreurs opaques vers le client.

Performant — Connexions en pool, cache HTTP, génération différée des services.


Structure du projet

src/
  core/         # Infrastructure fondamentale — la base de tout
  features/     # Fonctionnalités de la palteforme utilisant les cores
  shared/       # Utilitaires, composants et styles partagés

Résumé des règles absolues

Domaine Règle
API Toutes les routes HTTP passent par core/api. Aucune autre route API.
Base de données Tout accès DB passe par core/database. Jamais de requêtes directes.
Courriels Tout envoi de courriel passe par core/email.
Cron Toutes les tâches planifiées s'enregistrent dans core/cron.
Stockage Tout accès fichier passe par core/storage.
Notifications Un seul système de toast dans toute l'app : core/toast.
Authentification Toute auth de site passe par features/auth.