diff --git a/tutorial/docker-advanced/Makefile b/tutorial/docker-advanced/Makefile
new file mode 100644
index 0000000..c159b39
--- /dev/null
+++ b/tutorial/docker-advanced/Makefile
@@ -0,0 +1,25 @@
+SOURCES = tutorial.md setup.md what.md manual.md compose.md rendu.md
+PANDOCOPTS = --latex-engine=xelatex \
+ --standalone \
+ --normalize \
+ --number-sections \
+ --smart \
+ -M lang=fr-FR \
+ -M fontsize=12pt \
+ -M papersize=a4paper \
+ -M mainfont="Linux Libertine O" \
+ -M monofont="FantasqueSansMono-Regular" \
+ -M sansfont="Linux Biolinum O" \
+ -M colorlinks=true \
+ -M linkcolor="black" \
+ -M urlcolor="[rgb]{0.2,0.6,0.4}" \
+ --include-in-header=../header.tex
+
+
+all: tutorial.pdf
+
+tutorial.pdf: ${SOURCES}
+ pandoc ${PANDOCOPTS} -o $@ $+
+
+clean::
+ rm tutorial.pdf
diff --git a/tutorial/docker-orchestration/check.sh b/tutorial/docker-advanced/check.sh
similarity index 100%
rename from tutorial/docker-orchestration/check.sh
rename to tutorial/docker-advanced/check.sh
diff --git a/tutorial/docker-orchestration/chronograf.png b/tutorial/docker-advanced/chronograf.png
similarity index 100%
rename from tutorial/docker-orchestration/chronograf.png
rename to tutorial/docker-advanced/chronograf.png
diff --git a/tutorial/docker-orchestration/chronograf_latest.png b/tutorial/docker-advanced/chronograf_latest.png
similarity index 100%
rename from tutorial/docker-orchestration/chronograf_latest.png
rename to tutorial/docker-advanced/chronograf_latest.png
diff --git a/tutorial/docker-orchestration/chronograf_setup.png b/tutorial/docker-advanced/chronograf_setup.png
similarity index 100%
rename from tutorial/docker-orchestration/chronograf_setup.png
rename to tutorial/docker-advanced/chronograf_setup.png
diff --git a/tutorial/docker-orchestration/compose.md b/tutorial/docker-advanced/compose.md
similarity index 89%
rename from tutorial/docker-orchestration/compose.md
rename to tutorial/docker-advanced/compose.md
index ea5fdd4..9bd46b6 100644
--- a/tutorial/docker-orchestration/compose.md
+++ b/tutorial/docker-advanced/compose.md
@@ -12,19 +12,19 @@ construction).
```yaml
-version: '3'
-services:
- influxdb:
- ...
- chronograf:
- build: grafana/
- image: nginx
- ports:
- - "3000:3000"
- volumes:
- - ./:/tmp/toto
- links:
- - influxdb
+ version: '3'
+ services:
+ influxdb:
+ ...
+ chronograf:
+ build: grafana/
+ image: nginx
+ ports:
+ - "3000:3000"
+ volumes:
+ - ./:/tmp/toto
+ links:
+ - influxdb
```
@@ -61,9 +61,9 @@ suit :
```yaml
-volumes:
- mysql-data:
- driver: local
+ volumes:
+ mysql-data:
+ driver: local
```
@@ -72,11 +72,11 @@ l'emplacement à partager :
```yaml
-[...]
- mysql:
[...]
- volumes:
- - mysql-data:/var/lib/mysql
+ mysql:
+ [...]
+ volumes:
+ - mysql-data:/var/lib/mysql
```
@@ -94,9 +94,9 @@ qui pourront être utilisés par les `services`. On pourrait donc avoir :
```yaml
-networks:
- knotdns-slave-net:
- driver: bridge
+ networks:
+ knotdns-slave-net:
+ driver: bridge
```
@@ -146,7 +146,7 @@ le résultat :
```shell
-docker-compose up
+ docker-compose up
```
diff --git a/tutorial/docker-orchestration/manual.md b/tutorial/docker-advanced/manual.md
similarity index 64%
rename from tutorial/docker-orchestration/manual.md
rename to tutorial/docker-advanced/manual.md
index 4db8cb5..99df211 100644
--- a/tutorial/docker-orchestration/manual.md
+++ b/tutorial/docker-advanced/manual.md
@@ -26,7 +26,7 @@ allons tâcher d'utiliser ce même port pour tester localement :
```
-docker container run -p 8086:8086 -d --name mytsdb influxdb
+ docker container run -p 8086:8086 -d --name mytsdb influxdb
```
@@ -35,9 +35,9 @@ notre base de données en appelant :
```
-42sh$ curl -f http://localhost:8086/ping
-42sh$ echo $?
-0
+ 42sh$ curl -f http://localhost:8086/ping
+ 42sh$ echo $?
+ 0
```
@@ -46,16 +46,15 @@ le client fourni :
```
-42sh$ docker container run --rm -it --link mytsdb:influxdb \
- --entrypoint "/usr/bin/influx" influxdb -host influxdb
-Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
-Connected to http://influxdb:8086 version 1.0.1
-InfluxDB shell version: 1.0.1
-> show databases
-name: databases
----------------
-name
-_internal
+ 42sh$ docker container run --rm -it --link mytsdb:influxdb \
+ --entrypoint "/usr/bin/influx" influxdb -host influxdb
+ Connected to http://influxdb:8086 version 1.6.3
+ InfluxDB shell version: 1.6.3
+ > show databases
+ name: databases
+ name
+ ---------------
+ _internal
```
@@ -68,7 +67,7 @@ faut utiliser la commande `docker container logs` :
```
-docker container logs mytsdb
+ docker container logs mytsdb
```
@@ -86,7 +85,7 @@ système. Pour cela, on commence par télécharger *Telegraf* :
```shell
-curl https://dl.influxdata.com/telegraf/releases/telegraf-1.4.2-static_linux_amd64.tar.gz | \
+ curl https://dl.influxdata.com/telegraf/releases/telegraf-1.8.1-static_linux_amd64.tar.gz | \
tar xzv -C /tmp
```
@@ -95,48 +94,46 @@ Puis, lançons *Telegraf* :
```shell
-cd /tmp/telegraf
-./telegraf --config telegraf.conf
+ cd /tmp/telegraf
+ ./telegraf --config telegraf.conf
```
**Remarque :** La configuration par défaut va collecter les données de la
machine locale et les envoyer sur le serveur situé à
-`http://localhost:8086`. Ici, cela fonctionne donc parce que l'on a fait en
-sorte de redirigé le port de notre conteneur sur notre machine locale (option
-`-p`).
+`http://localhost:8086`. Ici, cela fonctionne parce que l'on a fait en sorte de
+rediriger le port de notre conteneur sur notre machine locale (option `-p`).
Et observons ensuite :
```shell
-42sh$ docker container run --rm -it --link mytsdb:influxdb \
- --entrypoint "/usr/bin/influx" influxdb -host influxdb
-Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
-Connected to http://influxdb:8086 version 1.0.1
-InfluxDB shell version: 1.0.1
-> show databases
-name: databases
----------------
-name
-_internal
-telegraf
+ 42sh$ docker container run --rm -it --link mytsdb:influxdb \
+ --entrypoint "/usr/bin/influx" influxdb -host influxdb
+ Connected to http://influxdb:8086 version 1.6.3
+ InfluxDB shell version: 1.6.3
+ > show databases
+ name: databases
+ name
+ ---------------
+ _internal
+ telegraf
-> use telegraf
-Using database telegraf
+ > use telegraf
+ Using database telegraf
-> show measurements
-name: measurements
-------------------
-name
-cpu
-disk
-diskio
-kernel
-mem
-processes
-swap
-system
+ > show measurements
+ name: measurements
+ name
+ ------------------
+ cpu
+ disk
+ diskio
+ kernel
+ mem
+ processes
+ swap
+ system
```
@@ -151,9 +148,8 @@ lancé, celui-ci va régulièrement envoyer des métriques de cette machine.
L'interface de *Chronograf* est disponible sur le port 8888.
-L'image Docker officielle accepte que l'emplacement du serveur InfluxDB soit
-passée dans variable d'environnement
-`INFLUXDB_URL`. [Consultez la documentation du conteneur si besoin](https://store.docker.com/images/chronograf).
+Consultez la [documentation du conteneur](https://hub.docker.com/_/chronograf)
+si besoin.
![Résultat obtenu](chronograf_latest.png)
diff --git a/tutorial/docker-advanced/rendu.md b/tutorial/docker-advanced/rendu.md
new file mode 100644
index 0000000..27e0b85
--- /dev/null
+++ b/tutorial/docker-advanced/rendu.md
@@ -0,0 +1,34 @@
+Modalités de rendu
+------------------
+
+En tant que personnes sensibilisées à la sécurité des échanges électroniques,
+vous devrez m'envoyer vos rendus signés avec votre clef PGP.
+
+Un service automatique s'occupe de réceptionner vos rendus, de faire des
+vérifications élémentaires et de vous envoyer un accusé de réception (ou de
+rejet).
+
+Ce service écoute sur l'adresse , c'est donc à cette adresse
+et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu
+envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne
+sera pas pris en compte.
+
+Par ailleurs, n'oubliez pas de répondre à
+[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=33).
+
+
+Tarball
+-------
+
+Tous les fichiers identifiés comme étant à rendre pour ce TP sont à
+placer dans une tarball (pas d'archive ZIP, RAR, ...).
+
+Voici une arborescence type (vous pourriez avoir des fichiers supplémentaires,
+cela dépendra de votre avancée dans le projet) :
+
+
+```
+ login_x-TP2/tp/docker-compose.yml
+ login_x-TP2/tp/mymonitoring-stack.yml
+```
+
diff --git a/tutorial/docker-advanced/setup.md b/tutorial/docker-advanced/setup.md
new file mode 100644
index 0000000..1dfbf38
--- /dev/null
+++ b/tutorial/docker-advanced/setup.md
@@ -0,0 +1,70 @@
+\newpage
+
+Mise en place
+=============
+
+Durant le premier TP, nous avons installé l'environnement Docker principal, qui
+inclut le client, le daemon et toute sa machinerie. Mais le projet Docker
+propose de nombreuses autres ressources, souvent directement trouvée dans les
+usages de la communauté, et parfois même approprié par Docker.
+
+
+## `docker-compose`
+
+Pour ce TP, nous allons également avoir besoin de `docker-compose`.
+
+Ce projet ne bénéficie pas d'une intégration au sein du projet Docker et doit
+être téléchargé séparément, car originellement, le projet était développé par
+une équipe indépendante[^fig]. Il constitue aujourd'hui une brique de
+l'écosystème Docker, presque indispensable !
+
+[^fig]: Le site du projet initial est toujours en ligne :
+ .
+
+### Par le gestionnaire de paquets
+
+Les distributions à jour vous proposeront un paquet `docker-compose` qui
+fonctionnera avec la version de Docker qu'ils fournissent.
+
+### Par la distribution binaire
+
+L'équipe en charge de Docker compose met à disposition un exécutable contenant
+tous les scripts. Nous pouvons l'installer en suivant la procédure suivante :
+
+
+```shell
+ curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64 \
+ > /usr/bin/docker-compose
+ chmod +x /usr/bin/docker-compose
+```
+
+
+### `pip`
+
+Le projet étant écrit en Python, il est également disponible via `pip`, si vous
+préférez cette méthode. N'oubliez pas de préciser une version compatible avec
+votre version de Docker.
+
+
+### Vérification du fonctionnement
+
+Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
+`docker-compose` en exécutant la commande :
+
+
+```
+ 42sh$ docker-compose --version
+ docker-compose version: 1.16.1
+```
+
+
+Si vous obtenez une réponse similaire, c'est que vous êtes prêt à commencer le
+TP ! Alors n'attendons pas, partons à l'aventure !
+
+
+## Play With Docker
+
+Tout comme pour le TP précédent, si vous avez des difficultés pour réaliser les
+exercices sur vos machines, vous pouvez utiliser le projet
+[Play With Docker](https://play-with-docker.com/) qui vous donnera accès à un
+bac à sable avec lequel vous pourrez réaliser tous les exercices de ce TP.
diff --git a/tutorial/docker-advanced/tutorial.md b/tutorial/docker-advanced/tutorial.md
new file mode 100644
index 0000000..b606806
--- /dev/null
+++ b/tutorial/docker-advanced/tutorial.md
@@ -0,0 +1,22 @@
+---
+title: Virtualisation légère -- TP n^o^ 2.2
+subtitle: Aller plus loin avec Docker
+author: Pierre-Olivier *Nemunaire* Mercier
+institute: EPITA
+date: Jeudi 18 octobre 2017
+...
+
+Dans cette deuxième partie du TP, nous allons approfondir l'utilisation de Docker !
+
+Tous les éléments de ce TP (exercices et projet) sont à rendre à
+ au plus tard le mercredi 24 octobre 2017 à 0 h 42. Consultez la
+dernière section de chaque partie pour plus d'information sur les éléments à
+rendre.
+
+En tant que personnes sensibilisées à la sécurité des échanges électroniques,
+vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
+[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96) faire
+signer votre clef et n'hésitez pas à
+[faire signer votre clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
+
+\tableofcontents
diff --git a/tutorial/docker-orchestration/what.md b/tutorial/docker-advanced/what.md
similarity index 100%
rename from tutorial/docker-orchestration/what.md
rename to tutorial/docker-advanced/what.md
diff --git a/tutorial/docker-orchestration/Makefile b/tutorial/docker-orchestration/Makefile
index 285a2d4..686e33e 100644
--- a/tutorial/docker-orchestration/Makefile
+++ b/tutorial/docker-orchestration/Makefile
@@ -1,4 +1,4 @@
-SOURCES = tutorial.md setup.md what.md manual.md compose.md machine.md swarm.md stack.md rendu.md
+SOURCES = tutorial.md setup.md machine.md swarm.md stack.md rendu.md
PANDOCOPTS = --latex-engine=xelatex \
--standalone \
--normalize \
diff --git a/tutorial/docker-orchestration/rendu.md b/tutorial/docker-orchestration/rendu.md
index 4a0868e..27e0b85 100644
--- a/tutorial/docker-orchestration/rendu.md
+++ b/tutorial/docker-orchestration/rendu.md
@@ -28,12 +28,7 @@ cela dépendra de votre avancée dans le projet) :
```
-login_x-TP2/tp/docker-compose.yml
-login_x-TP2/tp/mymonitoring-stack.yml
-login_x-TP2/fic-server
-login_x-TP2/fic-server/fic-server.yml
-login_x-TP2/fic-server/Dockerfile-admin
-login_x-TP2/fic-server/Dockerfile-backend
-login_x-TP2/fic-server/Dockerfile-frontend
+ login_x-TP2/tp/docker-compose.yml
+ login_x-TP2/tp/mymonitoring-stack.yml
```
diff --git a/tutorial/docker-orchestration/setup.md b/tutorial/docker-orchestration/setup.md
index 935b59b..b99a877 100644
--- a/tutorial/docker-orchestration/setup.md
+++ b/tutorial/docker-orchestration/setup.md
@@ -3,11 +3,6 @@
Mise en place
=============
-Durant le premier TP, nous avons installé l'environnement Docker principal, qui
-inclut le client, le daemon et toute sa machinerie. Mais le projet Docker
-propose de nombreuses autres ressources, souvent directement trouvée dans les
-usages de la communauté, et parfois même approprié par Docker.
-
## `docker-machine`
@@ -33,9 +28,9 @@ procédure suivante :
```shell
-curl -L https://github.com/docker/machine/releases/download/v0.12.2/docker-machine-Linux-x86_64 \
- > /usr/bin/docker-machine
-chmod +x /usr/bin/docker-machine
+ curl -L https://github.com/docker/machine/releases/download/v0.15.0/docker-machine-Linux-x86_64 \
+ > /usr/bin/docker-machine
+ chmod +x /usr/bin/docker-machine
```
@@ -64,65 +59,12 @@ Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
```
-42sh$ docker-machine version
-docker-machine version 0.12.2, build 9371605
+ 42sh$ docker-machine version
+ docker-machine version 0.12.2, build 9371605
```
-## `docker-compose`
-
-Pour ce TP, nous allons également avoir besoin de `docker-compose`.
-
-Ce projet ne bénéficie pas d'une intégration au sein du projet Docker et doit
-être téléchargé séparément, car originellement, le projet était développé par
-une équipe indépendante[^fig]. Il constitue aujourd'hui une brique de
-l'écosystème Docker, presque indispensable !
-
-[^fig]: Le site du projet initial est toujours en ligne :
- .
-
-### Par le gestionnaire de paquets
-
-Les distributions à jour vous proposeront un paquet `docker-compose` qui
-fonctionnera avec la version de Docker qu'ils fournissent.
-
-### Par la distribution binaire
-
-L'équipe en charge de Docker compose met à disposition un exécutable contenant
-tous les scripts. Nous pouvons l'installer en suivant la procédure suivante :
-
-
-```shell
-curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-Linux-x86_64 \
- > /usr/bin/docker-compose
-chmod +x /usr/bin/docker-compose
-```
-
-
-### `pip`
-
-Le projet étant écrit en Python, il est également disponible via `pip`, si vous
-préférez cette méthode. N'oubliez pas de préciser une version compatible avec
-votre version de Docker.
-
-
-### Vérification du fonctionnement
-
-Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
-`docker-compose` en exécutant la commande :
-
-
-```
-42sh$ docker-compose --version
-docker-compose version: 1.16.1
-```
-
-
-Si vous obtenez une réponse similaire, c'est que vous êtes prêt à commencer le
-TP ! Alors n'attendons pas, partons à l'aventure !
-
-
## Play With Docker
Tout comme pour le TP précédent, si vous avez des difficultés pour réaliser les
diff --git a/tutorial/docker-orchestration/tutorial.md b/tutorial/docker-orchestration/tutorial.md
index 6e1d345..8bec3e2 100644
--- a/tutorial/docker-orchestration/tutorial.md
+++ b/tutorial/docker-orchestration/tutorial.md
@@ -1,15 +1,15 @@
---
-title: Virtualisation légère -- TP n^o^ 2
-subtitle: Aller plus loin avec Docker
+title: Virtualisation légère -- TP n^o^ 2.3
+subtitle: L'orchestration avec Docker
author: Pierre-Olivier *Nemunaire* Mercier
institute: EPITA
-date: Jeudi 19 octobre 2017
+date: Jeudi 18 octobre 2018
...
-Durant ce deuxième TP, nous allons approfondir l'utilisation de Docker !
+Dans la troisième partie de ce TP, nous allons orchestrer nos conteneurs !
Tous les éléments de ce TP (exercices et projet) sont à rendre à
- au plus tard le jeudi 26 octobre 2017 à 8 h 42. Consultez la
+ au plus tard le mercredi 24 octobre 2018 à 0 h 42. Consultez la
dernière section de chaque partie pour plus d'information sur les éléments à
rendre.
diff --git a/tutorial/dockerfiles/tutorial.md b/tutorial/dockerfiles/tutorial.md
index e652155..2117a51 100644
--- a/tutorial/dockerfiles/tutorial.md
+++ b/tutorial/dockerfiles/tutorial.md
@@ -1,15 +1,15 @@
---
-title: Virtualisation légère -- TP n^o^ 2
+title: Virtualisation légère -- TP n^o^ 2.1
subtitle: Construire des images Docker
author: Pierre-Olivier *Nemunaire* Mercier
institute: EPITA
-date: Jeudi 11 octobre 2018
+date: Jeudi 18 octobre 2018
...
Durant ce deuxième TP, nous allons voir comment créer nos propres images !
Tous les éléments de ce TP (exercices et projet) sont à rendre à
- au plus tard le jeudi 18 octobre 2018 à 8 h 42. Consultez la
+ au plus tard le mercredi 24 octobre 2018 à 0 h 42. Consultez la
dernière section de chaque partie pour plus d'information sur les éléments à
rendre.