Merge branch 'master' into rework_wishlist

This commit is contained in:
Alexandre Aubin 2020-09-10 15:01:25 +02:00 committed by GitHub
commit 3493c989ed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 408 additions and 76 deletions

9
OVH.md
View file

@ -12,6 +12,15 @@ Click on the **DNS Zone** tab, then on **Add an entry**:
Now you need to add the DNS redirections as specified by the [standard DNS zone configuration](/dns_config)
Click on "Change in text format", keep the first four lines :
```bash
$TTL 3600
@ IN SOA dns104.ovh.net. tech.ovh.net. (2020083101 86400 3600 3600000 60)
IN NS dns104.ovh.net.
IN NS ns104.ovh.net.
```
then erase everything below, and replace it with the configuration generated by Yunohost as explained in [this page](/dns_config).
###Dynamic IP

View file

@ -10,7 +10,14 @@ Cliquez sur l'onglet **Zone DNS**, puis sur **Ajouter une entrée**:
<img src="/images/ovh_dns_zone.png" width=800>
Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config).
Cliquer sur "Modifier en mode textuel", garder les 4 premières lignes :
```bash
$TTL 3600
@ IN SOA dns104.ovh.net. tech.ovh.net. (2020083101 86400 3600 3600000 60)
IN NS dns104.ovh.net.
IN NS ns104.ovh.net.
```
puis effacer tout ce qu'il y a en-dessous, et le remplacer par la configuration donnée par votre serveur, comme indiqué dans la [configuration DNS standard](/dns_config).
###IP dynamique

View file

