Fait avec Chinaski

Concepts Fondamentaux

L'architecture et le modèle de contenu qui soutiennent Chinaski : le modèle mental qui vaut quarante minutes avant de construire quoi que ce soit de conséquent. Tout ce qui est dans cette section reflète le comportement réel du système ; la section Authoring couvre les clics du quotidien.

Dans cette section

  • Architecture : la conception à deux programmes : un CMS en Perl détenant la couche d'administration, un processus builder séparé produisant le site public, et un serveur web servant des fichiers simples.
  • Le pipeline de build : ce qui se passe à chaque build : staging, contrôles, signature, promotion, et pourquoi un build se pose entièrement ou pas du tout.
  • Modèle de contenu : pages, billets, blocs, snippets, catégories, médias, documents : ce qu'est chaque type, et les propriétés qu'ils partagent (langue, corbeille, révisions, audits).
  • Structure de sortie : à quoi ressemble le site construit sur disque : arborescences par langue, fichiers index, fichiers de redirection, sitemaps et flux.
  • La base de données : un seul fichier SQLite comme unique source de vérité ; pourquoi une base de données embarquée est le bon choix ici et ce que cela implique opérationnellement.
  • Instances : exécuter plusieurs sites Chinaski indépendants sur un même serveur, et les conventions de nommage et de chemins qui rendent cela sûr.
  • Tâches en arrière-plan : la file de travail asynchrone derrière les tâches d'administration de longue durée.
  • Corbeille : le modèle de suppression logique : ce qui va à la corbeille, combien de temps cela y reste, et comment le restaurer.
  • Recherche sur le site : comment l'index de recherche intégré est généré et interrogé.

Les idées à assimiler

  • Le site est la sortie d'un build. Le site côté navigateur est constitué de fichiers statiques ; toute édition est invisible jusqu'à ce qu'un build s'exécute, et un build se termine soit complètement (avec promotion atomique), soit préserve ce qui était déjà en ligne.
  • Une base de données, des arborescences par langue. Tout l'état vit dans chinaski.db ; la sortie est une fonction pure de cette base de données plus vos thèmes et réglages, ce qui rend les sauvegardes si simples et les rebuilds si sûrs.
  • Le serveur web et le CMS ne se rencontrent que délibérément. Les requêtes statiques ne touchent jamais l'application ; seuls les formulaires, les téléchargements de documents et l'administration l'atteignent.
  • L'isolement des instances donne à une seule machine de nombreux sites sans lien entre eux, avec bases de données, utilisateurs et plannings séparés.

Également dans Concepts Fondamentaux

Comprenez les quatre composants de Chinaski, l'application d'admin, le builder, la sortie statique et le manager, et la façon dont ils s'articulent.

Comment un build transforme la base en site statique : son déclenchement, un seul build à la fois et l'échange des fichiers seulement en cas de succès.

Découvrez les types de contenu d'un site Chinaski (pages, posts, blocks, snippets, médias, navigation) et le socle qu'ils partagent.

Chaque build produit une simple arborescence de répertoires de fichiers. Cette page décrit ce qui vit où, pour que vous sachiez exactement ce qui part en ligne.

Comment Chinaski stocke tout dans un seul fichier SQLite par instance : CHINASKI_DB, mode WAL, délai d'attente et migrations exécutées au démarrage.

Chaque instance est une copie complète et autonome :

Pour les upserts de pages/billets, chaque élément nécessite au minimum :

Comprenez la corbeille : les dix types de contenu couverts, la restauration d'un élément et le nettoyage à 30 jours qui le supprime pour de bon.

Comprenez la page /search/ intégrée : un index JSON statique par langue, interrogé dans le navigateur, son contenu et sa mise à jour.

Lisez ce site en