Gestion d'un projet C# en binôme
Gestion d’un dépôt à plusieurs (DWWM/CDA)
Cet exercice doit être réalisé en équipe de 2.
Préparation du projet
-
Le 1er membre de l’équipe crée un dépôt nommé
tp-git-console-csharpet y ajoute une branchedevelop. -
Le 2nd membre de l’équipe “Fork” le dépôt du 1er membre.
-
Les 2 membres de l’équipe clonent le dépôt en local sur leur machine.
-
Les 2 membres de l’équipe prennent connaissance des tâches à effectuer (dans la partie “Travail à réaliser” de ce document) et créent les tickets nécessaires.
Démarche à adopter
Pour chaque tâche à réaliser :
- Créer un ticket sur github (dans l’onglet “issues” de votre fork)
- Créer une branche et 1 commit lorsque la tâche est terminée.
- Votre code doit obligatoirement être documenté.
En d’autres termes :
- 1 tâche = 1 ticket = 1 branche = 1 commit
Note: Créez tous les tickets AVANT de commencer à coder !
Travail à réaliser
Rappel : faites obligatoirement un COMMIT et un PUSH après chaque tâche enumérée dans ce fichier.
-
Dans le dépôt, créer un répertoire
People. Ouvrir le temrinal dans ce répertoire et y créer une application C# Console en tapant la commandedotnet new console . -
Créer une classe
Personreprésentant une personne. Une personne est caractérisée par un nom et un prénom. -
Dans le fichier Program.cs, demander à l’utilisateur de saisir un nom et un prénom qui seront directement affichés dans la console.
-
Dans le fichier Program.cs, créez une instance de
Persondans une variable nomméemyPersonet y renseigner le nom et prénom saisi par l’utilisateur. Afficher ensuite le prénom suivi du nom de la personne dans la console. (à ce niveau, le nom et prénom s’affichent 2 fois dans le programme). -
Créer une classe
PeopleContainerdont le rôle est de gérer une liste de Personnes. Cette classe permet de trier les personnes soit par nom (PeopleContainer.SortByLastName()), soit par prénom (PersonContainer.SortByFirstName()). Dans les 2 cas, le tri se fait par ordre croissant. La classe doit implémenter l’interface décrite ci-dessous :
interface IPersonContainer
{
List<Person> SortByLastName();
List<Person> SortByFirstName();
}
-
Créez une instance de PersonContainer dans le programme principal et modifiez le code du programme afin que l’instance de Person créée à l’étape 4 soit ajoutée dans PersonContainer.
-
Modifier le programme principal afin que l’utilisateur puisse ajouter autant de personne qu’il le souhaite dans PersonContainer. Pour chaque personne, l’utilisateur saisit le nom et le prénom.
-
Les doublons ne sont pas permis, à l’ajout d’une personne dans PersonContainer, on doit vérifier que le couple “nom + prénom” n’existe pas déjà dans la liste.
-
Modifier le programme principal afin que 3 personnes soient créées au démarrage du programme.
-
Modifier le programme principal afin de proposer à l’utilisateur de sauvegarder la liste au format JSON lorsqu’il a terminé d’ajouter des personnes.
-
Dans le fichier README.md de votre dépôt, rédiger une petite documentation qui indique comment se servir du programme.
-
Lorsque le programme est terminé et fonctionnel, Ajouter une
releasequi sera étiquetéev.1.0.0.