<?
php
// config/[Link]
// Configuration générale de l'application
session_start();
// Fuseau horaire
date_default_timezone_set('Africa/Abidjan');
// Chemins de base
define('BASE_PATH', dirname(dirname(__FILE__)));
define('BASE_URL', '[Link]
// Paramètres de l'application
define('APP_NAME', 'Gestion Sorties Élèves');
define('APP_VERSION', '1.0.0');
// Paramètres de session
define('SESSION_TIMEOUT', 3600); // 1 heure en secondes
// Paramètres de notification
define('NOTIFICATION_REFRESH_INTERVAL', 3000); // 3 secondes en millisecondes
define('NOTIFICATION_SOUND', true);
// Statuts des autorisations
define('STATUT_EN_ATTENTE', 'en_attente');
define('STATUT_VALIDEE', 'validee');
define('STATUT_ANNULEE', 'annulee');
// Rôles utilisateurs
define('ROLE_ENSEIGNANT', 'enseignant');
define('ROLE_GARDIEN', 'gardien');
define('ROLE_ADMIN', 'admin');
// Inclusion de la connexion à la base de données
require_once BASE_PATH . '/config/[Link]';
require_once BASE_PATH . '/includes/[Link]';
// Fonction pour vérifier si l'utilisateur est connecté
function isLoggedIn() {
return isset($_SESSION['user_id']) && isset($_SESSION['role']);
}
// Fonction pour vérifier le rôle
function hasRole($role) {
return isset($_SESSION['role']) && $_SESSION['role'] === $role;
}
// Fonction pour rediriger
function redirect($url) {
header("Location: " . BASE_URL . $url);
exit();
}
// Fonction pour vérifier le timeout de session
function checkSessionTimeout() {
if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] >
SESSION_TIMEOUT)) {
session_unset();
session_destroy();
redirect('/[Link]?timeout=1');
}
$_SESSION['last_activity'] = time();
}
// Gestion des erreurs en mode développement
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>