Commit 8a1b7ac805704025f0d7ec13179eb568066043dc
1 parent
d4b5ecd0
CR 14/12/16
Showing
1 changed file
with
96 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,96 @@ |
1 | +--- | |
2 | +layout: post | |
3 | +title: "Compte-rendu de réunion" | |
4 | +date: 2016-12-14 13:45:00 +0100 | |
5 | +author: "Geoffrey Preud'homme" | |
6 | +tags: ci cr | |
7 | +--- | |
8 | + | |
9 | +# Flashmob de l'associatif | |
10 | + | |
11 | +Le principe aurait été de faire une chorée club | |
12 | +de 30 secondes et une chorée avec tous les autres clubs d'une | |
13 | +minute. Les répétitions sont pendant les examens donc personne | |
14 | +n'est chaud pour faire la chorégraphie, pas même les autres clubs | |
15 | +:) | |
16 | + | |
17 | +# Kilobits | |
18 | + | |
19 | +Le repo est prêt pour bosser. | |
20 | + | |
21 | +On utilise le protocole REST pour accéder et | |
22 | +modifier les ressources depuis les applications clientes et le | |
23 | +serveur. Pour cela, c'est Spring qu'on utilise (à titre informatif, | |
24 | +on utilise plus le faux Spring mais le vrai. Ça a rien changé parce | |
25 | +qu'on l'avait pas utilisé ^^). | |
26 | + | |
27 | +On peut demander à ce qu'une ressource soit | |
28 | +récupérée (GET), ajoutée (POST), modifiée (PUT) ou supprimée | |
29 | +(DELETE), que l'on envoie à un certaine adresse correspondant à la | |
30 | +ressource. | |
31 | + | |
32 | +Exemple de déclaration d'une classe, que | |
33 | +l'on crée pour chaque type de ressource. | |
34 | + | |
35 | +```java | |
36 | +@RestController | |
37 | +@RequestMapping("/user") | |
38 | +public class UserRest { | |
39 | +``` | |
40 | + | |
41 | +Exemple d'une fonction : | |
42 | + | |
43 | +```java | |
44 | +@RequestMapping(value = "/list", method = RequestMethod.GET) | |
45 | +public List<User> getAllUser() { | |
46 | + return dao.getAllUser(); | |
47 | +} | |
48 | +``` | |
49 | + | |
50 | +Par exemple, ici en faisant une | |
51 | +requête GET sur `/user/list` le serveur nous retournera la liste des | |
52 | +utilisateurs. | |
53 | + | |
54 | +Plus d'exemples : | |
55 | +[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) | |
56 | + | |
57 | +On utilise JDBI pour simplifier la | |
58 | +manière dont on accède aux bases de données. On peut du coup | |
59 | +écrire une requête en deux lignes (à peu près). | |
60 | + | |
61 | +On crée aussi une classe par type de | |
62 | +ressource : | |
63 | + | |
64 | +```java | |
65 | +public interface UserDao { | |
66 | + String strCreateUtilisateurTable = "Create table if not exists Utilisateur (...)" | |
67 | +``` | |
68 | + | |
69 | +Et on déclare ici ce qui est était | |
70 | +appelé dans la fonction REST pour récupérer les utilisateurs : | |
71 | + | |
72 | +```java | |
73 | +@SqlQuery("Select * from utilisateur") | |
74 | +@RegisterMapperFactory(BeanMapperFactory.class) | |
75 | +List<User> getAllUser(); | |
76 | +``` | |
77 | + | |
78 | +Un autre exemple avec modification de données | |
79 | +(donc POST) : | |
80 | + | |
81 | +```java | |
82 | +@SqlUpdate("insert into langue (langue) values (:langue)") | |
83 | +@GetGeneratedKeys | |
84 | +int addLangue(@Bind("langue") String langue); | |
85 | +``` | |
86 | + | |
87 | +Et tout ça, ça se passe ici : | |
88 | +[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) | |
89 | + | |
90 | +Petites explications sur le code | |
91 | +directement, c'est un peu compliqué à écrire directement sur un | |
92 | +compte rendu donc fermez les yeux et imaginez. Ou ouvrez le code | |
93 | +c'est mieux. | |
94 | + | |
95 | +Ré-éxplication de Trello, cf [compte-rendu de la | |
96 | +dernière fois](https://clubinfo.plil.net/cr/2016/12/07/compte-rendu-reunion.html#nouveaux-outils-de-gestion-de-projet). | ... | ... |