index.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Point d'entrée principal de l'application
  4. *
  5. * Ce fichier charge la configuration et affiche la page d'accueil.
  6. */
  7. // Chargement de la configuration
  8. $config = require_once __DIR__ . '/../config/config.php';
  9. // Chargement des routes
  10. $routes = require_once __DIR__ . '/../routes/web.php';
  11. // Récupération de l'URI demandée
  12. $rawUri = $_SERVER['REQUEST_URI'] ?? '/';
  13. $uri = parse_url($rawUri, PHP_URL_PATH);
  14. // Gestion des environnements avec un sous-dossier (comme MAMP)
  15. $basePath = '/map-generator';
  16. if (strpos($uri, $basePath) === 0) {
  17. $uri = substr($uri, strlen($basePath));
  18. }
  19. // Si l'URI est vide, on la définit sur /
  20. if (empty($uri)) {
  21. $uri = '/';
  22. }
  23. // Gestion du routing
  24. if (isset($routes[$uri])) {
  25. $route = $routes[$uri];
  26. if (is_callable($route)) {
  27. $route = $route();
  28. }
  29. if (is_array($route) && count($route) === 2) {
  30. [$controller, $method] = $route;
  31. $controller::$method();
  32. } else {
  33. // Page 404
  34. http_response_code(404);
  35. echo "Page non trouvée";
  36. }
  37. }