N.B. : Instalar YunoHost en VirtualBox es útil para probar la distribución. Para realmente autoalojarse a largo plazo, probablement necesitarás una máquina virtual (viejo ordenador, tarjeta ARM...) o un VPS.
@@ -73,4 +73,4 @@ Si te encuentras con el error "VT-x is not available", probablement hay que acti
Después del reinicio, la máquina debería proponerte de efectuar la post-instalación :
-
diff --git a/install_on_virtualbox_fr.md b/install_on_virtualbox_fr.md
index f83a3151..d99807af 100644
--- a/install_on_virtualbox_fr.md
+++ b/install_on_virtualbox_fr.md
@@ -1,13 +1,13 @@
# Installer YunoHost sur VirtualBox
-*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.*
+*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.*
## Prérequis
* Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle.
-* La dernière **image ISO YunoHost** stable, disponible [ici](/images_fr).
+* La dernière **image ISO YunoHost** stable, disponible [ici](/images).
N.B. : Installer YunoHost dans une VirtualBox est utile pour tester la
diff --git a/install_on_vps_es.md b/install_on_vps_es.md
index 0263d71f..f6eb2eb7 100644
--- a/install_on_vps_es.md
+++ b/install_on_vps_es.md
@@ -1,6 +1,6 @@
# Instalación en un servidor dedicado
-*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.*
+*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.*
## Prerrequisitos
@@ -14,7 +14,7 @@
## Etapas de instalación
-
1. Instalar manualmente
+
1. Instalar manualmente
-
2. Post-instalación
+
2. Post-instalación
diff --git a/install_on_vps_fr.md b/install_on_vps_fr.md
index 9194d9b7..a0924cb8 100644
--- a/install_on_vps_fr.md
+++ b/install_on_vps_fr.md
@@ -1,6 +1,6 @@
# Installation sur un serveur dédié
-*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.*
+*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.*
## Prérequis
@@ -14,6 +14,6 @@
## Étapes d’installation
-
1. Installer manuellement
+
1. Installer manuellement
-
2. Effectuer la configuration initiale (post-installation)
+
2. Effectuer la configuration initiale (post-installation)
diff --git a/isp.md b/isp.md
index d84d9e87..ba3f8626 100644
--- a/isp.md
+++ b/isp.md
@@ -1,12 +1,12 @@
# Internet service providers
-
Main configuration box
+
Main configuration box
Here is a non-comprehensive list of internet service providers by country, which contains criteria about tolerance to self-hosting.
A "no" may cause problems for using your server or may require you to make additional configuration changes. Status in brackets indicates the default behavior.
-A list of French and Belgian ISPs is available on the [french page](/isp_fr).
+A list of French and Belgian ISPs is available on the [french page](/isp).
### USA
| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP |
diff --git a/isp_box_config.md b/isp_box_config.md
index 465a82eb..883889c0 100644
--- a/isp_box_config.md
+++ b/isp_box_config.md
@@ -28,16 +28,16 @@ In your router admin interface, look for something like 'router configuration' o
Opening the ports listed below is necessary for the various services available in YunoHost to work. For each of them, the 'TCP' forwarding is needed. Some interfaces refer to 'external' and 'internal' ports : these are the same in our case.
* Web: 80
(HTTP), 443
(HTTPS)
-* [SSH](/ssh_en): 22
-* [XMPP](/XMPP_en): 5222
(clients), 5269
(servers)
-* [Email](/email_en): 25, 587
(SMTP), 993
(IMAP)
+* [SSH](/ssh): 22
+* [XMPP](/XMPP): 5222
(clients), 5269
(servers)
+* [Email](/email): 25, 587
(SMTP), 993
(IMAP)
If you use both a modem and a router, then you need to do the following:
1. first on the modem (the box closest to the internet) create rules to forward the above ports to your router;
2. then on the router (the box between the modem and your devices) create rules to forward the above ports to the static IP address for your server.
- Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](isp_en) for more info.
+ Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](/isp) for more info.
## Automatic port forwarding / UPnP
diff --git a/isp_box_config_es.md b/isp_box_config_es.md
index dc239ef0..3d5b93f3 100644
--- a/isp_box_config_es.md
+++ b/isp_box_config_es.md
@@ -1,6 +1,6 @@
# Configurar la redirección de los puertos
-Si te estás auto-alojando en casa y sin VPN, tienes que redirigirse los puertos de tu router (caja/box). Si quieres una explicación sencilla de lo que es y por qué necesitas redirigir los puertos, puedes echar un vistazo a [esta página](port_forwarding_es). [Esta página](https://www.testdevelocidad.es/configuraciones/abrir-correctamente-los-puertos-router/) también propone explicaciones detalladas sobre el funcionamiento de los puertos, y las etapas de configuración para un router genérico.
+Si te estás auto-alojando en casa y sin VPN, tienes que redirigirse los puertos de tu router (caja/box). Si quieres una explicación sencilla de lo que es y por qué necesitas redirigir los puertos, puedes echar un vistazo a [esta página](/port_forwarding). [Esta página](https://www.testdevelocidad.es/configuraciones/abrir-correctamente-los-puertos-router/) también propone explicaciones detalladas sobre el funcionamiento de los puertos, y las etapas de configuración para un router genérico.
### 0. Diagnosticar los puertos abiertos
@@ -29,12 +29,12 @@ En la interfaz de administración de tu router/caja/box, tienes que encontrar un
Luego tienes que redirigir cada uno de los puertos listados a continuación hacia la IP local de tu router para que los varios servicios de Yunohost funcionen. Para cada uno de ellos, una redirección 'TCP' es necesaria. En algunas interfaces, tal vez encontrarás referencias a un puerto 'externo' y un puerto 'interno' : en nuestro caso, se trata del mismo número de puerto, que sea interno o externo.
* Web: 80
(HTTP), 443
(HTTPS)
-* [SSH](/ssh_es): 22
-* [XMPP](/XMPP_es): 5222
(clients), 5269
(servers)
-* [Email](/email_es): 25, 587
(SMTP), 993
(IMAP)
+* [SSH](/ssh): 22
+* [XMPP](/XMPP): 5222
(clients), 5269
(servers)
+* [Email](/email): 25, 587
(SMTP), 993
(IMAP)
- Algunos proveedores de acceso a Internet bloquean el puerto 25 (mail SMTP) por defecto para luchar con el spam. Otros (más escasos) no permiten utilizar libremente los puertos 80/443. Dependiendo de tu proveedor, puede ser posible de abrir estos puertos en la interfaz... Ver [esta página](isp_es) por más informaciones.
+ Algunos proveedores de acceso a Internet bloquean el puerto 25 (mail SMTP) por defecto para luchar con el spam. Otros (más escasos) no permiten utilizar libremente los puertos 80/443. Dependiendo de tu proveedor, puede ser posible de abrir estos puertos en la interfaz... Ver [esta página](/isp) por más informaciones.
## Redirección automática / UPnP
diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md
index 866b38b0..31b38b1d 100644
--- a/isp_box_config_fr.md
+++ b/isp_box_config_fr.md
@@ -1,6 +1,6 @@
# Configurer la redirection des ports
-Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un œil à [cette page-ci](port_forwarding_fr). [Cette page-là](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs.
+Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un œil à [cette page-ci](/port_forwarding). [Cette page-là](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs.
### 0. Diagnostiquer les ports ouverts
@@ -33,12 +33,12 @@ nom diffère suivant le type / marque de la box...
Il vous faut ensuite rediriger chacun des ports listés ci-dessous vers l'IP locale de votre serveur pour que les différents services de YunoHost fonctionnent. Pour chacun d'eux, une redirection 'TCP' est nécessaire. Certains interfaces font références à un port 'externe' et un port 'interne' : dans notre cas il s'agit du même.
* Web: 80
(HTTP), 443
(HTTPS)
-* [SSH](/ssh_fr): 22
-* [XMPP](/XMPP_fr): 5222
(clients), 5269
(servers)
-* [Email](/email_en): 25, 587
(SMTP), 993
(IMAP)
+* [SSH](/ssh): 22
+* [XMPP](/XMPP): 5222
(clients), 5269
(servers)
+* [Email](/email): 25, 587
(SMTP), 993
(IMAP)
- Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](isp_fr) pour plus d'informations.
+ Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](/isp) pour plus d'informations.
## Redirection automatique / UPnP
diff --git a/isp_es.md b/isp_es.md
index e0c42cf0..fed12f76 100644
--- a/isp_es.md
+++ b/isp_es.md
@@ -1,8 +1,8 @@
# Proveedores de acceso a Internet
-
Configuración general del router
+
Configuración general del router
-Aquí tienes una lista (no exhaustiva) de proveedores de acceso a Internet por país, con criterios de compatibilidad con el [self-hosting](selfhosting_es).
+Aquí tienes una lista (no exhaustiva) de proveedores de acceso a Internet por país, con criterios de compatibilidad con el [self-hosting](/selfhosting).
Un « **no** » puede implicar problemas de utilización del servidor o puede obligarte a hacer configuraciones adicionales. El estatus entre paréntesis indica el comportamiento por defecto.
@@ -14,14 +14,14 @@ Todos los proveedores de acceso a Internet [miembros de la Federación French Da
* ✔ : sí
* ✘ : no
-| Proveedor de acceso | OVH | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues
Télécom | Darty |
+| Proveedor de acceso | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Box/router** | Personal/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox |
| **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
-| **[Puerto 25 que se abre](email_fr)**
(cerrado por defecto) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
+| **[Puerto 25 que se abre](/email)**
(cerrado por defecto) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personalizable ** | ✔ | ✔ (excepto IPv6) | … | ✘ | ✘ | ✘ |
-| **[IP fija](/dns_dynamicip_es)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
+| **[IP fija](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
| **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … |
| **[No listado en el DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … |
Para obtener una lista más completa y precisa, refiérete a la muy buena documentación (fr) de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai).
@@ -30,7 +30,7 @@ Para obtener una lista más completa y precisa, refiérete a la muy buena docume
### Bélgica
-| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija |
+| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Proximus** | BBox2 | sí (activado) | sí | **no** | **no** | **no** |
| | BBox3 | sí (activado) | sí | **no** | **no** | **no** |
@@ -40,7 +40,7 @@ Para obtener una lista más completa y precisa, refiérete a la muy buena docume
### Costa de Marfil
-| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija |
+| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Orange** | Livebox2 | sí (activado) | no | **no** | **no** | **no** |
| **Moov** | | sí (activado) | | | | |
diff --git a/isp_fr.md b/isp_fr.md
index 1e8a3900..35e6d8be 100644
--- a/isp_fr.md
+++ b/isp_fr.md
@@ -1,8 +1,8 @@
# Fournisseurs d’accès à Internet
-
Configuration générale box
+
Configuration générale box
-Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](selfhosting_fr).
+Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](/selfhosting).
Un « **non** » peut entraîner des problèmes d’utilisation de votre serveur ou peut vous obliger à faire des configurations supplémentaires. Le statut entre parenthèses indique le comportement par défaut.
@@ -12,14 +12,14 @@ Tous les fournisseurs d’accès à Internet [membres de la Fédération French
* ✔ : oui
* ✘ : non
-| Fournisseur d’accès | OVH | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues
Télécom | Darty |
+| Fournisseur d’accès | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Box/routeur** | Personnel/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox |
| **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
-| **[Port 25 ouvrable](email_fr)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
+| **[Port 25 ouvrable](/email)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✔ (depuis la Livebox 4) | ✔ | ✔ |
| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personnalisable ** | ✔ | ✔ (sauf IPv6) pas de support | … | ✘ | ✘ | ✘ |
-| **[IP fixe](/dns_dynamicip_fr)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
+| **[IP fixe](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
| **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … |
| **[Non listé sur le DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … |
Pour une liste plus complète et précise, référez-vous à la très bonne documentation de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai).
@@ -28,7 +28,7 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu
### Belgique
-| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe |
+| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Proximus** | BBox2 | oui (activé) | oui | **non** | **non** | **non** |
| | BBox3 | oui (activé) | oui | **non** | **non** | **non** |
@@ -38,7 +38,7 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu
### Côte d'Ivoire
-| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe |
+| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Orange** | Livebox2 | oui (activé) | non | **non** | **non** | **non** |
| **Moov** | | oui (activé) | | | | |
diff --git a/isp_free.md b/isp_free.md
new file mode 100644
index 00000000..e97c35fb
--- /dev/null
+++ b/isp_free.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](isp_free_fr) for now.
diff --git a/isp_free_fr.md b/isp_free_fr.md
index 59242ee9..58ebb590 100644
--- a/isp_free_fr.md
+++ b/isp_free_fr.md
@@ -1,6 +1,6 @@
# Free
-*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.*
+*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.*
#### Accès à l’administration de la box (v5/v6)
@@ -14,13 +14,13 @@ Allez à l’adresse : [mafreebox.free.fr](http://mafreebox.free.fr/) puis authe
#### Ouverture des ports
-[Liste des ports à ouvrir](/isp_box_config_fr).
+[Liste des ports à ouvrir](/isp_box_config).
##### Freebox ≤ v5
Cela se passe dans la section *Ma Freebox / Configurer mon routeur*. Il faut :
-- Rediriger les [ports à ouvrir](/isp_box_config_fr) vers l'adresse locale de votre serveur YunoHost.
+- Rediriger les [ports à ouvrir](/isp_box_config) vers l'adresse locale de votre serveur YunoHost.
- Définir une DMZ vers votre serveur YunoHost.
La présence conjointe de ces deux règles permettent d'accéder à votre serveur de l'extérieur comme de l'intérieur de votre réseau local.
diff --git a/isp_orange.md b/isp_orange.md
new file mode 100644
index 00000000..c89a3e28
--- /dev/null
+++ b/isp_orange.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](isp_orange_fr) for now.
diff --git a/isp_orange_fr.md b/isp_orange_fr.md
index 56cabf4d..1c80f9fe 100644
--- a/isp_orange_fr.md
+++ b/isp_orange_fr.md
@@ -1,5 +1,5 @@
# Orange
-*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.*
+*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.*
#### Le courrier électronique
diff --git a/isp_sfr.md b/isp_sfr.md
new file mode 100644
index 00000000..e5002600
--- /dev/null
+++ b/isp_sfr.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](isp_sfr_fr) for now.
diff --git a/isp_sfr_fr.md b/isp_sfr_fr.md
index a163878f..9b159b56 100644
--- a/isp_sfr_fr.md
+++ b/isp_sfr_fr.md
@@ -1,5 +1,5 @@
#SFR
-*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.*
+*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.*
#### Accès à l’administration de la box
* Allez à cette adresse : http://192.168.1.1.
* Authentifiez-vous, soit en appuyant sur le bouton de la box pendant 5 secondes soit avec les identifiants d’administration.
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/noaccess_fr.md b/noaccess_fr.md
index 059fc32a..94d19af8 100644
--- a/noaccess_fr.md
+++ b/noaccess_fr.md
@@ -73,7 +73,7 @@ Si vous utilisez un VPN a IP fixe, peut être que celui-ci est arrivé à expira
Dans ce cas, vous pouvez peut être accéder à votre serveur avec son IP locale s'agissant probablement d'un serveur auto-hébergé chez-vous.
Pour connaître votre ip locale, certaines BOX propose une cartographie du réseau en cours avec les équipements connectés. Sinon, en ligne de commande avec linux:
-```
+```bash
sudo arp-scan --local
```
@@ -100,7 +100,7 @@ Dans ce cas il faut renouveler le nom de domaine (si ile st encore temps.
Si votre serveur ping avec son ip mais ne ping pas avec le nom de domaine alors il y a un problème de configuration au niveau du champs A.
Si c'est un nom de domaine fournit par YunoHost, lancez
-```
+```bash
yunohost dyndns update
```
diff --git a/packaging_apps.md b/packaging_apps.md
index dee9331a..5da09827 100644
--- a/packaging_apps.md
+++ b/packaging_apps.md
@@ -6,7 +6,7 @@ The purpose of this document is to teach you how to package an application for Y
To package an application, here are the requirements:
* An account on a git server (e.g. [GitHub](https://github.com/)) to publish the application;
* Basic knowledge of `git`, bash shell and other programming stuff;
-* A testing [virtual machine or a distant server](/install_en), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox_fr), to package and test the package.
+* A testing [virtual machine or a distant server](/install), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox), to package and test the package.
### Content
A YunoHost package is composed of:
@@ -21,21 +21,21 @@ A YunoHost package is composed of:
feel free to use it as a framework.
## Manifest
-
Manifest
+
Manifest
## Scripts
-
Scripts
+
Scripts
### Architecture and arguments
Since YunoHost has a unified architecture, you will be able to guess most of the settings you need. But if you need variable ones, like the domain or web path, you will have to ask the administrator at installation (see `arguments` section in the manifest above).
-
Arguments management
+
Arguments management
### Nginx configuration
-
Nginx configuration
+
Nginx configuration
### Multi-instance
-
Multi-instance
+
Multi-instance
### Hooks
YunoHost provides a hook system, which is accessible via the packager's script callbacks in command line.
@@ -46,7 +46,7 @@ The scripts have to be placed in the `hooks` repository at the root of the YunoH
Take a look at the [Nextcloud package](https://github.com/YunoHost-Apps/nextcloud_ynh/) for a working example.
### Helpers
-
Helpers
+
Helpers
### Registering a log file
@@ -85,7 +85,7 @@ In order to test your package, you can execute your script standalone as `admin`
su - admin -c "/bin/bash /path/to/my/script my_arg1 my_arg2"
```
-Or you can use [command line](/commandline_en):
+Or you can use [command line](/commandline):
```bash
yunohost app install /path/to/my/app/package
```
@@ -97,14 +97,14 @@ yunohost app install https://github.com/author/my_app_package.git
### Packaging best practices
Here is a list of best practices for application install scripts:
* scripts should use `sudo cp -a ../sources/. $final_path` instead of `sudo cp -a ../sources/* $final_path`;
-* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and [trap](packaging_apps_trap_fr);
+* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and [trap](/packaging_apps_trap);
* install script should use the command-line method instead of calls to curl through web install form;
* install script should save install answers;
* application sources should be checked with a control sum (sha256, sha1 or md5) or a PGP signature;
* scripts should be tested on Debian Stretch 32 bits, 64 bits and ARM architectures;
* backup and restore scripts should be present and functional.
-To be define the quality of a package, it'll obtained a [level](packaging_apps_levels_fr), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines).
+To be define the quality of a package, it'll obtained a [level](/packaging_apps_levels), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines).
### Package script checker
Package checker
@@ -124,7 +124,7 @@ A continuous integration server is available for packagers who want to test thei
* Publishing a [post on the Forum](https://forum.yunohost.org/) with the [`App integration` category](https://forum.yunohost.org/c/app-integration), to ask for testing and feedback on your application.
-* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](apps_en)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`.
+* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](/apps)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`.
* If your application is *not* free software, then in the future, a non-official list might be created to handle them but is non-existent yet.
diff --git a/packaging_apps_arguments_management.md b/packaging_apps_arguments_management.md
index e967af6b..130e3de4 100644
--- a/packaging_apps_arguments_management.md
+++ b/packaging_apps_arguments_management.md
@@ -1,4 +1,4 @@
-
Application packaging
+
Application packaging
## Arguments management
#### Retrieve arguments in the install script from manifest
diff --git a/packaging_apps_arguments_management_fr.md b/packaging_apps_arguments_management_fr.md
index 28471773..5d66e707 100644
--- a/packaging_apps_arguments_management_fr.md
+++ b/packaging_apps_arguments_management_fr.md
@@ -1,4 +1,4 @@
-
Packaging d’application
+
Packaging d’application
## Gestion des arguments
#### Récupérer les arguments du manifeste dans le script d’installation
diff --git a/packaging_apps_fr.md b/packaging_apps_fr.md
index 7e06bae8..df480230 100644
--- a/packaging_apps_fr.md
+++ b/packaging_apps_fr.md
@@ -6,10 +6,10 @@ Ce document a pour but de vous apprendre à packager une application pour YunoHo
Pour packager une application, voici les prérequis :
* Un compte sur un serveur git comme [GitHub](https://github.com/) pour pouvoir ensuite publier l’application ;
* Maîtriser un minimum `git`, le Shell et d’autres notions de programmation ;
-* Une [machine virtuelle ou sur un serveur distant](/install_fr) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox_fr), pour packager et tester son paquet.
+* Une [machine virtuelle ou sur un serveur distant](/install) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox), pour packager et tester son paquet.
-Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start_fr).
+Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start).
### Contenu
Un paquet YunoHost est composé :
@@ -23,27 +23,27 @@ Un paquet YunoHost est composé :
Paquet de base n’hésitez pas à vous en servir comme base de travail.
## Manifeste
-
Manifeste
+
Manifeste
## Les scripts
-
Scripts
+
Scripts
### Architecture et arguments
Comme les instances de YunoHost possèdent une architecture unifiée, vous serez capable de deviner la plupart des réglages nécessaires. Mais si vous avez besoin de réglages spécifiques, comme le nom de domaine ou un chemin web pour configurer l’application, vous devrez les demander aux administrateurs lors de l’installation (voir la section `arguments` dans le § **Manifeste** ci-dessus).
-
Gestion des arguments
+
Gestion des arguments
### Configuration Nginx
-
Configuration Nginx
+
Configuration Nginx
### Multi-instance
-
Multi-instance
+
Multi-instance
### Hooks
-
Hooks
+
Hooks
### Commandes pratiques
-
Commandes pratiques
+
Commandes pratiques
### Référencement des logs
Dans de nombreuses situations, vous pouvez vouloir indexer un fichier de log pour qu'il soit affiché dans la webadmin. Pour indexer un log, il faut créer un fichier d'indexation dans `/var/log/yunohost/categories/app/APPNAME.yml`.
@@ -79,14 +79,14 @@ Ces informations seront utilisées pour permettre de filtrer les logs en relatio
### Améliorer la qualité du paquet d’installation
Vous trouverez ci-dessous une liste des points à vérifier concernant la qualité de vos scripts :
* Vos scripts utilisent bien `sudo cp -a ../sources/. $final_path` plutôt que `sudo cp -a ../sources/* $final_path` ;
-* Votre script d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap_fr) ;
+* Votre script d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap) ;
* Votre script d’installation utilise une méthode d’installation en ligne de commande plutôt qu’un appel curl via un formulaire web d’installation ;
* Votre script d’installation enregistre les réponses de l’utilisateur ;
* Vous avez vérifié les sources de l’application avec une somme de contrôle (sha256, sha1 ou md5) ou une signature PGP ;
* Vos scripts ont été testés sur Debian Stretch 32 bits, 64 bits et ARM ;
* Les scripts backup et restore sont présents et fonctionnels.
-Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](packaging_apps_levels_fr), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](packaging_apps_guidelines_fr).
+Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](/packaging_apps_levels), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](/packaging_apps_guidelines).
### Script de vérification du paquet
Vérificateur de paquets
@@ -106,7 +106,7 @@ Un serveur d'intégration continue est a disposition des packagers désirant tes
* Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `App integration`](https://forum.yunohost.org/c/app-integration).
-* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](apps_fr)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`.
+* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](/apps)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`.
* Si votre application n'est *pas* sous licence libre, il se peut qu'une liste non-officielle soit créée pour gérer ces applications. Ce n'est pour l'instant pas le cas.
diff --git a/packaging_apps_guidelines.md b/packaging_apps_guidelines.md
index 0c606a94..41fe5afb 100644
--- a/packaging_apps_guidelines.md
+++ b/packaging_apps_guidelines.md
@@ -164,7 +164,7 @@ Adding an app to the [YunoHost-Apps organization](https://github.com/YunoHost-Ap
It is also a way to quickly deploy a security patch if necessary in the event that the maintainer is unavailable.
-Transfer Procedure: Ask the [chat room](chat_rooms_en) to be invited to the organization by providing the name of their GitHub account.
+Transfer Procedure: Ask the [chat room](/chat_rooms) to be invited to the organization by providing the name of their GitHub account.
Once the invitation is accepted, [transfer its deposit to the organization by following this tutorial](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/# Transferring-a-repository-to-another-user-account-or-to-an-organization).
#### YEP 1.8
@@ -221,7 +221,7 @@ Keep your code as easy as possible, keep everything a script needs directly into
#### Stabilize an app
#### YEP 2.1
##### Respect the manifest format | validated | Home | INPROGRESS |
-The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](https://yunohost.org/#/packaging_apps_manifest).
+The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](/packaging_apps_manifest).
#### YEP 2.2
##### Using bash for main scripts | validated | Home | WORKING |
@@ -287,7 +287,7 @@ It is advisable to make the scripts as generic as possible, a good way to do thi
In order to simplify packaging, standardize practices, avoid errors and increase the lifetime of a script vis-à-vis future versions of YunoHost. A set of helpers to do many actions is proposed.
For more information :
-* consult [helpers documentation](https://yunohost.org/#/packaging_apps_helpers)
+* consult [helpers documentation](/packaging_apps_helpers)
* explore [helpers directory](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d)
#### YEP 2.13
diff --git a/packaging_apps_guidelines_fr.md b/packaging_apps_guidelines_fr.md
index 4048f777..847367d4 100644
--- a/packaging_apps_guidelines_fr.md
+++ b/packaging_apps_guidelines_fr.md
@@ -165,7 +165,7 @@ L'ajout d'une app sur l'[organisation YunoHost-Apps](https://github.com/YunoHost
C'est aussi un moyen pour permettre de déployer rapidement un correctif de sécurité si nécessaire dans le cas où le mainteneur ne serait pas disponible.
-Procédure de transfert : demander sur le [salon de discussion `Apps`](chat_rooms_fr) à être invité à l’organisation en lui fournissant le nom de son compte GitHub.
+Procédure de transfert : demander sur le [salon de discussion `Apps`](/chat_rooms) à être invité à l’organisation en lui fournissant le nom de son compte GitHub.
Une fois l’invitation acceptée, [transférer son dépôt sur l’organisation en suivant ce tutoriel](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-a-repository-to-another-user-account-or-to-an-organization).
#### YEP 1.8
@@ -222,7 +222,7 @@ Gardez votre code aussi simple que possible, gardez tout ce dont un script a bes
#### Stabiliser une app
#### YEP 2.1
##### Respecter le format du manifeste | validé | auto | INPROGRESS |
-Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](https://yunohost.org/#/packaging_apps_manifest).
+Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](/packaging_apps_manifest).
#### YEP 2.2
##### Utiliser bash pour les scripts principaux | validé | auto | WORKING |
@@ -289,7 +289,7 @@ Il est conseillé de rendre les scripts le plus générique possible, un bon moy
Afin de simplifier le packaging, d'uniformiser les pratiques, d'éviter les erreurs et d'augmenter la durée de vie d'un script vis-à-vis des futures versions de YunoHost. Un ensemble de helpers permettant de faire de nombreuses actions est proposé.
Pour plus d'informations :
-* consulter [la documentation des helpers](https://yunohost.org/#/packaging_apps_helpers_fr)
+* consulter [la documentation des helpers](/packaging_apps_helpers)
* explorer [le répertoire des helpers](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d)
#### YEP 2.13
diff --git a/packaging_apps_hooks.md b/packaging_apps_hooks.md
new file mode 100644
index 00000000..748cc17d
--- /dev/null
+++ b/packaging_apps_hooks.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](packaging_apps_hooks_fr) for now.
diff --git a/packaging_apps_hooks_fr.md b/packaging_apps_hooks_fr.md
index 76578e28..c81dc654 100644
--- a/packaging_apps_hooks_fr.md
+++ b/packaging_apps_hooks_fr.md
@@ -115,7 +115,7 @@ backup_name=$1
##### `post_app_install`, `post_app_upgrade`, `post_app_remove` et `post_app_change_url`
-Les variables utilisables dans ces scripts sont les mêmes que celles disponibles dans [les scripts d'actions associés](/packaging_apps_scripts_fr).
+Les variables utilisables dans ces scripts sont les mêmes que celles disponibles dans [les scripts d'actions associés](/packaging_apps_scripts).
Example: pour `post_app_install` les variables sont les mêmes que pour le script `install`
diff --git a/packaging_apps_manifest.md b/packaging_apps_manifest.md
index d757bdba..f4407aa1 100644
--- a/packaging_apps_manifest.md
+++ b/packaging_apps_manifest.md
@@ -1,4 +1,4 @@
-
Application packaging
+
Application packaging
## Manifest
The `manifest.json` file defines the app's constants, a bunch of values that YunoHost needs to identify the app and install it correctly. It looks like this:
@@ -71,7 +71,7 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun
- **requirements**: dependency of the application package to a Debian YunoHost package version. For instance, "yunohost": ">> 2.3.12", `yunohost` package version must be up to `2.3.12`.
-* [**multi_instance**](packaging_apps_multiinstance_en): it defines app's ability to be installed multiple times.
+* [**multi_instance**](/packaging_apps_multiinstance): it defines app's ability to be installed multiple times.
* **services**: services needed by the application among `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`…
diff --git a/packaging_apps_manifest_fr.md b/packaging_apps_manifest_fr.md
index 72791575..50a9c611 100644
--- a/packaging_apps_manifest_fr.md
+++ b/packaging_apps_manifest_fr.md
@@ -1,4 +1,4 @@
-
Packaging d’application
+
Packaging d’application
## Manifeste
Le fichier `manifest.json` définit les constantes de l’application, un ensemble de valeurs dont YunoHost a besoin pour identifier l’application et l’installer correctement. Voici un exemple :
@@ -71,7 +71,7 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb
- **requirements** : dépendance du paquet de l’application à la version d’un paquet Debian de YunoHost. Par exemple : "yunohost": ">> 2.3.12", le paquet `yunohost` doit être de version supérieur à `2.3.12`.
-* [**multi_instance**](packaging_apps_multiinstance_fr) : capacité d’une application d’être installée plusieurs fois.
+* [**multi_instance**](/packaging_apps_multiinstance) : capacité d’une application d’être installée plusieurs fois.
* **services** : liste des services nécessaires au fonctionnement de l’application. `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`…
diff --git a/packaging_apps_multiinstance.md b/packaging_apps_multiinstance.md
index 7f847ba5..03bc6680 100644
--- a/packaging_apps_multiinstance.md
+++ b/packaging_apps_multiinstance.md
@@ -1,4 +1,4 @@
-
Application packaging
+
Application packaging
### Multi-instance
Multi-instance is application capacity to be installed several times.
@@ -6,7 +6,7 @@ Multi-instance is application capacity to be installed several times.
#### Scripts
When YunoHost installs the application, it passes `$YNH_APP_INSTANCE_NAME` var to the script, set to value `id__n` with the application `id` coming from the manifest and `n` being an integer incremented each time a new instance of the application is installed.
-**E.g.** in the roundcube script, database is called `roundcube`, the install directory `roundcube` and the [Nginx configuration](packaging_apps_nginx_conf_en) `roundcube`. This way, the second instance of roundcube will not conflict with the first one, and will be installed in the `roundcube__2` database, in the `roundcube__2`directory, and with the `roundcube__2` Nginx configuration.
+**E.g.** in the roundcube script, database is called `roundcube`, the install directory `roundcube` and the [Nginx configuration](/packaging_apps_nginx_conf) `roundcube`. This way, the second instance of roundcube will not conflict with the first one, and will be installed in the `roundcube__2` database, in the `roundcube__2`directory, and with the `roundcube__2` Nginx configuration.
Retrieve app identifier (including the multi-instance id):
```bash
@@ -14,7 +14,7 @@ app=$YNH_APP_INSTANCE_NAME
```
#### Manifest
-Set `multi_instance` variable to `true` in the [manifest](packaging_apps_manifest_en):
+Set `multi_instance` variable to `true` in the [manifest](/packaging_apps_manifest):
```json
"multi_instance": true,
```
diff --git a/packaging_apps_multiinstance_fr.md b/packaging_apps_multiinstance_fr.md
index d652343a..58a6809b 100644
--- a/packaging_apps_multiinstance_fr.md
+++ b/packaging_apps_multiinstance_fr.md
@@ -1,4 +1,4 @@
-
Packaging d’application
+
Packaging d’application
### Multi-instances
Le multi-instance est la capacité d’une application à être installée plusieurs fois.
@@ -6,7 +6,7 @@ Le multi-instance est la capacité d’une application à être installée plusi
#### Scripts
Lorsque YunoHost installe l’application, il passe au script dans la variable `$YNH_APP_INSTANCE_NAME` la valeur `id__n` avec l’identifiant de l’application `id` provenant du manifeste et `n` un nombre incrémentée à chaque nouvelle instance de l’application.
-**Par exemple** : dans le script roundcube, il faut nommer la base de données `roundcube`, le dossier d’installation `roundcube` et la [configuration Nginx](packaging_apps_nginx_conf_fr) `roundcube`. De cette manière, la seconde installation de roundcube ne rentrera pas en conflit avec la première, et sera installée dans la base de données `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`.
+**Par exemple** : dans le script roundcube, il faut nommer la base de données `roundcube`, le dossier d’installation `roundcube` et la [configuration Nginx](/packaging_apps_nginx_conf) `roundcube`. De cette manière, la seconde installation de roundcube ne rentrera pas en conflit avec la première, et sera installée dans la base de données `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`.
Récupération de l'identifiant de l'app (incluant l'id multi-instance) :
@@ -15,7 +15,7 @@ app=$YNH_APP_INSTANCE_NAME
```
#### Manifeste
-Passer la variable `multi_instance` à `true` dans le [manifeste](packaging_apps_manifest_fr) :
+Passer la variable `multi_instance` à `true` dans le [manifeste](/packaging_apps_manifest) :
```json
"multi_instance": true,
```
diff --git a/packaging_apps_scripts.md b/packaging_apps_scripts.md
index 78592f57..7d5c4a88 100644
--- a/packaging_apps_scripts.md
+++ b/packaging_apps_scripts.md
@@ -1,4 +1,4 @@
-
Application packaging
+
Application packaging
## Scripts
diff --git a/packaging_apps_scripts_fr.md b/packaging_apps_scripts_fr.md
index d17dde86..8854f287 100644
--- a/packaging_apps_scripts_fr.md
+++ b/packaging_apps_scripts_fr.md
@@ -1,4 +1,4 @@
-
Packaging d’application
+
Packaging d’application
## Les scripts
diff --git a/packaging_apps_start.md b/packaging_apps_start.md
index 9cbecf34..7f4e99de 100644
--- a/packaging_apps_start.md
+++ b/packaging_apps_start.md
@@ -43,7 +43,7 @@ Scripts used during application packaging are simply a series of bash commands.
A [bash](https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29) command is a line of text that will be interpreted by the computer and will produce a result. This is commonly refered to as a command line.
-You can ony interact with your server through the command line as it does not provide a graphical interface. Usual access is through [ssh](/ssh_en).
+You can ony interact with your server through the command line as it does not provide a graphical interface. Usual access is through [ssh](/ssh).
Package scripts are therefore a series of bash commands as if you had typed them directly in the ssh console.
@@ -53,7 +53,7 @@ To know what you can write in a bash script, you should start reading this [simp
Before starting the packaging process, you need to successfully install the application. The script will only perform what you instruct it to do.
-Once completed, you need to read a little bit more documentation about application packaging. [This one is more technical](/packaging_apps_en) but now you should understand all the wizardry.
+Once completed, you need to read a little bit more documentation about application packaging. [This one is more technical](/packaging_apps) but now you should understand all the wizardry.
### HELP! NEED BACKUP!
diff --git a/packaging_apps_start_fr.md b/packaging_apps_start_fr.md
index cb64df10..0d8c3ce8 100644
--- a/packaging_apps_start_fr.md
+++ b/packaging_apps_start_fr.md
@@ -37,7 +37,7 @@ Les scripts d'un package d'application sont simplement des commandes bash les un
#### ... Et c'est quoi une commande bash ?
Une commande [bash](https://fr.wikipedia.org/wiki/Bourne-Again_shell) c'est une ligne de texte qui sera interprétée et produira un résultat. C'est ce qu'on a l'habitude d'appeler la ligne de commande.
-Or puisque votre serveur, sur lequel est installé YunoHost, ne dispose pas d'une interface graphique, vous n'avez que la ligne de commande de disponible. Vous l'atteignez en général après vous être connecté avec [ssh](/ssh_fr).
+Or puisque votre serveur, sur lequel est installé YunoHost, ne dispose pas d'une interface graphique, vous n'avez que la ligne de commande de disponible. Vous l'atteignez en général après vous être connecté avec [ssh](/ssh).
Les scripts d'un package ne sont donc qu'une succession de commandes bash, comme si vous les aviez tapées directement dans la console ssh pour installer l'application.
@@ -47,7 +47,7 @@ Pour savoir quoi écrire dans un script bash, je vous conseille de commencer par
Avant d'envisager de faire un package d'application, il faut réussir à installer correctement la dites application. Car le script ne fera que ce que vous lui direz de faire.
-Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vrai cette fois, [celle qui emploie des mots bizarres](/packaging_apps_fr).
+Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vrai cette fois, [celle qui emploie des mots bizarres](/packaging_apps).
Mais maintenant vous devriez les comprendre tout ces mots étranges.
Mais heureusement, vous n'êtes pas seul pour affronter cette épreuve titanesque, il y a d'autres packageurs que vous pouvez venir rencontrer sur le [forum](https://forum.yunohost.org/c/apps-packaging) et sur le [salon de discussion](xmpp:apps@conference.yunohost.org?join).
diff --git a/packaging_apps_trap.md b/packaging_apps_trap.md
new file mode 100644
index 00000000..e129d61c
--- /dev/null
+++ b/packaging_apps_trap.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](packaging_apps_trap_fr) for now.
diff --git a/packaging_apps_virtualbox.md b/packaging_apps_virtualbox.md
new file mode 100644
index 00000000..c47bbfae
--- /dev/null
+++ b/packaging_apps_virtualbox.md
@@ -0,0 +1 @@
+Unfortunately, this page only exists [in french here](packaging_apps_virtualbox_fr) for now.
diff --git a/packaging_apps_virtualbox_fr.md b/packaging_apps_virtualbox_fr.md
index 1aadff27..e046139f 100644
--- a/packaging_apps_virtualbox_fr.md
+++ b/packaging_apps_virtualbox_fr.md
@@ -9,7 +9,7 @@ Il y a principalement deux raisons pour préférer l'usage d'un serveur virtuel
- Vous pouvez torturer à loisir un serveur virtuel sans courir le risque de le casser, puisque vous pourrez toujours restaurer un état précédent. Alors qu'il serait dommage de casser son propre serveur !
- Un serveur virtuel sera restauré avant de travailler dessus, pour garder en permanence un système sans résidus d'une précédente installation. Cela permet de se rapprocher au plus près d'une première installation par un utilisateur.
-Nous parlerons ici de VirtualBox, pour son approche graphique facile à utiliser. Si vous préférez une interface en ligne de commande pour la gestion de la machine virtuelle, tournez-vous de préférence vers [ynh-dev](/dev_fr).
+Nous parlerons ici de VirtualBox, pour son approche graphique facile à utiliser. Si vous préférez une interface en ligne de commande pour la gestion de la machine virtuelle, tournez-vous de préférence vers [ynh-dev](/dev).
## Installer VirtualBox
@@ -20,12 +20,12 @@ Quel que soit votre système, il ne devrait pas être nécessaire d'installer l'
## Installer YunoHost sur VirtualBox
-Suivez simplement la documentation idoine pour l'[installation sur VirtualBox](/install_on_virtualbox_fr) puis la documentation sur la [post-installation](/postinstall_fr).
+Suivez simplement la documentation idoine pour l'[installation sur VirtualBox](/install_on_virtualbox) puis la documentation sur la [post-installation](/postinstall).
Lors de la post-installation, il est inutile d'utiliser un nom de domaine en `.nohost.me` ou `.noho.st`, votre serveur virtuel ne sera pas accessible depuis l'extérieur de votre réseau local.
Nous préférerons l'usage d'un faux nom de domaine qui restera cantonné au réseau local. Par exemple, `yunohost.packaging`.
-Ce nom de domaine n'étant enregistré dans aucun serveur DNS, on l'enregistrera dans le fichier `hosts` de l'ordinateur qui y accédera. Voir la documentation sur le [DNS local](/dns_local_network_fr).
+Ce nom de domaine n'étant enregistré dans aucun serveur DNS, on l'enregistrera dans le fichier `hosts` de l'ordinateur qui y accédera. Voir la documentation sur le [DNS local](/dns_local_network).
Votre serveur virtuel est à présent installé. Avant de commencer à l'utiliser, nous allons voir comment créer un premier instantané et comment les utiliser.
diff --git a/postinstall_es.md b/postinstall_es.md
index 015515f4..7cb92da2 100644
--- a/postinstall_es.md
+++ b/postinstall_es.md
@@ -32,14 +32,14 @@ Es el nombre de dominio que permitirá el acceso a tu servidor así como al port
* YunoHost te propone un DNS dinámico, proveando nombres de dominio del tipo *midominio.nohost.me*, *midominio.noho.st* o *midominio.ynh.fr*. Si no posees un nombre de dominio y/o que quieres aprovechar de este servicio, elige un dominio terminando con `.nohost.me`, `.noho.st` o `.ynh.fr`. Si no está utlizado ya, el dominio automáticamente estará vinculado a tu servidor Yunohost, y no tendrás más etapas de configuración.
-* Si, en cambio, dominas la noción de **DNS**, puedes utilizar tu propio nombre de dominio. En este caso, refiérete a la página [yunohost.org/dns](/dns_es) por más información.
+* Si, en cambio, dominas la noción de **DNS**, puedes utilizar tu propio nombre de dominio. En este caso, refiérete a la página [yunohost.org/dns](/dns) por más información.
-* Si no tienes nombre de dominio y que no quieres uno que acabe con *.nohost.me*, *.noho.st* ou *.ynh.fr*, puedes utilizar un dominio local. Más información sobre cómo [acceder a tu servidor desde la red local](/dns_local_network_es).
+* Si no tienes nombre de dominio y que no quieres uno que acabe con *.nohost.me*, *.noho.st* ou *.ynh.fr*, puedes utilizar un dominio local. Más información sobre cómo [acceder a tu servidor desde la red local](/dns_local_network).
### Contraseña de administración
-Es la contraseña que permitirá acceder a la [interfaz de administración](/admin_es) de tu servidor. También podrás utilizarla para conectarte remotamente vía **SSH**, o vía **SFTP** para transferir archivos.
+Es la contraseña que permitirá acceder a la [interfaz de administración](/admin) de tu servidor. También podrás utilizarla para conectarte remotamente vía **SSH**, o vía **SFTP** para transferir archivos.
De manera general, ésta es la **llave de entrada en tu sistema**, pues piensa en **[elegirla atentamente](https://es.wikihow.com/escoger-una-contrase%C3%B1a-segura)**.
@@ -54,10 +54,10 @@ Si llegas aquí después de haber visto “Yunohost fue instalado con éxito" de
### ¿ Y ahora ?
-- Si te auto-alojas en casa y sin VPN, tienes que asegurarte que [los puertos de tu caja internet estén redirigidos](isp_box_config_es) ;
+- Si te auto-alojas en casa y sin VPN, tienes que asegurarte que [los puertos de tu caja internet estén redirigidos](/isp_box_config) ;
- Si utilizas tu propio nombre de dominio (i.e. que no sea un nohost.me /
- noho.st), tienes que [configurar el nombre de dominio según la configuración recomendada](dns_config_es) ;
-- Si no puedes configurar el nombre de dominio de momento (porque todavía no lo has comprado, ou porque es un dominio test), puedes solucionar temporalmente el problema con las instrucciones del último párrafo [aquí](dns_local_network_es) ;
-- No te asustes demasiado por [la advertencia a propósito del certificado](certificate_es), tendrás la posibilidad de obtener un certificado Let's Encrypt :).
-- Echa un vistazo a las [aplicaciones disponibles](apps_es) !
+ noho.st), tienes que [configurar el nombre de dominio según la configuración recomendada](/dns_config) ;
+- Si no puedes configurar el nombre de dominio de momento (porque todavía no lo has comprado, ou porque es un dominio test), puedes solucionar temporalmente el problema con las instrucciones del último párrafo [aquí](/dns_local_network) ;
+- No te asustes demasiado por [la advertencia a propósito del certificado](/certificate), tendrás la posibilidad de obtener un certificado Let's Encrypt :).
+- Echa un vistazo a las [aplicaciones disponibles](/apps) !
diff --git a/postinstall_fr.md b/postinstall_fr.md
index d02cee89..7b912a8e 100644
--- a/postinstall_fr.md
+++ b/postinstall_fr.md
@@ -33,14 +33,14 @@ C’est le nom de domaine qui permettra l’accès à votre serveur ainsi qu’a
* YunoHost propose un service de DNS dynamique fournissant des noms de domaine de type *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*. Si vous ne possédez pas de nom de domaine et/ou que vous souhaitez profiter de ce service, choisissez un domaine se terminant en `.nohost.me`, `.noho.st` ou `.ynh.fr`. S'il n'est pas déjà utilisé, le domaine sera automatiquement rattaché à votre serveur YunoHost, et vous n’aurez pas d’étape de configuration supplémentaire.
-* Si en revanche vous maîtrisez la notion de **DNS**, vous pouvez utiliser votre propre nom de domaine. Dans ce cas, référez-vous à la page [yunohost.org/dns](/dns_fr) pour plus d’informations.
+* Si en revanche vous maîtrisez la notion de **DNS**, vous pouvez utiliser votre propre nom de domaine. Dans ce cas, référez-vous à la page [yunohost.org/dns](/dns) pour plus d’informations.
-* Si vous n'avez pas de nom de domaine et que vous n'en voulez pas en *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*, vous pouvez utilisez un domaine local. Plus d'infos sur comment [accéder à son serveur depuis le réseau local](/dns_local_network_fr).
+* Si vous n'avez pas de nom de domaine et que vous n'en voulez pas en *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*, vous pouvez utilisez un domaine local. Plus d'infos sur comment [accéder à son serveur depuis le réseau local](/dns_local_network).
### Mot de passe d’administration
-C’est le mot de passe qui vous permettra d’accéder à l’[interface d’administration](/admin_fr) de votre serveur. Vous pourrez également l’utiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers.
+C’est le mot de passe qui vous permettra d’accéder à l’[interface d’administration](/admin) de votre serveur. Vous pourrez également l’utiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers.
De manière générale, c’est la **clé d’entrée à votre système**, pensez donc à la **[choisir attentivement](http://www.commentcamarche.net/faq/8275-choisir-un-bon-mot-de-passe)**.
@@ -56,16 +56,16 @@ votre navigateur ou la ligne de commande, alors félicitations !
### Et maintenant ?
- Si vous vous auto-hébergez à la maison et sans VPN, il faut vous assurer
- de bien [rediriger les ports de votre box internet](isp_box_config_fr) ;
+ de bien [rediriger les ports de votre box internet](/isp_box_config) ;
- Si vous utilisez votre propre nom de domaine (c.-à-d. pas un nohost.me /
noho.st), il vous faut [configurer le nom de domaine d'après la configuration
- recommandée](dns_config_fr) ;
+ recommandée](/dns_config) ;
- Si vous ne pouvez pas configurer le nom de domaine pour le moment (parce qu'il
n'est pas encore acheté, ou parce que c'est un domaine de test), vous pouvez
contourner temporairement le problème avec les instructions du dernier
- paragraphe [ici](dns_local_network_fr) ;
+ paragraphe [ici](/dns_local_network) ;
- Ne soyez pas trop effrayé par [l'avertissement à propos du
- certificat](certificate_fr), vous aurez probablement la possibilité
+ certificat](/certificate), vous aurez probablement la possibilité
d'installer un certificat Let's Encrypt :).
-- Jetez un oeil aux [applications disponibles](apps_fr) !
+- Jetez un oeil aux [applications disponibles](/apps) !
diff --git a/security_fr.md b/security_fr.md
index 16af38ea..8d9c94e2 100644
--- a/security_fr.md
+++ b/security_fr.md
@@ -11,9 +11,9 @@ Deux points sont néanmoins importants à noter :
* Le fait que YunoHost soit un logiciel répandu augmente les chances de subir une attaque. Si une faille est découverte, elle peut potentiellement **toucher toutes les instances YunoHost** à un temps donné. Nous nous efforçons de corriger ces failles le plus rapidement possible, pensez donc à **mettre à jour régulièrement** votre système.
-*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/help_fr).*
+*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/help).*
-*Pour discuter d'une faille de sécurité, contactez l'[équipe sécurité de YunoHost](/security_team_fr).*
+*Pour discuter d'une faille de sécurité, contactez l'[équipe sécurité de YunoHost](/security_team).*
---
@@ -178,7 +178,7 @@ sudo yunohost settings set security.ssh.compatibility -v modern
### Désactivation de l’API YunoHost
-YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut (seulement sur `localhost`). Elle permet d’administrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline_fr)** en SSH.
+YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut (seulement sur `localhost`). Elle permet d’administrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline)** en SSH.
```bash
sudo systemctl disable yunohost-api
diff --git a/selfhosting_ru.md b/selfhosting_ru.md
index 07881197..40f82c63 100644
--- a/selfhosting_ru.md
+++ b/selfhosting_ru.md
@@ -4,11 +4,11 @@
**Свой хостинг** - это сервер, расположенный у вас дома и предназначенный для размещения информации для личных нужд.
#### Обязанности администратора
-Свой хостинг создает для вас определенные обязанности, если вы хотите разместить на нём сайт, [e-mail](email_en), а также запустить [систему мгновенных сообщений](XMPP), ваш сервер должен работать и оставаться онлайн 24/7.
+Свой хостинг создает для вас определенные обязанности, если вы хотите разместить на нём сайт, [e-mail](/email), а также запустить [систему мгновенных сообщений](XMPP), ваш сервер должен работать и оставаться онлайн 24/7.
Распространенные проблемы, по причине которых сервер может быть недоступен включают в себя: отсутствие электроэнергии, потеря доступа к Интернету, итд.
-К примеру, если вы используете [e-mail](email_en) и ваш сервер по какой-то причине становится недоступен, отправленные на него сообщения будут отправлены снова только по прошествии от 3 до 7 дней.
+К примеру, если вы используете [e-mail](/email) и ваш сервер по какой-то причине становится недоступен, отправленные на него сообщения будут отправлены снова только по прошествии от 3 до 7 дней.
#### Минусы своего хостинга
* Медленная передача данных. При использовании ADSL, скорость загрузки составляет 1/10 от скорости закачки. К примеру при скорости загрузки 1Мб/с скорость загрузки будет около 100Кб/с;
diff --git a/ssh.md b/ssh.md
index 05073dbe..68084a69 100644
--- a/ssh.md
+++ b/ssh.md
@@ -95,4 +95,4 @@ yunohost user ssh list-keys
N.B. : `fail2ban` will ban your IP for 10 mimutes if you perform 5 failed login attempts. If you need to unban the IP, have a look at the page about [fail2ban](/fail2ban)
-A more extensive discussion about security & SSH can be found on the [dedicated page](security_en).
+A more extensive discussion about security & SSH can be found on the [dedicated page](/security).
diff --git a/ssh_es.md b/ssh_es.md
index 6b09207c..2cb0cba8 100644
--- a/ssh_es.md
+++ b/ssh_es.md
@@ -45,7 +45,7 @@ Si sólo conoces el IP de tu servidor :
ssh admin@111.222.333.444
```
-Luego, entra la contraseña de administración que has elegido durante la post-instalación [post-installation](postinstall_es).
+Luego, entra la contraseña de administración que has elegido durante la post-instalación [post-installation](/postinstall).
Si has configurado tus DNS (o modificar tu `/etc/hosts`), puedes utilizar tu nombre de dominio :
@@ -86,6 +86,6 @@ yunohost user ssh list-keys
## SSH y seguridad
-N.B. : `fail2ban` proscribirá tu IP durante 10 minutos si fracasas más de 5 veces consecutivas en identificarte. Si esto ocurre y que quieres re-validar tu IP, puedes echar un vistazo a la página [fail2ban](/fail2ban_es)
+N.B. : `fail2ban` proscribirá tu IP durante 10 minutos si fracasas más de 5 veces consecutivas en identificarte. Si esto ocurre y que quieres re-validar tu IP, puedes echar un vistazo a la página [fail2ban](/fail2ban)
-Encontrarás explicaciones más completa sobre la seguridad y SSH en [la página dedicada](security_es).
+Encontrarás explicaciones más completa sobre la seguridad y SSH en [la página dedicada](/security).
diff --git a/ssh_fr.md b/ssh_fr.md
index 124dac3b..dbc8243f 100644
--- a/ssh_fr.md
+++ b/ssh_fr.md
@@ -90,6 +90,6 @@ yunohost user ssh list-keys
## SSH et sécurité
-N.B. : `fail2ban` bannira votre IP pour 10 minutes si vous échouez plus de 5 fois à vous identifier. Pour débannir une IP, vous pouvez regarder la page sur [fail2ban](/fail2ban_fr)
+N.B. : `fail2ban` bannira votre IP pour 10 minutes si vous échouez plus de 5 fois à vous identifier. Pour débannir une IP, vous pouvez regarder la page sur [fail2ban](/fail2ban)
-Une discussion plus complète de la sécurité et de SSH peut être trouvée sur [la page dédiée](security_fr).
+Une discussion plus complète de la sécurité et de SSH peut être trouvée sur [la page dédiée](/security).
diff --git a/ssh_it.md b/ssh_it.md
index 5206a2d3..b172629c 100644
--- a/ssh_it.md
+++ b/ssh_it.md
@@ -89,4 +89,4 @@ yunohost user ssh list-keys
N.B.: `fail2ban` bannerà il tuo IP per 10 minuti nel caso di almeno 5 tentativi di accesso falliti. Se devi togliere il ban al tuo IP leggi la pagina relativa [fail2ban](/fail2ban)
-Una discussione più approfondita relativa a sicurezza & SSH è su [questa pagina](security_en).
+Una discussione più approfondita relativa a sicurezza & SSH è su [questa pagina](/security).
diff --git a/tests/check_code_block_syntax.sh b/tests/check_code_block_syntax.sh
new file mode 100644
index 00000000..62e83a0f
--- /dev/null
+++ b/tests/check_code_block_syntax.sh
@@ -0,0 +1,17 @@
+returncode=0
+for FILE in $(ls *.md)
+do
+ NB_OPENING=$(grep -E "^ *\`\`\` *\w+ *$" $FILE | wc -l)
+ NB_CLOSE=$(grep -E "^ *\`\`\` *$" $FILE | wc -l)
+ if [[ "$NB_OPENING" != "$NB_CLOSE" ]]
+ then
+ echo "There are some mistakes in code block syntax in $FILE ..."
+ returncode=1
+ fi
+done
+
+if [[ $returncode == 1 ]]
+then
+ echo "Make sure that all the code block in the problematic files do specific the language in the opening backticks (for example, \`\`\`bash). Otherwise, rendering in the actual website will be broken because of a bug in markdown parsing lib..."
+ exit 1
+fi
diff --git a/tests/dead_links.sh b/tests/dead_links.sh
new file mode 100644
index 00000000..f51cec96
--- /dev/null
+++ b/tests/dead_links.sh
@@ -0,0 +1,19 @@
+returncode=0
+
+# Find all markdown links and generate a list of filename.md:N:linktarget (with N the line number)
+for LINK in $(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/')
+do
+ PAGE=$(echo $LINK | awk -F: '{print $3}')
+ [ -e "$PAGE.md" ] || echo "This link looks dead (page doesn't exist in english?) $LINK"
+ [ -e "$PAGE.md" ] || returncode=1
+done
+
+# Find all HTML/href links and generate a list of filename.md:N:linktarget (with N the line number)
+for LINK in $(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"')
+do
+ PAGE=$(echo $LINK | awk -F: '{print $3}')
+ [ -e "$PAGE.md" ] || echo "This link looks dead (page doesn't exist in english?) $LINK"
+ [ -e "$PAGE.md" ] || returncode=1
+done
+
+exit $returncode
diff --git a/tests/uniformize_links.sh b/tests/uniformize_links.sh
new file mode 100644
index 00000000..9a5ab061
--- /dev/null
+++ b/tests/uniformize_links.sh
@@ -0,0 +1,15 @@
+for FILE in $(ls *.md);
+do
+ grep -q "Unfortunately, this page only exists" $FILE && continue
+
+ # Replace markdown links with full url ... we only need the relative url
+ sed -i -E 's@\(https://yunohost.org/#/(\w+)\)@(/\1)@g' $FILE
+
+ # Replace (/foo_fr) to (foo)
+ sed -i -E 's@\(\/?((\w|-)+)_(en|fr|es|it|ar|de|oc)\)@(/\1)@g' $FILE
+
+ # Replace href="/foo_fr" to href="foo"
+ sed -i -E 's@href="/?((\w|-)+)_(en|fr|es|it|ar|de|oc)"@href="/\1"@g' $FILE;
+done
+
+git checkout project_organization.md project_organization_fr.md
diff --git a/tests/unreferenced_pages.sh b/tests/unreferenced_pages.sh
new file mode 100644
index 00000000..92fa14e1
--- /dev/null
+++ b/tests/unreferenced_pages.sh
@@ -0,0 +1,25 @@
+
+
+MARKDOWN_TARGETS=$(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/' | awk -F: '{print $3}' | sort | uniq)
+HTML_TARGETS=$(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"' | awk -F: '{print $3}' | sort | uniq)
+
+ALL_TARGETS=$(echo $MARKDOWN_TARGETS $HTML_TARGETS)
+
+PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru))?.md//g' | sort | uniq)
+
+returncode=0
+
+for PAGE in $PAGES
+do
+ if [[ $PAGE == "index" ]] || [[ $PAGE == "README" ]] || [[ $PAGE == "default" ]]
+ then
+ continue
+ fi
+ if ! echo $ALL_TARGETS | grep -q -w $PAGE
+ then
+ returncode=1
+ echo "The following page is not referenced by any other page :( -> $PAGE"
+ fi
+done
+
+exit $returncode
diff --git a/troubleshooting_guide.md b/troubleshooting_guide.md
index 7bb35784..f1d85a0b 100644
--- a/troubleshooting_guide.md
+++ b/troubleshooting_guide.md
@@ -11,16 +11,16 @@ Also: https://wiki.debian.org/DontBreakDebian
### Do not install bad quality apps
-Even if it can be tempting to install every [apps](https://yunohost.org/#/apps), be careful to their quality level as a bad quality app can ultimately break your server. If you absolutely wish to install such an app, at least try to do it on a test server or check if issues has been posted to this app's Github repository or on the [forum](http://forum.yunohost.org/).
+Even if it can be tempting to install every [apps](/apps), be careful to their quality level as a bad quality app can ultimately break your server. If you absolutely wish to install such an app, at least try to do it on a test server or check if issues has been posted to this app's Github repository or on the [forum](http://forum.yunohost.org/).
### Check the official documentation
-Answer to your question may be already in [the documentation](https://yunohost.org/#/docs_en).
+Answer to your question may be already in [the documentation](/docs).
### Check the command line help
-Learn how to use the [YunoHost commands](https://yunohost.org/#/commandline) like a pro.
+Learn how to use the [YunoHost commands](/commandline) like a pro.
## Upgrade
-Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en).
+Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](/app_update).
**Check if some processes are using old libraries**
@@ -54,7 +54,7 @@ $ yunohost app upgrade -u https://github.com/user/someapp_ynh app_name
```
## Services
-YunoHost uses a bunch of software to accomplish its purpose. Most of theses software are registered as service in Debian. [More info](https://yunohost.org/#/whatsyunohost_fr).
+YunoHost uses a bunch of software to accomplish its purpose. Most of theses software are registered as service in Debian. [More info](/whatsyunohost).
### Check services status
When something doesn't work on your YunoHost, one of the first things to do is to check that all services used by YunoHost are running.
@@ -81,7 +81,7 @@ All services should be enabled and running. Except glances (optional). If some a
- **Postfix**: SMTP email server, used to send email
- **Postgrey**: greylisting policy server, if you use YunoHost email, you should [learn more about greylisting](http://en.wikipedia.org/wiki/Greylisting)
- **Slapd**: LDAP server, used for authentification (SSO and apps)
-- [**SSH**](/ssh_en): Secure Shell
+- [**SSH**](/ssh): Secure Shell
- [**SSOwat**](https://github.com/Kloadut/SSOwat/): an simple sign-on
- **YunoHost-API**: YunoHost web administration
@@ -275,7 +275,7 @@ There is no logfile for application install so when you install an app, keep the
```
## Applications
-This part is more for packager or to understand the link between Nginx and webapps. First, you should know [how to package a new app](https://yunohost.org/#/packaging_apps_en).
+This part is more for packager or to understand the link between Nginx and webapps. First, you should know [how to package a new app](/packaging_apps).
When troubleshooting an application issue can occur at several levels. There is a wide variety of applications and their deployment to YunoHost will depending on the programming language of the app. We will deal here with the most commons cases.
Applications configurations are not treated because it completely differs according to the application.
diff --git a/troubleshooting_guide_fr.md b/troubleshooting_guide_fr.md
index 6a0f1e12..15969124 100644
--- a/troubleshooting_guide_fr.md
+++ b/troubleshooting_guide_fr.md
@@ -5,22 +5,22 @@ Ce guide peut trouver son intérêt lors du débuggage d’une nouvelle applicat
## Notes générales
### Ne cassez pas YunoHost
-La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [virtualbox](install_on_virtualbox_fr) ou un [droplet DigitalOcean](install_on_vps_fr) pour 1 centime/heure.
+La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [virtualbox](/install_on_virtualbox) ou un [droplet DigitalOcean](/install_on_vps) pour 1 centime/heure.
Vous pouvez aussi lire ceci si vous avez encore envie de bricoler sur votre instance YunoHost en production : https://wiki.debian.org/DontBreakDebian
### N'installez pas d'applications de mauvaise qualité
-Bien que ce soit tentant d’installer toutes les [applications](https://yunohost.org/#/apps), faites attention à leur niveau de qualité car une mauvaise application peut casser votre serveur. Si la qualité d'une application laisse à désirez mais que vous souhaitez tout de même absolument l'installer, essayez de faire ça sur un serveur de test, ou vérifiez au minimum si des problèmes ont été remontés sur le dépôt Github associé ou bien sur le [forum](http://forum.yunohost.org/).
+Bien que ce soit tentant d’installer toutes les [applications](/apps), faites attention à leur niveau de qualité car une mauvaise application peut casser votre serveur. Si la qualité d'une application laisse à désirez mais que vous souhaitez tout de même absolument l'installer, essayez de faire ça sur un serveur de test, ou vérifiez au minimum si des problèmes ont été remontés sur le dépôt Github associé ou bien sur le [forum](http://forum.yunohost.org/).
### Vérifier la documentation officielle
-Les réponses à vos questions existent peut être déjà dans [la documentation](docs_fr).
+Les réponses à vos questions existent peut être déjà dans [la documentation](/docs).
### Vérifier l’aide dans les commandes en ligne
-Vous pouvez apprendre à utiliser les [commandes YunoHost](/commandline_fr)
+Vous pouvez apprendre à utiliser les [commandes YunoHost](/commandline)
## Mise à jour
-Les problèmes ont souvent lieu après une mise à jour. Après une mise à jour, vous pouvez avoir envie de [mettre à jour votre application](app_update_fr).
+Les problèmes ont souvent lieu après une mise à jour. Après une mise à jour, vous pouvez avoir envie de [mettre à jour votre application](/app_update).
**Vérifier si un processus utilise une ancienne librairie**
@@ -58,7 +58,7 @@ $ yunohost app upgrade -u https://github.com/user/someapp_ynh app_name
```
## Les services
-YunoHost utilise toute une série de logiciels pour fonctionner. La plupart de ces logiciels sont déclarés comme des services dans Debian [plus d’info](whatsyunohost_fr).
+YunoHost utilise toute une série de logiciels pour fonctionner. La plupart de ces logiciels sont déclarés comme des services dans Debian [plus d’info](/whatsyunohost).
### Vérifier le statut des services
Quand quelque chose ne fonctionne pas, une des premières choses à faire est de vérifier que tous les services utilisés par YunoHost sont lancés.
@@ -86,7 +86,7 @@ Voici une petite description de leurs fonctions respectives :
- **Postgrey** : serveur de listes grises, si vous utilisez YunoHost pour les mails, vous devriez regarder un peu plus sur cette question.
[En apprendre plus sur les listes grises](http://en.wikipedia.org/wiki/Greylisting)
- **Slapd** : serveur LDAP, utilisé pour l’authentification (SSO and apps)
-- [**SSH**](/ssh_en) : Secure Shell, utilisé pour l’accès distant au serveur.
+- [**SSH**](/ssh) : Secure Shell, utilisé pour l’accès distant au serveur.
- [**SSOwat**](https://github.com/Kloadut/SSOwat/) : gestionnaire simple d’authentification.
- **YunoHost-API** : administration web de YunoHost
@@ -290,7 +290,7 @@ Il n’y a pas de fichier de log créé lorsque vous installez une application.
## Applications
Cette partie concerne plus les créateurs d’applications YunoHost mais permet néanmoins de comprendre le lien entre Nginx et les applications web.
-Premièrement, vous devez savoir [comment créer un paquet pour une nouvelle application](packaging_apps_fr).
+Premièrement, vous devez savoir [comment créer un paquet pour une nouvelle application](/packaging_apps).
Quand vous bricolez une application, des erreurs peuvent avoir lieu selon certains niveaux d’importance. Il y a une grande variété d’applications et le déploiement de celles-ci va dépendre du langage de programmation de l’application.
Nous allons voir ici les « cas classiques ».
diff --git a/use_case_non-profit_organisations.md b/use_case_non-profit_organisations.md
index 146494b0..f16fdf53 100644
--- a/use_case_non-profit_organisations.md
+++ b/use_case_non-profit_organisations.md
@@ -201,4 +201,4 @@ But for production, localy stored backup are not enough, so you will need to imp
## Conclusion
YunoHost can cover 99% of the needs of non-profit organizations, allowing them to own and protect their data, choose applications they want to use.
-And if one is not available, they can [package it for YunoHost](https://yunohost.org/#/contributordoc), it's very simple.
+And if one is not available, they can [package it for YunoHost](/contributordoc), it's very simple.
diff --git a/use_case_non-profit_organisations_fr.md b/use_case_non-profit_organisations_fr.md
index 2409f3e8..5e95773f 100644
--- a/use_case_non-profit_organisations_fr.md
+++ b/use_case_non-profit_organisations_fr.md
@@ -200,4 +200,4 @@ Mais pour la production, la sauvegarde stockée localement ne suffit pas, vous d
## Conclusion
YunoHost peut couvrir 99% des besoins des organisations à but non lucratif, leur permettant de posséder et de protéger leurs données, de choisir les applications qu'elles souhaitent utiliser.
-Et s’ils ne sont pas disponibles, ils peuvent [les packager pour YunoHost](https://yunohost.org/#/contributordoc), c’est très simple.
+Et s’ils ne sont pas disponibles, ils peuvent [les packager pour YunoHost](/contributordoc), c’est très simple.
diff --git a/use_case_non-profit_organisations_oc.md b/use_case_non-profit_organisations_oc.md
index 3dc63891..946b3a54 100644
--- a/use_case_non-profit_organisations_oc.md
+++ b/use_case_non-profit_organisations_oc.md
@@ -200,4 +200,4 @@ Mas per la produccion, la salvagarda gardada localament basta pas, vos cal emple
## Conclusion
YunoHost pòt cumplir 99% dels besonhs de las organizacions sens tòca lucrativa, en lor permetent de téner e protegir lors donadas, de causir las aplicacions que vòlon utilizar.
-E se son pas disponiblas, pòdon [crear un paquet per YunoHost](https://yunohost.org/#/contributordoc), es fòrça simple.
+E se son pas disponiblas, pòdon [crear un paquet per YunoHost](/contributordoc), es fòrça simple.
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.
diff --git a/whatsyunohost_ar.md b/whatsyunohost_ar.md
index f6634cb6..d1776397 100644
--- a/whatsyunohost_ar.md
+++ b/whatsyunohost_ar.md
@@ -64,16 +64,16 @@ Constatant l’engouement croissant autour de YunoHost et de l’auto-hébergeme
YunoHost est développé pour être le plus **simple** et le moins intrusif possible pour garder la compatibilité avec Debian. Il propose uniquement un ensemble de configurations automatiques et opère via des interfaces accessibles.
-Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](selfhosting_fr) étant à nos yeux incompatible avec tout autre modèle de développement logiciel.
+Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](/selfhosting) étant à nos yeux incompatible avec tout autre modèle de développement logiciel.
-لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute_ar) ».
+لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute) ».
-لقد بُذِلت كل المجهودات مِن أجل تأمين واي يونوهوست YunoHost و **تعمية و تشفير البروتوكولات** . بإمكانكم الإطلاع على الشرح بتفاصيليه [هنا](/security_fr).
+لقد بُذِلت كل المجهودات مِن أجل تأمين واي يونوهوست YunoHost و **تعمية و تشفير البروتوكولات** . بإمكانكم الإطلاع على الشرح بتفاصيليه [هنا](/security).