@ -1,4 +1,4 @@
# <img src="/images/etherpad_mypads_logo.svg" height="80px" alt="Etherpad's logo"> Etherpad (with mypads's plugin)
# <img src="/images/etherpad_mypads_logo.svg" height="80px" alt="Etherpad's logo"> Etherpad (with MyPads's plugin)
[![Install Etherpad with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=etherpad_mypads) [![Integration level](https://dash.yunohost.org/integration/etherpad_mypads.svg)](https://dash.yunohost.org/appci/app/etherpad_mypads)
@ -13,12 +13,12 @@ Etherpad is an online free text editor working in collaborative mode and in real
Two control panels can be accessed:
+ for Etherpad: `domain.tld/admin`.
+ for My Pads: `domain.tld/mypads/?/admin`.
+ for MyPads: `domain.tld/mypads/?/admin`.
## Useful links
+ Website: [etherpad.org](https://etherpad.org/)
+ Official documentation: [etherpad.org - doc](https://etherpad.org/doc/v1.7.0/)
+ Official documentation: [etherpad.org - doc](https://etherpad.org/doc/v1.8.4/)
+ Application software repository: [github.com - YunoHost-App/etherpad_mypads](https://github.com/YunoHost-Apps/etherpad_mypads_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/etherpad_mypads/issues](https://github.com/YunoHost-Apps/etherpad_mypads_ynh/issues)

View file

@ -1,4 +1,4 @@
# <img src="/images/etherpad_mypads_logo.svg" height="80px" alt="logo de Etherpad"> Etherpad (avec plugin mypads)
# <img src="/images/etherpad_mypads_logo.svg" height="80px" alt="logo de Etherpad"> Etherpad (avec plugin MyPads)
[![Installer Etherpad avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=etherpad_mypads) [![Niveau d'intégration](https://dash.yunohost.org/integration/etherpad_mypads.svg)](https://dash.yunohost.org/appci/app/etherpad_mypads)
@ -13,12 +13,12 @@ Etherpad est un éditeur de texte libre en ligne fonctionnant en mode collaborat
Il est possible d'accéder à deux panneaux de configurations :
+ pour Etherpad : `domaine.tld/admin`
+ pour My Pads : `domaine.tld/mypads/?/admin`
+ pour MyPads : `domaine.tld/mypads/?/admin`
## Liens utiles
+ Site web : [etherpad.org (en)](https://etherpad.org/)
+ Documentation officielle : [etherpad.org - doc (en)](https://etherpad.org/doc/v1.7.0/)
+ Documentation officielle : [etherpad.org - doc (en)](https://etherpad.org/doc/v1.8.4/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-App/etherpad_mypads](https://github.com/YunoHost-Apps/etherpad_mypads_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/etherpad_mypads/issues](https://github.com/YunoHost-Apps/etherpad_mypads_ynh/issues)

View file

@ -33,5 +33,5 @@ API (mini) Comment faire :
+ Site web : [www.freshrss.org (en)](https://www.freshrss.org/)
+ Documentation officielle : [freshrss.github.io - FreshRSS](https://freshrss.github.io/FreshRSS/fr/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/freshrss](https://github.com/YunoHost-Apps/freshrss)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/freshrss](https://github.com/YunoHost-Apps/freshrss_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/freshrss/issues](https://github.com/YunoHost-Apps/freshrss_ynh/issues)

16
app_jupyterlab.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/logo-jupyterhub.png" height="80px" alt="JupyterLab Logo"> JupyterLab
[![Install JupyterLab with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=jupyterlab) [![Integration level](https://dash.yunohost.org/integration/jupyterlab.svg)](https://dash.yunohost.org/appci/app/jupyterlab)
### Index
- [Useful links](#useful-links)
JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter Notebook.
## Useful links
+ Website: [github.com - JupyterHub](https://github.com/jupyterhub/jupyterhub)
+ Official documentation: [jupyterlab.readthedocs.io](https://jupyterlab.readthedocs.io/en/stable/)
+ Application software repository: [github.com - YunoHost-Apps/jupyterlab](https://github.com/YunoHost-Apps/jupyterlab_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/jupyterlab/issues](https://github.com/YunoHost-Apps/jupyterlab_ynh/issues)

16
app_jupyterlab_fr.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/logo-jupyterhub.png" height="80px" alt="Logo de JupyterHub"> JupyterLab
[![Installer JupyterLab avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=jupyterlab) [![Integration level](https://dash.yunohost.org/integration/jupyterlab.svg)](https://dash.yunohost.org/appci/app/jupyterlab)
### Index
- [Liens utiles](#liens-utiles)
JupyterLab est une interface utilisateur de nouvelle génération pour le projet Jupyter offrant tous les modules de Jupyter Notebook (interpréteur Python, terminal, éditeur de texte, navigateur de fichiers, etc.) dans une interface utilisateur flexible et puissante. JupyterLab remplacera à terme Jupyter Notebook.
## Liens utiles
+ Site web : [github.com - JupyterHub](https://github.com/jupyterhub/jupyterhub)
+ Documentation officielle : [jupyterlab.readthedocs.io](https://jupyterlab.readthedocs.io/en/stable/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/jupyterlab](https://github.com/YunoHost-Apps/jupyterlab_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/jupyterlab/issues](https://github.com/YunoHost-Apps/jupyterlab_ynh/issues)

1
app_shaarli.md Normal file
View file

@ -0,0 +1 @@
(This page only exists in french for now)

15
app_simple-torrent.md Normal file
View file

@ -0,0 +1,15 @@
# <img src="/images/simple-torrent_logo.png" width="80px" alt="simple-torrent's logo"> Simple Torrent
[![Install Simple Torrent with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=simple-torrent) [![Integration level](https://dash.yunohost.org/integration/simple-torrent.svg)](https://dash.yunohost.org/appci/app/simple-torrent)
### Index
- [Useful links](#useful-links)
Simple Torrent is a a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP.
## Useful links
+ Official documentation: [wiki](https://github.com/boypt/simple-torrent/wiki)
+ Application software repository: [github.com - YunoHost-Apps/simple-torrent](https://github.com/YunoHost-Apps/simple-torrent_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/simple-torrent/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues)

15
app_simple-torrent_fr.md Normal file
View file

@ -0,0 +1,15 @@
# <img src="/images/simple-torrent_logo.png" width="80px" alt="logo de Simple Torrent"> Simple Torrent
[![Install Simple Torrent with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=simple-torrent) [![Integration level](https://dash.yunohost.org/integration/simple-torrent.svg)](https://dash.yunohost.org/appci/app/simple-torrent)
### Index
- [Liens utiles](#liens-utiles)
Simple Torrent est un client torrent distant auto-hébergé, écrit en Go (golang). Démarrez des torrents à distance, téléchargez des ensembles de fichiers sur le disque local du serveur, qui sont ensuite récupérables ou diffusables via HTTP.
## Liens utiles
+ Documentation officielle : [wiki](https://github.com/boypt/simple-torrent/wiki)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/simple-torrent](https://github.com/YunoHost-Apps/simple-torrent_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/simple-torrent/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues)

View file

@ -5,13 +5,16 @@
- [Archivist](app_archivist)
- [Baikal](app_baikal)
- [Bitwarden](app_bitwarden)
- [Bibliogram](app_bibliogram)
- [Blogotext](app_blogotext)
- [Borg](app_borg)
- [BoZoN](app_bozon)
- [Calibre-Web](app_calibreweb)
- [Cheky](app_cheky)
- [CiviCRM](app_civicrm_drupal7)
- [Collabora (Docker)](app_collaboradocker)
- [CodiMD](app_codimd)
- [Collabora](app_collabora)
- [Collabora (in Docker)](app_collaboradocker)
- [Concret5](app_concrete5)
- [Cowyo](app_cowyo)
- [Custom Webapp](app_my_webapp)
@ -29,6 +32,7 @@
- [Fireflyiii](app_firefly-iii)
- [Flarum](app_flarum)
- [FluxBB](app_fluxbb)
- [Framaforms](app_framaforms)
- [FreshRSS](app_freshrss)
- [Friendica](app_friendica)
- [Funkwhale](app_funkwhale)
@ -41,39 +45,60 @@
- [Gotify](app_gotify)
- [Grav](app_grav)
- [Halcyon](app_halcyon)
- [Haste](app_haste)
- [Hextris](app_hextris)
- [Horde](app_horde)
- [Hubzilla](app_hubzilla)
- [InvoiceNinja](app_invoiceninja)
- [Jappix](app_jappix)
- [Jirafeau](app_jirafeau)
- [Jitsi](app_jitsi)
- [Jupyterlab](app_jupyterlab)
- [Keeweb](app_keeweb)
- [Kresus](app_kresus)
- [Leed](app_leed)
- [Limesurvey](app_limesurvey)
- [Lstu](app_lstu)
- [Lufi](app_lufi)
- [Lutim](app_lutim)
- [Mattermost](app_mattermost)
- [Mailman](app_mailman)
- [Mediawiki](app_mediawiki)
- [Minetest](app_minetest)
- [Minidlna](app_minidlna)
- [Mobilizon](app_mobilizon)
- [Moodle](app_moodle)
- [Mumble](app_mumbleserver)
- [Navidrome](app_navidrome)
- [Netdata](app_netdata)
- [Nextcloud](app_nextcloud)
- [Noalyss](app_noalyss)
- [Opensondage](app_opensondage)
- [OSticket](app_osticket)
- [Peertube](app_peertube)
- [PHPmyadmin](app_phpmyadmin)
- [PHPsysinfo](app_phpsysinfo)
- [Pihole](app_pihole)
- [Piwigo](app_piwigo)
- [Pleroma](app_pleroma)
- [Plume](app_plume)
- [Pluxml](app_pluxml)
- [Radicale](app_radicale)
- [Rainloop](app_rainloop)
- [Searx](app_searx)
- [Shaarli](app_shaarli)
- [Shellinabox](app_shellinabox)
- [Simple-torrent](app_simple-torrent)
- [Slingcode](app_slingcode)
- [Sogo](app_sogo)
- [Spip](app_spip)
- [Strut](app_strut)
- [Transmission](app_transmission)
- [TinyTinyRSS](app_ttrss)
- [Unattended upgrades](app_unattended_upgrades)
- [Wallabag2](app_wallabag2)
- [Weblate](app_weblate)
- [Wekan](app_wekan)
- [Wiki JS](app_wikijs)
- [Webtrees](app_webtrees)
- [WordPress](app_wordpress)

View file

@ -1 +1,132 @@
Unfortunately, this page only exists [in french here](certificate_custom_fr) for now.
**Note:** since version 2.5, YunoHost integrates Let's Encrypt certificates automated management. You can easily and freely [install a Let's Encrypt certificate](/certificate). The following document describes the steps for installing a paid certificate from a certification authority (**Gandi**, **RapidSSL**, **StartSSL**, **Cacert**).
Some changes have taken place which impact the procedures indicated below:
* Metronome group is no longer used directly but ssl-cert.
* A `/etc/yunohost/certs/DOMAIN.LTD-history/stamp` directory is used to keep each configuration created and a symlink is created.
### Adding a signed certificate by an authority (other than Let's Encrypt)
After the certificate creation with your registration authority, you must have a private key, the key file, and a public certificate, the crt file.
> Note that the key file is very sensitive, it is strictly personal and must be very well secured.
These two files should be copied to the server, if they are not already there.
```bash
scp CERTIFICATE.crt admin@DOMAIN.TLD:ssl.crt
scp KEY.key admin@DOMAIN.TLD:ssl.key
```
From Windows, scp can be used with Putty, by downloading the tool [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe)
```bash
pscp -P 22 CERTIFICATE.crt admin@DOMAIN.TLD:ssl.crt
pscp -P 22 KEY.key admin@DOMAIN.TLD:ssl.key
```
As soon as the files are on the server, the rest of the work will be done on it. In [ssh](/ssh) or locally.
First, create a folder to store the obtained certificates.
```bash
sudo mkdir /etc/yunohost/certs/DOMAIN.TLD/ae_certs
sudo mv ssl.key ssl.crt /etc/yunohost/certs/DOMAIN.TLD/ae_certs/
```
Then, go to the parent folder to continue.
```bash
cd /etc/yunohost/certs/DOMAIN.TLD/
```
As a caution, back up the certificates of origin from YunoHost.
```bash
sudo mkdir yunohost_self_signed
sudo mv *.pem *.cnf yunohost_self_signed/
```
Depending on the registration authority, intermediate and root certificates must be obtained.
> **StartSSL**
> ```bash
> sudo wget http://www.startssl.com/certs/ca.pem -O ae_certs/ca.pem
> sudo wget http://www.startssl.com/certs/sub.class1.server.ca.pem -O ae_certs/intermediate_ca.pem
>```
> **Gandi**
> ```bash
> sudo wget https://www.gandi.net/static/CAs/GandiStandardSSLCA2.pem -O ae_certs/intermediate_ca.pem
>```
> **RapidSSL**
> ```bash
> sudo wget https://knowledge.rapidssl.com/library/VERISIGN/INTERNATIONAL_AFFILIATES/RapidSSL/AR1548/RapidSSLCABundle.txt -O ae_certs/intermediate_ca.pem
>```
> **Cacert**
> ```bash
> sudo wget http://www.cacert.org/certs/root.crt -O ae_certs/ca.pem
> sudo wget http://www.cacert.org/certs/class3.crt -O ae_certs/intermediate_ca.pem
>```
Intermediate and root certificates must be combined with the obtained certificate to create a unified certificate chain.
```bash
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem
```
The private key must be converted to `.pem` format.
```bash
sudo openssl rsa -in ae_certs/ssl.key -out key.pem -outform PEM
```
To ensure the certificates syntax, check the files contents.
```bash
cat crt.pem key.pem
```
The certificates and private key should look like this:
```plaintext
-----BEGIN CERTIFICATE-----
MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV
BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC
MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy
MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx
FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE
ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv
LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12
kSbN/NWP0QUiPlksOkF2NkPfwW/mf55dD1hSndlOM/5kLbSBo5ieE3TgikF0Iktj
BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW
wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf
pqdYtfvmLnA7CiEuao60i/pzVJE2LIXXXbwYjNAM+7Lov+dFT+b5FcOUGqLymSG3
kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP
9t/rrbdGzXXOCl3up99naL5XAzCIp6r5
-----END CERTIFICATE-----
```
Finally, secure your certificate files.
```bash
sudo chown root:metronome crt.pem key.pem
sudo chmod 640 crt.pem key.pem
sudo chown root:root -R ae_certs
sudo chmod 600 -R ae_certs
```
Now the certificates (two files with the extension `.pem`) must be copied in `/etc/yunohost/certs/DOMAIN.TLD`.
```bash
cp ae_certs/*.pem ./
```
Reload NGINX configuration to take into account the new certificate.
```bash
sudo service nginx reload
```
Your certificate is ready. However, you can ensure that it is in place by testing the certificate using the <a href="https://www.geocerts.com/ssl_checker" target="_blank">geocerts</a>.

View file

@ -1,22 +1,23 @@
**Note :** depuis la version 2.5, Yunohost intègre la gestion automatisée de certificats Let's Encrypt. Vous pouvez donc facilement et gratuitement [installer un certificat Let's Encrypt](/certificate). Le document suivant décrit la méthodologie pour installer un certificat, payant, d'une autre autorité de certification (**Gandi**, **RapidSSL**, **StartSSL**, **Cacert**).
**Note :** depuis la version 2.5, YunoHost intègre la gestion automatisée de certificats Let's Encrypt. Vous pouvez donc facilement et gratuitement [installer un certificat Let's Encrypt](/certificate). Le document suivant décrit la méthodologie pour installer un certificat, payant, d'une autre autorité de certification (**Gandi**, **RapidSSL**, **StartSSL**, **Cacert**).
Quelques changements ont eu lieu qui impactent les procédures indiquées ci dessous :
Quelques changements ont eu lieu qui impactent les procédures indiquées ci-dessous :
* le groupe metronome n'est plus utilisé directement mais ssl-cert
* un repertoire /etc/yunohost/certs/DOMAIN.LTD-history/stamp est utilisé pour conserver chaque configuration créée et un lien symbolique est créé dessus.
* Le groupe metronome n'est plus utilisé directement mais ssl-cert.
* Un repertoire `/etc/yunohost/certs/DOMAIN.LTD-history/stamp` est utilisé pour conserver chaque configuration créée et un lien symbolique est créé dessus.
### Ajout dun certificat signé par une autorité (autre que Let's Encrypt)
Après création du certificat auprès de votre autorité denregistrement, vous devez être en possession dune clé privée, le fichier key et dun certificat public, le fichier crt.
> Attention, le fichier key est très sensible, il est strictement personnel et doit être très bien sécurisé.
Après création du certificat auprès de votre autorité denregistrement, vous devez être en possession dune clé privée, le fichier *key* et dun certificat public, le fichier *crt*.
> Attention, le fichier *key* est très sensible, il est strictement personnel et doit être très bien sécurisé.
Ces deux fichiers doivent être copiés sur le serveur, sils ne sy trouvent pas déjà.
```bash
scp CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt
scp CLE.key admin@DOMAIN.TLD:ssl.key
```
Depuis Windows, scp est exploitable avec putty, en téléchargeant loutil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe)
Depuis Windows, scp est exploitable avec Putty, en téléchargeant loutil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe)
```bash
pscp -P 22 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt
@ -38,7 +39,7 @@ Puis allez dans le dossier parent pour poursuivre.
cd /etc/yunohost/certs/DOMAIN.TLD/
```
Faites une sauvegarde des certificats dorigine de yunohost, par précaution.
Faites une sauvegarde des certificats dorigine de YunoHost, par précaution.
```bash
sudo mkdir yunohost_self_signed
@ -75,7 +76,7 @@ Les certificats intermédiaires et root doivent être réunis avec le certificat
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem
```
La clé privée doit être, elle, convertie au format pem.
La clé privée doit être, elle, convertie au format `.pem`.
```bash
sudo openssl rsa -in ae_certs/ssl.key -out key.pem -outform PEM
@ -89,21 +90,23 @@ cat crt.pem key.pem
Les certificats et la clé privée doivent ressembler à cela :
`-----BEGIN CERTIFICATE-----`<br/>
`MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV`<br/>
`BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC`<br/>
`MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy`<br/>
`MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx`<br/>
`FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE`<br/>
`ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv`<br/>
`LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12`<br/>
`kSbN/NWP0QUiPlksOkF2NkPfwW/mf55dD1hSndlOM/5kLbSBo5ieE3TgikF0Iktj`<br/>
`BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW`<br/>
`wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf`<br/>
`pqdYtfvmLnA7CiEuao60i/pzVJE2LIXXXbwYjNAM+7Lov+dFT+b5FcOUGqLymSG3`<br/>
`kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP`<br/>
`9t/rrbdGzXXOCl3up99naL5XAzCIp6r5`<br/>
`-----END CERTIFICATE-----`
```plaintext
-----BEGIN CERTIFICATE-----
MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV
BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC
MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy
MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx
FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE
ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv
LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12
kSbN/NWP0QUiPlksOkF2NkPfwW/mf55dD1hSndlOM/5kLbSBo5ieE3TgikF0Iktj
BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW
wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf
pqdYtfvmLnA7CiEuao60i/pzVJE2LIXXXbwYjNAM+7Lov+dFT+b5FcOUGqLymSG3
kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP
9t/rrbdGzXXOCl3up99naL5XAzCIp6r5
-----END CERTIFICATE-----
```
Enfin, sécurisez les fichiers de votre certificat.
@ -114,13 +117,14 @@ sudo chown root:root -R ae_certs
sudo chmod 600 -R ae_certs
```
Maintenant les certificats (les deux fichiers avec l'extension .pem) doivent être recopiés dans /etc/yunohost/certs/DOMAIN.TLD.
Maintenant les certificats (les deux fichiers avec l'extension `.pem`) doivent être recopiés dans `/etc/yunohost/certs/DOMAIN.TLD`.
```bash
cp ae_certs/*.pem ./
```
Rechargez la configuration de nginx pour prendre en compte le nouveau certificat.
Rechargez la configuration de NGINX pour prendre en compte le nouveau certificat.
```bash
sudo service nginx reload
```

View file

@ -1,21 +1,21 @@
## Salas de chat
El proyecto YunoHost utilisa salas de chat como medio de communicación.
El proyecto YunoHost utiliza salas de chat como medio de communicación.
Puede juntarse a una sala de chat utilisando :
Puede unirse a una sala de chat utilizando :
- un [cliente IRC](https://es.wikipedia.org/wiki/Anexo:Clientes_IRC) por ejemplo [kiwiirc](https://kiwiirc.com/client/irc.freenode.net/yunohost)
- un [cliente XMPP](https://es.wikipedia.org/wiki/Anexo:Comparaci%C3%B3n_de_clientes_de_mensajer%C3%ADa_instant%C3%A1nea)
- un [Matrix](https://matrix.org/docs/guides/faq.html#what-clients-are-available%3F)
- un [cliente Matrix](https://matrix.org/docs/guides/faq.html#what-clients-are-available%3F)
#### Sala de chat de ayuda y soporte
Existe salas publica de chat de [soporte](/help) y ayuda para YunoHost:
Existen salas publicas de chat de [soporte](/help) y ayuda para YunoHost:
- IRC: **#yunohost** on irc.freenode.net ;
- Matrix: **#freenode_#yunohost:matrix.org** ;
- XMPP: **[support@conference.yunohost.org](xmpp:support@conference.yunohost.org?join)**
#### sala de chat para developers
#### sala de chat para desarrolladores
Salas de chat para el desarollo de YunoHost:
- IRC: **#yunohost-dev** on irc.freenode.net ;
@ -32,8 +32,8 @@ Estos permite la ayuda mutua para los integradores de aplicaciones y también pa
- XMPP: **[apps@conference.yunohost.org](xmpp:apps@conference.yunohost.org?join)**
#### Sala de chat de Documentación
Lugar donde la comunidad conversa sincroniza y mantiene actualisado la documentación en los aspectos varios comó (backend, frontend, apps, project, community...)
Puede tambien compartir sus materiales sobre el tema de Yunohost (videos, presentaciones, etc.).
Lugar donde la comunidad conversa sincroniza y mantiene actualisado la documentación en los aspectos varios como (backend, frontend, apps, proyecto, comunidad...)
Puede tambien compartir sus materiales sobre Yunohost (videos, presentaciones, etc.).
- IRC: **#yunohost-doc** on irc.freenode.net
- Matrix: **#freenode_#yunohost-doc:matrix.org**
- XMPP: **[doc@conference.yunohost.org](xmpp:doc@conference.yunohost.org?join)**

View file

@ -15,15 +15,15 @@
* [Manifest](packaging_apps_manifest)
* [Scripts](packaging_apps_scripts)
* [Arguments management](packaging_apps_arguments_management)
* [Arguments format](#/packaging_apps_arguments_format)
* [Arguments format](packaging_apps_arguments_format)
* [Nginx configuration](packaging_apps_nginx_conf)
* [Multi-instance](packaging_apps_multiinstance)
* [Helpers](packaging_apps_helpers)
* [Trap usage](/packaging_apps_trap)
* [Adding your app to the apps list](https://github.com/YunoHost/Apps/#contributing)
* [Advanced packaging features](#/packaging_apps_advanced)
* [Application actions](#/packaging_apps_actions)
* [Application configuration panel](#/packaging_apps_config_panel)
* [Advanced packaging features](/packaging_apps_advanced)
* [Application actions](/packaging_apps_actions)
* [Application configuration panel](/packaging_apps_config_panel)
* Quality tests
* [Package linter](https://github.com/YunoHost/package_linter)
* [Package check](https://github.com/YunoHost/package_check)

View file

@ -15,15 +15,15 @@
* [Manifest](/packaging_apps_manifest)
* [Scripts](/packaging_apps_scripts)
* [Gestion des arguments](/packaging_apps_arguments_management)
* [Format des arguments](#/packaging_apps_arguments_format)
* [Format des arguments](/packaging_apps_arguments_format)
* [Configuration nginx](/packaging_apps_nginx_conf)
* [Multi-instance](/packaging_apps_multiinstance)
* [Fonctions utiles](/packaging_apps_helpers)
* [Utilisation de 'trap'](/packaging_apps_trap)
* [Ajouter son application à la liste des apps](https://github.com/YunoHost/Apps/#contributing)
* [Feature de packaging avancées](#/packaging_apps_advanced)
* [Actions pour une application](#/packaging_apps_actions)
* [Panneau de configuration pour une application](#/packaging_apps_config_panel)
* [Feature de packaging avancées](/packaging_apps_advanced)
* [Actions pour une application](/packaging_apps_actions)
* [Panneau de configuration pour une application](/packaging_apps_config_panel)
* Tests de qualité
* [Package linter](https://github.com/YunoHost/package_linter)
* [Package check](https://github.com/YunoHost/package_check)

View file

@ -30,7 +30,7 @@ Configuring email aliases and auto-forwards
Mail aliases and forwards can be configured for each users. For instance, the first user created on the server automatically has an alias `root@the.domain.tld` configured - meaning that an email sent to this adress will end in the inbox of the first user. Automatic forwards may be configured, for instance if an user doesn't want to configure an additional email account and just wants to receive emails from the server on, say, his/her gmail address.
Another feature which few people know about is the use of suffixes beginning with "+". For example, emails sent to `johndoe+booking@votre.domaine.tld` will automatically land in the `booking` dir (lowercase) of John Doe's mailbox or in John Doe's inbox if `booking` directory doesn't exist . It is a practical technique for example to provide an e-mail address to a website, then easily sort (via automatic filters) the mail coming from this website.
Another feature which few people know about is the use of suffixes beginning with "+". For example, emails sent to `johndoe+booking@the.domain.tld` will automatically land in the `booking` dir (lowercase) of John Doe's mailbox or in John Doe's inbox if `booking` directory doesn't exist . It is a practical technique for example to provide an e-mail address to a website, then easily sort (via automatic filters) the mail coming from this website.
What happens if my server becomes unavailable ?
-----------------------------------------------

BIN
images/logo-jupyterhub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View file

@ -11,10 +11,6 @@
Before setting up a server at home, it is recommended that you know the [possible limitations imposed by your ISP](/isp). If they are too restrictive, you might consider using a VPN to bypass them.
</div>
<div class="alert alert-warning" markdown="1">
YunoHost doesn't yet support ARM64 boards. For more information, see [this issue](https://github.com/YunoHost/issues/issues/438).
</div>
## Pre-requisites
- An ARM board with 500MHz CPU and 512MB RAM ;
@ -27,7 +23,9 @@ YunoHost doesn't yet support ARM64 boards. For more information, see [this issue
## Install with the pre-installed image (recommended)
<a class="btn btn-lg btn-default" href="/images">0. Download the pre-installed image for your board</a><br><small>If no pre-installed image exists for your board, you can follow the instructions to "Install on top of ARMbian"</small>
<a class="btn btn-lg btn-default" href="/images">0. Download the pre-installed image for your board</a>
<br>
<small class="text-info">If no pre-installed image exists for your board, you can follow the instructions to "Install on top of ARMbian"</small>
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flash the SD card with the image</a>

View file

@ -11,10 +11,6 @@
Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las [posibles restricciones impuestas por tu Proveedor de Internet](/isp). Si tu proveedor es demasiado restrictivo, puedes utilizar un VPN para eludir estas restricciones.
</div>
<div class="alert alert-warning" markdown="1">
YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más informaciones, ver [este ticket](https://github.com/YunoHost/issues/issues/438).
</div>
- Una tarjeta ARM con un procesador de 500 MHz et 512 Mo de memoria RAM ;
- Un adaptador de corriente para alimentar la tarjeta ;
- Una tarjeta microSD : al menos **8 Go** y **Clase 10** (por ejemplo una [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ;
@ -25,7 +21,9 @@ YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más inf
## Instalación con la imagen pre-instalada (recomendada)
<a class="btn btn-lg btn-default" href="/images">0. Descargar la imagen pre-instalada para tu tarjeta ARM</a><br><small>Si no existe una imagen dedicada a tu tarjeta, puedes seguir la sección "Instalación encima de ARMbian".</small>
<a class="btn btn-lg btn-default" href="/images">0. Descargar la imagen pre-instalada para tu tarjeta ARM</a>
<br>
<small class="text-info">Si no existe una imagen dedicada a tu tarjeta, puedes seguir la sección "Instalación encima de ARMbian".</small>
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Poner la imagen en tu tarjeta SD</a>

View file

@ -11,10 +11,6 @@
Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissance des [possibles limitations liées à votre FAI](/isp). Si votre FAI est trop contraignant, vous pouvez envisager d'utiliser un VPN pour contourner ces limitations.
</div>
<div class="alert alert-warning" markdown="1">
YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informations, voir [ce ticket](https://github.com/YunoHost/issues/issues/438).
</div>
- Une carte ARM avec un processeur de 500 MHz et 512 Mo de mémoire vive ;
- Un adaptateur secteur pour alimenter la carte ;
- Une carte microSD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ;
@ -25,7 +21,9 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio
## Installation avec l'image pré-installée (recommandée)
<a class="btn btn-lg btn-default" href="/images">0. Télécharger l'image pré-installée pour votre carte ARM</a><br><small>Si il n'existe pas d'image pré-installée pour votre carte, vous pouvez suivre la section "Installation par dessus ARMbian".</small>
<a class="btn btn-lg btn-default" href="/images">0. Télécharger l'image pré-installée pour votre carte ARM</a>
<br>
<small class="text-info">Si il n'existe pas d'image pré-installée pour votre carte, vous pouvez suivre la section "Installation par dessus ARMbian".</small>
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flasher la carte SD avec l'image</a>

2
isp.md
View file

@ -19,7 +19,7 @@ A list of French and Belgian ISPs is available on the [french page](/isp_fr).
### UK
| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP |
| --- | --- | --- | --- | --- | --- | --- |
| BT Internet | - | - | Yes| - | - | No |
| BT Internet | Yes | - | Yes| - | - | No |
| Virgin Media | Yes | - | - | - | No | No |
### Brazil

View file

@ -19,7 +19,7 @@ Tous les fournisseurs daccès à Internet [membres de la Fédération French
| **[Port 25 ouvrable](/email)**<br> (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)<br>personnalisable ** | ✔ | ✔ (sauf IPv6, pas de support, et buggué sur certaines plages d'adresses ipv4) | … | ✘ | ✘ | ✘ |
| **[IP fixe](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | | ✔ | ✔ |
| **[IP fixe](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✔ (depuis la Livebox 4) | ✔ | ✔ |
| **[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).

View file

@ -47,7 +47,7 @@ like the `manifest.toml`/`manifest.json`.
<div class="alert alert-info">
The arguments are written in **[YunoHost Arguments
Format](#/packaging_apps_arguments_format)** like in `manifest.toml/json`
Format](/packaging_apps_arguments_format)** like in `manifest.toml/json`
</div>
The general pattern looks like this:

View file

@ -16,7 +16,7 @@ application, for example that could be:
* start a procedure
* regenerate a local cache
[Full documentation](#/packaging_apps_actions)
[Full documentation](packaging_apps_actions)
Example in the admin:
@ -33,7 +33,7 @@ possible inside the application itself.
This is generally also the place where you want to add the option to make an
application public or not.
[Full documentation](#/packaging_apps_config_panel)
[Full documentation](packaging_apps_config_panel)
Example in the admin:

View file

@ -62,7 +62,7 @@ application, next to the manifest.json/toml. It looks like this:
<div class="alert alert-info">
The options are written in **[YunoHost Arguments
Format](#/packaging_apps_arguments_format)** like in `manifest.toml/json`
Format](/packaging_apps_arguments_format)** like in `manifest.toml/json`
</div>
```toml

View file

@ -6,6 +6,7 @@ Here is a list of YunoHost sponsors, providing infrastructure and services to th
- [GITOYEN](https://gitoyen.net): association bringing together several companies and associations acting as a provider of hosting infrastructure and Internet access.
- [GLOBENET](http://www.globenet.org): activist association, at the service of freedom of expression, offering internet services.
- [LDN-NET](https://ldn-fai.net/) : association for the defense of a free, neutral and decentralized Internet whose main means of action is to be an Internet access provider associative and local.
- [NBS System](https://www.nbs-system.com/): company specialized in hosting, securing Clouds, outsourcing (Information Systems, SaaS Applications, Web Platforms) and managed services.
- [NLNET](https://nlnet.nl/): The NLnet Foundation supports organizations and people that contribute to an open information society.
- [TETANEUTRAL-NET](https://tetaneutral.net/): associative Internet access provider currently operating a radio network in Toulouse and its surroundings and a hoster.

View file

@ -6,6 +6,7 @@ Une liste des mécénes de YunoHost, fournissant l'infrastructure et des service
- [GITOYEN](https://gitoyen.net) : association regroupant plusieurs entreprises et associations intervenant comme fournisseur dinfrastructure dhébergement et daccès à Internet.
- [GLOBENET](http://www.globenet.org) : association militante, au service de la liberté dexpression, proposant des services Internet.
- [LDN-NET](https://ldn-fai.net/) : association pour la défense dun Internet libre, neutre et décentralisé dont le moyen daction principale est dêtre un fournisseur daccès Internet (FAI) assocatif et local.
- [NBS System](https://www.nbs-system.com/): société spécialisée dans lhébergement, la sécurisation de des Clouds, linfogérance (Systèmes dinformation, Applications SaaS, Plateformes web) et les services managés.
- [NLNET](https://nlnet.nl/) : La Fondation NLnet soutient les organisations et les personnes qui contribuent à une société de l'information ouverte.
- [TETANEUTRAL-NET](https://tetaneutral.net/) : fournisseur d'accès à Internet associatif opérant actuellement un réseau radio sur Toulouse et ses environs et un hébergeur.

97
ssh_de.md Normal file
View file

@ -0,0 +1,97 @@
# SSH
## Was ist SSH?
**SSH** steht für **S**ecure **Sh**ell, und bezeichnet ein Protokoll, dass es einem erlaubt über ein entferntes System auf die Kommandozeile (Command Line Interface, **CLI**) zuzugreifen. SSH ist standardmäßig auf jedem Terminal auf Linux oder Mac OS / OSX verfügbar. Für Windows ist Drittsoftware nötig, z.B. [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (Klicke nach dem Start auf Session und dann SSH).
## Während der YunoHost Installation
#### Finde deine IP
Solltest du auf einem VPS installieren, dann hat der VPS Provider die IP-Adresse, die du bei ihm erfragen solltest.
Wenn du Zuhause installierst (z.B. auf einem Raspberry Pi oder OLinuXino), dann musst du herausfinden, welche IP-Adresse dein Router dem System zugewiesen hat. Hierfür existieren mehrere Wege:
- Öffne ein Terminal und tippe `sudo arp-scan --local` ein, um eine Liste der aktiven IP-Adressen deines lokalen Netzwerks anzuzeigen;
- wenn dir der arp-scan eine zu unübersichtliche Zahl an Adressen anzeigt, versuche mit `nmap -p 22 192.168.**x**.0/24` nur die anzuzeigen, deren SSH-Port 22 offen ist. (passe das **x** deinem Netzwerk an);
- Prüfe die angezeigten Geräte in der Benutzeroberfläche deines Routers, ob du das Gerät findest;
- Schließe einen Bildschirm und Tastatur an deinen Server, logge dich ein und tippe `hostname --all-ip-address`.
#### Connect
Assuming your IP address is `111.222.333.444`, open a terminal and enter :
```bash
ssh root@111.222.333.444
```
A password will be asked. If this is a VPS, your VPS provided should have communicated you the password. If you used a pre-installed image (for x86 computer or ARM board), the password should be `yunohost`.
<div class="alert alert-warning">
Since YunoHost 3.4, after running the postinstallation, you won't be able to login as `root` anymore. Instead, **you should login using the `admin` user !** In the event that the LDAP server is broken and the `admin` user is unusable, you may still however still be able to login using `root` from the local network.
</div>
#### Change the password!
After logging in for the first time, you should change the root password. The server might automatically ask you to do so. If not, use the command `passwd`. It is important to choose a reasonably strong password. Note that the root password will be overriden by the admin password when you perform the postinstallation.
#### Let's configure !
We're now ready to begin the [post-installation](postinstall).
## After installing YunoHost
If you installed your server at home and are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server. (Reminder : since YunoHost 3.4 you should connect using the `admin` user !)
If you only know the IP address of your server :
```bash
ssh admin@111.222.333.444
```
Then, you need to enter your administrator password created at [post-installation step](postinstall).
If you configured your DNS (or tweaked your `/etc/hosts`), you can simply use your domain name :
```bash
ssh admin@your.domain.tld
```
If you changed the SSH port, you need to add `-p <portnumber>` to the command, e.g. :
```bash
ssh -p 2244 admin@your.domain.tld
```
<div class="alert alert-info">
If you are connected as `admin` and would like to become `root` for more comfort (e.g. to avoid typing `sudo` in front of every command), you can become `root` using the command `sudo su`.
</div>
## Which users?
By default, only the `admin` user can log in to YunoHost ssh server.
YunoHost's users created via the administration interface are managed by the LDAP directory. By default, they can't connect via SSH for security reasons. If you want some users to have SSH access enabled, use the command:
```bash
yunohost user ssh allow <username>
```
It is also possible to remove ssh access using the following:
```bash
yunohost user ssh disallow <username>
```
Finally, it is possible to add, delete and list ssh keys, to improve ssh access security, using the commands:
```bash
yunohost user ssh add-key <username> <key>
yunohost user ssh remove-key <username> <key>
yunohost user ssh list-keys <username>
```
## Security and SSH
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).

View file

@ -6,10 +6,10 @@ do
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
sed -i -E 's@\(\/?((\w|-)+)_(en|fr|es|it|ar|de|oc|ca)\)@(/\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;
sed -i -E 's@href="/?((\w|-)+)_(en|fr|es|it|ar|de|oc|ca)"@href="/\1"@g' $FILE;
done
git checkout project_organization.md project_organization_fr.md

View file

@ -5,7 +5,7 @@ HTML_TARGETS=$(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@
ALL_TARGETS=$(echo $MARKDOWN_TARGETS $HTML_TARGETS)
PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru))?.md//g' | sort | uniq)
PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru|ca))?\.md//g' | sort | uniq)
returncode=0