Production
Une application Creopse se déploie comme n'importe quelle application Laravel + Inertia — les bonnes pratiques habituelles (serveur, cache, optimisations Composer/Artisan) s'appliquent sans particularité. Cette page ne couvre donc que ce qui est spécifique à Creopse ; pour le reste, se référer au guide de déploiement officiel de Laravel.
Étapes de déploiement
# Dépendances, sans les paquets de développement
composer install --optimize-autoloader --no-dev
pnpm install --frozen-lockfile
# Build des assets frontend — jamais `pnpm dev` en production
pnpm build
# Migrations
php artisan migrate --force
# Optimisations Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache
# Lien vers le stockage public (médiathèque, uploads)
php artisan storage:linkVérifier que storage/ et bootstrap/cache/ restent accessibles en écriture par le processus PHP, et que les workers de queue (si utilisés) sont relancés après déploiement.
Spécifique à Creopse
public/creopse/config.jsonc
apiBaseUrl doit pointer vers le domaine de production, pas vers une valeur de développement (creopse.test, localhost...) — sinon l'interface d'administration continue d'appeler la mauvaise API une fois déployée.
forceDevMode
Doit rester false en production. Voir Configuration — l'activer en prod permet de modifier les structures de données depuis un environnement déployé, ce qui n'est pas souhaitable hors débogage explicite.
install.lock
Le fichier public/creopse/install.lock doit être absent en production. S'il est encore présent, toute visite sur /creopse/ redirige vers le wizard d'installation au lieu de l'interface d'administration — voir Installation.
Identifiants par défaut
Si le compte administrateur par défaut (admin/admin) n'a pas été changé pendant la configuration initiale, le faire avant toute mise en ligne — voir Installation.
Compression des réponses
Le middleware de compression négocie automatiquement Brotli, Gzip ou Deflate selon les extensions PHP disponibles et si la connexion est en HTTPS. Vérifier que ext-brotli (pour Brotli) ou ext-zlib (pour Gzip/Deflate) est bien installé côté hébergeur, sinon la compression reste silencieusement désactivée. Voir Configuration pour ajuster compression.level/compression.min_length ou désactiver la compression si elle est déjà gérée en amont (Nginx, Caddy, CDN).
Limitation de requêtes
CREOPSE_RATE_LIMIT (défaut 600/minute) n'a pas de valeur universelle en production — l'ajuster selon le trafic réel attendu plutôt que de garder la valeur par défaut par réflexe.
Avant la mise en ligne
- [ ]
APP_ENV=productionetAPP_DEBUG=falsedans.env. - [ ]
apiBaseUrlmis à jour danspublic/creopse/config.jsonc. - [ ]
forceDevModeàfalse. - [ ]
install.lockabsent. - [ ] Identifiants administrateur par défaut changés.
- [ ] Assets construits via
pnpm build(paspnpm dev).
Voir aussi
Une fois en production, voir Mise à jour de Creopse pour le processus de montée de version.