//	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
elseif( ($action=='creer') && $groupe_id && (isset($tab_types[$groupe_type])) && in_array($qui,$tab_qui) && $date && $date_visible && $date_autoeval && $info && in_array($suite,$tab_suite) && $nb_demandes && $nb_users && $nb_items )
{
	// Dans le cas d'une évaluation sur une liste d'élèves sélectionnés,
	if($qui=='select')
	{
		// 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
	$date_mysql          = convert_date_french_to_mysql($date);
	$date_visible_mysql  = convert_date_french_to_mysql($date_visible);
	$date_autoeval_mysql = convert_date_french_to_mysql($date_autoeval);
	$doc_sujet   = '';
	$doc_corrige = '';
	$devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir($_SESSION['USER_ID'],$groupe_id,$date_mysql,$info,$date_visible_mysql,$date_autoeval_mysql,$doc_sujet,$doc_corrige);
	// Dans le cas d'une évaluation sur une liste d'élèves sélectionnés,
	// Affecter tous les élèves choisis
	if($qui=='select')
	{
		DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_user($devoir_id,$groupe_id,$tab_user_id,'creer');
	}
	// Insérer les enregistrements des items de l'évaluation
	DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id,$tab_item_id,'creer');
	// Insérer les scores 'REQ' pour indiquer au prof les demandes dans le tableau de saisie
	$info = 'Demande en attente ('.$_SESSION['USER_NOM'].' '.$_SESSION['USER_PRENOM']{0}.'.)';
	foreach($tab_user_item as $key)
	{
		list($eleve_id,$item_id) = explode('x',$key);
		DB_STRUCTURE_PROFESSEUR::DB_ajouter_saisie($_SESSION['USER_ID'],$eleve_id,$devoir_id,$item_id,$date_mysql,'REQ',$info,$date_visible_mysql);
	}
     $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
     $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir($_SESSION['USER_ID'], $groupe_id, TODAY_MYSQL, $description, TODAY_MYSQL, NULL, '', '', 'alpha');
 }
 // Maintenant on recupère le contenu de la base déjà enregistré pour le comparer avec la saisie envoyée.
 $presence_item = FALSE;
 $presence_eleve = FALSE;
 $presence_saisie = FALSE;
 $DB_TAB = $presence_devoir ? DB_STRUCTURE_PROFESSEUR::DB_lister_devoir_saisies($devoir_id, TRUE) : array();
 foreach ($DB_TAB as $DB_ROW) {
     if ($DB_ROW['item_id'] == $item_id) {
         $presence_item = TRUE;
     }
     if ($DB_ROW['eleve_id'] == $eleve_id) {
         $presence_eleve = TRUE;
     }
     if ($DB_ROW['item_id'] == $item_id && $DB_ROW['eleve_id'] == $eleve_id) {
         $presence_saisie = $DB_ROW['saisie_note'];
if( ($action=='creer') && in_array($qui,$tab_qui) && ( ($qui=='select') || ( (isset($tab_types[$groupe_type])) && $groupe_id ) ) && $date && $date_visible && $date_autoeval && $description && in_array($suite,$tab_suite) && $nb_demandes && $nb_users && $nb_items )
{
  $date_mysql          = convert_date_french_to_mysql($date);
  $date_visible_mysql  = convert_date_french_to_mysql($date_visible);
  $date_autoeval_mysql = convert_date_french_to_mysql($date_autoeval);
  // Dans le cas d'une évaluation sur une liste d'élèves sélectionnés,
  if($qui=='select')
  {
    // 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
  $doc_sujet   = '';
  $doc_corrige = '';
  $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir( $_SESSION['USER_ID'] , $groupe_id , $date_mysql , $description , $date_visible_mysql , $date_autoeval_mysql , $doc_sujet , $doc_corrige , $eleves_ordre='alpha' );
  // Affecter tous les élèves choisis (dans le cas d'une évaluation sur une liste d'élèves sélectionnés)
  if($qui=='select')
  {
    DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_eleve($devoir_id,$groupe_id,$tab_user_id,'creer');
  }
  // Affecter tous les profs choisis
  if($nb_profs)
  {
    DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_prof( $devoir_id , $tab_profs , 'creer' );
  }
  // Insérer les enregistrements des items de l'évaluation
  DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id,$tab_item_id,'creer');
  // Insérer les scores 'REQ' pour indiquer au prof les demandes dans le tableau de saisie
  $tab_item_for_user = array();
  $info = 'À saisir ('.afficher_identite_initiale($_SESSION['USER_NOM'],FALSE,$_SESSION['USER_PRENOM'],TRUE).')';
	}
	// Tester les profs, mais plus leur appartenance au groupe (pour qu'un prof puisse accéder à l'éval même s'il n'a pas le groupe, même si on duplique une évaluation pour un autre groupe...) [absurde dans le cas d'élèves sélectionnés]
	if(count($tab_profs))
	{
		if(!in_array($_SESSION['USER_ID'],$tab_profs))
		{
			exit('Erreur : absent de la liste des professeurs !');
		}
	}
	if($type=='selection')
	{
		// 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($groupe_type,'',0);
	}
	// Insèrer l'enregistrement de l'évaluation
	$devoir_id2 = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir($_SESSION['USER_ID'],$groupe_id,$date_mysql,$description,$date_visible_mysql,$date_autoeval_mysql,$doc_sujet,$doc_corrige,$tab_profs);
	if($type=='selection')
	{
		// Affecter tous les élèves choisis
		DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_user($devoir_id2,$groupe_id,$tab_eleves,'creer');
	}
	// Insérer les enregistrements des items de l'évaluation
	DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id2,$tab_items,'dupliquer',$devoir_id);
	// Afficher le retour
	$date_visible  = ($date_visible==$date)         ? 'identique'  : $date_visible  ;
	$date_autoeval = ($date_autoeval=='00/00/0000') ? 'sans objet' : $date_autoeval ;
	$ref = $devoir_id2.'_'.strtoupper($groupe_type{0}).$groupe_id;
	$cs = ($nb_items>1) ? 's' : '';
	$us = ($nb_eleves>1)      ? 's' : '';
	$profs_nombre = count($tab_profs) ? count($tab_profs).' profs' : 'moi seul' ;
	$image_sujet   = ($doc_sujet)   ? '<a href="'.$dossier_devoir.$doc_sujet.'" target="_blank"><img alt="sujet" src="./_img/document/sujet_oui.png" title="Sujet disponible." /></a>' : '<img alt="sujet" src="./_img/document/sujet_non.png" />' ;
	$maxi_stamp         = strtotime("+3 month");
	$maxi_visible_stamp = strtotime("+10 month");
	if( ($date_stamp<$mini_stamp) || ($date_visible_stamp<$mini_stamp) || ($date_stamp>$maxi_stamp) || ($date_visible_stamp>$maxi_visible_stamp) )
	{
		exit('Erreur : date trop éloignée !');
	}
	// Tester les profs, mais plus leur appartenance au groupe (pour qu'un prof puisse accéder à l'éval même s'il n'a pas le groupe, même si on duplique une évaluation pour un autre groupe...)
	if(count($tab_profs))
	{
		if(!in_array($_SESSION['USER_ID'],$tab_profs))
		{
			exit('Erreur : absent de la liste des professeurs !');
		}
	}
	// Insérer l'enregistrement de l'évaluation
	$devoir_id2 = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir($_SESSION['USER_ID'],$groupe_id,$date_mysql,$info,$date_visible_mysql,$tab_profs);
	// Insérer les enregistrements des items de l'évaluation
	DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id2,$tab_items,'dupliquer',$devoir_id);
	// Afficher le retour
	$date_visible = ($date==$date_visible) ? 'identique' : $date_visible;
	$ref = $devoir_id2.'_'.strtoupper($groupe_type{0}).$groupe_id;
	$s = ($nb_items>1) ? 's' : '';
	$profs_nombre = count($tab_profs) ? count($tab_profs).' profs' : 'moi seul' ;
	echo'<td><i>'.html($date_mysql).'</i>'.html($date).'</td>';
	echo'<td>'.html($date_visible).'</td>';
	echo'<td>{{GROUPE_NOM}}</td>';
	echo'<td>'.html($info).'</td>';
	echo'<td>'.$nb_items.' item'.$s.'</td>';
	echo'<td>'.$profs_nombre.'</td>';
	echo'<td class="nu" id="devoir_'.$ref.'">';
	echo	'<q class="modifier" title="Modifier cette évaluation (date, description, ...)."></q>';
   //  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' /*groupe_type*/ , '' /*groupe_nom*/ , 0 /*niveau_id*/ );
   // Insèrer l'enregistrement de l'évaluation
   $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir( $_SESSION['USER_ID'] , $groupe_id , TODAY_MYSQL , $description , TODAY_MYSQL /*date_visible_mysql*/ ,NULL /*date_autoeval_mysql*/ , '' /*doc_sujet*/ , '' /*doc_corrige*/ , 'alpha' /*eleves_ordre*/ );
 }
 // Maintenant on recupère le contenu de la base déjà enregistré pour le comparer avec la saisie envoyée.
 $presence_item   = FALSE;
 $presence_eleve  = FALSE;
 $presence_saisie = FALSE;
 $DB_TAB = ($presence_devoir) ? DB_STRUCTURE_PROFESSEUR::DB_lister_devoir_saisies( $devoir_id , TRUE /*with_REQ*/ ) : array() ;
 foreach($DB_TAB as $DB_ROW)
 {
   if($DB_ROW['item_id']==$item_id)
   {
     $presence_item = TRUE ;
   }
   if($DB_ROW['eleve_id']==$eleve_id)
   {
     $presence_eleve = TRUE ;