Ejemplo n.º 1
0
        public void CreerProjet()
        {   //initialisation du booleen qui vérifie que ce que rentre l'utilisateur convient
            bool erreurSurvenue = false;

            //On récupère le type du projet
            Console.WriteLine("Quel est le type du projet ?");
            string     stringTypeProjet = Program.EnleverLesEspaces(Console.ReadLine());
            TypeProjet typeProjet       = (TypeProjet)Convert.ChangeType(Repertoire["typeProjet", stringTypeProjet], typeof(TypeProjet));

            //On récupère le nom du projet
            Console.WriteLine("Quel est le nom du projet ?");
            string nom = Program.EnleverLesEspaces(Console.ReadLine());

            //On récupère le sujet du projet
            string sujet = "";

            if (typeProjet.Sujet == null)
            {
                Console.WriteLine("Quel est le sujet du projet ?");
                sujet = Program.EnleverLesEspaces(Console.ReadLine());
            }
            else
            {
                sujet = typeProjet.Sujet;
            }

            //On récupère l'information de à quel point le sujet est imposé
            string sujetLibre = null;

            if (typeProjet.SujetLibre == null)
            {
                Console.WriteLine("Le sujet du projet est-il imposé (écrivez \"impose\") ? libre parmi une liste de sujets imposée (écrivez \"liste\") ? ou libre (écrivez \"libre\") ?");
                sujetLibre = Program.EnleverLesEspaces(Console.ReadLine());
            }
            else
            {
                sujetLibre = typeProjet.SujetLibre;
            }

            erreurSurvenue = false;

            List <int> anneesEtudes   = new List <int> {
            };
            string stringAnneesEtudes = "";

            //On récupère les annees d'etude du projet
            if (typeProjet.AnneesEtudes == null)
            {
                while (erreurSurvenue == true)
                {
                    Console.WriteLine("Le projet a-t-il été réalisé par des étudiants en première année (écrivez \"1\"), 2ème année (écrivez \"2\"), ou 3ème année (écrivez \"3\") ? " +
                                      "Séparez par une virgule (ajout d'un espace optionnel) les nombres si des étudiants d'années différentes sont concernés)");
                    stringAnneesEtudes = Program.EnleverLesEspaces(Console.ReadLine());
                    List <string> listStringAnneesEtudes = Program.SeparerChaineDeCaracteres(stringAnneesEtudes);
                    foreach (string stringAnneeEtude in listStringAnneesEtudes)
                    {
                        if (stringAnneeEtude == "1" || stringAnneeEtude == "2" || stringAnneeEtude == "3")
                        {
                            anneesEtudes.Add(int.Parse(stringAnneeEtude));
                        }
                        else
                        {
                            erreurSurvenue = true;
                            Console.WriteLine("Vous avez mal rentré une ou plusieurs des années d'étude");
                        }
                    }
                }
            }

            else
            {
                anneesEtudes = typeProjet.AnneesEtudes;
                bool premierMotPasse = false;
                foreach (int anneeEtude in anneesEtudes)
                {
                    if (premierMotPasse)
                    {
                        stringAnneesEtudes += ", " + anneeEtude.ToString();
                    }
                    else
                    {
                        stringAnneesEtudes += anneeEtude.ToString();
                        premierMotPasse     = true;
                    }
                }
            }

            erreurSurvenue = false;

            //On récupère les matieres du projet
            List <Matiere> matieres = new List <Matiere> {
            };
            string stringMatieres   = "";

            if (typeProjet.Matieres == null)
            {
                Console.WriteLine("Quelles sont la/les matière(s) du projet ? (Rentrez soit le nom de la matière comme orthographiée sur moodle, soit son code)");
                stringMatieres = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringMatieres = Program.SeparerChaineDeCaracteres(stringMatieres);
                foreach (string stringMatiere in listStringMatieres)
                {
                    matieres.Add((Matiere)Convert.ChangeType(Repertoire["matiere", stringMatiere], typeof(Matiere)));
                }
            }
            else
            {
                matieres = typeProjet.Matieres;
                bool premierMotPasse = false;
                foreach (Matiere matiere in matieres)
                {
                    string stringMatiere = matiere.Code;
                    if (premierMotPasse)
                    {
                        stringMatieres += ", " + stringMatiere;
                    }
                    else
                    {
                        stringMatieres += stringMatiere;
                        premierMotPasse = true;
                    }
                }
            }

            //On récupère les promos du projet

            /*List<int> promos = new List<int> { };
             * Console.WriteLine("Quelles sont la/les promo(s) des étudiants qui ont réalisé ce projet ? (Ex : 2020, 2021))");
             * List<string> stringPromos = Program.SeparerChaineDeCaracteres(Console.ReadLine());
             * foreach (string stringPromo in stringPromos)
             * {
             *  promos.Add(int.Parse(stringPromo));
             * }*/

            //On récupère l'année de scolarité du projet
            Console.WriteLine("Pendant quelle année scolaire a été réalisé ce projet ? (Ecrivez par exemple : 2019-2020)");
            string        stringAnneeScolaire = Console.ReadLine();
            AnneeScolaire anneeScolaire       = (AnneeScolaire)Convert.ChangeType(Repertoire["anneeScolaire", stringAnneeScolaire], typeof(AnneeScolaire));


            //On récupère le nombre d'étudiants qui ont travaillé sur ce projet

            /* int nbPersonnesImpliquees = 0;
             * if (typeProjet.NbPersonnesImpliquees == 0)
             * {
             *   Console.WriteLine("Combien d'étudiants ont travaillé sur ce projet ?");
             *   nbPersonnesImpliquees = int.Parse(Console.ReadLine());
             * }
             * else
             * {
             *   nbPersonnesImpliquees = typeProjet.NbPersonnesImpliquees;
             * }*/

            //On récupère le nom des étudiants qui ont travaillé sur ce projet
            List <Eleve> etudiants = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des étudiants qui ont travaillé sur ce projet ? (écrivez le prénom puis le nom ou le code formé" +
                              "de la première lettre du prénom et du nom de famille");
            string        stringEtudiants     = Program.EnleverLesEspaces(Console.ReadLine());
            List <string> listStringEtudiants = Program.SeparerChaineDeCaracteres(stringEtudiants);

            foreach (string etudiant in listStringEtudiants)
            {
                etudiants.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiant], typeof(Eleve)));
            }

            //On récupère le nom du chef de projet s'il y en a un
            Eleve chefDeProjet = null;

            Console.WriteLine("Quel est le nom du chef de projet ? (s'il y en a un)");
            string stringChefDeProjet       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringChefDeProjetRempli = Program.VerifierChampRempli(stringChefDeProjet);

            if (stringChefDeProjetRempli)
            {
                chefDeProjet = (Eleve)Convert.ChangeType(Repertoire["eleve", stringChefDeProjet], typeof(Eleve));
            }


            //On récupère les développeurs du projet s'il y en a
            List <Eleve> developpeurs = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des développeurs du projet ? (s'il y en a)");
            string stringDeveloppeurs       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringDeveloppeursRempli = Program.VerifierChampRempli(stringDeveloppeurs);

            if (stringDeveloppeursRempli)
            {
                List <string> listStringDeveloppeurs = Program.SeparerChaineDeCaracteres(stringDeveloppeurs);
                foreach (string stringDeveloppeur in listStringDeveloppeurs)
                {
                    developpeurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringDeveloppeur], typeof(Eleve)));
                }
            }


            //On récupère les maquetteurs du projet s'il y en a
            List <Eleve> maquetteurs = new List <Eleve> {
            };

            Console.WriteLine("Qui sont les noms des maquetteurs du projet ? (s'il y en a)");
            string stringMaquetteurs       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringMaquetteursRempli = Program.VerifierChampRempli(stringMaquetteurs);

            if (stringMaquetteursRempli)
            {
                List <string> listStringMaquetteurs = Program.SeparerChaineDeCaracteres(stringMaquetteurs);
                foreach (string stringMaquetteur in listStringMaquetteurs)
                {
                    maquetteurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringMaquetteur], typeof(Eleve)));
                }
            }


            //On récupère le pole facteur humain du projet s'il y en a
            List <Eleve> poleFacteurHumain = new List <Eleve> {
            };

            Console.WriteLine("Quels sont les noms des étudiants qui ont travaillé dans le pôle Facteur Humain du projet ? (s'il y en a)");
            string stringPoleFacteurHumain       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringPoleFacteurHumainRempli = Program.VerifierChampRempli(stringPoleFacteurHumain);

            if (stringPoleFacteurHumainRempli)
            {
                List <string> listStringPoleFacteurHumain = Program.SeparerChaineDeCaracteres(stringPoleFacteurHumain);
                foreach (string etudiantPoleFacteurHumain in listStringPoleFacteurHumain)
                {
                    poleFacteurHumain.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiantPoleFacteurHumain], typeof(Eleve)));
                }
            }

            //On récupère le nom du client
            Personne client = null;

            Console.WriteLine("Quel est le nom du client du projet ? (s'il y en a un)");
            string stringClient       = Program.EnleverLesEspaces(Console.ReadLine());
            bool   stringClientRempli = Program.VerifierChampRempli(stringClient);

            if (stringClientRempli)
            {
                client = (AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", stringClient], typeof(AutreIntervenant));
                if (client == null)
                {
                    client = (Eleve)Convert.ChangeType(Repertoire["eleve", stringClient], typeof(Eleve));
                }
            }

            //On récupère le nom des tuteurs
            List <AutreIntervenant> tuteurs = new List <AutreIntervenant> {
            };
            string stringTuteurs            = "";

            if (typeProjet.Tuteurs == null)
            {
                Console.WriteLine("Quels sont les noms des tuteurs ? (dans le cas d'un projet intramatière, les tuteurs pourront être les professeurs encadrant le projet)");
                stringTuteurs = Program.EnleverLesEspaces(Console.ReadLine());
                bool stringTuteursRempli = Program.VerifierChampRempli(stringTuteurs);
                if (stringTuteursRempli)
                {
                    List <string> listStringTuteurs = Program.SeparerChaineDeCaracteres(stringTuteurs);
                    foreach (string tuteur in listStringTuteurs)
                    {
                        tuteurs.Add((AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", tuteur], typeof(AutreIntervenant)));
                    }
                }
            }
            else
            {
                tuteurs = typeProjet.Tuteurs;
                bool premierMotPasse = false;
                foreach (AutreIntervenant tuteur in tuteurs)
                {
                    string stringTuteur = tuteur.Identifiant;
                    if (premierMotPasse)
                    {
                        stringTuteurs += ", " + stringTuteur;
                    }
                    else
                    {
                        stringTuteurs  += stringTuteur;
                        premierMotPasse = true;
                    }
                }
            }

            //On récupère les livrables
            List <Livrable> livrables = new List <Livrable> {
            };
            string stringLivrables    = "";

            if (typeProjet.Livrables == null)
            {
                Console.WriteLine("Quels sont les livrables attendus pour le projet ?");
                stringLivrables = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringLivrables = Program.SeparerChaineDeCaracteres(stringLivrables);
                foreach (string livrable in listStringLivrables)
                {
                    livrables.Add((Livrable)Convert.ChangeType(Repertoire["livrable", livrable], typeof(Livrable)));
                }
            }
            else
            {
                livrables = typeProjet.Livrables;
                bool premierMotPasse = false;
                foreach (Livrable livrable in livrables)
                {
                    string stringLivrable = livrable.Nom;
                    if (premierMotPasse)
                    {
                        stringLivrables += ", " + stringLivrable;
                    }
                    else
                    {
                        stringLivrables += stringLivrable;
                        premierMotPasse  = true;
                    }
                }
            }

            //On récupère la date de début du projet
            DateTime dateDebut       = new DateTime(2000, 1, 1);
            string   stringDateDebut = "";

            if (typeProjet.DateDebut.Year < 2001)
            {
                Console.WriteLine("Quelle est la date de début du projet ? (écrivez sous la forme \"jour,mois,année\" en chiffres (4 chiffres pour l'année). Exemple pour le 3 février 2019 : \"3,2,2019\"");
                stringDateDebut = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringDateDebut = Program.SeparerChaineDeCaracteres(stringDateDebut);
                int           moisDebut           = int.Parse(listStringDateDebut[1]);
                int           jourDebut           = int.Parse(listStringDateDebut[0]);
                int           anneeDebut          = int.Parse(listStringDateDebut[2]);
                dateDebut = new DateTime(anneeDebut, moisDebut, jourDebut);
            }
            else
            {
                dateDebut = typeProjet.DateDebut;
                string jourDebut  = dateDebut.Day.ToString();
                string moisDebut  = dateDebut.Month.ToString();
                string anneeDebut = dateDebut.Year.ToString();
                stringDateDebut = jourDebut + ", " + moisDebut + ", " + anneeDebut;
            }

            //On récupère la date de fin du projet
            DateTime dateFin       = new DateTime(2000, 1, 1);
            string   stringDateFin = "";

            if (typeProjet.DateFin.Year < 2001)
            {
                Console.WriteLine("Quelle est la date de fin du projet ? (écrivez sous la forme \"jour,mois,année\" en chiffres (4 chiffres pour l'année). Exemple pour le 3 février 2019 : \"3,2,2019\"");
                stringDateFin = Program.EnleverLesEspaces(Console.ReadLine());
                List <string> listStringDateFin = Program.SeparerChaineDeCaracteres(stringDateFin);
                int           moisFin           = int.Parse(listStringDateFin[1]);
                int           jourFin           = int.Parse(listStringDateFin[0]);
                int           anneeFin          = int.Parse(listStringDateFin[2]);
                dateFin = new DateTime(anneeFin, moisFin, jourFin);
            }
            else
            {
                dateFin = typeProjet.DateFin;
                string jourFin  = dateFin.Day.ToString();
                string moisFin  = dateFin.Month.ToString();
                string anneeFin = dateFin.Year.ToString();
                stringDateFin = jourFin + ", " + moisFin + ", " + anneeFin;
            }

            //On récupère les mots-clefs
            List <string> motsClefs       = null;
            string        stringMotsClefs = "";

            if (typeProjet.MotsClefs == null)
            {
                Console.WriteLine("Quels sont les mots-clefs liés au projet ?");
                stringMotsClefs = Program.EnleverLesEspaces(Console.ReadLine());
                motsClefs       = Program.SeparerChaineDeCaracteres(stringMotsClefs);
            }
            else
            {   //On récupère dans un string tous les mots-clefs déjà présents pour les présenter à l'utilisateur
                string motsClefsDejaExistants = "";
                bool   premierMotClefPasse    = false;
                foreach (string motClef in typeProjet.MotsClefs)
                {
                    if (premierMotClefPasse)
                    {
                        motsClefsDejaExistants += ", " + motClef;
                    }
                    else
                    {
                        motsClefsDejaExistants += motClef;
                        premierMotClefPasse     = true;
                    }
                }
                Console.WriteLine("Voici les mots-clefs associés au type de projet \"" + typeProjet.Nom + "\" : " + motsClefsDejaExistants + ". Quels sont les mots-clefs que vous voulez rajouter ?");
                stringMotsClefs = Program.EnleverLesEspaces(Console.ReadLine());
                bool stringMotsClefsRempli = Program.VerifierChampRempli(stringMotsClefs);
                if (stringMotsClefsRempli)
                {
                    motsClefs = Program.SeparerChaineDeCaracteres(stringMotsClefs);
                    foreach (string motClef in typeProjet.MotsClefs)
                    {
                        motsClefs.Add(motClef);
                    }
                }
                else
                {
                    motsClefs = typeProjet.MotsClefs;
                    bool premierMotPasse = false;
                    foreach (string motClef in motsClefs)
                    {
                        if (premierMotPasse)
                        {
                            stringMotsClefs += ", " + motClef;
                        }
                        else
                        {
                            stringMotsClefs += motClef;
                            premierMotPasse  = true;
                        }
                    }
                }
            }

            int NbProjetsAvant = Repertoire.RepertoireProjets.Count();

            Repertoire.RepertoireProjets.Add(new Projet(nom, sujet, sujetLibre, typeProjet, anneesEtudes, matieres, anneeScolaire, etudiants, chefDeProjet,
                                                        developpeurs, maquetteurs, poleFacteurHumain, client, tuteurs, livrables, dateDebut, dateFin, motsClefs));
            int NbProjetsAprès = Repertoire.RepertoireProjets.Count();

            if (NbProjetsAprès == NbProjetsAvant + 1)
            {
                Console.Clear();
                Console.WriteLine("Le projet a été ajouté avec succès !");
                Sauvegarde.SauvegarderFichierTxtProjet(nom, sujet, sujetLibre, stringTypeProjet, stringAnneesEtudes, stringMatieres, stringAnneeScolaire,
                                                       stringEtudiants, stringChefDeProjet, stringDeveloppeurs, stringMaquetteurs, stringPoleFacteurHumain, stringClient, stringTuteurs,
                                                       stringLivrables, stringDateDebut, stringDateFin, stringMotsClefs);
            }
        }
Ejemplo n.º 2
0
        public Projet(string nom, string sujet, string sujetLibre, TypeProjet typeProjet, List <int> anneesEtudes, List <Matiere> matieres, AnneeScolaire anneeScolaire,
                      List <Eleve> etudiants, Eleve chefDeProjet, List <Eleve> developpeurs, List <Eleve> maquetteurs, List <Eleve> poleFacteurHumain, Personne client,
                      List <AutreIntervenant> tuteurs, List <Livrable> livrables, DateTime dateDebut, DateTime dateFin, List <string> motsClefs)
        {
            Nom          = nom;
            Sujet        = sujet;
            SujetLibre   = sujetLibre;
            TypeProjet   = typeProjet;
            AnneesEtudes = anneesEtudes;
            Matieres     = matieres;
            List <int> promos = new List <int> {
            };

            foreach (int anneeEtude in anneesEtudes)
            {
                promos.Add(anneeScolaire.AnneeFin + anneeEtude);
            }
            Promos        = promos;
            AnneeScolaire = anneeScolaire;
            int cpt = 0;

            foreach (Eleve etudiant in etudiants)
            {
                cpt++;
            }
            foreach (AutreIntervenant tuteur in tuteurs)
            {
                cpt++;
            }
            if (client != null)
            {
                cpt++;
            }
            NbPersonnesImpliquees = cpt;
            Etudiants             = etudiants;
            ChefDeProjet          = chefDeProjet;
            Developpeurs          = developpeurs;
            Maquetteurs           = maquetteurs;
            PoleFacteurHumain     = poleFacteurHumain;
            Client    = client;
            Tuteurs   = tuteurs;
            Livrables = livrables;
            DateDebut = dateDebut;
            DateFin   = dateFin;
            MotsClefs = motsClefs;
        }
Ejemplo n.º 3
0
        public void RecupFichierTxtProjets()
        {
            // Création d'une instance de StreamReader pour permettre la lecture de notre fichier source
            System.Text.Encoding encoding        = System.Text.Encoding.GetEncoding("iso-8859-1");
            StreamReader         monStreamReader = new StreamReader("Projets.txt", encoding);

            int    nbMots = 0;
            string mot = "";
            int    ratio = 18;
            string nom = "";
            string sujet = "";
            string sujetLibre = "";
            string stringTypeProjet = ""; TypeProjet typeProjet = new TypeProjet();
            string stringAnneesEtudes = ""; List <string> listStringAnneesEtudes; List <int> anneesEtudes = new List <int> {
            };
            string stringMatieres = ""; List <string> listStringMatieres; List <Matiere> matieres = new List <Matiere> {
            };
            string stringAnneeScolaire = ""; AnneeScolaire anneeScolaire = new AnneeScolaire();
            string stringEtudiants = ""; List <string> listStringEtudiants; List <Eleve> etudiants = new List <Eleve> {
            };
            string stringChefDeProjet = ""; bool stringChefDeProjetRempli; Eleve chefDeProjet = new Eleve();
            string stringDeveloppeurs = ""; bool stringDeveloppeursRempli; List <string> listStringDeveloppeurs; List <Eleve> developpeurs = new List <Eleve> {
            };
            string stringMaquetteurs = ""; bool stringMaquetteursRempli; List <string> listStringMaquetteurs; List <Eleve> maquetteurs = new List <Eleve> {
            };
            string stringPoleFacteurHumain = ""; bool stringPoleFacteurHumainRempli; List <string> listStringPoleFacteurHumain; List <Eleve> poleFacteurHumain = new List <Eleve> {
            };
            string stringClient = ""; bool stringClientRempli; Personne client = new Personne();
            string stringTuteurs = ""; bool stringTuteursRempli; List <string> listStringTuteurs; List <AutreIntervenant> tuteurs = new List <AutreIntervenant> {
            };
            string stringLivrables = ""; List <string> listStringLivrables; List <Livrable> livrables = new List <Livrable> {
            };
            string stringDateDebut = ""; List <string> listStringDateDebut; DateTime dateDebut = new DateTime();
            string stringDateFin = ""; List <string> listStringDateFin; DateTime dateFin = new DateTime();
            string stringMotsClefs = ""; List <string> motsClefs;

            // Lecture de tous les mots du fichier (un par lignes)
            while (mot != null)
            {
                nbMots++;
                mot = monStreamReader.ReadLine();

                if (nbMots % ratio == 1)              // Récupération du nom
                {
                    nom = mot;
                }

                if (nbMots % ratio == 2)              // Récupération du sujet
                {
                    sujet = mot;
                }

                if (nbMots % ratio == 3)             // Récupération de la liberté du sujet
                {
                    sujetLibre = mot;
                }


                if (nbMots % ratio == 4)            // Récupération du type de projet
                {
                    stringTypeProjet = mot;
                    typeProjet       = (TypeProjet)Convert.ChangeType(Repertoire["typeProjet", stringTypeProjet], typeof(TypeProjet));
                }

                if (nbMots % ratio == 5)              // Récupération des années d'étude
                {
                    stringAnneesEtudes     = mot;
                    listStringAnneesEtudes = Program.SeparerChaineDeCaracteres(stringAnneesEtudes);
                    anneesEtudes           = new List <int> {
                    };
                    foreach (string stringAnneeEtude in listStringAnneesEtudes)
                    {
                        anneesEtudes.Add(int.Parse(stringAnneeEtude));
                    }
                }

                if (nbMots % ratio == 6)              // Récupération des matières
                {
                    stringMatieres     = mot;
                    matieres           = new List <Matiere> {
                    };
                    listStringMatieres = Program.SeparerChaineDeCaracteres(stringMatieres);
                    foreach (string stringMatiere in listStringMatieres)
                    {
                        matieres.Add((Matiere)Convert.ChangeType(Repertoire["matiere", stringMatiere], typeof(Matiere)));
                    }
                }
                if (nbMots % ratio == 7)              // Récupération de l'année scolaire
                {
                    stringAnneeScolaire = mot;
                    anneeScolaire       = (AnneeScolaire)Convert.ChangeType(Repertoire["anneeScolaire", stringAnneeScolaire], typeof(AnneeScolaire));
                }

                if (nbMots % ratio == 8)              // Récupération des étudiants
                {
                    stringEtudiants     = mot;
                    etudiants           = new List <Eleve>();
                    listStringEtudiants = Program.SeparerChaineDeCaracteres(stringEtudiants);
                    foreach (string etudiant in listStringEtudiants)
                    {
                        etudiants.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiant], typeof(Eleve)));
                    }
                }

                if (nbMots % ratio == 9)              // Récupération du chef de projet
                {
                    stringChefDeProjet       = mot;
                    stringChefDeProjetRempli = Program.VerifierChampRempli(stringChefDeProjet);
                    if (stringChefDeProjetRempli)
                    {
                        chefDeProjet = (Eleve)Convert.ChangeType(Repertoire["eleve", stringChefDeProjet], typeof(Eleve));
                    }
                }
                if (nbMots % ratio == 10)              // Récupération des développeurs
                {
                    stringDeveloppeurs       = mot;
                    developpeurs             = new List <Eleve>();
                    stringDeveloppeursRempli = Program.VerifierChampRempli(stringDeveloppeurs);
                    if (stringDeveloppeursRempli)
                    {
                        listStringDeveloppeurs = Program.SeparerChaineDeCaracteres(stringDeveloppeurs);
                        foreach (string stringDeveloppeur in listStringDeveloppeurs)
                        {
                            developpeurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringDeveloppeur], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 11)              // Récupération des maquetteurs
                {
                    stringMaquetteurs       = mot;
                    maquetteurs             = new List <Eleve>();
                    stringMaquetteursRempli = Program.VerifierChampRempli(stringMaquetteurs);
                    if (stringMaquetteursRempli)
                    {
                        listStringMaquetteurs = Program.SeparerChaineDeCaracteres(stringMaquetteurs);
                        foreach (string stringMaquetteur in listStringMaquetteurs)
                        {
                            maquetteurs.Add((Eleve)Convert.ChangeType(Repertoire["eleve", stringMaquetteur], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 12)              // Récupération du pôle facteur humain
                {
                    stringPoleFacteurHumain       = mot;
                    poleFacteurHumain             = new List <Eleve>();
                    stringPoleFacteurHumainRempli = Program.VerifierChampRempli(stringPoleFacteurHumain);
                    if (stringPoleFacteurHumainRempli)
                    {
                        listStringPoleFacteurHumain = Program.SeparerChaineDeCaracteres(stringPoleFacteurHumain);
                        foreach (string etudiantPoleFacteurHumain in listStringPoleFacteurHumain)
                        {
                            poleFacteurHumain.Add((Eleve)Convert.ChangeType(Repertoire["eleve", etudiantPoleFacteurHumain], typeof(Eleve)));
                        }
                    }
                }
                if (nbMots % ratio == 13)              // Récupération du client
                {
                    stringClient       = mot;
                    stringClientRempli = Program.VerifierChampRempli(stringClient);
                    if (stringClientRempli)
                    {
                        client = (AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", stringClient], typeof(AutreIntervenant));
                        if (client == null)
                        {
                            client = (Eleve)Convert.ChangeType(Repertoire["eleve", stringClient], typeof(Eleve));
                        }
                    }
                }
                if (nbMots % ratio == 14)              // Récupération des tuteurs
                {
                    stringTuteurs       = mot;
                    tuteurs             = new List <AutreIntervenant>();
                    stringTuteursRempli = Program.VerifierChampRempli(stringTuteurs);
                    if (stringTuteursRempli)
                    {
                        listStringTuteurs = Program.SeparerChaineDeCaracteres(stringTuteurs);
                        foreach (string tuteur in listStringTuteurs)
                        {
                            tuteurs.Add((AutreIntervenant)Convert.ChangeType(Repertoire["autreIntervenant", tuteur], typeof(AutreIntervenant)));
                        }
                    }
                }
                if (nbMots % ratio == 15)              // Récupération des livrables
                {
                    stringLivrables     = mot;
                    livrables           = new List <Livrable>();
                    listStringLivrables = Program.SeparerChaineDeCaracteres(stringLivrables);
                    foreach (string livrable in listStringLivrables)
                    {
                        livrables.Add((Livrable)Convert.ChangeType(Repertoire["livrable", livrable], typeof(Livrable)));
                    }
                }
                if (nbMots % ratio == 16)              // Récupération de la date de début
                {
                    stringDateDebut     = mot;
                    listStringDateDebut = Program.SeparerChaineDeCaracteres(stringDateDebut);
                    int moisDebut  = int.Parse(listStringDateDebut[1]);
                    int jourDebut  = int.Parse(listStringDateDebut[2]);
                    int anneeDebut = int.Parse(listStringDateDebut[0]);
                    dateDebut = new DateTime(moisDebut, jourDebut, anneeDebut);
                }
                if (nbMots % ratio == 17)              // Récupération de la date de fin
                {
                    stringDateFin     = mot;
                    listStringDateFin = Program.SeparerChaineDeCaracteres(stringDateFin);
                    int moisFin  = int.Parse(listStringDateFin[1]);
                    int jourFin  = int.Parse(listStringDateFin[2]);
                    int anneeFin = int.Parse(listStringDateFin[0]);
                    dateFin = new DateTime(moisFin, jourFin, anneeFin);
                }
                if (nbMots % ratio == 0)              // Récupération des mots-clefs
                {
                    stringMotsClefs = mot;
                    motsClefs       = Program.SeparerChaineDeCaracteres(stringMotsClefs);

                    Repertoire.RepertoireProjets.Add(new Projet(nom, sujet, sujetLibre, typeProjet, anneesEtudes, matieres, anneeScolaire, etudiants, chefDeProjet,
                                                                developpeurs, maquetteurs, poleFacteurHumain, client, tuteurs, livrables, dateDebut, dateFin, motsClefs));
                }
            }
            // Fermeture du StreamReader (attention très important)
            monStreamReader.Close();
        }