diff --git a/R1.02/tp/tp1/README.md b/R1.02/tp/tp1/README.md
new file mode 100644
index 0000000..d6933db
--- /dev/null
+++ b/R1.02/tp/tp1/README.md
@@ -0,0 +1,273 @@
+# TP HTML
+
+
+> Vous validerez *toutes* vos pages avec le service de [validation](http://validator.w3.org/) du W3C.
+
+> La [référence](https://developer.mozilla.org/fr/docs/Web/HTML/Element) des éléments HTML (Mozilla Developer Network).
+
+> Une [aide](./aide.md) pour le tp.
+
+
+## Correction de la syntaxe, et validation
+### Exercice 0
+Corrigez le code HTML suivant en utilisant le validateur du W3C :
+```html
+
+
+
+
+
+ My first HTML5 document
+
+ HTML5 est vraiment super !
+
+ ](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/abbr), [](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/time),
+[](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/sup), [](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/em),
+[](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/q)`, [](https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/blockquote).
+
+
+
+
+### Exercice 2
+La syntaxe du langage HTML s'appuie sur un certain nombre de caractères appelés caractères réservés. Par exemple, les caractères
+`<` et `>` sont utilisés pour insérer la balise d'un élément HTML.
+
+Afin d'utiliser ces caractères réservés dans le corps de votre document Web et de les voir s'afficher dans la fenêtre du navigateur,
+ il convient de les remplacer par leur entité HTML. Une entité HTML est définie par une suite de lettres ou un nombre,
+ précédée du caractère `&` et suivie de `;`.
+Certaines de ces entités sont listées dans le tableau ci-dessous.
+
+
+
+
+ Affichage
+ Description
+ Nom de l'entité
+ Code de l'entité
+
+
+
+
+
+ espace insécable
+
+  
+
+
+ <
+ plus petit
+ <
+ <
+
+
+ >
+ plus grand
+ >
+ >
+
+
+ &
+ esperluette
+ &
+ &
+
+
+ "
+ guillemet
+ "
+ "
+
+
+ €
+ euro
+ €
+ €
+
+
+ ©
+ copyright
+ ©
+ ©
+
+
+
+
+Pour accéder à la liste exhaustive des toutes les entités HTML, vous pouvez consulter le Character Entity Reference Chart du W3C.
+
+Écrivez une page qui structure le contenu suivant (hierachisez les titres, utilisez des paragraphes) en prenant soin de
+remplacer les caractères réservés (<, >, & et ") par leur entité HTML.
+
+```
+Emoticons
+
+Emoticons are textual portrayals of a writer's moods or facial
+expressions in the form of icons. Originally, these icons
+consisted of ASCII art.
+
+Emoticons can generally be divided into two groups: Western (mainly
+from America and Europe) or horizontal; Eastern or vertical (mainly
+from east Asia).
+
+Western
+
+Western style emoticons are mostly written from left to right as
+though the head is rotated counter-clockwise 90 degrees.
+
+Smiley: :‑) :->
+Tongue-tied: :‑&
+Broken heart: <\3
+Rose: @}->--
+Fish: ><(((*>
+
+Eastern
+
+Eastern emoticons generally are not rotated sideways. They first
+arose in Japan, where they are referred to as kaomoji.
+
+Troubled: (>_<)
+Sad: ("_")
+Cat: (=^·^=)
+Headphones: ((d[-_-]b))
+```
+
+
+## Listes
+### Exercice 3
+
+Écrivez une page contenant une liste de liens vers vos sites préférés (quatre ou cinq), avec le nom du site et une brève description de ce que l'on peut y trouver. Cette liste sera mise en forme à l'aide :
+- D'une liste numéroté (balise ol)
+- D'une liste non numéroté (balise ul)
+- D'une liste de définition (balise dl)
+
+Chaque lien devra s'ouvrir dans un autre onglet.
+
+Configurez votre navigateur pour que l'affichage utilise l'encodage Unicode (UTF-8). Votre page ne doit pas être affectée. Si elle l'est, corrigez-la.
+
+## Tableaux
+### Exercice 4
+Écrivez une page qui structure sous forme d'une table html le contenu du fichier csv
+suivant :
+
+
+```csv
+Orbites des planètes du Système solaire
+Planète;Distance moyenne (UA);Exentricité ;Inclinaison (°);Période de révolution (an)
+Venus;0,72333199;0,007;3,4;0,615
+Jupiter;5,20336301;0,049;1,3;11,862
+Mars;1,52366231;0,094;1,9;1,881
+Saturne;9,6;0,057;2,5;29,452
+Mercure;0,38709893;0,205;7;0,241
+Neptune;4495,1;1,8;28,3;59,8
+Terre;1;0,017;0;1
+Uranus;2872,5;0,8;97,8;30,589
+```
+
+Vous rajouterez une colonne avec une "image" de chaque planète.
+
+
+
+
+>Vous trouverez les images sur http://upload.wikimedia.org
+
+>Utilisez avantageusement les possiblités de formatages de votre éditeur de texte, ou
+> la commande `sed` pour transformer le csv en html ou encore ce [programme](./src/csv2html.c) C.
+
+
+## Images
+### Exercice 5
+Voici une image représentant les couches utilisées dans le développement WEB.
+
+
+
+
+Par CaptainT7 — Travail personnel, CC BY-SA 4.0, lien .
+
+
+
+Ecrire une page html qui affiche cette image. Les zones HTML, CSS et JS sont cliquables, et doivent ouvrir un
+nouvel onglet vers :
+- HTML : https://developer.mozilla.org/docs/Web/HTML
+- CSS : https://developer.mozilla.org/docs/Web/CSS
+- JS : https://developer.mozilla.org/docs/Web/JavaScript
+
+> - L'attribut `usemap` d'une image permet de préciser une carte (map) décrivant des zones d'une image cliquable.
+> - La balise `map` permet de décrire des zones (sous forme de rectangles, circles, polygones) cliquables d'une image . Un exemple
+> ```html
+> usemap="#planetmap">
+>
+>
+>
+>
+>
+> ```
+> - Vous pouvez facilement (graphiquement) générer une map avec Gimp (filtre->Web->Image cliquable)
+
+## Bonus
+### Exercice 6
+Ecrire un script shell qui permet de formater le contenu d'un repertoire en html, sous forme d'une table indiquant pour chaque entrée, le nom, les droits, la taille et la date de dernier accès correspondants. La commande
+
+```bash
+./dir2html.sh dir dir.html
+```
+produira le fichier `dir.html` contenant les entrées du répertoire `dir`, avec le rendu suivant :
+
+
+
+>**Aides**
+>- Comment faire pour écrire dans un fichier depuis un script bash ?
+>- Pour récupèrer la liste des entrées en bash :
+> ```bash
+> l=$(ls dir)
+> ```
+>- Pour itérer les éléments d'une liste en bash :
+> ```bash
+> for i in $l;
+> do
+> ...
+> done
+> ```
+>- Pour obtenir et formater les informations sur chaque entrée, vous pouvez utiliser la commande `stat`, en adaptant
+> sa sortie à vos besoins.
+>- Les icones de fichier  et de répertoire  se trouvent dans le répertoire [img](./img).
+>
+
diff --git a/R1.02/tp/tp1/aide.md b/R1.02/tp/tp1/aide.md
new file mode 100644
index 0000000..df16a25
--- /dev/null
+++ b/R1.02/tp/tp1/aide.md
@@ -0,0 +1,124 @@
+## Aides
+
+Vous trouverez quelques exemples d'utilisations de balises HTML.
+
+### Structure d'un fichier HTML
+```html
+
+
+
+
+
+
+
+ Document
+
+
+ Bonjour
+
+
+```
+
+### Les listes
+[Plus de détails sur les listes](https://www.w3schools.com/html/html_lists.asp)
+###### Liste à puces
+```html
+
+```
+
+ Exemple
+
+
+
+###### Liste ordonnée
+```html
+
+ Coffee
+ Tea
+ Milk
+
+```
+
+Exemple
+
+ Coffee
+ Tea
+ Milk
+
+
+
+### Les tables
+[Plus de détails sur les tables](https://www.w3schools.com/html/html_tables.asp)
+```html
+
+
+ Firstname
+ Lastname
+ Age
+
+
+ Jill
+ Smith
+ 50
+
+
+ Eve
+ Jackson
+ 94
+
+
+```
+
+ Exemple
+
+
+ Firstname
+ Lastname
+ Age
+
+
+ Jill
+ Smith
+ 50
+
+
+ Eve
+ Jackson
+ 94
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/R1.02/tp/tp1/img/file.png b/R1.02/tp/tp1/img/file.png
new file mode 100644
index 0000000..a0d8a66
Binary files /dev/null and b/R1.02/tp/tp1/img/file.png differ
diff --git a/R1.02/tp/tp1/img/file1.png b/R1.02/tp/tp1/img/file1.png
new file mode 100644
index 0000000..5ae2705
Binary files /dev/null and b/R1.02/tp/tp1/img/file1.png differ
diff --git a/R1.02/tp/tp1/img/folder.png b/R1.02/tp/tp1/img/folder.png
new file mode 100644
index 0000000..ae41d4e
Binary files /dev/null and b/R1.02/tp/tp1/img/folder.png differ
diff --git a/R1.02/tp/tp1/img/gallerie.png b/R1.02/tp/tp1/img/gallerie.png
new file mode 100644
index 0000000..cc0becd
Binary files /dev/null and b/R1.02/tp/tp1/img/gallerie.png differ
diff --git a/R1.02/tp/tp1/img/html_css_js.png b/R1.02/tp/tp1/img/html_css_js.png
new file mode 100644
index 0000000..f3c78e1
Binary files /dev/null and b/R1.02/tp/tp1/img/html_css_js.png differ
diff --git a/R1.02/tp/tp1/img/iut.png b/R1.02/tp/tp1/img/iut.png
new file mode 100644
index 0000000..a8bc846
Binary files /dev/null and b/R1.02/tp/tp1/img/iut.png differ
diff --git a/R1.02/tp/tp1/img/planetes.png b/R1.02/tp/tp1/img/planetes.png
new file mode 100644
index 0000000..d7aa45b
Binary files /dev/null and b/R1.02/tp/tp1/img/planetes.png differ
diff --git a/R1.02/tp/tp1/img/rep.png b/R1.02/tp/tp1/img/rep.png
new file mode 100644
index 0000000..9f7763d
Binary files /dev/null and b/R1.02/tp/tp1/img/rep.png differ
diff --git a/R1.02/tp/tp1/img/tab.png b/R1.02/tp/tp1/img/tab.png
new file mode 100644
index 0000000..59bf6bf
Binary files /dev/null and b/R1.02/tp/tp1/img/tab.png differ
diff --git a/R1.02/tp/tp1/src/csv2html.c b/R1.02/tp/tp1/src/csv2html.c
new file mode 100644
index 0000000..3824421
--- /dev/null
+++ b/R1.02/tp/tp1/src/csv2html.c
@@ -0,0 +1,25 @@
+#include
+
+/* csv2html < file.csv > file.html */
+
+int main(int argc, char *argv[])
+{
+ int s;
+
+ printf("\n");
+
+ while ((s = getchar()) != EOF) {
+ switch(s) {
+ case '\n': printf(" \n"); break;
+ case ';': printf(" "); break;
+ case '<': printf("<"); break;
+ case '>': printf(">"); break;
+ case '&': printf("&"); break;
+ default: putchar(s);
+ }
+ }
+
+ puts(" \n
");
+
+ return 0;
+}