Skip to content

Configuration ​

Creopse permet de faire certaines configurations au niveau de l'interface d'administration et du backend. Ces configurations sont stockées dans des fichiers distincts.

Configuration de l'interface d'administration ​

La configuration de l'interface d'administration est stockée dans le fichier public/creopse/config.jsonc.

Structure du fichier de configuration ​

Configuration de l'API ​

jsonc
{
  "apiBaseUrl": "https://creopse.test"
}
apiBaseUrl ​
  • Description : URL de base utilisée pour tous les appels vers l'API. Par exemple, si votre endpoint est /users, l'URL complète sera https://creopse.test/users.
  • Valeur par défaut : "https://creopse.test"

Mode développement ​

jsonc
{
  "forceDevMode": false
}
forceDevMode ​
  • Description : Force l'application à s'exécuter en mode développement, même en production. Permet notamment de modifier les structures de données de tous les éléments de contenu de l'interface d'administration dans un environnement déployé.
  • Valeur par défaut : false

WARNING

Ne pas activer en production sauf besoin explicite de débogage.

Configuration du backend ​

La configuration du backend est stockée dans le fichier config/creopse.php avec Laravel.

Structure du fichier de configuration ​

Modèle Utilisateur ​

php
return [
  'user_model' => \App\Models\User::class,
]
user_model ​
  • Description : Spécifie la classe du modèle utilisateur utilisée par le package. Généralement requis pour l'authentification, les relations ou toute autre fonctionnalité liée à l'entité utilisateur.
  • Valeur par défaut : \App\Models\User::class

Seeder les données par défaut ​

php
return [
  'seed_default_data' => true,
]
seed_default_data ​
  • Description : Détermine si le package doit seeder la base de données avec les données par défaut lors de l'exécution des migrations ou des seeders. Les données concernées sont : l'utilisateur par défaut, le contenu par défaut, les permaliens de base et les paramètres par défaut. Définissez cette valeur sur false pour désactiver ce comportement, par exemple si vous voulez lancer vos propres seeds après l'initialisation des données.
  • Valeur par défaut : true

Seuil de requêtes ​

php
return [
  'rate_limit' => env('CREOPSE_RATE_LIMIT', 600),

  'rate_limit_by' => 'ip',
]
rate_limit ​
  • Description : Définit le nombre maximal de requêtes autorisées par minute pour les routes ou fonctionnalités protégées par une limitation de requêtes. Cette valeur peut être surchargée par la variable d'environnement CREOPSE_RATE_LIMIT.
  • Valeur par défaut : 600
rate_limit_by ​
  • Description : Définit les critères d'application de la limitation de requêtes. Les options disponibles sont :
    • 'ip' : Limitation par l'adresse IP du client.
    • 'user' : Limitation par l'utilisateur authentifié.
  • Valeur par défaut : 'ip'

Compression des réponses HTTP ​

Contrôle la compression automatique des réponses HTTP. Lorsqu'il est activé, le middleware négocie le meilleur algorithme disponible (Brotli > Gzip > Deflate) en fonction de l'en-tête Accept-Encoding du client. Brotli nécessite l'extension PECL ext-brotli ainsi qu'une connexion HTTPS. Gzip et Deflate requièrent l'extension ext-zlib (intégrée par défaut dans PHP).

php
return [
  'compression' => [

    'enabled' => env('CREOPSE_COMPRESSION', true),

    'level' => env('CREOPSE_COMPRESSION_LEVEL', 5),

    'min_length' => env('CREOPSE_COMPRESSION_MIN_LENGTH', 1024),

  ],
]
compression.enabled ​
  • Description : Active ou désactive entièrement la compression des réponses. Définissez cette valeur sur false si la compression est déjà gérée en amont (Nginx, Caddy, CloudFront...).
  • Valeur par défaut : true
compression.level ​
  • Description : Niveau de compression appliqué à tous les algorithmes. Gzip / Deflate acceptent une valeur entre 0 (aucune compression) et 9 (maximum). Brotli entre 0 et 11. Le niveau 5 est le compromis idéal recommandé pour les réponses PHP en temps réel — des niveaux plus élevés offrent des rendements décroissants et augmentent la charge CPU.
  • Valeur par défaut : 5
compression.min_length ​
  • Description : Taille minimale (en octets) de la réponse requise pour déclencher la compression. Compresser de faibles charges utiles (payloads) est contre-productif : le poids des en-têtes de compression peut à lui seul dépasser le gain d'espace obtenu.
  • Valeur par défaut : 1024

Variables d'environnement ​

Tableau récapitulatif de toutes les variables d'environnement exposées par Creopse.

VariableConfig associéeValeur par défaut
CREOPSE_RATE_LIMITrate_limit600
CREOPSE_COMPRESSIONcompression.enabledtrue
CREOPSE_COMPRESSION_LEVELcompression.level5
CREOPSE_COMPRESSION_MIN_LENGTHcompression.min_length1024