diff --git a/admindoc.md b/admindoc.md
index f4937dbb..6553d651 100644
--- a/admindoc.md
+++ b/admindoc.md
@@ -35,12 +35,15 @@
* [Updating the system](/update) and [apps](/app_update)
* [Security](/security)
* Going further
+ * [Specific apps documentations](/appsdoc)
* [Noho.st / nohost.me / ynh.fr domain names](/dns_nohost_me)
* [Exchange files with your server using a graphical interface](/filezilla)
* [Customize the appearance of the YunoHost portal](/theming)
* [Adding an external storage](/external_storage)
* [Migrating emails to YunoHost](/email_migration)
* [Hide services with Tor](/torhiddenservice)
+ * [(old) Jessie->Stretch migration procedure](jessie_stretch_migration)
* [Troubleshooting guide](/troubleshooting_guide)
- * [Unlock IP in iptables](/fail2ban)
* [Changing the administration password](/change_admin_password)
+ * [Recover access to your server](/noaccess)
+ * [Unban IPs in iptables/fail2ban](/fail2ban)
diff --git a/admindoc_fr.md b/admindoc_fr.md
index d248a210..d7021620 100644
--- a/admindoc_fr.md
+++ b/admindoc_fr.md
@@ -45,12 +45,16 @@
* [SFR](/isp_sfr)
* [Orange](/isp_orange)
* [Free](/isp_free)
+ * [Documentation spécifique à certaines apps](/appsdoc)
+ * [Equivalence entre service framasoft et apps](/apps_framasoft)
* [Échanger des fichiers avec son serveur à l'aide d'une interface graphique](/filezilla)
* [Modifier l'apparence du portail utilisateur](/theming)
* [Ajouter un stockage externe](/external_storage)
* [Migrer ses emails vers YunoHost](/email_migration)
* [YunoHost avec un service caché Tor](/torhiddenservice)
* [Utilisation de certificats autres que Let's Encrypt](/certificate_custom)
+ * [(vieux) Procedure de Migration Jessie->Stretch](jessie_stretch_migration)
* [Guide de dépannage](/troubleshooting_guide)
- * [Débloquer une IP dans Fail2ban](/fail2ban)
* [Changer le mot de passe d’administration](/change_admin_password)
+ * [Récupérer l'accès à son serveur](/noaccess)
+ * [Débannir une IP dans Fail2ban/IPtables](/fail2ban)
diff --git a/collabora_en.md b/app_collaboradocker.md
similarity index 100%
rename from collabora_en.md
rename to app_collaboradocker.md
diff --git a/collabora_fr.md b/app_collaboradocker_fr.md
similarity index 100%
rename from collabora_fr.md
rename to app_collaboradocker_fr.md
diff --git a/apps_group_PR_model.md b/apps_group_PR_model.md
deleted file mode 100644
index 82c5e940..00000000
--- a/apps_group_PR_model.md
+++ /dev/null
@@ -1,46 +0,0 @@
-## Problem
-- *Description of why you made this PR*
-
-## Solution
-- *And how you fix that*
-
-## PR Status
-*Obviously, you should really check these affirmations*
-Work finished. Package_check, basic tests and upgrade from last version OK.
-Could be reviewed and tested.
-
-## Validation
----
-*Minor decision*
-- [ ] **Upgrade previous version** :
-- [ ] **Code review** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **CI succeeded** : [/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link*
-When the PR is mark as ready to merge, you have to wait for 3 days before really merge it.
-
-*Medium decision*
-- [ ] **Complete test** :
-- [ ] **Upgrade previous version** :
-- [ ] **Code review** :
-- [ ] **Code review** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **CI succeeded** : [/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link*
-When the PR is mark as ready to merge, you have to wait for 7 days before really merge it.
-
-*Major decision*
-- [ ] **Complete test** :
-- [ ] **Complete test** :
-- [ ] **Upgrade previous version** :
-- [ ] **Upgrade previous version** :
-- [ ] **Code review** :
-- [ ] **Code review** :
-- [ ] **Code review** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **Approval (LGTM)** :
-- [ ] **CI succeeded** : [/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link*
-When the PR is mark as ready to merge, you have to wait for 7 days before really merge it.
diff --git a/appsdoc.md b/appsdoc.md
new file mode 100644
index 00000000..1c5ef65c
--- /dev/null
+++ b/appsdoc.md
@@ -0,0 +1,32 @@
+- [Baikal](app_baikal)
+- [Blogotext](app_blogotext)
+- [Collabora (Docker)](app_collaboradocker)
+- [Dokuwiki](app_dokuwiki)
+- [FirefoxSync](app_ffsync)
+- [Fireflyiii](app_firefly_iii)
+- [FluxBB](app_fluxbb)
+- [Gogs](app_gogs)
+- [Hextris](app_hextris)
+- [Jappix](app_jappix)
+- [Limesurvey](app_limesurvey)
+- [Mediawiki](app_mediawiki)
+- [Minidlna](app_minidlna)
+- [CustomWebapp](app_my_webapp)
+- [Netdata](app_netdata)
+- [Noalyss](app_noalyss)
+- [Peertube](app_peertube)
+- [Pihole](app_pihole)
+- [Piwigo](app_piwigo)
+- [Pleroma](app_pleroma)
+- [Pluxml](app_pluxml)
+- [Radicale](app_radicale)
+- [Rainloop](app_rainloop)
+- [Sogo](app_sogo)
+- [Spip](app_spip)
+- [Transmission](app_transmission)
+- [TinyTinyRSS](app_ttrss)
+- [Wallabag2](app_wallabag2)
+- [Webtrees](app_webtrees)
+- [Yunofav](app_yunofav)
+- (Note that you can add a new page here if you want to start document in another `app...))
+
diff --git a/contributordoc.md b/contributordoc.md
index 9fb24915..31bc784e 100644
--- a/contributordoc.md
+++ b/contributordoc.md
@@ -32,3 +32,4 @@
* [Raspberry Pi images](https://github.com/YunoHost/rpi-image)
* [Other ARM board images](https://github.com/YunoHost/arm-images)
* [Using the YunoHost API outside of the webadmin](/admin_api)
+* [A discussion about shell variable scope](shell_variables_scope)
diff --git a/contributordoc_fr.md b/contributordoc_fr.md
index 0b37388b..57ad494d 100644
--- a/contributordoc_fr.md
+++ b/contributordoc_fr.md
@@ -33,3 +33,4 @@
* [Images Raspberry Pi](https://github.com/YunoHost/rpi-image)
* [Autres images pour cartes ARM](https://github.com/YunoHost/arm-images)
* [Utiliser l'API YunoHost en dehors de la webadmin](/admin_api)
+* [Une discussion sur la portée des variables en bash](shell_variables_scope)
diff --git a/create_live_usb.md b/create_live_usb.md
deleted file mode 100644
index bcf39bc2..00000000
--- a/create_live_usb.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Create a YunoHost Live ISO
-
-
This page is deprecated / obsolete / outdated. Information
-it contains should be updated (or should be removed).
-
-Tested on Debian Wheezy (should work on Ubuntu as well).
-Original tutorial here: http://willhaley.com/blog/create-a-custom-debian-live-environment/
-
-**Warning**: I have **highlighted** all the places you should be in the **chroot** environment.
-
-1. Install applications we need to build the environment.
-```bash
-sudo apt-get install debootstrap syslinux squashfs-tools genisoimage memtest86+ rsync
-```
-
-2. Setup the base Debian environment. I am using wheezy for my distribution and i386 for the architecture. Please do change your mirror if you are not in the Netherlands or know of a mirror close to you.
-```bash
-mkdir live_boot && cd live_boot
-sudo debootstrap --arch=i386 --variant=minbase wheezy chroot http://ftp.nl.debian.org/debian/
-```
-
-3. A couple of important steps before we chroot.
-```bash
-sudo mount -o bind /dev chroot/dev && sudo cp /etc/resolv.conf chroot/etc/resolv.conf
-```
-
-4. Chroot to our Debian environment.
-```bash
-sudo chroot chroot
-```
-
-5. **chroot**
-Set a few required variables and system settings in our Debian environment.
-```bash
-mount none -t proc /proc &&
-mount none -t sysfs /sys &&
-mount none -t devpts /dev/pts &&
-export HOME=/root &&
-export LC_ALL=C &&
-apt-get install dialog dbus --yes &&
-dbus-uuidgen > /var/lib/dbus/machine-id &&
-apt-get update
-```
-
-6. **chroot** Set the root password to **yunohost**
-```bash
-passwd root
-```
-
-7. **chroot** Install the required packages, replace the kernel version if needed.
-```bash
-apt-get install --no-install-recommends \
-linux-image-3.2.0-4-486 live-boot \
-net-tools wireless-tools wpagui tcpdump wget openssh-client \
-xserver-xorg-core xserver-xorg xinit xterm \
-pciutils usbutils gparted ntfsprogs hfsprogs rsync dosfstools syslinux partclone nano pv \
-chromium-browser libnss3-tools openbox git ca-certificates openssl
-```
-
-8. **chroot** NetworkManager can break your network configuration in the chroot environment. You can install it afterward, and CTRL-C during the installation
-```bash
-apt-get --no-install-recommends install network-manager
-```
-
-9. **chroot** Install YunoHost
-```bash
-git clone https://github.com/YunoHost/install_script /tmp/yunohost_install
-cd /tmp/yunohost_install && ./install_yunohost -a
-```
-
-10. **chroot** Set parameters in order to launch everything right
-```bash
-echo "127.0.0.1 yunohost.org" >> /etc/hosts
-echo "chromium --user-data-dir=/root/.config/chromium --app=https://yunohost.org/yunohost/admin/" >> /etc/xdg/openbox/autostart
-echo -e "if [ -z \"\$DISPLAY\" ] && [ \$(tty) == /dev/tty1 ]; \nthen \n startx \nfi" >> /root/.bashrc
-certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n YunoHostCA -i /etc/yunohost/certs/yunohost.org/ca.pem
-certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YunoHostCrt -i /etc/yunohost/certs/yunohost.org/crt.pem
-```
-
-11. **chroot** Edit `/etc/inittab` to login automatically
-```bash
-nano /etc/inittab
-# Replace the following line
-1:2345:respawn:/sbin/getty 38400 tty1
-# by this one
-1:2345:respawn:/bin/login -f root tty1 /dev/tty1 2>&1
-```
-
-12. **chroot** Clean up our Debian environment before leaving.
-```bash
-rm -f /var/lib/dbus/machine-id &&
-apt-get clean &&
-rm -rf /tmp/* &&
-rm /etc/resolv.conf &&
-umount -lf /proc &&
-umount -lf /sys &&
-umount -lf /dev/pts
-# Then exit
-exit
-```
-
-13. Unmount dev from the chroot
-```bash
-sudo umount -lf chroot/dev
-```
-
-14. Make directories that will be copied to our bootable medium.
-```bash
-mkdir -p image/{live,isolinux}
-```
-
-15. Compress the chroot environment into a Squash filesystem.
-```bash
-sudo mksquashfs chroot image/live/filesystem.squashfs -e boot
-```
-
-16. Prepare our USB/CD bootloader.
-```bash
-cp chroot/boot/vmlinuz-3.2.0-4-486 image/live/vmlinuz1 &&
-cp chroot/boot/initrd.img-3.2.0-4-486 image/live/initrd1
-```
-
-17. Create `image/isolinux/isolinux.cfg` menu for the bootloader.
-
-```bash
-UI menu.c32
-
-prompt 0
-menu title YunoHost Live
-
-timeout 300
-
-label YunoHost Live
-menu label ^YunoHost Live
-menu default
-kernel /live/vmlinuz1
-append initrd=/live/initrd1 boot=live
-```
-
-### Build the .iso
-
-Copy files necessary for the ISO to boot and then create the ISO
-
-```bash
-cp /usr/lib/syslinux/isolinux.bin image/isolinux/ &&
-cp /usr/lib/syslinux/menu.c32 image/isolinux/
-cd image && genisoimage -rational-rock -volid "YunoHost Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../yunohost-live.iso . && cd ..
-```
-
-Great success! Now you can burn the .iso or use [Unetbootin](http://unetbootin.sourceforge.net/) to copy it on a USB stick.
diff --git a/create_live_usb_fr.md b/create_live_usb_fr.md
deleted file mode 100644
index 5ea68d8b..00000000
--- a/create_live_usb_fr.md
+++ /dev/null
@@ -1,152 +0,0 @@
-# Créer une Live ISO de YunoHost
-
-This page is deprecated / obsolete / outdated. Information
-it contains should be updated (or should be removed).
-
-Testé sur Debian Wheezy (devrait marcher sur Ubuntu également).
-Tutoriel original : http://willhaley.com/blog/create-a-custom-debian-live-environment/
-
-**Attention** : toutes les sections où vous devrez être dans un environnement **chroot** sont **surlignées**.
-
-1. Installation des applications nécessaires à la compilation de l’environnement
-```bash
-sudo apt-get install debootstrap syslinux squashfs-tools genisoimage memtest86+ rsync
-```
-
-2. Configuration de l’environnement de base Debian. Debian wheezy et une architecture i386 ont été utilisés pour effectuer les tests.
-Changer le miroir si vous n’êtes pas aux Pays-Bas ou que vous connaissez un miroir plus proche.
-
-```bash
-mkdir live_boot && cd live_boot
-sudo debootstrap --arch=i386 --variant=minbase wheezy chroot http://ftp.nl.debian.org/debian/
-```
-
-3. Deux étapes importantes avant de chroot :
-```bash
-sudo mount -o bind /dev chroot/dev && sudo cp /etc/resolv.conf chroot/etc/resolv.conf
-```
-
-4. Chroot l’environnement Debian :
-```bash
-sudo chroot chroot
-```
-
-5. **chroot**
-Configuration de variables et d’options système de l’environnement Debian :
-```bash
-mount none -t proc /proc &&
-mount none -t sysfs /sys &&
-mount none -t devpts /dev/pts &&
-export HOME=/root &&
-export LC_ALL=C &&
-apt-get install dialog dbus --yes &&
-dbus-uuidgen > /var/lib/dbus/machine-id &&
-apt-get update
-```
-
-6. **chroot** Configuration du mot de passe root de **yunohost** :
-```bash
-passwd root
-```
-
-7. **chroot** Installation des paquets requis, remplacement du noyau si nécessaire :
-```bash
-apt-get install --no-install-recommends \
-linux-image-3.2.0-4-486 live-boot \
-net-tools wireless-tools wpagui tcpdump wget openssh-client \
-xserver-xorg-core xserver-xorg xinit xterm \
-pciutils usbutils gparted ntfsprogs hfsprogs rsync dosfstools syslinux partclone nano pv \
-chromium-browser libnss3-tools openbox git ca-certificates openssl
-```
-
-8. **chroot** Le NetworkManager peut casser la configuration de votre environnement chroot. Il est possible de l’installer a posteriori et d’annuler en pressant CTRL-C pendant l’installation.
-```bash
-apt-get --no-install-recommends install network-manager
-```
-
-9. **chroot** Installation de YunoHost :
-```bash
-git clone https://github.com/YunoHost/install_script /tmp/yunohost_install
-cd /tmp/yunohost_install && ./install_yunohost -a
-```
-
-10. **chroot** Configuration des paramètres :
-```bash
-echo "127.0.0.1 yunohost.org" >> /etc/hosts
-echo "chromium --user-data-dir=/root/.config/chromium --app=https://yunohost.org/yunohost/admin/" >> /etc/xdg/openbox/autostart
-echo -e "if [ -z \"\$DISPLAY\" ] && [ \$(tty) == /dev/tty1 ]; \nthen \n startx \nfi" >> /root/.bashrc
-certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n YunoHostCA -i /etc/yunohost/certs/yunohost.org/ca.pem
-certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YunoHostCrt -i /etc/yunohost/certs/yunohost.org/crt.pem
-```
-
-11. **chroot** Éditer `/etc/inittab` pour se connecter automatiquement :
-```bash
-nano /etc/inittab
-# Remplacer la ligne suivante :
-1:2345:respawn:/sbin/getty 38400 tty1
-# par :
-1:2345:respawn:/bin/login -f root tty1 /dev/tty1 2>&1
-```
-
-12. **chroot** Nettoyage de l’environnement Debian avant de quitter :
-```bash
-rm -f /var/lib/dbus/machine-id &&
-apt-get clean &&
-rm -rf /tmp/* &&
-rm /etc/resolv.conf &&
-umount -lf /proc &&
-umount -lf /sys &&
-umount -lf /dev/pts
-# Puis exit
-exit
-```
-
-13. Démonter dev du chroot :
-```bash
-sudo umount -lf chroot/dev
-```
-
-14. Créer les répertoires qui seront copiés dans le média bootable :
-```bash
-mkdir -p image/{live,isolinux}
-```
-
-15. Compresser l’environnement chroot dans un système de fichier Squash :
-```bash
-sudo mksquashfs chroot image/live/filesystem.squashfs -e boot
-```
-
-16. Préparer le bootloader USB/CD :
-```bash
-cp chroot/boot/vmlinuz-3.2.0-4-486 image/live/vmlinuz1 &&
-cp chroot/boot/initrd.img-3.2.0-4-486 image/live/initrd1
-```
-
-17. Créer le menu `image/isolinux/isolinux.cfg` pour le bootloader.
-
-```bash
-UI menu.c32
-
-prompt 0
-menu title YunoHost Live
-
-timeout 300
-
-label YunoHost Live
-menu label ^YunoHost Live
-menu default
-kernel /live/vmlinuz1
-append initrd=/live/initrd1 boot=live
-```
-
-### Compiler le .iso
-
-Copier les fichiers nécessaires au démarrage de l’ISO et créer l’ISO :
-
-```bash
-cp /usr/lib/syslinux/isolinux.bin image/isolinux/ &&
-cp /usr/lib/syslinux/menu.c32 image/isolinux/
-cd image && genisoimage -rational-rock -volid "YunoHost Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../yunohost-live.iso . && cd ..
-```
-
-Félicitations ! L’ISO peut désormais être gravée ou utilisée avec [Unetbootin](http://unetbootin.sourceforge.net/) pour la copier sur une clé USB.
diff --git a/docs.md b/docs.md
index 5dd8fa41..7b05f70c 100644
--- a/docs.md
+++ b/docs.md
@@ -20,8 +20,9 @@ YunoHost's documentation has 2 different sections:
* Project's life:
* [Frequently asked questions](/faq)
+ * [Project news](/news)
* [Project organization](/project_organization)
- * [Blog](https://forum.yunohost.org/c/announcement)
+ * [Project budget](/project_budget)
* [Forum](https://forum.yunohost.org)
* [Chat rooms](/chat_rooms)
* [Communication](/communication)
diff --git a/docs_fr.md b/docs_fr.md
index f8c7b56f..b236385f 100644
--- a/docs_fr.md
+++ b/docs_fr.md
@@ -20,10 +20,11 @@ La documentation de YunoHost s’articule autour de deux sections :
* Vie du projet :
* [Foire aux questions](/faq)
- - [Organisation du projet](/project_organization)
- * [Blog](https://forum.yunohost.org/c/announcement)
- - [Forum](https://forum.yunohost.org)
- - [Salons de discussions](/chat_rooms)
+ * [Nouvelles du projet](/news)
+ * [Organisation du projet](/project_organization)
+ * [Budget previsionnel](/project_budget)
+ * [Forum](https://forum.yunohost.org)
+ * [Salons de discussions](/chat_rooms)
* [Communication extérieure](/communication)
* [Support / Aide](/help)
diff --git a/noaccess.md b/noaccess.md
new file mode 100644
index 00000000..a2ed2d20
--- /dev/null
+++ b/noaccess.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](noaccess_fr) for now.
diff --git a/vpn_advantage.md b/vpn_advantage.md
index e69de29b..d2244385 100644
--- a/vpn_advantage.md
+++ b/vpn_advantage.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](vpn_advantage_fr) for now.