diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 87baabfa2c7a615908ebe8931b424a9256a430fd..5961a8c7bbe79768b70533133282b2ecbceaef2b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -36,3 +36,4 @@ deploy:
   script:
     - apt-get install -y --force-yes rsync
     - rsync -az --exclude '_' -e ssh output/ $USERNAME@$HOST:~/public_html/
+  when: manual
diff --git a/README.md b/README.md
index c5dd84ab5d6ab0b83caf92883f8cd8b3dcdcbbc4..e8463e4a53d4b9f61fceeacd80b0cece7212c14c 100644
--- a/README.md
+++ b/README.md
@@ -1,33 +1,28 @@
+# Blog LIMOS de Vincent Mazenod
 
-## Installer les dépendances
-
-```bash
-virtualenv -p /usr/bin/python3 .venv
-source .venv/bin/activate
-pip install -r requirements.txt
-git submodule init
-git submodule update --recursive --remote
+```
+./bin/setup
+source bin/activate
+./bin/start
 ```
 
 ## Lancer le serveur de prévisualisation
 
-```bash
+```
 bash develop_server.sh start
 ```
 
+* http://0.0.0.0:8000/
+
 ## faire tourner les slides en local
 
-```bash
-cd content && npm install
 ```
-
-```bash
-<VirtualHost *:80>
-   DocumentRoot "/opt/lampp/htdocs/limos/content"
-  ServerName slides
-</VirtualHost>
+./bin/local
 ```
 
+* http://slides/slides/
+
+
 ## see also
 
 * [https://limos.isima.fr/~mazenod/blog-et-pages-perso-au-limos.html](https://limos.isima.fr/~mazenod/blog-et-pages-perso-au-limos.html)
diff --git a/bin/activate b/bin/activate
new file mode 100755
index 0000000000000000000000000000000000000000..ce46bf3c699730209ee7415fdb232f2c400f4cf5
--- /dev/null
+++ b/bin/activate
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]:-$0}" )/.." && pwd )"
+if [[ -z "$VIRTUAL_ENV" ]] || [[ "$VIRTUAL_ENV" != "${DIR}/.venv" ]] ; then
+    source "${DIR}/.venv/bin/activate"
+fi
diff --git a/bin/local b/bin/local
new file mode 100755
index 0000000000000000000000000000000000000000..83dd5a420471d2f609e1d8edfeda5fda75e7438c
--- /dev/null
+++ b/bin/local
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]:-$0}" )/.." && pwd )"
+
+if [[ ! -f "/etc/apache2/sites-available/slides.conf" ]] ; then
+
+  (
+  echo "<VirtualHost *:80>"
+  echo "DocumentRoot /var/www/html/blog/blog.limos.fr/content/"
+  echo "ServerName slides"
+  echo "</VirtualHost>"
+  ) | sudo tee -a /etc/apache2/sites-available/slides.conf
+
+  sudo a2ensite slides
+
+  echo "127.0.0.1   slides" | sudo tee -a /etc/hosts
+fi
diff --git a/bin/setup b/bin/setup
new file mode 100755
index 0000000000000000000000000000000000000000..f55ca2a614b6014ce1bace24ec16ddd33468eef2
--- /dev/null
+++ b/bin/setup
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]:-$0}" )/.." && pwd )"
+
+if [[ ! -d "${DIR}/.venv" ]] ; then
+  virtualenv -p /usr/bin/python3 "${DIR}/.venv"
+fi
+
+source "${DIR}/.venv/bin/activate"
+pip install -r requirements.txt
+
+git submodule init
+git submodule update --recursive --remote
+
+cd content && npm install
diff --git a/bin/start b/bin/start
new file mode 100755
index 0000000000000000000000000000000000000000..28fb7917b2028cf7ddff1896a8e1bc60f8c3d3fa
--- /dev/null
+++ b/bin/start
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+bash develop_server.sh start
diff --git a/requirements.txt b/requirements.txt
index 20d67841cb9050862d1967762b7b8ad1a1e6e492..bb57e4461f51161905f41769af7678c56f69a916 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,7 +5,7 @@ docutils==0.13.1
 feedgenerator==1.9
 Jinja2==2.9.5
 lxml==3.7.3
-Markdown==2.6.8
+Markdown
 MarkupSafe==0.23
 packaging==16.8
 pelican==3.7.1