public ActionResult DocEditor()
        {
            // On récupère dans la BDD, la liste de tous les Subjects
            List<Subject> listOfSubject = subjectRepository.GetAll().ToList<Subject>();
            // On récupère dans la BDD, la liste de tous les Levels
            List<Level> listOfLevel = levelRepository.GetAll().ToList<Level>();

            // On crée une liste des ThemeDisplayer, qui contiendra la liste des ThemeDisplayer
            // retournée
            List<ThemeDisplayer> listOfThemeDisplayer = new List<ThemeDisplayer>();

            // On crée une liste des NiveauDisplayer, qui contiendra la liste des NiveauDisplayer
            // retournée
            List<NiveauDisplayer> listOfNiveauDisplayer = new List<NiveauDisplayer>();

            // Remplissage de la liste des ThemeDisplayer
            foreach (Subject tempSubject in listOfSubject)
            {
                ThemeDisplayer tempThemeDisplayer = new ThemeDisplayer();
                tempThemeDisplayer.themeID = tempSubject.ID;
                tempThemeDisplayer.nom = tempSubject.Name;
                tempThemeDisplayer.iconUrl = tempSubject.IconPath;
                tempThemeDisplayer.nombreDeCours = coursRepository.GetCoursBySubjectID(tempSubject.ID).ToList<Cours>().Count();
                listOfThemeDisplayer.Add(tempThemeDisplayer);
            }
            ViewBag.listThemes = listOfThemeDisplayer;

            foreach (Level tempLevel in listOfLevel)
            {
                NiveauDisplayer tempNiveauDisplayer = new NiveauDisplayer();
                tempNiveauDisplayer.niveauID = tempLevel.ID;
                tempNiveauDisplayer.niveauName = tempLevel.Name;
                listOfNiveauDisplayer.Add(tempNiveauDisplayer);
            }

            ViewBag.listNiveaux = listOfNiveauDisplayer;
            ViewBag.icoSrc = "#";//URL de l'icone du theme
            return View();
        }
        /*
         * Affichage de la liste des cours pour un ID_SUBJECT donné
         */
        public ActionResult List(int themeID)
        {
            List<Cours> listOfCours = coursRepository.GetCoursBySubjectID(themeID).ToList();
            // Je récupère les valeurs du Theme ici, pour ne pas le faire à chaque passe de Cours vers
            // CoursEspacePersoDisplayer
            Subject tempSubject = subjectRepository.GetById(themeID);

            ViewBag.iconThemeGeneral = tempSubject.IconPath;

            string subjectIconUrl = tempSubject.IconPath;
            string subjectName = tempSubject.Name;
            //List<Cours> listOfSubject = new List<Cours>();

            List<CoursEspacePersoDisplayer> listOfCoursDisplayer = new List<CoursEspacePersoDisplayer>();

            // Remplissage des objets CoursEspacePersoDisplayer
            foreach (Cours tempCours in listOfCours)
            {
                CoursEspacePersoDisplayer tempCoursDisplayer = new CoursEspacePersoDisplayer();
                tempCoursDisplayer.id = tempCours.ID;
                tempCoursDisplayer.urlIcon = subjectIconUrl;
                tempCoursDisplayer.theme = subjectName;
                tempCoursDisplayer.niveau = levelRepository.GetLevelName(tempCours.idLevel);
                tempCoursDisplayer.droits = tempCours.visibility.ToString();
                tempCoursDisplayer.votesPour = tempCours.vote_positif;
                tempCoursDisplayer.votesContre = tempCours.vote_negatif;
                tempCoursDisplayer.nom = tempCours.titleCours;
                listOfCoursDisplayer.Add(tempCoursDisplayer);
            }
            ViewBag.listCoursByTheme = listOfCoursDisplayer;
            ViewBag.themeid = themeID;
            ViewBag.Theme = subjectRepository.GetById(themeID).Name;
            // On récupère dans la BDD, la liste de tous les Levels
            List<Level> listOfLevel = levelRepository.GetAll().ToList<Level>();

            // On crée une liste des NiveauDisplayer, qui contiendra la liste des NiveauDisplayer
            // retournée
            List<NiveauDisplayer> listOfNiveauDisplayer = new List<NiveauDisplayer>();

            foreach (Level tempLevel in listOfLevel)
            {
                NiveauDisplayer tempNiveauDisplayer = new NiveauDisplayer();
                tempNiveauDisplayer.niveauID = tempLevel.ID;
                tempNiveauDisplayer.niveauName = tempLevel.Name;
                listOfNiveauDisplayer.Add(tempNiveauDisplayer);
            }

            ViewBag.listNiveaux = listOfNiveauDisplayer;

            return View();
        }
        public ActionResult DocChange(int doc)
        {
            if(Session["userID"]!=null)
            {
            // On récupère dans la BDD, la liste de tous les Subjects
            List<Subject> listOfSubject = subjectRepository.GetAll().ToList<Subject>();
            // On récupère dans la BDD, la liste de tous les Levels
            List<Level> listOfLevel = levelRepository.GetAll().ToList<Level>();

            // On crée une liste des ThemeDisplayer, qui contiendra la liste des ThemeDisplayer
            // retournée
            List<ThemeDisplayer> listOfThemeDisplayer = new List<ThemeDisplayer>();

            // On crée une liste des NiveauDisplayer, qui contiendra la liste des NiveauDisplayer
            // retournée
            List<NiveauDisplayer> listOfNiveauDisplayer = new List<NiveauDisplayer>();

            // Remplissage de la liste des ThemeDisplayer
            foreach (Subject tempSubject in listOfSubject)
            {
                ThemeDisplayer tempThemeDisplayer = new ThemeDisplayer();
                tempThemeDisplayer.themeID = tempSubject.ID;
                tempThemeDisplayer.nom = tempSubject.Name;
                tempThemeDisplayer.iconUrl = tempSubject.IconPath;
                tempThemeDisplayer.nombreDeCours = coursRepository.GetCoursBySubjectID(tempSubject.ID).ToList<Cours>().Count();
                listOfThemeDisplayer.Add(tempThemeDisplayer);
            }
            ViewBag.listThemes = listOfThemeDisplayer;

            foreach (Level tempLevel in listOfLevel)
            {
                NiveauDisplayer tempNiveauDisplayer = new NiveauDisplayer();
                tempNiveauDisplayer.niveauID = tempLevel.ID;
                tempNiveauDisplayer.niveauName = tempLevel.Name;
                listOfNiveauDisplayer.Add(tempNiveauDisplayer);
            }

            ViewBag.listNiveaux = listOfNiveauDisplayer;
            ViewBag.icoSrc = "#";//URL de l'icone du theme
            // Récupération du Cours sur la BDD
            Cours tempCours = coursRepository.GetById(doc);

            // Remplissage du CoursDisplayer
            CoursDisplayer tempCoursDisplayer = new CoursDisplayer();
            tempCoursDisplayer.coursID = tempCours.ID;
            tempCoursDisplayer.themeID = tempCours.idSubject;
            tempCoursDisplayer.niveauID = tempCours.idLevel;
            tempCoursDisplayer.niveauName = levelRepository.GetLevelName(tempCours.idLevel);
            tempCoursDisplayer.titre = tempCours.titleCours;
            tempCoursDisplayer.contenu = tempCours.coreCours;
            tempCoursDisplayer.nbVotesPour = tempCours.vote_positif;
            tempCoursDisplayer.nbVotesContre = tempCours.vote_negatif;
            tempCoursDisplayer.dateDerniereModif = tempCours.ModificationDate;

            ViewBag.displayedCours = tempCoursDisplayer;
                if (tempCours.Idcreator == (int)Session["userID"])
                {
                    ViewBag.documentID = doc;
                    return View();
                }
                else
                {
                    return HttpNotFound();
                }

            }
            else
            {
                return HttpNotFound();
            }
        }