This commit is contained in:
2026-07-11 09:00:24 +02:00
parent ed04d467f7
commit 5a6f55b59d
+17 -16
View File
@@ -1,53 +1,54 @@
<?php <?php
// index.php // index.php
// --- HEADERS INDISPENSABLES POUR UNE API REST --- // --- HEADERS CORS (Indispensables pour ton site et ton appli mobile) ---
header("Access-Control-Allow-Origin: *"); // Permet à n'importe quel site/appli de requêter ton API header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8"); header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS"); header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
// Gestion du protocole OPTIONS (pré-requêtes des navigateurs) // Si le navigateur fait une pré-requête OPTIONS, on répond OK direct
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
http_response_code(200); http_response_code(200);
exit(); exit();
} }
// Inclusion des fichiers de base // --- CONFIGURATION ---
require_once __DIR__ . '/config/database.php'; require_once __DIR__ . '/config/database.php';
// Récupération de l'URL demandée (ex: /api/users/register) // On récupère la route épurée (ex: si on tape /register, $route vaudra 'register')
$request_uri = explode('?', $_SERVER['REQUEST_URI'], 2)[0]; $request_uri = explode('?', $_SERVER['REQUEST_URI'], 2)[0];
$route = trim($request_uri, '/');
$method = $_SERVER['REQUEST_METHOD']; $method = $_SERVER['REQUEST_METHOD'];
// Analyse de la route // Récupération des données JSON reçues (ex: les credentials d'inscription)
// On part du principe que ton URL ressemble à /watchgether-api/index.php/votre-route $data = json_decode(file_get_contents('php://input'), true) ?? [];
$route = str_replace('/watchgether-api/index.php', '', $request_uri);
$route = trim($route, '/');
// --- ROUTAGE TRÈS SIMPLE POUR COMMENCER --- // --- ROUTEUR ---
switch ($route) { switch ($route) {
case 'register': case 'register':
if ($method === 'POST') { if ($method === 'POST') {
// C'est ici qu'on va appeler le controller d'inscription // TODO: Appeler le contrôleur d'inscription
echo json_encode(["message" => "Route inscription OK"]); echo json_encode(["success" => true, "message" => "Route inscription OK"]);
} else { } else {
http_response_code(405); http_response_code(405);
echo json_encode(["error" => "Méthode non autorisée"]); echo json_encode(["error" => "Méthode non autorisée (POST requis)"]);
} }
break; break;
case 'login': case 'login':
if ($method === 'POST') { if ($method === 'POST') {
echo json_encode(["message" => "Route connexion OK"]); // TODO: Appeler le contrôleur de connexion
echo json_encode(["success" => true, "message" => "Route connexion OK"]);
} else { } else {
http_response_code(405); http_response_code(405);
echo json_encode(["error" => "Méthode non autorisée"]); echo json_encode(["error" => "Méthode non autorisée (POST requis)"]);
} }
break; break;
default: default:
http_response_code(404); http_response_code(404);
echo json_encode(["error" => "Route non trouvée"]); echo json_encode(["error" => "Route /" . $route . " non trouvée"]);
break; break;
} }