getAllOrientations(); $apPrograms = $db->getAllAPPrograms(); $finalityTypes = $db->getAllFinalityTypes(); $languages = $db->getAllLanguages(); $formatTypes = $db->getAllFormatTypes(); $licenseTypes = $db->getAllLicenseTypes(); } catch (Exception $e) { error_log("Failed to load form data: " . $e->getMessage()); die("Erreur lors du chargement du formulaire."); } $error = $_SESSION["form_error"] ?? null; $formData = $_SESSION["form_data"] ?? []; unset($_SESSION["form_error"], $_SESSION["form_data"]); function old($key, $default = "") { global $formData; return isset($formData[$key]) ? htmlspecialchars($formData[$key]) : $default; } function wasSelected($key, $value) { global $formData; if (!isset($formData[$key])) return false; if (is_array($formData[$key])) return in_array($value, $formData[$key]); return $formData[$key] == $value; } ?>

Ajouter un TFE

">
Composition du jury
Séparez par des virgules. Max 10 mots-clés.
Durée (minutes) ou nombre de pages.
JPG, PNG. Taille max : 10 MB.
JPG, PNG ou WEBP. Format paysage recommandé (4:1). Max 5 MB.
PDF, JPG, PNG, MP4, ZIP. Max 50 MB par fichier.