$listing_champs = 'user_id, user_login, user_password, user_nom, user_prenom, user_profil_type, user_profil_nom_court_singulier';
 $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users($tab_profils_types, 2, $listing_champs, TRUE);
 foreach ($DB_TAB as $DB_ROW) {
     $tab_users_base['login'][$DB_ROW['user_id']] = $DB_ROW['user_login'];
     $tab_users_base['mdp'][$DB_ROW['user_id']] = $DB_ROW['user_password'];
     $tab_users_base['nom'][$DB_ROW['user_id']] = $DB_ROW['user_nom'];
     $tab_users_base['prenom'][$DB_ROW['user_id']] = $DB_ROW['user_prenom'];
     $tab_users_base['info'][$DB_ROW['user_id']] = $DB_ROW['user_profil_type'] == 'eleve' ? 'élève ' . $DB_ROW['groupe_nom'] : $DB_ROW['user_profil_nom_court_singulier'];
     if ($DB_ROW['user_profil_type'] == 'parent') {
         $tab_parents[$DB_ROW['user_id']] = $DB_ROW['user_id'];
     }
 }
 // Une 2e requête pour récupérer classe et enfants des parents
 if (count($tab_parents)) {
     $listing_parent_id = implode(',', $tab_parents);
     $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_info_enfants_par_parent($listing_parent_id);
     foreach ($DB_TAB as $DB_ROW) {
         $tab_users_base['info'][$DB_ROW['parent_id']] .= ' ' . $DB_ROW['info'];
     }
 }
 // Observer le contenu du fichier et comparer avec le contenu de la base
 $fcontenu_pdf_tab = array();
 $lignes_ras = '';
 $lignes_mod = '';
 $lignes_pb = '';
 foreach ($tab_users_fichier['login'] as $i_fichier => $login) {
     if ($tab_users_fichier['login'][$i_fichier] == '' && $tab_users_fichier['mdp'][$i_fichier] == '') {
         // Contenu du fichier à ignorer : login et mdp non indiqués
         $lignes_ras .= '<tr><td>' . html($tab_users_fichier['nom'][$i_fichier] . ' ' . $tab_users_fichier['prenom'][$i_fichier]) . '</td><td colspan="2">nom d\'utilisateur et mot de passe non imposés</td></tr>' . NL;
     } else {
         // On recherche l'id de l'utilisateur de la base de même nom et prénom