Commit b6ffb66da83332206caab308fe8dae3061bdd50f
1 parent
2a07b829
Ajout des tutoriels de Benoît
Showing
5 changed files
with
228 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +--- | ||
2 | +layout: default | ||
3 | +--- | ||
4 | + | ||
5 | +<div class="home"> | ||
6 | + | ||
7 | + <h1 class="post-title">Tutoriel : {{ page.title }}</h1> | ||
8 | + <p class="post-meta"> | ||
9 | + {% if page.author %} | ||
10 | + <span itemprop="author" itemscope itemtype="http://schema.org/Person"> | ||
11 | + <span itemprop="name">{{ page.author }}</span> | ||
12 | + </span> | ||
13 | + {% endif %} | ||
14 | + {% if page.author %} | ||
15 | + (<a href="{{ page.license_url }}">{{ page.license }}</a>) | ||
16 | + {% endif %} | ||
17 | + </p> | ||
18 | + | ||
19 | + {{content}} | ||
20 | + | ||
21 | +</div> | ||
22 | + |
@@ -0,0 +1,93 @@ | @@ -0,0 +1,93 @@ | ||
1 | +--- | ||
2 | +title: "Git" | ||
3 | +tags: git | ||
4 | +author: "Benoit 'badetitou' Verhaeghe" | ||
5 | +license: WTFPL | ||
6 | +license_url: http://www.wtfpl.net/ | ||
7 | +--- | ||
8 | + | ||
9 | +# Présentation | ||
10 | + | ||
11 | +Git est un outil de gestion de version | ||
12 | + | ||
13 | +Lors du développement d'une application, il arrive souvent que plusieurs personne travail sur le même projet. Le plus grand des problèmes est donc _Comment vais-je faire travailler tout le monde sans pour autant tout casse ?_ Mais aussi, si quelqu'un casse tout, comment revenir en arrière. Evidemment, le mail n'est pas la solution. _Qui a fait quoi ? Quand ? Tu es à quelle version ? Mince toi aussi tu as modifié le fichier ?_ | ||
14 | + | ||
15 | +C'est pour cela que git existe. Il va nous permettre de développer un projet de manière **propre** | ||
16 | + | ||
17 | +# Mais comment ça fonctionne ? | ||
18 | + | ||
19 | +Vous avez un serveur git (local, ou en ligne). Vous avez un client git (généralement sur votre machine). Vous communiquez depuis votre client vers le serveur. | ||
20 | + | ||
21 | +_Comment ?_ | ||
22 | + | ||
23 | +Lorsque vous créer des fichiers pour votre projet, vous dîtes à votre client de les ajoutés au projet. Ensuite, quand vous modifier un fichier, vous **commentez** vos modifications. Enfin, vous ajoutez les modifications sur le serveur. | ||
24 | + | ||
25 | +_Et la collaboration ?_ | ||
26 | + | ||
27 | +Les personnes que vous avez autorisées peuvent télécharger le projet sur leur ordinateur avec un client git. Faire des modifications. Et envoyer des propositions de correction. | ||
28 | + | ||
29 | +_Mais si on modifie la même chose ?_ | ||
30 | + | ||
31 | +On peut voir git comme un système de calque. Au début, on a un calque. Ensuite chacun copie la calque pour lui-même. On modifie tous notre calque et ensuite on combine l'ensemble des calques pour mettre à jour le premier. Dès qu'une modification est validé (par nous), on combine notre calque et le calque original. Un participant du projet peut copié le calque original à n'importe quelle moment (après ou avant des modifications). Si on veut combiner un calque que nous avons créer avec le calque original (qui a été modifié depuis). Et que des modifications se confronte, on doit créer un calque de correction qui permet de contenter les modifications de tout le monde. | ||
32 | + | ||
33 | +_Euh... Pourquoi git ? Ca fait beaucoup à apprendre_ | ||
34 | + | ||
35 | +C'est vrai que git n'est pas facile à prendre en main. Mais vim non plus, et pourtant il n'y a rien de mieux. Plus sérieusement, apprendre git c'est un investissement au départ mais qui vous servira toute votre vie. Travail en équipe, gestion de version, mise en production par version (docker), résolution de bug,... En plus, les entreprises utilisent git. | ||
36 | + | ||
37 | +# Installation | ||
38 | + | ||
39 | +Installation de Git chez vous | ||
40 | + | ||
41 | +## Linux | ||
42 | + | ||
43 | +`apt install git` | ||
44 | + | ||
45 | +## Windows | ||
46 | + | ||
47 | +[msysgit executable](http://msysgit.github.io) | ||
48 | + | ||
49 | +## Mac | ||
50 | + | ||
51 | +[git osx installer](http://sourceforge.net/projects/git-osx-installer/) | ||
52 | + | ||
53 | +## Polytech Lille | ||
54 | + | ||
55 | +Git peut fonctionner grâce au protocole SSH et HTTPS. SSH ne peut pas être utilisé à Polytech (question de sécurité réseau). C'est pour cela que nous verrons l'utilisations avec HTTPS ici. | ||
56 | + | ||
57 | +L'utilisation de SSH reste similaire. | ||
58 | + | ||
59 | +Afin d'utiliser le proxy HTTPS de Polytech avec GIT vous devez executer la commande suivante dans un terminal. Vous pouvez evidemment simplifier la manipulation en ajoutant la ligne suivante dans votre ~/.bashrc. | ||
60 | + | ||
61 | +```bash | ||
62 | +export http_proxy=proxy.polytech-lille.fr:3128 | ||
63 | +export https_proxy=$http_proxy | ||
64 | +export ftp_proxy=$http_proxy | ||
65 | +export rsync_proxy=$http_proxy | ||
66 | +export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com" | ||
67 | +``` | ||
68 | + | ||
69 | +# Commandes de base | ||
70 | + | ||
71 | +## git init | ||
72 | + | ||
73 | +Permet de créer un repository sur la machine local. Contient l'ensemble du projet. C'est ce que l'on retrouve sur chaque machine possédant le projet. | ||
74 | + | ||
75 | +## git clone [url] | ||
76 | + | ||
77 | +Permet de récuperer un repository distant. | ||
78 | + | ||
79 | +## git pull | ||
80 | + | ||
81 | +Permet de mettre à jour un repository. | ||
82 | + | ||
83 | +## git add [nom de fichier/dossier] | ||
84 | + | ||
85 | +Permet d'ajouter un fichier ou projet au repository. | ||
86 | + | ||
87 | +## git commit -m "[commentaire]" | ||
88 | + | ||
89 | +Permet de commenter les modification effectuer et les prépares à la validation. | ||
90 | + | ||
91 | +## git push | ||
92 | + | ||
93 | +Permet de valider les modifications effectuées. |
@@ -0,0 +1,47 @@ | @@ -0,0 +1,47 @@ | ||
1 | +--- | ||
2 | +title: JDBI | ||
3 | +tags: jdbi java | ||
4 | +author: "Benoit 'badetitou' Verhaeghe" | ||
5 | +license: WTFPL | ||
6 | +license_url: http://www.wtfpl.net/ | ||
7 | +--- | ||
8 | + | ||
9 | +# Objectifs | ||
10 | +L'objectif de jdbi est de simplifier l'accès au base de donner en offrant un niveau d'abstraction supplémentaire à jdbc. | ||
11 | + | ||
12 | +Cette bibliothèque permet de se connecter à une base de données, effectuer des requetes sql sécurisées, et de convertir automatiquement les résultats en objet. | ||
13 | + | ||
14 | +Vous trouverez ici quelques outils pour mieux comprendre jdbi. | ||
15 | + | ||
16 | +# Annotations | ||
17 | + | ||
18 | +<table> | ||
19 | + <thead> | ||
20 | + <tr> | ||
21 | + <th>Annotations</th> | ||
22 | + <th>Définitions</th> | ||
23 | + </tr> | ||
24 | + </thead> | ||
25 | + <tbody> | ||
26 | + <tr> | ||
27 | + <td>@SqlQuery(String myRequest)</td> | ||
28 | + <td>A mettre au dessus du nom de la fonction voulu (pour une interface). Execute la requete de type Select defini" dans "myRequest".</td> | ||
29 | + </tr> | ||
30 | + <tr> | ||
31 | + <td>@SqlUpdate(String myRequest)</td> | ||
32 | + <td>A mettre au dessus du nom de la fonction voulu (pour une interface). Execute la requete de type Update (tout sauf les Select et les Procedures stockées) definit dans "myRequest".</td> | ||
33 | + </tr> | ||
34 | + <tr> | ||
35 | + <td>@SqlUpdate(String myRequest)</td> | ||
36 | + <td>A mettre au dessus du nom de la fonction voulu (pour une interface). Execute la requete de type Update (tout sauf les Select et les Procedures stockées) definit dans "myRequest".</td> | ||
37 | + </tr> | ||
38 | + <tr> | ||
39 | + <td>@RegisterMapperFactory(BeanMapperFactory.class)</td> | ||
40 | + <td>A mettre au dessus du nom de la fonction voulu (pour une interface). Permet de retourner l'objet correspondant au type de retour de la fonction. La correspondance se fait autmatiquement, l'object doit cependant avoir les même attributs que les colonnes retourner par la requete.</td> | ||
41 | + </tr> | ||
42 | + <tr> | ||
43 | + <td>@GetGeneratedKeys</td> | ||
44 | + <td>A mettre au dessus du nom de la fonction voulu (pour une interface). Permet de récuperer la clef primaire générée lors d'une insertion.</td> | ||
45 | + </tr> | ||
46 | + </tbody> | ||
47 | +</table> |
@@ -0,0 +1,48 @@ | @@ -0,0 +1,48 @@ | ||
1 | +--- | ||
2 | +title: "Spring" | ||
3 | +tags: spring java | ||
4 | +author: "Benoit 'badetitou' Verhaeghe" | ||
5 | +license: WTFPL | ||
6 | +license_url: http://www.wtfpl.net/ | ||
7 | +--- | ||
8 | + | ||
9 | +# Objectifs | ||
10 | + | ||
11 | +L'objectif de Spring est de fournir un ensemble d'outils permettant de compiler et déployer un serveur partout en se basant sur la JAVA machine. | ||
12 | + | ||
13 | +Avec Spring vous pouvez créer le serveur et le tester et le lancer n'importe où. Tout cela avec avec un model [REST](https://fr.wikipedia.org/wiki/Representational_state_transfer). | ||
14 | + | ||
15 | +Vous trouverez ici une partie des annotations SPRING et comment les utiliser | ||
16 | + | ||
17 | +# Annotations | ||
18 | + | ||
19 | +<table> | ||
20 | + <thead> | ||
21 | + <tr> | ||
22 | + <th>Annotations</th> | ||
23 | + <th>Définitions</th> | ||
24 | + </tr> | ||
25 | + </thead> | ||
26 | + <tbody> | ||
27 | + <tr> | ||
28 | + <td>@SpringBootApplication</td> | ||
29 | + <td>Classe de démarrage de Spring. C'est une compilation d'annotation. Elle permet entre autres de detecter les classes du même package définit comme controller Spring.</td> | ||
30 | + </tr> | ||
31 | + <tr> | ||
32 | + <td>@EnableAutoConfiguration</td> | ||
33 | + <td>Auto-configuration de Spring</td> | ||
34 | + </tr> | ||
35 | + <tr> | ||
36 | + <td>@Controller</td> | ||
37 | + <td>Definit une classe comme controller de Spring</td> | ||
38 | + </tr> | ||
39 | + <tr> | ||
40 | + <td>@RestController</td> | ||
41 | + <td>Definit une classe comme controller Spring pour faire du REST.</td> | ||
42 | + </tr> | ||
43 | + <tr> | ||
44 | + <td>@RestMapping</td> | ||
45 | + <td>Definit le chemin vers un élement d'une classe REST.</td> | ||
46 | + </tr> | ||
47 | + </tbody> | ||
48 | +</table> |
@@ -0,0 +1,18 @@ | @@ -0,0 +1,18 @@ | ||
1 | +--- | ||
2 | +title: Tutoriels | ||
3 | +tags: header | ||
4 | +--- | ||
5 | + | ||
6 | +<p>Vous trouverez ici tous les tutoriels rédigés par nos membres. Peut-être y trouverez-vous votre bonheur !</p> | ||
7 | + | ||
8 | +<ul class="post-list"> | ||
9 | +{% for my_tuto in site.tutos %} | ||
10 | + <li> | ||
11 | + <h2> | ||
12 | + <a class="post-link" href="{{ my_tuto.url | relative_url }}"> | ||
13 | + Tutoriel : {{ my_tuto.title | escape }} | ||
14 | + </a> | ||
15 | + </h2> | ||
16 | + </li> | ||
17 | +{% endfor %} | ||
18 | +</ul> |