Interface d'administration pour gérer le contenu du site web de La Brassée.
- title: Nom de l'événement
- slug: Identifiant unique (auto-généré)
- date: Date de l'événement
- image: Affiche de l'événement
- facebookLink: Lien Facebook (optionnel)
- description: Description (optionnel)
- status: Publié/Brouillon/Archivé
- title: Nom de la catégorie
- slug: Identifiant unique (auto-généré)
- image: Image de la catégorie
- order: Ordre d'affichage
- description: Description (optionnel)
- status: Publié/Brouillon/Archivé
- alt: Texte alternatif
- caption: Légende (optionnel)
- Tailles générées: thumbnail, card, tablet, desktop
- Informations générales: Nom, slogan, tagline
- Adresse: Rue, quartier, lien Google Maps
- Réseaux sociaux: Facebook, Instagram, OnlyFans
- Contact: Emails général, artistes, expositions
- Horaires: Lundi-Mercredi, Jeudi-Samedi, Dimanche
- Message personnalisé: Message aux clients
Créer un fichier .env basé sur .env.example:
cp .env.example .envVariables requises:
PAYLOAD_SECRET: Clé secrète pour chiffrementDATABASE_URI: URI de la base de données PostgreSQLNEXT_PUBLIC_SERVER_URL: URL du serveur (http://localhost:3001 en dev)
Ce CMS utilise PostgreSQL. Assurez-vous d'avoir une base de données configurée et accessible.
# Développement (port 3001)
npm run dev
# Build de production
npm run build
# Démarrage en production
npm run start
# Génération des types TypeScript
npm run generate:types
# Génération de l'import map
npm run generate:importmap
# Linting
npm run lint
# Commandes Payload CLI
npm run payload- URL: http://localhost:3001/admin
- Premier utilisateur: Créé au premier lancement
- URL: http://localhost:3001/api
- Collections:
/api/events- Événements/api/menu-items- Catégories de menu/api/media- Médias/api/users- Utilisateurs
- Globals:
/api/globals/business-info- Informations du café
Toutes les collections sont lisibles publiquement pour permettre l'affichage sur le site web.
Seuls les utilisateurs authentifiés peuvent créer, modifier ou supprimer du contenu.
Les images uploadées sont automatiquement redimensionnées:
- thumbnail: 400x300px
- card: 768x1024px
- tablet: 1024px de largeur
- desktop: 1920px de largeur
Les données du CMS sont consommées par l'application React via l'API REST. Les endpoints sont accessibles depuis http://localhost:3001/api/.
Exemple d'utilisation:
// Récupérer tous les événements publiés
fetch('http://localhost:3001/api/events?where[status][equals]=published')
// Récupérer les informations du café
fetch('http://localhost:3001/api/globals/business-info')