This commit is contained in:
2026-07-11 09:00:24 +02:00
parent ed04d467f7
commit 5a6f55b59d
+18 -17
View File
@@ -1,53 +1,54 @@
<?php
// index.php
// --- HEADERS INDISPENSABLES POUR UNE API REST ---
header("Access-Control-Allow-Origin: *"); // Permet à n'importe quel site/appli de requêter ton API
// --- HEADERS CORS (Indispensables pour ton site et ton appli mobile) ---
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
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");
// 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') {
http_response_code(200);
exit();
}
// Inclusion des fichiers de base
// --- CONFIGURATION ---
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];
$route = trim($request_uri, '/');
$method = $_SERVER['REQUEST_METHOD'];
// Analyse de la route
// On part du principe que ton URL ressemble à /watchgether-api/index.php/votre-route
$route = str_replace('/watchgether-api/index.php', '', $request_uri);
$route = trim($route, '/');
// Récupération des données JSON reçues (ex: les credentials d'inscription)
$data = json_decode(file_get_contents('php://input'), true) ?? [];
// --- ROUTAGE TRÈS SIMPLE POUR COMMENCER ---
// --- ROUTEUR ---
switch ($route) {
case 'register':
if ($method === 'POST') {
// C'est ici qu'on va appeler le controller d'inscription
echo json_encode(["message" => "Route inscription OK"]);
// TODO: Appeler le contrôleur d'inscription
echo json_encode(["success" => true, "message" => "Route inscription OK"]);
} else {
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;
case 'login':
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 {
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;
default:
http_response_code(404);
echo json_encode(["error" => "Route non trouvée"]);
echo json_encode(["error" => "Route /" . $route . " non trouvée"]);
break;
}
}