From 2fb880eeb14cbc934474f49affb012560733bace Mon Sep 17 00:00:00 2001 From: Yunobot Date: Sat, 11 Jul 2020 11:02:14 +0000 Subject: [PATCH 01/61] Added URL shortener rs-short --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index ab98a7cf..3e37bca9 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -128,6 +128,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Request Tracker](https://bestpractical.com) / [github](https://github.com/bestpractical/rt) - [Restya](http://restya.com) / [github](https://github.com/RestyaPlatform/board/) - [Retroshare](https://retroshare.cc/) / [github](https://github.com/RetroShare/RetroShare) +- [rs-short](https://git.42l.fr/42l/rs-short) An URL shortener written in Rust from 42l - [ScenariChain-server](https://download.scenari.software/SCENARIchain-server/) - [Scuttlebutt Pub](https://www.scuttlebutt.nz/contributing) - [ShareLatex](https://www.sharelatex.com) / [github](https://github.com/overleaf/overleaf) From 00e1c859059537a250f11d695a84d6a7592c53eb Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 15 Jul 2020 20:01:59 +0000 Subject: [PATCH 02/61] tidied up translation errors --- email_migration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/email_migration.md b/email_migration.md index 74b9388e..149fc4cc 100644 --- a/email_migration.md +++ b/email_migration.md @@ -2,7 +2,7 @@ *[Documentation linked to YunoHost email](/email)*. -Migration of his emails from a server to an other can be done with two recommended tools: ImapSync or Larch. +Migration of emails from one server to another can be done with two recommended tools: ImapSync or Larch. This tool must be installed on your desktop computer. The transfer method looks at this schema: @@ -16,7 +16,7 @@ Install ImapSync on your client computer by following this [guide](http://imapsy ```bash sudo dnf install imapsync # Under Fedora ``` -Transfer emails from a server to an other: +Transfer emails from one server to another: ```bash imapsync --host1 --port1 993 --ssl1 --user1 --password1 \ --host2 --port2 993 --ssl2 --user2 --password2 @@ -32,8 +32,8 @@ After beforehand installed `gem`, install `larch` on your client computer: ```bash sudo gem install larch ``` -Transfer emails from a server to an other: +Transfer emails from one server to another: ```bash larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org ``` -For other type of tranfer refer you to Larch documentation. +For other types of transfer refer to [Larch documentation](https://github.com/rgrove/larch#label-Usage). From 95fe5625548765854277226e783595b6b1ff219d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 18:32:39 +0200 Subject: [PATCH 03/61] Update certificate_custom.md Add english translation --- certificate_custom.md | 131 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 1 deletion(-) diff --git a/certificate_custom.md b/certificate_custom.md index 29b129cb..71d3d6fb 100644 --- a/certificate_custom.md +++ b/certificate_custom.md @@ -1 +1,130 @@ -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 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt +scp CLE.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 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt +pscp -P 22 CLE.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: + +`-----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 geocerts. + From a0cbd3b65ea7a3e92b3ad26c2bb93cff99537986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 18:37:48 +0200 Subject: [PATCH 04/61] Update certificate_custom_fr.md - *Typos* --- certificate_custom_fr.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/certificate_custom_fr.md b/certificate_custom_fr.md index 8cc56002..ab5edb7e 100644 --- a/certificate_custom_fr.md +++ b/certificate_custom_fr.md @@ -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 d’un certificat signé par une autorité (autre que Let's Encrypt) -Après création du certificat auprès de votre autorité d’enregistrement, vous devez être en possession d’une clé privée, le fichier key et d’un 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é d’enregistrement, vous devez être en possession d’une clé privée, le fichier *key* et d’un 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, s’ils ne s’y 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 l’outil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe) +Depuis Windows, scp est exploitable avec Putty, en téléchargeant l’outil [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 d’origine de yunohost, par précaution. +Faites une sauvegarde des certificats d’origine 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 @@ -114,13 +115,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 ``` From f67322d9b67fe6ce8a19ea5160278e356e3280e7 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 17 Jul 2020 18:42:57 +0200 Subject: [PATCH 05/61] This old syntax is nonsense, let's have a proper multiline text --- certificate_custom_fr.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/certificate_custom_fr.md b/certificate_custom_fr.md index ab5edb7e..fd097dd5 100644 --- a/certificate_custom_fr.md +++ b/certificate_custom_fr.md @@ -90,21 +90,23 @@ cat crt.pem key.pem Les certificats et la clé privée doivent ressembler à cela : -`-----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-----` +```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. From cc65bd4f079f901afadef75513b3720fb6f4a7be Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 17 Jul 2020 18:43:33 +0200 Subject: [PATCH 06/61] This old syntax is nonsense, let's have a proper multiline text --- certificate_custom.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/certificate_custom.md b/certificate_custom.md index 71d3d6fb..87a442d5 100644 --- a/certificate_custom.md +++ b/certificate_custom.md @@ -89,21 +89,23 @@ cat crt.pem key.pem The certificates and private key should look like this: -`-----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-----` +```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. From 4b56737cbac73b6b6ce184724957e23efc12c02f Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 17 Jul 2020 18:44:32 +0200 Subject: [PATCH 07/61] CERTIFICAT -> CERTIFICATE, CLE -> KEY --- certificate_custom.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/certificate_custom.md b/certificate_custom.md index 87a442d5..34666ca6 100644 --- a/certificate_custom.md +++ b/certificate_custom.md @@ -13,15 +13,15 @@ After the certificate creation with your registration authority, you must have a These two files should be copied to the server, if they are not already there. ```bash -scp CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt -scp CLE.key admin@DOMAIN.TLD:ssl.key +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 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt -pscp -P 22 CLE.key admin@DOMAIN.TLD:ssl.key +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. From 9fee6a76a6d54faefdb867a54dddb7f39447a451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 18:51:35 +0200 Subject: [PATCH 08/61] Update chat_rooms.md unify Chatroom > chat room --- chat_rooms.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/chat_rooms.md b/chat_rooms.md index 2ac36abf..5f98fc23 100644 --- a/chat_rooms.md +++ b/chat_rooms.md @@ -2,41 +2,41 @@ Amoung other communication tools, YunoHost project use chat rooms to communicate. -You could join those chat rooms using : +You could join those chat rooms using: - an [IRC Client](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) for example [kiwiirc](https://kiwiirc.com/client/irc.freenode.net/yunohost) - an [XMPP client](https://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients) - a [Matrix client](https://matrix.org/docs/guides/faq.html#what-clients-are-available%3F) -#### Help and support chatroom +#### Help and support chat room -There is a [support](/help) chatroom for YunoHost users mutual support and help. +There is a [support](/help) chat room for YunoHost users mutual support and help. -- IRC: **#yunohost** on irc.freenode.net ; -- Matrix: **#freenode_#yunohost:matrix.org** ; +- IRC: **#yunohost** on irc.freenode.net +- Matrix: **#freenode_#yunohost:matrix.org** - XMPP: **[support@conference.yunohost.org](xmpp:support@conference.yunohost.org?join)** -#### Development chatroom +#### Development chat room -YunoHost core development chat room : -- IRC: **#yunohost-dev** on irc.freenode.net ; -- Matrix: **#freenode_#yunohost-dev:matrix.org** ; +YunoHost core development chat room: +- IRC: **#yunohost-dev** on irc.freenode.net +- Matrix: **#freenode_#yunohost-dev:matrix.org** - XMPP: **[dev@conference.yunohost.org](xmpp:dev@conference.yunohost.org?join)** Currently, the main chat room for contributions on YunoHost project. For help, please see **#yunohost** chat room above. -#### Applications chatroom +#### Applications chat room Application packaging development chat room. It allow packagers to help each other. -It also allow to discuss packaging evolution, continuous integration tools : +It also allow to discuss packaging evolution, continuous integration tools: - IRC: **#yunohost-apps** on irc.freenode.net - Matrix: **#freenode_#yunohost-apps:matrix.org** - XMPP: **[apps@conference.yunohost.org](xmpp:apps@conference.yunohost.org?join)** -#### Documentation chatroom -Yunohost project documentation chat room. It allow people to discuss, synchronize and maintain +#### Documentation chat room +YunoHost project documentation chat room. It allow people to discuss, synchronize and maintain an up-to-date documentation on the differents aspects of the project (backend, frontend, apps, project, community...). -You may also share here your public communications about Yunohost (videos, presentations, etc.), to allow proper referencing. +You may also share here your public communications about YunoHost (videos, presentations, etc.), to allow proper referencing. - IRC: **#yunohost-doc** on irc.freenode.net - Matrix: **#freenode_#yunohost-doc:matrix.org** - XMPP: **[doc@conference.yunohost.org](xmpp:doc@conference.yunohost.org?join)** From b198a7662ed738e819db81be86de3c3706c8a9cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 18:55:06 +0200 Subject: [PATCH 09/61] Update chat_rooms_fr.md small fix --- chat_rooms_fr.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/chat_rooms_fr.md b/chat_rooms_fr.md index e382d234..b7a36bab 100644 --- a/chat_rooms_fr.md +++ b/chat_rooms_fr.md @@ -2,7 +2,7 @@ Parmi d’autres outils, le projet YunoHost se sert de salons de discussions pour communiquer. -Vous pouvez rejoindre ces salons avec: +Vous pouvez rejoindre ces salons avec : - un [Client IRC](https://fr.wikipedia.org/wiki/Liste_de_clients_IRC) - un [Client XMPP](https://fr.wikipedia.org/wiki/Clients_XMPP) - un [Client Matrix](https://linuxfr.org/news/matrix-pour-decentraliser-skype-whatsapp-signal-slack-et-discord) @@ -15,7 +15,7 @@ Le salon d’[entraide](/help) est là pour permettre aux utilisateurs de YunoHo - XMPP : **[support@conference.yunohost.org](xmpp:support@conference.yunohost.org?join)** #### Développement -Salon de développement du cœur de YunoHost: +Salon de développement du cœur de YunoHost : - IRC : **#yunohost-dev** sur irc.freenode.net - Matrix : **#freenode_#yunohost-dev:matrix.org** - XMPP : **[dev@conference.yunohost.org](xmpp:dev@conference.yunohost.org?join)** @@ -31,8 +31,8 @@ Il sert également à discuter de l’évolution du packaging, des outils d’in - XMPP : **[apps@conference.yunohost.org](xmpp:apps@conference.yunohost.org?join)** #### Documentation -Le salon de documentation du projet Yunohost. Il permet aux contributeurs d'échanger, pour synchroniser et maintenir une documentation à jour sur les différents aspects du projet : backend, frontend, apps, projet, communauté... -Vous pouvez aussi y partager vos communications au public à propos de Yunohost (présentations, vidéos...) pour permettre leur référencement dans la documentation. -- IRC: **#yunohost-doc** sur irc.freenode.net -- Matrix: **#freenode_#yunohost-doc:matrix.org** -- XMPP: **[doc@conference.yunohost.org](xmpp:doc@conference.yunohost.org?join)** +Le salon de documentation du projet YunoHost. Il permet aux contributeurs d'échanger, pour synchroniser et maintenir une documentation à jour sur les différents aspects du projet : backend, frontend, apps, projet, communauté... +Vous pouvez aussi y partager vos communications au public à propos de YunoHost (présentations, vidéos...) pour permettre leur référencement dans la documentation. +- IRC : **#yunohost-doc** sur irc.freenode.net +- Matrix : **#freenode_#yunohost-doc:matrix.org** +- XMPP : **[doc@conference.yunohost.org](xmpp:doc@conference.yunohost.org?join)** From 1a7dce91cd0fd14bba2b796eaab53adeb74a229b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 19:09:12 +0200 Subject: [PATCH 10/61] Update dev_fr.md - *Fix typos* --- dev_fr.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/dev_fr.md b/dev_fr.md index 7b85a6d3..3326f135 100644 --- a/dev_fr.md +++ b/dev_fr.md @@ -24,7 +24,7 @@ bug tracker est [ici](https://github.com/yunohost/issues/issues) ! - **Cœur Python/ligne de commande** : allez dans `/ynh-dev/yunohost/` - **Interface d'administration web** : allez dans `/ynh-dev/yunohost-admin/` - Vous pouvez aussi travailler sur les autres projets liés sur lesquels - s'appuie YunoHost (SSOwat, moulinette) de façon similaire. + s'appuie YunoHost (SSOwat, Moulinette) de façon similaire. ### Vue d'ensemble des 4 morceaux principaux de YunoHost @@ -40,18 +40,18 @@ Moulinette dispose de sa propre documentation [ici](https://moulinette.readthedo ##### YunoHost -C'est le coeur même de YunoHost. Il contient : +C'est le cœur même de YunoHost. Il contient : - [le code Python](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) qui gère les utilisateurs, domaines, applications, services et autres - des [helpers bash](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/helpers.d) principalement utilisés par les packageurs d'applications dans les scripts de ces applications -- des [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) et [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) qui sont utilisés pour configurer les différents éléments de l'écosystème tels que nginx, postfix, .... +- des [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) et [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) qui sont utilisés pour configurer les différents éléments de l'écosystème tels que NGINX, Postfix... - des [chaînes internationalisées](https://github.com/YunoHost/yunohost/tree/stretch-unstable/locales) - des [tests](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost/tests) ##### SSOwat -C'est le système de connexion unique (single sign-on) de YunoHost. Il contient principalement: -- [du code LUA](https://github.com/YunoHost/ssowat) interfacé directement avec nginx et qui gère tous les aspects "techniques" de l'authentification et de la gestion des accès aux ressources. -- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible par les utilisateurs de YunoHost +C'est le système de connexion unique (single sign-on) de YunoHost. Il contient principalement : +- [du code LUA](https://github.com/YunoHost/ssowat) interfacé directement avec NGINX et qui gère tous les aspects "techniques" de l'authentification et de la gestion des accès aux ressources. +- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible par les utilisateurs de YunoHost. SSOwat est configuré via `/etc/ssowat/conf.json` qui est généré par YunoHost. @@ -109,7 +109,7 @@ Il contient essentiellement : - L'interface web utilise une API pour communiquer avec YunoHost. Les commandes/requêtes de l'API sont également définies dans l'actionsmap. Par - exemple, accéder à la page ```https://domain.tld/yunohost/api/users``` + exemple, accéder à la page `https://domain.tld/yunohost/api/users` correspond à une requête `GET /users` vers l'API YunoHost. Cette requête est mappée sur `user_list()`. Accéder à cette URL devrait afficher le json retourné par cette fonction. Les requêtes 'GET' sont typiquement destinées à @@ -126,8 +126,8 @@ Il contient essentiellement : les données venant du JavaScript peuvent être utilisées avec la syntaxe `{{some-variable}}`, qui sera remplacée pendant la construction de la page. Il est également possible d'avoir des conditions avec la syntaxe - d'[handlebars.js](http://handlebarsjs.com) : ```{{#if - some-variable}}

du HTML conditionnel ici !

{{/if}}``` + d'[handlebars.js](http://handlebarsjs.com) : `{{#if + some-variable}}

du HTML conditionnel ici !

{{/if}}` - Pour l'internationalisation des messages, utilisez `y18n.t('some-string-code')` dans le JavaScript, ou `{{t 'some-string-code'}}` dans le template HTML, et @@ -137,8 +137,8 @@ Il contient essentiellement : ##### N'oubliez pas -- À chaque modification de l'actionsmap, il faut redémarrer l'API yunohost : - ```service yunohost-api restart``` +- À chaque modification de l'actionsmap, il faut redémarrer l'API YunoHost : + `service yunohost-api restart` (Il faudra retaper le mot de passe administrateur dans l'interface web) - Il faudra peut-être régulièrement forcer le rafraîchissement du cache @@ -148,8 +148,8 @@ Il contient essentiellement : ### Votre fonctionnalité est prête et vous souhaitez qu'elle soit intégrée dans YunoHost -- Forkez le dépòt correspondant sur Github, et commitez vos changements dans - une nouvelle branche, Il est recommandé de nommer la branche avec la +- Forkez le dépôt correspondant sur GitHub, et commitez vos changements dans + une nouvelle branche. Il est recommandé de nommer la branche avec la convention suivante : - Pour une nouvelle fonctionnalité ou amélioration : `enh-ISSUENUMBER-description-fonctionnalité` - Pour une correction de bug : `fix-REDMINETICKET-description-correctif` @@ -160,5 +160,3 @@ Il contient essentiellement : - Après relecture, test et validation par les autres contributeurs, votre branche sera mergée dans `unstable` ! - - From 145b85d68f046805e80879155458ee0de861333b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 19:21:46 +0200 Subject: [PATCH 11/61] Update dev.md - *Fix typos* --- dev.md | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/dev.md b/dev.md index 45015d78..6dcf0977 100644 --- a/dev.md +++ b/dev.md @@ -5,9 +5,9 @@ proceed? This guide takes you through the various steps of the development and contribution process. If you're looking for stuff to implement or fix, the bug-tracker is -[here](https://github.com/YunoHost/issues/issues) ! +[here](https://github.com/YunoHost/issues/issues)! -**Come say hi to us in the [dev chatroom](/chat_rooms)** ! +**Come say hi to us in the [dev chat room](/chat_rooms)**! ### Setting up a development environment @@ -18,11 +18,11 @@ If you're looking for stuff to implement or fix, the bug-tracker is time, commit stuff and push/pull directly from your development environment. - **Implement and test your feature**. Depending on what you want to develop, you - will want to : - - **Python/CLI core** : work in `/ynh-dev/yunohost/` - - **Web administration interface** : work in `/ynh-dev/yunohost-admin/` + will want to: + - **Python/CLI core**: work in `/ynh-dev/yunohost/` + - **Web administration interface**: work in `/ynh-dev/yunohost-admin/` - You can also work on the other projects on which YunoHost is built - (SSOwat, moulinette) in similar ways + (SSOwat, Moulinette) in similar ways ### Overview of the 4 main pieces of YunoHost @@ -38,30 +38,30 @@ small technical utilitary functions (e.g. reading/writing json). Moulinette has its own documentation available [here](https://moulinette.readthedocs.io/en/latest/). -#### Yunohost +#### YunoHost This piece is the very core of YunoHost. It contains: -- [the python code](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) that manages users, domains, apps, services and other things +- [the Python code](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) that manages users, domains, apps, services and other things - [bash helpers](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/helpers.d) mainly used by application packagers to package applications -- [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) and [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) that are used to configure the various pieces of the ecosystem such as nginx, postfix, ... +- [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) and [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) that are used to configure the various pieces of the ecosystem such as NGINX, Postfix... - [internationalized strings](https://github.com/YunoHost/yunohost/tree/stretch-unstable/locales) - [tests](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost/tests) #### SSOwat This is the single sign-on system of YunoHost. It both contains: -- [Lua scripts](https://github.com/YunoHost/ssowat) that are directly interfaced with nginx and handle all the "technical" aspects of authentication and route accesses +- [Lua scripts](https://github.com/YunoHost/ssowat) that are directly interfaced with NGINX and handle all the "technical" aspects of authentication and route accesses - the web [user portal](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) which is the interface used by YunoHost's end users to log in and browse installed apps SSOwat is configured through `/etc/ssowat/conf.json` which is generated by YunoHost. -#### Yunohost-admin +#### YunoHost-admin It is an *optional* dependency of YunoHost and corresponds to an interface for the web API created by YunoHost and Moulinette (c.f. the `yunohost-api` service). It essentially contains: - [view templates](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/views) -- corresponding [javascript controllers](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) that interact with the Yunohost API +- corresponding [javascript controllers](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) that interact with the YunoHost API - and [internationalized strings](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/locales) ### Working on the YunoHost Python/CLI core @@ -77,7 +77,7 @@ It essentially contains: category is `domain`, the action is `add`, and `some.domain.tld` is an argument. -- Moulinette will automatically map commands in the actionsmap to python +- Moulinette will automatically map commands in the actionsmap to Python functions (and their arguments) located in `src/yunohost/`. For example, typing `yunohost domain add some.domain.tld` will call the function `domain_add(domainName)` in `domain.py`, with the argument `domainName` equal @@ -107,7 +107,7 @@ It essentially contains: - The web interface uses the API to interact with YunoHost. The API commands/requests are also defined via the actionsmap. For instance, accessing - the page ```https://domain.tld/yunohost/api/users``` corresponds to a `GET + the page `https://domain.tld/yunohost/api/users` corresponds to a `GET /users` requests on the YunoHost API. It is mapped to the function `user_list()`. Accessing the URL should display the json returned by this function. 'GET' requests are typically meant to ask information to the server. @@ -120,37 +120,37 @@ It essentially contains: templates. - `views` contains the various templates for the pages of the interface. In the - template, data coming from the javascript part can be used with the syntax + template, data coming from the JavaScript part can be used with the syntax `{{some-variable}}`, which will be replaced when building/accessing the page. It is also possible to have conditions using the - [handlebars.js](http://handlebarsjs.com) syntax : ```{{#if - some-variable}}

Some conditional HTML code here !

{{/if}}``` + [handlebars.js](http://handlebarsjs.com) syntax: `{{#if + some-variable}}

Some conditional HTML code here !

{{/if}}` - For internationalized strings, use `y18n.t('some-string-code')` in the - javascript, or `{{t 'some-string-code'}}` in the HTML template, and put your + JavaScript, or `{{t 'some-string-code'}}` in the HTML template, and put your string in `locales/en.json`. Don't edit other locales files, - this will be done using [weblate](https://translate.yunohost.org/) ! + this will be done using [Weblate](https://translate.yunohost.org/)! ##### Don't forget -- Each time you edit the actionsmap or the python code, you should restart the yunohost-api : - ```systemctl restart yunohost-api``` - (You'll need to retype your admin password in the web interface) +- Each time you edit the actionsmap or the Python code, you should restart the YunoHost api: + `systemctl restart yunohost-api` + (You'll need to retype your admin and password in the web interface) - You might need to force-clear the cache of your browser sometimes to refresh - the javascript and/or html (so each time you edit something in `js` or `views`). + the JavaScript and/or HTML (so each time you edit something in `js` or `views`). ### Your feature is ready and you want it to be integrated in YunoHost -- Fork the relevant repo on Github, and commit stuff to a new branch. We recommend - to name the branch with the following convention : - - For an enhancement or new feature : `enh-ISSUENUMBER-name-of-feature` +- Fork the relevant repo on GitHub, and commit stuff to a new branch. We recommend + to name the branch with the following convention: + - For an enhancement or new feature: `enh-ISSUENUMBER-name-of-feature` - For a bugfix `fix-ISSUENUMBER-description-of-fix` - `ISSUENUMBER` is optional and is the id of a corresponding ticket on the bug tracker. -- Once you're ready, open a Pull Request (PR) on Github. Please include `[fix]` or +- Once you're ready, open a Pull Request (PR) on GitHub. Please include `[fix]` or `[enh]` at the beginning of the title of your PR. - After reviewing, testing and validation by other contributors, your branch -should be merged in `unstable` ! +should be merged in `unstable`! From 068d2af6e03f8785a391d1a239c16e8515382cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 23:11:59 +0200 Subject: [PATCH 12/61] Update admin.md - *Caps* --- admin.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/admin.md b/admin.md index d7c9b574..fcfbff27 100644 --- a/admin.md +++ b/admin.md @@ -1,6 +1,6 @@ # Administrator web interface -Yunohost has an administrator web interface. The other way to administrate your Yunohost install is through the [command line](/commandline). +YunoHost has an administrator web interface. The other way to administrate your YunoHost install is through the [command line](/commandline). ### Access @@ -9,4 +9,3 @@ You can access your administrator web interface at this address: https://example
- From b20fdebc2241f07a8373cc16a70b7e19481b7646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 23:23:17 +0200 Subject: [PATCH 13/61] Update sponsors_partners_fr.md - *Typos* --- sponsors_partners_fr.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sponsors_partners_fr.md b/sponsors_partners_fr.md index 7bdf135c..96f1df95 100644 --- a/sponsors_partners_fr.md +++ b/sponsors_partners_fr.md @@ -2,13 +2,13 @@ Afin d'avancer et de faire fonctionner le projet, en plus du travail des bénévoles et des dons, YunoHost bénéficie du soutien de mécénes et de partenaires. -Une liste des mécénes de YunoHost, fournissant l'infrastructure et des services au projets: -- [GITOYEN](https://gitoyen.net): association regroupant plusieurs entreprises et associations intervenant comme fournisseur d’infrastructure d’hébergement et d’accès à Internet. -- [GLOBENET](http://www.globenet.org): association militante, au service de la liberté d’expression, proposant des services internet. +Une liste des mécénes de YunoHost, fournissant l'infrastructure et des services au projets : +- [GITOYEN](https://gitoyen.net) : association regroupant plusieurs entreprises et associations intervenant comme fournisseur d’infrastructure d’hébergement et d’accès à Internet. +- [GLOBENET](http://www.globenet.org) : association militante, au service de la liberté d’expression, proposant des services Internet. - [LDN-NET](https://ldn-fai.net/) : association pour la défense d’un Internet libre, neutre et décentralisé dont le moyen d’action principale est d’être un fournisseur d’accès Internet (FAI) assocatif et local. -- [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. +- [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. -Une liste des partenaires de YunoHost: -- [FFDN](https://www.ffdn.org/): La fédération FDN regroupe des Fournisseurs d'Accès à Internet associatifs se reconnaissant dans des valeurs communes : bénévolat, solidarité, fonctionnement démocratique et à but non lucratif ; défense et promotion de la neutralité du Net. +Une liste des partenaires de YunoHost : +- [FFDN](https://www.ffdn.org/) : La fédération FDN regroupe des Fournisseurs d'Accès à Internet associatifs se reconnaissant dans des valeurs communes : bénévolat, solidarité, fonctionnement démocratique et à but non lucratif ; défense et promotion de la neutralité du Net. - [Framasoft](https://framasoft.org/) : association d’éducation populaire, un groupe d’ami·es convaincu·es qu’un monde numérique émancipateur est possible, persuadé·es qu’il adviendra grâce à des actions concrètes sur le terrain et en ligne avec vous et pour vous ! From 27d8c2120c941adcec94e537e58726a9183c789d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 17 Jul 2020 23:33:13 +0200 Subject: [PATCH 14/61] Update project_budget_fr.md - *Typos* --- project_budget_fr.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/project_budget_fr.md b/project_budget_fr.md index d73a948b..73a9a24b 100644 --- a/project_budget_fr.md +++ b/project_budget_fr.md @@ -4,25 +4,25 @@ ## Revenus attendus -* Dons via Liberapay: environ 45 € / semaine, soit environ 2340 € / an -* Subvention de NLNet: 20K €, à utiliser pour la R&D (TODO: publier le plan de projet une fois validé avec NLnet) +* Dons via Liberapay : environ 45 €/semaine, soit environ 2340 €/an +* Subvention de NLNet : 20K €, à utiliser pour la R&D (TODO : publier le plan de projet une fois validé avec NLnet) ## Dépenses prévues -* Location Server: ~1000€ - * Forum: 14.4€/mois: 172.80€/ans - * CI: 20€/mois (à confirmer): 240€/mois - * Migration du serveur "Bearnaise" sur une nouvelle machine: 587.2€ -* Noms de domaine: ~150€ - * nohost.me: 11.99€HT/ans - * ynh.fr: 6.99€HT/ans (doit être confirmer avec frju?) - * noho.st: ~35€ TTC/ans - * YunoHost.org: 13.99€HT/ans - * YunoHost.com: 9.99€HT/ans - * labriqueinter.net: 12.49€Ht/ans - * internetcu.be: 17.99€HT/ans -* Communication: ~200€ -* Déplacements (ex: aller aux conférences): ~500€ -* Compte banquaire fees: 7x12€ => ~100€ +* Location Server : ~1000 € + * Forum : 14.4 €/mois soit 172.80 €/ans + * CI : 20 €/mois (à confirmer) soit 240 €/mois + * Migration du serveur *Bearnaise* sur une nouvelle machine : 587.2 € +* Noms de domaine : ~150 € + * nohost.me : 11.99 €HT/ans + * ynh.fr : 6.99 €HT/ans (doit être confirmer avec frju?) + * noho.st : ~35 €TTC/ans + * yunohost.org : 13.99 €HT/ans + * yunohost.com : 9.99 €HT/ans + * labriqueinter.net : 12.49 €Ht/ans + * internetcu.be : 17.99 €HT/ans +* Communication : ~200 € +* Déplacements (ex. : aller aux conférences) : ~500 € +* Compte banquaire fees : 7×12 € soit ~100 € -**Total**: environ 2000€ +**Total** : environ 2000 € From 1d5f31e5e08499474660091963bc09977fd4cbde Mon Sep 17 00:00:00 2001 From: Yunobot Date: Tue, 21 Jul 2020 01:51:04 +0000 Subject: [PATCH 15/61] bad link to fr page --- isp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isp.md b/isp.md index dac32340..8f655cd9 100644 --- a/isp.md +++ b/isp.md @@ -6,7 +6,7 @@ Here is a non-comprehensive list of internet service providers by country, which 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). +A list of French and Belgian ISPs is available on the [french page](/isp_fr). ### USA | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | From 172115d47cb7d3a4c3bc79d5aad047d89c690b42 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Thu, 23 Jul 2020 04:29:18 +0000 Subject: [PATCH 16/61] Changed gendered pronouns to their gender-neutral equivalents --- security.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/security.md b/security.md index 8982c940..7552e072 100644 --- a/security.md +++ b/security.md @@ -1,6 +1,6 @@ # Security -YunoHost has been developed to provide the best security without too much complication. Every protocol used in YunoHost is **encrypted**, only password's hashes are stored and by default each user is able to access his personal directory only. +YunoHost has been developed to provide the best security without too much complication. Every protocol used in YunoHost is **encrypted**, only password's hashes are stored and by default each user is able to access their personal directory only. Two things remain important to note: @@ -125,7 +125,7 @@ In the case of a key authentication, a brute force attack has no chance of succe sudo adduser user_name ``` Choose a strong password, since this user will be responsible with obtaining root privileges. -Add the user to the sudo group to allow him/her to perform maintenance tasks that require root privileges. +Add the user to the sudo group to allow them to perform maintenance tasks that require root privileges. ```bash sudo adduser user_name sudo ``` From aa880493309d655fa9e75cae5339eb34adee6490 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 27 Jul 2020 18:55:33 +0200 Subject: [PATCH 17/61] s/stretch/buster --- install.md | 2 +- install_es.md | 2 +- install_fr.md | 2 +- install_it.md | 2 +- install_on_debian.md | 4 ++-- install_on_debian_fr.md | 4 ++-- install_on_debian_it.md | 6 +++--- install_on_raspberry.md | 2 +- install_on_raspberry_de.md | 2 +- install_on_raspberry_es.md | 2 +- install_on_raspberry_fr.md | 4 ++-- install_on_vps.md | 2 +- install_on_vps_es.md | 2 +- install_on_vps_fr.md | 2 +- install_on_vps_it.md | 2 +- packaging_apps.md | 4 ++-- packaging_apps_fr.md | 4 ++-- 17 files changed, 24 insertions(+), 24 deletions(-) diff --git a/install.md b/install.md index 255f78f0..39ec8e87 100644 --- a/install.md +++ b/install.md @@ -76,7 +76,7 @@ This page lists a few installation guides.
-

On Debian 9/Stretch

+

On Debian 10/Buster

diff --git a/install_es.md b/install_es.md index cb16720a..a6b597e8 100644 --- a/install_es.md +++ b/install_es.md @@ -70,7 +70,7 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías
-

Sur Debian 9/Stretch

+

Sur Debian 10/Buster

diff --git a/install_fr.md b/install_fr.md index a64868bd..9640189d 100644 --- a/install_fr.md +++ b/install_fr.md @@ -70,7 +70,7 @@ Cette page liste plusieurs types d’installations, classés par catégories.
-

Sur Debian 9/Stretch

+

Sur Debian 10/Buster

diff --git a/install_it.md b/install_it.md index 8fa8f550..94f95373 100644 --- a/install_it.md +++ b/install_it.md @@ -77,7 +77,7 @@ Questa pagina elenca alcune guide all'installazione.
-

Su Debian 9/Stretch

+

Su Debian 10/Buster

diff --git a/install_on_debian.md b/install_on_debian.md index 45e1016c..99fc194f 100644 --- a/install_on_debian.md +++ b/install_on_debian.md @@ -8,8 +8,8 @@ An ARM box, a VPS, a dedicated server, a standard x86 computer, an old Macintosh, ... -* with **Debian 9** (Stretch) installed (with kernel >= 3.12) - * the Debian 9 ISO can be downloaded from [here](https://www.debian.org/releases/stretch/debian-installer/). Take the 'netinst CD image' for your architecture. +* with **Debian 10** (Buster) installed (with kernel >= 3.12) + * the Debian 10 ISO can be downloaded from [here](https://www.debian.org/releases/buster/debian-installer/). Take the 'netinst CD image' for your architecture. * N.B. : having a graphical environment is *not* recommended! Servers are meant to be administrated remotely! * connected to the Internet * with a direct **root access** or via SSH diff --git a/install_on_debian_fr.md b/install_on_debian_fr.md index eaa21951..013a492e 100644 --- a/install_on_debian_fr.md +++ b/install_on_debian_fr.md @@ -8,8 +8,8 @@ Sur une plateforme ARM, un VPS, un serveur dédié, un ordinateur x86 standard, un vieux Macintosh,... -* avec **Debian 9** (Stretch) installé (avec un kernel >= 3.12) - * l'ISO Debian 9 ISO peut être téléchargée depuis [cette page](https://www.debian.org/releases/stretch/debian-installer/). Prenez la 'netinst CD image' pour votre architecture +* avec **Debian 10** (Buster) installé (avec un kernel >= 3.12) + * l'ISO Debian 10 ISO peut être téléchargée depuis [cette page](https://www.debian.org/releases/buster/debian-installer/). Prenez la 'netinst CD image' pour votre architecture * N.B. : Avoir un environnement graphique n'est *pas* recommandé ! Les serveurs sont généralement administrés à distance ! * connecté à Internet * avec un **accès root** directement ou par SSH diff --git a/install_on_debian_it.md b/install_on_debian_it.md index e306592d..844d77b5 100644 --- a/install_on_debian_it.md +++ b/install_on_debian_it.md @@ -8,8 +8,8 @@ Su un computer ARM, un VPS, un server dedicato, un computer x86 standard, un vecchio Macintosh, ... -* con **Debian 9** (Stretch) installato (con un kernel >= 3.12) - * l'immagine ISO di Debian 9 può essere scaricata da [qui](https://www.debian.org/releases/stretch/debian-installer/). Scegli l'immagine 'netinst CD' per la tua architettura. +* con **Debian 10** (Buster) installato (con un kernel >= 3.12) + * l'immagine ISO di Debian 10 può essere scaricata da [qui](https://www.debian.org/releases/buster/debian-installer/). Scegli l'immagine 'netinst CD' per la tua architettura. * N.B.: l'uso di un'interfaccia grafica *non* è raccomandato! I server dovrebbero essere amministrati da remoto! * connesso ad Internet * con un **accesso root** diretto o via SSH @@ -20,4 +20,4 @@ Su un computer ARM, un VPS, un server dedicato, un computer x86 standard, un vec 1. Installazione manuale -2. Post-installazione \ No newline at end of file +2. Post-installazione diff --git a/install_on_raspberry.md b/install_on_raspberry.md index ceef5c12..0e9f9bb3 100644 --- a/install_on_raspberry.md +++ b/install_on_raspberry.md @@ -45,7 +45,7 @@ We do not recommend the manual installation because it is more technical and lon The latest Rasbpian images requires a screen and a keyboard, as it is no longer possible to connect directly to the Raspberry through SSH. Nevertheless it is possible to re-enable SSH at boot : before starting your Raspberry, put in the boot partition of the SD card an empty file named `ssh` (without extension).
-0. Install Raspbian Stretch Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). The Raspbian Stretch Lite can be found here: https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/ +0. Install Raspbian Buster Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). The Raspbian Buster Lite can be found here: https://downloads.raspberrypi.org/raspbian_lite/images/ 1. Connect to your Raspberry Pi with the user `pi`. Set the root password with ```bash diff --git a/install_on_raspberry_de.md b/install_on_raspberry_de.md index c57f34de..d5b8fee1 100644 --- a/install_on_raspberry_de.md +++ b/install_on_raspberry_de.md @@ -45,7 +45,7 @@ We do not recommend the manual installation because it is more technical and lon The latest Rasbpian images requires a screen and a keyboard, as it is no longer possible to connect directly to the Raspberry through SSH. Nevertheless it is possible to re-enable SSH at boot : before starting your Raspberry, put in the boot partition of the SD card an empty file named `ssh` (without extension).
-0. Install Raspbian Stretch Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). +0. Install Raspbian Buster Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). 1. Connect to your Raspberry Pi with the user `pi`. Set the root password with ```bash diff --git a/install_on_raspberry_es.md b/install_on_raspberry_es.md index 9ab592f8..3334e0a6 100644 --- a/install_on_raspberry_es.md +++ b/install_on_raspberry_es.md @@ -45,7 +45,7 @@ No recomendamos la instalación manual porque es más técnica y más larga que Las últimas versiones de Raspbian necesitan una pantalla y un teclado porque ya no es posible conectarse directamente por SSH al Raspberry por defecto. Sin embargo, es posible reactivar el inicio de SSH al boot : solo hay que poner un archivo llamado `ssh` (vacío, sin extensión) en la partición boot de la tarjeta SD.
-0. Instalar Raspbian Stretch Lite ([instrucciones](https://www.raspberrypi.org/downloads/raspbian/)) en la tarjeta SD. +0. Instalar Raspbian Buster Lite ([instrucciones](https://www.raspberrypi.org/downloads/raspbian/)) en la tarjeta SD. 1. Conéctate con ssh al Raspberry Pi con el usuario pi. Define una contraseña root con ```bash diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index 8ddbd031..78669688 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -45,8 +45,8 @@ Nous déconseillons l'installation manuelle car elle est plus technique et plus Les dernières versions de Raspbian nécessitent un écran et un clavier, car il n'est plus possible de se connecter directement en SSH au Raspberry par défaut. Néanmoins, il est possible de réactiver le lancement de SSH au boot : il suffit de placer dans la partition boot de la carte SD un fichier nommé `ssh`, vide et sans extension.
-0. Installez Raspbian Stretch Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD. -Le lien vers la Raspbian Stretch Lite est ici: https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/ +0. Installez Raspbian Buster Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD. +Le lien vers la Raspbian Buster Lite est ici: https://downloads.raspberrypi.org/raspbian_lite/images/ 1. Connectez-vous en ssh au Raspberry Pi avec l'utilisateur pi. Définissez un mot de passe root avec ```bash diff --git a/install_on_vps.md b/install_on_vps.md index bf44dae6..2c28593c 100644 --- a/install_on_vps.md +++ b/install_on_vps.md @@ -8,7 +8,7 @@ * A dedicated or virtual private server * with at least **512MB** RAM -* and **Debian 9.x (Stretch) 64bits** as operating system +* and **Debian 10.x (Buster) 64bits** as operating system --- diff --git a/install_on_vps_es.md b/install_on_vps_es.md index f6eb2eb7..bb635c28 100644 --- a/install_on_vps_es.md +++ b/install_on_vps_es.md @@ -8,7 +8,7 @@ * Un servidor dedicado o virtual * con al menos **512MB** RAM -* y **Debian 9.x (Stretch) 64bits** como sistema operativo +* y **Debian 10.x (Buster) 64bits** como sistema operativo --- diff --git a/install_on_vps_fr.md b/install_on_vps_fr.md index a0924cb8..09d224db 100644 --- a/install_on_vps_fr.md +++ b/install_on_vps_fr.md @@ -8,7 +8,7 @@ * Un serveur dédié ou virtuel * avec au moins **512MB** RAM -* et **Debian 9.x (Stretch) 64bits** comme système d'exploitation +* et **Debian 10.x (Buster) 64bits** comme système d'exploitation --- diff --git a/install_on_vps_it.md b/install_on_vps_it.md index b10d9344..66658d32 100644 --- a/install_on_vps_it.md +++ b/install_on_vps_it.md @@ -8,7 +8,7 @@ * Un server dedicato o un server privato virtuale (VPS) * con almeno **512MB** di RAM -* e **Debian 9.x (Stretch) 64bits** come sistema operativo +* e **Debian 10.x (Buster) 64bits** come sistema operativo --- diff --git a/packaging_apps.md b/packaging_apps.md index bf2c2601..898d7a74 100644 --- a/packaging_apps.md +++ b/packaging_apps.md @@ -101,7 +101,7 @@ Here is a list of best practices for application install scripts: * 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; +* scripts should be tested on Debian Buster 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), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines). @@ -132,4 +132,4 @@ A continuous integration server is available for packagers who want to test thei **!! This section is obsolete as of 08/03/19** - The project's organization regarging this point is to be changed. -To become an official application, it must be tested well enough, be stable and should work on Debian Stretch 64 bits, 32 bits and ARM architectures. If you think those conditions are met, ask for [official integration](https://github.com/YunoHost/apps) of your application. +To become an official application, it must be tested well enough, be stable and should work on Debian Buster 64 bits, 32 bits and ARM architectures. If you think those conditions are met, ask for [official integration](https://github.com/YunoHost/apps) of your application. diff --git a/packaging_apps_fr.md b/packaging_apps_fr.md index a0c1f114..4f30edff 100644 --- a/packaging_apps_fr.md +++ b/packaging_apps_fr.md @@ -83,7 +83,7 @@ Vous trouverez ci-dessous une liste des points à vérifier concernant la qualit * 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 ; +* Vos scripts ont été testés sur Debian Buster 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), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](/packaging_apps_guidelines). @@ -114,4 +114,4 @@ Un serveur d'intégration continue est a disposition des packagers désirant tes **!! Section obsolète au 08/03/19** - Le fonctionnement du projet est en cours d'évolution sur ce point. -Pour qu’une application devienne officielle, elle doit être suffisamment testée, stable et fonctionner sous Debian Stretch 64 bits, 32 bits et ARM. Si ces conditions vous paraissent réunies, demandez l’[intégration officielle](https://github.com/YunoHost/apps) de votre application. +Pour qu’une application devienne officielle, elle doit être suffisamment testée, stable et fonctionner sous Debian Buster 64 bits, 32 bits et ARM. Si ces conditions vous paraissent réunies, demandez l’[intégration officielle](https://github.com/YunoHost/apps) de votre application. From bcd716f978d902d96a3d1f4c035527401fc0bde5 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 29 Jul 2020 02:02:45 +0200 Subject: [PATCH 18/61] Add a documentation page for the stretch->buster migration --- admindoc.md | 1 + admindoc_fr.md | 1 + stretch_buster_migration.md | 53 ++++++++++++++++++++++++++++++++++ stretch_buster_migration_fr.md | 53 ++++++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 stretch_buster_migration.md create mode 100644 stretch_buster_migration_fr.md diff --git a/admindoc.md b/admindoc.md index 4ede7f44..c67129c0 100644 --- a/admindoc.md +++ b/admindoc.md @@ -55,6 +55,7 @@ * [Hide services with Tor](/torhiddenservice) * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom) * [A discussion about the advantages of using a VPN](/vpn_advantage) + * [Stretch->Buster migration procedure](stretch_buster_migration) * [(old) Jessie->Stretch migration procedure](jessie_stretch_migration) * Troubleshooting * [Changing the administration password](/change_admin_password) diff --git a/admindoc_fr.md b/admindoc_fr.md index 6fd014c3..15de7b39 100644 --- a/admindoc_fr.md +++ b/admindoc_fr.md @@ -55,6 +55,7 @@ * [YunoHost avec un service caché Tor](/torhiddenservice) * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom) * [Une discussion sur les avantages d'utiliser un VPN](/vpn_advantage) + * [Procedure de Migration Stretch->Buster](stretch_buster_migration) * [(vieux) Procedure de Migration Jessie->Stretch](jessie_stretch_migration) * Dépannage * [Changer le mot de passe d’administration](/change_admin_password) diff --git a/stretch_buster_migration.md b/stretch_buster_migration.md new file mode 100644 index 00000000..305ed410 --- /dev/null +++ b/stretch_buster_migration.md @@ -0,0 +1,53 @@ +# Migrating an existing instance to Buster + +This page is dedicated to help you migrating an instance from YunoHost 3.8.x (running on Debian Stretch/9.x) to YunoHost 4.x (running on Debian Buster/10.x). + +## Important notes + +- The YunoHost team did its best to make sure that the migration is as smooth as possible and was tested over the course of several months in several cases. + +- With that said, please be aware that this is a delicate operation. System administration is a complicated topic and covering every particular cases is quite hard. Therefore, if you host critical data and services, please [make backups](/backup). And in any case, be patient and attentive during the migration. + +- Please don't rush into thinking that you should need to reinstall your system from scratch thinking it would be "simpler" (sigh). (A common attitude is to be willing to reinstall a server at the slightest complication...) Instead, if you happen to run into issues, we encourage you to try to investigate and understand what's going on and [reach for help on the chat and the forum](/help). + +## Migration procedure + +#### From the webadmin + +After upgrading to 3.8.5.x, go to Tools > Migrations to access the migrations interface. You will have to read carefully and accept the disclaimer then launch the migration. + +#### From the command line + +After upgrading to 3.8.5.x, run : + +```bash +sudo yunohost tools migrations migrate +``` + +then read carefully and accept the disclaimer. + +## During the migration + +Depending on your hardware and packages installed, the migration might take up to a few hours. + +The logs will be shown in the message bar (you can hover it to see the whole history). They will also be available after the migration (like any other operations) in Tools > Logs. + +Note that even if you close the webadmin page for some reason, the migration will continue in the background (but the webadmin will be partially unavailable). + +#### If the migration crashed / failed at some point. + +If the migration failed at some point, it should be possible to relaunch it. If it still doesn't work, you can try to [get help](/help) (please provide the corresponding messages or whatever makes you tell that it's not working). + +## What to do after the upgrade + +#### Check that you actually are on Debian Buster and YunoHost 4.x + +For this, go in Diagnosis (category Base system) or look at the footer of the webadmin. In the command line, you can use `lsb_release -a` and `yunohost --version`. + +#### Check that no issue appeared in the diagnosis + +Also in the Diagnosis in the webadmin, make sure that no specific issue appeared after running the migration (for example a service that crashed for some reason). + +#### Check that your applications are working + +Test that your applications are working. If they aren't, you should try to upgrade them (it is also a good idea to upgrade them even if they are working anyway). diff --git a/stretch_buster_migration_fr.md b/stretch_buster_migration_fr.md new file mode 100644 index 00000000..4ab12533 --- /dev/null +++ b/stretch_buster_migration_fr.md @@ -0,0 +1,53 @@ +# Migrer vers Buster + +L'objectif cette page est de décrire le processus de migration d'une instance en YunoHost 3.8.x (tournant sous Debian Stretch/9.x) vers YunoHost 4.x (tournant sous Debian Buster/10.x) + +## Notes importantes + +- L'équipe de YunoHost a fait de son mieux pour que cette migration se passe autant en douceur que possible. Elle a été testée durant plusieurs mois et sur plusieurs types d'installations. + +- Néanmoins, vous devez être conscient qu'il s'agit d'une opération délicate. L'administration système est un sujet compliqué et couvrir tous les cas particuliers n'est pas chose aisée. En conséquence, si vous hébergez des données et des systèmes critiques, [faites des sauvegardes](/backup). Et dans tous les cas, soyez patients et attentifs durant la migration. + +- Ne vous précipitez pas à vouloir faire une réinstallation de votre système en pensant que cela serait "plus simple" (sigh). (Une attitude qui revient régulièrement est de vouloir réinstaller son système à la moindre complication...). À la place, si vous rencontrez des problèmes, nous vous encourageons à investiguer, chercher à comprendre et [trouver de l'aide sur le chat ou le forum](/help). + +## Procédure de migration + +#### Depuis la webadmin + +Après avoir mis à jour vers la version en 3.8.5.x, allez dans Outils > Migrations pour accéder à l'interface de migration. Il vous faudra ensuite lire l'avertissement attentivement et l'accepter pour lancer la migration. + +#### Depuis la ligne de commande + +Après avoir mis à jour vers la version 3.8.5.x, lancez : + +```bash +sudo yunohost tools migrations migrate +``` + +puis lisez attentivement l'avertissement et les instructions. + +## Pendant la migration + +En fonction de votre matériel et des paquets installés, la migration peut prendre jusqu'à une ou deux heures. + +Les logs seront affichés dans la barre de message en haut (vous pouvez approcher la souris dessus pour voir l'historique en entier). Ils seront également consultable après coup (comme les autres opérations) dans Outils > Journaux. + +Notez que même si vous fermez la page d'admin, la migration continuera (par contre l'interface d'admin sera partiellement indisponible). + +#### Si la migration a crashé / échoué à un moment. + +Si la migration a échoué a un moment donné, la première chose à faire est de tenter de la relancer. Si cela ne fonctionne toujours pas, il vous faut [trouver de l'aide](/help) (prière de fournir le/les messages correspondants ou tout élément qui vous fait penser que ça n'a pas marché). + +## Choses à vérifier après la migration + +#### Vérifiez que vous êtes véritablement sous Debian Buster / YunoHost 4.x + +Pour cela, vous pouvez aller dans la partie Diagnostic (section Système de base). (Vous pouvez aussi regarder ce qui est affiché à droite dans le pied de page de la webadmin). En ligne de commande, vous pouvez aussi utiliser `lsb_release -a` et `yunohost --version`. + +#### Vérifiez que le diagnostic ne rapporte pas de problème particulier + +Également dans la section Diagnostic de la webadmin, vérifiez qu'il n'y a pas de problème apparu suite à la migration (par exemple un service qui ne tournerais plus ...) + +#### Vérifiez que les applications fonctionnent + +Vérifiez que vos applications installées fonctionnent... Si elles ne fonctionnent pas, il est recommandé de tenter de les mettre à jour. (ou bien de manière générale, il est recommandé de les mettre à jour même si elles fonctionnent !). From 1951ae0f3d3b926eee24b6b7017fdd2f4f3cf42f Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 29 Jul 2020 16:03:18 +0200 Subject: [PATCH 19/61] Add known issues --- stretch_buster_migration.md | 12 ++++++++++++ stretch_buster_migration_fr.md | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/stretch_buster_migration.md b/stretch_buster_migration.md index 305ed410..31be3914 100644 --- a/stretch_buster_migration.md +++ b/stretch_buster_migration.md @@ -51,3 +51,15 @@ Also in the Diagnosis in the webadmin, make sure that no specific issue appeared #### Check that your applications are working Test that your applications are working. If they aren't, you should try to upgrade them (it is also a good idea to upgrade them even if they are working anyway). + +## Current known (minor) issues after the migration + +- Some file (`/etc/nsswitch.conf` and `/etc/nslcd.conf`) will appear as manually modified after the migration. You can safely apply the regen-conf with: + +```bash +yunohost tools regen-conf nsswitch nslcd --force +``` + +(we will try to do this automatically somehow) + +- Sometimes the postgresql migration (that is supposed to happen automatically after the buster migration is ran) fails to run properly … Some users reported that re-launching manually the postgresql migration fixed the issue (we will try to understand and fix this somehow) diff --git a/stretch_buster_migration_fr.md b/stretch_buster_migration_fr.md index 4ab12533..e49e43a7 100644 --- a/stretch_buster_migration_fr.md +++ b/stretch_buster_migration_fr.md @@ -51,3 +51,15 @@ Pour cela, vous pouvez aller dans la partie Diagnostic (section Système de base #### Vérifiez que les applications fonctionnent Vérifiez que vos applications installées fonctionnent... Si elles ne fonctionnent pas, il est recommandé de tenter de les mettre à jour. (ou bien de manière générale, il est recommandé de les mettre à jour même si elles fonctionnent !). + +## Soucis (mineurs) connus après la migration + +- Quelques fichiers de configurations (`/etc/nsswitch.conf` et `/etc/nslcd.conf`) apparaîtrons comme manuellement modifiés. Vous pouvez appliquer la regen-conf en toute sécurité pour régler le problème avec la commande: + +```bash +yunohost tools regen-conf nsswitch nslcd --force +``` + +(nous allons essayer de corriger ceci automatiquement) + +- Il se peut que la migration postgresql (censée s'effectuer automatiquement après la migration à Buster) ne fonctionne pas correctement ... Certains utilisateurs ont rapporté que relancer la migration suffisait à résoudre le problème. (Nous allons voir pour comprendre et corriger ce soucis) From a127f20bbda076c7d7dc5998ebfb3a9b2346385a Mon Sep 17 00:00:00 2001 From: Yunobot Date: Sun, 2 Aug 2020 17:08:33 +0000 Subject: [PATCH 20/61] Changed "mimutes" to "minutes" in the last section under Security and SSH --- ssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh.md b/ssh.md index 68084a69..638afaf0 100644 --- a/ssh.md +++ b/ssh.md @@ -93,6 +93,6 @@ yunohost user ssh list-keys ## 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) +N.B. : `fail2ban` will ban your IP for 10 minutes 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). From 1a316fb8feb65ff13d93fe5bebc6aaa419bf02bc Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 3 Aug 2020 23:39:19 +0200 Subject: [PATCH 21/61] Adding NBS system As providing paprika.yunohost.org --- sponsors_partners.md | 1 + sponsors_partners_fr.md | 1 + 2 files changed, 2 insertions(+) diff --git a/sponsors_partners.md b/sponsors_partners.md index 81adac32..640ff41b 100644 --- a/sponsors_partners.md +++ b/sponsors_partners.md @@ -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. diff --git a/sponsors_partners_fr.md b/sponsors_partners_fr.md index 96f1df95..af9ff92d 100644 --- a/sponsors_partners_fr.md +++ b/sponsors_partners_fr.md @@ -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 d’infrastructure d’hébergement et d’accès à Internet. - [GLOBENET](http://www.globenet.org) : association militante, au service de la liberté d’expression, proposant des services Internet. - [LDN-NET](https://ldn-fai.net/) : association pour la défense d’un Internet libre, neutre et décentralisé dont le moyen d’action principale est d’être un fournisseur d’accès Internet (FAI) assocatif et local. +- [NBS System](https://www.nbs-system.com/): société spécialisée dans l’hébergement, la sécurisation de des Clouds, l’infogérance (Systèmes d’information, 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. From 3fd797accea1c7bd750c96de3616567b6c832bf7 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 4 Aug 2020 19:41:55 +0200 Subject: [PATCH 22/61] add Slingcode doc --- app_slingcode.md | 15 ++++ app_slingcode_fr.md | 15 ++++ images/slingcode_logo.svg | 141 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 app_slingcode.md create mode 100644 app_slingcode_fr.md create mode 100755 images/slingcode_logo.svg diff --git a/app_slingcode.md b/app_slingcode.md new file mode 100644 index 00000000..e6327138 --- /dev/null +++ b/app_slingcode.md @@ -0,0 +1,15 @@ +# Slingcode's logo Slingcode + +[![Install Slingcode with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=slingcode) [![Integration level](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) + +### Index + +- [Useful links](#useful-links) + +Slingcode is a code editor contained in a single HTML file. Therefore, it has no server component, so all of your data is stored in your browser's cache. However, it is still possible to make web apps, run them, export them, and even share them using peer-to-peer. + +## Useful links + ++ Website: [slingcode.net](https://slingcode.net/) ++ Application software repository: [github.com - YunoHost-Apps/slingcode](https://github.com/chr15m/slingcode) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/slingcode/issues](https://github.com/YunoHost-Apps/slingcode_ynh/issues) \ No newline at end of file diff --git a/app_slingcode_fr.md b/app_slingcode_fr.md new file mode 100644 index 00000000..696c3fd9 --- /dev/null +++ b/app_slingcode_fr.md @@ -0,0 +1,15 @@ +# logo de Slingcode Slingcode + +[![Install Slingcode with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=slingcode) [![Integration level](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) + +### Index + +- [Liens utiles](#liens-utiles) + +Slingcode est un éditeur de code contenu dans un unique fichier HTML. Il n'a pas de composant serveur, ce qui signifie que toutes vos données sont stockées dans le cache de votre navigateur. Cependant, il est toujours possible de créer des applications Web, de les exécuter, de les exporter et même de les partager en peer-to-peer. + +## Liens utiles + ++ Site web : [slingcode.net (en)](https://slingcode.net/) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/slingcode](https://github.com/chr15m/slingcode) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/slingcode/issues](https://github.com/YunoHost-Apps/slingcode_ynh/issues) \ No newline at end of file diff --git a/images/slingcode_logo.svg b/images/slingcode_logo.svg new file mode 100755 index 00000000..8758bf4e --- /dev/null +++ b/images/slingcode_logo.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + From 4c6d5c4cddc5f611941cee19674ae607b44d54bf Mon Sep 17 00:00:00 2001 From: Yunobot Date: Thu, 6 Aug 2020 13:36:24 +0000 Subject: [PATCH 23/61] Ajouts: -Bibliogram -Nitter -Hometown --- apps_wishlist.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index ab98a7cf..716c9463 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -1,3 +1,5 @@ +
La page demandée n'est pour le moment pas disponible en français. Voici à la place la version en anglais. Si vous souhaitez commencer une traduction de cette page, vous pouvez vous rendre sur [cette page](https://yunohost.org/#/apps_wishlist_fr).
+ # Apps wishlist
Before to add an app in wishlist please check your app is not already in apps list: see the apps list
@@ -16,6 +18,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Auth0 SSO Dashboard](https://github.com/auth0-extensions/auth0-sso-dashboard-extension) - [Bitmessage](https://bitmessage.org/wiki/Compiling_instructions) / [github](https://github.com/Bitmessage/PyBitmessage) - [Beehive](https://github.com/muesli/beehive) +- [Bibliogram](https://sr.ht/~cadence/bibliogram/) - [BigBlueButton](https://bigbluebutton.org) / [install instruction](http://docs.bigbluebutton.org/2.2/install.html) / [github](https://github.com/bigbluebutton/bigbluebutton) Complete open source web conferencing system. - [Bludit](https://www.bludit.com) / [github](https://github.com/bludit/bludit) - [Blynk](https://github.com/blynkkk/blynk-library) @@ -58,6 +61,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Habitica](https://habitica.com/) / [github](https://github.com/HabitRPG/habitica) - [Helpy](https://github.com/helpyio/helpy) - [Hexo](https://hexo.io/) / [github](https://github.com/hexojs/hexo) +- [Hometown](https://github.com/hometown-fork/hometown) - [Icecast 2](http://www.icecast.org) / [gitlab](https://gitlab.xiph.org/xiph/icecast-server/) - [ikiwiki](http://ikiwiki.info) - [Invidious](https://github.com/omarroth/invidious) @@ -94,6 +98,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Museek+](https://github.com/eLvErDe/museek-plus) - [N8n.io](https://n8n.io) - [Netrunner](https://github.com/mtgred/netrunner) +- [Nitter](https://github.com/zedeus/nitter) - [Nuage](https://nuage.kerjean.me/login) / [github](https://github.com/mickael-kerjean/filestash) - [OhMyForm](https://github.com/ohmyform) (Only support Docker install way and some VPS aren't compatible, see TellForm which support non-Docker install but is discontinued) - [Ombi](https://github.com/tidusjar/Ombi) From 52d17ec9c55b94bcc5bd3c41ce4e7546c07cad1d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:10:44 +0200 Subject: [PATCH 24/61] Add missing app name in badges --- app_fallback.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app_fallback.md b/app_fallback.md index 23719557..59c5c607 100644 --- a/app_fallback.md +++ b/app_fallback.md @@ -1,6 +1,6 @@ # Package Fallback -[![Install APPLICATION with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=APPLICATION) [![Integration level](https://dash.yunohost.org/integration/APPLICATION.svg)](https://dash.yunohost.org/appci/app/APPLICATION) +[![Install Fallback with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=fallback) [![Integration level](https://dash.yunohost.org/integration/fallback.svg)](https://dash.yunohost.org/appci/app/fallback) ### Index From 0439ee3126bda6236fc87bfb17a4824be5ea9cee Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:18:09 +0200 Subject: [PATCH 25/61] correct wrong path --- app_dotclear2_fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app_dotclear2_fr.md b/app_dotclear2_fr.md index 5eca9c9b..3e0cc64d 100644 --- a/app_dotclear2_fr.md +++ b/app_dotclear2_fr.md @@ -14,8 +14,8 @@ L'objectif proposé par Dotclear est de développer un logiciel qui respecte ple + Site web : [dotclear.org](https://fr.dotclear.org/) + Documentation officielle : [dotclear.org - documentation](https://fr.dotclear.org/documentation/) - + Dépôt logiciel de l'application : [github.com - YunoHost- Apps/bitwarden](https://github.com/YunoHost-Apps/bitwarden_ynh) - + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/bitwarden/issues](https://github.com/YunoHost-Apps/bitwarden_ynh/issues) + + Dépôt logiciel de l'application : [github.com - YunoHost- Apps/dotclear2](https://github.com/YunoHost-Apps/dotclear2_ynh) + + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/dotclear2/issues](https://github.com/YunoHost-Apps/dotclear2_ynh/issues) ------ From 0a8e70b2a780798e894e122a00744288680d7b79 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:23:34 +0200 Subject: [PATCH 26/61] correct path --- app_funkwhale.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app_funkwhale.md b/app_funkwhale.md index 774dc534..34700206 100644 --- a/app_funkwhale.md +++ b/app_funkwhale.md @@ -23,7 +23,7 @@ To install Funkwhale on your YunoHost server it is necessary to have a domain na + Website: [funkwhale.audio](https://funkwhale.audio/) + Official documentation: [docs.funkwhale.audio](https://docs.funkwhale.audio/) + Application software repository: [github.com - YunoHost-Apps/funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) -+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/APPLICATION/issues](https://github.com/YunoHost-Apps/APPLICATION_ynh/issues) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/funkwhale/issues](https://github.com/YunoHost-Apps/funkwhale_ynh/issues) ----- From 92d825ead04f1d944f2bf19b2b36e7504a1b9b81 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:37:04 +0200 Subject: [PATCH 27/61] Add eng translation --- app_sogo.md | 16 +++++++++++++++- app_sogo_fr.md | 10 ++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app_sogo.md b/app_sogo.md index 09a46e5f..9827c514 100644 --- a/app_sogo.md +++ b/app_sogo.md @@ -1 +1,15 @@ -Unfortunately, this page only exists [in french here](app_sogo_fr) for now. +# SOGo Logo SOGo + +[![Install Sogo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=sogo) [![Integration level](https://dash.yunohost.org/integration/sogo.svg)](https://dash.yunohost.org/appci/app/sogo) + +### Index + +- [Useful links](#useful-links) + +SOGo is an opensource groupware solution which has Webmail, a global address book, calender and contacts which can be synced via Caldav or Cardav. + +## Useful links + ++ Application software repository: [sogo.nu](https://sogo.nu/a) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) + diff --git a/app_sogo_fr.md b/app_sogo_fr.md index 2ae3e848..1bc137a3 100644 --- a/app_sogo_fr.md +++ b/app_sogo_fr.md @@ -1,8 +1,14 @@ -# ![Logo SOGo](/images/logo_sogo.png) SOGo +# SOGo Logo SOGo + +[![Installer Sogo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=sogo) [![Integration level](https://dash.yunohost.org/integration/sogo.svg)](https://dash.yunohost.org/appci/app/sogo) + +### Index + +- [Liens utiles](#liens-utiles) SOGo est un service de webmail pour votre serveur email, c'est une alternative à [RoundCube](app_roundcube). Il permet aussi la gestion des agendas et contacts présents sur le serveur. ## Quelques liens utiles + Site officiel de SOGo : [sogo.nu](https://sogo.nu/a) - + Dépot de l'application pour Yunohost : [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) + + Dépot de l'application pour YunoHost : [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) From d4dd5136fd499b93993e361a977631e0451d3d39 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:39:17 +0200 Subject: [PATCH 28/61] fix logo name --- app_sogo.md | 2 +- app_sogo_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app_sogo.md b/app_sogo.md index 9827c514..78366879 100644 --- a/app_sogo.md +++ b/app_sogo.md @@ -1,4 +1,4 @@ -# SOGo Logo SOGo +# SOGo Logo SOGo [![Install Sogo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=sogo) [![Integration level](https://dash.yunohost.org/integration/sogo.svg)](https://dash.yunohost.org/appci/app/sogo) diff --git a/app_sogo_fr.md b/app_sogo_fr.md index 1bc137a3..16169339 100644 --- a/app_sogo_fr.md +++ b/app_sogo_fr.md @@ -1,4 +1,4 @@ -# SOGo Logo SOGo +# SOGo Logo SOGo [![Installer Sogo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=sogo) [![Integration level](https://dash.yunohost.org/integration/sogo.svg)](https://dash.yunohost.org/appci/app/sogo) From 0ae09ad078c06cc3cdd754ca244dcf97b20190f0 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 8 Aug 2020 16:40:37 +0200 Subject: [PATCH 29/61] fix link --- app_sogo.md | 2 +- app_sogo_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app_sogo.md b/app_sogo.md index 78366879..fafc4029 100644 --- a/app_sogo.md +++ b/app_sogo.md @@ -10,6 +10,6 @@ SOGo is an opensource groupware solution which has Webmail, a global address boo ## Useful links -+ Application software repository: [sogo.nu](https://sogo.nu/a) ++ Application software repository: [sogo.nu](https://sogo.nu) + Fix a bug or an improvement by creating a ticket (issue): [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) diff --git a/app_sogo_fr.md b/app_sogo_fr.md index 16169339..579b0a29 100644 --- a/app_sogo_fr.md +++ b/app_sogo_fr.md @@ -10,5 +10,5 @@ SOGo est un service de webmail pour votre serveur email, c'est une alternative ## Quelques liens utiles - + Site officiel de SOGo : [sogo.nu](https://sogo.nu/a) + + Site officiel de SOGo : [sogo.nu](https://sogo.nu) + Dépot de l'application pour YunoHost : [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) From 0e1e75eb20cd7559559e9503c32a3a8c263328b9 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Sun, 9 Aug 2020 08:13:52 +0000 Subject: [PATCH 30/61] BT Internet Box (modem/router) to yes --- isp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isp.md b/isp.md index 8f655cd9..0e573114 100644 --- a/isp.md +++ b/isp.md @@ -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 From 9fd5951b13330b278bdf2e8337c2a7864b7407a6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 10 Aug 2020 08:49:13 +0200 Subject: [PATCH 31/61] Haste doc --- app_haste.md | 28 ++++++++++++++++++++++++++++ app_haste_fr.md | 27 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 app_haste.md create mode 100644 app_haste_fr.md diff --git a/app_haste.md b/app_haste.md new file mode 100644 index 00000000..743844ab --- /dev/null +++ b/app_haste.md @@ -0,0 +1,28 @@ +# Haste + +[![Install Haste with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=haste) [![Integration level](https://dash.yunohost.org/integration/haste.svg)](https://dash.yunohost.org/appci/app/haste) + +### Index + +- [Configuration](#Configuration) +- [Useful links](#useful-links) + +Haste is an open-source pastebin software written in Node.js, which is easily installable in any network. YunoHost Project uses Haste as pastebin for log sharing: [paste.yunohost.org](https://paste.yunohost.org/) + +## Configuration + +This Haste package for Yunohost includes the [`haste` command](https://github.com/diethnis/standalones/blob/master/hastebin.sh), allowing you to share content from terminal: + +```bash +cat something | haste +https://haste.example.com/zuyejeduzu +``` +The [Haste-client](https://github.com/seejohnrun/haste-client) is a simple client for uploading data to you Haste server. + +Haste requires a dedicated domain like `haste.domain.tld`. + +## Useful links + ++ Official documentation: [hastebin.com - about](https://hastebin.com/about.md) ++ Application software repository: [github.com - YunoHost-Apps/haste](https://github.com/YunoHost-Apps/haste_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/haste/issues](https://github.com/YunoHost-Apps/haste_ynh/issues) diff --git a/app_haste_fr.md b/app_haste_fr.md new file mode 100644 index 00000000..4226d71e --- /dev/null +++ b/app_haste_fr.md @@ -0,0 +1,27 @@ +# Haste + +[![Installer Haste avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=haste) [![Integration level](https://dash.yunohost.org/integration/haste.svg)](https://dash.yunohost.org/appci/app/haste) + +### Index + +- [Configuration](#Configuration) +- [Liens utiles](#useful-links) + +Haste est un logiciel pastebin open-source écrit en Node.js, facilement installable sur n'importe quel réseau. Le projet YunoHost utilise Haste comme pastebin pour le partage de log : [paste.yunohost.org](https://paste.yunohost.org/) + +## Configuration + +Ce paquet de Haste pour YunoHost comprend une commande [`haste`](https://github.com/diethnis/standalones/blob/master/hastebin.sh), vous permettant de partager du contenu avec le terminal : + +```bash +cat something | haste +https://haste.example.com/zuyejeduzu +``` + +Le [client Haste](https://github.com/seejohnrun/haste-client) est un client simple pour télécharger des données sur votre serveur Haste. + +## Liens utiles + ++ Documentation officielle : [hastebin.com - about](https://hastebin.com/about.md) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/haste](https://github.com/YunoHost-Apps/haste_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/haste/issues](https://github.com/YunoHost-Apps/haste_ynh/issues) From 5dbfd889c2029be69f26889d32f88a501c4d532c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 10 Aug 2020 08:52:24 +0200 Subject: [PATCH 32/61] Add package logo --- app_haste.md | 2 +- app_haste_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app_haste.md b/app_haste.md index 743844ab..f0501f0a 100644 --- a/app_haste.md +++ b/app_haste.md @@ -1,4 +1,4 @@ -# Haste +# Package Haste [![Install Haste with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=haste) [![Integration level](https://dash.yunohost.org/integration/haste.svg)](https://dash.yunohost.org/appci/app/haste) diff --git a/app_haste_fr.md b/app_haste_fr.md index 4226d71e..2471ebaa 100644 --- a/app_haste_fr.md +++ b/app_haste_fr.md @@ -1,4 +1,4 @@ -# Haste +# Package Haste [![Installer Haste avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=haste) [![Integration level](https://dash.yunohost.org/integration/haste.svg)](https://dash.yunohost.org/appci/app/haste) From 9be73589098046e7f34df49591212598c820b522 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 10 Aug 2020 09:14:53 +0200 Subject: [PATCH 33/61] minor typos --- app_distbin.md | 2 +- app_distbin_fr.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app_distbin.md b/app_distbin.md index 64d82d8e..f63b23c2 100644 --- a/app_distbin.md +++ b/app_distbin.md @@ -6,7 +6,7 @@ - [Useful links](#useful-links) -A distributed pastebin. i.e. it is a service where anyone can post things on the web, and others can react by posting anywhere else on the web (including here). . +A distributed pastebin. i.e. it is a service where anyone can post things on the web, and others can react by posting anywhere else on the web (including here). A networked place to store posted web documents. This is meant to allow for distributed social commentary and reaction around these documents using best practices recommended or noted by the W3C Social Web Working Group. diff --git a/app_distbin_fr.md b/app_distbin_fr.md index 8afbbe52..d251f270 100644 --- a/app_distbin_fr.md +++ b/app_distbin_fr.md @@ -1,14 +1,14 @@ # Package Distbin -[![Install distbin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=distbin) [![Integration level](https://dash.yunohost.org/integration/distbin.svg)](https://dash.yunohost.org/appci/app/distbin) +[![Install Distbin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=distbin) [![Integration level](https://dash.yunohost.org/integration/distbin.svg)](https://dash.yunohost.org/appci/app/distbin) ### Index - [Liens utiles](#liens-utiles) -Un pastebin distribué, c'est-à-dire un service où n'importe qui peut poster des choses sur le web, et d'autres peuvent réagir en postant n'importe où ailleurs sur le web (y compris ici) . +Un pastebin distribué, c'est-à-dire un service où n'importe qui peut poster des choses sur le Web, et d'autres peuvent réagir en postant n'importe où ailleurs sur le Web (y compris ici). -Un endroit en réseau pour stocker les documents web postés. Ceci est destiné à permettre la distribution de commentaires et de réactions sociales autour de ces documents en utilisant les meilleures pratiques recommandées ou notées par le groupe de travail du W3C sur le web social. +Un endroit en réseau pour stocker les documents Web postés. Ceci est destiné à permettre la distribution de commentaires et de réactions sociales autour de ces documents en utilisant les meilleures pratiques recommandées ou notées par le groupe de travail du W3C sur le Web social. ## Liens utiles From cee7acff4e9cf21db0b19d45312255804e9850b9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 10 Aug 2020 12:05:15 +0200 Subject: [PATCH 34/61] add Bibliogram pages --- app_bibliogram.md | 15 +++++++++++++++ app_bibliogram_fr.md | 15 +++++++++++++++ images/logo-bibliogram.png | Bin 0 -> 42267 bytes 3 files changed, 30 insertions(+) create mode 100644 app_bibliogram.md create mode 100644 app_bibliogram_fr.md create mode 100644 images/logo-bibliogram.png diff --git a/app_bibliogram.md b/app_bibliogram.md new file mode 100644 index 00000000..59bb4254 --- /dev/null +++ b/app_bibliogram.md @@ -0,0 +1,15 @@ +# Bibliogram Logo Bibliogram + +[![Install Bibliogram with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=bibliogram) [![Integration level](https://dash.yunohost.org/integration/bibliogram.svg)](https://dash.yunohost.org/appci/app/bibliogram) + +### Index + +- [Useful links](#useful-links) + +Bibliogram is a website that takes data from Instagram's public profile views and puts it into a friendlier page that loads faster, gives downloadable images, eliminates ads, generates RSS feeds, and doesn't urge you to sign up. + +## Useful links + ++ Website: [git.sr.ht - bibliogram](https://git.sr.ht/~cadence/bibliogram) ++ Application software repository: [github.com - YunoHost-Apps/bibliogram](https://github.com/YunoHost-Apps/bibliogram_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/bibliogram/issues](https://github.com/YunoHost-Apps/bibliogram_ynh/issues) diff --git a/app_bibliogram_fr.md b/app_bibliogram_fr.md new file mode 100644 index 00000000..06ed95c6 --- /dev/null +++ b/app_bibliogram_fr.md @@ -0,0 +1,15 @@ +# Logo Bibliogram Bibliogram + +[![Installer Bibliogram avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=bibliogram) [![Integration level](https://dash.yunohost.org/integration/bibliogram.svg)](https://dash.yunohost.org/appci/app/bibliogram) + +### Index + +- [Liens utiles](#useful-links) + +Bibliogram est un site Web qui prend les données de profil public d'Instagram et les met dans une page plus conviviale qui se charge plus rapidement, donne des images téléchargeables, élimine les publicités, génère des flux RSS et ne vous invite pas à vous inscrire. + +## Liens utiles + ++ Site web : [git.sr.ht - bibliogram](https://git.sr.ht/~cadence/bibliogram) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/bibliogram](https://github.com/YunoHost-Apps/bibliogram_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/bibliogram/issues](https://github.com/YunoHost-Apps/bibliogram_ynh/issues) \ No newline at end of file diff --git a/images/logo-bibliogram.png b/images/logo-bibliogram.png new file mode 100644 index 0000000000000000000000000000000000000000..51c97c89ac49dd01a803e9844150fc217b03749c GIT binary patch literal 42267 zcmXtA1yq$?)4ha9w{$lsB@L2Nl8Q7+BVB@oq%=r~beFUUC?HC=h?I0l2nfyy2m<8AnG3fZ?PhJ(W@H%*I48G@%fUo`Q#{+YjXRZ+dV z^Mr$mL1mTxcm;iYgTt1obJb79DnIghj1*>EbPGHdVo|m>SvuKzLhO_Ir1|WrzpJA< z;_FokL+61*wr=JER9Kn{3L(zEzP?$Vot^pH+uJ4K;o*GOu3d|Vf2;8G_0{*@TM!u@ z7!bP2#r4WgnC4!ha#u=93bU+iUS&l^h;osyWy|;PIvbv!Ib}E!RrBw2<({VNl!s|> zgvQ0iX%*aWS1TXqPEo6ZzfE>@6wJe~@!rV>)nc8sx!Ku;+S=NFPfyQg7iZ@Hqsj?o zOe`#!PlBNx0$k#==v4R*f1Mp|?cm|!nht*Z=9HM5yC5LVJIF04_#h)Y+bK08k-2|x z@NyW<1>cSC`pug+#l^+jCk8c5O0{xu&CJZ=nj-t?iHH(t-@SXc?(FQGfQgBjT~L+M zA)uFzW-fqDN=$|z$?mnax9g4LVq$P-Ny}N%29|er z;;;y4^|7$9C?=~6w0G9lZmj+K)$q~i!xJfq_?x9wi5>Dc~GdNp@DB;Iy58@ARr_Znvg)0DdK8MGT!X#f)Rw=%FWGPHm>rrY4X}p zv)i%~h^2pmpo*n={pyu@R!+|4LL9AF#G_CC5=)Cg$olx!z#MqfBHlqZ)U~Sf7-#Dp z4Q6@R*d&;kmKgo~&iAr}?F&n);yMI4P;Y4}XKno^T%mx9jFwjF)@_!;(f%Y(-WAt* zIU5^xXZzT`S8By&CLj4Ey*72{8y+_`wzszrGBY#Fez=K=wen8@quuN?LJ-Ico3;h$*-oSW>_~vRa;Xd_cE2Y{&ADnpz}<{L~V&?*3kZ+KcDZJP=;D? z!S@T;k2^fOtTd<|ij9rhxEz*6POCir)TyVZH=5eR6s*e=ZuaBz#%PhsgERxv=);o} zWTqaofCe?J0*8{CT8!VLNAupLTDjXTekU&H=^J)lOIci`(U@0pG{3R%soXvWL=rC3 zOM0dk>hgTB+p-i03!z3tY)JSWZzq5G@}<_#YwtMb^u(;ZJZ(WRH|`OiN@P5J<=N3* z-h8c9pIK;VXi$DtbO#fT5CVU+VASpr3o9#Sws>Ik-Y?B8IvpJyJ9SGcW)^2o=!zdLUQ0SeY`VBw7uxstM-S=zwkcSNRxJ6jC|;I zGh7^;e{W1%o>SU8S_)9%C$V#Ilng>>YoBb+d{E#^`pt&$tED_h%h0WGTzr?~_3zJ` z`@z9M_2`uZoKpOxrC)3@`4_3>mVDqISf^N$7gvyncY6LqdgRs`RHyFFm@#+^JVtk919-jtgLz5aiXro5e!)izy+;A<6H z-`=|A$(TT2`N{M5cimapNPMhNW^9N0*}$#Isz}La+lD>4$1?-tW^m1GBChX#)L3*C zCnuA8&&uY(mv%@&evw8!tHkuogP<`R{^Q%-X)S8SSx19nMsGhN?s6I4K!kGH4rTv) zepI3NaH`tG*2u`{o=Lo2qAJ^~e(P7NY)j&Vq~(WK)kH`W7T=$Li*lRVWtSNw-TQh*(U6z~{+2Q_SD9>;1pQlkadmm#*5OW98E&(W>*w)gKf<`GLH7Bf z-RZ{0D$_1Xy*2P{` zw=EPsC{muX+p?e%gXDSmYqH9O_iEv@h`)Pjt8*9$e(OhK7di z^PT9oGh!Qri%KdgHd~pwxaHyEU)9tf7#lnMk-$z(O-+|{HvZKvANu?{7M5vARis5W z*Bjt%&zu0>gww0CWdl+X)pPlT+22*C6m+Ait65A z_Vn~{aq}s|)jcKYo$W)cTwLP0AC~@V7V)&>4+=u!)g1}M;vL8Ll!^X#X;GK?qaPRl z-W3-Y*R5ekD6;r^PMa7TcXodNBWrYo|JknIIGLQXsIiesNlA%|ms_x$>&2%}6202# zuaF&)jI9sa0xwrk*TjH8;b)hSnAxjtyOI<=&vI>6SL>D?>;Cp_8%gAU^Cqmsv8Ssw z>QPfuWo}<%@98NkE6eA7DNaE_fqMHPslC>@nZ7>Ghz5oTi>`$Us$r!n{kgrxHsnSf z_ruH|P2LF&be2#v@$m4ts;VrCb)o);G_YZzeH|Eh@Mbi>riNIFCa$a+|7}&(!O>fz z{vwqGm%$1ws^L&-L~l@3e7t_HY|vGAGJh-fP=9{`ZzMMClD--{e7%LeO^?DEM}&T* zlKX>ERw1TI_pza&A;Z(lll85M%BhSvwkLN8gb=Zur|Wq^liJw=7OPO=?9`WU#IKm! z+gyY4cAPwXN@STpczSkbdGNhB=xA$dk9XFXDgpx%E~5RD$2!Ni)6GgoB1TEJO!Q~b zis(0sNqJIm;R*b{+UnxL;ncKX{`2=Qyi62NMvY$rL(1P@!$Gp*;yxJ8y!dAV80J5_ zdwY*h14j#Mo;gk#$1Imeu85-+!_g71xL!o+kh)%>a-y&%9|3r1gq$LVa_W2`@9Gb#?JKqBnO2DbQT4Q*Q2T)kPS9MZ%zr zwfm!qGsY1ef-P()%Ug(z?G5z+k$`48nt(hZop{ahilEhkrkYwIuaYYR!&yT^Lrp`i zMb$Iv5FI_e@XnABl_|_#jZiECPxYWHUz?NNAAR2^JBcZtAT*+&u(k?{2_Fu(eRRHQ2YXE(4bk?VSMA;H;q}H z3RK3cQoD9tMdi3|n3x@K>z5`!N^cL32YPx+CR+9Go}S$mB95X*dy7Gsun>V3SaOPw zn!KuhzwUXdU2W7d`??`@6X2i4-V!1uhyLcGRXV0*4&k+b|Gs?kxNc)(Q@5s@)qy-W zoAJh@@PufSQZc~`WlTpS#<8%lkdpP;Ynh6(u}cUKzqULL$ZT~vvXWt>Me=$1;4%ef~xQbe$!IbiGbDSto~4%ZU3NT;47*smW04uURrA3 zJ)w^6UtwQEg{tLn4l9d`*`1u6m|#&|TnLMGa3Dktjf^H7T;a$L zTG5|;{rdI3v2jdirvlIo@*6kg|C(o-LFhew`t(&+*30JRJM*yiGcz*~O>cM1UYJ90 zGr^PkdhgLRlTcl>AyWo(#Q19hFVAr5>IEDCp(*zQwp=F+I^W?Zkm$-=5udKmb@O~` zdA%($U#EO&c^Qp}h^VotscUeM08pNro14#JrJ#W=WNd328)j)~`rp5Qt7>ZY?96>k zOizz`^M)<7YJ#7izb|LoDYT8o&BLRsgx5sD%y%s%1MXQt1osTlDox^h)F`l9`Fm`O z`j5}|NbL*U@KG;X3SM9v`$tFNd3lT%7Z>+Swdj4GKkw}7Dw@>Z=#7P}>EOWgb7h5u zjO_1*jVexkubT*je2GR*=8x(iq@+{hEBAK%U=kD#Lt_ls?`XiI=#y1Nxe zL>D2LQ8E1w%UUa!qfrTO$F&V9!vxt<%$YZqvI{@>#Rr>#)KJD&gpLBd~>%?7&b(1 zr8ka*m^e5;pGnwtAv=R#ZFO~Z>G1cMxcg7cpkk(Rbsx4eT`&k);+`AC-@kvy{2_~6khZpYLStPVT3X845FQ>t zLrVHSxq+fLsm9w4!)mUPzV+Z%*FRT`AjH_}Yhhr8i;N&vD~Ekv_XQRgE_d29u0T>rvEl z7wd4Il!mOaYKa~N%Kgn}+WCC6Wo8e6|K6;z2C!Q$kL~GNS1ckr@tgeo2@T0A zs%)g6GuE9Pi+L_S%t*YoK@-(bDwLdZI$lwlAK6-ct2)C}nce&BI%4^POu%NMz*o z&(F3Z-aT$Av>z*RnipJ=g;Sm_`3#p<)T#a7-}UI7hek%xv4@`I6y(HnMJ4cH7mYp# z6F6iX!bMd*x)xZ$=+xBIT4ux988y!*ctWGA2CQ#4Hh%6*4KH#GkBcLa^xlny+#;A_V)99CRxS|YHBP!UV+s?u>lG`W_-=C2@S_4Z8YgY;L|p0;`S_DiNmf;$f*)fT&%2Fe9W> zJ9RX-HsQX(AN2Y}y|uS1i2B^I2?=}KUto+@nTP?_9!c#crq0O7F#PnC-D_u7X*If~ ztPGpl-X2Q`yMJhiaQXZsXa?B+zqmT1;Q8wJUl!aeSK;;Cux`xRY!`|DemCDHQX0Ld(tJHy32 ze&O#qrX?pcNsHWw*bnY>r=#G1{M`BC^gz?zkwoenf>^P1>|Uv6PG+m!vO=icZddM^ zV?;}f^n%X{0Y3F@%-!AHx-|hRL@*hrmig7iKUM8@FWB?z09~+p-&`5uF z`xkS=i>{AaD9J24;yVLS50l7elnj)_|ZamaPM@JX%**8Djno4*k zYfZ%l6v42`ix&v};5mI@qH<{6xNc|}`NmXRP|q)3ljdYK8wzJ$%P?vLx}u88^*E^G zkmDcaUzIrnQtuigLop!oP-Tv!0^8wSDp4mYbPNpp0Skc&rKeAC|N52@>ajj_@Yw|f zp6_Gd@h#`w048~EiMco}*4dAZ)zwE4JVE&U>I}zoCGxpE8dT86@S}-eS^Bw&>v#Qn zg(N;bK=9^+URo-Nr)=}{^LB7)hghxBuH&7#TDwt}~`qs;Ca7Fjz~v>#;_7fBqIl?*rMDyS#`%UAe+^^> zc@8Le$9^F(1IpOg9PQIj*_l{(i+%t8@&|vVZF{KrdCz zd&|;``5cgS-YzyCnG_<1_aq4ie#VJM(lF>mi<-E;Dej*ipQ zl>`z}QU#M3J1!m`lqUOA&(IJ%P8lOdE3)%C^$MIX?ez{W@)*viI?4Z0G{(!beH&Zb zK8^=}qVy|!{;Ulg%(=E5%>LG{oM2&^7ShV^eYonQzN!v@mE*x z98})FXC5CP@8<6Q;=>0a2&^TD9LZ;!?Zd-FAcB6|-t2(lAsBFWsKOD)|7UkW>4`E{ zy=W)VXDm}{*+75d8)(XeLWt)AL01>6)g{^|CG~9?8Ps>0o6YU*@2Q7$EU&LeYRmk? z{PFpjRlybItE8mR(^H@MMt2Mx930hq_vF>oaCd1&tQ#o{?sF||ZM}q>=Rt)Q_IqxIB5fEr*NLWQs zR$W%TeY>>0)a1E~A;G#PlAc^q#IP*VgC+*{kVQ+S4~BB|pDq z2ql;TRjy;FWSH)X>Dh4^Bm1{a~vm$Q#%4gb7yW{uA4Wz09U$g zPYWt4DyDCfwYH{bWfeJ2y`vJgBQ|bu0+#p;G>n7arFkqYEFmZLfJ5F?OpKph^QWb$ z$Q880s=vc)^@2J$O-^WT5%{U8j0_4g*S2<*nGX_!U8otSiRW3JjD%0ZS+WOVhPh zNbYK@jYxpg%CS^07FztWJXOBDe}6lcUMlru3$YZKET5D8%~7Q@Q(&)YkF-=XOF!-F zFJ*Kg1pm_cUYmCMpB~CU;bT!TvBJU|uYIGS+zP^^r%BqMghr%Rzk#AIY$=d(a$?{jiKbfl^C`TgCIj6=gt z&BlW@m^yfUe@t7pCrHMgG=)P}&C${4xo?K2zF)Ozi-65na`E&p!d(>=Jg{))i>(3T zUfWa?e2yhi)z$nQnweq11x8X8!sq87;nRx7o{-8f1%^0O7;D6X5Jk|qWCTY^tAW4h1|u&0H~N@^#MHc{hRx7F|es^DT`LT#P@4+FwobX zK*uky0)?NSOF@q5&oEA5)_bGF9YMqx4?#x-N>|+)aWP<|+(hnI`R zxK8+X7mACYf_L3dal%|vQ;=XtJk9QQEG{yd1zn2Jh`DH(;64zhApkHG4oRL>NGPd+ zu2&s}YEVTNq>x!1Oq;<>5yNI5!P+CdKYtTbGkJV6^5L{B1f1)8?kxno&8MXm_=dQ{ z#KL0f^3lNT^8MSl8Y2OkpT24HrJ)WZ)Z8~^f9Zi})Yy-4pjK0fT&h^mAzqiK$2Kn@ zf`nChB$b58IZ7>FfQnQxmd z9(Yoq{+5jtr`g}%9Du<_YlIvq1_G`NcZBUmf*Z&!=RZHgYr8zAC1kksrSn2r3l%ng z$4*Jy{S$V=RJX0Mbsj#9-g%&_i}~#7`z2Xgpt0hCe^&i?jq40=ZuDYB_0tA7Ha4dI z0GxU!dV7kJIYn)GZN=&-MgZJaIi4;WGHtY1@Bri?RBfh{@lU6}U@3$mhgz>YckbA! zlZ2tTR*v@qvvGv6j!sDO8@3Mh$I^H1)OatpQozbKvB8}p?$HK^g<;MWxVAhy>HPOM zq&LszHg)sXxL`(UbR;l&R$*b?y2sPNA;Q-N(pJ7CvTiR?azp7sLD|izQXS@7;;2^* zy!vNb=$8x)&40(v9i=#;j*}Wqd+lfjVq#)RylsL;82Mwr-ymu4G;%qed&&1j^jqIP zJw3~uuX_&=-{S1>_x%`wDP}1tT3O_Ukk{VAAYmX`J20eyG=9o}?>ug85kUZSP&HsQ z0F;eauant)rrKLC&-AuuTjoMm#FMrgY%;5=5#;v5GmiSz6v8{Ed}&$p%dYnJ(XMTm z6jr^lB#*ze0q#aUZ;4h;3>?CTw1J((sgQo?#N80EC}fw<5Pj~bA_g*URHjLW29_f& ztsO4jwHCstgoL!zfk_ZE#(T2OhBuSnkFh&;EREC8cW+aIp~o9sT{$4RnRmb8~kqCrC3W z_r;-eA==Ook`??V3cK>gO@rf^Chxty5N8Lb^!Xd@kTMP0M%$2n3K0&B3|A%N!>!tR zGU*Z?B^$5lR-iu8(8R#je^2ccKtLZF`Z!pl+GTIc%G&egLqTg&^soNc)wz!kOilT|1h!wE zyesNU(6*m?_k*QFv^ch(D){vDbZYjav!8%LyXiPctsFOwPxklQiDWN=gM$&XIzBdg z3oWORf!t4aAJ6JgVX3*f2>{gRJ&O*3V$uy-)U}z)!b0?W(a|9sSdx;GKc}O~egJ|` zz;57H(&$83TU(2_OrB;PKlpzyK)s{BhDNM;kmtOjBvp1w^|PR<~-eBzp(u6?~DFZw2GgB5X8|E>7>LAoHb z!VV`?^_8ugXVG5mm$F-{{YgsC7V`iN%zUuLqxfYVg_oih-iExQ1re^Un3z>ej1r)r zyt{j?xgUfu6P!``zpkm(k9_T6t9UWzUZEF?A~?0OPfO-1tA|J{-gGBFKfjrxcFVX9 z8`66zZ@3sNPvq~h(v>0lBxigMRM!~D-Tv`$1gJ0m{{B$&F|@U{SJ&2-FHaW5zLE~W zH(1TQx2dxsw&{P(ZrJj?KHm=o1lhUo36Mbp;9$7m?qA4o6V;eAaDNfRRJEDwMDfE? z4+VA?ce?BRuCAcfUYkkaFf}zb{OrlSIeDWl1zoVBqGErmy3G=#?^|7YwvZ7YJ$}qc z|0jX*kb!}L|84y5+4{=S%vznm1-XaE84tL*LaV(YU8Yu`SsSyt_{; z+inU)Lu9%7!Dh1pZ`t%{CrR!vE&wYG0^sYTLG>jsom!xv`Rs!`FReMBP0<|F^ zm_?mu*-l$Q`Bv4dyf#;DQ>j1Oqn^q&2i^mg=@NA2uS3Fln%U{xtIK9pBsVIw~eH9iZ1N{r>%L!#wEXmA97{R^P$-EfQK<$GS*a1h52i zSanDX9M0U`KI=K&`_NUv4b-%PrE!3DmF`+hO}?>f6wXQvJ#>fKt=27Wtq4NqD{ ztfO-7pU(g$HeDrWv?_S)CsraC38qY};B`pfQ@60fCf1E<)>b zPZxJ*0T`)dg3E7hYx}abVX?ClePLlCf$+F5Xm4}VL73y6SzDkgN)HXC)UPrQe?{EE zlX%S*RsniKCGS6iAgyCrXx<+sBO?R#-uf{kW1gbCC|j)f&rgUFt&FF7WnE@`X@YV!_J(pCTYJ)Oq4fKtMWZ%GlS*iR5%8*=jQD#cDAPuEVVxP zp6MGSI4LRC5(QKO<_HlC5OgvSEL}EiNHJ4RV_=eK6POTGZSJB`yZz0|YFty&Q*qG2Rn;`eonrUT;%K#FsRRpOGG&o;Lmo@xd%U?= z8{j8Th>WbivXr?1$U(vPC<=mTG_?~C8a~(r1R`IoWs7y9QJi*ait^d!xG(wp6Ua6? zPzMBILIqtRQ=9a|lWH!~KFB?R%+y0>Oz0k}Q z#$j!xmXDo9faK|`TB$FkrWVFM?0K>uoD#K|-s5#z{kVxj_VSR-ncD5?Qw6YqEN^X{ zZ`7PXdm$-lqawyfJ{Aj*Cc2pGf+GB{y*jf3RHt$Czo?-N zdO8%h3{mCJYh;R8Fc~59vZh7=MVK4#Ss+oNx<6c8T=^AuZEPcMg zcq>@4TZ}bq^a&n45PYwVkBhiZsU2)=uGx|hoe+;LSC9R!0mZ2Tl7q0zJQb+dPa=Z| zxcT@fG>?&EVUdwV&CS_xm-LK`0`)Y$IvWJy(WA%LvNX;Hzh%g9YUc{imcLN8M-&zo z`Y#4ZEe!@;qMt7e6_G7C@=6`oxzn|RSn9dQ7eADW z3W5fgA8IDOtcI9!vfVBStsF_4S2wu*%`GfmfPH8z^#B{X&!EZTzMraC3^H(mEcB5n z>mcd@b@24`G(*vXuga^Ro+c@{UdP7@PD0FY0XeJArXUfu21I*ML@;czU}( zHfdBX`jWdam;^Yry*5T(G=yvmc+ptDR}PlCSW7R5Wfx6!brt;? zQR?ldCbGpy3P%5Zw1t3^$FsM6EWqr9_3RWwZmdMp9+m`txSbz61Ay_ky6~MPjk1Vp zA)KH80S8RppD|83beKc)b_E)RvK6AiY38XXvNfQae+3W>>_}W|&gNefRpHP`movfQ z4+{@RUB1rd;`$TB;oWaI!3ij39WFXr_JB3iF&R9I5DM4IlP|(f?_MYR3T4jo^{Mh5 z3-Z$W!7MQh=pkIj5c~N)_odcg!CO4so*^>}{KxK0-R$;f^&Vup$c9+kPW<4&DCr9% zv2noPaB%Y!0Bl0t^3x+iq8G+?3G~vRtsXtfW?I*C7R1F6@SA*#7mgn54+o3fxwH*5 zRjb|kPlZuVp!Hh)S?v!wx_pNN<@xIBs?LUr-BN~%aUE(WabZj}MT8w9_n*S(Z*!s_(n>=4`^u*T)d;lDF&U6sx5G_v|4C1p- z8-KgNbCd-1oBQh%SrnCeZyn8aPv8xl#ojO+vR60dva|y%j*w^Ipi>OslF`gWTyEN1 zd?68l?^<4CS7kdaB9igp1;871s$AcmPtaZxM_cs%!-wd-6~GK`(Kr3UKU(AYTc;6M z7f+oO)Ju?henRY`8rb^CYDR!sV$qoGksvpHPnC;>EQ|fxt&|@(T;Y|SE9f_=F7f5l%RTphB8P5?l1Ux+#7zD+HdW4vd{GS zI&W_*btr@M^O4jJJowsnAQx}~)uD$Kl9fg4OsyPUPK}s-_*c~m|AC4(5z$ZQg=doV z3ydNTmSDW)9gREeW+G@uHAg@qj57OzcR(N)I%Vod0JN_F>hWzMArSWPi?E44oCjSB z7GufGKnHZLWS`bJc zmT1Vs;y80pgoGoHSV5Kq16l#^-TROv9>u;XR4co=#9yjeNk&E{6nv^I(!GS=erP{7 zsi&(;{G$u>pc-Zpg+iV38tZ=2Q8r=FiN?#$N8PK z=3H5t0TSX3z2N3(M&c=Qr_DFctk{t3Z6+cmI7FEU}H-7w^6kG=A;&~ zjgscYSS+0cX^!NxLRc;^uI*14n7!~M<;sJImJ?2-ED%(}FpqkC>tFZRuQ3f_G>}D@ zzv#7xxvxaf=qTiOPz3|sHPxw{P&@%?*6pbm$LH$=p!D3zM3Y4bc<(-%Z}CfOh^6Tu zMI7CQ4iE=NL<4?D`P;W|cwcb!ifi}G^n^F=&V6*Xf^)To#&V!cUba+L^Svl<+8bxp;ZmKSzEY(n<~ueDW?+(yAHVCkndE z2Uh}+8=Ca2tyit#dKjBn=9{bi-BMSdJ~h1@a&KyCS^;EG${Q*MoHV{Gl4vZofKoF{ z^u}Yo==5Xcp@Lbb6iyi+v7jz zeeS2fvRoA(4uU7dp{^h(_y=-J-PczF{1Ns8`61J+h+dZ{XFZ;uaX;hfWNsBdrcfP3 z9e!htv%@iYwi9BW^1F7>ABqHp@Ox?pEj&3uo-zA@5!y+#`?7EuAo^M+SU0*Y7xGk4 zjzgS!<)}9Y(PSL>aR7f)vy}%C-FP9_eUmm%k{eXamu5MV@N95c z3hDkz1)O=^_wS@awnJ}VM?n(`Jp0W#d)t8k54jboTqFq8F4Qs7wT?YpNs0 z6E-&Npd&wfyUaqP>*=Aq1{R`GR`8Xz;-~z4gh_*wgql<6I#U@MxF+m{Tz4N8F8+gz ztvnO)M+vk?^VKhja7~nHGw|OUC0sKuCFREEWRJVz$&iEs!_@L-nc4lg%1b3-e1Z;O)1YLDy>W^D7KE8M?;+8P}jix1b- z1dOO8W}?8QA%RAW_|GT8qz0xPXPoAh)oqQsf=3WYUSZ)otPLGP#M?h^0=Zl*WeoCU z`V{%$<;xApD-nRQ(tgLNB?VP5_Vf0hyWy!>kcI?07^9YNb(X(LNJ>prHbLJ*IaJ76 zKWE6g=2pIXfat()k9f9q{F?3*?5JA)Q5XchakQKj4iO-jzwo>kbzcA@pAphK$>XR- z4zLx)$UJ51#YVUVmC^OvIo-R51OYA7++@F#-RMG+kq_XCeixQhyN*M3jkp`(bh%aS z_Szc>JqIvzk(lIBKr676_k{tdbljPovLLaHig_@HmoFk;{y;<>{YEmU>gy}6W1<>R zQ|}%xcZ>Sq{|rFD(Y&Octkyp4e0kV{Pmn3<9Fxjxf;zayRr6#f1EfxuFuyG36hNPGN1{B2bqBl7Mza6CT2yW=3rs(EBB;UUp^1(Wpt{T4`(74$ z9shxUeAAgadotMSPGiJYALs>2V;uU7&CShAOLBEoF_I-Z%iw{FRS41C`8AZW!U!WK zqwgL|S)Q!JCC^XxWPLyuwA`Aj&@J>oW0di4Ec;6By3ic`l9C_wo`CxZXoT~5ySN0y zOS>pX3zhHyt?EEeu(45m_BLh*^zlGu?VcR|`ZdJ3YC+QpgE;oTjE7GvStn6`BoR-x zHrA$7-c9S;EN_BU4aT7t4Vb1l`1oNO$~Lb`My)nakd|M!d?|nvvPnt|kN8ks8~N?2 zIGHEpCpvmxpcY$BUw=~Tbw5)BPs)bz6*@|RRTMF8fCG4)kS?D$)L;jV+P_5GbhJgNPK-~DOWx!dQS}~QRCl^$f_pXaFqtYZO$OQ<2 zxCg-%aIn803~erFYDK}Gn+%+`wuRDmt!8z0_~rG{RKYO1F_Xq;%62SP2-d|%e4O=n zL}ov_62VRYZLnD%%7HUXh{_o-YLovT4RnApf$#>*pV?C0@ePx?r1 zhh#WvMM*IBw}xf4*=zZj7D|H<8*?A|VJn|*P4aekcLR#M36nyFdn;PF5Bmv&7=Ue- zK$!=7ccCl#;T=_FG-zE-zBBp|+&$Y&`yXop&k4JiL^V7hG@{Gb$}OO^@|iOXEGZ+Y z?NYZcs%1;OWG}?kiggZ8kN~OScH^kIofvc55s^xRo7HA*3%PsGe8mt!uHblj|Nix! z4de3ChN_cuCd8YbE_)ob@6V5MBxiJp4bk(jqIhX^$zU1yzg|!415rPp_XW=}=D8F& z9Z;cb^3ODF%D4m)RcX6&TvU%rm9vwg?+H;9|3%Pp=QSu75M@$Ot{7?JumF01>O<4= z{HPFKlbxNtaPz2u2tp7{x80c-0c~ytO)yCSCeWW%p9rf-P=1*0M(;g_Jaw5DhIv;x z+1bP>;{jGR-5sA-4VVkyhJfxiDte>iTNql;Y^Dj$3%p32-Zln$YG`cy+Bla7WM7gAe>b4y;5$b>FxZ^PZT4`O1=h}y zfVZPWpZ^k zq0J7F6A37|FPT6tPbL6pw;I$6kUSMlB0A)5KGqxOaj*Vv zGQ`n3|5*3vC~0BIVa+HNN3BKuF#3YQ-Szasmapr>jfujH6pqSEmR_+pW}q3$m0-iXl^>{`R?cGP9*fe#e=Tyz>=F|1Rp{VDswfg5yhNZTU$XpXP14A=jka7ZCyxGpsD<4r4mpBd4%`t zUUZtE!#Edg(1*aw=d+~v41OU~h_6OcgFx=(B;CnpPU zBB23->x`qge{k>uEP*H@$Srf}y*YmGkRH0mLP{pP1Dr6cQ2V+ayfNT%zBJ7eaj-#% zzBSW+`$D?EUoAqeNI6b1ZJuk=$yF4g8lG@%6D z+R`@;ep(T80M4=XXzGHV&#kGZT~C;V73*y3Xk$^j!bPnZ?0|D)t}57m$R$6za*0 z&hs#?TSFFqK9~fT1S!woMo%wA#_UW-*UPJLukqLBCeLR~xmp^;Boa_qKSCp2K>jds z;Pq?Lx5o7`4fsW2E8>>CJK&0Q-yAPDJNjqbqE!G>BWGKGpH0Yb_Xi=Cc6YS^u0>5C zYH$&kf;TXTsi>mlLmg6Loync%8%aKW`UL!zmu!l3ZwhO{P-S5c>FIRLYF-+vs0MY_dj z+HAP;?GH`R6a&0ghJIz$?=(HUl&I1x>3Ea`fz!+~so@IEoY6}Y93_Zz)p~3(wuQiR z=cF=Hqn76)xVX4>0|L)g2LnM+0uOd)c4pw?ID&RYlLq2)vla1p!$s@6U8rs^rs+Km z4WPZ)+rMFv3RIfGk|T3@_z;x3B=GQoTsD@EhgVI5SW)4qwjF((+3= zSc0vQCfq6Azc^`W*whv5!1bpF3G}~;c6nt6h72&E!F*aiZ@4%f#Vt9=%FfhW0;JP~DSyG=;=n>qHX=c8`-A#A(v97NBWHHE< zv;bo5GDYOF{2Fv60k&e};wr#cV_w;n!;caIt(-gk=eaPj_P)vYZ;2*|_mwHNMmrdn zVAgAcxv$OY?Q2oIY*#FB*eC2}U@ijE2(ZZiFoz`r+8xKqTjS*qBO!uN#tsmd3wgUX zQ1&x?d_^c$#&vcF^N}r3Oo;^%4)rvE1#+?TjSbKyL=i|j@%tQfkdKMllQ_b$Cc1Z;q9QQ;kDpEpnU%WU{YXb=z>O= z-2ibIERWv!13DQ{Hs$W$A1RW$%uGFo@yvq9=f~n+hg^HJohQ3hUhH!9`0XIwm)1G| zFb-1UZ%^(-A{4#7fz~R)kwgs*4i6{5Azp=c6c-;KKpuna?CgDLBE<|f%f1A!h85fu zjwc1H7d26=RjP1-d+_afYQO z^E$gxbQoG}ez#crkn_vh(}hYjVA(G7jR)L_K>YUHA5AR|Rm)0(3IFc}*rYZzHp zp^zE?@X&C9LoN;h3y2IAMzB=Z@-9bP1N>M}Roctu*;h0(2h`e7CfXSy+E+V~mWr_i zW^m90A!=iu2#lkAgE00vn#zm~c^o=TqR!MI2R`Md;FH+qiigf^0Y>22fy%n-Dm>^ts-Vy+bocTvNd%3=n|XIouc3Lx6(3a=5|A2B@hU z7TO*{2*yG*po<3377PVSc{2 ziJyLl&{%6t!?fh0hbAGt!ri-?EMny#rGgQW!kOFES^X%i(7DMAd#*L-j6Up`0ckyuT%87cPq2dNLt1qP~A*Y zpGaz`F;6f?nteTPfgEf7j=ig^s}?*nC>7;5yd}2%4;nCupA5Z(G1f0%zn)>Xdq^3! zi~v(qtXtO`#n7m|*kcCAF@!5t`3!L#djuM7DfSU-c_b$nikur}y zd*VRDs*v}tYuK#`GIXee!j21cl>CpD0(MLe4gw0Q(WcviWD`XLO77TbYJ_@pKS69x zRTBZPp1mDQY87zi3KKP{e2;N&l0~a7H2ac)Yf+%0vWZf2f(#ExG^Zs(D^KF#o)QxI z2@9qJek}G4y!>+6#!Z0q&4ez)4+_9mg5V?)G>#c-<#Y6tb+1?kX_{-- zCNjy@Z`|dXAPYIBmo)$Vn!UN2w$;1Z2z)apa&qlL1Nga)s4ieDySte)ob%hVZo>+t zWAa6#QI=RCaN$bC2&0t{0_8Y?P61b}&$C94bwZi54OVa^jHLc~1Y>I>b@mVITz<^v zs~v^qg9FUX({uH5u@t6dVSb(w&F4u`FNWT&^VEa#@WlQ4cRIwJ6kd%^g4TiT+TA3g_X-g~!N?G5? zm>2)c$NM_BZr!Re??C^LSd(|4)aG|HjV%!l9<$)(VnTqjUKgm1(C>{oSa%XMF)q+grT64<0@Gw)Oemy?f%I#G4_c@~)t7g#caD^`K%2jUqL*P*V6% z=@zS4PqJJO58|-z6&Xq-jJ}3Pkv{Gpd3fmQe>kcF2%W@9`ytl^D@=qc6$K+$)`Ed0 zb=`lA0etUw+A;Cub&9i335F~POWcePfZt$+uzat<)Ex>ap;ou>b_G8xH#ZJr;3@O_ z_wS?jY#fT8D-hGsX_PRJ3}!j!9v#@y1Sf%dEm59<)~NmTkB5m6?F~y`tE2sW^M2Lm zV8$ZgE7vR5v4H6Rj}LQ)pbQ?`vX{vlVOkIQAaJ46MP_sYH1OT<*=Z1duyT=mE$jWl zUU#~iX#VYhuV6Wx4kJ`=O-Z1Hg$RnPz3E!kCxe+bI?O=`7~VxZ8OpxLCYYA8iKCKK zq6vNoA4VGQ?TrUBaK!Y08J#d7;ll03>S;3UqX^Z4`%ygBk7&V~1jgdf|CBbJo86>n zFm@A!&wk+wqp7GSF!;*Bt`Y-N6frk$qMV!HMlhZ9Z`Q4bkwDZDuzB1&01Xahu-&@@ zM=+h@<>Hc4Q~SDwn3TObKvD&RKy$eKZ2fvoDUuUDyx{h83?_=ZeNeR`8_+;W1OcKG zd_FEuwJ%{@HC-k^5?TkQTlI$JxyvJOeLWTk5GYgJVIQQ!l!3IZKdnO3m&h^D`G10I ztCY7$KWce#9EN_$rK#=mCmhNr)5Snx1tYf-q^&ahd?jOJ8fXdMuM7=I*`($GggAYC zve;am<$vz=vQ+k%5rde7M1J-0k8DjNzYvh(enLf1z8tr-vbt-cP-Q<|!@Q+gzzKn< zTVnG3`EyHf6mI|pwky0ZvJ6wPD7!>l62DP-uKNfVQ}CD1Q}4{Y{m!hkQ7V?|OM@oQ zW$CWa74cNwGjfn~t`jkIgTv8IeU#RbMB|zD3G$596N3p<(q<6G!2%O(_ea}70WdHH zziBLNyurC6ti{3d%F5k0%p=h&eQVm@nEsszz&7|WLAUwf=)n0_Dw|{Wwe0KMHww_rv%6laBkevqvY6+Mfj|Hs3OKlf zfl4H+KSr{_yZ#4y)#lI$ud~^>*5_UW{W8!gOt1Q}qN=KRL0<)yq6U%b2E78)Dcy2i zpS2W&5g1fM<>S@7M`L4S2k@FpU^YYk3wo=oJ^xBgW9ZvA|3cO!GOVT9iAu%Rmxiw= z{sMOn5&%zV(Ir|#ZLOd&#z>>P)$yA*oY1DJXSfcN2gHEPUcDj)<%0q&?85y`m$vXZ zF@z}Z3r*aw(LUIU-y^SH0rS@iWXV1bLyP+SG(2kUi2-7`w7Hqiaq?{k3c;$6;u#ni z$VbNSoS0VcmnH zBUp%L5%1@!P{b}*ke6RjKA=zG3LWPwub@Anar`Y2Blfz}kIy%t%@*0zB<0L4(%aP) z+JM<&!5Vy23gRTn{|6i~3i!btI!185m^(WY`28PE-vQ3$+rIxGl9Ut?*(E62u zp63NYs+82H@^V^~9muXPjnjzsqAdxgiVVntbenfpotaf*C+Q;Z-%rXMn;Q+6I2ftE z2bu21;}!&u0vCDJEBq0n1dQABH&X+ptO(! zIU;6G)QA?Bbaipx9jG-)bYvvlVEO|Pb^TK!gNUGYQ#y1AQbTzIB4=I6NS59B#S2AF z;b^>?rPGl#UGypQ89jX-M@9yqm)MJ6sRTGGBsiD=oU;AbmE&C;dI%yM->zNjpspG{@m(HoVt4ip@Hx}Gid`=gH#!Sc`mq8qn#f~MXZ}ahRbj(N*oY81f--mP(lFCR)S6!=&3uYMa2oE z7P`VtUF6~--}1HYi=(#bL>2M5yqsC3^3be7*Nf~Mol<0_09-jiB+&qrxKb=7%()Up z5*0J)36FI+P^6+`?r*0boS0%`Vq$duJbnJW?^n4W^sD?x~wfh-|wDR9?~1AC+u7D`QarvLCk>bDSHkE_$xut)49R@v!x^ z&YOK#!InRlx99i;y5q{!--m6!egCd~@d(wArsAUh!9g?B8D}M_#4r1cyo_o-Cvi;< zGH7z+k|cN#;ZC6d76-3+=dnBT!DT$}T#tf`X#&*+S)Ayk>zUYS9>bV@vWCqYlA*fk?d@fkuwcY`KtktE z5|IyY8CD>9sO7$_B>T2#aey=4y0&~l^zXVm>5xF&#`lmap`i(mj_wYaH!9&L@_wTx zUzlk+tEr=-X!vC#dM%Q#o_!cyi`L}g7Hz(3V?!dZlh6VEQ;g(Z(SrOMFNtJVfitL} zqqE&w#oyqxFjEXX4MZkNh|A{YdAqXUN0m2-cuYPZ%q6a>Ivjw-iOa)-Ix6_B{)2D` z@OZS5Ee_;&uqi90#|u0VGC2x1xJH00f4w7r6VTa8aK$g>=18&kze)$zoZe`n6rCt%&;*MEq4Y#swy(I@}mHIth+Z{{ZYF|GkAEC(}<43$V(*W(?K)$1h0 z##3EhMwY+>GjI1P&Wv@iy*zUBAJ*@qDW|MJfX%{292X;oQ&a199X9dNSqXXk*d3~s z9(+u0;_+=}S2xr|t?j^ug6cyr4K_3kk6cq(xBX5Q*O{SPoHOQB2PCxE-xk?%A#^z*Wc$dhV+Vewi$WPv{l z93(t9bNT-3&P~$?_BB9r(0=eDgC7w_=c)1PiZ_n+^|oxzM|dy3AlO+NCb zHYYZ+H&+I$&N6O-0Ud}PY=9@Oyr-hu>{E5k(cr}n><;YCiJ}LgU)Q!jL_?-0;7Av# zJ~-Lmoh1leABW8WH%Pid&+v1-*%2z1uXRE$4yEfp-PfO$c$`03s$d=&A zQ!^hkZx^DXn@4#|N(-5fS-XCb@feVr^yd zc~?nVURm_1kJ?Z0LbgTU(;d4T6_oZX?G3E^bmSAyJk^Mk_o1FY7bm{~vZy|A4QX$v z?tdzLJ}yq%0(2=-)iK&t$cY3!p?T?GHVpQ#p-JYhFHr|?G+fD>lTa(o?dQ;KdYLhb z`{7qZtQ?#$8fxCObwGgH%nBb8k0(#IL03RpzJ%`A--_q1nfI~`;aAWr-~Mob@|#aU zfJP~BC;1k#?hdLOWQdxj82}z#R^4cH9ydjSH@%y`2M~ULRMvP}UDxf(YNSBR{D=T2{0+?luP%?;TC7Z|LP) zVRVbd;L8Cg+z!0;6X3?Hc|{M};Qnyo!UfW;pi9$#bD9xxH8u5c64_ObZcEci8|EhX zIVCCe71M+Dw-+W%M%(i?f>3tkmES%8MkIv2LqpzBD@+BNYS(`K3IZEd7SpJzx=Pl; z|J2pDJDYlWQhXvbsCc>CUtK8xc1T9VLsl)2BS+fpj5oEi+UH0GxZR*iQbgpx8EUuf zep`;k(zrcrx|T=MlAv1qmr~*G%Y6IR3&}Re;p^TweQ}ns#>&ie15^N4FU=H<*yqJM zY0W4!yx?0##N6urB&40Pg(#R#6-3|h*s){wYb(c)6(B2f8?28O5EP_?0NQ?Gg3st; znWm$o6e->WjadABVqgKMpKB|2S5nfB;o-QT=5tgh`%h=+l%W}9$Ee_NFYTh1)>ary zd0lIM6^qLtF6eKegH;NeX+%j|+hSyQba=QA^4nh61^^t``TD|p{-r0(i!mj`s@~$c>(ghG( zJQS8G-Q#A4vpaY0ygb`WIRKm~#UM}kl}?6lten>`JnN5-cA{%be?-L`-tmckjX1Uq zv@Pdx%T3Hd4knXF{v;+Or2L2KO8#aT1HsRxO{_#08P0~<+Jft$c=99xCy9x%x80_I zbQZv}W9H$hmws{TOKt6EXq2;T#|#|nulSd zE1ezv)$jZBziZ$dX zN)fh(c{xL_N^+=$AADrT=uzK%4;(PY2PuhQAIEI&F z^F$KqYq!%w40Oovug?2bJLP4W-F~aCuD%_ypO9eWjT4eg-%6d{eHjb7SXUzkWT7=*0*- z#zMHs{z9B5x$B4(8t?Cz`|psTLw5SuC>1dxU|``gz|`8P6P&ma2f505(+%Hl1|EUe zwNpocu(4tiS3dKC^1LI%5wb4Ddya7i85M}saM=ok1a>+w-VzWcS*nrgUYDk_OxP<_ z?9uxZ9JToRo%`3;?He?lWi%O)_okwu0Of6=Y)vl$9Q- z1{oILj`AI^9+MkwHk^g;A^LIjT_IhnHz8+C$yUL{=j`(OdofI}56+0yDAhSCzi80EDX zYg-V{z7AjXn%vJns{SugLqEyMneM~>)q8t`3&MXN6gnjFv=X^E>vZo;IMB^J|CrKz zjl>^FkO~ijDikI{71Exim$D3l^r=n?5D)jHdSyCTH=FgMI*2toPF%OPCONPy!rI<; zEamNJKl4*IS26nuEW?60#^Uy8URL~2i`d#!y|gYQ0>Kdx`yF}iTpFFG+(d+93*33k9fxls zFisiTUM1`r`$~<1^z{9W9l81WE#cWm^F!3xb`^m8;cdGwJmT$07HrEd7dvZR!wC$N zyt)+)iqc;rHgaqL6v1$PsrZb+yIlJW?q8cE^p>QEIQ1n>s+0D6t9H(%8P1Xi9|^5* zgnAb=h$d!cWzwFbNDoNo1Do-}lSo)%sAJqD5e0l%_QoB`%g)|fXwtw!^vZYlx+dOe zHan$~yyr{?%FiD~&L2zFS2J_3)N?cP$V7D1?UchcyVvn0)Zqqs<;4QP+?k0_sxF?H zPm9h6u|n@6%gM<(Gt%sbI1f|MGQ4qoU&-y~2;jL6NjUiiMBHE61ZuYle9f+97EWen z@?@C+z&h$MwM#_Xc|8Z!LS{pQ2Kcw!K|HbpTne|zx)&GUbYQF=%-Z7KUNtcZvATx4 zZz=hZ-wD5mPHGT!lGctr-O;5vSL#iXHU9W;Zy)z@`;udk1!PyzX>qE+tm*~sHms*O zlsa9SEQ8p62x=ZkIItZ7medr`H_B3rq#ahUC-;6gJ4%Cjw)YIRZSZ50~JUO?u_Wx=+xh=F(kT zalV_v`q{fk`~mrAA2=~Xz;|0-8>#x`&B#wv7R{`!|66XSm4Xl1IK3|nt3M|g?NhDM zKKC+Cp^1ux?c*fL)<0?<%zotQ8CuwxEi5jU!dnGQTT#kraT0(`nVzlfVf3=g z`65kXoZA-%dwSdu)xbxYE{GR`aEAf;lVz^T+3Iu#LbYbyIZn=($@@84wWv-ql)wb= z{44EKu#1De%9EgrU*Nv2vL|nYcK&sJ$jI^LgmC@DQ=fDL*;s=rW)Ds~s#}-q1_{a` z_S*xR)QLDzC8f&ea?6kpIz|r7ql+$~X7R%k%vmyW14{qg@3vjec5YOk)Bs|CnVctJ z4?;1!cJrp|6NNrW+LJOBpFfilV6qF2`_z|>t%&6}2;%&L5(m1vx(Wn@0+H{KjN!MP z!;s`!!Fj_*IEGtK#1iXLbd~(1K!rYSBG?XywgAAL*}$9xpbMM>D-!czD}?P3Sx~fj~avyo{&0D5Rg=UlY5E4EGb@>+f^WU`$T* z%4v2;Zii(OQZ8yl743M%O<^xye7heR1&ygHtsA!<3xU7(_VfE_J_7qN3p48gFby=N zaijIk#%4I~Z)hsMg;k1UyIk=JxvPtdOD?;{+2^9h16-#x_0*_B_vwQ4W>a+-DBk`1 zlN*Uwz5!=k@<*~x)4JWtB{DA|?NY#Zz{^$`q#EMut=`tyVPk7s=jR*fxt9n%a8B_) zRB@UVD-@&NZ97BwoDr5zZzLYYi|EsyOVbgljg)?lH&Bh#1mL9R>kG%Q3J{a4&m893 z$#s`lF(i&kOAkhzxU2ZxJRFIJ_U|1r?$;4plAC&Qk}pUI?Fb-P{6S*z-7a!Q>Fl4q z2M<1GaC1^VbH?<}wwU;MGvNtis-A&?XLKiLoOj?8env6)9R2+BRplqZAi=1?q&@jj z1~G2lyt%+k=mi*YV633CP$%sh2lR-fap1sn`+*25Wb|Ritf!c|q_lBz1JM{nUGud% zmipuaJ=_cr1}Kl>dtGm1Ps&Q=OS}H!Ibr(khNfZ1#}ZdswZN!WWu=$R+ILX!H00Dl9H0HJfMhDAJ=`S z!Ph98c{hdVQ9ocftLN?SpKw+10rC%k#9whslKYR9a9jdnZm$$vsDumQ%QF!_gS=~< z>(}-Hk*TiU0B(DnZ2}};)2lLBWcd!Z%wv{?{7AnJz^kwQFvdliFRKD zyQx;%Jsp=TBVu*j+drDIr$_vZi&sh@uT@{Qn!nMw=TS~h4yo_4%~3q7g6|Vc>-MRU z-i>^cdTIAx4fG{mSq8*V|Ior6ym_r1Q?eoSLkG0Id$QLcl)=nXDRev?WSArm*F(NJn2# zu8=G({C+?>G1NULOxalo3r4-M??h#JnYu#`}+7iP*2`gXe287=E{$P z#oyz``-oStA;3sM~?448p_KvJHjz}NZsoR$8dOG9y1!UL$qYf3( z{X3Ud?3zJfQ+_&6s4);`rwnI*;J!F&KvZpJC6?l;dph}duo7r)9a|kCe+jaiw^Wvb zw#jXD1+2mOBPv1Uj-uj~)+UC67~Jg44pCpad9!%Axw}}0xNKpuhKsW3!f4?#9*JxL z=QIT5k4!=y4ngWzkgI@$pFsv0^6~v@;KKmcltIQ^U$+{eK{aszeLXa$rIFVc-}8^`$pajYE422j0yIA1Y=*OVm!u6D0Ho=_%c0PFsU&A? z&@OUv01Z-CNg2C~K_xUrpAuS(wnzp*hO5n$hFPWN7 z8G&Gu5@{vL0oRS{Ut71fze-jE7*hMXO40^di zJb~zT&JDD73lm>L_de06ZrTQTA&w4js_IK^{~g{f*3A-(~{XmCKivb%+L?6J>Jb_M<*|wSmRWB}K@& z6SU~CTuyj^tUSvw>|R=u-so1+)02YdSoGuKhll0v&o^dRbI;djHj)vXBD%@3zL6<_ zC)$Y{|{Iot26 zc%3pX9KT4Z=QvzzKfSJmtxKOEPNLBg{V4h<-%_YEPz~R<4%eAw%QS8WR#xIu<3zEI zCFJF~mQxfxE}|c116?A{<08bX^KV?(Pby`V6^xT#P)X(?dD7OMl)_0%2Ht>;2Sent zyfoeL+_8~?xt28wTbCiB{rZAKfsc=hQWn#?FV)o#6yr%teCuX`#nVR!hAY>u`2w1m z3^b8UAsT{!{fyIR--1@-xbu?sj4cMbXui@;O&njIp5IR3r3AdzdY}DwsoT|0M&(?b z{q32dwkP=`Ax^PavFV8kji0+Oe746eP^|9h<+}26o#nUOtNB4e^-tzk7uT~b9zv%> zWks3tmku#Aj>+}0sN{<1&N0gK?X0hsVwv4sBc&W3t9%4`fM=)F>Lscz7vkxjWcN=c zs&2XO$0vTlh6qOLq+wuFnBii%jzHN^c3yFs@)vx~dsGc+GJ1s5RP~;1`a7G$;7bVp zoln;RaW!p%UP*xX7Ds(jR+}KM)JK@y5y^&V?acE7h5d5f)1_zUQPCQw_x~=xe7;6S zQ4Z7rMCwnhd$rbKWA$;Br64ikc|mxpE<}T=pyol}$C*ovHn(meU1}2LSuP6NPO|n?G7R2YWM7tzNTRA*kJh%u zTeBTfPtPc9B#tScG0nc)&ii!lIZymTy|0wF)~yGc%gXxV-zNXI@^QVS(NONL;@|iY^o5@h8#aHM&$9 zS*GQS`?qfcsPquK-SOjRv4)9%hqw^YR*FH7sX~VK7PvEl>y=WQuc17yuW6kh7<>sn zH{!&TH=2%xhpbyh)m@5@bkn-c?}>i6 z!Ef3GYMsg;F0)2SO|cJD8t?G(V(|y)Pvl^I_|9aZ@Lbit4yw>QpyuX2m-PpX{KE6C>{dz($wybiAB?pu1lt?QV*fI2~A`0A#r? zTDme}>_+FuYbGTQ|&oMwYXk;Cd$d#MUR9%<0K5348+0(cfHh z%;;nwA#teeac|bP12)q$I(qz6ck8ebfw5F8T?^v0g2aGP?$=Lki-guNIY{Z3}jg#%D2qL=WP5tHci)qcKAh(mNd$dW_VkB>&J!MDV3I&uUbOlNh#x5E=h5Y*S=f3K{A15@%o6d#@G=m-b z=zNp>0806z9BYGv&;*kYEFMT)?Y`cIsBO|Ni^;F@O7)L6L%~_g8861ikU=X_`3$aqb00CuvL2 z-`RuAP<*d54DW9Bt~ekFgva%|_F67PM}sGZlT`MjB^4#HXWI^Dv~a$ka9wk9Jk>6w zK?Nw+YZMLUuKmiKJfH6Lt_$J$Kqwz=rz)xc`m(l*dQ)K5YDD%5LzeWi!Y|9T?=z*)VJp(O{jDL5F9-Y}Ju`YElW(r%fxY8Mh7>6>3FI$B7;) z^b7#yt@~dYI}ykiK5Jr9+ah`IPuGbwXt}%?+SMOyBnZp4SFAa^mpPAIKdDIfgwxx{ zpFAuThu;YAVPMWN-l<5;kOX|`jf=>v8!=(yEC zVIpX~Z4JrWrbGsEul@dAj<1f)C6<~u`b?-06#)G%@m*Q2-7?3W7J^ke0MMpzY!TB+ zpOfE5Kw0+o-f;VQ0iF9d4L(|IN=w>sg$z@;2|;%o;3^YRkeBD(w~s_dQ!W-tjnhBY ze`_m}lmBskCr13xva|S`U)f?uooU5I?cn|$4k|uS2`k?^F8e5;} zG#%VvfZ^Lg*c`#gbfv|G@_Ev`FnAJZd>Yr zl=U*O9Z)+$+_^JY$F*zsZa@X}6;m_Cu+_I<`#~Z%_|mIdqqYj7gp;$gDAP_!p;M!_ z#y_&0rSUrS4xQa)3%V)pLtZm!eKbQ4e(3Jpf}cSZJ^*WntoyA8EXG`=?I&cB6zP`V z(4E25#*rhIVy6?evMf2s{d|u$$I#p7Gr5nXsDh(m134WS!(O35>^I7O*yiDnwp-+f zdtkx5RES5XN53=UzMX|3H7wpAfW?`4ElSz@f0dF9;64$e79!>=p~B~V?HH5(b{E&r z3{z^l3MJ%DpAM^ame@-WF>;lGHTrpx7-jOic;(Y82Yx;dsx5&Ggbdyl5#ZT29dJtA zbCHs$`b_LZYX12@Eq;1=U(*T8Zwb}GU?^njGgDofe{Ga2aFWCt$v-Y2K>%YiWnWsO zKmsw^@$tF-GN9BND~L$gb;cz25!%A%Zvq zVxK~`Gr;AMy4#OU!f+9?S;yI>bC}YYeJxra*9$7+&ehe`d+F`n#W#6K4EUA9C-zO0 zjY?${r=OT7rN}*94X7F5IJUwzF0KG@*~P7jfg^rE4nJ$&LdDKTz!!Q44c#VF+k@_~ z9nVfw)jxEWJsvQPCRIr#@)HLo4S%3ZlYu4Q;~s4cmsw?6n(L4=-`(#0GGS@geHmS-G$nilQ5w0$|7*UAbA znEmo>3aYho&aj0E&um;g5!N#}zA|8zllB8{RiHGUu-r_?}n$y7!4XDGB zBX28fr52c`v4vJvR%Nd&mfiZba62N_;~2{$atq)o$gX445obBms8SX`mmtzD&vg(ue;01O7YI=1sTW{#QG$)K~I(ZY*L9i2dJPOaA3D z`w838awtJQs!1;f?ZN^qEG_2kH_YFkGiL?@BVwJ!*tXk^+fS0EmLtr{v~vfZpjCl> z^A~BlZJcW>PlkV+qe_s&pAPXqJ)0i065ur2DFtwUow?cYDcUuO^8%=O}*6j$2@fKh6_qS5-+Ox;3{Eo$* zE!#qVLe%m8eQjO7m?cRs;Usp$8!Zcbk}h$Ucyyc!1jMrJ8~Kx%!VvCKv=Yx4T5uJ3 zB+vp69M8}+tGHm=R>||HmGm>+|B;tgUM}@hs`4% zS9vhDL{{W?lPvFTY)^P5SbmveZ$gu@_N6rTe?pJtdSscjnKQPdKT2^rw9|Ap{ezX{ zY;r8>E=ye-#&o-w7+#g=HLA_DZZBVU^z{lT9W+wsbosST-BUu^Etq9X0E#nOw_Mz7 zmb1m&z;ZrIyAK6&o$zh)A9p3+&PCjH)n4JdM1jci^2VIcyVe}`Iwc%V3ST8^8gSt= zv$0i@Ftq5!o&R8H_NSl}|Nj^-cIZ$!nlfLcJySq75W6yWJ;@pQ!7%O#>4RhaC*H9T zKr*hDDf(ZMiUqI2Lzc4OVa_H`kg+~$Ein-b49yP~Sm5YUcC;r7%)Et1=euuH)|``^ z8M$Pf3V~xjH`9F2LQsa=Ar?y7Gr!;9U2xQ4b5BJ76e73Wy8qM&0|j zktfk0gRZ7iqW>P4aqnz=h6Bw#zCpPLfDpWc7hD~0C5nwLCW85VqMhg3)RH2d*0tg= zw%ZLgc+N7_`A55)HZ|pMlBud}M171u->3QdAT zrG`I_md9^{1A8MGnJSA4?}yLz4iBeV{dhNd1rM`FpM?Z{f+_-dil5$-O=r6o%=Ev| z$QuAt9MUbDtUzFG4A&O>$}Nwy{VIxIikTF?eLF8(EB$3Xex7ImM}IQ}16LgHoONjuS5T*OI$wd(wfsiM+K;yQ62EgxS=N9 z=y9Ea0LCbNsUarz+My0*lVVCBD0~OUJPJf$t*>suLLOsmViK-1Ds+4rwKfZi=bkQR z`AM|q%*vu&501$J2k&;Hiq{r?dR({s|3Iy1X<1a81a_j&sbUtjnl`4ov_;ex2v!wHwa%K z7DB%N!fpB8Mj7B>={CWWd{(ylL-Z!t{q$A78~-H6K|(aNgdr>(^l~kk0V-%^UsfT7 z>~{Xt(vJP~hi{rXifkf!Duf1TNvld-vLGrna-HMR{%7p%Q0?xrT z9OBosnb6xwT7_cD6f9E7@k;hF3Y)rrpDT!OK45uz2Uko)$T)Mn++|NKxeL@O1%THM zl|sR6Ol~j;F>4RP9-w37`2KRxfx^RIgXhF0%{sTrBrA4;ZwqvIQVOkf5(wFcP>`tl z)4Gua##Uq30C@WN1y|ider*c2_6!k&VG>fM-@ZM@IxISON&(s^Er`a9%q~a?8?Oy; zZP?X89?*O%-4ndLZi~-+9PSSO!XZfiC~koC`@*Rp0)rtdK;j621r<3JrskOl|L$`| zd(S2HM7v(T&FyCjqNb3`WH$s%S?~f5pNF?yjCE7Kwa5S$t6Td20E+QF>N_i!u9NNc ztazoSmXma3Y6R>YvJr;w6>t#@e)f#6r#s^YSX>nt4fEMM*%Doq&j4^xuteaymXgR8 zV`+lp8{M>K_T^5yZAL~$=7sO%TX5}4TD4qX@(vN;$@vRCgY;wVM->C8sWB1`b$v)g zWTYlq)YN$-QMJ_tj-@1PsP^TNdP}b&_`6_gXcAifNAac=!C@d@#rwMh%6IsOf86f- zg>>hTkAo8Ju4OD0ITpIJsp-k$$EVuUrz;+ACm3`adP!?iWG6+_^`t-VWM3s`=deH2 zD&*jwfVm9~ICG&wn(lafc%ap;u$@^N8U9>kP%+BwH+3n(2 zU?p?a=N7du4#_2IiH}>2N1f2)*|dxy)}L^k zA+^M`^Lv%%$Geqq+&1OE3n49c;R}T2TgWf+S73JhO{lh~Y1~2n6}$GC z9*yRQ_jKueZs=}%9WzY1cr1fBSOZkLVxel2as4T>R;?u(4`Xq-5S32Jvf!1RM3Hr zT>1v2YA+qb394-1tK^U!I6Hj8X=3=vt%_?A0h1hMH~e=4Gg|MLeq@>yn9)x)%?v+Y zWvmT5v=2kAWzLN@zVHG4dW&A-jCk=X7h3fWVZ)5@)b zSO1R-uy{w(x}61gMj6shg>g9^Xc|a?1vo5Tkgt7ld3ajImrXSA0nPfUz}UA>dV9lU ztY7SMJ_gr@@mAwj-BfMgC{7(49A@y-Wo7NwR(5O6pfBauTjt3p?7JvZ?u%sj7Hv4? ztcpr0C>HW+(;u*?=>~ZWSb_=|ZruL$d4pyW=hPnnc<_haKpMC~GJERrYG;K724T<^ zd7Qomr-_Oo&G=o0^Wyja{$xc}eQdYN6~?S?4bhM+vx*f7=k{DJt(o&c?lE;#y>ZYq zrzPeTjmq|3c8;fK9^n?+=t3g{g5c8pxagf%O#8r@f-8#$;(8pSR9qJ;Lhu$;prEsn zR_iulOlBy0^s?n25AJO|4w$m@qwUk{Z(9~NY~%hfLQ-XcpKFJB7&Wh;V3IZlrgMWB zqx@Ji06XYcYq!g`*{^jPkPpR!s7hu~fJX6l1s7(E*OvCV4A`e7!ud;B_q9J#msmsu zGWNc|^IHQ$m4b@Em*zikU^7S(Ff1&EF!DA|^{(C3ON!?`NNOguY_Z@G6vX#KRw`9A z+N_$b*#igbXHnPlF;z*1}QW? z+_|aL(t3T07+8fL;$9UR`CR-I6FmYr4=cBH2Q?)b>3$P&T{ORiTic&oBI%A-AlL4W zEyv*$sd6AfgE~V;bz|N-7$ke)KRvBhc?K)sjPeWeSM=bJ>U@u)6yBe^6#MYc1u2`+ zu;0H%URA}r$SNM&9nB34Y>nMpmj;PPo*_2wPZQ&ZoZr^nv99J=;htg3u3-7(y5 zXcjf*4Aza^u(lRaaRoTVE_0n7s1UD;>m9Vj9_<^VE&mF;PmnIWfI~jPD<4puAK_*!8&qMcNhIKH$YJl1leeG<3>R zc}FozjvJRte8y$2JEjwOO*VhJI@18!9n+e94wq{DGaN+4R|m{t&Ct-8PK_{z(;Iuz z8hNL0s3-fuJ$v?$emn(c{WYl2CT4YwRSbUONFGi;XPNRGAA6aF7Pf*)U#c48oq<{H z{uuQaw*Nz|Z{J*>H_stmtPCCsYMk<-fFV#-8UEshDI|Tt*Q~Wq9k-t#R+r|U&g@c# zSh6#dS%4Z0&H&R>0h*{>&{}5^ztUB37z~q;^m+(HdeXWI(FqmRk3Npp_$^u^g5K@* zr`LWYEg@lG)T#meBA&GB~fwR{Q3v7me ztVF0Dc!pthGn6GOlmKekG7cnv$w!=;_c!(4xZ|V-63M4SR|#Y{7+= zSC(T8!8za`SnccUYh3md4ZC=CRS+>&LG{^ngr(o|)lyG4#DnP-gZ79KMi2`Rd(N^c zxW&HSfQb=@e^73wACs0YtEfmS8Ea6G>Ni5u2+41RQ)g9G6U2v;=5H=Oc3Ge)`F^$O zwF`U{xOR{??C8rzc7Vq*WFL^{TuVMpQ2=Bgt7lsR4m0O!;EyU!2QaY^5MZ1WS5 zEO}_PoQ>|t1$7*pZD~YRb;$MPeVX2oA;!Qkp}@>Z1D?2uw;Rt!Dc`TT0lAK3x6^Wl z-LO40$r!urU1V-St1(Oh zRRU_Z9jz+X0?JjN+cGgS9_PDSc~F72 z#1(EX#n;-Ves_b#sM3BDBqqf`_6Ib}^Q!G{!breGoXI>ZH2f`KfiooD9*Te zf>a*o>>AS>z^BSVV!h|J-utONse|VL^*$3Z^7WBjiFr3Yb9LRxqvGm>)2Wer`{iXI zY?{OcP}bNOVi#)n?OGmroz+H&(->sr`uzptKXawkcR z&VKX~arnj$UWaY~?|N&0-dMrQUQ%zWj@6C9ZGNb$a9P*y`GL*^9aYL3p_R`YW=6Y= zn3YI*UDIw!YM;d!rj_M{bE#UpH9K}q>AbsTQX4JH19eY9e8D-)uXJ>sq(vFO+o2nJ zVe*68kgah)wtKxrn{Xn1FWW`+^GAuGA`FUbEVR;XlQl9fJ}~U_g-*eLn$o>%Ue4It z9=#cV2y0`IQsHB_)z6C|FyN}@fquMx5Ff^i50l4-aU9TlH*qwmXxrAU6FBemvV7fK z`#^*_3PW=u2DNqETb2Gw40LbdStA?tZ@5pq3oxxS%d?6S&nXZXS?@KL;wm$rl- zv)cY#sS{c)#vRAm4c}hxZCq6Xj^?j-gea=6sZni7D^V%cH#9WEHppI`=tllbx0#)! zP8?XRkCGT{hgYrpJDb;HXj?aB_Ll9drz{TU9ABz~Bs9Tio4EPZW&OzcsHacOgV{J$ zVlTYEBV>@9GBgG)%=b6O#xu4)$H7H6Lr)mZ#y+m!BDj6RCY#QNNtrXCVtRKuO#H4z ze{igvGk(cQkef^}Fzb}xv;D`urcq!X-HQu>Y;^DYWCbexyHy2UsqJMHQDo+!`W+8> z&>qBuHLYhGPedPgaDU@CU$K-ac4LP{U6iu}29{4PKNm2=ho)j8&!J}`#zoI7{}RMI zcu7j--wXm{==Lz>d@cot?JVK+1Y~AXV3qF7e*)v`$SfQ+AYRpP0AWL0IlheD$)Rjt z;o>@cJ*@HKpM5N>1T`5LtFwRCPqTB9fQGjlLMZf z9Z#=~BYM7gZO*V0KXm4P_is*+zZ&!IURlY%vpXm42*N2lCegu=LZ$r*ij9WC`?%3| zEncy*^24-a6IdPf+@={OXSP3FU6cM`HzvHu5q|_3s@zA5&JV$49Y4VFxde2v?BL*F zGYN~YcVGbL;dx~<&^+4d!FbnVmpGoCGd-m=Xc7CgCuOBvcz+Q0egEoaxDZ;mH<(_1 zpL#xRJB%^i5Je{fr(R$vcJIqm9%6SZ7!i!`e*KnjB>lCvEvJ))hUWMEy}qZbtsGJx zpy63`ADQhhk~$cPmQAZiTYc0qkHE2xzGWVllj!>@Tz%q6d4z2J*S9xk5c!Vd(|~)=b!a}Rb+QuO(4PI zQG~uLlOK4N&x048(UDtcA>rwCGiihfSgE zIP?|7fW@!0D@q_fO(*?l*_pi?FCx9w3Rl~3nK5tb9A&VT9Gi-^Q%QI9Uk#H|Ft-I1 z{Ywyja5Po%?YuzAJDg!4-YJq0Bz*qWPzz=83g^#}Iw|_OB7l-4ULsn{o#=wrFwAFxR>@(2nI3$T^Jg zf5hlw%ePOrfOf5f@}MDIU!pCtoAL?p<7D6W)NH+8%BLZ5vtJ)=#ta_lEU6+81ww1a zc{tOR(g4H-4a;NHE{qCP4hB}J%9^Kw0;xd=iE7)!;>&R+G~ z-)jYOq_WWJC%0jtji1ei%_*8PZ|8C4u#WGqI1?qCq1X?Tp-!*O+yx`($7CG1T^F<>U)Q_$zOY({iSaXf1DYW1cWKg-xNjw{g)CQ!3rUNx+c^NjyaAzZUCk&XQ1NQQ14UOP*ulep!IIo;9 zUiE}kF+U`|b`h;;6i~~G8ssLxig4B83LgcK9wXNY$K2}g)lclWfqcp6daNcR1z31> z)7WP8yNb?{=gcnX7X(2m*o);OhlS(!R!D0VL6inap9Y;#GA83B{*#V8>q4fKY5hkB zt>!Ht_80UOB*NgRJ+&z*Zvz8Ed!6(~2QGX;)@|F)jkNx*d8797a0XU)TnkIc$Rkeu z;MA#t_$@oossLzq3eFrP-xzovr22j?0*NwM36LTP-~jga_5~}In7eLak&OvY!4jC_ z3g*PmH-DU?N$~qxQ+`G?7~b2u^s741?tYIbu%G+zW#wW_Q|Qv{O4S)_A8IX@otOCQ zQvj1tzQc#NquXdd)xRMM2^tCMqt8-RT@5KtdyVVVeRedeSdm{Cuf2(kP0c$|EKN%?JZHki-WW^`Nx;_NB+Hi z*hBV}i!r?dipSCJ8`}ePEC~B`DVF+VDF)pw^@Ra3B&YJ&g)(7GR@tD4VVu?58yMNy z%jLDD%{L&R9E3Kq8Q<1jtB0KhG~en5u2Rpby3-HwDZMzQgCAw~k1nh@O#32=isONr zU+F3VWntDz-aLNvVO0f!XO_%(nJU-}x3m8D;&39(BX3RAl=QN~)zxj?)#c#5kV1&v!sNA)_m{c~exv`Y{Zl_>x9T(boPn>6Xsf_9&l6vC zN`#M(>Z9%7&(FTT{KrkXJ<|fvxgfU8Yu>scrt}RS&lVp=4TG4>0vMAOH3}%TIIie9 z7~V4;<+kj|7a4J0N-d52qt567ni=rXOowTUoiaAcbIbGHi4duUNm;jJ=IqM~QUf~> z>6HmeIx{Y~3wi%>9$7nt34OoL=9R7e z{Mj2BZEr)V2Wbj&;Nm;p4nK#fcnpYr?}1g)MCR>)uX+`4A^{!&S_^29OYd=-H}d#* zJDuajeubjC6d6gJN>dUtl0GgU_845Dk&Y+^?8y0uYA0iO zin~vq)-B{CT5i8_Vn@TJ%zfh(<9oT1OKNLtx3KK=Cw&R=mNT=ne{uN;L5ju^$bHNm z8CoyivadloMFuMU1(RQ&IS;`m`0U_3=MiCop5Q%xd}SI7_GSL)^WxGq~pMeI=O{-YPSLl zSf_1!w%e=Cl&^#H%VTW(;k||h>2C+Q+y&(On3z(5)Cd<|x%9Kkr0!ST ztm0>iK}P#vGaONRBfW%ZSPA)?DEjVT6vs-^j;7@GoMql6FL7ak`O@3>XCpv#XnZ#y z2eY{yA`fpOGVOWE%uGTWuP+q&gUkoJsjkLdm^|sO8L!km@y6h(%z{r>3c>3h37m?Q z=D)P4kIFa%2dj|&S&>!wsy7Z_OX%>=RPB`!9~RL!@}5J*>rVDYkT|2Uj=>DU+~XC>ht=D--J5`moYQvHV**z3OqUc4&w_mE)Bf& zyV%v0G3*h|0?W1Rw)R;Ue0S1~ECAg~xaR=%3^1LgL%x6;E9u-w59hZ(i?b(ia-8W@ukXWBM zeq0OR%d_-Wmx*^etgkLjw1^lAico$(=RZ@h{pk@{_`vluPQLmvFfSqaoER@xq82(# zaV|u<2V1A-lIReT6Ww5H8T>fHAMiC;Mnx+IXcazw@+4%Ue*VGqY#>AI_`1BnFl|Ru(U7X4b{$EGe9?#?+#^1KweH=O3l%tw#*3BiK zrc8uUb8u9e&{=M|jZ!p~OGu3jr-Ty+Q8?vJl$l$jTtlLdyFw{u0^cH@TJZq0s)4FR*Eo=ii#iVz#$6_P^`;39J#61sc6sTlJ_d!uPj7FhEknL5#nJxMWSnRum!nX9^X$1wG!2gG@dXZfKk!nD~>i@Rq`s0^gT3sNM`9L zyMwByyZVnz*41x)YK~y;7sp*tgcOT>oCRHPlVG%NW1%RW?6gsPF}(_x*=@s40mPWY zoKEh2?ofUJns%d-n>QOyrpKs28jUXa2ORO2;eJ#ul9rP*0%G%eh*FdIfG%=cn$<_& zij=g^r|}ViVHEe+r4mXqlzLx59b&b}%K(b>IV#1(?sewTfZWk{_}?uXo4RWVlq2Gn zzIN@}!7Q6$PAouzI!Q&J@K<1s_iDf}YY^;bLV|?t54FP_D%-VixQHMP(-CkEiv=y0 zhgk2DR#&%SE2cnm^|pM+*&&MNaFw^b4LPq9CNWHTGHAt>(Cwat14tLXvp^WLR&K(( zvkK@L3%uD@6a-dL6XIPe6%Q;iB9WM%s>(f`3LI)U%|D&B)Gg{k;p;b0*&Fr#X~3(t zHU^R3uW4y6f#^z$GfWtmP(SF&vpM9n6XUTowrM!gv~hf9hTZix{Z|MHGkMSH&ty(C zO9cfXZ0Ij>F~bE1uZr|{tN(!6R9ykk5hDbSDR#3Q*Xx9{U-Z3o*yw96C0psTxBlvl zNS9D1rN~%Rmsy+tVld1m%(}114Ye3I7$57r(Ra;X>Py1kDjtRhS`$3_*>b84Mdi|R zzG#|kobOoEzw^!qlO8lLRMor?%nxb`29L+49|`4zg@qXEK^WXp+O7us`X=?<1Dl_6I-0RPiP!oosenuDEB#zI?((z(Dg%ZZfpCTezC z5%};H0M$0RmbPUR>DazLi^K8Lp-1)e21oAX_!Tz#lH9Uvy#yLO_u(C#w-Xo^V{X`NR?P(!`I<0>y4FSC^i#Us`jmfh~DQdE{Z7XE;pBiews77%X%7A*Y>%& z5opFLSobg{BG8x9Ixss_Rf82a`lQALCYz8)G2og(!o-%|HvKpRA7EnVWJosA;C_BS zcwy(n2O1PIDQ8Y9-(Fc4)$FDhQ%>4dvNY@qXbf(3^{Taw3Y#arGyF3wB>e8D`Ipt_ zwDcygJlvx!i_USKwBVonQePAA4vNFXvQuvL(JSo0!_sVcju1n-H@C8D2Q8gpb^%Q{KO} zUI668>fw?4%UqYzv)`n%ZeZg-$V4tjDn4^)_t^H(>i(9j$ZoIpAkg5;OY%IUY?W}& iTXou{RC>@|1GOkt#1Fcp_c$m35QJ)OLn$(Kj{F~Rd;8V^ literal 0 HcmV?d00001 From 084d04065d8967858ada5ca0d00db58105f9834c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 11 Aug 2020 17:34:45 +0200 Subject: [PATCH 35/61] Bibliogram is now part of the app catalogue --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 716c9463..bc59a948 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -18,7 +18,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Auth0 SSO Dashboard](https://github.com/auth0-extensions/auth0-sso-dashboard-extension) - [Bitmessage](https://bitmessage.org/wiki/Compiling_instructions) / [github](https://github.com/Bitmessage/PyBitmessage) - [Beehive](https://github.com/muesli/beehive) -- [Bibliogram](https://sr.ht/~cadence/bibliogram/) - [BigBlueButton](https://bigbluebutton.org) / [install instruction](http://docs.bigbluebutton.org/2.2/install.html) / [github](https://github.com/bigbluebutton/bigbluebutton) Complete open source web conferencing system. - [Bludit](https://www.bludit.com) / [github](https://github.com/bludit/bludit) - [Blynk](https://github.com/blynkkk/blynk-library) From ffc9a61edb14da685972b7c47ea02177e3be8dfa Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 11 Aug 2020 18:20:05 +0200 Subject: [PATCH 36/61] [Anonymous contrib] lien cassej'ai mis le bon en dessous du votre (#1341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lien casse j'ai mis le bon en dessous du votre * add working link Co-authored-by: Yunobot Co-authored-by: Éric Gaspar <46165813+ericgaspar@users.noreply.github.com> --- dns_fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dns_fr.md b/dns_fr.md index 8147d81b..c5737a1c 100644 --- a/dns_fr.md +++ b/dns_fr.md @@ -7,7 +7,8 @@ La configuration des DNS est une étape cruciale pour que votre serveur soit acc ### Qu’est-ce que c’est ? **N’hésitez pas à regarder la très bonne conférence de Stéphane Bortzmeyer : -https://www.iletaitunefoisinternet.fr/post/1-dns-bortzmeyer/** + +https://www.iletaitunefoisinternet.fr/post/1-dns-bortzmeyer/ DNS signifie « Domain Name Server » en anglais, et est souvent employé pour désigner la configuration de vos noms de domaine. Vos noms de domaines doivent en effet pointer vers quelque chose (en général une adresse IP). @@ -37,4 +38,3 @@ Vous pouvez également consulter les documentations spécifiques à ces différe 3. (Avancé, pas 100% supporté...) Votre instance YunoHost possède un service DNS, ce qui veut dire qu’il configure automatiquement ses enregistrements DNS, et qu’il est possible de lui en déléguer la gestion. Pour ce faire, vous devez indiquer au **registrar** que c’est votre instance YunoHost qui est le serveur DNS de votre nom de domaine en créant un enregistrement glue (souvent appelé **glue record**) pointant vers l’IP de votre instance YunoHost.

**Attention** : Si vous choisissez ce mode de fonctionnement, toutes les configurations seront automatiques, vous disposerez d’une grande flexibilité, mais la perte de votre serveur entraînera potentiellement beaucoup d’ennuis. **Choisissez cette méthode seulement si vous êtes à l'aise et comprenez les conséquences** - From 729b44fc0e7050be0839c65ad4e66a9357240518 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 12 Aug 2020 07:32:47 +0000 Subject: [PATCH 37/61] Added invoiceninja docs. --- app_invoiceninja.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 app_invoiceninja.md diff --git a/app_invoiceninja.md b/app_invoiceninja.md new file mode 100644 index 00000000..95689839 --- /dev/null +++ b/app_invoiceninja.md @@ -0,0 +1,24 @@ +# Invoice Ninja + +[![Install Invoice Ninja with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=invoiceninja) +[![Integration level](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.maintain.svg) + + +### Index + +- [Limitations with YunoHost](#limitations-with-yunohost) +- [Useful links](#useful-links) + +Invoice Ninja is the #1 open-source platform to create & email invoices, track payments and expenses, and time billable tasks & projects for clients. + + +## Limitations with YunoHost + +There is no official LDAP support. The first user gets created after installing Invoice Ninja. Other users can be created from inside the application + +## Useful links + ++ Website: https://www.invoiceninja.org/ ++ Application software repository: https://github.com/YunoHost-Apps/invoiceninja_ynh ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/invoiceninja/issues](https://github.com/YunoHost-Apps/invoiceninja_ynh/issues) ++ Official documentation: [Invoice Ninja User Guide](https://docs.invoiceninja.com/) \ No newline at end of file From 675c4cc646282da3e8a4c28f77809723e74a4407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 16 Aug 2020 08:51:16 +0200 Subject: [PATCH 38/61] Update app_invoiceninja.md --- app_invoiceninja.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app_invoiceninja.md b/app_invoiceninja.md index 95689839..4e42271f 100644 --- a/app_invoiceninja.md +++ b/app_invoiceninja.md @@ -1,7 +1,7 @@ # Invoice Ninja [![Install Invoice Ninja with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=invoiceninja) -[![Integration level](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/invoiceninja.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) ### Index @@ -21,4 +21,4 @@ There is no official LDAP support. The first user gets created after installing + Website: https://www.invoiceninja.org/ + Application software repository: https://github.com/YunoHost-Apps/invoiceninja_ynh + Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/invoiceninja/issues](https://github.com/YunoHost-Apps/invoiceninja_ynh/issues) -+ Official documentation: [Invoice Ninja User Guide](https://docs.invoiceninja.com/) \ No newline at end of file ++ Official documentation: [Invoice Ninja User Guide](https://docs.invoiceninja.com/) From 361f11691c02371cf80aeb6425a433bafb4bbe79 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 16 Aug 2020 21:02:56 +0200 Subject: [PATCH 39/61] Add logo --- app_invoiceninja.md | 2 +- images/invoiceninja_logo.png | Bin 0 -> 12131 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 images/invoiceninja_logo.png diff --git a/app_invoiceninja.md b/app_invoiceninja.md index 4e42271f..6f4eda74 100644 --- a/app_invoiceninja.md +++ b/app_invoiceninja.md @@ -1,4 +1,4 @@ -# Invoice Ninja +# Invoice Ninja logo Invoice Ninja [![Install Invoice Ninja with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=invoiceninja) [![Integration level](https://dash.yunohost.org/integration/invoiceninja.svg)](https://dash.yunohost.org/appci/app/invoiceninja) diff --git a/images/invoiceninja_logo.png b/images/invoiceninja_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0c66352847baa72d227d78d5fa73b811e7826caf GIT binary patch literal 12131 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 UYjLh$z!0D>QVNol;)cQh1Eb Date: Sun, 16 Aug 2020 21:08:49 +0200 Subject: [PATCH 40/61] [Anonymous contrib] Fixed a typo in rainloop password retrieval (#1377) * Fixed a typo in rainloop password retrieval * Propagate to english version Co-authored-by: Yunobot Co-authored-by: Alexandre Aubin --- app_rainloop.md | 2 +- app_rainloop_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app_rainloop.md b/app_rainloop.md index ca9dfcfb..c694678e 100644 --- a/app_rainloop.md +++ b/app_rainloop.md @@ -15,7 +15,7 @@ To configure it, go to http://DOMAIN.TLD/rainloop/app/?admin - The default login is : admin - The default password is : Password chosen during install -- If you lost the admin password, you can retrieve it using ``sudo yunohost app settings rainloop password`` +- If you lost the admin password, you can retrieve it using ``sudo yunohost app setting rainloop password`` ### Cardav Each user can add a remote carddav server from their own parameters interface. diff --git a/app_rainloop_fr.md b/app_rainloop_fr.md index c6421461..0b64b055 100644 --- a/app_rainloop_fr.md +++ b/app_rainloop_fr.md @@ -15,7 +15,7 @@ Pour le configurer après l'installation, veuillez vous rendre sur http://DOMAIN - Le nom d'utilisateur admin par défaut est : admin - Le mot de passe admin par défaut est : Mot de passe choisi lors de l'installation -- Si vous avez oublié votre mot de passe, vous pouvez le retrouver avec ``sudo yunohost app settings rainloop password`` +- Si vous avez oublié votre mot de passe, vous pouvez le retrouver avec ``sudo yunohost app setting rainloop password`` ### Carnet d'adresses Rainloop intègre par défaut un carnet d'adresse avec les utilisateurs du serveur yunohost. Chaque utilisateur peut ajouter un carnet d'adresse distant CardDav via leurs propres paramètres. From a939a5d2c020cfe9767231cf9046f5839a5d4bc3 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 17 Aug 2020 13:00:54 +0200 Subject: [PATCH 41/61] =?UTF-8?q?[Anonymous=20contrib]=20non=20si=20chiede?= =?UTF-8?q?=20di=20"non=20chiedere=20tanto=20per=20chiedere",=20be?= =?UTF-8?q?ns=C3=AC=20di=20"non=20chiedere=20se=20si=20pu=C3=B2=20chie?= =?UTF-8?q?dere"=20(#1376)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * non si chiede di "non chiedere tanto per chiedere", bensì di "non chiedere se si può chiedere" * Update help_it.md Co-authored-by: Yunobot Co-authored-by: Alexandre Aubin --- help_it.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/help_it.md b/help_it.md index 44f28eda..c2dbd96e 100644 --- a/help_it.md +++ b/help_it.md @@ -3,9 +3,9 @@

Connettiti alla chat di supporto

-ProTips™ +ProTipsâ„¢
    -
  • Non chiedere tanto per chiedere, chiedi e basta !
  • +
  • Non c'è bisogno di chiedere se puoi chiedere qualcosa, chiedi e basta !
  • Sii paziente, potrebbero servire alcuni minuti prima che qualcuno veda i tuoi messaggi.
From c3fcb3d4253506227057aeb3a5ed417718df418c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 17 Aug 2020 13:01:17 +0200 Subject: [PATCH 42/61] Navidrome doc (#1379) * Add Navidrome pages * Update app_navidrome_fr.md * Update app_navidrome_fr.md * Update app_navidrome.md --- app_navidrome.md | 15 +++++++++++++++ app_navidrome_fr.md | 15 +++++++++++++++ images/navidrome_logo.png | Bin 0 -> 10114 bytes 3 files changed, 30 insertions(+) create mode 100644 app_navidrome.md create mode 100644 app_navidrome_fr.md create mode 100644 images/navidrome_logo.png diff --git a/app_navidrome.md b/app_navidrome.md new file mode 100644 index 00000000..54f414be --- /dev/null +++ b/app_navidrome.md @@ -0,0 +1,15 @@ +# Navidrome's logo Navidrome + +[![Install Navidrome with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=navidrome) [![Integration level](https://dash.yunohost.org/integration/navidrome.svg)](https://dash.yunohost.org/appci/app/navidrome) + +### Index + +- [Useful links](#useful-links) + +Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify! + +## Useful links + ++ Website: [navidrome.org](https://www.navidrome.org/) ++ Application software repository: [github.com - YunoHost-Apps/navidrome](https://github.com/YunoHost-Apps/navidrome_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/navidrome/issues](https://github.com/YunoHost-Apps/navidrome_ynh/issues) diff --git a/app_navidrome_fr.md b/app_navidrome_fr.md new file mode 100644 index 00000000..adb52f16 --- /dev/null +++ b/app_navidrome_fr.md @@ -0,0 +1,15 @@ +# logo de Navidrome Navidrome + +[![Install Navidrome with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=navidrome) [![Integration level](https://dash.yunohost.org/integration/navidrome.svg)](https://dash.yunohost.org/appci/app/navidrome) + +### Index + +- [Liens utiles](#liens-utiles) + +Navidrome est un serveur et un streamer de collection de musique en ligne open source. Il vous donne la liberté d'écouter votre collection de musique à partir de n'importe quel navigateur ou appareil mobile. C'est comme votre Spotify personnel ! + +## Liens utiles + ++ Site web : [navidrome.org (en)](https://www.navidrome.org/) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/navidrome](https://github.com/YunoHost-Apps/navidrome_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/navidrome/issues](https://github.com/YunoHost-Apps/navidrome_ynh/issues) diff --git a/images/navidrome_logo.png b/images/navidrome_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc923e64a584325849e1b71504b15e960892be2a GIT binary patch literal 10114 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 r=HcZwGvzenURFbF?GYb4)VnOTC literal 0 HcmV?d00001 From c43f75c318cdb926eff6229e939acaa49b85a786 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Tue, 18 Aug 2020 20:24:26 +0000 Subject: [PATCH 43/61] Corrige infos IP Fixe Livebox 4 La Livebox 4 supporte les IP fixes : https://assistance.orange.fr/livebox-modem/toutes-les-livebox-et-modems/install --- isp_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isp_fr.md b/isp_fr.md index 52d623ec..1630b19e 100644 --- a/isp_fr.md +++ b/isp_fr.md @@ -19,7 +19,7 @@ Tous les fournisseurs d’accès à Internet [membres de la Fédération French | **[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, 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). From 8de7a4fbaa8e07d374b4bf1726c76cda68542237 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 19 Aug 2020 14:54:21 +0000 Subject: [PATCH 44/61] added photoprism --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index ab98a7cf..8ae3e820 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -110,6 +110,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Paperwork](http://paperwork.rocks) - [Passbolt](https://www.passbolt.com) Passwords manager / [github](https://github.com/passbolt) - [Pelias](https://github.com/pelias/pelias)) +- [Photoprism](https://photoprism.org/) - [PHPList](http://www.phplist.com) / [github](https://github.com/phpList) - [Phraseanet](https://docs.phraseanet.com/3.8/fr/index.html#) / [github](https://github.com/alchemy-fr/Phraseanet-Docs) - [Pico](http://picocms.org) / [github](https://github.com/picocms/Pico) From 2928b89446beb1167da433b55d9c98044df7c3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Wed, 19 Aug 2020 16:58:14 +0200 Subject: [PATCH 45/61] Update apps_wishlist.md --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 8ae3e820..3f77e361 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -110,7 +110,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Paperwork](http://paperwork.rocks) - [Passbolt](https://www.passbolt.com) Passwords manager / [github](https://github.com/passbolt) - [Pelias](https://github.com/pelias/pelias)) -- [Photoprism](https://photoprism.org/) +- [Photoprism](https://photoprism.org/) / [github](https://github.com/photoprism/photoprism) - [PHPList](http://www.phplist.com) / [github](https://github.com/phpList) - [Phraseanet](https://docs.phraseanet.com/3.8/fr/index.html#) / [github](https://github.com/alchemy-fr/Phraseanet-Docs) - [Pico](http://picocms.org) / [github](https://github.com/picocms/Pico) From 4a4697241eae1ead29af7bde532d1a836dc10456 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 19 Aug 2020 17:15:42 +0000 Subject: [PATCH 46/61] New translation into spanish. --- whatsyunohost_es.md | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 whatsyunohost_es.md diff --git a/whatsyunohost_es.md b/whatsyunohost_es.md new file mode 100644 index 00000000..43606cfa --- /dev/null +++ b/whatsyunohost_es.md @@ -0,0 +1,58 @@ +¿Qué es YunoHost? +================= + + + +YunoHost es un **sistema operativo** que persigue simplificar la administración de un **servidor** para democratizar el [autoalojamiento](selfhosting), asegurando que se mantiene fiable, seguro, ético y ligero. Es un proyecto de software libre copyleft mantenido exclusivamente por voluntarios. Se puede considerar técnicamente como una distribución basada en [Debian GNU/Linux](https://debian.org) y se puede instalar en [muchos tipos de hardware](install). + +Características +--------------- + +- Basado en Debian ; +- Administra tu servidor mediante un **interfaz web amigable** ; +- Despliega **apps en sólo unos pocos clics** ; +- Administra **usuarios** (con soporte en LDAP); +- Administra **nombres de dominio** ; +- Crea y restaura **copias de respaldo** ; +- Conecta simultáneamente a todas las apps mediante el **portal del usuario** (NGINX, SSOwat) ; +- Incluye una **instalación completa de correo electrónico** (Postfix, Dovecot, Rspamd, DKIM) ; +- … así como **un servidor de mensajería instanea** (XMPP) ; +- Administra **certificados SSL** (apoyándose en Let's Encrypt) ; +- … y **sistemas de seguridad** (fail2ban, yunohost-firewall) ; + +Origen +------ + +YunoHost se creó en Febrero de 2012 tras algo así: + +

"¡Mierda, soy muy vago para reconfigurar mi servidor de correo!… Beudbeud, ¿Cómo hiciste para conectar tu pequeño servidor a LDAP?"

+Kload, Febrero de 2012
+ +Todo lo que se necesitaba para hacer algo útil era un interfaz de admin para el servidor de Beudbeud, así que Kload decidió desarrollar uno. Finalmente, tras automatizar varias configuraciones y empaquetar algunas apps web, YunoHost v1 quedó terminado. + +Notando un entusiasmo creciente alrededor de YunoHost y el autoalojamiento en general, los desarrolladores originales junto con nuevos participantes decidieron comenzar a trabajar en la versión 2, más extensible, potente, fácil de usar, y ya de paso preparar una taza de café de comercio justo para los elfos de Laponia. + +El nombre **YunoHost** viene de la jerga "Y U NO Host". El [meme de Internet ](https://en.wikipedia.org/wiki/Internet_meme) debería ilustrarlo: +
+ +¿Qué no es YunoHost? +-------------------- + +Incluso aunque YunoHost puede manejar multiples dominios y multiples usuarios, **no está diseñado para ser un sistema mancomunado**. + +Primero, el software es demasiado joven, no está probado a gran escala y por tanto probáblemente tampoco suficientemente optimizado para centenares de usuarios a la vez. Dicho esto, no queremos llevar al software en esa dirección. La virtualización se democratiza y se recomienda usarla ya que es un modo más impermeable de lograr mutualización que un sistema "monolítico" como YunoHost. + +Puedes alojar a tus amistades, tu familia y a tu compañía con facilidad y seguridad, pero tienes que **confiar en tus usarios**, y sobre todo ellos tienen que confiar en tí. Si aún así quieres proveer servicios YunoHost a desconocidos, creemos que es mejor un VPS por usuario. + +Arte +---- + +PNG con el logotipo de YunoHost en blanco y negro por ToZz (400 × 400 px): + +
+ + + +Clic para descargar. + +Licencia: CC-BY-SA 4.0 From ade5e22e75948414dbb66dc1baf844331f8f4fd2 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 17 Aug 2020 15:10:01 +0200 Subject: [PATCH 47/61] We support RPI4 now --- install_on_raspberry.md | 2 +- install_on_raspberry_de.md | 2 +- install_on_raspberry_es.md | 2 +- install_on_raspberry_fr.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install_on_raspberry.md b/install_on_raspberry.md index 0e9f9bb3..327d273c 100644 --- a/install_on_raspberry.md +++ b/install_on_raspberry.md @@ -13,7 +13,7 @@ Before setting up a server at home, it is recommended that you know the [possibl ## Pre-requisites -- A Raspberry Pi 0, 1, 2 or 3 (does not currently work on RPI 4); +- A Raspberry Pi 2, 3 or 4 (RPi 0 and 1 may work but require some tweaking ... see [this issue](https://github.com/YunoHost/issues/issues/1423)) ; - An microSD card: **8GB** capacity (at least) and **Class 10** speed rate are highly recommended (like the [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - A power supply (either an adapter or a MicroUSB cable)i ; - An ethernet cable (RJ-45) to connect your Raspberry Pi to your router. (Raspberry Pi Zero users can connect the Pi using an OTG cable, [Wifi dongle](https://core-electronics.com.au/tutorials/raspberry-pi-zerow-headless-wifi-setup.html).) ; diff --git a/install_on_raspberry_de.md b/install_on_raspberry_de.md index d5b8fee1..840b57f1 100644 --- a/install_on_raspberry_de.md +++ b/install_on_raspberry_de.md @@ -13,7 +13,7 @@ Vor der Einrichtung eines Servers zuhause ist es empfehlenswert [mögliche Einsc ## Voraussetzungen -- Einen Raspberry Pi 0, 1, 2 oder 3 ; +- Einen Raspberry Pi 2, 3 oder 4 (RPi 0 and 1 may work but require some tweaking ... see [this issue](https://github.com/YunoHost/issues/issues/1423)) ; - Eine microSD Karte: **8GB** Speicherplatz (mindestens) und **Class 10** Geschwindigkeit werden empfohlen (wie zum Beispiel die [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Ein Netzeil (entweder ein Steckernetzteil oder ein MicroUSB Kabel) ; - An Netzwerkkabel (RJ-45) um den Raspberry mit dem router zu verbinden. (Raspberry Pi Zero Nutzer können ein OTG Kabel nutzen, [Wifi dongle](https://core-electronics.com.au/tutorials/raspberry-pi-zerow-headless-wifi-setup.html).) ; diff --git a/install_on_raspberry_es.md b/install_on_raspberry_es.md index 3334e0a6..fbc1d16c 100644 --- a/install_on_raspberry_es.md +++ b/install_on_raspberry_es.md @@ -13,7 +13,7 @@ Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las ## Prerrequisitos -- Un Raspberry Pi 0, 1, 2, 3 o 4 ; +- Un Raspberry Pi 2, 3 o 4 (RPi 0 and 1 may work but require some tweaking ... see [this issue](https://github.com/YunoHost/issues/issues/1423)) ; ; - 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)) ; - Un cable ethernet/RJ-45 para conectar la tarjeta con tu enrutador o tu caja internet. (Con el Raspberry Pi 0, puedes conectar tu tarjeta con un cable OTG y un adaptador Wifi USB.) diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index 78669688..e414dddc 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -13,7 +13,7 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan ## Prérequis -- Un Raspberry Pi 0, 1, 2 ou 3 ; +- Un Raspberry Pi 2, 3 ou 4 (Les RPi 0 et 1 peuvent fonctionner mais nécessitent de bricoler un peu ... voir [cette issue](https://github.com/YunoHost/issues/issues/1423)) ; - 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)) ; - Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. (Avec le Raspberry Pi 0, vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.) From 316276fcc86536db3f1fc095ddbdedfce6ef69ef Mon Sep 17 00:00:00 2001 From: Yunobot Date: Mon, 24 Aug 2020 21:58:09 +0000 Subject: [PATCH 48/61] Added Grocy to the Apps Wishlist page --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index ab98a7cf..32dec00e 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -54,6 +54,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Gpodder.net](https://gpoddernet.readthedocs.io/en/latest/index.html) - [Granary](https://github.com/snarfed/granary) - [Graphhopper](https://www.graphhopper.com/) / [github](https://github.com/graphhopper/graphhopper#get-started) or other routing service that can be plugged to [Nextcloud Maps](https://apps.nextcloud.com/apps/maps), e.g. OSRM (see below) +- [Grocy](https://grocy.info/) ERP beyond your fridge / [github](https://github.com/grocy/grocy) - [Guacamole](http://guacamole.apache.org/) - [Habitica](https://habitica.com/) / [github](https://github.com/HabitRPG/habitica) - [Helpy](https://github.com/helpyio/helpy) From 04068067810860360b9d2db9077f28345706bb9f Mon Sep 17 00:00:00 2001 From: Yunobot Date: Mon, 24 Aug 2020 21:58:53 +0000 Subject: [PATCH 49/61] started a new translation on this site --- ssh_de.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 ssh_de.md diff --git a/ssh_de.md b/ssh_de.md new file mode 100644 index 00000000..b032dd68 --- /dev/null +++ b/ssh_de.md @@ -0,0 +1,98 @@ +# 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: + +- open a terminal and use `sudo arp-scan --local` to list the IP on your local network ; +- if the arp-scan command displays a confusing number of devices, you can check which ones are open to ssh with `nmap -p 22 192.168.1.0/24` to sort them out (adapt the IP range to your local network) +- use your internet box / router interface to list the machines connected, or check the logs ; +- plug a screen on your server, log in and type `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`. + +
+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. +
+ +#### 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 ` to the command, e.g. : + +```bash +ssh -p 2244 admin@your.domain.tld +``` + +
+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`. +
+ +## 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 +``` + +It is also possible to remove ssh access using the following: + +```bash +yunohost user ssh disallow +``` + +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 +yunohost user ssh remove-key +yunohost user ssh list-keys +``` + +## 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). From 793caabaf2a19d6c8a3bccbd159aaf54127801c7 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 28 Aug 2020 17:35:04 +0200 Subject: [PATCH 50/61] Fix remaining mention of Debian 9 --- install_manually.md | 6 +++++- install_manually_es.md | 4 ++++ install_manually_fr.md | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/install_manually.md b/install_manually.md index 41faa392..54bee66f 100644 --- a/install_manually.md +++ b/install_manually.md @@ -1,6 +1,10 @@ # Installing YunoHost manually -Once you have **Debian 9** (with **kernel >= 3.12**) and access to a command line on your server (either directly or through SSH), you can install yunohost by running command as root : +
+This procedure only works on **Debian 10** machines (with **kernel >= 3.12**)) +
+ +Once you have access to a command line on your server (either directly or through SSH), you can install yunohost by running command as root : ```bash curl https://install.yunohost.org | bash diff --git a/install_manually_es.md b/install_manually_es.md index 8f273361..a6c42109 100644 --- a/install_manually_es.md +++ b/install_manually_es.md @@ -1,5 +1,9 @@ # Instalar YunoHost manualmente +
+This procedure only works on **Debian 10** machines (with **kernel >= 3.12**)) +
+ Una vez que tienes acceso a tu servidor (directamente o con SSH), puedes instalar Yunohost ejecutando este comando como root : ```bash diff --git a/install_manually_fr.md b/install_manually_fr.md index 811372e5..101323ce 100644 --- a/install_manually_fr.md +++ b/install_manually_fr.md @@ -1,5 +1,9 @@ # Installer YunoHost manuellement +
+Cette procédure fonctionne seulement sur des machines avec **Debian 10** (et **kernel >= 3.12**)) +
+ Une fois que vous avez accès à votre serveur (directement ou par SSH), vous pouvez installer YunoHost en exécutant cette commande en tant que root : ```bash From 654b269894a3fcdc5d143b35c886b640f19ff8a6 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 28 Aug 2020 23:08:25 +0200 Subject: [PATCH 51/61] Update apps_wishlist.md --- apps_wishlist.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index bc59a948..50ab4517 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -1,5 +1,3 @@ -
La page demandée n'est pour le moment pas disponible en français. Voici à la place la version en anglais. Si vous souhaitez commencer une traduction de cette page, vous pouvez vous rendre sur [cette page](https://yunohost.org/#/apps_wishlist_fr).
- # Apps wishlist
Before to add an app in wishlist please check your app is not already in apps list: see the apps list
From b56a4cfbef7cd45fffee5d9e0fa2a1c880c1514b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 3 Sep 2020 16:17:13 +0200 Subject: [PATCH 52/61] Add Simple Torrent --- images/simple-torrent_logo.png.png | Bin 0 -> 9400 bytes simple-torrent.md | 15 +++++++++++++++ simple-torrent_fr.md | 15 +++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 images/simple-torrent_logo.png.png create mode 100644 simple-torrent.md create mode 100644 simple-torrent_fr.md diff --git a/images/simple-torrent_logo.png.png b/images/simple-torrent_logo.png.png new file mode 100644 index 0000000000000000000000000000000000000000..3355942b1148b17f0f1d9f2e66933aef5c1653f7 GIT binary patch literal 9400 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 literal 0 HcmV?d00001 diff --git a/simple-torrent.md b/simple-torrent.md new file mode 100644 index 00000000..149714be --- /dev/null +++ b/simple-torrent.md @@ -0,0 +1,15 @@ +# 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/boypt/simple-torrent) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/flarum/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues) diff --git a/simple-torrent_fr.md b/simple-torrent_fr.md new file mode 100644 index 00000000..529b1ff0 --- /dev/null +++ b/simple-torrent_fr.md @@ -0,0 +1,15 @@ +# 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, écrit en Go (golang). Il stocke des torrents sur le serveur, qui sont téléchargés sous forme d’ensembles de fichiers sur le disque local du serveur, qui peuvent ensuite être récupérés ou transmis en streaming 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/boypt/simple-torrent) + + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/flarum/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues) From 9af9020c00235839cfb7fe8d2f4ca9ab07ba24a7 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 3 Sep 2020 16:20:06 +0200 Subject: [PATCH 53/61] fix naming --- simple-torrent.md => app_simple-torrent.md | 0 simple-torrent_fr.md => app_simple-torrent_fr.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename simple-torrent.md => app_simple-torrent.md (100%) rename simple-torrent_fr.md => app_simple-torrent_fr.md (100%) diff --git a/simple-torrent.md b/app_simple-torrent.md similarity index 100% rename from simple-torrent.md rename to app_simple-torrent.md diff --git a/simple-torrent_fr.md b/app_simple-torrent_fr.md similarity index 100% rename from simple-torrent_fr.md rename to app_simple-torrent_fr.md From 7ca4def0e94bd044c80b28825afce29503306f0c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 3 Sep 2020 16:21:39 +0200 Subject: [PATCH 54/61] fix name --- ...torrent_logo.png.png => simple-torrent_logo.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename images/{simple-torrent_logo.png.png => simple-torrent_logo.png} (100%) diff --git a/images/simple-torrent_logo.png.png b/images/simple-torrent_logo.png similarity index 100% rename from images/simple-torrent_logo.png.png rename to images/simple-torrent_logo.png From b5dc6db6d459cae1081d82fe49b74150f878c35b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 3 Sep 2020 16:22:31 +0200 Subject: [PATCH 55/61] Update simple-torrent_logo.png --- images/simple-torrent_logo.png | Bin 9400 -> 9341 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/simple-torrent_logo.png b/images/simple-torrent_logo.png index 3355942b1148b17f0f1d9f2e66933aef5c1653f7..b18f220d15571a1bf6ae3d2592ee611e0cf193f2 100644 GIT binary patch delta 6615 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 delta 6674 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 Date: Thu, 3 Sep 2020 16:28:40 +0200 Subject: [PATCH 56/61] fix links --- app_simple-torrent.md | 4 ++-- app_simple-torrent_fr.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app_simple-torrent.md b/app_simple-torrent.md index 149714be..a320b6a7 100644 --- a/app_simple-torrent.md +++ b/app_simple-torrent.md @@ -11,5 +11,5 @@ Simple Torrent is a a self-hosted remote torrent client, written in Go (golang). ## Useful links + Official documentation: [wiki](https://github.com/boypt/simple-torrent/wiki) -+ Application software repository: [github.com - YunoHost-Apps/simple-torrent](https://github.com/boypt/simple-torrent) -+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/flarum/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues) ++ 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) diff --git a/app_simple-torrent_fr.md b/app_simple-torrent_fr.md index 529b1ff0..aa035d82 100644 --- a/app_simple-torrent_fr.md +++ b/app_simple-torrent_fr.md @@ -6,10 +6,10 @@ - [Liens utiles](#liens-utiles) -Simple Torrent est un client torrent distant, écrit en Go (golang). Il stocke des torrents sur le serveur, qui sont téléchargés sous forme d’ensembles de fichiers sur le disque local du serveur, qui peuvent ensuite être récupérés ou transmis en streaming via HTTP. +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/boypt/simple-torrent) - + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/flarum/issues](https://github.com/YunoHost-Apps/simple-torrent_ynh/issues) + + 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) From 15ad5262f15b275866437b0ebada051bb0ceb54a Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Thu, 3 Sep 2020 17:48:03 +0200 Subject: [PATCH 57/61] [Anonymous contrib] PHPBB (#1388) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * PHPBB * Update apps_wishlist.md * Update apps_wishlist.md Co-authored-by: Yunobot Co-authored-by: Éric Gaspar <46165813+ericgaspar@users.noreply.github.com> --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index a5f39015..7f7bba74 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -114,6 +114,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Passbolt](https://www.passbolt.com) Passwords manager / [github](https://github.com/passbolt) - [Pelias](https://github.com/pelias/pelias)) - [Photoprism](https://photoprism.org/) / [github](https://github.com/photoprism/photoprism) +- [PHPBB](https://www.phpbb.com/) / [github](https://github.com/phpbb) - [PHPList](http://www.phplist.com) / [github](https://github.com/phpList) - [Phraseanet](https://docs.phraseanet.com/3.8/fr/index.html#) / [github](https://github.com/alchemy-fr/Phraseanet-Docs) - [Pico](http://picocms.org) / [github](https://github.com/picocms/Pico) From 10ee3a5ff224a98a68bb722077165583777d0076 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Thu, 3 Sep 2020 17:49:47 +0200 Subject: [PATCH 58/61] [Anonymous contrib] Translated a domain name (#1384) * Translated a domain name * Update email.md * Delete email_en.md Co-authored-by: Yunobot Co-authored-by: Alexandre Aubin --- email.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/email.md b/email.md index 63525b4c..813064ad 100644 --- a/email.md +++ b/email.md @@ -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 ? ----------------------------------------------- From f2f14bf4ca131d9666630e7ceade5d13f0993cd1 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 5 Sep 2020 19:43:19 +0200 Subject: [PATCH 59/61] Reference apps page in appsdoc.md --- appsdoc.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/appsdoc.md b/appsdoc.md index 161c0361..f4ee4250 100644 --- a/appsdoc.md +++ b/appsdoc.md @@ -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,59 @@ - [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) +- [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_slincode) - [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) From a070d6305d845996377ba52fd8e9aa762623c202 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 5 Sep 2020 19:49:02 +0200 Subject: [PATCH 60/61] Fix links format + other tests issues --- contributordoc.md | 8 ++++---- contributordoc_fr.md | 8 ++++---- packaging_apps_actions.md | 2 +- packaging_apps_advanced.md | 4 ++-- packaging_apps_config_panel.md | 2 +- tests/uniformize_links.sh | 4 ++-- tests/unreferenced_pages.sh | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/contributordoc.md b/contributordoc.md index ced4e173..72f4b1bb 100644 --- a/contributordoc.md +++ b/contributordoc.md @@ -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) diff --git a/contributordoc_fr.md b/contributordoc_fr.md index 82b68782..d52744e4 100644 --- a/contributordoc_fr.md +++ b/contributordoc_fr.md @@ -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) diff --git a/packaging_apps_actions.md b/packaging_apps_actions.md index b1bc92b6..91b3fd49 100644 --- a/packaging_apps_actions.md +++ b/packaging_apps_actions.md @@ -47,7 +47,7 @@ like the `manifest.toml`/`manifest.json`.
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`
The general pattern looks like this: diff --git a/packaging_apps_advanced.md b/packaging_apps_advanced.md index c2bb905e..a4e8eef8 100644 --- a/packaging_apps_advanced.md +++ b/packaging_apps_advanced.md @@ -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: diff --git a/packaging_apps_config_panel.md b/packaging_apps_config_panel.md index a3afaf04..9e54e584 100644 --- a/packaging_apps_config_panel.md +++ b/packaging_apps_config_panel.md @@ -62,7 +62,7 @@ application, next to the manifest.json/toml. It looks like this:
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`
```toml diff --git a/tests/uniformize_links.sh b/tests/uniformize_links.sh index 9a5ab061..e0e1613d 100644 --- a/tests/uniformize_links.sh +++ b/tests/uniformize_links.sh @@ -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 diff --git a/tests/unreferenced_pages.sh b/tests/unreferenced_pages.sh index 92fa14e1..c1705fd6 100644 --- a/tests/unreferenced_pages.sh +++ b/tests/unreferenced_pages.sh @@ -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 From 5e82e329116bb7bcc7cfd5bb62deb01de803ed81 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 5 Sep 2020 19:52:07 +0200 Subject: [PATCH 61/61] Moar travis test fixes --- app_shaarli.md | 1 + appsdoc.md | 2 +- tests/unreferenced_pages.sh | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 app_shaarli.md diff --git a/app_shaarli.md b/app_shaarli.md new file mode 100644 index 00000000..7f24e1a5 --- /dev/null +++ b/app_shaarli.md @@ -0,0 +1 @@ +(This page only exists in french for now) diff --git a/appsdoc.md b/appsdoc.md index f4ee4250..d4f8610a 100644 --- a/appsdoc.md +++ b/appsdoc.md @@ -88,7 +88,7 @@ - [Shaarli](app_shaarli) - [Shellinabox](app_shellinabox) - [Simple-torrent](app_simple-torrent) -- [Slingcode](app_slincode) +- [Slingcode](app_slingcode) - [Sogo](app_sogo) - [Spip](app_spip) - [Strut](app_strut) diff --git a/tests/unreferenced_pages.sh b/tests/unreferenced_pages.sh index c1705fd6..dbe83931 100644 --- a/tests/unreferenced_pages.sh +++ b/tests/unreferenced_pages.sh @@ -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|ca))?.md//g' | sort | uniq) +PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru|ca))?\.md//g' | sort | uniq) returncode=0