Files
cedricAbonnel c17cad9c66 nettoyage & typo : dead code, helpers factorisés, guillemets courbes (v1.6.13)
- #19 : suppression AuthService / UserRepository / Domain\User — dead code incompatible session
- #22 : env() et db() centralisés dans src/helpers.php, chargé par config/config.php
- #15 : typographieHtml() appliquée après Parsedown dans post_view.php

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 23:36:09 +02:00

49 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
// config/config.php
require_once BASE_PATH . '/vendor/autoload.php';
use Dotenv\Dotenv;
// Load .env file
$dotenv = Dotenv::createImmutable(BASE_PATH);
$dotenv->load();
if (!$_ENV['APP_URL']) {
http_response_code(500);
echo 'Configuration manquante : définis APP_URL ou APP_URL dans le .env';
exit;
}
// Normalise: toujours un trailing slash unique
define('APP_URL', rtrim($_ENV['APP_URL'], '/') . '/');
if (!defined('DATA_PATH')) {
$__dp = $_ENV['DATA_PATH'] ?? getenv('DATA_PATH') ?: '';
define('DATA_PATH', $__dp !== '' ? rtrim($__dp, '/') : BASE_PATH . '/data');
unset($__dp);
}
// (Optionnel) Expose dans $_ENV si besoin
$_ENV['APP_URL'] = APP_URL;
/**
* Helper pour construire des liens absolus propres.
* url('ressources/user/login.php')
* url('api/items', ['page'=>2])
*/
if (!function_exists('url')) {
function url(string $path = '', array $qs = []): string
{
$u = APP_URL . ltrim($path, '/');
if ($qs) {
$u .= (str_contains($u, '?') ? '&' : '?') . http_build_query($qs);
}
return $u;
}
}
require_once BASE_PATH . '/src/helpers.php';