conn = null; try { $this->conn = new PDO( "mysql:host=" . $this->host . ";dbname=" . $this->db_name . ";charset=utf8mb4", $this->username, $this->password ); // Options de sécurité et de debug bien pratiques en dev $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Active les erreurs SQL sous forme d'exceptions $this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); // Renvoie les résultats sous forme de tableau associatif } catch(PDOException $exception) { // Si ça plante, on renvoie une erreur JSON propre au lieu d'un gros bug PHP http_response_code(500); echo json_encode(["error" => "Erreur de connexion à la base de données : " . $exception->getMessage()]); exit(); } return $this->conn; } }