From 8a1b7ac805704025f0d7ec13179eb568066043dc Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sat, 31 Dec 2016 19:00:31 +0100 Subject: [PATCH] CR 14/12/16 --- _posts/2016-12-14-compte-rendu-reunion.markdown | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+), 0 deletions(-) create mode 100644 _posts/2016-12-14-compte-rendu-reunion.markdown diff --git a/_posts/2016-12-14-compte-rendu-reunion.markdown b/_posts/2016-12-14-compte-rendu-reunion.markdown new file mode 100644 index 0000000..09bebfb --- /dev/null +++ b/_posts/2016-12-14-compte-rendu-reunion.markdown @@ -0,0 +1,96 @@ +--- +layout: post +title: "Compte-rendu de réunion" +date: 2016-12-14 13:45:00 +0100 +author: "Geoffrey Preud'homme" +tags: ci cr +--- + +# Flashmob de l'associatif + +Le principe aurait été de faire une chorée club +de 30 secondes et une chorée avec tous les autres clubs d'une +minute. Les répétitions sont pendant les examens donc personne +n'est chaud pour faire la chorégraphie, pas même les autres clubs +:) + +# Kilobits + +Le repo est prêt pour bosser. + +On utilise le protocole REST pour accéder et +modifier les ressources depuis les applications clientes et le +serveur. Pour cela, c'est Spring qu'on utilise (à titre informatif, +on utilise plus le faux Spring mais le vrai. Ça a rien changé parce +qu'on l'avait pas utilisé ^^). + +On peut demander à ce qu'une ressource soit +récupérée (GET), ajoutée (POST), modifiée (PUT) ou supprimée +(DELETE), que l'on envoie à un certaine adresse correspondant à la +ressource. + +Exemple de déclaration d'une classe, que +l'on crée pour chaque type de ressource. + +```java +@RestController +@RequestMapping("/user") +public class UserRest { +``` + +Exemple d'une fonction : + +```java +@RequestMapping(value = "/list", method = RequestMethod.GET) +public List getAllUser() { + return dao.getAllUser(); +} +``` + +Par exemple, ici en faisant une +requête GET sur `/user/list` le serveur nous retournera la liste des +utilisateurs. + +Plus d'exemples : +[https://github.com/ClubInfoPolytechLille/kilobits-serv/blob/master/src/main/java/com/tbe/rest/UserREST.java](https://github.com/ClubInfoPolytechLille/kilobits-serv/blob/master/src/main/java/com/tbe/rest/UserREST.java) + +On utilise JDBI pour simplifier la +manière dont on accède aux bases de données. On peut du coup +écrire une requête en deux lignes (à peu près). + +On crée aussi une classe par type de +ressource : + +```java +public interface UserDao { + String strCreateUtilisateurTable = "Create table if not exists Utilisateur (...)" +``` + +Et on déclare ici ce qui est était +appelé dans la fonction REST pour récupérer les utilisateurs : + +```java +@SqlQuery("Select * from utilisateur") +@RegisterMapperFactory(BeanMapperFactory.class) +List getAllUser(); +``` + +Un autre exemple avec modification de données +(donc POST) : + +```java +@SqlUpdate("insert into langue (langue) values (:langue)") +@GetGeneratedKeys +int addLangue(@Bind("langue") String langue); +``` + +Et tout ça, ça se passe ici : +[https://github.com/ClubInfoPolytechLille/kilobits-serv/tree/master/src/main/java/com/tbe/database](https://github.com/ClubInfoPolytechLille/kilobits-serv/tree/master/src/main/java/com/tbe/database) + +Petites explications sur le code +directement, c'est un peu compliqué à écrire directement sur un +compte rendu donc fermez les yeux et imaginez. Ou ouvrez le code +c'est mieux. + +Ré-éxplication de Trello, cf [compte-rendu de la +dernière fois](https://clubinfo.plil.net/cr/2016/12/07/compte-rendu-reunion.html#nouveaux-outils-de-gestion-de-projet). -- libgit2 0.21.2