- Ajout système complet de gestion des secteurs avec contours géographiques - Import des contours départementaux depuis GeoJSON - API REST pour la gestion des secteurs (/api/sectors) - Service de géolocalisation pour déterminer les secteurs - Migration base de données avec tables x_departements_contours et sectors_adresses - Interface Flutter pour visualisation et gestion des secteurs - Ajout thème sombre dans l'application - Corrections diverses et optimisations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
64 lines
2.2 KiB
PHP
Executable File
64 lines
2.2 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/bootstrap.php';
|
|
|
|
// Chargement des fichiers principaux
|
|
require_once __DIR__ . '/src/Config/AppConfig.php';
|
|
require_once __DIR__ . '/src/Core/Database.php';
|
|
require_once __DIR__ . '/src/Core/AddressesDatabase.php';
|
|
require_once __DIR__ . '/src/Core/Router.php';
|
|
require_once __DIR__ . '/src/Core/Session.php';
|
|
require_once __DIR__ . '/src/Core/Request.php';
|
|
require_once __DIR__ . '/src/Core/Response.php';
|
|
require_once __DIR__ . '/src/Utils/ClientDetector.php';
|
|
require_once __DIR__ . '/src/Services/LogService.php';
|
|
|
|
// Chargement des contrôleurs
|
|
require_once __DIR__ . '/src/Controllers/LogController.php';
|
|
require_once __DIR__ . '/src/Controllers/LoginController.php';
|
|
require_once __DIR__ . '/src/Controllers/EntiteController.php';
|
|
require_once __DIR__ . '/src/Controllers/UserController.php';
|
|
require_once __DIR__ . '/src/Controllers/OperationController.php';
|
|
require_once __DIR__ . '/src/Controllers/PassageController.php';
|
|
require_once __DIR__ . '/src/Controllers/VilleController.php';
|
|
require_once __DIR__ . '/src/Controllers/FileController.php';
|
|
require_once __DIR__ . '/src/Controllers/SectorController.php';
|
|
|
|
// Initialiser la configuration
|
|
$appConfig = AppConfig::getInstance();
|
|
$config = $appConfig->getFullConfig();
|
|
|
|
// Initialiser la base de données principale
|
|
Database::init($config['database']);
|
|
|
|
// Initialiser la base de données des adresses
|
|
AddressesDatabase::init($appConfig->getAddressesDatabaseConfig());
|
|
|
|
// Configuration CORS
|
|
$origin = $_SERVER['HTTP_ORIGIN'] ?? '';
|
|
$allowedOrigins = $config['api']['allowed_origins'];
|
|
|
|
// Vérifier si l'origine est autorisée
|
|
if (in_array($origin, $allowedOrigins)) {
|
|
header('Access-Control-Allow-Origin: ' . $origin);
|
|
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
|
|
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-App-Identifier');
|
|
header('Access-Control-Allow-Credentials: true');
|
|
}
|
|
|
|
// Gestion des requêtes preflight (OPTIONS)
|
|
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
|
exit(0);
|
|
}
|
|
|
|
// Initialiser la session
|
|
Session::start();
|
|
|
|
// Créer l'instance de routeur
|
|
$router = new Router();
|
|
|
|
// Gérer la requête
|
|
$router->handle();
|