Architecture du CMS

Les frontières du monorepo, les transactions et les contrats utilisables.

Sur cette page

Une instance autonome

Bracten gère un site par instance. Node HTTP assemble l’administration React, l’API et le renderer public côté serveur. PostgreSQL est la source de vérité. Installation, connexion, publication et extensions installées fonctionnent sans service central.

Frontières du workspace

CheminResponsabilité
packages/databasepg, requêtes paramétrées, transactions, baux et migrations à checksum.
packages/sdkContrats publics, validateurs, documents, champs et composants de thème.
packages/coreIdentité, contenu, médias, site, extensions, thèmes, contrats de providers et sauvegardes.
packages/provider-adaptersAdaptateurs hôtes S3, Redis et SMTP, sans client technique incorporé dans les packages d’extensions.
packages/runtimeGestionnaire autonome des versions du core et de leur reprise.
apps/cmsComposition des services, HTTP, CLI et administration.
apps/centralBase et authentification distinctes : compte, registre signé, catalogue gratuit et portail éditeur.
themes/* et extensions/official/*Modules compilables qui utilisent le SDK public.
apps/docs et apps/marketingSites indépendants de la base CMS ; routes de documentation extraites au build.

Chemin d’une mutation

  1. Le serveur vérifie méthode, origine et taille du corps.
  2. Le routeur contrôle la session, le CSRF et la permission, ou le jeton Bearer sur les seules routes qui l’autorisent. Les scopes sont plafonnés aux droits actuels de l’utilisateur.
  3. Le service valide l’entrée et relit les droits sous verrou.
  4. Versions, schémas, références, hooks, contenu et révision sont vérifiés dans la transaction.
  5. Le handler retourne une réponse conforme à son contrat ou une erreur structurée avec requestId. Les refus de domaine ou de transport peuvent survenir avant ce handler.

Concurrence et diffusion

Les versions détectent les écrasements concurrents. Les copies privées de contenu et de site restent séparées des publications. Les migrations de schémas vérifient et transforment les contenus atomiquement, sans réécrire les snapshots historiques.

La visibilité des contenus réservés est filtrée en SQL avant les résultats, compteurs et facettes. Renderer, relations, archives, recherches, sitemap et API officielles l’appliquent. Les réponses dépendantes d’une session utilisent private, no-store et Vary: Cookie ; aucun cache global de pages n’est activé.

Le serveur et les commandes CLI qui ouvrent l’application partagent un bail exclusif. Arrêtez le serveur avant ces commandes. cms update utilise au contraire l’API du serveur actif. Les objets média et d’extension sont immuables ; sauvegarde et rétention utilisent un verrou d’archive commun.

Services et confiance

E-mails, tâches et planifications sont durables dans PostgreSQL. Le cœur garde stockage local, cache en mémoire, validation et capture d’e-mails. Les extensions S3, Redis et SMTP enregistrent leurs factories SDK à partir de la version 0.1.2 ; leur activation précède une sélection explicite dans l’environnement serveur et un redémarrage. Les anciens sélecteurs s3, redis et smtp restent compatibles. Redis ne remplace pas la file de tâches. Le contrat des providers précise leurs frontières.

Un plugin ou thème JavaScript possède les droits du processus ; le SDK n’est pas une sandbox. Les services centraux sont facultatifs et ne sont pas publiés en production par la seule compilation du dépôt. Paiements, licences commerciales et Cloud restent absents.

Rechercher dans les guides

Saisissez un mot-clé.

↑↓ ParcourirEntrée OuvrirEsc Fermer