/**
  * Sauvegarde les données présentement à l'écran 
  * 
  * @param unknown $input
  * @param unknown $etudiant_id
  * @param unknown $classe_id
  * @param unknown $tp_id
  * @param unknown $pageCourante
  * @return boolean|string
  */
 public function doRepondre($reponses, $etudiant_id, $classe_id, $tp_id, $pageCourante)
 {
     $return = true;
     $etudiant = User::findorfail($etudiant_id);
     $classe = Classe::findorfail($classe_id);
     $tp = TP::findorfail($tp_id);
     $lesQuestions = $tp->questions()->orderBy('ordre')->get();
     //batit la pagination des questions
     $i = 1;
     foreach ($lesQuestions as $question) {
         $page[$i][] = $question->id;
         if ($question->pivot->breakafter == 1) {
             $i++;
         }
     }
     //choisi la bonne page de questions
     $questions = $lesQuestions->filter(function ($item) use($page, $pageCourante) {
         return in_array($item->id, $page[$pageCourante]);
     });
     //verifie que c'est les bonnes questions qui nous revienne
     $listeIdReponses = array_keys($reponses);
     foreach ($questions as $question) {
         if (!in_array($question->id, $listeIdReponses)) {
             $return = false;
         }
     }
     if ($return) {
         // on a toutes les réponses, on peut les stocker
         foreach ($questions as $question) {
             $note = Note::where('classe_id', '=', $classe_id)->where('tp_id', '=', $tp_id)->where('etudiant_id', '=', $etudiant_id)->where('question_id', '=', $question->id)->first();
             // cette requete devrait toujour fonctionner
             $note->reponse = $reponses[$question->id];
             $note->save();
         }
     }
     return $return;
 }
 /**
  * Sauvegarde la correction 
  * @param unknown $etudiant_id
  * @param unknown $classe_id
  * @param unknown $tp_id
  * @param unknown $questions_id
  * @param unknown $input
  */
 public function doCorriger($etudiant_id, $classe_id, $tp_id, $question_id, $commentaire, $commentaire_visible, $pointage)
 {
     $etudiant = User::findorfail($etudiant_id);
     $classe = Classe::findorfail($classe_id);
     $tp = TP::findorfail($tp_id);
     $question = Question::findorfail($question_id);
     $reponse = Note::where('classe_id', '=', $classe->id)->where('tp_id', '=', $tp->id)->where('etudiant_id', '=', $etudiant->id)->where('question_id', $question->id)->first();
     $reponse->commentaire = $commentaire;
     $reponse->commentaire_visible = $commentaire_visible;
     $reponse->note = $pointage;
     if ($reponse->save()) {
         return true;
     } else {
         return $reponse->validationMessages;
     }
 }