a57bf3607b
Add three documentation files for the posts module: - `api.md`: public API reference (list, slug, categories, images) - `admin-api.md`: admin API reference with all CRUD endpoints - `integration.md`: Next.js integration examples with code snippets
Module Posts
Types de contenus configurables via variables d'environnement. Chaque projet déclare ses propres types (blogue, CVE, emploi, événement...) avec les champs dont il a besoin, sans toucher au code.
Configuration
Copier les variables de .env.example dans votre .env.
Si aucun label n'est fourni (ZEN_MODULE_POSTS_TYPES=blogue), le nom affiché sera la clé avec la première lettre en majuscule.
Types de champs
| Type | Syntaxe .env |
Description |
|---|---|---|
title |
nom:title |
Champ texte principal, génère le slug automatiquement |
slug |
nom:slug |
Slug unique par type, pré-rempli depuis le titre |
text |
nom:text |
Zone de texte libre |
markdown |
nom:markdown |
Éditeur Markdown avec prévisualisation |
date |
nom:date |
Sélecteur de date (YYYY-MM-DD) |
datetime |
nom:datetime |
Date et heure (ISO 8601, UTC) |
color |
nom:color |
Sélecteur de couleur, stocke un code hex #rrggbb |
category |
nom:category |
Menu déroulant lié à la table des catégories |
image |
nom:image |
Upload d'image vers le stockage Zen |
relation |
nom:relation:type_cible |
Sélection multiple vers des posts d'un autre type |
Chaque type doit avoir au moins un champ title et un champ slug.
Si un type utilise le champ image, configurer le stockage Zen dans le .env principal : ZEN_STORAGE_REGION, ZEN_STORAGE_ACCESS_KEY, ZEN_STORAGE_SECRET_KEY, ZEN_STORAGE_BUCKET.
Base de données
Les tables sont créées automatiquement avec npx zen-db init.
Interface d'administration
| Page | URL |
|---|---|
| Liste des posts | /admin/posts/{type}/list |
| Créer un post | /admin/posts/{type}/new |
| Modifier un post | /admin/posts/{type}/edit/{id} |
| Liste des catégories | /admin/posts/{type}/categories |
Documentation
- API publique — endpoints, paramètres, réponses JSON
- API d'administration — routes authentifiées
- Intégration Next.js — liste, détail, SEO
- Usage programmatique —
upsertPost, cron jobs, imports