foreach ($tab_add as $i => $tab) {
        if ($tab['ref'] && $tab['nom'] && $tab['niv']) {
            $classe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe', $tab['ref'], $tab['nom'], $tab['niv']);
            $nb_add++;
            $tab_i_classe_TO_id_base[$i] = (int) $classe_id;
        }
    }
}
// Supprimer des classes éventuelles
$nb_del = 0;
$notification_contenu = '';
if (count($tab_del)) {
    $notification_intro = date('d-m-Y H:i:s') . ' ' . $_SESSION['USER_PRENOM'] . ' ' . $_SESSION['USER_NOM'];
    foreach ($tab_del as $groupe_id) {
        if ($groupe_id) {
            DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin($groupe_id, 'classe', TRUE);
            $nb_del++;
            // Log de l'action
            SACocheLog::ajouter('Suppression d\'une classe (n°' . $groupe_id . ') lors d\'un import de fichier, et donc des devoirs associés.');
            $notification_contenu .= $notification_intro . ' a supprimé une classe (n°' . $groupe_id . ') lors d\'un import de fichier, et donc les devoirs associés.' . "\r\n";
        }
    }
}
// Notifications (rendues visibles ultérieurement)
if ($notification_contenu) {
    DB_STRUCTURE_NOTIFICATION::enregistrer_action_admin($notification_contenu, $_SESSION['USER_ID']);
}
// On enregistre (tableau mis à jour)
$tab_liens_id_base = array('classes' => $tab_i_classe_TO_id_base, 'groupes' => $tab_i_groupe_TO_id_base, 'users' => $tab_i_fichier_TO_id_base);
FileSystem::ecrire_fichier(CHEMIN_DOSSIER_IMPORT . 'import_' . $import_origine . '_' . $import_profil . '_' . $_SESSION['BASE'] . '_' . session_id() . '_liens_id_base.txt', serialize($tab_liens_id_base));
// Afficher le bilan
  echo'<td>{{NIVEAU_NOM}}</td>';
  echo'<td>'.html($ref).'</td>';
  echo'<td>'.html($nom).'</td>';
  echo'<td class="nu">';
  echo  '<q class="modifier" title="Modifier cette classe."></q>';
  echo  '<q class="supprimer" title="Supprimer cette classe."></q>';
  echo'</td>';
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Supprimer une classe existante
// ////////////////////////////////////////////////////////////////////////////////////////////////////
else if( ($action=='supprimer') && $id && $nom )
{
  // Effacer l'enregistrement
  DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin( $id , 'classe' , TRUE /*with_devoir*/ );
  // Log de l'action
  SACocheLog::ajouter('Suppression de la classe "'.$nom.'" (n°'.$id.'), et donc des devoirs associés.');
  // Notifications (rendues visibles ultérieurement)
  $notification_contenu = date('d-m-Y H:i:s').' '.$_SESSION['USER_PRENOM'].' '.$_SESSION['USER_NOM'].' a supprimé la classe "'.$nom.'" (n°'.$id.'), et donc les devoirs associés.'."\r\n";
  DB_STRUCTURE_NOTIFICATION::enregistrer_action_admin( $notification_contenu , $_SESSION['USER_ID'] );
  // Afficher le retour
  echo'<td>ok</td>';
}

else
{
  echo'Erreur avec les données transmises !';
}
?>
if($action=='purger')
{

  // Bloquer l'application
  LockAcces::bloquer_application('automate',$_SESSION['BASE'],'Purge annuelle de la base en cours.');
  // Supprimer tous les devoirs associés aux classes, mais pas les saisies associées
  DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_devoirs_sans_saisies();
  SACocheLog::ajouter('Suppression de tous les devoirs sans les saisies associées.');
  // Supprimer tous les types de groupes, sauf les classes (donc 'groupe' ; 'besoin' ; 'eval'), ainsi que les jointures avec les périodes.
  $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes_sauf_classes();
  if(!empty($DB_TAB))
  {
    foreach($DB_TAB as $DB_ROW)
    {
      DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin( $DB_ROW['groupe_id'] , $DB_ROW['groupe_type'] , FALSE /*with_devoir*/ );
    }
  }
  SACocheLog::ajouter('Suppression de tous les groupes, hors classes, sans les devoirs associés.');
  // Supprimer les jointures classes/périodes, et donc les états des bilans officiels
  DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_groupe_periode( TRUE /*groupe_id*/ , TRUE /*periode_id*/ , FALSE /*etat*/ , '' /*date_debut_mysql*/ ,'' /*date_fin_mysql*/ );
  // Supprimer les saisies & les archives des bilans officiels
  DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_bilans_officiels();
  // Supprimer les saisies brevet & les archives (Notanet & fiches brevet)
  DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_bilans_brevet();
  // Supprimer les comptes utilisateurs désactivés depuis plus de 3 ans
  $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_desactives_obsoletes();
  if(!empty($DB_TAB))
  {
    foreach($DB_TAB as $DB_ROW)
    {