diff --git a/R3.01/README.md b/R3.01/README.md
index c5f9009..b1f27e8 100644
--- a/R3.01/README.md
+++ b/R3.01/README.md
@@ -52,4 +52,18 @@ aborde la récupération des données de formulaires avec PHP.
À chaque exercice correspond un sous répertoire avec
des fichiers à compléter.
+#### TP3 : PHP/Mysql
+Le [tp3](./tp/tp3)
+aborde l'interfaçage de php avec mysql, au moyen de l'extention
+[mysqli](http://php.net/manual/fr/book.mysqli.php) de php.
+À chaque exercice correspond un sous répertoire avec
+des fichiers à compléter.
+
+#### TP4 : Cookies et sessions
+Le [tp4](./tp/tp4)
+aborde la notion de cookies et de sessions,et
+les fonctions php dédiées.
+À chaque exercice correspond un sous répertoire avec
+des fichiers à compléter.
+
diff --git a/R3.01/tp/tp4/README.md b/R3.01/tp/tp4/README.md
new file mode 100644
index 0000000..8c22000
--- /dev/null
+++ b/R3.01/tp/tp4/README.md
@@ -0,0 +1,76 @@
+
+# TP4 : Cookies et sessions en PHP.
+
+### Ex1.
+Complétez le script `index.php` de l'exercice 1 de manière à
+mémoriser grâce à un cookie votre os préféré (parmi Linux, Windows et
+MacOS). Le cookie est valable pendant une minute, et l'os par
+défaut est Linux.
+
+
+### Ex2.
+Le but est de créer un min-jeu de morpion.
+
+
+
+Les variables de session :
+- `grid` : le plateau du jeu. tableau de 9 cases, prennant les valeurs 0 (libre), 1 (joueur 1), 2 (joueur 2).
+- `playerTurn` : le joueur qui joue.
+
+Le script prend en paramètre la variable `pos` : la position du coup joué par le joueur.
+
+### Ex3.
+On désire rendre les pages du [tp3](./../tp3) (cinema) accessibles
+uniquement à des utilisateur **inscrits au préalable**.
+
+1. Rajouter à la base une table `user` qui comprend un **login**,
+**email** et un **password**. (login est la clé)
+2. Ecrire un formulaire d'inscription au site qui comprend les
+ champs correspondants. Vous enregistrerez dans la base la mot de
+ passe hashé avec la fonction
+ [password\_hash](http://php.net/manual/fr/function.password-hash.php)
+ de php.
+3. Faire en sorte que toutes les pages de l'application soient
+ accessibles **uniquement** si l'utilisateur s'est authentifié.
+ (utiliser une session)
+
+Ecrire les scripts ou pages suivants
+
+
inscription.php
+
formulaire d'inscription, et qui traite les données du formulaire.
+Si le formulaire n'est pas correctement rempli, Il est réaffiché.
+(les champs correctes sont conservés !)
+
authentification.html
+
formulaire d'authentification.
+
verification.php
+
traite le formulaire précédent et vérifie si l'utilisateur est
+enregistré. En cas de succés, renvoie vers la page d'accueil du
+site. Pour éviter des attaques force brute, ajoutez une
+temporisation qui ralentira de telles attaques.
+
securite.php
+
morceau de code que vous inclurez systématiquement dans vos pages
+que vous voulez rendre accessible uniquement aux utilisateurs dûment
+authentifiés. Ce script vérifiera l'existence d'une variable de
+session créée lors de la connexion.
+
+
+Pour permettre l'authentification d'un utilisateur, il faut que
+login et le mot de passe conviennent. On compare le hash de
+l'utilisateur stocké dans la base avec le hashage calculé du
+password soumis lors de l'authentification :
+
+
+```php
+
+```
+
diff --git a/R3.01/tp/tp4/ex1/index.php b/R3.01/tp/tp4/ex1/index.php
new file mode 100644
index 0000000..b1873cc
--- /dev/null
+++ b/R3.01/tp/tp4/ex1/index.php
@@ -0,0 +1,6 @@
+
diff --git a/R3.01/tp/tp4/ex1/views/main.php b/R3.01/tp/tp4/ex1/views/main.php
new file mode 100644
index 0000000..2aedb2d
--- /dev/null
+++ b/R3.01/tp/tp4/ex1/views/main.php
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Votre os
+ ";?>
+
+
+
+
+
+
+
diff --git a/R3.01/tp/tp4/ex2/css/style.css b/R3.01/tp/tp4/ex2/css/style.css
new file mode 100644
index 0000000..3a5f75c
--- /dev/null
+++ b/R3.01/tp/tp4/ex2/css/style.css
@@ -0,0 +1,32 @@
+table.morpion{
+ border-collapse: collapse;
+ table-layout:fixed;
+ margin-left:auto;
+ margin-right:auto;
+ display:inline-block;
+ width:auto;
+}
+table.morpion td {
+ border : 1px solid #aaaaaa;
+ width:10rem;
+ height:10rem;
+ padding : 0px;
+ margin:0px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-align:center;
+ vertical-align:middle;
+}
+table.morpion i {
+font-size:8rem;
+}
+
+table.morpion a {
+display : inline-block;
+width : 8rem;
+height: 8rem;
+
+}
+.center{
+ text-align:center;
+}
diff --git a/R3.01/tp/tp4/ex2/helpers.php b/R3.01/tp/tp4/ex2/helpers.php
new file mode 100644
index 0000000..211e12c
--- /dev/null
+++ b/R3.01/tp/tp4/ex2/helpers.php
@@ -0,0 +1,54 @@
+';
+ for ($i = 0; $i < 3; $i ++){
+ echo "