Pour participer à ce cours, récupérez le projet en le forkant : Vous pouvez ensuite le cloner sur votre machine. Dès que vous avez terminé un exercice, veuillez Push immédiatemment afin que nous puissions faire la correction.
Vous aurez aussi besoin d'un environnement Java fonctionnel.
Si votre fork n'est pas à jour par rapport au main (si vous l'avez fork hier soir), vous pouvez le mettre à jour de cette manière : https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork
Nous allons réaliser avec vous 2 exercices, le premier se concentrera sur les bonnes pratiques de programmation en règle générale, tandis que le deuxième vous testera sur la clean architecture.
Afin de vous aider dans la réalisation de cette exercice, nous vous fournissons une librairie. Celle-ci est directement dans le projet, en voici la documentation.
src/datamocklib/TxtHelper.java :
/**
* retrieve data from a txt file
* @param file the name of the file containing the data
* @return a list of strings, one string being a line of the text file.
*/
List<String> getDataFromTxt(String file);
/**
* Insert a line of data at the end of a txt file
* @param data the line of data you want to add in the file
* @param file the file you want to store the data in
* @return 200 if the operation succeed, 400 if it fails
*/
int insertDataInTxt(String data, String file);
Vous disposez d'une liste de personnes sous la forme du fichier persons.txt. Vous devez compléter la fonction PersonParser() dans MainExercice1.java pour convertir les informations en objets Personne.
MainExercice1.java :
// Format du fichier : firstName,lastName,birthDate,gender,cityOfResidence,cityOfBirth
// Pas de header
public static List<Person> parse(List<String> data){}
Person.java :
public class Person {
private String firstName;
private String lastName;
private String birthDate;
private String gender;
private String cityOfResidence;
private String cityOfBirth;
[...]
}
Vous disposez d’une API pour récupérer des données depuis un serveur. Faites 3 points d’entrées d’une application pour :
- Récupérer la liste des personnes habitant Chambéry.
- Récupérer la liste des personnes de plus de 25 ans.
- Récupérer la liste des personnes habitant leur ville de naissance.
- Récupérer la liste des femmes de plus de 25 ans.
Voir les consignes dans le fichier MainExercice2.java.
Pour implémenter ces points d’entrées :
- Pour récuperer les données sur le serveur, on utilise TxtHelper.getDataFromTxt("server.txt")
- Vider la base de données locale grâce à la fonction TxtHelper.clearDataLocal();
- Insérer les données dans la database locale TxtHelper.insertDataInTxt(String data, String file)
- Afficher les données locale grâce à TxtHelper.getDataFromTxt(data, "local.txt");
Ces functions imitent une connexion à une base de données et simulent une persistance des données en local.