2025-11-04

This commit is contained in:
gcch 2025-11-04 13:21:41 +01:00
commit 71c35a497f
1626 changed files with 5652 additions and 1933 deletions

View file

@ -1,4 +1,5 @@
<?php
/**
* Your base production configuration goes in this file. Environment-specific
* overrides go in their respective config/environments/{{WP_ENV}}.php file.
@ -8,153 +9,141 @@
* can.
*/
declare(strict_types=1);
use Roots\WPConfig\Config;
use function Env\env;
// USE_ENV_ARRAY + CONVERT_* + STRIP_QUOTES
Env\Env::$options = 31;
/**
* Directory containing all of the site's files
/*
* Directory containing all of the site's files.
*
* @var string
*/
$root_dir = dirname(__DIR__);
/**
* Document Root
/*
* Document Root.
*
* @var string
*/
$webroot_dir = $root_dir . "/web";
$webroot_dir = $root_dir.'/web';
/**
/*
* Use Dotenv to set required environment variables and load .env file in root
* .env.local will override .env if it exists
*/
if (file_exists($root_dir . "/.env")) {
$env_files = file_exists($root_dir . "/.env.local") ? [".env", ".env.local"] : [".env"];
if (file_exists($root_dir.'/.env')) {
$env_files = file_exists($root_dir.'/.env.local') ? [
'.env',
'.env.local',
] : ['.env'];
$dotenv = Dotenv\Dotenv::createImmutable($root_dir, $env_files, false);
$dotenv = Dotenv\Dotenv::createImmutable($root_dir, $env_files, false);
$dotenv->load();
$dotenv->load();
$dotenv->required(["WP_HOME", "WP_SITEURL"]);
if (!env("DATABASE_URL")) {
$dotenv->required(["DB_NAME", "DB_USER", "DB_PASSWORD"]);
}
$dotenv->required(['WP_HOME', 'WP_SITEURL']);
if (!env('DATABASE_URL')) {
$dotenv->required(['DB_NAME', 'DB_USER', 'DB_PASSWORD']);
}
}
/**
/*
* Set up our global environment constant and load its config first
* Default: production
*/
define("WP_ENV", env("WP_ENV") ?: "production");
define('WP_ENV', env('WP_ENV') ?: 'production');
/**
* Infer WP_ENVIRONMENT_TYPE based on WP_ENV
*/
if (!env("WP_ENVIRONMENT_TYPE") && in_array(WP_ENV, ["production", "staging", "development", "local"])) {
Config::define("WP_ENVIRONMENT_TYPE", WP_ENV);
// Infer WP_ENVIRONMENT_TYPE based on WP_ENV
if (!env('WP_ENVIRONMENT_TYPE') && in_array(WP_ENV, ['production', 'staging', 'development', 'local'])) {
Config::define('WP_ENVIRONMENT_TYPE', WP_ENV);
}
/**
* URLs
*/
Config::define("WP_HOME", env("WP_HOME"));
Config::define("WP_SITEURL", env("WP_SITEURL"));
// URLs
Config::define('WP_HOME', env('WP_HOME'));
Config::define('WP_SITEURL', env('WP_SITEURL'));
/**
* Custom Content Directory
*/
Config::define("CONTENT_DIR", "/app");
Config::define("WP_CONTENT_DIR", $webroot_dir . Config::get("CONTENT_DIR"));
Config::define("WP_CONTENT_URL", Config::get("WP_HOME") . Config::get("CONTENT_DIR"));
// Custom Content Directory
Config::define('CONTENT_DIR', '/app');
Config::define('WP_CONTENT_DIR', $webroot_dir.Config::get('CONTENT_DIR'));
Config::define('WP_CONTENT_URL', Config::get('WP_HOME').Config::get('CONTENT_DIR'));
/**
* DB settings
*/
if (env("DB_SSL")) {
Config::define("MYSQL_CLIENT_FLAGS", MYSQLI_CLIENT_SSL);
// DB settings
if (env('DB_SSL')) {
Config::define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
}
Config::define("DB_NAME", env("DB_NAME"));
Config::define("DB_USER", env("DB_USER"));
Config::define("DB_PASSWORD", env("DB_PASSWORD"));
Config::define("DB_HOST", env("DB_HOST") ?: "localhost");
Config::define("DB_CHARSET", "utf8mb4");
Config::define("DB_COLLATE", "");
$table_prefix = env("DB_PREFIX") ?: "wp_";
Config::define('DB_NAME', env('DB_NAME'));
Config::define('DB_USER', env('DB_USER'));
Config::define('DB_PASSWORD', env('DB_PASSWORD'));
Config::define('DB_HOST', env('DB_HOST') ?: 'localhost');
Config::define('DB_CHARSET', 'utf8mb4');
Config::define('DB_COLLATE', '');
$table_prefix = env('DB_PREFIX') ?: 'wp_';
if (env("DATABASE_URL")) {
$dsn = (object) parse_url(env("DATABASE_URL"));
if (env('DATABASE_URL')) {
$dsn = (object) parse_url(env('DATABASE_URL'));
Config::define("DB_NAME", substr($dsn->path, 1));
Config::define("DB_USER", $dsn->user);
Config::define("DB_PASSWORD", isset($dsn->pass) ? $dsn->pass : null);
Config::define("DB_HOST", isset($dsn->port) ? "{$dsn->host}:{$dsn->port}" : $dsn->host);
Config::define('DB_NAME', substr($dsn->path, 1));
Config::define('DB_USER', $dsn->user);
Config::define('DB_PASSWORD', isset($dsn->pass) ? $dsn->pass : null);
Config::define('DB_HOST', isset($dsn->port) ? "{$dsn->host}:{$dsn->port}" : $dsn->host);
}
/**
* Authentication Unique Keys and Salts
*/
Config::define("AUTH_KEY", env("AUTH_KEY"));
Config::define("SECURE_AUTH_KEY", env("SECURE_AUTH_KEY"));
Config::define("LOGGED_IN_KEY", env("LOGGED_IN_KEY"));
Config::define("NONCE_KEY", env("NONCE_KEY"));
Config::define("AUTH_SALT", env("AUTH_SALT"));
Config::define("SECURE_AUTH_SALT", env("SECURE_AUTH_SALT"));
Config::define("LOGGED_IN_SALT", env("LOGGED_IN_SALT"));
Config::define("NONCE_SALT", env("NONCE_SALT"));
// Authentication Unique Keys and Salts
Config::define('AUTH_KEY', env('AUTH_KEY'));
Config::define('SECURE_AUTH_KEY', env('SECURE_AUTH_KEY'));
Config::define('LOGGED_IN_KEY', env('LOGGED_IN_KEY'));
Config::define('NONCE_KEY', env('NONCE_KEY'));
Config::define('AUTH_SALT', env('AUTH_SALT'));
Config::define('SECURE_AUTH_SALT', env('SECURE_AUTH_SALT'));
Config::define('LOGGED_IN_SALT', env('LOGGED_IN_SALT'));
Config::define('NONCE_SALT', env('NONCE_SALT'));
/**
* Custom Settings
*/
Config::define("AUTOMATIC_UPDATER_DISABLED", true);
Config::define("DISABLE_WP_CRON", env("DISABLE_WP_CRON") ?: false);
// Custom Settings
Config::define('AUTOMATIC_UPDATER_DISABLED', true);
Config::define('DISABLE_WP_CRON', env('DISABLE_WP_CRON') ?: false);
// Disable the plugin and theme file editor in the admin
Config::define("DISALLOW_FILE_EDIT", true);
Config::define('DISALLOW_FILE_EDIT', true);
// Disable plugin and theme updates and installation from the admin
Config::define("DISALLOW_FILE_MODS", true);
Config::define('DISALLOW_FILE_MODS', true);
// Limit the number of post revisions
Config::define("WP_POST_REVISIONS", env("WP_POST_REVISIONS") ?? true);
Config::define('WP_POST_REVISIONS', env('WP_POST_REVISIONS') ?? true);
/**
* Debugging Settings
*/
Config::define("WP_DEBUG_DISPLAY", false);
Config::define("WP_DEBUG_LOG", false);
Config::define("SCRIPT_DEBUG", false);
ini_set("display_errors", "0");
// Debugging Settings
Config::define('WP_DEBUG_DISPLAY', false);
Config::define('WP_DEBUG_LOG', false);
Config::define('SCRIPT_DEBUG', false);
ini_set('display_errors', '0');
/**
* Plugins
*/
Config::define("WPMU_PLUGIN_DIR", Config::get("WP_CONTENT_DIR") . "/mu-plugins");
Config::define("WP_PLUGIN_DIR", Config::get("WP_CONTENT_DIR") . "/plugins");
// Plugins
Config::define('WPMU_PLUGIN_DIR', Config::get('WP_CONTENT_DIR').'/mu-plugins');
Config::define('WP_PLUGIN_DIR', Config::get('WP_CONTENT_DIR').'/plugins');
/**
/*
* Allow WordPress to detect HTTPS when used behind a reverse proxy or a load balancer
* See https://codex.wordpress.org/Function_Reference/is_ssl#Notes
*/
if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"]) && $_SERVER["HTTP_X_FORWARDED_PROTO"] === "https") {
$_SERVER["HTTPS"] = "on";
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO']) {
$_SERVER['HTTPS'] = 'on';
}
$env_config = __DIR__ . "/environments/" . WP_ENV . ".php";
$env_config = __DIR__.'/environments/'.WP_ENV.'.php';
if (file_exists($env_config)) {
require_once $env_config;
include_once $env_config;
}
Config::apply();
/**
* Bootstrap WordPress
*/
if (!defined("ABSPATH")) {
define("ABSPATH", $webroot_dir . "/wp/");
// Bootstrap WordPress
if (!defined('ABSPATH')) {
define('ABSPATH', $webroot_dir.'/wp/');
}

View file

@ -1,35 +1,37 @@
<?php
/**
* Configuration overrides for WP_ENV === 'development'
* Configuration overrides for WP_ENV === 'development'.
*/
declare(strict_types=1);
use Roots\WPConfig\Config;
use function Env\env;
Config::define("SAVEQUERIES", true);
Config::define("WP_DEBUG", true);
Config::define("WP_DEBUG_DISPLAY", false);
Config::define("WP_DEBUG_LOG", env("WP_DEBUG_LOG") ?? true);
Config::define("WP_DISABLE_FATAL_ERROR_HANDLER", true);
Config::define("SCRIPT_DEBUG", true);
Config::define("DISALLOW_INDEXING", true);
ini_set("display_errors", "1");
Config::define('SAVEQUERIES', true);
Config::define('WP_DEBUG', true);
Config::define('WP_DEBUG_DISPLAY', false);
Config::define('WP_DEBUG_LOG', env('WP_DEBUG_LOG') ?? true);
Config::define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
Config::define('SCRIPT_DEBUG', true);
Config::define('DISALLOW_INDEXING', true);
ini_set('display_errors', '1');
// Enable plugin and theme updates and installation from the admin
Config::define("DISALLOW_FILE_MODS", false);
Config::define('DISALLOW_FILE_MODS', false);
// WooCommerce
Config::define("WOOCOMMERCE_API_CONSUMER_KEY", env("WOOCOMMERCE_API_CONSUMER_KEY"));
Config::define("WOOCOMMERCE_API_CONSUMER_SECRET", env("WOOCOMMERCE_API_CONSUMER_SECRET"));
Config::define('WOOCOMMERCE_API_CONSUMER_KEY', env('WOOCOMMERCE_API_CONSUMER_KEY'));
Config::define('WOOCOMMERCE_API_CONSUMER_SECRET', env('WOOCOMMERCE_API_CONSUMER_SECRET'));
// Stripe
Config::define("STRIPE_API_SECRET", env("STRIPE_API_SECRET"));
Config::define('STRIPE_API_SECRET', env('STRIPE_API_SECRET'));
// Redis
Config::define("WP_REDIS_HOST", env("WP_REDIS_HOST"));
Config::define("WP_REDIS_PASSWORD", env("WP_REDIS_PASSWORD"));
Config::define('WP_REDIS_HOST', env('WP_REDIS_HOST'));
Config::define('WP_REDIS_PASSWORD', env('WP_REDIS_PASSWORD'));
// Désactive la mise à jour des traductions automatiques
Config::define("WP_AUTO_UPDATE_TRANSLATION", false);
Config::define('WP_AUTO_UPDATE_TRANSLATION', false);

View file

@ -1,23 +1,25 @@
<?php
/**
* Configuration overrides for WP_ENV === 'production'
* Configuration overrides for WP_ENV === 'production'.
*/
declare(strict_types=1);
use Roots\WPConfig\Config;
use function Env\env;
Config::define("WP_DEBUG", true);
Config::define("WP_DEBUG_DISPLAY", false);
Config::define("WP_DEBUG_LOG", env("WP_DEBUG_LOG") ?? true);
Config::define("WP_DISABLE_FATAL_ERROR_HANDLER", false);
Config::define('WP_DEBUG', true);
Config::define('WP_DEBUG_DISPLAY', false);
Config::define('WP_DEBUG_LOG', env('WP_DEBUG_LOG') ?? true);
Config::define('WP_DISABLE_FATAL_ERROR_HANDLER', false);
Config::define("DISALLOW_INDEXING", false);
Config::define("DISALLOW_FILE_MODS", false);
Config::define('DISALLOW_INDEXING', false);
Config::define('DISALLOW_FILE_MODS', false);
Config::define("WOOCOMMERCE_API_CONSUMER_KEY", env("WOOCOMMERCE_API_CONSUMER_KEY"));
Config::define("WOOCOMMERCE_API_CONSUMER_SECRET", env("WOOCOMMERCE_API_CONSUMER_SECRET"));
Config::define('WOOCOMMERCE_API_CONSUMER_KEY', env('WOOCOMMERCE_API_CONSUMER_KEY'));
Config::define('WOOCOMMERCE_API_CONSUMER_SECRET', env('WOOCOMMERCE_API_CONSUMER_SECRET'));
// Stripe
Config::define("STRIPE_API_SECRET", env("STRIPE_API_SECRET"));
Config::define('STRIPE_API_SECRET', env('STRIPE_API_SECRET'));

View file

@ -1,13 +1,15 @@
<?php
/**
* Configuration overrides for WP_ENV === 'staging'
* Configuration overrides for WP_ENV === 'staging'.
*/
declare(strict_types=1);
use Roots\WPConfig\Config;
use function Env\env;
Config::define("DISALLOW_INDEXING", true);
Config::define("WOOCOMMERCE_API_CONSUMER_KEY", env("WOOCOMMERCE_API_CONSUMER_KEY"));
Config::define("WOOCOMMERCE_API_CONSUMER_SECRET", env("WOOCOMMERCE_API_CONSUMER_SECRET"));
Config::define('DISALLOW_INDEXING', true);
Config::define('WOOCOMMERCE_API_CONSUMER_KEY', env('WOOCOMMERCE_API_CONSUMER_KEY'));
Config::define('WOOCOMMERCE_API_CONSUMER_SECRET', env('WOOCOMMERCE_API_CONSUMER_SECRET'));