}
$action = isset($_POST['f_action']) ? Clean::texte($_POST['f_action']) : NULL;
$item_id = isset($_POST['f_item']) ? Clean::entier($_POST['f_item']) : NULL;
$eleve_id = isset($_POST['f_eleve']) ? Clean::entier($_POST['f_eleve']) : NULL;
$note_val = isset($_POST['f_note']) ? Clean::texte($_POST['f_note']) : NULL;
$devoir_id = isset($_POST['f_devoir']) ? Clean::entier($_POST['f_devoir']) : NULL;
$groupe_id = isset($_POST['f_groupe']) ? Clean::entier($_POST['f_groupe']) : NULL;
$tab_notes = array('RR', 'R', 'V', 'VV', 'NN', 'NE', 'NF', 'NR', 'ABS', 'DISP', 'REQ', 'X');
if ($action == 'enregistrer_note' && $item_id && $eleve_id && in_array($note_val, $tab_notes) && $devoir_id !== NULL && $groupe_id !== NULL) {
    // Nom du devoir
    $tab_jour = array(0 => 'dimanche', 1 => 'lundi', 2 => 'mardi', 3 => 'mercredi', 4 => 'jeudi', 5 => 'vendredi', 6 => 'samedi');
    $tab_mois = array(1 => 'janvier', 2 => 'février', 3 => 'mars', 4 => 'avril', 5 => 'mai', 6 => 'juin', 7 => 'juillet', 8 => 'août', 9 => 'septembre', 10 => 'octobre', 11 => 'novembre', 12 => 'décembre');
    $description = 'Évaluation ponctuelle du ' . $tab_jour[date("w")] . ' ' . date("j") . ' ' . $tab_mois[date("n")] . ' ' . date("Y") . '.';
    // On cherche le devoir correspondant.
    $presence_devoir = FALSE;
    if ($devoir_id && $groupe_id && DB_STRUCTURE_PROFESSEUR::DB_tester_devoir_ponctuel_prof_by_ids($devoir_id, $_SESSION['USER_ID'], $groupe_id)) {
        $presence_devoir = TRUE;
    } else {
        //  Si absence d'identifiants transmis, alors soit le devoir n'existe pas, soit il existe et c'est la 1ère saisie d'une série
        $DB_ROW = DB_STRUCTURE_PROFESSEUR::DB_recuperer_devoir_ponctuel_prof_by_date($_SESSION['USER_ID'], TODAY_MYSQL, $description);
        if (!empty($DB_ROW)) {
            $presence_devoir = TRUE;
            $devoir_id = $DB_ROW['devoir_id'];
            $groupe_id = $DB_ROW['groupe_id'];
        }
    }
    // Si pas de devoir, il faut l'ajouter
    if (!$presence_devoir) {
        // Commencer par créer un nouveau groupe de type "eval", utilisé uniquement pour cette évaluation (c'est transparent pour le professeur) ; y associe automatiquement le prof, en responsable du groupe
        $groupe_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_groupe_par_prof('eval', '', 0);
        // Insèrer l'enregistrement de l'évaluation