filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), // debug OFF //'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN), /** * Configure basic information about the application. * * - namespace - The namespace to find app classes under. * - defaultLocale - The default locale for translation, formatting currencies and numbers, date and time. * - encoding - The encoding used for HTML + database connections. * - base - The base directory the app resides in. If false this * will be auto detected. * - dir - Name of app directory. * - webroot - The webroot directory. * - wwwRoot - The file path to webroot. * - baseUrl - To configure CakePHP to *not* use mod_rewrite and to * use CakePHP pretty URLs, remove these .htaccess * files: * /.htaccess * /webroot/.htaccess * And uncomment the baseUrl key below. * - fullBaseUrl - A base URL to use for absolute links. When set to false (default) * CakePHP generates required value based on `HTTP_HOST` environment variable. * However, you can define it manually to optimize performance or if you * are concerned about people manipulating the `Host` header. * - imageBaseUrl - Web path to the public images directory under webroot. * - cssBaseUrl - Web path to the public css directory under webroot. * - jsBaseUrl - Web path to the public js directory under webroot. * - paths - Configure paths for non class based resources. Supports the * `plugins`, `templates`, `locales` subkeys, which allow the definition of * paths for plugins, view templates and locale files respectively. */ 'App' => [ 'namespace' => 'App', 'encoding' => env('APP_ENCODING', 'UTF-8'), //'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), 'defaultLocale' => env('APP_DEFAULT_LOCALE', 'fr_FR'), // NEW IN 3.7 'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'), 'base' => false, 'dir' => 'src', 'webroot' => 'webroot', 'wwwRoot' => WWW_ROOT, //'baseUrl' => env('SCRIPT_NAME'), 'fullBaseUrl' => false, 'imageBaseUrl' => 'img/', 'cssBaseUrl' => 'css/', 'jsBaseUrl' => 'js/', 'paths' => [ 'plugins' => [ROOT . DS . 'plugins' . DS], 'templates' => [APP . 'Template' . DS], 'locales' => [APP . 'Locale' . DS], ], ], /** * Security and encryption configuration * * - salt - A random string used in security hashing methods. * The salt value is also used as the encryption key. * You should treat it as extremely sensitive data. */ 'Security' => [ //'salt' => env('SECURITY_SALT', '96de0165eccc596056b9dcd608f7f45888ab9154abf32bdd1a8087e640478028'), 'salt' => env('SECURITY_SALT', '597495ab489fda98efb7fc70db7606b2a9b556dbce9ea96c1f0833b091e71afe'), ], /** * Apply timestamps with the last modified time to static assets (js, css, images). * Will append a querystring parameter containing the time the file was modified. * This is useful for busting browser caches. * * Set to true to apply timestamps when debug is true. Set to 'force' to always * enable timestamping regardless of debug value. */ 'Asset' => [ //'timestamp' => true, //'cacheTime' => '+1 year' ], /** * Configure the cache adapters. */ 'Cache' => [ 'default' => [ // AVANT //'className' => 'File', // CAKEPHP 3.7 //'className' => 'Cake\Cache\Engine\FileEngine', // CAKEPHP 3.10 'className' => FileEngine::class, 'path' => CACHE, 'url' => env('CACHE_DEFAULT_URL', null), ], /** * Configure the cache used for general framework caching. * Translation cache files are stored with this configuration. * Duration will be set to '+2 minutes' in bootstrap.php when debug = true * If you set 'className' => 'Null' core cache will be disabled. */ '_cake_core_' => [ // AVANT //'className' => 'File', // CAKE3.7 //'className' => 'Cake\Cache\Engine\FileEngine', // CAKE3.7 'className' => FileEngine::class, 'prefix' => 'myapp_cake_core_', 'path' => CACHE . 'persistent/', 'serialize' => true, // AVANT //'duration' => '+2 minutes', // CAKE3.7 'duration' => '+1 years', 'url' => env('CACHE_CAKECORE_URL', null), ], /** * Configure the cache for model and datasource caches. This cache * configuration is used to store schema descriptions, and table listings * in connections. * Duration will be set to '+2 minutes' in bootstrap.php when debug = true */ '_cake_model_' => [ // 3.7 //'className' => 'Cake\Cache\Engine\FileEngine', // 3.10 'className' => FileEngine::class, //'className' => 'File', 'prefix' => 'myapp_cake_model_', 'path' => CACHE . 'models/', 'serialize' => true, //'duration' => '+2 minutes', 'duration' => '+1 years', 'url' => env('CACHE_CAKEMODEL_URL', null), ], // NEW IN CAKE3.7 /** * Configure the cache for routes. The cached routes collection is built the * first time the routes are processed via `config/routes.php`. * Duration will be set to '+2 seconds' in bootstrap.php when debug = true */ '_cake_routes_' => [ // 3.7 //'className' => 'Cake\Cache\Engine\FileEngine', // 3.10 'className' => FileEngine::class, 'prefix' => 'myapp_cake_routes_', 'path' => CACHE, 'serialize' => true, 'duration' => '+1 years', 'url' => env('CACHE_CAKEROUTES_URL', null), ], ], /** * Configure the Error and Exception handlers used by your application. * * By default errors are displayed using Debugger, when debug is true and logged * by Cake\Log\Log when debug is false. * * In CLI environments exceptions will be printed to stderr with a backtrace. * In web environments an HTML page will be displayed for the exception. * With debug true, framework errors like Missing Controller will be displayed. * When debug is false, framework errors will be coerced into generic HTTP errors. * * Options: * * - `errorLevel` - int - The level of errors you are interested in capturing. * - `trace` - boolean - Whether or not backtraces should be included in * logged errors/exceptions. * - `log` - boolean - Whether or not you want exceptions logged. * - `exceptionRenderer` - string - The class responsible for rendering * uncaught exceptions. If you choose a custom class you should place * the file for that class in src/Error. This class needs to implement a * render method. * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that * extend one of the listed exceptions will also be skipped for logging. * E.g.: * `'skipLog' => ['Cake\Http\Exception\NotFoundException', 'Cake\Http\Exception\UnauthorizedException']` * - `extraFatalErrorMemory` - int - The number of megabytes to increase * the memory limit by when a fatal error is encountered. This allows * breathing room to complete logging or error handling. */ 'Error' => [ // - CAKE3.7 default : on voit aussi les Deprecated Error //'errorLevel' => E_ALL, //'errorLevel' => E_ALL & ~E_DEPRECATED, // - Pour branche dev : sans les deprecated errors //'errorLevel' => E_ALL & ~E_USER_DEPRECATED, // - Pour branche master : Sans les deprecated ni les Warnings 'errorLevel' => E_ALL & ~E_USER_DEPRECATED & ~E_DEPRECATED & ~E_WARNING, // 3.7 //'exceptionRenderer' => 'Cake\Error\ExceptionRenderer', // 3.10 'exceptionRenderer' => ExceptionRenderer::class, 'skipLog' => [], 'log' => true, 'trace' => true, ], /** * Email configuration. * * By defining transports separately from delivery profiles you can easily * re-use transport configuration across multiple profiles. * * You can specify multiple configurations for production, development and * testing. * * Each transport needs a `className`. Valid options are as follows: * * Mail - Send using PHP mail function * Smtp - Send using SMTP * Debug - Do not send the email, just return the result * * You can add custom transports (or override existing transports) by adding the * appropriate file to src/Mailer/Transport. Transports should be named * 'YourTransport.php', where 'Your' is the name of the transport. */ 'EmailTransport' => [ 'default' => [ // CAKE3.7 //'className' => 'Cake\Mailer\Transport\MailTransport', // 3.10 'className' => MailTransport::class, // AVANT //'className' => 'Mail', /* * The keys host, port, timeout, username, password, client and tls * are used in SMTP transports */ 'host' => 'localhost', 'port' => 25, 'timeout' => 30, /* * It is recommended to set these options through your environment or app_local.php */ // CAKE3.7 //'username' => null, //'password' => null, 'username' => 'user', 'password' => 'secret', 'client' => null, // 3.7 //'tls' => null, // 3.10 'tls' => false, 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), ], // (EP) ajouté pour dev send mail 'dev' => [ 'className' => 'Smtp', 'host' => 'ssl://smtp.gmail.com', 'port' => 465, 'username' => 'xxxxxxxxxxxxxxxxxxxxx', 'password' => 'xxxxxxxxxxxxxxxxxxxxx', 'context' => [ 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ] ] ], ], /** * Email delivery profiles * * Delivery profiles allow you to predefine various properties about email * messages from your application and give the settings a name. This saves * duplication across your application and makes maintenance and development * easier. Each profile accepts a number of keys. See `Cake\Mailer\Email` * for more information. */ 'Email' => [ 'default' => [ 'transport' => 'default', 'from' => 'you@localhost', /* * Will by default be set to config value of App.encoding, if that exists otherwise to UTF-8. */ //'charset' => 'utf-8', //'headerCharset' => 'utf-8', ], ], /** * Connection information used by the ORM to connect * to your application's datastores. * * ### Notes * - Drivers include Mysql Postgres Sqlite Sqlserver * See vendor\cakephp\cakephp\src\Database\Driver for complete list * - Do not use periods in database name - it may lead to error. * See https://github.com/cakephp/cakephp/issues/6471 for details. * - 'encoding' is recommended to be set to full UTF-8 4-Byte support. * E.g set it to 'utf8mb4' in MariaDB and MySQL and 'utf8' for any * other RDBMS. */ 'Datasources' => [ 'default' => [ // 3.7 //'className' => 'Cake\Database\Connection', // 3.10 'className' => Connection::class, // 3.7 //'driver' => 'Cake\Database\Driver\Mysql', // 3.10 'driver' => Mysql::class, 'persistent' => false, /*d*/'host' => 'localhost', /* * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'non_standard_port_number', /* * It is recommended to set these options through your environment or app_local.php */ /*d*/'username' => 'db_username', /*d*/'password' => 'db_password', /*d*/'database' => 'database', /* * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6). */ //'encoding' => 'utf8mb4', // (EP202102) AVANT, du coup je l'ai commenté //'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false, /** * Set identifier quoting to true if you are using reserved words or * special characters in your table or column names. Enabling this * setting will result in queries built using the Query Builder having * identifiers quoted when creating SQL. It should be noted that this * decreases performance because each query needs to be traversed and * manipulated before being executed. */ 'quoteIdentifiers' => false, /** * During development, if using MySQL < 5.6, uncommenting the * following line could boost the speed at which schema metadata is * fetched from the database. It can also be set directly with the * mysql configuration directive 'innodb_stats_on_metadata = 0' * which is the recommended value in production environments */ //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], 'url' => env('DATABASE_URL', null), ], /** * The test connection is used during the test suite. */ 'test' => [ // 3.7 //'className' => 'Cake\Database\Connection', //'driver' => 'Cake\Database\Driver\Mysql', // 3.10 'className' => Connection::class, 'driver' => Mysql::class, 'persistent' => false, /*t*/'host' => 'localhost', //'port' => 'non_standard_port_number', /*t*/'username' => 'test_db_username', /*t*/'password' => 'test_db_password', /*t*/'database' => 'test_database', //'encoding' => 'utf8mb4', // (EP202102) AVANT, du coup je l'ai commenté //'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true, 'quoteIdentifiers' => false, 'log' => false, //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], //'url' => env('DATABASE_TEST_URL', null), ], ], /** * Configures logging options */ 'Log' => [ 'debug' => [ // 3.7 //'className' => 'Cake\Log\Engine\FileLog', // 3.10 'className' => FileLog::class, 'path' => LOGS, 'file' => 'debug', 'url' => env('LOG_DEBUG_URL', null), 'levels' => ['notice', 'info', 'debug'], // NEW IN CAKE3.7 'scopes' => false, ], 'error' => [ // 3.7 //'className' => 'Cake\Log\Engine\FileLog', // 3.10 'className' => FileLog::class, 'path' => LOGS, 'file' => 'error', 'url' => env('LOG_ERROR_URL', null), 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], // NEW IN CAKE3.7 'scopes' => false, ], // NEW IN CAKE3.7 // To enable this dedicated query log, you need set your datasource's log flag to true 'queries' => [ // 3.7 //'className' => 'Cake\Log\Engine\FileLog', // 3.10 'className' => FileLog::class, 'path' => LOGS, 'file' => 'queries', 'url' => env('LOG_QUERIES_URL', null), 'scopes' => ['queriesLog'], ], ], /** * Session configuration. * * Contains an array of settings to use for session configuration. The * `defaults` key is used to define a default preset to use for sessions, any * settings declared here will override the settings of the default config. * * ## Options * * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'. Avoid using `.` in cookie names, * as PHP will drop sessions from cookies with `.` in the name. * - `cookiePath` - The url path for which session cookie is set. Maps to the * `session.cookie_path` php.ini config. Defaults to base path of app. * - `timeout` - The time in minutes the session should be valid for. * Pass 0 to disable checking timeout. * Please note that php.ini's session.gc_maxlifetime must be equal to or greater * than the largest Session['timeout'] in all served websites for it to have the * desired effect. * - `defaults` - The default configuration set to use as a basis for your session. * There are four built-in options: php, cake, cache, database. * - `handler` - Can be used to enable a custom session handler. Expects an * array with at least the `engine` key, being the name of the Session engine * class to use for managing the session. CakePHP bundles the `CacheSession` * and `DatabaseSession` engines. * - `ini` - An associative array of additional ini values to set. * * The built-in `defaults` options are: * * - 'php' - Uses settings defined in your php.ini. * - 'cake' - Saves session files in CakePHP's /tmp directory. * - 'database' - Uses CakePHP's database sessions. * - 'cache' - Use the Cache class to save sessions. * * To define a custom session handler, save it at src/Network/Session/.php. * Make sure the class implements PHP's `SessionHandlerInterface` and set * Session.handler to * * To use database sessions, load the SQL file located at config/schema/sessions.sql */ 'Session' => [ 'defaults' => 'php', // Pour changer le timeout de session (en minutes) // Voir un bon exemple de comment gérer l'event timeout ici : // https://stackoverflow.com/questions/32298817/how-to-prevent-cakephp-3-0-from-extending-session-timeout-with-ajax-requests 'timeout' => 15, // mn /* Pour changer le timeout de cookie (en secondes) * * https://book.cakephp.org/3/fr/development/sessions.html * * La différence entre les valeurs Session.timeout et session.cookie_lifetime * est que la deuxième repose sur le fait que le client dit la vérité sur le cookie. * Si vous devez vérifier plus strictement le timeout, sans que cela ne repose sur ce que dit le client, * vous devez utiliser Session.timeout. * Merci de noter que Session.timeout correspond au temps total d’inactivité d’un utilisateur * (par ex, le temps sans visite d’aucune page où la session est utilisée), * et ne limite pas le nombre total de minutes pendant lesquelles un utilisateur peut rester sur le site. 'ini' => [ // Rend le cookie non valide après 30 minutes s'il n'y // a aucune visite d'aucune page sur le site. 'session.cookie_lifetime' => 1800 ] */ ], ];