From 975e5b8f6ac6546dda7a4a9a7b4047bedfbe8e00 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sat, 26 Aug 2017 21:56:26 +0200 Subject: [PATCH 01/81] Changed "i.e." to "e.g." in subdomain example - "homersimpson" is just an example, there can be other subdomains. (#534) --- postinstall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinstall.md b/postinstall.md index cb8ddfb6..64a10cfa 100644 --- a/postinstall.md +++ b/postinstall.md @@ -26,7 +26,7 @@ Or by running `yunohost tools postinstall` in command-line. This is the first domain name linked to your YunoHost server, but also the one which will be used by your server's users to access the **authentication portal**. It will thus be **visible by everyone**, choose it wisely. -* If you do not have a domain name, or if you want to use the YunoHost's DynDNS service, choose a sub-domain of **.nohost.me** or **.noho.st** (i.e. `homersimpson.nohost.me`). The domain will be configured automatically and you won't need any further configuration step. +* If you do not have a domain name, or if you want to use the YunoHost's DynDNS service, choose a sub-domain of **.nohost.me** or **.noho.st** (e.g. `homersimpson.nohost.me`). The domain will be configured automatically and you won't need any further configuration step. * If you do know what **DNS** is, you probably want to configure your own domain name here. In this case, please refer to the [DNS page](/dns) page for more informations. From 7f5e0711dfc29a9bf036f8090b35c9c073a4da3b Mon Sep 17 00:00:00 2001 From: ariasuni Date: Sat, 26 Aug 2017 22:03:54 +0200 Subject: [PATCH 02/81] [fix] refer to Github Markdown tutorial in doc and several fixes (#535) --- write_documentation.md | 6 ++++-- write_documentation_fr.md | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/write_documentation.md b/write_documentation.md index ed1a0e64..2a748942 100644 --- a/write_documentation.md +++ b/write_documentation.md @@ -2,7 +2,9 @@ ## Online -This site allows to edit content directly online. You can edit any page by pressing `ESC` on your keyboard or by clicking the "Edit" button on the bottom-right side of your screen. You will be able to preview your changes by pressing `ESC` again or by clicking the "preview" button. +This site allows to edit content directly online. + +You can edit any page by pressing `ESC` on your keyboard or by clicking the "Edit" button on the bottom-right side of your screen. You will be able to preview your changes by pressing `ESC` again or by clicking the "preview" button. Once edited, you are able to submit your change by filling an email address. @@ -12,4 +14,4 @@ The YunoHost documentation is managed through a [git repository](https://github. ## Syntax -This page use the markdown syntax, please refer to the [documentation](http://daringfireball.net/projects/markdown/syntax) for further information. +This page use the markdown syntax, please refer to the [documentation](https://guides.github.com/features/mastering-markdown/) for further information. diff --git a/write_documentation_fr.md b/write_documentation_fr.md index 9563c764..df394f2c 100644 --- a/write_documentation_fr.md +++ b/write_documentation_fr.md @@ -1,17 +1,17 @@ # Rédaction de la documentation -## Sur le site +## Sur le site Ce site permet d’éditer le contenu directement en ligne. - + Pour éditer une page, appuyez pour la touche `Échap` ou cliquez sur le bouton « Éditer » en bas à droite de la page. Vous pourrez visualiser vos modifications en appuyant de nouveau sur `Échap`, ou en cliquant sur le bouton « Aperçu » en bas à droite de la page. Une fois l’édition effectuée, vous pouvez soumettre vos modifications en renseignant un mail. -## Via GitHub +## Via GitHub -La documentation de YunoHost est gérée par un [dépot Git](https://github.com/YunoHost/doc). Vous pouvez envoyer des pull-requests. +La documentation de YunoHost est gérée par un [dépot Git](https://github.com/YunoHost/doc). Vous pouvez envoyer des pull-requests. ## Syntaxe -La documentation utilise la syntaxe Markdown. Veuillez vous référer à la [documentation](http://daringfireball.net/projects/markdown/syntax) pour plus d’informations. +La documentation utilise la syntaxe Markdown. Veuillez vous référer à la [documentation](https://guides.github.com/features/mastering-markdown/) (en) pour plus d’informations. From 8cd22cbaadf5aab047d0f30dbcc7e3e7b6e04c33 Mon Sep 17 00:00:00 2001 From: nvallas Date: Mon, 28 Aug 2017 00:19:00 +0200 Subject: [PATCH 03/81] Fix broken Free page (#536) * correction de lien * Misc fixes because this page was actually broken in yunohost.org/ --- isp_free_fr.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/isp_free_fr.md b/isp_free_fr.md index 13e0a706..d60c0fac 100644 --- a/isp_free_fr.md +++ b/isp_free_fr.md @@ -1,4 +1,4 @@ -#Free +# Free *Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* @@ -33,9 +33,9 @@ La présence conjointe de ces deux règles permettent d'accéder à votre serveu Pour pouvoir envoyer des mails, le déblocage se fait dans la [partie client](https://subscribe.free.fr/login/). -Depuis le menu Ma freebox aller sur « Blocage SMTP sortant ». +Depuis le menu Ma freebox aller sur « Blocage SMTP sortant ». -Pour pouvoir envoyer des mails, passer le blocage en « inactif ». +Pour pouvoir envoyer des mails, passer le blocage en « inactif ». #### Fonction NAS de la Freebox @@ -57,13 +57,13 @@ $ sudo mount -t cifs //mafreebox.freebox.fr/Disque\ dur/ /home/monlogin/freebox ##### Automatiser le montage Une ligne a ajouter à la fin du `/etc/fstab` : -``` +```bash //mafreebox.freebox.fr/Disque\040dur/ /home/monlogin/freebox cifs _netdev,guest,uid=monlogin,gid=users,iocharset=utf8 0 0 ``` Le `_netdev` signale que c'est un périphérique réseau, afin que le système ne le monte que s'il a accès au réseau. `guest` est le mode d'identification à la Freebox : pour une connexion authentifié, placer vos identifiants dans un fichier sous la forme -``` +```bash username=your_user password=your_pass domain=FREEBOX From 835c76db45add78241ed9498410316c51b87b831 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 30 Aug 2017 15:38:40 +0200 Subject: [PATCH 04/81] Fix wording of root password explanation (#539) --- install_manually.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_manually.md b/install_manually.md index 5b5e9a1a..0a5ef614 100644 --- a/install_manually.md +++ b/install_manually.md @@ -16,7 +16,7 @@ sudo apt-get install git dialog git clone https://github.com/YunoHost/install_script /tmp/install_script ``` -3. The root user must have a password set, if it isn't the case, set it (whithout the install script failed): +3. The root user must have a password set, if it isn't the case, set it (otherwise, the install script fails): ```bash sudo passwd root ``` From 982719a9e95a0c0b0b67bb020ac0157d8d784282 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 31 Aug 2017 13:44:11 +0200 Subject: [PATCH 05/81] Remove jappix chat (#533) * Remove old support page (see new-help-page) * Remove jappix chat applet --- contribute.md | 31 +------------------------------ contribute_fr.md | 31 +------------------------------ dev.md | 31 ------------------------------- dev_fr.md | 30 ------------------------------ index.md | 31 +------------------------------ index_fr.md | 31 +------------------------------ install_iso.md | 3 --- install_iso_fr.md | 2 -- install_on_arm_board.md | 3 --- install_on_arm_board_fr.md | 3 --- install_on_debian.md | 3 --- install_on_debian_fr.md | 4 ---- install_on_raspberry.md | 3 --- install_on_raspberry_fr.md | 3 --- install_on_virtualbox.md | 3 --- install_on_virtualbox_fr.md | 3 --- install_on_vps.md | 3 --- install_on_vps_fr.md | 4 ---- postinstall.md | 1 - postinstall_fr.md | 3 ++- security.md | 2 +- security_fr.md | 2 +- sitemap.md | 3 +-- sitemap_fr.md | 3 +-- support.md | 19 ------------------- support_fr.md | 19 ------------------- 26 files changed, 10 insertions(+), 264 deletions(-) delete mode 100644 support.md delete mode 100644 support_fr.md diff --git a/contribute.md b/contribute.md index f09aaab3..eeb06146 100644 --- a/contribute.md +++ b/contribute.md @@ -33,7 +33,7 @@ We need people able to test YunoHost deeply. If you find a bug, try to identify    Helping users
-Our support relies on contributors like you. Just come to [the XMPP chatroom](/support) and help new users getting started, or pick a question on the Forum. +Our support relies on contributors like you. Just come to [the support chatroom](/help) and help new users getting started, or pick a question on the Forum.
@@ -109,32 +109,3 @@ Seed (share) YunoHost images with Torrent system: [live](http://build.yunohost.o

In any case, please [come to dev chatroom](xmpp:dev@conference.yunohost.org?join) to contribute :-)

- - diff --git a/contribute_fr.md b/contribute_fr.md index 28403815..124bfe68 100644 --- a/contribute_fr.md +++ b/contribute_fr.md @@ -33,7 +33,7 @@ Nous avons besoin de tester YunoHost profondément. Si vous trouvez un bug, essa    Aidez les utilisateurs
-Notre support est communautaire et s’appuie sur des contributeurs comme vous. Venez simplement sur le [salon de discussion XMPP](/support_fr), ou tentez de répondre aux questions du Forum. Vous pouvez aussi organiser des ateliers de formation. +Notre support est communautaire et s’appuie sur des contributeurs comme vous. Venez simplement sur le [salon d'aide](/help_fr), ou tentez de répondre aux questions du Forum. Vous pouvez aussi organiser des ateliers de formation.
@@ -105,32 +105,3 @@ Seedez (partagez) avec le système de Torrent les images de YunoHost : [live](h

Dans tous les cas, venez sur le [salon de développement](xmpp:dev@conference.yunohost.org?join) pour contribuer :-)

- - diff --git a/dev.md b/dev.md index 1d677afc..378cfe64 100644 --- a/dev.md +++ b/dev.md @@ -122,34 +122,3 @@ If you're looking for stuff to implement or fix, the bug-tracker is should be merged in `testing` (?) ! - - - - diff --git a/dev_fr.md b/dev_fr.md index 1acd96da..3d2ab6d4 100644 --- a/dev_fr.md +++ b/dev_fr.md @@ -131,34 +131,4 @@ XMPP, vous devriez pouvoir vous connecter à l'aide du widget en bas de la page. - Après relecture, test et validation par les autres contributeurs, votre branche sera mergée dans `testing` (?) ! - - - diff --git a/index.md b/index.md index 9f3e6656..9981ad8f 100644 --- a/index.md +++ b/index.md @@ -97,7 +97,7 @@ Forum Chat rooms Latest news - Support + Support

Explore what you can do with a server, and why it is important

@@ -152,32 +152,3 @@ - - diff --git a/index_fr.md b/index_fr.md index e9bbd8be..01a3da99 100644 --- a/index_fr.md +++ b/index_fr.md @@ -96,7 +96,7 @@ Forum Salons de discussions Dernières nouvelles - Support + Support
@@ -152,32 +152,3 @@ - - diff --git a/install_iso.md b/install_iso.md index a947f1af..871abf04 100644 --- a/install_iso.md +++ b/install_iso.md @@ -32,6 +32,3 @@ To connect directly to your computer or with [SSH](/ssh) (only on local network: * User: **root** * Password: **yunohost** ---- - -***Need help during one of these steps? [Get support!](/support)*** diff --git a/install_iso_fr.md b/install_iso_fr.md index a493fd00..832448b3 100644 --- a/install_iso_fr.md +++ b/install_iso_fr.md @@ -31,5 +31,3 @@ Pour se connecter directement sur l’ordinateur (uniquement en local) : * Utilisateur : **root** * Mot de passe : **yunohost** ---- -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [moyens de support](/support_fr).*** diff --git a/install_on_arm_board.md b/install_on_arm_board.md index 8b56085a..fb07dcd1 100644 --- a/install_on_arm_board.md +++ b/install_on_arm_board.md @@ -36,6 +36,3 @@ #### Build image * [Create an ARM board image](/build_arm_image_en) ---- - -***Need help during one of these steps? [Get support!](/support)*** diff --git a/install_on_arm_board_fr.md b/install_on_arm_board_fr.md index 0c8cc277..ef8fa0eb 100644 --- a/install_on_arm_board_fr.md +++ b/install_on_arm_board_fr.md @@ -33,6 +33,3 @@ #### Créer une image * [Créer une image pour la carte ARM](build_arm_image_en) ---- - -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [moyens de support](/support_fr).*** diff --git a/install_on_debian.md b/install_on_debian.md index 599f8671..28c19344 100644 --- a/install_on_debian.md +++ b/install_on_debian.md @@ -22,6 +22,3 @@ An ARM box, a VPS, a dedicated server, a standard x86 computer, an old Macintosh 2. Post-install ---- - -***Need help during one of these steps? [Get support!](/support)*** diff --git a/install_on_debian_fr.md b/install_on_debian_fr.md index dbd61065..408a2da6 100644 --- a/install_on_debian_fr.md +++ b/install_on_debian_fr.md @@ -22,7 +22,3 @@ Sur une plateforme ARM, un VPS, un serveur dédié, un ordinateur x86 standard, 2. Post-installation ---- - -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [moyens de support](/support_fr).*** - diff --git a/install_on_raspberry.md b/install_on_raspberry.md index be96c1f8..7e1879c9 100644 --- a/install_on_raspberry.md +++ b/install_on_raspberry.md @@ -56,6 +56,3 @@ sudo passwd root 4. Then follow the generic manual install procedure. ---- - -***If you need help during one of these steps, do not hesitate to use [our support tools](/support).*** diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index 5d453af4..172538c6 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -56,6 +56,3 @@ sudo passwd root 4. Poursuivez avec la procédure d'installation manuelle générique. ---- - -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [outils de support](/support_fr).*** diff --git a/install_on_virtualbox.md b/install_on_virtualbox.md index 23467526..4ff5905f 100644 --- a/install_on_virtualbox.md +++ b/install_on_virtualbox.md @@ -73,6 +73,3 @@ After the reboot, you will see this screen: * You can get more information on the post-installation here: **[yunohost.org/postinstall](/postinstall)** ---- - -***Need help during one of these steps? [Get support!](/support)*** diff --git a/install_on_virtualbox_fr.md b/install_on_virtualbox_fr.md index 80732f28..5e047899 100644 --- a/install_on_virtualbox_fr.md +++ b/install_on_virtualbox_fr.md @@ -72,6 +72,3 @@ Après le redémarrage, vous devriez voir cet écran : * Vous pouvez obtenir plus d’information sur la post-installation ici : **[yunohost.org/postinstall_fr](/postinstall_fr)** * Le mode de passe root est "yunohost" ---- - -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [moyens de support](/support_fr).*** diff --git a/install_on_vps.md b/install_on_vps.md index d16c436e..07a9b1d9 100644 --- a/install_on_vps.md +++ b/install_on_vps.md @@ -18,6 +18,3 @@ 2. Post-install ---- - -***If you need help during one of these steps, do not hesitate to use [our support tools](/support).*** diff --git a/install_on_vps_fr.md b/install_on_vps_fr.md index 1bc25775..c830e6bd 100644 --- a/install_on_vps_fr.md +++ b/install_on_vps_fr.md @@ -18,7 +18,3 @@ 2. Post-installation ---- - - -***Si vous avez besoin d’aide lors de ces étapes, n’hésitez pas à utiliser les différents [moyens de support](/support_fr).*** diff --git a/postinstall.md b/postinstall.md index 64a10cfa..838b070d 100644 --- a/postinstall.md +++ b/postinstall.md @@ -52,4 +52,3 @@ If you're using your own domain and depending on your browser, you might be stuc Once the post-installation finished, check if you can access to your server with your web-browser. If it is not the case, a few more configuration steps may be required. -Do not hesitate to come on our [support chatroom](/support) if you need help. diff --git a/postinstall_fr.md b/postinstall_fr.md index 9709e4e2..1750f734 100644 --- a/postinstall_fr.md +++ b/postinstall_fr.md @@ -58,4 +58,5 @@ Si vous utilisez votre propre domaine et selon votre navigateur, vous pourriez v Une fois l’étape de post-installation exécutée, vérifiez que votre serveur est accessible en tapant le nom de domaine choisi précédemment dans votre navigateur web. Si celui-ci n’est pas accessible, quelques étapes de configurations supplémentaires sont sûrement nécessaires. -Rendez-nous visite sur le [salon de support](/support_fr) si vous avez besoin d’aide. +N'hésitez pas à [demander de l'aide](/help_fr) au besoin. + diff --git a/security.md b/security.md index f571914f..c11c7857 100644 --- a/security.md +++ b/security.md @@ -8,7 +8,7 @@ Two things remain important to note: * The fact that YunoHost is a well-spread software increase chances to face an attack. If a flaw is discovered, it could potentially affect all the YunoHost instances at once. Keep your system **up-to-date** to remain safe. -*If you need some advises, do not hesitate to [ask us](/support).* +*If you need some advices, do not hesitate to [ask us](/help).* *To talk about security flaws, contact the [YunoHost security team](/security_team).* diff --git a/security_fr.md b/security_fr.md index bc0d00da..d9f227a2 100644 --- a/security_fr.md +++ b/security_fr.md @@ -11,7 +11,7 @@ Deux points sont néanmoins importants à noter : * Le fait que YunoHost soit un logiciel répandu augmente les chances de subir une attaque. Si une faille est découverte, elle peut potentiellement **toucher toutes les instances YunoHost** à un temps donné. Nous nous efforçons de corriger ces failles le plus rapidement possible, pensez donc à **mettre à jour régulièrement** votre système. -*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/support_fr).* +*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/help_fr).* *Pour discuter d'une faille de securité, contactez l'[équipe securité de YunoHost](/security_team_fr).* diff --git a/sitemap.md b/sitemap.md index 385788d4..fd459a1b 100644 --- a/sitemap.md +++ b/sitemap.md @@ -114,10 +114,9 @@ * [Frequently asked questions](/faq_en) * [Contributors](contribs) - [Project organization](project_organization) - * [Support](/support_en) * [Art Works](artworks_en) * [Blog](https://forum.yunohost.org/c/announcement) - [Forum](https://forum.yunohost.org) - [Chat rooms](chat_rooms_en) * [Communication](communication_en) - * [Help](/help) + * [Support / Help](/help) diff --git a/sitemap_fr.md b/sitemap_fr.md index 165ca0c1..dc365c9f 100644 --- a/sitemap_fr.md +++ b/sitemap_fr.md @@ -128,11 +128,10 @@ * [Foire aux questions](/faq_fr) - [Organisation du projet](project_organization_fr) * [Contributeurs](contribs_fr) - * [Entraide - support](/support_fr) * [Blog](https://forum.yunohost.org/c/announcement) - [Forum](https://forum.yunohost.org) - [Salons de discussions](chat_rooms_fr) * [Conférences](/conf_fr) * [Communication extérieure](communication_fr) * [Travail artistique](artworks_fr) - * [Aide](/help_fr) + * [Support / Aide](/help_fr) diff --git a/support.md b/support.md deleted file mode 100644 index 57a7003d..00000000 --- a/support.md +++ /dev/null @@ -1,19 +0,0 @@ -# Support - -The YunoHost support is provided by the community members. - -* The **best and fastest** way to get answers remains the community chatroom, accessible on the bottom-right corner of this page, or via an XMPP compatible instant messaging client (like [Pidgin](https://pidgin.im)), at the following address: - - **[support@conference.yunohost.org](xmpp:support@conference.yunohost.org?join)** - ---- - -* You may also want to visit the **discussion forum**: - - **[forum.yunohost.org](https://forum.yunohost.org/)** - ---- - -* However, if you want to write specificaly to the YunoHost team, do not hesitate to send us an email. Please note that **we do not provide any support by email**. - - **[yunohost@yunohost.org](mailto:yunohost@yunohost.org)** diff --git a/support_fr.md b/support_fr.md deleted file mode 100644 index ea1b6003..00000000 --- a/support_fr.md +++ /dev/null @@ -1,19 +0,0 @@ -# Support - Entraide - -L’entraide autour de YunoHost est assurée par la communauté. - -* Le moyen le plus **efficace et rapide** d’obtenir des réponses reste le salon de discussion instantané, accessible en bas à droite de cette page, ou via n’importe quel client de messagerie **compatible XMPP** (tel que [Pidgin](https://pidgin.im)) à l’adresse suivante : - - **[support@conference.yunohost.org](xmpp:support@conference.yunohost.org?join)** - ---- - -* Vous pouvez également vous renseigner et poser vos questions sur **le forum** (en anglais de préférence) : - - **[forum.yunohost.org](https://forum.yunohost.org/)** - ---- - -* Enfin, si vous souhaitez vous adresser spécifiquement à l’équipe YunoHost, n’hésitez pas à nous envoyer un mail. **Attention, nous n’assurons aucun support par email**. - - **[yunohost@yunohost.org](mailto:yunohost@yunohost.org)** From 127a695ab1276af29a9c4b034f8c61382a6ae98c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 31 Aug 2017 13:52:19 +0200 Subject: [PATCH 06/81] New help page (#531) * New help page poiting to support chatroom, forum and bugtracker * Adding note about the actual adress of the rooms * Fix typos found by JimboJoe * Fix typos found by JimboJoe * Remove old support page (see new-help-page) (#532) --- help.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++--- help_fr.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 126 insertions(+), 6 deletions(-) diff --git a/help.md b/help.md index a0702104..71a29164 100644 --- a/help.md +++ b/help.md @@ -1,5 +1,65 @@ -#About this site +# Looking for help? -Unless specifically mentioned, the content of this website is licensed under the [Creative Commons ```CC-BY-SA``` license](http://creativecommons.org/licenses/by-sa/3.0/). +

Connect to the support chatroom

+
+
+ProTips™ +
    +
  • Don't ask to ask, just ask !
  • +
  • Be patient, it can take a few minutes before someone sees your messages.
  • +
+
+Nickname : +
+
+ +
+
+Note : you can also connect using your favorite XMPP client to
+support@conference.yunohost.org
+
+ +

... or ask on the forum !

+ +
+ +
+ +

You've found a bug ?

+ +
+
+Please report it on our bugtracker or contact the developers

+ + +
+
+Note : you can also connect to the devrooms, using your favorite XMPP client, to
+dev@conference.yunohost.org and apps@conference.yunohost.org
+
+ + -This wiki is powered by [Simone](https://github.com/Kloadut/Simone). diff --git a/help_fr.md b/help_fr.md index b87025c8..3a6826d2 100644 --- a/help_fr.md +++ b/help_fr.md @@ -1,5 +1,65 @@ -#À propos de ce site +# Besoin d'aide ? -Sauf mention contraire, le contenu de ce site est sous [licence Creative Common ```CC-BY-SA```](http://creativecommons.org/licenses/by-sa/3.0/fr/) +

Connectez-vous au salon de support

+
+
+ProTips™ +
    +
  • Pas besoin de demander si vous pouvez poser une question - posez-la directement !
  • +
  • Soyez patient, cela peut prendre plusieurs minutes avant que quelqu'un remarque vos messages.
  • +
+
+Pseudonyme : +
+
+ +
+
+Note : vous pouvez aussi vous connecter via votre client XMPP favori à
+support@conference.yunohost.org
+
+ +

... ou demandez sur le forum !

+ +
+ +
+ +

Vous avez trouvé un bug ?

+ +
+
+Vous pouvez rapporter le bug sur le bugtracker ou contacter les développeurs

+ + +
+
+Note : vous pouvez aussi vous connecter aux salons de dev, via votre client XMPP favori, à
+dev@conference.yunohost.org et apps@conference.yunohost.org
+
+ + -Ce wiki est propulsé par [Simone](https://github.com/Kloadut/Simone). From 1923192205b105a38322b288a6110d2fd82f039c Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 3 Sep 2017 22:47:21 +0200 Subject: [PATCH 07/81] (LibreNews) A free and open breaking news notification platform. (#545) --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index 4a0148bc..841ab20c 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -85,6 +85,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Kresus](https://framagit.org/bnjbvr/kresus) - [KrISS feed](https://github.com/tontof/kriss_feed) - [Kune](https://en.wikipedia.org/wiki/Kune_%28software%29) +- [LibreNews-Server](https://librenews.io) - [LibreOffice Online](https://wiki.documentfoundation.org/ReleaseNotes/5.3/fr#LibreOffice_Online) - [LiquidSoap](http://savonet.sourceforge.net/) - [Logstalgia](http://logstalgia.io) From 9ccdf22d16f2eae26b81c82e78c67650291dd66c Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Tue, 5 Sep 2017 22:38:25 +0200 Subject: [PATCH 08/81] Display the list of apps with nice cards (#537) * [enh] Display the list of apps with nice cards * [fix] notworking and uppercase issue in app search --- admindoc_fr.md | 3 +- apps.md | 315 +++++++++++++++++++++++++++++++--------- apps_fr.md | 320 ++++++++++++++++++++++++++++++++--------- apps_in_progress.md | 134 ----------------- apps_in_progress_fr.md | 137 ------------------ apps_wishlist.md | 9 +- apps_wishlist_fr.md | 4 - packaging_apps.md | 2 +- packaging_apps_fr.md | 2 +- sitemap.md | 16 +-- sitemap_fr.md | 16 +-- userdoc.md | 11 +- userdoc_fr.md | 11 +- 13 files changed, 512 insertions(+), 468 deletions(-) delete mode 100644 apps_in_progress.md delete mode 100644 apps_in_progress_fr.md diff --git a/admindoc_fr.md b/admindoc_fr.md index 5ea7cc01..5415e90a 100644 --- a/admindoc_fr.md +++ b/admindoc_fr.md @@ -28,9 +28,8 @@ * [Avec OVH](/OVH_fr) * [Accéder à son domaine depuis le réseau local](/dns_local_network_fr) * [Nom de domaine en Nohost.me](/dns_nohost_me_fr) -* [Applications officielles](/apps_fr) +* [Applications](/apps_fr) * [Mettre à jour ses applications](app_update_fr) - * [Applications en cours](apps_in_progress_fr) * [Applications souhaitées](apps_wishlist_fr) * [Nextcloud](app_nextcloud_fr) * [Fournisseurs d’accès à Internet](/isp_fr) diff --git a/apps.md b/apps.md index 01345a25..9d138c71 100644 --- a/apps.md +++ b/apps.md @@ -1,44 +1,133 @@ -#Official apps +# Apps - - - - - - - - - - - -Official apps Apps in progress Apps wishlist - -
-
View all
+
+ + +
- -
- -
-
All official applications are under free licenses.
+
+

Only apps tagged validated are officially supported by the package team.

+ +

Apps tagged working, inprogress, notworking are from community repository, you can test and use them **at your own risk**.

+ +

Important: it's the application maintaineur that qualify his application as working, not the YunoHost core team. Install it at your own risks. We won't provide support for it.

+
+
The packagers will appreciate your remarks. If you install them and find issues, or ideas for improvement, do not hesitate to file issues directly on their repositories project page.
+ +
+ +
If you don't find the app you are searching for, you can search it in community app repository (working, inprogress and not working apps) or fill the apps wishlist.
+ + + + + diff --git a/apps_fr.md b/apps_fr.md index e1312afa..17415ec6 100644 --- a/apps_fr.md +++ b/apps_fr.md @@ -1,49 +1,138 @@ -#Apps officielles +# Apps - - - - - - - - - - - -Apps officielles Apps en cours Apps souhaitées - -
-
Tout déplier
+ - -
- -
-
Toutes les applications officielles sont sous licences libres.
+
+

Seules les apps marquées validated sont officiellement supportées par l'équipe d'empaquetage.

+ +

Les apps marquées working, inprogress, notworking sont des applications non officielles maintenues par la communauté, vous pouvez les tester et les utiliser **à vos risques et périls**.

+ +

Important: c'est le mainteneur de l'application qui définit son application comme "working" et non pas l'équipe d'empaquetage de Yunohost. Installez ces apps à vos risques et périls. Nous ne fournissons pas de support pour elles.

+
+
Les empaqueteurs apprécieront vos remarques. Si vous installez leurs apps et trouvez des dysfonctionnement, ou si vous avez des idées d'amélioration, n'hésitez pas à créer des tickets directement sur les pages de dépots des projets.
+ +
+ +
Si vous ne trouvez pas l'applications que vous recherchez, vous pouvez la rechercher dans les apps communautaires (working, inprogress et notworking) ou remplir la liste d'apps souhaitées.
+ + + + + diff --git a/apps_in_progress.md b/apps_in_progress.md deleted file mode 100644 index 821ae0a6..00000000 --- a/apps_in_progress.md +++ /dev/null @@ -1,134 +0,0 @@ -# Apps in progress - - - - - - - - - - - - -Official apps -Apps in progress -Apps wishlist - -The following applications are being packaged on by a growing number of packagers. -
They are **NOT** validated by the packaging team, and as such, **no official support is provided** for them.
-You can test and use them **at your own risk**. -
- -You can install them through the [administration web interface](/admin) by choosing "Install custom app", or using the [moulinette](/moulinette): -```bash -yunohost app install https://github.com// -``` - -The packagers will appreciate your remarks. If you test them and find issues, or ideas for improvement, do not hesitate to file issues directly on their repositories project page. - -
-
Collapse broken
-
Collapse in progress
-
Collapse working
-
- -

Declared as working applications

-

Important: it's the application maintaineur that qualify his application as working, not the YunoHost core team. Install it at your own risks. We won't provide support for it.

- -
- -

Work in progress applications

-

Those are not yet finished applications, we strongly advise against installing them except if you know what you are doing.

- -
- -

Broken applications

-

Do NOT install them, they are here as reference while they aren't fixed.

- -
- - - - diff --git a/apps_in_progress_fr.md b/apps_in_progress_fr.md deleted file mode 100644 index 6b76fb4f..00000000 --- a/apps_in_progress_fr.md +++ /dev/null @@ -1,137 +0,0 @@ -# Apps en cours - - - - - - - - - - - - -Apps officielles -Apps en cours -Apps souhaitées - -De plus en plus d’applications sont mises à disposition par les packagers. -
Ces applications **n’ont pas** été validées par l’équipe YunoHost et **ne sont pas** officiellement prises en charge.
Vous pouvez les tester et les utiliser à **vos risques et périls**. -
- -Elles sont installables avec l’[interface web d’administration](/admin) ou avec la moulinette : -```bash -yunohost app install https://github.com// -``` - -N’hésitez pas à vous créer un compte GitHub pour faire part de vos remarques aux packagers (sous forme d’« issues ») ou à leur proposer des améliorations (sous forme de « pull requests »). - -
-
Déplier cassées
-
Déplier en cours
-
Déplier fonctionnelles
-
- -

Applications dites fonctionnelles

-

Remarque : c'est le mainteneur de l'application qui la décrit comme fonctionnelle, pas l'équipe de YunoHost. Installez la à vos risques et péril et soyez conscient que ne fournirons aucune assistance dessus.

- -
- -

Applications en cours de développement

-

Il s'agit d'application pas encore fonctionnelles mais en cours de développement, nous vous déconseillons fortement de les installer sauf si vous savez ce que vous faites.

- -
- -

Applications cassées

-

Ne les installez PAS, elles sont là pour référence le temps d'être réparées.

- -
- - - - diff --git a/apps_wishlist.md b/apps_wishlist.md index 841ab20c..bb307eae 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -1,6 +1,6 @@ # Apps wishlist -Official apps Apps in progress Apps wishlist +
Before to add an app in wishlist please check your app is not already in official or community list: see the apps list
The following list is a compiled wishlist of applications that would be nice-to-have. @@ -29,7 +29,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Commafeed](https://github.com/Athou/commafeed) - [Converse.js](https://conversejs.org) - [Coquelicot](https://coquelicot.potager.org) – [package](https://github.com/M5oul/coquelicot_ynh) -- [Cryptpad](https://github.com/xwiki-labs/cryptpad) - [Cronkeep](https://github.com/cronkeep/cronkeep) - [CronWeb](https://github.com/fisherinnovation/CronWeb) - [Croodle](https://github.com/jelhan/croodle) Schedule a date or to do a poll on a general topics, with client-side encryption. @@ -53,7 +52,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [GetSimple CMS](http://get-simple.info) - [Git-annex](http://git-annex.branchable.com) - [Gitit](http://gitit.net) -- [GitLab](http://gitlab.org) - [Goaccess](https://goaccess.io) Web log analyser (replaces piwik without js tracking scripts) - [Gollum](https://github.com/gollum/gollum) - [Goploader](https://github.com/Depado/goploader) @@ -113,7 +111,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [pdfy](https://github.com/joepie91/pdfy) - [PeerTube](https://github.com/Chocobozzz/PeerTube) - [Pelias](https://github.com/pelias/pelias) -- [Pelican](http://blog.getpelican.com) - [Peps](https://github.com/MLstate/PEPS) - [PHPList](http://www.phplist.com) - [PHProxy](http://sourceforge.net/projects/poxy) @@ -130,7 +127,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Request Tracker](https://bestpractical.com) - [Respawn 2.0](https://github.com/broncowdd/respawn) - [Restya](http://restya.com) -- [uMap](https://umap.openstreetmap.fr/en) - [Scramble, Browser-based PGP web mail](https://github.com/dcposch/scramble) - [Scribbleton](https://scribbleton.com) - [ShareLatex](https://www.sharelatex.com) @@ -143,7 +139,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Streama](https://github.com/dularion/streama) - [Streisand](https://github.com/jlund/streisand) - [SVG-Edit](https://github.com/SVG-Edit/svgedit) -- [Sympa](http://www.sympa.org) - [Taskwarrior](https://taskwarrior.org) - [Taiga](https://taiga.io) - [TorChat](https://github.com/prof7bit/TorChat) @@ -158,11 +153,9 @@ The following list is a compiled wishlist of applications that would be nice-to- - [WebODF](http://webodf.org) - [webSync](http://furier.github.io/websync) - [WebTorrent](https://github.com/feross/webtorrent) -- [Wekan](http://wekan.io) - [WID](https://wid.chorem.com/site/home) - [Wisemapping](http://www.wisemapping.com) - [Xonotic](http://xonotic.org) -- [Yacy](http://yacy.net) – [package](https://github.com/M5oul/yacy_ynh) - [YellowCMS](http://datenstrom.se/yellow) - [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL) - [ZeroTier](https://github.com/zerotier/ZeroTierOne) diff --git a/apps_wishlist_fr.md b/apps_wishlist_fr.md index 5c9c3683..28616ea0 100644 --- a/apps_wishlist_fr.md +++ b/apps_wishlist_fr.md @@ -1,7 +1,3 @@ # Apps souhaitées -Apps officielles -Apps en cours -Apps souhaitées - La liste des applications souhaitées n’est maintenue qu’en version anglaise. Merci de vous y référer. diff --git a/packaging_apps.md b/packaging_apps.md index cd2bfe32..3f04d214 100644 --- a/packaging_apps.md +++ b/packaging_apps.md @@ -87,7 +87,7 @@ This Python script checks: ### Publish and ask for testing your application * Publishing a [post on the Forum](https://forum.yunohost.org/) with the [`App integration` category](https://forum.yunohost.org/c/app-integration), to ask for testing and feedback on your application. -* Ask your application to be added to the [app repository](https://github.com/YunoHost/apps) to be displayed in the [non-official apps list](apps_in_progress_en). Specify its progress state: `notworking`, `inprogress`, or `working`. +* Ask your application to be added to the [app repository](https://github.com/YunoHost/apps) to be displayed in the [non-official apps list](apps_en). Specify its progress state: `notworking`, `inprogress`, or `working`. - Subscribe to the [Apps mailing list](https://list.yunohost.org/cgi-bin/mailman/listinfo/apps) to be informed about packaging evolution. diff --git a/packaging_apps_fr.md b/packaging_apps_fr.md index 60304894..4b5d9a07 100644 --- a/packaging_apps_fr.md +++ b/packaging_apps_fr.md @@ -69,7 +69,7 @@ Il s’agit d’un script Python qui vérifie : ### Publiez et demandez des tests de votre application * Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `App integration`](https://forum.yunohost.org/c/app-integration). -* Faire une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) afin qu’elle soit affichée dans [la liste des apps non officielles](apps_in_progress_fr). Préciser également son état d’avancement : `notworking`, `inprogress` ou `working`. +* Faire une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) afin qu’elle soit affichée dans [la liste des apps non officielles](apps_fr). Préciser également son état d’avancement : `notworking`, `inprogress` ou `working`. - Inscrivez-vous à la [mailing list Apps](https://list.yunohost.org/cgi-bin/mailman/listinfo/apps) pour être tenu au courant des évolutions du packaging. diff --git a/sitemap.md b/sitemap.md index fd459a1b..8bedd325 100644 --- a/sitemap.md +++ b/sitemap.md @@ -42,8 +42,7 @@ * [Internet service provider](/isp) * [Generic configuration of the ISP router](/isp_box_config) * Applications - * [Official applications](/apps_en) - * [Non-official applications](/apps_in_progress_en) + * [Applications](/apps_en) * [Update applications](app_update_en) * Administration * Command-line @@ -70,17 +69,7 @@ * [User interface](user_interface) * [Configure email client](email_configure_client_en) * [Instant messaging usage](/XMPP) - * [Official applications](/apps) - * [Baikal](/app_baikal_en) - * [Firefox Sync](/app_ffsync_en) - * [Tiny Tiny RSS](/app_ttrss_en) - * [Transmission](/app_transmission_en) - * [Radicale](/app_radicale) - * [RoundCube](/app_roundcube_en) - * [Minidlna](app_minidlna_en) - * [Wallabag v2](/app_wallabag2) - * [Community applications](/apps_in_progress_en) - * [LimeSurvey](/app_limesurvey_en) + * [Applications](/apps) * [Contributor guide](/contribute) * Developement @@ -96,7 +85,6 @@ * [Trap usage](packaging_apps_trap_fr) * [Applications levels](packaging_apps_levels_fr) * [YEP - YunoHost Enhancement Proposals](packaging_apps_guidelines_fr) - * [Applications in progress](/apps_in_progress_en) * [Wishlist of applications](/apps_wishlist_en) * [Contributing to the YunoHost core](/dev) * [Creation of system packages](/build_system_en) diff --git a/sitemap_fr.md b/sitemap_fr.md index dc365c9f..bc2f6b43 100644 --- a/sitemap_fr.md +++ b/sitemap_fr.md @@ -49,7 +49,6 @@ * [Orange](/isp_orange_fr) * Applications * [Applications officielles](/apps_fr) - * [Applications non officielles](/apps_in_progress_en) * [Mise à jour des applications](app_update_fr) * Administration * En ligne de commande @@ -78,19 +77,7 @@ * [Interface utilisateur](user_interface) * [Configurer un client email](email_configure_client_fr) * [Utiliser la messagerie instantanée XMPP](/XMPP_fr) - * [Applications officielles](/apps_fr) - * [Baïkal](/app_baikal_fr) - * [Firefox Sync](/app_ffsync_fr) - * [Jappix](/app_jappix_fr) - * [Nextcloud](app_nextcloud_fr) - * [Tiny Tiny RSS](/app_ttrss_fr) - * [Transmission](/app_transmission_fr) - * [Radicale](/app_radicale_fr) - * [RoundCube](/app_roundcube_fr) - * [Minidlna](app_minidlna_fr) - * [Wallabag v2](/app_wallabag2_fr) - * [Applications communautaires](/apps_in_progress_fr) - * [LimeSurvey](/app_limesurvey_fr) + * [Applications](/apps_fr) * [Guide du contributeur](/contribute_fr) * Développement @@ -110,7 +97,6 @@ * [Usage de trap](packaging_apps_trap_fr) * [Niveaux des applications](packaging_apps_levels_fr) * [YEP - YunoHost Enhancement Proposals](packaging_apps_guidelines_fr) - * [Packages d’applications en cours de développement](/apps_in_progress_fr) * [Liste de proposition d’applications](/apps_wishlist_fr) * [Contribuer au cœur de YunoHost](/dev_fr) * [Création de paquets système](/build_system_fr) diff --git a/userdoc.md b/userdoc.md index a69a2602..06e3826b 100644 --- a/userdoc.md +++ b/userdoc.md @@ -4,13 +4,4 @@ * [User interface](user_interface) * [Configure an email client](/email) * [Instant messaging usage](/XMPP) -* [Official applications](/apps) - * [Baikal](/app_baikal_en) - * [Firefox Sync](/app_ffsync_en) - * [Tiny Tiny RSS](/app_ttrss_en) - * [Transmission](/app_transmission_en) - * [Radicale](/app_radicale) - * [RoundCube](/app_roundcube_en) - * [Wallabag v2](/app_wallabag2) -* [Community applications](/apps_in_progress_en) - * [LimeSurvey](/app_limesurvey_en) +* [Applications](/apps) diff --git a/userdoc_fr.md b/userdoc_fr.md index ab9546f9..469504c9 100644 --- a/userdoc_fr.md +++ b/userdoc_fr.md @@ -3,13 +3,4 @@ * [L’interface utilisateur](user_interface) * [La messagerie électronique (email)](/email_fr) * [La messagerie instantanée et les réseaux sociaux XMPP](/XMPP_fr) -* [Les applications officielles](/apps_fr) - * [Firefox Sync](/app_ffsync_fr) - * [Jappix](/app_jappix_fr) - * [Tiny Tiny RSS](/app_ttrss_fr) - * [Transmission](/app_transmission_fr) - * [Radicale](/app_radicale_fr) - * [RoundCube](/app_roundcube_fr) - * [Wallabag v2](/app_wallabag2_fr) -* [Applications communautaires](/apps_in_progress_fr) - * [LimeSurvey](/app_limesurvey_fr) +* [Les applications](/apps_fr) From a28421c3239daec5075bd8b431f3ce6d39645719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9veloppeur=20libre?= Date: Tue, 5 Sep 2017 23:41:22 +0200 Subject: [PATCH 09/81] Add docker community images (fr) (#543) --- docker_fr.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docker_fr.md b/docker_fr.md index f89edf58..98a85c4f 100644 --- a/docker_fr.md +++ b/docker_fr.md @@ -2,9 +2,20 @@
-Cette page n'est plus valide, YunoHost 2.4 ne marche PLUS sous Docker car -YunoHost dépend désormait de systemd et que docker a décidé qu'ils ne le -supporteraient pas (et il y a d'autres problèmes liés au firewall et aux +Yunohost ne supporte plus officiellement Docker depuis les problèmes rencontrés avec la version 2.4+. +En cause, YunoHost dépend désormait de systemd et docker a décidé qu'ils ne le +supporteraient pas nativement (et il y a d'autres problèmes liés au firewall et aux services).
+ +## Images communautaires + +Cependant il existe des images communautaires disponibles sur Docker Hub : + + * AMD64 (classique) + * https://hub.docker.com/r/domainelibre/yunohost2/ (Yunohost v2.7) + * ARMV7 (raspberry pi 2/3 ...) + * https://hub.docker.com/r/domainelibre/yunohost2-arm/ (Yunohost v2.7) + * ARMV6 (raspberry pi 1) + * https://hub.docker.com/r/tuxalex/yunohost-armv6/ From 8dcee077231fbe4dea3e28a3fff44390be1419d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9veloppeur=20libre?= Date: Tue, 5 Sep 2017 23:42:17 +0200 Subject: [PATCH 10/81] Add docker community images (en) (#544) * add community images * Fix formulation --- docker.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docker.md b/docker.md index 715fa023..00988d58 100644 --- a/docker.md +++ b/docker.md @@ -2,8 +2,20 @@
-This page isn't valid anymore, YunoHost 2.4 doesn't work anymore on Docker -because YunoHost requires systemdn and Docker has chosen to not support it (and +Yunohost doesn't support Docker officially since issues with versions 2.4+. +In question, YunoHost 2.4 doesn't work anymore on Docker +because YunoHost requires systemd and Docker has chosen to not support it natively (and there are other problems link to the firewall and services).
+ +## Community images + +However, community images exist and are available on Docker Hub : + + * AMD64 (classic) + * https://hub.docker.com/r/domainelibre/yunohost2/ (Yunohost v2.7) + * ARMV7 (raspberry pi 2/3 ...) + * https://hub.docker.com/r/domainelibre/yunohost2-arm/ (Yunohost v2.7) + * ARMV6 (raspberry pi 1) + * https://hub.docker.com/r/tuxalex/yunohost-armv6/ From ce7741bdd803ded21d8f96f1b7356240826ebed1 Mon Sep 17 00:00:00 2001 From: opi Date: Tue, 5 Sep 2017 23:44:44 +0200 Subject: [PATCH 11/81] Update build_system_fr.md (#508) --- build_system_fr.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/build_system_fr.md b/build_system_fr.md index 46067fe9..3bc34836 100644 --- a/build_system_fr.md +++ b/build_system_fr.md @@ -29,7 +29,7 @@ deb http://repo.yunohost.org/debian/ jessie stable testing unstable ## Workflow -Le but du workflow est d’éviter toute intervention manuelle (lancement d’un script, etc.) sur le serveur, et de maîtriser la gestion des paquets via GitHub uniquement. +Le but du workflow est d’éviter toute intervention manuelle (lancement d’un script, etc.) sur le serveur, et de maîtriser la gestion des paquets via GitHub uniquement. (Edit: les webhooks ne sont plus fonctionnels, il est nécessaire de lancer la création des paquets à la main) Ainsi, les dépôts de chaque paquet yunohost possèdent trois branches correspondant aux trois composants (`unstable`, `testing` et `stable`). Le serveur de build construit et déploie **automatiquement** les paquets sources et binaires Debian correspondant à l’état de ces trois branches sur GitHub. @@ -137,7 +137,7 @@ Puis passer dans la branche `unstable` et merger la branche `testing`. Un nouvea #### Publier une release testing ou stable -Pour l'instant, on passe par une release via GitHub pour déclencher le build du paquet. +Pour l'instant, on passe par une release via GitHub pour déclencher le build du paquet. (Edit: les webhooks ne sont plus fonctionnels, il est nécessaire de lancer la création des paquets à la main) Aller sur https://github.com/YunoHost/{moulinette, yunohost, yunohost-admin, ssowat}/releases/new @@ -153,6 +153,14 @@ Ex: "debian/2.4.1" Reprendre le changelog depuis `debian/changelog`. Remercier les contributeurs/traducteurs ( Pour voir le dernier commit : `git show HEAD` ) +5/ Création des paquets +Une fois connecté à `veganaise2`, il faut utiliser la commande `ynh-build` pour lancer la création des paquets. +Exemples de commandes: +```bash +ynh-build yunohost stable 2.6.5 +ynh-build moulinette testing 2.6.9 +``` + #### Paquets non YunoHost Pour les paquets « non-YunoHost » (par exemple `rspamd`) le paquet ne passe pas par le composant `unstable`, mais uniquement `testing` et `stable` une fois les tests effectués sur ce paquet. From 09999c0ae2546312b4ec1ea0ae85e939c323e59e Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 7 Sep 2017 00:54:26 +0200 Subject: [PATCH 12/81] Apps card css tweaks (#546) * Card css tweaking * Card css tweaking --- apps.md | 13 +++++++++---- apps_fr.md | 14 ++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/apps.md b/apps.md index 9d138c71..0b820a07 100644 --- a/apps.md +++ b/apps.md @@ -52,11 +52,12 @@ App card =================================================*/ .app-card { - margin-bottom:10px; + margin-bottom:20px; width:270px; float:left; min-height: 1px; margin-right: 10px; + margin-left: 10px; } /*===============================================*/ @@ -69,7 +70,7 @@ font-size:1.2em; } .app-card .category { - height:50px; + height:35px; } .app-card .category .label, .app-card-date-maintainer { font-size:0.7em; @@ -77,10 +78,14 @@ .app-card-date-maintainer { text-align:right; max-height: 18px; + margin-bottom: 3px; + margin-right: 7px; + margin-top: -5px; } .app-card-desc { height:100px; + overflow: hidden; } /*===============================================*/ @@ -102,6 +107,7 @@ border-right:0; border-top-right-radius:0; margin-left: 0px; + width: 33.6%; } /*===============================================*/ @@ -114,12 +120,11 @@
{app_description}
+
{app_update} - {app_maintainer}
-
-
Code Doc diff --git a/apps_fr.md b/apps_fr.md index 17415ec6..cf28d5eb 100644 --- a/apps_fr.md +++ b/apps_fr.md @@ -52,11 +52,12 @@ App card =================================================*/ .app-card { - margin-bottom:10px; + margin-bottom:20px; width:270px; float:left; min-height: 1px; margin-right: 10px; + margin-left: 10px; } /*===============================================*/ @@ -69,7 +70,7 @@ font-size:1.2em; } .app-card .category { - height:50px; + height:35px; } .app-card .category .label, .app-card-date-maintainer { font-size:0.7em; @@ -77,10 +78,14 @@ .app-card-date-maintainer { text-align:right; max-height: 18px; + margin-bottom: 3px; + margin-right: 7px; + margin-top: -5px; } .app-card-desc { height:100px; + overflow: hidden; } /*===============================================*/ @@ -102,6 +107,7 @@ border-right:0; border-top-right-radius:0; margin-left: 0px; + width: 33.6%; } /*===============================================*/ @@ -114,12 +120,12 @@
{app_description}
+
+
{app_update} - {app_maintainer}
-
-
Code Doc From 8bf3ef85ab052b901f13d7b9585817dbf00009e8 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Sun, 10 Sep 2017 15:22:05 +0200 Subject: [PATCH 13/81] Anchors shorter and more stable. (#542) --- packaging_apps_guidelines_fr.md | 156 +++++++++++++++++++++----------- 1 file changed, 104 insertions(+), 52 deletions(-) diff --git a/packaging_apps_guidelines_fr.md b/packaging_apps_guidelines_fr.md index 6dc58e56..7186320a 100644 --- a/packaging_apps_guidelines_fr.md +++ b/packaging_apps_guidelines_fr.md @@ -79,10 +79,12 @@ Chaque YEP est associée à : | YEP 4.8 | Ajouter un module à l'admin web | brouillon | manuel | OPTIONAL | -### YEP 1 - Communiquer avec la communauté +### YEP 1 +#### Communiquer avec la communauté La YEP 1 est une meta YEP, elle explique ce qu'il faut faire pour échanger avec la communauté autour d'un paquet d'application YunoHost. -#### YEP 1.1 - Nommer son app et son dépôt | validé | manuel | NOTWORKING | +#### YEP 1.1 +##### Nommer son app et son dépôt | validé | manuel | NOTWORKING | Chaque application YunoHost possède un id inscrit dans le manifeste de l'application. Cet identifiant doit être unique entre chaque paquet d'application. Il est donc recommandé de vérifier sa disponibilité en consultant la liste des applications référencées dans les dépôts d'applications connus (official, community, internetcube). @@ -100,7 +102,8 @@ Par convention, les dépôts d'applications YunoHost sont toujours nommés de le Exemple : ID : exemple Nom de dépôt : exemple_ynh -#### YEP 1.2 - Inscrire l'app sur un « répertoire » connu | validé | manuel | NOTWORKING | +#### YEP 1.2 +##### Inscrire l'app sur un « répertoire » connu | validé | manuel | NOTWORKING | Il est conseillé dès le début du packaging d'inscrire une app sur un des dépôts d'application YunoHost. Ces dépôts ont plusieurs fonctions : @@ -111,7 +114,8 @@ Ces dépôts ont plusieurs fonctions : Pour les listes `official.json` et `community.json`, l'inscription se fait sur [le dépôt git "apps"](https://github.com/YunoHost/apps). -#### YEP 1.3 - Indiquer la licence associée au paquet | brouillon | AUTO | WORKING | +#### YEP 1.3 +##### Indiquer la licence associée au paquet | brouillon | AUTO | WORKING | La licence du paquet est à indiquer dans un fichier `LICENSE` à la racine du paquet. Attention à ne pas confondre avec la licence de l'application qui va être installée dont l'acronyme est à renseigner dans le champ `license` du manifeste. Les listes d'applications official.json et community.json n'acceptent que les paquets dont la licence est libre, de même pour la licence de l'application contenue. Certaines applications libres nécessitent des dépendances non-libres (exemple: mp3, drivers, etc.). Dans ce cas, il faut ajouter `&dep-non-free` à l'acronyme et si possible donner des précisions dans le README.md du paquet, l'intégration sera dans ce cas acceptée au cas par cas. @@ -135,12 +139,15 @@ Quelques liens intéressants pour aider au choix de licence: * [La documentation sur les licences du projet GNU](https://www.gnu.org/licenses/licenses.fr.html) * [Un guide du projet GNU pour aider au choix d'une licence](https://www.gnu.org/licenses/license-recommendations.fr.html) -#### YEP 1.4 - Informer sur l'intention de maintenir un paquet | brouillon | manuel | OFFICIAL | +#### YEP 1.4 +##### Informer sur l'intention de maintenir un paquet | brouillon | manuel | OFFICIAL | Le mainteneur de l'application doit s'engager à maintenir son app sur la durée si il souhaite que celle-ci rejoigne la liste des applications officielles. Cela implique de surveiller les mises à jour de l'application upstream, de respecter les nouvelles règles de packaging et de répondre aux demandes des utilisateurs. -#### YEP 1.5 - Mettre à jour régulièrement le statut de l'app | brouillon | manuel | WORKING | -#### YEP 1.6 - Se tenir informé sur l'évolution du packaging d'apps | validé | manuel | OFFICIAL | +#### YEP 1.5 +##### Mettre à jour régulièrement le statut de l'app | brouillon | manuel | WORKING | +#### YEP 1.6 +##### Se tenir informé sur l'évolution du packaging d'apps | validé | manuel | OFFICIAL | Afin de suivre l'évolution du format de packaging ainsi que des bonnes pratiques, il est recommandé de: * s'inscrire à la liste de discussion `apps@list.yunohost.org` * suivre [la catégorie Apps packaging du forum](https://forum.yunohost.org/c/apps-packaging) @@ -150,7 +157,8 @@ Pour suivre l'évolution de YunoHost de façon plus générale : * suivre [la catégorie Annoucement du forum](https://forum.yunohost.org/c/announcement) * suivre les discussions sur contrib@list.yunohost.org -#### YEP 1.7 - Ajouter l'app à l'[organisation YunoHost-Apps](https://github.com/YunoHost-Apps) | validé | manuel | OFFICIAL | +#### YEP 1.7 +##### Ajouter l'app à l'[organisation YunoHost-Apps](https://github.com/YunoHost-Apps) | validé | manuel | OFFICIAL | L'ajout d'une app sur l'[organisation YunoHost-Apps](https://github.com/YunoHost-Apps) permet de faire connaitre l'apps auprès des autres contributeurs qui pourraient être tentés de packager l'application visée. C'est aussi un moyen pour permettre de déployer rapidement un correctif de sécurité si nécessaire dans le cas où le mainteneur ne serait pas disponible. @@ -158,7 +166,8 @@ C'est aussi un moyen pour permettre de déployer rapidement un correctif de séc Procédure de transfert : demander sur le [salon de discussion `Apps`](chat_rooms_fr) à être invité à l’organisation en lui fournissant le nom de son compte GitHub. Une fois l’invitation acceptée, [transférer son dépôt sur l’organisation en suivant ce tutoriel](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-a-repository-to-another-user-account-or-to-an-organization). -#### YEP 1.8 - Publier des demandes de test | validé | manuel | OFFICIAL | +#### YEP 1.8 +##### Publier des demandes de test | validé | manuel | OFFICIAL | Afin d'assurer le bon fonctionnement d'un paquet, il convient de publier une annonce afin d'ouvrir les tests sur le paquet. Cette annonce peut se faire sur le forum dans [la catégorie Apps du forum](https://forum.yunohost.org/c/apps). Il est recommandé d'indiquer si certains tests n'ont pas été menés. @@ -182,7 +191,8 @@ Il est recommandé d'indiquer si certains tests n'ont pas été menés. * Dossier déjà utilisé par une autre application. * Backup et restore. -#### YEP 1.9 - Documenter l'app | validé | AUTO | OFFICIAL | +#### YEP 1.9 +##### Documenter l'app | validé | AUTO | OFFICIAL | Avant tout, il convient de faire une description correcte de l'app dans le champ `description` du manifest. L'insertion de mot clé dans cette description peut être une bonne idée, dans la mesure où un utilisateur pourrait être amené à faire une recherche (CTRL+F) parmi toutes les applications. Il y a également le README.md, ce dernier doit et peut contenir : @@ -194,24 +204,31 @@ Il y a également le README.md, ce dernier doit et peut contenir : * la roadmap/TODO * éventuellement les pré-requis en termes de mémoires ram, processeur etc. (certains équipements ont moins de 512Mo de ram) -#### YEP 1.10 - Garder un historique de version propre | brouillon | manuel | OFFICIAL | -#### YEP 1.11 - Ajouter l'app au [bugtracker YunoHost](https://dev.yunohost.org) | brouillon | manuel | OFFICIAL | +#### YEP 1.10 +##### Garder un historique de version propre | brouillon | manuel | OFFICIAL | +#### YEP 1.11 +##### Ajouter l'app au [bugtracker YunoHost](https://dev.yunohost.org) | brouillon | manuel | OFFICIAL | -### YEP 2 - Stabiliser une app -#### YEP 2.1 - Respecter le format du manifeste | validé | auto | INPROGRESS | +### YEP 2 +#### Stabiliser une app +#### YEP 2.1 +##### Respecter le format du manifeste | validé | auto | INPROGRESS | Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](https://yunohost.org/#/packaging_apps_manifest). -#### YEP 2.2 - Utiliser bash pour les scripts principaux | validé | auto | WORKING | +#### YEP 2.2 +##### Utiliser bash pour les scripts principaux | validé | auto | WORKING | Les scripts d'action (install, upgrade, remove, backup et restore) doivent être en bash afin que la cli/api yunohost puisse correctement les appeler. Ceci étant, rien n'empêche à l'intérieur de ces scripts de faire appel à d'autres scripts ou bibliothèques de fonction. Ceux-ci ne sont pas obligés d'être en bash. Cependant, il faudra porter une attention particulière à l'affichage correct des logs d'information, de warning, ou d'erreurs. Afin qu'un utilisateur de la cli/api yunohost puisse comprendre le fonctionnement du script venant d'être exécuté et au besoin réparer son instance YunoHost. -#### YEP 2.3 - Sauvegarder les réponses lors de l'installation | validé | manuel | WORKING | +#### YEP 2.3 +##### Sauvegarder les réponses lors de l'installation | validé | manuel | WORKING | Lors de l'installation, il est nécessaire de sauvegarder chaque réponse aux questions du manifeste. En effet, même si au début il n'est pas nécessaire d'écrire un script de mise à jour, par la suite ce sera sans doute le cas. Or, sans les informations initiales, la mise à jour peut être plus fastidieuse. -#### YEP 2.4 - Détecter et gérer les erreurs | brouillon | manuel | WORKING | +#### YEP 2.4 +##### Détecter et gérer les erreurs | brouillon | manuel | WORKING | Les scripts install, upgrade, backup et restore doivent détecter les erreurs pour éviter la poursuite des scripts en cas d'erreur bloquante ou d'usage de variable vide. L'usage de trap et de set -eu est recommandé pour détecter et traiter les erreurs ([Discussion en cours à ce sujet](https://forum.yunohost.org/t/gestion-des-erreurs-set-e-et-ou-trap/2249/5)) Il est nécessaire également de vérifier le contenu des variables avant les suppressions du script remove. Par exemple un `rm -Rf /var/www/$app` avec `$app` vide aurait un résultat désastreux. @@ -220,8 +237,10 @@ Au début des scripts, avant toutes modifications, il faut vérifier l'existence N'oubliez pas qu'en cas d'erreur d'installation le script de suppression sera lancé automatiquement par la cli yunohost. -#### YEP 2.5 - Copier correctement des fichiers | brouillon | manuel | WORKING | -#### YEP 2.6 - Annuler l'action si les valeurs d'entrées sont incorrectes | validé | manuel | WORKING | +#### YEP 2.5 +##### Copier correctement des fichiers | brouillon | manuel | WORKING | +#### YEP 2.6 +##### Annuler l'action si les valeurs d'entrées sont incorrectes | validé | manuel | WORKING | Chaque script devrait vérifier que les valeurs d'entrées sont correctes. Voici quelques exemples : @@ -232,53 +251,66 @@ Voici quelques exemples : Dans le cas où l'une des valeurs est incorrecte, il est alors nécessaire d'annuler toutes modifications réalisées préalablement sur l'instance. Le mieux étant de faire tous ces contrôles avant de modifier le système. -#### YEP 2.7 - Donner des permissions suffisantes aux instructions bash | validé | auto | WORKING | +#### YEP 2.7 +##### Donner des permissions suffisantes aux instructions bash | validé | auto | WORKING | Certaines instructions nécessitent les droits sudo. Il faut dans ce cas ne pas oublier de préfixer ces instructions par `sudo `. Dans d'autres cas il est nécessaire de donner des droits à l'aide de chmod et de chown. -#### YEP 2.8 - Modifier correctement une configuration système | brouillon | manuel | WORKING | +#### YEP 2.8 +##### Modifier correctement une configuration système | brouillon | manuel | WORKING | Les modifications du système doivent être réversible pour que la suppression de l'application soit sans conséquences pour le système ne laisse pas de résidus. Pour celà, il faut recourir autant que possible aux dossiers `.d` des configurations système. Où lorsqu'il n'est pas possible de faire autrement, d'indiquer clairement la configuration modifiée par une application et s'assurer que les modifications seront retirées lors de sa suppression. -#### YEP 2.9 - Enlever toutes traces de l'app lors de la suppression | brouillon | manuel | WORKING | +#### YEP 2.9 +##### Enlever toutes traces de l'app lors de la suppression | brouillon | manuel | WORKING | À l’exception de dépendances (pax exemple : paquets Debian) utilisés par d’autres services ou applications. -#### YEP 2.10 - Configurer les logs de l'application | brouillon | manuel | WORKING | +#### YEP 2.10 +##### Configurer les logs de l'application | brouillon | manuel | WORKING | Si possible, l'application doit utiliser un fichier de log, qui sera de préférence dans /var/log. Si le log est mis en place par le script install et non par l'application elle-même, un fichier de configuration pour log-rotate devra être ajouté pour gérer les rotations des logs de l'application. -#### YEP 2.11 - Utiliser une variable plutôt que l'app id directement | validé | manuel | OFFICIAL | +#### YEP 2.11 +##### Utiliser une variable plutôt que l'app id directement | validé | manuel | OFFICIAL | Il est conseillé de rendre les scripts le plus générique possible, un bon moyen d'y parvenir est d'utiliser une variable pour le nom de l'app afin d'éviter qu'il se retrouve partout dans les scripts. Ainsi, un autre packageur pourra plus facilement se servir du script pour une autre app. -#### YEP 2.12 - Utiliser les commandes pratiques (helpers) | validé | auto | OFFICIAL | +#### YEP 2.12 +##### Utiliser les commandes pratiques (helpers) | validé | auto | OFFICIAL | Afin de simplifier le packaging, d'uniformiser les pratiques, d'éviter les erreurs et d'augmenter la durée de vie d'un script vis-à-vis des futures versions de YunoHost. Un ensemble de helpers permettant de faire de nombreuses actions est proposé. Pour plus d'informations : * consulter [la documentation des helpers](https://yunohost.org/#/packaging_apps_helpers_fr) * explorer [le répertoire des helpers](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) -#### YEP 2.13 - Traduire le paquet en anglais | brouillon | manuel | OFFICIAL | -#### YEP 2.14 - Remplir correctement un fichier de conf | brouillon | manuel | OFFICIAL | +#### YEP 2.13 +##### Traduire le paquet en anglais | brouillon | manuel | OFFICIAL | +#### YEP 2.14 +##### Remplir correctement un fichier de conf | brouillon | manuel | OFFICIAL | *Juste pour éclaircir un peu cette YEP, mais ça reste à l'état de brouillon.* Le but est de trouver une méthode plus fiable que sed pour modifier les fichiers de configuration. sed pouvant éventuellement avoir des effets de bord en modifiant des parties non désirées du fichier de configuration, en particulier avec l'usage de regex. -#### YEP 2.15 - Suivre les instructions d'installation de l'application | validé | manuel | OFFICIAL | +#### YEP 2.15 +##### Suivre les instructions d'installation de l'application | validé | manuel | OFFICIAL | -#### YEP 2.16 - Vérifier la disponibilité des dépendances sur ARM, x86 et x64 | validé | manuel | OFFICIAL | +#### YEP 2.16 +##### Vérifier la disponibilité des dépendances sur ARM, x86 et x64 | validé | manuel | OFFICIAL | YunoHost s'installe sur ARM, sur x86 et x64. Un paquet devrait donc être testé sur ces trois architectures processeur. Certains paquets ne sont pas disponibles sur ARM, il convient dans ce cas d'étudier d'autres solutions ou d'indiquer dans le README.md que l'application ne fonctionne pas sur ARM et de bloquer l’installation par détection du type d’architecture. -#### YEP 2.17 - Prendre en compte la version d'origine lors des mises à jour | validé | manuel | OFFICIAL | +#### YEP 2.17 +##### Prendre en compte la version d'origine lors des mises à jour | validé | manuel | OFFICIAL | Le script de mise à jour doit pouvoir fonctionner même si les mises à jour précédentes n'ont pas été effectuées. Ainsi, il doit être possible de faire des sauts de mise à jour d'une version N-x vers une version N. Pour ce faire il est conseillé d'enregistrer les numéros de version dans les settings de l'app. -### YEP 2.18 - Stabiliser une webapp +### YEP 2.18 +##### Stabiliser une webapp La majeure partie des applications YunoHost sont des web apps, mais certaines n'en sont pas. Les YEP 2.18.x développent certaines spécificités liées aux web app. -#### YEP 2.18.1 - Lancer le script d'installation d'une webapp correctement | validé | manuel | WORKING | +#### YEP 2.18.1 +##### Lancer le script d'installation d'une webapp correctement | validé | manuel | WORKING | Bien souvent une web app s'installe à partir de formulaires affichés sur une page web. Cette façon de faire, bien que pratique pour un humain, l'est moins pour un programme. Il convient donc de vérifier si l'application ne propose pas une solution d'installation en ligne de commande. @@ -288,52 +320,65 @@ Si ce n'est pas le cas, il convient d'utiliser l'option -H de curl. En effet, da curl -kL -H "Host: $domain" --data "¶m1=Text1¶m2=text2" https://localhost$path/install.php > /dev/null 2>&1 ``` -#### YEP 2.18.2 - Gérer l'installation à la racine d’un nom de domaine | validé | auto | WORKING | +#### YEP 2.18.2 +##### Gérer l'installation à la racine d’un nom de domaine | validé | auto | WORKING | Une web app devrait pouvoir s'installer à la racine d’un nom de domaine. -#### YEP 2.18.3 - Gérer l'installation sur un sous-domaine | validé | auto | WORKING | +#### YEP 2.18.3 +##### Gérer l'installation sur un sous-domaine | validé | auto | WORKING | Une web app devraient pouvoir s'installer sur un sous-domaine directement sans sous dossiers. -#### YEP 2.18.4 - Gérer l'installation sur un chemin `/path` | validé | auto | OFFICIAL | +#### YEP 2.18.4 +##### Gérer l'installation sur un chemin `/path` | validé | auto | OFFICIAL | Une web app devraient pouvoir s'installer sur un chemin `/path`. -#### YEP 2.18.5 - Gérer la tuile YunoHost pour naviguer facilement entre les applications | validé | manuel | OFFICIAL | +#### YEP 2.18.5 +##### Gérer la tuile YunoHost pour naviguer facilement entre les applications | validé | manuel | OFFICIAL | Sauf dans de rare cas il est conseillé d'intégrer la tuile YunoHost qui permet de retourner sur le menu du SSO. Cette intégration se fait dans la configuration nginx. Certains utilisateurs ont remplacé ce carré par un script ajoutant un menu en haut de chaque webapp. -### YEP 3 - Sécuriser une app -#### YEP 3.1 - Ne pas demander ou stocker de mot de passe LDAP | brouillon | manuel | NOTWORKING | -#### YEP 3.2 - Ouvrir un port correctement | brouillon | manuel | WORKING | +### YEP 3 +#### Sécuriser une app +#### YEP 3.1 +##### Ne pas demander ou stocker de mot de passe LDAP | brouillon | manuel | NOTWORKING | +#### YEP 3.2 +##### Ouvrir un port correctement | brouillon | manuel | WORKING | Si l'application nécessite l'ouverture d'un port, il est nécessaire de vérifier préalablement que ce port n'est pas déjà utilisé par une autre application. Le cas échéant, le script install doit être capable de trouver un autre port disponible. Il convient également de vérifier si le port doit être ouvert sur le routeur, au delà du réseau local. Si ce n'est pas le cas, l'argument `--no-upnp` doit être ajouté à la commande `yunohost firewall allow` afin de limiter l'ouverture du port au réseau local uniquement. -#### YEP 3.3 - Faciliter le contrôle de l'intégrité des sources | brouillon | manuel | OFFICIAL | +#### YEP 3.3 +##### Faciliter le contrôle de l'intégrité des sources | brouillon | manuel | OFFICIAL | L'application upstream ne doit pas être intégrée en tarball dans le dossier source du package, car cela alourdit le package et le dépôt git et ne permet pas la vérification de l'intégrité de la source. La source doit donc être téléchargée depuis le site officiel, puis son intégritée doit être vérifiée avant de l'installer. -#### YEP 3.4 - Isoler l'app | brouillon | manuel | OFFICIAL | +#### YEP 3.4 +##### Isoler l'app | brouillon | manuel | OFFICIAL | Afin d'éviter des effets de bords en cas de compromission éventuelle de l'application, celle-ci doit être isolée pour de ne pas risquer d'impacter les autres applications. Pour cela, il convient d'isoler l'application dans son dossier d'exécution en restreignant son environnement par un chroot, soit par un mécanisme interne à l'application lorsque c'est possible (par exemple pour un serveur ftp), soit par l'usage de phpfpm. De même, pour restreindre la portée de l'utilisateur exécutant l'application, il est préférable d'utiliser un utilisateur dédiée à l'application. Dont les droits sont restreint à l'usage de l'application uniquement. Toutefois, cela ne doit pas exempter d'une restriction maximale des droits sur les fichiers de l'application. Autant que possible, les fichiers doivent appartenir à root, et l'utilisateur dédié ne doit avoir de droits d'écriture que sur les fichiers le réclamant expressément. -#### YEP 3.5 - Suivre les recommandations de la documentation de l'app | validé | manuel | OFFICIAL | +#### YEP 3.5 +##### Suivre les recommandations de la documentation de l'app | validé | manuel | OFFICIAL | En général, une application propose une documentation afin d'aider les administrateurs systèmes à réaliser l'installation. Il est conseiller d'en suivre les recommandations, notamment celles concernant les permissions à accorder par fichier ou répertoire. Le mainteneur de paquet doit toutefois rester vigilant, certaines documentations pouvant être erronées ou insuffisante. -#### YEP 3.6 - Mettre à jour les versions contenant des CVE | draft | manuel | OFFICIAL | +#### YEP 3.6 +##### Mettre à jour les versions contenant des CVE | draft | manuel | OFFICIAL | Les [CVE](https://fr.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures), ou Common Vulnerabilities and Exposures, recensent les failles de sécurités communes aux applications. Les corrections de ces failles peuvent concerner l'application et il est important dans ce cas de suivre au plus près ces mises à jour. Plus généralement, l'application peut proposer un correctif pour une faille spécifique à elle-même. De manière générale, cette YEP implique de suivre un canal d'information pour suivre les mises à jour de sécurité de l'application et réagir rapidement en mettant à jour le package en conséquence. Comme précisé dans la YEP 1.7, si un correctif de sécurité doit être déployé en urgence, un autre membre de YunoHost peut être amené à faire un commit sur le package si nécessaire. -### YEP 4 - Intégrer une app +### YEP 4 +#### Intégrer une app Cette meta YEP traite de l'intégration d'une app avec l'environnement YunoHost. Une bonne intégration est en général un gage de qualité et de confort pour les utilisateurs. -#### YEP 4.2 - Lier l'authentification au sso | validé | manuel | OFFICIAL | +#### YEP 4.2 +##### Lier l'authentification au sso | validé | manuel | OFFICIAL | Le Single Sign On permet d'éviter d'avoir à créer les mêmes utilisateurs pour chaque app. Ainsi, un utilisateur YunoHost pourra se connecter via le Single Sign On à l'ensemble des apps. Pour se faire, il convient de lier son app au LDAP et/ou d'utiliser des hooks pour dupliquer les identifiants du compte dans la base de données de l'app. @@ -342,16 +387,20 @@ Une fois cette opération appliquée, le mainteneur peut utiliser l'instruction Au besoin, SSOwat permet de sécuriser l'accès à une ou plusieurs parties de l'app. Il peut ainsi être pertinent de sécuriser l'accès à une page d'administration avec le SSO plutôt qu'un `.htaccess` et de rendre le reste de l'app accessible à tous les visiteurs. -#### YEP 4.2.1 - Déconnexion | validé | manuel | OFFICIAL | +#### YEP 4.2.1 +##### Déconnexion | validé | manuel | OFFICIAL | Lorsque l'on clique sur une action de déconnexion au sein de l'app, celle-ci devrait déconnecter l'utilisateur du SSO. Sinon, il y a un risque que l'utilisateur laisse par mégarde une session ouverte. -#### YEP 4.3 - Fournir un script de sauvegarde YunoHost fonctionnel | validé | auto | OFFICIAL | +#### YEP 4.3 +##### Fournir un script de sauvegarde YunoHost fonctionnel | validé | auto | OFFICIAL | L'application doit disposer d'un script backup pour permettre aux utilisateurs de sauvegarder l'application, sa configuration et ses données. -#### YEP 4.4 - Fournir un script de restauration YunoHost fonctionnel | validé | auto | OFFICIAL | +#### YEP 4.4 +##### Fournir un script de restauration YunoHost fonctionnel | validé | auto | OFFICIAL | L'application doit disposer d'un script restore pour permettre aux utilisateurs de restaurer une application sauvegardée préalablement avec le script backup. -#### YEP 4.5 - Utiliser les hooks | validé | manuel | OPTIONAL | +#### YEP 4.5 +##### Utiliser les hooks | validé | manuel | OPTIONAL | YunoHost offre la possibilité de lancer des actions à chaque traitement effectué par la ligne de commande. Ceci peut être pratique dans de nombreux cas. Exemples : @@ -377,15 +426,18 @@ Liste des hooks : Ces scripts sont à placer dans un répertoire `hooks` comme dans ce paquet : https://github.com/YunoHost-Apps/owncloud_ynh/tree/master/hooks . -#### YEP 4.6 - Gèrer le multi-instance | validé | manuel | OPTIONAL | +#### YEP 4.6 +##### Gèrer le multi-instance | validé | manuel | OPTIONAL | Il est parfois pratique de pouvoir installer plusieurs fois une même app. Par exemple, pour plusieurs noms de domaine différents. Il faut toutefois faire attention à la façon de gérer les chemins de fichier, les dépendances, les ports utilisés etc. de sorte qu'il n'y ait pas de collision. -#### YEP 4.7 - Ajouter un module à la CLI | validé | manuel | OPTIONAL | +#### YEP 4.7 +##### Ajouter un module à la CLI | validé | manuel | OPTIONAL | Il est possible de créer un module afin d'ajouter des commandes à la ligne de commandes yunohost. Pour ce faire, il faut ajouter un actionmaps dans `/usr/share/moulinette/actionsmap/`. Cet actionmaps doit commencer par `ynh_`. Les paquets [menu_ynh](https://github.com/YunoHost-Apps/menu_ynh/) et [subscribe_ynh](https://github.com/YunoHost-Apps/subscribe_ynh/) bien qu’anciens (et non à jour) peuvent servir de base pour mettre en place ce genre de module. -#### YEP 4.8 - Ajouter un module à l'admin web | brouillon | manuel | OPTIONAL | +#### YEP 4.8 +##### Ajouter un module à l'admin web | brouillon | manuel | OPTIONAL | From 8e012c9bda8a3b2a4d5efaf273e8e1c52d686658 Mon Sep 17 00:00:00 2001 From: JimboJoe Date: Sun, 10 Sep 2017 15:24:30 +0200 Subject: [PATCH 14/81] Add Piwigo documentation (#547) --- app_piwigo.md | 32 ++++++++++++++++++++++++++++++++ app_piwigo_fr.md | 30 ++++++++++++++++++++++++++++++ images/images.list | 1 + images/piwigo.png | Bin 0 -> 6957 bytes 4 files changed, 63 insertions(+) create mode 100644 app_piwigo.md create mode 100644 app_piwigo_fr.md create mode 100644 images/piwigo.png diff --git a/app_piwigo.md b/app_piwigo.md new file mode 100644 index 00000000..0ed09045 --- /dev/null +++ b/app_piwigo.md @@ -0,0 +1,32 @@ +## + + + + +[Piwigo](http://piwigo.org) is a photo gallery software for the web, built by an active community of users and developers. + +Extensions make Piwigo easily customizable. Icing on the cake, Piwigo is free and opensource. + +[![Install Piwigo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) + +![](http://piwigo.org/screenshots/homepage/piwigo-batch-manager.png) + +## Features + +In addition to Piwigo [core features](http://piwigo.org/basics/features), the following are made available with +this package: + + * Integrate with YunoHost users and SSO: + * private mode: limit access to Yunohost users + * public mode: + * SSO for YunoHost users + * allow other users management, and guest mode + * Allow one YunoHost user to be the administrator (set at the installation) + + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/piwigo_ynh/issues + * Piwigo website: http://piwigo.org/ + + diff --git a/app_piwigo_fr.md b/app_piwigo_fr.md new file mode 100644 index 00000000..ada13e24 --- /dev/null +++ b/app_piwigo_fr.md @@ -0,0 +1,30 @@ +## + + + + +[Piwigo](http://piwigo.org) est un logiciel de galerie photo pour le web, bâti par une communauté active d'utilisateurs et de développeurs. + +Les extensions rendent Piwigo facilement personnalisable. Cerise sur le gâteau, Piwigo est libre et gratuit. + +[![Installer Piwigo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) + +![](http://piwigo.org/screenshots/homepage/piwigo-batch-manager.png) + +## Fonctionnalités + +En plus des [fonctionnalités principales](Piwigo) de Piwigo, ce paquet propose également: + + * une intégration avec le système de gestion des utilisateurs et le SSO de Yunohost : + * installation privée : limitée aux utilisateurs de YunoHost + * installation publique : + * SSO pour les utilisateurs YunoHost + * permet de gérer l'accès à d'autres utilisateurs, et mode invité possible + * de permettre à un utilisateur d'être administrateur (réglage lors de l'installation) + +## Liens + + * Rapport de bug: https://github.com/YunoHost-Apps/piwigo_ynh/issues + * Site web Piwigo : http://piwigo.org/ + + diff --git a/images/images.list b/images/images.list index aa1424e8..4289c16b 100644 --- a/images/images.list +++ b/images/images.list @@ -39,6 +39,7 @@ OVH1_domain_select.png OVH2_domain_DNS.png OVH3_zoneDNS.png Pidgin-add-acount.png +piwigo.png postinstall_cli.png postinstall_error.png postinstall_web.png diff --git a/images/piwigo.png b/images/piwigo.png new file mode 100644 index 0000000000000000000000000000000000000000..94c048de12dc48c92a32ba124482a7816111ba29 GIT binary patch literal 6957 zcmbU`byQT})`X}G(k&vx&}Az)(X=H%LjBfHb0Xr-UFSF?4rGD<$DK zzW4jR?|W;#_5S$oTKCR5=k7jx&pvzKNDVc4e86J>1_lPcqJoST1_mYtdaUsf3;opA zA6`WNP$OkuAhjK>kRE0(a15xWqd6R?=wN0I*Mgf_dO3fEi(z13TiNQoK)z5_5wUP| z;4=FI!{zDVgvQ3e5R>$DGPAIQBZ1~{Yg>dk=%}Rw1hlmj2R-Lkg{V47!)YiJ z8bE1B7dVig3&Lpu5r6;%xVgA_`2+<8Ie-PAhe|aRKdYXRrOzl5w3q33T-m5rX>UcT9!CG)vM>iJ>^nO?|{EdvZ-G68F2M{fdh`Ng{dQ;5oWgIQs z9N-9~qKr5Q{f5iZ)>4FxnShHwi?%l(b3h;T)kAuQm3^R-3u{R>z4zv7BW zyTHwmjxIWmj`n|hfQF4D($Uq%(FrK6%@0&Hv#>?{ng7|Ie`+fOcd>PcTgtgOIspG+ zUlH5?z+YNeh*v;bKma1g0}&AVqc=oI2)!gD&CAcjFUte^3)k}hV>2*X81NtG_&?6_ z_Y&Fz{|x`-`sm5Of(MR3M~n+PG+JLk9565_jTB{|I-Ya;MtCoDC*PTX-m*%Js+@=i zVQziL4z8{^4mDAxrUrwUlLr`og3I4{dT;i`(BmV+tgQV?{^6Qy+L^(@#W5VHM3YjJ+!6~$y-p({6b6Nebs8f=Co!?mIqPwl!c(QXG{apH?>Yis+_u;F}Tt5_|2z@$k6tovWSV9VwVpf7MuAIUv0FK&w8S|b4;rJihRX2MfosK&>PS;IjSAgTM&)MiAa!?A@MsBj>rYUWScb=kcmRM51>DlI5oJMw8BGE8I1Nh@L)Di> zN``ZB+8uB2+uP5-vMCGg^LA)+>L_j}B2)ABZuY$QC32wCHL|M<=6unJA9J>N&lA3S z|DJ?@E6H7(->tXm@NX}daQ(6Ex%!ebm<+)oX%DPc-E>8t1kWX>Upm0b=VH-=#`y=u zO0w!c(M~q$SRT1Q*PYp1t?fsHy3-8_$=^4wI?>PGE#&F`Xr2+6T%umVridg90=Y<6 zW~hN30(8zpDUAc#Fc@C)wW2v+PS7kJvN%}Biten^woKcRX*Knamp-(Na0X7cBvt~B zG#=KoWr0SXa5n>qZHV&s@MCkgILs@nHC?llZz~GoaRSuzq~}T6$0YFwbK)UWg6a64 zVdA54ZnWhR$}%FFJxcB7#penD>eabAJ1t{uB9Q;+7jg;;?*mowq^_rT*}LR~IJPwDLEInD=XnN{g^<>TW-MS!>QglViE#ymLrGEXz8nF3z+=mf4u zOScKpD;n0Ad9+_15sN9ls4^ya4432?EM+c0IjhA;qiwq@7e|9cDyP;Yh z-fdA{S}N?c(m8G7@B4FS%*6jzH&)Zs+Ki` zSz{qIaql`(I^L=ue;b3^_Wm6ewGY?XTY+Q+-i{v+Vp8{3yK4-p%tPzfY}Uue#~X2@ z42CiVzxmQVy77WHnD^qwnV;=VQi6?9#`7PZSFEh8JbV7BBx#(U=51o4$?KEe%F4F{$35sI#KKHX3x zv-o{?Ydw;c7abiH<#%(^hl58UBO`+>byLgx{&C1G3=XYsDx-&ad}cuxd&6r#=W3})HS_#nUVdIvQ&Vzw<@9M?T^)K)ankN{ zODEnNkuq6q^&$m0tagPer*b(=e=_c^IuW*?mELz(4bbk#vtwDggB)7rFp;h8}$Lc;AVm_zD1)DP( zE{ft;y(-K)Yydp$pu8aScN;!eS68)TXl0aB7v4aFLvmi9Dt7qYq8H@k3FssqS$y;B zUFVGn!^0_}mtQY>$&5GDBwl6)m>E3?raZ$<=QjUVPR(ig<-|rq%E{N44obhj*mCjH z7C!mSYBS_L{xcHeWWANd? zQ})!bpM()T;!;K)3dsXU+I5RhaVoS#t&S!@NoW3HM^HDyf${PK7eSx{2a@AvETveN?hjK0$T0mFmJTQIY7<#e(bu2d8Os+|wtMwzA5giS{}v_@N>#`| z#j=+CUZzZLxGZP|vw9_#^|pCE8TnD@geUosALemwy&4@IZQK2fJwn6Ku*Ghgi|^j* z>gv#xh0p#Bcep}WK|CE?nSZZOpW_9Jb53W3bx*$Jy@Zwbk5Rse$p#|%Hpw|x!6B+; zziUpv>+^#TiP7;b1@Unpz#1MAE--dviU3SR%~YgSnv0P>`U!9|+OHY>U0YjQS6h#> zhkSn0M`LqyGv$~6(E3n1@2KqSf~@X{$#Ze0&>P!9;RzN4_}Wk;i8c<(TM%8(n5RSE z1_fbF_K>psTUixFneOiHT8TGr(YLx51zvXBGX#uei}r;x>paKH*=z=L#D{)#_G8r& zY~6Ax3!<8HPhlt8nu!cxCXS}G3$79|ujgK*5EC)e5FnH7o-8aYD{B{xs4{Fo2s^!a zMZauE|Is3!W<)Pt?gpsN6h?t%7Msm37N3%0#fDo3@%@Fg%U49qZC`md29zkvBG=_^ zr!}5Pbdb-uhCe=N(5s7$nK2N>!=)+))av5tu41N!QNJ!O&heYeHqd!K`uq6U=@V;f z?C9ty+Ltm>|*b7uaDa-(pQ0bMp+q~#rcdA+Hrwuz1xYM;*XK1 zgZg_0_yh!p3r#hL`#Rrxj5?ny-QMKp%T<}V&aSHNU$-*L(D≠3||2 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 T2lD982P{QdHJMK^)1dzW`H$9d literal 0 HcmV?d00001 From 90677b1ca366a534035013ceddb2dca615ed69c3 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Mon, 11 Sep 2017 13:33:55 +0200 Subject: [PATCH 15/81] Add MotionEye As asked by Orion2036, https://github.com/YunoHost/apps/pull/330/files --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index bb307eae..4d2849a0 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -97,6 +97,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) +- [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) - [NetData](https://github.com/firehol/netdata) - [Nibbleblog](http://www.nibbleblog.com) From 187d38b5ca001285491951cfea20c388c8906cef Mon Sep 17 00:00:00 2001 From: Yunobot Date: Thu, 14 Sep 2017 07:55:05 +0000 Subject: [PATCH 16/81] Added HackMD --- apps_wishlist.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 4d2849a0..c306772f 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -57,6 +57,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Goploader](https://github.com/Depado/goploader) - [Guacamole](http://guac-dev.org) - [h5ai](http://larsjung.de/h5ai) +- [HackMD](https://hackmd.io) - [Hackpad](https://github.com/dropbox/hackpad) - [Headphones](https://github.com/rembo10/headphones) - [Hi Buddy](http://hibuddy.monkeypatch.me) @@ -97,7 +98,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) -- [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) - [NetData](https://github.com/firehol/netdata) - [Nibbleblog](http://www.nibbleblog.com) @@ -161,4 +161,4 @@ The following list is a compiled wishlist of applications that would be nice-to- - [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL) - [ZeroTier](https://github.com/zerotier/ZeroTierOne) - [Zone-project](https://github.com/descl/ZONE) -- [ZNC](http://wiki.znc.in/ZNC) +- [ZNC](http://wiki.znc.in/ZNC) \ No newline at end of file From 90aa54efc09a7da31b4908f60e965d0eda408311 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Thu, 14 Sep 2017 12:56:11 +0200 Subject: [PATCH 17/81] Fix commit --- apps_wishlist.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index c306772f..b9b74e81 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -98,6 +98,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) +- [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) - [NetData](https://github.com/firehol/netdata) - [Nibbleblog](http://www.nibbleblog.com) @@ -161,4 +162,4 @@ The following list is a compiled wishlist of applications that would be nice-to- - [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL) - [ZeroTier](https://github.com/zerotier/ZeroTierOne) - [Zone-project](https://github.com/descl/ZONE) -- [ZNC](http://wiki.znc.in/ZNC) \ No newline at end of file +- [ZNC](http://wiki.znc.in/ZNC) From fd892fcc83689eb99a1a84142a7475c5d5cf4da8 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 14 Sep 2017 16:52:38 +0000 Subject: [PATCH 18/81] Update default page instructions about change proposal --- default.md | 4 ++-- default_fr.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/default.md b/default.md index 03140a4b..d8eebdbb 100644 --- a/default.md +++ b/default.md @@ -2,10 +2,10 @@ This page is not created yet, you can edit it by pressing `````` on your keyboard or by clicking the "edit" button on the bottom-right side of your screen. You will be able to preview your changes by pressing `````` again or by clicking the "preview" button. -** Note: ** If you don't have any account you will have to send the modifications manually. +** Note: ** You will need to provide an email adress to validate your submission. ###Syntax This page use the markdown syntax, please refer to the documentation for further informations: -http://daringfireball.net/projects/markdown/syntax \ No newline at end of file +http://daringfireball.net/projects/markdown/syntax diff --git a/default_fr.md b/default_fr.md index 4c8158a0..75c46aa3 100644 --- a/default_fr.md +++ b/default_fr.md @@ -2,7 +2,7 @@ Cette page n’existe pas encore, vous pouvez l’éditer en appuyant sur la touche ```<Échap>``` de votre clavier, ou en cliquant sur le bouton "Éditer" en bas à droite de votre écran. Vous pourrez avoir un aperçu de vos changements en appuyant à nouveau sur la touche ```<Échap>``` ou en cliquant sur le bouton "Aperçu". -** Note : ** Si vous n’avez pas de compte vous devrez envoyer vos modifications manuellement. +** Note : ** Vous aurez besoin d'une adresse email pour valider votre proposition. ### Syntaxe From e4ea5c918dfe736990fc686693cfc01478a7e9e1 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Thu, 14 Sep 2017 19:05:52 +0200 Subject: [PATCH 19/81] [Anonymous contrib] Update the link to YunoHost 2.7 (#551) * Update the link to YunoHost 2.7 * Update yunohost version on index (fr) --- index.md | 2 +- index_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 9981ad8f..8bbecc85 100644 --- a/index.md +++ b/index.md @@ -44,7 +44,7 @@
diff --git a/index_fr.md b/index_fr.md index 01a3da99..c7b2c87e 100644 --- a/index_fr.md +++ b/index_fr.md @@ -40,7 +40,7 @@
From 000f918fef6ff494afa4751c945515ff511fd05e Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Wed, 20 Sep 2017 09:22:23 +0200 Subject: [PATCH 20/81] [enh] List variable for hooks and script to manage apps (#538) * [enh] List variable for hooks and script to manage apps * Ajoute un lien sur pour les variables --- packaging_apps_hooks_fr.md | 16 ++++- packaging_apps_scripts.md | 109 ++++++++++++++++++----------------- packaging_apps_scripts_fr.md | 108 +++++++++++++++++----------------- 3 files changed, 128 insertions(+), 105 deletions(-) diff --git a/packaging_apps_hooks_fr.md b/packaging_apps_hooks_fr.md index 2ca12a7b..0ff4fd75 100644 --- a/packaging_apps_hooks_fr.md +++ b/packaging_apps_hooks_fr.md @@ -26,6 +26,14 @@ Après l'ajout d'un utilisateur autorisé sur une application. Après la suppression de l'autorisation d'un utilisateur sur une application. - `post_app_clearaccess` Après l'effacement de toute les règles d'accès sur une application. +- `post_app_install` +Après l'installation d'une application +- `post_app_upgrade` +Après l'upgrade d'une applications +- `post_app_remove` +Après la supression d'une applications +- `post_app_change_url` +Après avoir modifié le chemin et ou le nom de domaine d'une application - `conf_regen` Avant et après la régénération de la configuration d'un service. Services pris en charge par regen-conf: @@ -84,7 +92,6 @@ password=$3 # Clear password firstname=$4 lastname=$5 ``` - ##### `post_user_delete` ```bash @@ -105,6 +112,13 @@ ipv6=$2 # True/False Indique si l'IPV6 est activé ou non. backup_name=$1 ``` +##### `post_app_install`, `post_app_upgrade`, `post_app_remove` et `post_app_change_url` + +Les variables utilisables dans ces scripts sont les mêmes que celles disponibles dans [les scripts d'actions associés](/packaging_apps_scripts_fr). + + +Example: pour `post_app_install` les variables sont les mêmes que pour le script `install` + ##### `post_app_addaccess` et `post_app_removeaccess` ```bash diff --git a/packaging_apps_scripts.md b/packaging_apps_scripts.md index 17ee5194..3db089a5 100644 --- a/packaging_apps_scripts.md +++ b/packaging_apps_scripts.md @@ -2,60 +2,65 @@ ## Scripts -For now, a YunoHost package must contain five Shell scripts: `install`, `remove`, `upgrade`, `backup` and `restore`. -These scripts will be executed as `admin` on the YunoHost instances. +For now, a YunoHost package must contain five Shell scripts: `install`, `remove`, `upgrade`, `backup` and `restore`. A 6th script `change_url` can also be added optionally. +These scripts will be executed as `root` on the YunoHost instances. -Here is an example: -```bash -# Retrieve arguments -domain=$1 -path=$2 - -# Check domain/path availability -sudo yunohost app checkurl $domain$path -a roundcube -if [[ ! $? -eq 0 ]]; then - exit 1 -fi - -# Generate random DES key & password -deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') -db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') - -# Use 'roundcube' as database name and user -db_user=roundcube - -# Initialize database and store mysql password for upgrade -sudo yunohost app initdb $db_user -p $db_pwd -s $(readlink -e ../sources/SQL/mysql.initial.sql) -sudo yunohost app setting roundcube mysqlpwd -v $db_pwd - -# Copy files to the right place -final_path=/var/www/roundcube -sudo mkdir -p $final_path -sudo cp -a ../sources/* $final_path -sudo cp ../conf/main.inc.php $final_path/config/ -sudo cp ../conf/db.inc.php $final_path/config/ -sudo mv $final_path/plugins/managesieve/config.inc.php.dist $final_path/plugins/managesieve/config.inc.php - -# Change variables in Roundcube configuration -sudo sed -i "s/rcmail-ynhDESkeyTOchange/$deskey/g" $final_path/config/main.inc.php -sudo sed -i "s/yunouser/$db_user/g" $final_path/config/db.inc.php -sudo sed -i "s/yunopass/$db_pwd/g" $final_path/config/db.inc.php -sudo sed -i "s/yunobase/$db_user/g" $final_path/config/db.inc.php - -# Set permissions to roundcube directory -sudo chown -R www-data: $final_path - -# Modify Nginx configuration file and copy it to Nginx conf directory -sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf -sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/roundcube.conf - -# Reload nginx and regenerate SSOwat conf -sudo service nginx reload -sudo yunohost app ssowatconf -``` +Examples scripts are available in the [example app](https://github.com/YunoHost/example_ynh/tree/master/scripts) ### Usage You have to put everything in the `install` script in order to get the app to install without issue. It means that you have to install dependencies, create required repositories, initialize potential databases, copy sources and configure everything in the single `install` script (and of course do the reverse process in the `remove` script). -**Be careful**: for security reasons, the script is executed as the **admin** user in YunoHost. Be sure to test it as **admin** and prepend `sudo` to commands that require it. \ No newline at end of file +It's possible to use helpers and import function library by example from a `_common.sh` file. + +### Available variables for these scripts +#### YNH_CWD +This var contains the current working directory path of the executed script. It can be useful for find out the initial path if we have move of directory during the script execution. It is used by some helpers to be sure to use the good directory. + +#### YNH_APP_ID +It contains the application's identifier without the instance's number. + +Example: strut + +#### YNH_APP_INSTANCE_NAME +It contains the instance name which will is used in a lot of situation to manage multiple setup of the same app. + +Example: strut__3 +#### YNH_APP_INSTANCE_NUMBER +It contains the instance's number. Warning, it's not the number of running instances because an old app might be deleted. + +Example: 3 + +### Specific variables to use in `install` +#### YNH_APP_ARG_XXXXXXX +An environment variable is available for each question asked in the installation. + +For example, if in the manifest we have a question like this +``` +{ + "name": "domain", + "type": "domain", + "ask": { + "en": "Choose a domain for OpenSondage", + "fr": "Choisissez un nom de domaine pour OpenSondage", + "de": "Wählen Sie bitte einen Domain für OpenSondage" + }, + "example": "domain.org" +}, +``` + +The name of the question is `domain` so in the script we can access it with YNH_APP_ARG_DOMAIN. The usage is to create a shorter name in the script like this: + +``` +domain=$YNH_APP_ARG_DOMAIN +``` + +### Variables spécifiques pour `change_url` +#### YNH_APP_OLD_DOMAIN +The old domain where the app was installed. +#### YNH_APP_OLD_PATH +The old path where the app was installed. +#### YNH_APP_NEW_DOMAIN +The new domain where move the app. +#### YNH_APP_NEW_PATH +The new path where move the app. + diff --git a/packaging_apps_scripts_fr.md b/packaging_apps_scripts_fr.md index 5cb174e0..17658af1 100644 --- a/packaging_apps_scripts_fr.md +++ b/packaging_apps_scripts_fr.md @@ -2,60 +2,64 @@ ## Les scripts -Un paquet YunoHost doit contenir cinq scripts Shell : `install`, `remove`, `upgrade`, `backup` et `restore`. -Ces scripts seront exécutés en tant qu’`admin` sur les serveurs YunoHost. +Un paquet YunoHost doit contenir cinq scripts Shell : `install`, `remove`, `upgrade`, `backup` et `restore`. Un 6ème script `change_url` peut aussi être ajouté de façon optionnelle +Ces scripts seront exécutés en tant que `root` sur les serveurs YunoHost. -Voici un exemple de script d’`install` : -```bash -# Retrieve arguments -domain=$1 -path=$2 - -# Check domain/path availability -sudo yunohost app checkurl $domain$path -a roundcube -if [[ ! $? -eq 0 ]]; then - exit 1 -fi - -# Generate random DES key & password -deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') -db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') - -# Use 'roundcube' as database name and user -db_user=roundcube - -# Initialize database and store mysql password for upgrade -sudo yunohost app initdb $db_user -p $db_pwd -s $(readlink -e ../sources/SQL/mysql.initial.sql) -sudo yunohost app setting roundcube mysqlpwd -v $db_pwd - -# Copy files to the right place -final_path=/var/www/roundcube -sudo mkdir -p $final_path -sudo cp -a ../sources/* $final_path -sudo cp ../conf/main.inc.php $final_path/config/ -sudo cp ../conf/db.inc.php $final_path/config/ -sudo mv $final_path/plugins/managesieve/config.inc.php.dist $final_path/plugins/managesieve/config.inc.php - -# Change variables in Roundcube configuration -sudo sed -i "s/rcmail-ynhDESkeyTOchange/$deskey/g" $final_path/config/main.inc.php -sudo sed -i "s/yunouser/$db_user/g" $final_path/config/db.inc.php -sudo sed -i "s/yunopass/$db_pwd/g" $final_path/config/db.inc.php -sudo sed -i "s/yunobase/$db_user/g" $final_path/config/db.inc.php - -# Set permissions to roundcube directory -sudo chown -R www-data: $final_path - -# Modify Nginx configuration file and copy it to Nginx conf directory -sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf -sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/roundcube.conf - -# Reload Nginx and regenerate SSOwat conf -sudo service nginx reload -sudo yunohost app ssowatconf -``` +Des exemples de ces scripts sont disponibles dans l'[application d'exemple](https://github.com/YunoHost/example_ynh/tree/master/scripts) ### Utilisation Vous devez tout mettre dans le script d’`install` pour que votre application soit entièrement installée. Cela signifie que vous devez installer les dépendances, créer les répertoires requis, initialiser les bases de données nécessaires, copier les sources et configurer tout dans l’unique script `install` (et bien sûr faire la procédure inverse dans le script `remove`). -**Attention** : pour des raisons de sécurité, le script est exécuté en tant qu’**admin** dans YunoHost. Assurez-vous de l’essayer en tant qu’**admin** et de préfixer `sudo` aux commandes requises. \ No newline at end of file +Il est possible d'utiliser des helpers et d'importer une librairie de fonction par exemple depuis un fichier `_common.sh`. + +### Variables disponibles pour tous ces scripts +#### YNH_CWD +Cette variable contient le chemin du répertoire de travail courant du contexte d'execution du script. Elle peut être utile pour retrouver le chemin initial si on s'est déplacé pendant l'execution du script. Elle est utilisée par certains helpers pour être sûr d'utiliser le bon. + +#### YNH_APP_ID +Contient l'identifiant de l'application sans le numéro d'instance + +Exemple: strut +#### YNH_APP_INSTANCE_NAME +Contient le nom d'instance qui sera utilisé dans de nombreuses situation pour pouvoir gérer l'installation multiple d'une même app. + +Exemple: strut__3 +#### YNH_APP_INSTANCE_NUMBER +Contient le numero de l'instance. Attention il ne s'agit pas forcément du nombre d'instance toujours installée, car une ancienne application peut avoir été désinstallée. + +Exemple: 3 + +### Variables spécifiques pour `install` +#### YNH_APP_ARG_XXXXXXX +Pour chaque question posée dans lors de l'installation une variable d'environnement est disponible. + +Par exemple, si dans le manifest nous avons une question de cette forme +``` +{ + "name": "domain", + "type": "domain", + "ask": { + "en": "Choose a domain for OpenSondage", + "fr": "Choisissez un nom de domaine pour OpenSondage", + "de": "Wählen Sie bitte einen Domain für OpenSondage" + }, + "example": "domain.org" +}, +``` + +Le nom de la question `domain` donc dans le script on peut accéder à cette variable via $YNH_APP_ARG_DOMAIN. L'usage est de créer une variable plus courte comme ceci: + +``` +domain=$YNH_APP_ARG_DOMAIN +``` + +### Variables spécifiques pour `change_url` +#### YNH_APP_OLD_DOMAIN +L'ancien domaine où était installée l'app. +#### YNH_APP_OLD_PATH +L'ancien chemin où était installée l'app; +#### YNH_APP_NEW_DOMAIN +Le nouveau domaine où doit être installée l'app. +#### YNH_APP_NEW_PATH +Le nouveau chemin où doit être installée l'app. + From c07738429493a2777c43a0ca23093e89c9c7a42c Mon Sep 17 00:00:00 2001 From: Kcchouette Date: Wed, 20 Sep 2017 09:48:06 +0200 Subject: [PATCH 21/81] change link of ttrss --- app_ttrss.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app_ttrss.md b/app_ttrss.md index f93d08a4..8ccedfa0 100644 --- a/app_ttrss.md +++ b/app_ttrss.md @@ -1,4 +1,4 @@ -#Tiny Tiny RSS +# Tiny Tiny RSS Tiny Tiny RSS is a news feed reader using RSS and atom protocols. @@ -10,11 +10,11 @@ In order to do so, go to Actions -> Configuration -> feed tab -> OPML section -> You can read your feeds on Android using ttrss-reader application: -**[ttrss-reader](https://f-droid.org/repository/browse/?fdfilter=rss&fdid=org.ttrssreader)** +**[ttrss-reader](https://f-droid.org/packages/org.ttrssreader/)** To use it, you need to go to Actions -> Configuration, in TTRSS web interface and select "Activate API". Then, in your android ttrss-reader, fill the TTRSS server adress: "https://yourdomain.org/ttrss", username, password (no need to use HTTP authentification). **Note** : you may need to uninstall and reinstall the TTRSS application through the Yunohost admin panel in order to be able to connect. -* [Tiny Tiny RSS Website](http://tt-rss.org/redmine/projects/tt-rss/wiki) +* [Tiny Tiny RSS Website](https://git.tt-rss.org/git/tt-rss/wiki) From 528a5d5d2125a9ae5e300f4b5dc36b7a44e24ed5 Mon Sep 17 00:00:00 2001 From: Kcchouette Date: Wed, 20 Sep 2017 09:49:22 +0200 Subject: [PATCH 22/81] =?UTF-8?q?mets=20=C3=A0=20jour=20les=20url=20de=20t?= =?UTF-8?q?trss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_ttrss_fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app_ttrss_fr.md b/app_ttrss_fr.md index 79c06fa6..be8b239c 100644 --- a/app_ttrss_fr.md +++ b/app_ttrss_fr.md @@ -1,4 +1,4 @@ -#Tiny Tiny RSS +# Tiny Tiny RSS Tiny Tiny RSS est un lecteur de flux d’actualité utilisant les protocoles RSS et atom. @@ -11,11 +11,11 @@ Pour cela, il faut aller dans Actions -> Configuration -> onglet flux -> chapitr Il est possible d’utiliser le client Android ttrss-reader pour consulter ces flux : -**[ttrss-reader](https://f-droid.org/repository/browse/?fdfilter=rss&fdid=org.ttrssreader)** +**[ttrss-reader](https://f-droid.org/packages/org.ttrssreader/)** Sur l’interface web, dans Actions -> Configuration, cochez « Activer l’accès par API » puis dans ttrss-reader sur Android, l’adresse du serveur TTRSS : « https://votredomaine.org/ttrss », nom d’utilisateur, mot de passe. (pas besoin d’utiliser l’authentification HTTP) **Note** : vous pouvez avoir besoin de désinstaller, puis réinstaller entièrement l’app ttrss via l’administration de YunoHost pour que la connexion puisse se faire. -* [Site de Tiny Tiny RSS](http://tt-rss.org/redmine/projects/tt-rss/wiki) \ No newline at end of file +* [Site de Tiny Tiny RSS](https://git.tt-rss.org/git/tt-rss/wiki) From 34e8b3b4dddef7a77fc326abde0ccf2d8a267358 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sat, 30 Sep 2017 01:51:44 +0200 Subject: [PATCH 23/81] correction d'une typo (connection au lieu de connexion) (#555) --- postinstall_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinstall_fr.md b/postinstall_fr.md index 1750f734..260ce968 100644 --- a/postinstall_fr.md +++ b/postinstall_fr.md @@ -48,7 +48,7 @@ De manière générale, c’est la **clé d’entrée à votre système**, pense ## En cas de problème -### Échec de la connection sécurisée après la **post-installation** +### Échec de la connexion sécurisée après la **post-installation** Si vous utilisez votre propre domaine et selon votre navigateur, vous pourriez vous retrouver bloqué à l'entrée de votre Yunohost tant que vous n'avez pas déployé un certificat valide. Grâce à Yunohost et [Let's Encrypt](https://letsencrypt.org/), c'est plutôt simple : exécutez simplement `yunohost domain cert-install` en ligne de commande pour émettre et installer votre certificat et _Voilà_. Rafraichissez votre navigateur et vous êtes paré. From 7d79d03f36ad6421b44fc99afe482f28a5987007 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sat, 30 Sep 2017 01:55:21 +0200 Subject: [PATCH 24/81] [Anonymous contrib] dns_resolver page is obsolete (#557) * dns_resolver page is obsolete * Update dns_resolver.md --- dns_resolver.md | 2 ++ dns_resolver_fr.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/dns_resolver.md b/dns_resolver.md index 7298f577..de33802b 100644 --- a/dns_resolver.md +++ b/dns_resolver.md @@ -1,5 +1,7 @@ # YunoHost DNS Resolver ++
This page is deprecated / obsolete. Information it contains should be updated (or should be removed).
+ ### Presentation YunoHost provide a DNS service for DNS name resolution. Usually, your server is not configured to use it, it's your ISP DNS. For instance, for the Free ISP with Freebox router the DNS resolver IP is `192.168.0.254`. diff --git a/dns_resolver_fr.md b/dns_resolver_fr.md index d396a1a0..8f9060eb 100644 --- a/dns_resolver_fr.md +++ b/dns_resolver_fr.md @@ -1,5 +1,7 @@ # Résolveur DNS de YunoHost +
Cette page est dépréciée / obsolète. Les informations présentées ont besoin d'être mise à jour (ou doivent être retirée).
+ ### Présentation YunoHost est installé avec un service DNS pour la résolution des noms de domaine. En général, votre serveur n’est pas configuré, c’est celui de votre FAI. Par exemple pour une Freebox la résolution se fait par l’adresse `192.168.0.254`. From 0b2bb4388bcd5d1bf378a7033a3677c7dbdb8360 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Fri, 29 Sep 2017 23:56:49 +0000 Subject: [PATCH 25/81] Ajout de: Geneweb et Keepass --- apps_wishlist.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index b9b74e81..f3a42f3c 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -49,6 +49,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [FoOlSlide](http://foolcode.github.io/FoOlSlide/) Open source comicbook/manga management software - [Fossil](http://www.fossil-scm.org) - [Framaslides](https://framagit.org/framasoft/framaslides/) +- [Christian] (https://geneweb.tuxfamily.org) - [GetSimple CMS](http://get-simple.info) - [Git-annex](http://git-annex.branchable.com) - [Gitit](http://gitit.net) @@ -74,6 +75,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Joomla!](https://www.joomla.org) - [JS Bin](http://jsbin.com/help/2-second-setup) - [Kaiwa](http://getkaiwa.com) +- [Christian] (http://keepass.info) - [Kin calendar](https://github.com/KinToday) - [Kinto](https://github.com/Kinto/formbuilder) - [Kiwix](http://www.kiwix.org/) Offline wikipedia From 0138a375c4acc7fae993daa5b8fae3c2d1398acc Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sat, 30 Sep 2017 02:00:16 +0200 Subject: [PATCH 26/81] [Anonymous contrib] because without these command it wasnt possible to continue (#559) * because without these command it wasnt possible to continue * Update install_manually.md --- install_manually.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install_manually.md b/install_manually.md index 0a5ef614..05b69af4 100644 --- a/install_manually.md +++ b/install_manually.md @@ -8,7 +8,8 @@ Once you have access to your server, either directly or by SSH, you can install 1. Install git ```bash -sudo apt-get install git dialog +sudo apt-get update +sudo apt-get install ca-certificates dialog git ``` 2. Clone the Yunohost install script repository From 0d059a04b0fbad2119f9f0c367872ae935ba57cf Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Sat, 30 Sep 2017 22:56:52 +0200 Subject: [PATCH 27/81] Update apps_wishlist.md --- apps_wishlist.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index f3a42f3c..983ab988 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -49,7 +49,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [FoOlSlide](http://foolcode.github.io/FoOlSlide/) Open source comicbook/manga management software - [Fossil](http://www.fossil-scm.org) - [Framaslides](https://framagit.org/framasoft/framaslides/) -- [Christian] (https://geneweb.tuxfamily.org) +- [Geneweb](https://geneweb.tuxfamily.org) - [GetSimple CMS](http://get-simple.info) - [Git-annex](http://git-annex.branchable.com) - [Gitit](http://gitit.net) @@ -75,7 +75,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Joomla!](https://www.joomla.org) - [JS Bin](http://jsbin.com/help/2-second-setup) - [Kaiwa](http://getkaiwa.com) -- [Christian] (http://keepass.info) +- [Keepass](http://keepass.info) - [Kin calendar](https://github.com/KinToday) - [Kinto](https://github.com/Kinto/formbuilder) - [Kiwix](http://www.kiwix.org/) Offline wikipedia From ec0decaece9d3c2c5d7ac79b85a0ddb8a3807681 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Thu, 5 Oct 2017 15:06:15 +0000 Subject: [PATCH 28/81] =?UTF-8?q?Pr=C3=A9cisions=20sur=20les=20modalit?= =?UTF-8?q?=C3=A9s=20d'ouverture=20des=20ports=2023,=2080,=20443=20che?= =?UTF-8?q?z=20Proximus.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- isp_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/isp_fr.md b/isp_fr.md index e840aa5d..09255994 100644 --- a/isp_fr.md +++ b/isp_fr.md @@ -33,4 +33,4 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu | **Proximus** | BBox2 | oui (activé) | oui | **non** | **non** | **non** | | | BBox3 | oui (activé) | oui | **non** | **non** | **non** | | **Scarlet** | BBox2 | oui (activé) | oui | **non** | **non** | **non** | -**Proximus** ne serait pas ouvert à l’auto-hébergement. L’ouverture des ports serait plus difficile afin d’éviter tout SPAM. Il serait préférable de passer par [Neutrinet](http://neutrinet.be), un des [membres de la Fédération French Data Network](http://www.ffdn.org/fr/membres). +**Proximus** ne serait pas ouvert à l’auto-hébergement. L’ouverture des ports serait plus difficile afin d’éviter tout SPAM. Il serait préférable de passer par [Neutrinet](http://neutrinet.be), un des [membres de la Fédération French Data Network](http://www.ffdn.org/fr/membres). Les ports 23, 80 et 443 sont fermés par le fournisseur par défaut, ils peuvent être débloqués à la demande (via le compte en ligne MyProximus) sur le site de Proximus. From 0c508cf715023d0965f824f39c8a54d45c22d5cd Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 22:55:32 +0200 Subject: [PATCH 29/81] Remove Lstu packae as it's already packaged (by me ;) ) (#563) --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 983ab988..888c040a 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -92,7 +92,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Logstalgia](http://logstalgia.io) - [Loomio](https://www.loomio.org) - [The Lounge](https://thelounge.github.io), cf. https://github.com/Kloadut/shout_ynh/issues/4 -- [LSTU](https://github.com/ldidry/lstu) - [MaidSafe](http://maidsafe.net) - [Mailpile](https://www.mailpile.is) - [MatterMost](https://github.com/mattermost/platform) From 9ae5edf8ab901e1c10a511f7469afadcffcde507 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:20:54 +0200 Subject: [PATCH 30/81] Remove Inbox (dead link) (#564) --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 888c040a..38aed901 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -67,7 +67,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Icecast 2](http://www.icecast.org) - [ikiwiki](http://ikiwiki.info) - [img.bi](https://img.bi) -- [Inbox](https://www.inboxapp.com) - [InfCloud](https://www.inf-it.com/open-source/clients/infcloud) - [InvoicePlane](https://invoiceplane.com) - [IPFS](https://ipfs.io) From f04c07bd15c8923ed91db76aabe1ea1ec39d0425 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:21:06 +0200 Subject: [PATCH 31/81] =?UTF-8?q?Remove=20WID=20(dead=20link)=20+=20app=20?= =?UTF-8?q?non=20trouv=C3=A9e.=20(#565)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 38aed901..07bb72cf 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -155,7 +155,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [WebODF](http://webodf.org) - [webSync](http://furier.github.io/websync) - [WebTorrent](https://github.com/feross/webtorrent) -- [WID](https://wid.chorem.com/site/home) - [Wisemapping](http://www.wisemapping.com) - [Xonotic](http://xonotic.org) - [YellowCMS](http://datenstrom.se/yellow) From 3c8631c4e40adec4a9a7947b919233f1e23ee1f7 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:21:19 +0200 Subject: [PATCH 32/81] Merci :-) (#560) --- packaging_apps_guidelines.md | 442 +++++++++++++++++++++++++++++++++++ 1 file changed, 442 insertions(+) create mode 100644 packaging_apps_guidelines.md diff --git a/packaging_apps_guidelines.md b/packaging_apps_guidelines.md new file mode 100644 index 00000000..1637a560 --- /dev/null +++ b/packaging_apps_guidelines.md @@ -0,0 +1,442 @@ +# Packing Applications : Good Practise Guidelines + +
+ +This page is under development. As long as this warning is not removed. Consider this information as potentially false. +The name YEP is not a priori definitive, neither the levels nor the good practices in itself. + +
+ +### Introduction +The purpose of this document is to list the various best practices concerning the creation of YunoHost application packages. + +Each good practice is numbered with a number suffixed by the letters YEP (YunoHost Enhancement Proposals), so that it can be easily referenced in the ([package checker](https://github.com/YunoHost/package_check) and [package linter](https://github.com/YunoHost/package_linter)) tools, but also during the reviews of code. + +Each YEP is associated with: +* a status indicating whether the rule has been validated or is still under discussion (draft, validated, refused, obsolete); +* an indication of the type of test to be carried out (manual or auto if an automatic tool can verify); +* an indication of the app level from which the rule is required (NOTWORKING, INPROGRESS, WORKING, OFFICIAL), some rules are optional; + +### YEP Index +| ID | Title | Status | Test | Level | +| ---- | -------- | -------- | ------ | -------- | +| ** YEP 1 ** | ** Communicate with the community ** | | | | +| YEP 1.1 | App name and deposit | validated | manual | NOTWORKING (0) | +| YEP 1.2 | Register the app on a known "directory" | validated | manual | NOTWORKING (0) | +| YEP 1.3 | Indicate the license associated with the package | validated | AUTO | WORKING (5) | +| YEP 1.4 | Inform about intention to maintain package | draft | manual | OFFICIAL (6) | +| YEP 1.5 | Regularly update app status | draft | manual | WORKING (2) | +| YEP 1.6 | Keeping up-to-date on the evolution of apps packaging | validated | manual | OFFICIAL (6) | +| YEP 1.7 | Add the app to the [YunoHost-Apps Organization](https://github.com/YunoHost-Apps) | validated | manual | OFFICIAL (6) | +| YEP 1.8 | Publish test requests | validated | manual | OFFICIAL (6) | +| YEP 1.9 | Document the app | validated | AUTO | OFFICIAL (6) | +| YEP 1.10 | Keep a clean version history | draft | manual | OFFICIAL (6) | +| YEP 1.11 | Add app to [YunoHost bugtracker](https://dev.yunohost.org) | draft | manual | OFFICIAL (NA) | +| | | | | | +| ** YEP 2 ** | ** Stabilize an app ** | ** Status ** | ** Test ** | ** Level ** | +| YEP 2.1 | Respect the manifest format | validated | Home | INPROGRESS (5) | +| YEP 2.2 | Using bash for main scripts | validated | Home | WORKING (1) | +| YEP 2.3 | Save replies during installation | validated | manual | WORKING (3) | +| YEP 2.4 | Detect and manage errors | draft | manual | WORKING (8) | +| YEP 2.5 | Copy files correctly | draft | manual | WORKING (1) | +| YEP 2.6 | Cancel action if input values ​​are incorrect | validated | manual | WORKING (7) | +| YEP 2.7 | Give sufficient permissions to bash | validated | Home | WORKING (1) | +| YEP 2.8 | Correctly Changing a System Configuration | draft | manual | WORKING (8) | +| YEP 2.9 | Remove all traces of the app when deleting | draft | manual | WORKING (6) | +| YEP 2.10 | Configure application logs | draft | manual | WORKING (9) | +| YEP 2.11 | Use a variable rather than the id app directly | validated | manual | OFFICIAL (9) | +| YEP 2.12 | Using Helpers | validated | Home | OFFICIAL (5) | +| YEP 2.13 | Translate the package in English | draft | manual | OFFICIAL (9) | +| YEP 2.14 | Fill a conf file correctly | draft | manual | OFFICIAL (9) | +| YEP 2.15 | Follow the instructions for installing the application | validated | manual | OFFICIAL (1) | +| YEP 2.16 | Check availability of dependencies on ARM, x86 and x64 | validated | manual | OFFICIAL (8) | +| YEP 2.17 | Take the original version into account when updating | validated | manual | OFFICIAL (9) | +| | | | | | +| ** YEP 2.18 ** | ** Stabilize a webapp ** | ** Status ** | ** Test ** | ** Level ** | +| YEP 2.18.1 | Launch the script to install a webapp correctly | validated | manual | WORKING (5) | +| YEP 2.18.2 | Manage installation at the root of a domain name | validated | Home | WORKING (2) | +| YEP 2.18.3 | Manage installation on a subdomain | validated | Home | WORKING (2) | +| YEP 2.18.4 | Manage installation on a path `/path` | validated | Home | OFFICIAL (2) | +| YEP 2.18.5 | Manage the YunoHost tile for easy navigation between applications | validated | manual | OFFICIAL (8) | +| | | | | | +| ** YEP 3 ** | ** Secure an app ** | ** Status ** | ** Test ** | ** Level ** | +| YEP 3.1 | Do not ask or store LDAP password | draft | manual | NOTWORKING (?) | +| YEP 3.2 | Open a port correctly | draft | manual | WORKING (7) | +| YEP 3.3 | Facilitating Source Integrity Control | draft | manual | OFFICIAL (6) | +| YEP 3.4 | Isolate app | draft | manual | OFFICIAL (8) | +| YEP 3.5 | Follow the recommendations of the app's documentation | validated | manual | OFFICIAL (6) | +| YEP 3.6 | Update versions containing CVE | draft | manual | OFFICIAL (6) | +| | | | | | +| ** YEP 4 ** | ** Integrate an app ** | ** Status ** | ** Test ** | ** Level ** | +| 4.1 | Link to ldap | validated | manual | OFFICIAL (4) | +| YEP 4.2 | Link authentication to sso | validated | manual | OFFICIAL (4) | +| YEP 4.2.1 | Sign Out | validated | manual | OFFICIAL (9) | +| YEP 4.3 | Provide YunoHost Backup Script Functional | validated | Home | OFFICIAL (6) | +| YEP 4.4 | Provide a YunoHost Restore Functional script | validated | Home | OFFICIAL (6) | +| YEP 4.5 | Using Hooks | validated | manual | OPTIONAL (8) | +| YEP 4.6 | Manage multi-instance | validated | manual | OPTIONAL (2) | +| YEP 4.7 | Add a module to the CLI | validated | manual | OPTIONAL | +| YEP 4.8 | Add a module to the web admin | draft | manual | OPTIONAL | + +### YEP 1 +#### Communicating with the community +The YEP 1 is a meta YEP, it explains what it takes to interact with the community around a YunoHost application package. + +#### YEP 1.1 +##### App name and deposit | validated | manual | NOTWORKING | +Each YunoHost application has an id registered in the application manifest. +This identifier must be unique between each application packet. +It is therefore recommended to verify its availability by consulting the list of applications referenced in the known applications repositories (official, community, internetcube). + +In addition, the identifier must respect the regular expression `^[a-z1-9]((_|-)?[A-z1-9])+$`. +In other words, it must respect the following rules: +* be in lowercase +* start with a letter or number +* be alphanumeric (the underscore is allowed) +* do not contain two underscores or dashes that follow one another +* do not end with an underscore or dash + +For application names containing spaces, virtually all current packages simply remove them without replacing them with dashes or underscores. + +By convention, the YunoHost application repositories are always named their ID followed by the string "\ _ynh". Thus one can distinguish the upstream repository of the application, the deposit of the yunohost package. This notation also makes it possible to find applications not listed by the search engines of platforms offering version managers (GitHub for example). + +Example: ID: Example Filing Name: example_ynh + +#### YEP 1.2 +##### Register the app on a known "directory" | validated | manual | NOTWORKING | +It is advised from the beginning of the packaging to register an app on one of the YunoHost application depots. + +These deposits have several functions: +* communicate the existence of a package; +* indicate the latest version associated with the package (to allow the update of the app by YunoHost); +* indicate the state of operation of the packet; +* indicate information about the support of a package. + +For the `official.json` and` community.json` lists, registration is on [the git apps repository](https://github.com/YunoHost/apps). + +#### YEP 1.3 +##### Indicate the license associated with the package | draft | AUTO | WORKING | +The license of the packet must be specified in a `LICENSE` file at the root of the packet. Be careful not to confuse with the license of the application that will be installed whose acronym is to be entered in the `license` field of the manifest. + +The application lists official.json and community.json only accept packages with a free license, as well as the license for the contained application. Some free applications require non-free dependencies (example: mp3, drivers, etc.). In this case, you should add `&dep-non-free` to the acronym and if possible give details in the README.md of the package, in this case the integration will be accepted on a case-by-case basis. + +In the future, YunoHost will probably display details about the license of the application. To achieve this, the acronym must be the one from this [list of licenses listed in the SPDX](https://spdx.org/licenses/) (if there are 2 acronyms, the one containing the version number). For consistency, the case must be respected. + +If the license is not present in the list, in this case it is necessary to indicate `free` or `non-free` depending on whether it is free or not and give the user the opportunity to inquire in the README .md (link, explanations, ...). + +Example: for a GNU Lesser General Public License (LGPL), version 3 the acronym is `LGPL-3.0` if non-free dependencies are used in this case it will be necessary to put LGPL-3.0 & dep-non-free `in the manifesto. + +If an application has modules linked to another license (Example: Odoo 9 LGPL-3.0 + a module licensed AGPL-3.0), in this case we will indicate the two licenses separated by a `&`. + +If two separate applications are in the same installation package and have separate licenses, in this case we can use `,` to separate the licenses. + +In both cases, the maintainer is encouraged to consider creating two separate packages. The manifest of each application is used to ask app-type questions to refer to another application already installed. + +Reminder: a question of type `app` answers the identifier of one of the apps already installed. + +Some interesting links to help with the choice of license: +* [Explanatory sheets on free licenses](https://www.inria.fr/content/download/5896/48452/version/2/file/INRIA_recueil_fiches_licences_libres_vf.pdf) +* [GNU project licensing documentation](https://www.gnu.org/licenses/licenses.html) +* [A Guide to the GNU Project to Help Choose a License](https://www.gnu.org/licenses/license-recommendations.en.html) + +#### YEP 1.4 +##### Inform about intention to maintain package | draft | manual | OFFICIAL | +The maintainer of the application must undertake to maintain its app over time if he wishes it to join the list of official applications. +This involves monitoring updates to the upstream application, adhering to the new packaging rules and responding to user requests. + +#### YEP 1.5 +##### Regularly update app status | draft | manual | WORKING | +#### YEP 1.6 +##### Keeping up-to-date on the evolution of apps packaging | validated | manual | OFFICIAL | +In order to keep up with the evolution of the packaging format and best practices, it is recommended to: +* subscribe to the discussion list `apps @ list.yunohost.org` +* follow [the forum's Apps category](https://forum.yunohost.org/c/apps-packaging) + +To follow the evolution of YunoHost more generally: +* join XMPP dev@conference.yunohost.org ([three days of logs are available](https://im.yunohost.org/logs/dev/)) +* follow [Annoucement category of the forum](https://forum.yunohost.org/c/announcement) +* follow discussions on contrib@list.yunohost.org + +#### YEP 1.7 +##### Add the app to the [YunoHost-Apps Organization](https://github.com/YunoHost-Apps) | validated | manual | OFFICIAL | +Adding an app to the [YunoHost-Apps organization](https://github.com/YunoHost-Apps) lets you share apps with other contributors who might be tempted to package the targeted application . + +It is also a way to quickly deploy a security patch if necessary in the event that the maintainer is unavailable. + +Transfer Procedure: Ask the [chat room](chat_rooms_en) to be invited to the organization by providing the name of their GitHub account. +Once the invitation is accepted, [transfer its deposit to the organization by following this tutorial](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/# Transferring-a-repository-to-another-user-account-or-to-an-organization). + +#### YEP 1.8 +##### Publish test requests | validated | manual | OFFICIAL | +In order to ensure the proper functioning of a package, it is necessary to publish an announcement in order to open the tests on the package. This announcement can be done on the forum in [Forum Apps category](https://forum.yunohost.org/c/apps). + +It is recommended to indicate if some tests have not been conducted. + +* Check package with Package linter. +* Installation in subfolder. +* Installation at the root of a domain or subdomain. +* Deletion, in the 2 cases of previous installations. +* Access to the web interface of the application, with the / final in the address, and omitting it. +* Upgrade on the same version of the package. +* Upgrade from an older version of the package. +* Private installation (secured by SSO). +* Public installation. +* Multi-instance installation. +* User name error. +* Domain name error. +* Poorly written path (path / instead of / path for example). +* Port already used by another application. +* Source corrupted after download. +* Error downloading source. +* Folder already used by another application. +* Backup and restore. + +#### YEP 1.9 +##### Document the app | validated | AUTO | OFFICIAL | +Above all, it is appropriate to make a correct description of the app in the `description` field of the manifest. Keyword insertion in this description can be a good idea, as a user might be required to search (CTRL + F) among all applications. + +There is also README.md, which must and can contain: +* the name of the app +* a brief summary of what it does +* any additional installation if the script is not sufficient +* instructions to use it (for example to connect your smartphone or computer) +* the location to report a malfunction / request +* the roadmap / TODO +* possibly prerequisites in terms of ram memories, processor etc. (some equipment has less than 512MB of ram) + +#### YEP 1.10 +##### Keep a clean version history | draft | manual | OFFICIAL | +#### YEP 1.11 +##### Add app to [YunoHost bugtracker](https://dev.yunohost.org) | draft | manual | OFFICIAL | + +### YEP 2 +#### Stabilize an app +#### YEP 2.1 +##### Respect the manifest format | validated | Home | INPROGRESS | +The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](https://yunohost.org/#/packaging_apps_manifest). + +#### YEP 2.2 +##### Using bash for main scripts | validated | Home | WORKING | +Action scripts (install, upgrade, remove, backup and restore) must be in the bash so that the cli / api yunohost can call them correctly. + +That being said, there is nothing to prevent other scripts or function libraries from using these scripts. These are not obliged to be in bash. + +However, careful attention must be paid to the correct display of logs of information, warning, or errors. So that a user of the cli / api yunohost can understand the operation of the script just executed and if necessary repair its YunoHost instance. + +#### YEP 2.3 +##### Save the answers during the installation | validated | manual | WORKING | +During installation, it is necessary to save each answer to the questions in the manifest. Indeed, even if at the beginning it is not necessary to write an update script, thereafter it will probably be the case. However, without the initial information, the update can be more tedious. + +#### YEP 2.4 +##### Detecting and Managing Errors | draft | manual | WORKING | +The install, upgrade, backup, and restore scripts must detect errors to avoid further scripting in case of blocking error or empty variable usage. +The use of trap and set -eu is recommended to detect and treat errors ([Discussion in progress](https://forum.yunohost.org/t/gestion-des-erreurs-set-e-and-or-trap/2249/5)) +It is also necessary to check the contents of the variables before removing the remove script. For example, an `rm -Rf /var/www/$app` with `$app` empty would have a disastrous result. + +At the beginning of the scripts, before any modifications, it is necessary to check the existence of the users mentioned at the installation, as well as the availability of the requested path, the availability of the final file of the application and the size of the passwords if necessary . + + Do not forget that in case of installation error the removal script will be launched automatically by the yunohost cli. + +#### YEP 2.5 +##### Copy files correctly | draft | manual | WORKING | +#### YEP 2.6 +##### Cancel action if input values ​​are incorrect | validated | manual | WORKING | +Each script should verify that the input values ​​are correct. + +Here are some examples : +* Check that the domain name exists +* Check that the user exists +* Check that the chosen path is available + +If one of the values ​​is incorrect, it is necessary to cancel any modifications made previously to the instance. The best thing is to do all these checks before changing the system. + +#### YEP 2.7 +##### Give sufficient permissions to bash | validated | Home | WORKING | +Some instructions require sudo rights. In this case, do not forget to prefix these instructions with `sudo`. + +In other cases it is necessary to give rights using chmod and chown. + +#### YEP 2.8 +##### Correctly changing a system configuration | draft | manual | WORKING | +Changes to the system must be reversible so that the removal of the application is of no consequence to the system leaves no residue. +For this purpose, the `.d` folders of the system configurations must be used as much as possible. Where it is not possible to do otherwise, clearly indicate the configuration as modified by an application and ensure that the changes will be removed when it is removed. + +#### YEP 2.9 +##### Remove all traces of the app when deleting | draft | manual | WORKING | +Except for dependencies (eg, Debian packages) used by other services or applications. + +#### YEP 2.10 +##### Configure application logs | draft | manual | WORKING | +If possible, the application should use a log file, which will preferably be in /var/log. +If the log is set up by the install script and not by the application itself, a log-rotate configuration file will have to be added to handle the logs of the application. + +#### YEP 2.11 +##### Using a variable rather than the app id directly | validated | manual | OFFICIAL | +It is advisable to make the scripts as generic as possible, a good way to do this is to use a variable for the app's name to avoid it being found everywhere in scripts. This will make it easier for another package builder to use the script for another app. + +#### YEP 2.12 +##### Using Helpers | validated | Home | OFFICIAL | +In order to simplify packaging, standardize practices, avoid errors and increase the lifetime of a script vis-à-vis future versions of YunoHost. A set of helpers to do many actions is proposed. + +For more information : +* consult [helpers documentation](https://yunohost.org/#/packaging_apps_helpers) +* explore [helpers directory](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) + +#### YEP 2.13 +##### Translate the package in English | draft | manual | OFFICIAL | +#### YEP 2.14 +##### Fill a conf file correctly | draft | manual | OFFICIAL | +* Just to clear up a little this YEP, but it remains in draft form. * +The goal is to find a more reliable method than sed to modify the configuration files. sed can possibly have edge effects by modifying unwanted parts of the configuration file, especially with the use of regex. + +#### YEP 2.15 +##### Follow the instructions for installing the application | validated | manual | OFFICIAL | + +#### YEP 2.16 +##### Check availability of dependencies on ARM, x86, and x64 | validated | manual | OFFICIAL | +YunoHost installs on ARM, x86 and x64. A package should therefore be tested on these three processor architectures. + +Some packages are not available on ARM, in this case it is advisable to study other solutions or to indicate in the README.md that the application does not work on ARM and to block the installation by detection of type d 'architecture. + +#### YEP 2.17 +##### Take the original version into account when updating | validated | manual | OFFICIAL | +The update script must be able to run even if the previous updates have not been performed. + +For example, it should be possible to perform update jumps from an N-x version to an N version. To do this, it is advisable to save the version numbers in the app settings. + +### YEP 2.18 +##### Stabilizing a webapp +The majority of YunoHost applications are web apps, but some are not. The YEP 2.18.x develop certain specificities related to the web app. + +#### YEP 2.18.1 +##### Launch the script to install a webapp correctly | validated | manual | WORKING | +Often a web app installs itself from forms displayed on a web page. This practice, while practical for a human, is less so for a program. + +It is therefore necessary to check if the application does not propose a solution of installation on command line. + +If this is not the case, the -H option of curl should be used. In some cases, DNS redirection may not be active at the time of installation. +`` `Bash +curl -kL -H "Host: $domain" --data "¶m1=Text1¶m2=text2" https: //localhost$path/install.php > /dev/null 2>&1 +`` ` + +#### YEP 2.18.2 +##### Manage installation at the root of a domain name | validated | Home | WORKING | +A web app should be able to install itself at the root of a domain name. + +#### YEP 2.18.3 +##### Manage installation on a subdomain | validated | Home | WORKING | +A web app should be able to install itself on a subdomain directly without subfolders. + +#### YEP 2.18.4 +##### Manage installation on a path `/path` | validated | Home | OFFICIAL | +A web app should be able to install on a path `/path`. + +#### YEP 2.18.5 +##### Manage the YunoHost tile to easily navigate between applications | validated | manual | OFFICIAL | +Except in rare cases it is advisable to integrate the tile YunoHost which allows to return to the menu of the SSO. This integration is done in the nginx configuration. + +Some users have replaced this square with a script adding a menu at the top of each webapp. + +### YEP 3 +#### Securing an app +#### YEP 3.1 +##### Do not ask or store LDAP password | draft | manual | NOTWORKING | +#### YEP 3.2 +##### Open a port correctly | draft | manual | WORKING | +If the application requires the opening of a port, it is necessary to check beforehand that this port is not already used by another application. If so, the install script must be able to find another available port. +It should also be checked whether the port should be open on the router, beyond the local network. If this is not the case, the `--no-upnp` argument must be added to the` yunohost firewall allow` command in order to limit the port opening to the LAN only. + +#### YEP 3.3 +##### Facilitating Source Integrity Control | draft | manual | OFFICIAL | +The upstream application should not be integrated into tarball in the source folder of the package, as this adds to the package and the git repository and does not allow verification of the integrity of the source. +The source must be downloaded from the official website, then its integrity must be checked before installing it. + +#### YEP 3.4 +##### Isolate app | draft | manual | OFFICIAL | +In order to avoid edges in case of possible compromise of the application, it must be insulated in order not to affect the other applications. +To do this, it is necessary to isolate the application in its execution folder by restricting its environment by a chroot, either by a mechanism internal to the application where possible (for example for an ftp server), or by the use of phpfpm. +Similarly, to restrict the scope of the user running the application, it is preferable to use a user dedicated to the application. Whose rights are restricted to the use of the application only. +However, this should not exempt from a maximum restriction of rights on application files. As much as possible, the files must belong to root, and the dedicated user must have write rights only on files that specifically request it. + +#### YEP 3.5 +##### Follow the recommendations in the app's documentation | validated | manual | OFFICIAL | +Typically, an application provides documentation to help system administrators perform the installation. It is advisable to follow the recommendations, including the permissions to be granted per file or directory. + +However, the package maintainer must remain vigilant, some documentation may be erroneous or insufficient. + +#### YEP 3.6 +##### Update versions with CVE | draft | manual | OFFICIAL | +The [CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures), or Common Vulnerabilities and Exposures, identify security vulnerabilities common to applications. The corrections of these flaws may concern the application and it is important in this case to follow these updates as closely as possible. +More generally, the application can propose a patch for a specific vulnerability to itself. +Generally, this YEP involves tracking an information channel to track application security updates and reacting quickly by updating the package accordingly. + +As specified in YEP 1.7, if a security patch is to be deployed urgently, another YunoHost member may be required to commit to the package if necessary. + +### YEP 4 +#### Embedding an app +This meta YEP deals with the integration of an app with the YunoHost environment. Good integration is generally a guarantee of quality and comfort for users. + +#### YEP 4.2 +##### Linking Authentication to sso | validated | manual | OFFICIAL | +The Single Sign On makes it possible to avoid having to create the same users for each app. Thus, a YunoHost user can connect via the Single Sign On to all the apps. + +To do this, you must link your app to the LDAP and / or use hooks to duplicate the account credentials in the app's database. + +Once this is done, the maintainer can use the REMOTE_USER HTTP statement to check whether a user is logged on or not. In general, modules exist (whether at the level of the technology, the framework or even the app itself). + +If required, SSOwat can be used to secure access to one or more parts of the app. It may be relevant to secure access to an administration page with the SSO rather than a `.htaccess` and make the rest of the app accessible to all visitors. + +#### YEP 4.2.1 +##### Logout | validated | manual | OFFICIAL | +When you click on a disconnect action within the app, it should disconnect the user from the SSO. Otherwise, there is a risk that the user will inadvertently leave an open session. + +#### YEP 4.3 +##### Provide YunoHost Backup Script Functional | validated | Home | OFFICIAL | +The application must have a backup script to allow users to back up the application, its configuration, and its data. + +#### YEP 4.4 +##### Provide a functional YunoHost restoration script | validated | Home | OFFICIAL | +The application must have a restore script to allow users to restore an application previously backed up with the backup script. + +#### YEP 4.5 +##### Using Hooks | validated | manual | OPTIONAL | +YunoHost offers the possibility to launch actions with each processing carried out by the command line. This can be practical in many cases. + +Examples: +* Add / delete a user in the app database when using `yunohost user create` or` yunohost user remove` +* Manage the addition of a new domain name during the `yunohost domain add` action +* Run a script after the firewall has been reloaded + +List of hooks: +* post_domain_add +* post_domain_remove +* post_user_create +* post_user_delete +* post_backup_create +* post_backup_restore +* pre_backup_delete +* post_backup_delete +* post_app_addaccess +* post_app_removeaccess +* post_app_clearaccess +* post_app_addaccess +* post_iptable_rules + +These scripts are to be placed in a `hooks` directory as in this package: https://github.com/YunoHost-Apps/owncloud_ynh/tree/master/hooks. + + +#### YEP 4.6 +##### Manage multi-instance | validated | manual | OPTIONAL | +It is sometimes practical to be able to install the same app several times. For example, for several different domain names. + +However, be careful about how to handle file paths, dependencies, ports used, etc. so that there is no collision. + +#### YEP 4.7 +##### Add a module to the CLI | validated | manual | OPTIONAL | +You can create a module to add commands to the yunohost command line. + +To do this, you need to add an actionmaps to `/usr/share/moulinette/actionsmap/`. This actionmaps must start with `ynh_`. + +The packages [menu_ynh](https://github.com/YunoHost-Apps/menu_ynh/) and [subscribe_ynh](https://github.com/YunoHost-Apps/subscribe_ynh/) are old (and not up to date) can be used as the basis for this type of module. +#### YEP 4.8 +##### Add a module to the web admin | draft | manual | OPTIONAL | \ No newline at end of file From 1a19977351467e2fc4d311c5b346f05c0c81725b Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:24:52 +0200 Subject: [PATCH 33/81] Weblate already packaged (#567) --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 07bb72cf..87e7a72d 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -150,7 +150,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Unvis](https://github.com/phixofor/unvis.it) - [Unsee](https://github.com/unsee-cc) - [Vaultier](http://www.vaultier.org) -- [Weblate](http://weblate.org) - [Webmpc](https://github.com/ushis/webmpc) - [WebODF](http://webodf.org) - [webSync](http://furier.github.io/websync) From 72ab0ec461460d1a7b729d75228d6c659dfffa9b Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:25:45 +0200 Subject: [PATCH 34/81] I just fixed an erroneous hyperlink (#568) --- certmanager.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/certmanager.md b/certmanager.md index 99872bb3..70ce239f 100644 --- a/certmanager.md +++ b/certmanager.md @@ -15,7 +15,7 @@ command line with `yunohost domain cert-status`, `cert-install` and Your server needs to be reachable from the rest of Internet on port 80 (and 443), and make your `domain.tld` points to your server's public IP in your DNS -configuration. See [this documentation](hdiagnostic) if you need help. +configuration. See [this documentation](diagnostic_en) if you need help. #### Will my certificate be automatically be renewed ? From 7d93a5851593781a5d221d7f8fbdbababadae042 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:29:37 +0200 Subject: [PATCH 35/81] Change name & place for SIP softwares list. (#570) --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 87e7a72d..2a567122 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -9,6 +9,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [List of awesome selfhosted apps](https://github.com/Kickball/awesome-selfhosted) - [List of awesome sysadmin apps](https://github.com/kahun/awesome-sysadmin) - [List of awesome Node.js projects](https://github.com/sqreen/awesome-nodejs-projects) +- [List of SIP softwares/applications](https://en.wikipedia.org/wiki/List_of_SIP_software#Free_and_open-source_license) - [10er10](https://github.com/dready92/10er10) - [Airtime](https://www.sourcefabric.org/en/airtime/) - [Ajenti](http://ajenti.org) @@ -134,7 +135,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [ShareLatex](https://www.sharelatex.com) - [Shleuder](http://schleuder2.nadir.org) - [Simone](https://github.com/Kloadut/Simone) -- [SIP](https://en.wikipedia.org/wiki/List_of_SIP_software#Free_and_open-source_license) - [Sonarr](https://sonarr.tv) - [Stackedit](https://stackedit.io) - [StandardNotes](https://standardnotes.org) (a clean, simple, E2E-encrypted notes app) -- specifically, the server-side [StandardFile](https://standardfile.org) portion. From 605b5ecb3a6216c2c5d538031859c0226daa6a99 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:44:09 +0200 Subject: [PATCH 36/81] deprecated link (#571) --- apps_wishlist.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 2a567122..77f83cc2 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -14,7 +14,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Airtime](https://www.sourcefabric.org/en/airtime/) - [Ajenti](http://ajenti.org) - [Autoblog](https://github.com/mitsukarenai/Projet-Autoblog) -- [Auth0 SSO Dashboard](https://github.com/auth0/auth0-sso-dashboard) +- [Auth0 SSO Dashboard](https://github.com/auth0-extensions/auth0-sso-dashboard-extension) - [Blynk](https://github.com/blynkkk/blynk-library) - [Bolt](http://bolt.cm) - [Browsepass](http://techualization.blogspot.de/2013/09/introducing-browsepass-keepass-on-web.html) @@ -31,7 +31,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Converse.js](https://conversejs.org) - [Coquelicot](https://coquelicot.potager.org) – [package](https://github.com/M5oul/coquelicot_ynh) - [Cronkeep](https://github.com/cronkeep/cronkeep) -- [CronWeb](https://github.com/fisherinnovation/CronWeb) - [Croodle](https://github.com/jelhan/croodle) Schedule a date or to do a poll on a general topics, with client-side encryption. - [CumulusClips](http://cumulusclips.org) - [Darkwire.io](https://github.com/seripap/darkwire.io) From 3e5920354eb83612a20788c8101d1dccc65b4c45 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Mon, 9 Oct 2017 23:55:11 +0200 Subject: [PATCH 37/81] =?UTF-8?q?deprecated=20link=20+=20application=20non?= =?UTF-8?q?=20=C3=A0=20jour=20+=20site=20qui=20poss=C3=A8de=20un=20certifi?= =?UTF-8?q?cat=20qui=20a=20expir=C3=A9=20le=2016/09/16.=20(#572)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 77f83cc2..3898e63f 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -42,7 +42,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Emby](https://emby.media) - [Emoncms](https://github.com/emoncms/emoncms) - [ERPnext](https://erpnext.com/download) -- [Ethersheet](https://ethersheet.org) +- [Ethersheet](https://github.com/ethersheet-collective/EtherSheet) - [Fail2web](https://github.com/Sean-Der/fail2web) - [Ferment](https://github.com/mmckegg/ferment) - [FileTea](https://filetea.me) From 4380df5b87a0ed5a1ae02724eff913f346e6c0fe Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 10 Oct 2017 00:14:09 +0200 Subject: [PATCH 38/81] =?UTF-8?q?deprecated=20link=20+=20application=20non?= =?UTF-8?q?=20=C3=A0=20jour=20depuis=202015=20+=20site=20en=20panne=20(=3F?= =?UTF-8?q?)=20(#573)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 3898e63f..d43d6045 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -61,7 +61,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [HackMD](https://hackmd.io) - [Hackpad](https://github.com/dropbox/hackpad) - [Headphones](https://github.com/rembo10/headphones) -- [Hi Buddy](http://hibuddy.monkeypatch.me) +- [Hi Buddy](https://github.com/tOkeshu/hibuddy) - [Huginn](https://github.com/cantino/huginn) - [Hugo](http://gohugo.io) - [Icecast 2](http://www.icecast.org) From 380586981f7561f731d0bb9c2cf8c1179c2a9b7b Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 10 Oct 2017 00:14:17 +0200 Subject: [PATCH 39/81] =?UTF-8?q?deprecated=20link=20+=20application=20non?= =?UTF-8?q?=20=C3=A0=20jour=20depuis=202016=20+=20site=20en=20panne=20(=3F?= =?UTF-8?q?)=20(#574)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index d43d6045..58048f6d 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -66,7 +66,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Hugo](http://gohugo.io) - [Icecast 2](http://www.icecast.org) - [ikiwiki](http://ikiwiki.info) -- [img.bi](https://img.bi) +- [img.bi](https://github.com/imgbi/img.bi) - [InfCloud](https://www.inf-it.com/open-source/clients/infcloud) - [InvoicePlane](https://invoiceplane.com) - [IPFS](https://ipfs.io) From af9ff48a2fa11b6911055df8a0039ffb15c52edf Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 10 Oct 2017 00:14:44 +0200 Subject: [PATCH 40/81] already packaged https://github.com/Yunohost-Apps/jeedom_ynh (#575) --- apps_wishlist.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 58048f6d..4a4af322 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -70,7 +70,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [InfCloud](https://www.inf-it.com/open-source/clients/infcloud) - [InvoicePlane](https://invoiceplane.com) - [IPFS](https://ipfs.io) -- [Jeedom](http://www.jeedom.fr) – [package](https://github.com/lunarok/jeedom_ynh) - [Joomla!](https://www.joomla.org) - [JS Bin](http://jsbin.com/help/2-second-setup) - [Kaiwa](http://getkaiwa.com) From 51c2283b548b802ef9cb476fddab99d55f58ce9a Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 10 Oct 2017 00:29:47 +0200 Subject: [PATCH 41/81] [enh] Application already packaged (#576) --- apps_wishlist.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 4a4af322..e23096fc 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -25,8 +25,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [cgit](http://git.zx2c4.com/cgit/about) - [CheckUp](https://sourcegraph.github.io/checkup) - [CiviCRM](https://civicrm.org) -- [Collabora Online](https://www.collaboraoffice.com/code/) -- [Collabora Online server](https://nextcloud.com/collaboraonline/) (to be able to use Collabora inside Nextcloud) - [Commafeed](https://github.com/Athou/commafeed) - [Converse.js](https://conversejs.org) - [Coquelicot](https://coquelicot.potager.org) – [package](https://github.com/M5oul/coquelicot_ynh) @@ -70,7 +68,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [InfCloud](https://www.inf-it.com/open-source/clients/infcloud) - [InvoicePlane](https://invoiceplane.com) - [IPFS](https://ipfs.io) -- [Joomla!](https://www.joomla.org) - [JS Bin](http://jsbin.com/help/2-second-setup) - [Kaiwa](http://getkaiwa.com) - [Keepass](http://keepass.info) @@ -92,16 +89,13 @@ The following list is a compiled wishlist of applications that would be nice-to- - [The Lounge](https://thelounge.github.io), cf. https://github.com/Kloadut/shout_ynh/issues/4 - [MaidSafe](http://maidsafe.net) - [Mailpile](https://www.mailpile.is) -- [MatterMost](https://github.com/mattermost/platform) - [MediaCrush](https://imgrush.com) - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) - [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) -- [NetData](https://github.com/firehol/netdata) - [Nibbleblog](http://www.nibbleblog.com) -- [NodeBB](https://nodebb.org) - [Nuage](https://nuage.kerjean.me/login) - [ONLYOFFICE](http://onlyoffice.org) - [ONLYOFFICE Document Server](http://helpcenter.onlyoffice.com/server/linux/document/linux-installation.aspx) (to be able to use ONLYOFFICE inside Nextcloud) From 00b0f20c594a3a21a4903b07484885048ac9c3b5 Mon Sep 17 00:00:00 2001 From: Rafi59 Date: Sat, 14 Oct 2017 12:13:58 +0200 Subject: [PATCH 42/81] [fix] Missing # in docs url (#580) --- apps_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_fr.md b/apps_fr.md index cf28d5eb..04769916 100644 --- a/apps_fr.md +++ b/apps_fr.md @@ -128,7 +128,7 @@
From abd23c154f192e719e5533421c39455817410d6a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 15 Oct 2017 22:36:18 +0200 Subject: [PATCH 43/81] Delete regenerate_certificate.md, outdated... --- regenerate_certificate.md | 47 --------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 regenerate_certificate.md diff --git a/regenerate_certificate.md b/regenerate_certificate.md deleted file mode 100644 index 44577685..00000000 --- a/regenerate_certificate.md +++ /dev/null @@ -1,47 +0,0 @@ -# Regenerate certificate - -If you want to generate again -- not renewing -- a certificate for a domain, you can follow those steps: - -(replace **example.org** with your domain) - -```bash -# Save YunoHost's SSL directory location for readability -ssldir=/usr/share/yunohost/yunohost-config/ssl/yunoCA - -# Save the final SSL path (do not forget to change your domain) -finalpath=/etc/yunohost/certs/example.org - -# Save the serial number of the new certificate -serial=$(cat "$ssldir/serial") - -# Backup current certificates for your domain -cp -a $finalpath $finalpath.back - -# Remove certs and configuration file in it -rm $finalpath/{crt.pem,key.pem,openssl.cnf} - -# Copy openSSL's configuration file -cp $ssldir/openssl.cnf $finalpath/ - -# Change yunohost.org with your domain in the configuration -# DO NOT FORGET TO REPLACE example.org ! -sed -i "s/yunohost.org/example.org/g" $finalpath/openssl.cnf - -# Generate certificate and key -openssl req -new -config $finalpath/openssl.cnf -days 3650 -out $ssldir/certs/yunohost_csr.pem -keyout $ssldir/certs/yunohost_key.pem -nodes -batch - -# Sign certificate with your server's CA -openssl ca -config $finalpath/openssl.cnf -days 3650 -in $ssldir/certs/yunohost_csr.pem -out $ssldir/certs/yunohost_crt.pem -batch - -# Copy certificate and key to the right place -cp $ssldir/newcerts/$serial.pem $finalpath/crt.pem -cp $ssldir/certs/yunohost_key.pem $finalpath/key.pem - -# Fix permissions -chmod 755 $finalpath -chmod 640 $finalpath/key.pem $finalpath/crt.pem -chmod 600 $finalpath/openssl.cnf - -# Allow metronome to access those certificates -chown root:metronome $finalpath/key.pem $finalpath/crt.pem -``` \ No newline at end of file From 06072cdf754d3f62bb692b18794e68afc6bb5385 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 15 Oct 2017 22:36:36 +0200 Subject: [PATCH 44/81] Delete regenerate_certificate_fr.md, outdated... --- regenerate_certificate_fr.md | 47 ------------------------------------ 1 file changed, 47 deletions(-) delete mode 100644 regenerate_certificate_fr.md diff --git a/regenerate_certificate_fr.md b/regenerate_certificate_fr.md deleted file mode 100644 index 7243dec7..00000000 --- a/regenerate_certificate_fr.md +++ /dev/null @@ -1,47 +0,0 @@ -#Régénérer un certificat - -Si vous désirez générer à nouveau — et non renouveler — un certificat pour un domain, suivre les étapes suivantes : - -(remplacer **example.org** avec votre domaine) - -```bash -# Sauvegarde du répertoire SSL de YunoHost, pour la lisibilité -ssldir=/usr/share/yunohost/yunohost-config/ssl/yunoCA - -# Sauvegarde du chemin final SSL (ne pas oublier de modifier avec votre domaine) -finalpath=/etc/yunohost/certs/example.org - -# Sauvegarde du numéro de série du nouveau certificat -serial=$(cat "$ssldir/serial") - -# Sauvegarde du certificat actuel du domaine -cp -a $finalpath $finalpath.back - -# Suppression des certificats et des fichiers de configuration -rm $finalpath/{crt.pem,key.pem,openssl.cnf} - -# Copie du fichier de configuration d’openSSL -cp $ssldir/openssl.cnf $finalpath/ - -# Changement de la configuration yunohost.org avec votre domaine -# NE PAS OUBLIER DE REMPLACER example.org ! -sed -i "s/yunohost.org/example.org/g" $finalpath/openssl.cnf - -# Generation du certificat et de la clé -openssl req -new -config $finalpath/openssl.cnf -days 3650 -out $ssldir/certs/yunohost_csr.pem -keyout $ssldir/certs/yunohost_key.pem -nodes -batch - -# Signature du certificat avec le CA du serveur -openssl ca -config $finalpath/openssl.cnf -days 3650 -in $ssldir/certs/yunohost_csr.pem -out $ssldir/certs/yunohost_crt.pem -batch - -# Copie du certificat et de la clé au bon endroit -cp $ssldir/newcerts/$serial.pem $finalpath/crt.pem -cp $ssldir/certs/yunohost_key.pem $finalpath/key.pem - -# Réparation des permissions -chmod 755 $finalpath -chmod 640 $finalpath/key.pem $finalpath/crt.pem -chmod 600 $finalpath/openssl.cnf - -# Autoriser metronome à accéder aux certificats -chown root:metronome $finalpath/key.pem $finalpath/crt.pem -``` \ No newline at end of file From bddf24b3dd34c698919397d6936c5cc4c33d4dde Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 17 Oct 2017 13:38:43 +0200 Subject: [PATCH 45/81] Broken link cuz' the repo does not exist anymore for this github user (#582) --- apps_wishlist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index e23096fc..599bc0c6 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -139,7 +139,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Torrent Tunes](https://github.com/tchoulihan/torrenttunes-client) - [Total Respawn](https://github.com/broncowdd/TotalRespawn) - [Twister](http://twister.net.co) -- [Unvis](https://github.com/phixofor/unvis.it) +- [Unvis](https://github.com/lodjuret/unvis.it) - [Unsee](https://github.com/unsee-cc) - [Vaultier](http://www.vaultier.org) - [Webmpc](https://github.com/ushis/webmpc) From b9d840df23341fa6896d119617275d00a457aa07 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Tue, 17 Oct 2017 16:48:41 +0000 Subject: [PATCH 46/81] =?UTF-8?q?On=20faisait=20un=20upgrade=20mais=20comm?= =?UTF-8?q?e=20on=20a=20rajout=C3=A9=20des=20d=C3=A9pendances=20=C3=A7a=20?= =?UTF-8?q?upgradait=20pas=20yunohost=20et=20=C3=A7a=20restait=20en=202.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vagrant_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vagrant_fr.md b/vagrant_fr.md index 2878e347..f93ac3b4 100644 --- a/vagrant_fr.md +++ b/vagrant_fr.md @@ -48,7 +48,7 @@ vagrant ssh Mettre à jour le système. ```bash -sudo apt-get update && sudo apt-get upgrade +sudo apt-get update && sudo apt-get dist-upgrade ``` Vous pouvez accéder à votre vm via l’ip 192.168.33.10. From 9988c6e1fc983c5e043dc79541b096bf7257d98d Mon Sep 17 00:00:00 2001 From: Yunobot Date: Tue, 17 Oct 2017 16:48:49 +0000 Subject: [PATCH 47/81] =?UTF-8?q?On=20faisait=20un=20upgrade=20mais=20comm?= =?UTF-8?q?e=20on=20a=20rajout=C3=A9=20des=20d=C3=A9pendances=20=C3=A7a=20?= =?UTF-8?q?upgradait=20pas=20yunohost=20et=20=C3=A7a=20restait=20en=202.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vagrant.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vagrant.md b/vagrant.md index 4d85d128..8e983cd1 100644 --- a/vagrant.md +++ b/vagrant.md @@ -47,7 +47,7 @@ vagrant ssh Upgrade the system ```bash -sudo apt-get update && sudo apt-get upgrade +sudo apt-get update && sudo apt-get dist-upgrade ``` You can access to your vm with the ip 192.168.33.10 From 6e8bb310a5a7bc134383a62cf3811600dba831ff Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 17 Oct 2017 19:08:36 +0200 Subject: [PATCH 48/81] I have added our ISP to list (#585) --- isp.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/isp.md b/isp.md index 02d84f78..0e0d1a34 100644 --- a/isp.md +++ b/isp.md @@ -20,4 +20,9 @@ A list of French and Belgian ISPs is available on the [french page](/isp_fr). | --- | --- | --- | --- | --- | --- | --- | | Global Village Telecom | Multiple | Yes | No. Only for Fix IP| No | No | Yes, extra charge. | +### Ireland +| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | +| --- | --- | --- | --- | --- | --- | --- | +| Whizzy Internet | Multiple | Yes | Yes| Yes | Yes | Yes | + If you want to add international ISPs information, please do consider [modifying this page](/write_documentation). From 86a64d21fd10257d2a5e2c1caf645320a353985f Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 17 Oct 2017 22:06:01 +0200 Subject: [PATCH 49/81] Add a note about shitty ISPs -.- (#578) --- isp_box_config_fr.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md index ee0e7b5e..973c5e91 100644 --- a/isp_box_config_fr.md +++ b/isp_box_config_fr.md @@ -8,6 +8,7 @@ Allez à l’adresse suivante : http://192.168.0.1 (ou celle-ci http://192.168. ### Tutoriel * [Tutoriel pour les ouvrir les ports sur les boxs d’Orange, Free, SFR, Dartybox, Belgacom et sur les routeurs Netgear](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html). + ### Redirection des ports La redirection des ports suivants est nécessaire au fonctionnement des différents services. @@ -21,6 +22,11 @@ La redirection des ports suivants est nécessaire au fonctionnement des différe **UDP:** * [DNS](dns_fr) : 53 +
+ Certains fournisseurs d'accès internet / box internet imposent des contraintes sur certains ports. C'est le cas notamment du port 25 que seuls certains FAI permettent d'ouvrir. D'autres (e.g. SFR Red...) ne permettent pas d'utiliser librement les ports 80, 443 ou 22. +
+ + --- #### UPnP From 323ad1916dcb9122c7e84312ff24ba5848334616 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Date: Thu, 19 Oct 2017 10:49:06 +0200 Subject: [PATCH 50/81] html typo (#588) --- index_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index_fr.md b/index_fr.md index c7b2c87e..22096dc8 100644 --- a/index_fr.md +++ b/index_fr.md @@ -90,7 +90,7 @@
- Qu’est-ce que YunoHost ? + Qu’est-ce que YunoHost ? Documentation Comment contribuer Forum From fc544e0730fc65ca4bd25bd1a8d69b279528a18f Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Fri, 27 Oct 2017 20:37:34 +0200 Subject: [PATCH 51/81] typo (#594) --- ssh_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh_fr.md b/ssh_fr.md index 122ec553..17e9d9b2 100644 --- a/ssh_fr.md +++ b/ssh_fr.md @@ -2,7 +2,7 @@ ## Qu’est-ce que SSH ? -**SSH** est un accronyme pour Secure Shell, et désigne un protocole qui permet de contrôler à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base sur Linux et Mac OS / OSX. Sous Windows, maleureusement il vous faudra utiliser le logiciel [PuTTy](http://www.fastcomet.com/tutorials/getting-started/putty). +**SSH** est un accronyme pour Secure Shell, et désigne un protocole qui permet de contrôler à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base sur Linux et Mac OS / OSX. Sous Windows, malheureusement il vous faudra utiliser le logiciel [PuTTy](http://www.fastcomet.com/tutorials/getting-started/putty). ## Pendant l’installation de YunoHost From 8da1a2c73acea5ea0d657a7bcdef47ed1ebed1ce Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Fri, 27 Oct 2017 20:37:50 +0200 Subject: [PATCH 52/81] =?UTF-8?q?une=20p'tite=20faute=20de=20frappe=20?= =?UTF-8?q?=C3=A0=20'authentification'=20(#593)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- whatsyunohost_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/whatsyunohost_fr.md b/whatsyunohost_fr.md index 89dee539..e15d2430 100644 --- a/whatsyunohost_fr.md +++ b/whatsyunohost_fr.md @@ -13,7 +13,7 @@ Il est basé et reste totalement compatible avec [Debian GNU/Linux](https://debi - multi-domaines - un système d’emails - un serveur de messagerie instantanée -- un système d’authentifaction unique (SSO) +- un système d’authentification unique (SSO) - un système d’applications - un système de backup - un système de régénération de configuration des services From b796b3c2c6127e914b0c9b4c673cd6329414e41b Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Fri, 27 Oct 2017 20:38:55 +0200 Subject: [PATCH 53/81] Multi domaines dans thunderbird (#590) --- email_configure_client_fr.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/email_configure_client_fr.md b/email_configure_client_fr.md index 89eae011..57819f3e 100644 --- a/email_configure_client_fr.md +++ b/email_configure_client_fr.md @@ -19,6 +19,8 @@ L’utilitaire de détection automatique de Thunderbird ne fonctionne pas avec l +Note : si votre instance Yunohost gère plusieurs noms de domaine, il faut utiliser celui définit comme "nom de domaine par défaut" dans l'interface de gestion des noms de domaines. Et ce, même si le domaine de votre adresse mail en est un autre. + * [Gestion des alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases) #### Pour Android From 0216828ef84339b43a00c1f7e03e5b348f82df55 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Thu, 14 Sep 2017 15:59:52 +0000 Subject: [PATCH 54/81] Add granary --- apps_wishlist.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 599bc0c6..962eb548 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -54,9 +54,9 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Goaccess](https://goaccess.io) Web log analyser (replaces piwik without js tracking scripts) - [Gollum](https://github.com/gollum/gollum) - [Goploader](https://github.com/Depado/goploader) +- [granary](https://github.com/snarfed/granary) - [Guacamole](http://guac-dev.org) - [h5ai](http://larsjung.de/h5ai) -- [HackMD](https://hackmd.io) - [Hackpad](https://github.com/dropbox/hackpad) - [Headphones](https://github.com/rembo10/headphones) - [Hi Buddy](https://github.com/tOkeshu/hibuddy) @@ -93,7 +93,6 @@ The following list is a compiled wishlist of applications that would be nice-to- - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) -- [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) - [Nibbleblog](http://www.nibbleblog.com) - [Nuage](https://nuage.kerjean.me/login) @@ -152,4 +151,4 @@ The following list is a compiled wishlist of applications that would be nice-to- - [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL) - [ZeroTier](https://github.com/zerotier/ZeroTierOne) - [Zone-project](https://github.com/descl/ZONE) -- [ZNC](http://wiki.znc.in/ZNC) +- [ZNC](http://wiki.znc.in/ZNC) \ No newline at end of file From 072b7865d83a16481ee96807bad4f5b0bbe63b5b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 28 Oct 2017 19:02:02 +0200 Subject: [PATCH 55/81] (Fix weird merge due to late submit) --- apps_wishlist.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps_wishlist.md b/apps_wishlist.md index 962eb548..e4a959d9 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -54,9 +54,10 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Goaccess](https://goaccess.io) Web log analyser (replaces piwik without js tracking scripts) - [Gollum](https://github.com/gollum/gollum) - [Goploader](https://github.com/Depado/goploader) -- [granary](https://github.com/snarfed/granary) +- [Granary](https://github.com/snarfed/granary) - [Guacamole](http://guac-dev.org) - [h5ai](http://larsjung.de/h5ai) +- [HackMD](https://hackmd.io) - [Hackpad](https://github.com/dropbox/hackpad) - [Headphones](https://github.com/rembo10/headphones) - [Hi Buddy](https://github.com/tOkeshu/hibuddy) @@ -93,6 +94,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [MinigalNano](https://github.com/sebsauvage/MinigalNano) - [Mirakel](http://mirakel.azapps.de/taskwarrior.html) - [Modoboa](http://modoboa.org) +- [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) - [Nibbleblog](http://www.nibbleblog.com) - [Nuage](https://nuage.kerjean.me/login) @@ -151,4 +153,4 @@ The following list is a compiled wishlist of applications that would be nice-to- - [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL) - [ZeroTier](https://github.com/zerotier/ZeroTierOne) - [Zone-project](https://github.com/descl/ZONE) -- [ZNC](http://wiki.znc.in/ZNC) \ No newline at end of file +- [ZNC](http://wiki.znc.in/ZNC) From 2e3d49e1fe53bc189140c104fcf4e1709b822b3e Mon Sep 17 00:00:00 2001 From: M5oul Date: Wed, 1 Nov 2017 00:19:51 +0100 Subject: [PATCH 56/81] [enh] packaging_apps_manifest: add 'version' field. (#464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [enh] packaging_apps_manifest: add 'version' field. * [enh] Version number convention * [enh] Convention pour les numéros de versions * [fix] packaging_apps_manifest_fr: typo. * Update packaging_apps_manifest.md --- packaging_apps_manifest.md | 3 +++ packaging_apps_manifest_fr.md | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packaging_apps_manifest.md b/packaging_apps_manifest.md index 62376fea..97b92b07 100644 --- a/packaging_apps_manifest.md +++ b/packaging_apps_manifest.md @@ -12,6 +12,7 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun "fr": "Webmail Open Source" }, "url": "http://roundcube.net/", + "version": "1.0-1", "license": "free", "maintainer": { "name": "kload", @@ -62,6 +63,8 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun * **url**: software website. +* **version**: version of the package builded from the upstream version number and an incremental number for each change in the package without upstream change. Example "1.0.0-7". Must be a string. + * **license**: application license: `free` or `non-free`. Be careful to not confuse with package license which must be put in `LICENSE` file. * **maintainer**: informations about the app maintainer for contact. diff --git a/packaging_apps_manifest_fr.md b/packaging_apps_manifest_fr.md index 98b07abf..d1a4a8e0 100644 --- a/packaging_apps_manifest_fr.md +++ b/packaging_apps_manifest_fr.md @@ -12,6 +12,7 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb "fr": "Webmail Open Source" }, "url": "http://roundcube.net/", + "version": "1.0-1", "license": "free", "maintainer": { "name": "kload", @@ -58,9 +59,11 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb - **packaging_format** : version de packaging du paquet. La version **1** est la version actuelle. Cette clé a été mise en place afin de faire évoluer les versions de packaging de manière décorrélée des versions de YunoHost. -* **description** : description complète de l’application. Vous pouvez la détailler comme bon vous semble. Uniquement le champs `en` (english) est requis, vous pouvez également ajouter la traduction en français :) +* **description** : description complète de l’application. Vous pouvez la détailler comme bon vous semble. Uniquement le champ `en` (english) est requis, vous pouvez également ajouter la traduction en français :) -* **url**: site de l’application. +* **url** : site web de l’application. + +* **version** : version du package construit à partir du numéro de version de l’application qui est installée et d'un incrément pour chaque changement du paquet sans changement de version de l'application. "Exemple: 1.0.0-7". Le champ doit être une chaîne de caractères. * **license** : licence avec laquelle l’application est distribuée : `free`, `non-free`. Attention à ne pas confondre avec la licence du paquet qui doit être mise dans le fichier `LICENSE`. @@ -68,7 +71,7 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb - **requirements** : dépendance du paquet de l’application à la version d’un paquet Debian de YunoHost. Par exemple : "yunohost": ">> 2.3.12", le paquet `yunohost` doit être de version supérieur à `2.3.12`. -* [**multi_instance**](packaging_apps_multiinstance_fr) : capacité d’une application d’être installée plusieurs fois. +* [**multi_instance**](packaging_apps_multiinstance_fr) : capacité d’une application d’être installée plusieurs fois. * **services** : liste des services nécessaires au fonctionnement de l’application. `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`… @@ -77,7 +80,7 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb * **name** : identifiant du paramètre * **type** : (optionnel) type de paramètre parmis `domain`, `path`, `user`, `app`, `boolean` et `password`. Le champ sera caché dans le cas d’un mot de passe. * **choices** : (optionnel) restreint les réponses possibles à plusieurs choix. - * **optional** : (optionnel) champs qui indique si ce paramètre est optionnel. Il peux avoir les valeurs `true` ou `false`. + * **optional** : (optionnel) champs qui indique si ce paramètre est optionnel. Il peut avoir les valeurs `true` ou `false`. * **ask** : question posée (au minimum en anglais – `en`) que vous pouvez traduire dans plusieurs langues. * **example** : (optionnel) valeur d’exemple pour aider l’administrateur à remplir le formulaire d’installation. * **default** : (optionnel) valeur par défaut. From e65993a0e79f1595f47a81c4e871040be3bd6752 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 00:38:15 +0100 Subject: [PATCH 57/81] Rename admin_api_fr to admin_api_fr.md --- admin_api_fr => admin_api_fr.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename admin_api_fr => admin_api_fr.md (100%) diff --git a/admin_api_fr b/admin_api_fr.md similarity index 100% rename from admin_api_fr rename to admin_api_fr.md From 13a6bf7df75098d835ae32b1ab3523cca80092a1 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 00:40:20 +0100 Subject: [PATCH 58/81] Clean old note for Yunohost 2.5 --- admin.md | 15 +++------------ admin_fr.md | 16 +++------------- 2 files changed, 6 insertions(+), 25 deletions(-) diff --git a/admin.md b/admin.md index 6793e8c8..688a7796 100644 --- a/admin.md +++ b/admin.md @@ -4,6 +4,7 @@ Yunohost has an administrator web interface. The other way to administer your Yu **Please note** that the web interface is an active work-in-progress and has far fewer features than the CLI moulinette. + ### Access You can access your administrator web interface at this address: https://example.org/yunohost/admin (replace 'example.org' with your own domain name) @@ -12,20 +13,9 @@ You can access your administrator web interface at this address: https://example
+ ### Reset admin password -#### On Yunohost 2.5 - -The script to reset the admin password is not directly available, but can be downloaded and executed (as root) : - -```bash -$ wget https://raw.githubusercontent.com/YunoHost/yunohost/testing/sbin/yunohost-reset-ldap-password -$ chmod +x yunohost-reset-ldap-password -$ ./yunohost-reset-ldap-password -``` - -#### From Yunohost 2.6 - To reset the admin password (as root) : ```bash @@ -34,6 +24,7 @@ $ yunohost-reset-ldap-password A temporary password will be created, which you can use to define the new password. + ### How to move application folder To change an application folder, only a few commands are needed: move content, create a symlink and set access rights. diff --git a/admin_fr.md b/admin_fr.md index 4214b2ce..2acd9354 100644 --- a/admin_fr.md +++ b/admin_fr.md @@ -4,27 +4,18 @@ YunoHost est fourni avec une interface graphique d’administration. L’autre m **Attention** : l’interface d’administration donne accès à beaucoup moins de fonctionnalités que la moulinette, car elle est en développement actif. + ### Accès + L’interface admin est accessible depuis votre instance YunoHost à l’adresse https://exemple.org/yunohost/admin (remplacez exemple.org par la bonne valeur)
+ ### Réinitialiser le mot de passe administrateur -#### Sous Yunohost 2.5 - -Le script pour réinitialiser le mot de passe adminstrateur n'est pas directement disponible, mais peut être téléchargé puis executé (à partir de l'utilisateur root) : - -```bash -$ wget https://raw.githubusercontent.com/YunoHost/yunohost/testing/sbin/yunohost-reset-ldap-password -$ chmod +x yunohost-reset-ldap-password -$ ./yunohost-reset-ldap-password -``` - -#### À partir de Yunohost 2.6 - Pour réinitialiser le mot de passe administrateur de YunoHost (à partir de l'utilisateur root) : ```bash @@ -34,7 +25,6 @@ $ yunohost-reset-ldap-password Un mot de passe temporaire sera créé, que vous pouvez utiliser pour ensuite définir un nouveau mot de passe. - ### Comment déplacer le dossier d’une application Pour changer le dossier contenant une application, seules quelques commandes sont nécessaires : déplacer le contenu créer un lien symbolique et définir les droits d’accès. From f0de086e8a306336bd5ee32ddd896fb829df6ecd Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 00:46:57 +0100 Subject: [PATCH 59/81] Delete roadmap.md, page is outdated / unused --- roadmap.md | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 roadmap.md diff --git a/roadmap.md b/roadmap.md deleted file mode 100644 index ec5f92df..00000000 --- a/roadmap.md +++ /dev/null @@ -1,26 +0,0 @@ -# Roadmap - -2.0 2.2 Roadmap - -## v2.4 -Core: -* ✔ Helpers for app maintainer *(ju, opi, jerome)* -* ✔ Install script refactored *(ju)* -* ✔ Use templates to (re)generate configurations instead of packages *(kload, beudbeud, jerome)* -* ✔ Complete and improve backup and restore system *(jerome, ljf)* -* Logging bug on SSOwat when no HTTP referer is sent -* Add tools in moulinette to manage certificate (add, remove, update), Let’s Encrypt *(ljf, Moul)* -* Run automatic tests on moulinette *(kload)* -* Add proper upgrade/remove scripts and comment Debian scripts in packages *(beudbeud)* -* Replace amavis by rspamd *(jerome)* - -Web interface: -* ✔ Use Gulp for administration and user web interfaces *(opi)* -* User avatar *(opi)* -* Plugin system for the admin panel *(ljf)* - -Applications: -* ✔ New way to [manage apps list](http://github.com/YunoHost/apps) - -Other: -* ✔ Add licenses on YunoHost repositories *(Moul)* \ No newline at end of file From c2644ff25c1227a09fe22c21382751d28f9fcb52 Mon Sep 17 00:00:00 2001 From: Rafi59 Date: Wed, 1 Nov 2017 19:21:53 +0100 Subject: [PATCH 60/81] [enh] Add warning in ssh keys (#579) --- security_fr.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/security_fr.md b/security_fr.md index d9f227a2..e37c6392 100644 --- a/security_fr.md +++ b/security_fr.md @@ -5,7 +5,7 @@ YunoHost a été développé dans l’optique de fournir une sécurité maximale Tous les protocoles que YunoHost utilise sont **chiffrés**, les mots de passe ne sont pas stockés en clair, et par défaut chaque utilisateur n’accède qu’à son répertoire personnel. -Deux points sont néanmoins importants à noter : +Deux points sont néanmoins importants à noter : * L’installation d’applications supplémentaires **augmente le nombre de failles** potentielles. Il est donc conseillé de se renseigner sur chacune d’elle **avant l’installation**, d’en comprendre le fonctionnement et juger ainsi l’impact que provoquerait une potentielle attaque. N’installez **que** les applications qui semblent importantes pour votre usage. @@ -21,7 +21,7 @@ Deux points sont néanmoins importants à noter : Si votre serveur YunoHost est dans un environnement de production critique ou que vous souhaitez améliorer sa sécurité, il est bon de suivre quelques bonnes pratiques. -**Attention :** *l’application des conseils suivants nécessite une connaissance avancée du fonctionnement et de l’administration d’un serveur. Pensez à vous renseigner avant de procéder à cette mise en place.* +**Attention :** *l’application des conseils suivants nécessite une connaissance avancée du fonctionnement et de l’administration d’un serveur. Pensez à vous renseigner avant de procéder à cette mise en place.* ### Authentification SSH par clé @@ -29,15 +29,18 @@ Voici un [tutoriel plus détaillé](http://doc.ubuntu-fr.org/ssh#authentificatio Par défaut, l’authentification SSH se fait avec le mot de passe d’administration. Il est conseillé de désactiver ce type d’authentification et de le remplacer par un mécanisme de clé de chiffrement. -**Sur votre ordinateur de bureau :** +**Sur votre ordinateur de bureau :** ```bash ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub ``` - +
+Si vous êtes sur Ubuntu 16.04 vous devez faire ```ssh-add``` pour initialiser l'agent ssh +
Entrez le mot de passe d’administration et votre clé publique devrait être copiée sur votre serveur. + **Sur votre serveur**, éditez le fichier de configuration SSH, pour désactiver l’authentification par mot de passe. ```bash @@ -60,7 +63,7 @@ Pour éviter des tentatives de connexion SSH par des robots qui scannent tout In ```bash nano /etc/ssh/sshd_config -# Recherchez la ligne « Port » et remplacez le numéro du port (par défaut 22) par un autre numéro non utilisé +# Recherchez la ligne « Port » et remplacez le numéro du port (par défaut 22) par un autre numéro non utilisé Port 22 # à remplacer par exemple par 9777 ``` @@ -76,7 +79,7 @@ yunohost firewall disallow --ipv6 TCP # pour ipv6 **Pour les prochaines connexions SSH** il faudra ajouter l’option -p suivie du numéro de port SSH. -**Exemple** : +**Exemple** : ```bash ssh -p admin@ @@ -107,7 +110,7 @@ sudo adduser nom_utilisateur sudo ```bash sudo nano /etc/ssh/sshd_config -# Recherchez le paragraphe « Authentication » et ajoutez à la fin de celui-ci : +# Recherchez le paragraphe « Authentication » et ajoutez à la fin de celui-ci : AllowUsers nom_utilisateur ``` Seuls les utilisateurs mentionnés dans la directive AllowUsers seront alors autorisés à se connecter via SSH, ce qui exclut donc l’utilisateur admin. @@ -126,7 +129,7 @@ sudo service yunohost-api stop ### Tests d’intrusion de YunoHost -Des [pentests](https://fr.wikipedia.org/wiki/pentest) ont été effectués sur une instance de YunoHost 2.4 : +Des [pentests](https://fr.wikipedia.org/wiki/pentest) ont été effectués sur une instance de YunoHost 2.4 : - [1) Préparation](https://exadot.fr/2016/07/03/pentest-dune-instance-yunohost-1-preparation) - [2) Le fonctionnement](https://exadot.fr/2016/07/12/pentest-dune-instance-yunohost-2-le-fonctionnement) From 73acaae3727abcefc5ff7a821282585a71309386 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 1 Nov 2017 19:22:32 +0100 Subject: [PATCH 61/81] [Anonymous contrib] Update / add some answers to frequent questions (#589) * Update / add some answers to frequent questions * Sync faq translation with en --- faq.md | 50 +++++++++++++++++++++++++++++++++++++++++--------- faq_fr.md | 39 +++++++++++++++++++++++++++++++++++---- 2 files changed, 76 insertions(+), 13 deletions(-) diff --git a/faq.md b/faq.md index ec3fd498..f61f68ec 100644 --- a/faq.md +++ b/faq.md @@ -1,17 +1,49 @@ -# Frequently asked questions +# Frequently Asked Questions -#### YunoHost ported on Ubuntu? -YunoHost team does not have energy to port and maintain YunoHost on Ubuntu. +#### Under which licence is YunoHost distributed? -#### YunoHost is distributed under which license? YunoHost packages are under free licenses GNU AGPL v.3. YunoHost is based on Debian, so on licenses of Debian based elements. -Applications and applications packages have there respectives licenses. +Applications and applications packages have their respectives licenses. -#### Can we host many independents websites with differents domain names? -We can host many websites cause YunoHost is multi-domain and that some applications for websites management, like *WordPress* or *Web App Multi Custom*, are multi-instances, which means that the application can be installed many times. +#### Can I host many independents websites with different domain names? -#### Why can I access to applications via the IP address? -The [SSO](https://github.com/Kloadut/SSOwat/) does not allow access to the user part (apps included) via an IP address. For this purpose, you should use a domain name. One trick could be to modify the [`hosts` file (last §)](dns_local_network_en) of your desktop computer with a domain name that you don't need to own. \ No newline at end of file +Yes ! YunoHost is multi-user and multi-domain. Some applications like *WordPress* or *Web App Multi Custom*, are multi-instances, which means that the application can be installed many times. + +#### Why can't I access to applications via the IP address? + +The [SSO](https://github.com/Kloadut/SSOwat/) (single sign-on) cannot properly authenticate users when they access your server with only its IP. If you really can't configure the DNS properly, you can temporarily work around it by [modifying the `hosts` file (last §)](dns_local_network_en) on your computer. + + +#### Will you port YunoHost to [insert favorite distro] ? + +Short answer: No. We don't have the energy for it and this is irrelevant. + +Long answer +
+

If you care about distrowars, or think 'Debian is dirty', you are not the public of YunoHost.

+ +

YunoHost is aimed at non-tech people who just want their server to work. Debian has its flaws, but it's (one of?) the most widely known and used distribution for servers. It's stable. Most self-hosted softwares are one way or another compatible with Debian. It's easily hackable by anybody who's been doing a bit of CLI on their personal Ubuntu/Mint computer. There is no killer feature in other distributions that makes it relevant for YunoHost to switch or port it.

+ +

If this does not convince you, there are other projects running on other distributions or with different philosophy.

+
+ +#### I checked how apps packaging work. Why are you reinventing [insert favorite package format] ? + +Short answer: We are not. + +Medium answer: Apps were packaged in .deb in the past. It was a nightmare. We're happy now ;). + +Long answer +
+ +

YunoHost aims to make packaging easy. The idea from the beginning was to keep it as simple as « if you can install the app manually, then you can easily copy/paste steps into a basic install/remove package with no particular training ». This is not the case with Debian packages.

+ +

Turns out, YunoHost apps packaging holds a subtly different purpose than traditional packaging like .deb. Debian packages fulfill the low-level purpose of installing files, commands, programs and services on the system. It is often your duty to configure them properly, simply because there is no standard server setup. Typically, web apps requires a lot of configuration because they rely on a web server and a database (and the single sign-on).

+ +

YunoHost manipulate high-level abstractions (apps, domains, users, ...) and defines a standard setup (Nginx, Postfix, Metronome, SSOwat, ...) and, because of this, can handle the configuration for the user.

+ +

If you still think deb packages can be hacked to do this, see previous answers.

+
diff --git a/faq_fr.md b/faq_fr.md index 0c12a021..55def519 100644 --- a/faq_fr.md +++ b/faq_fr.md @@ -1,9 +1,7 @@ # Foire aux questions -#### Est-ce que YunoHost est porté sous Ubuntu ? -L’équipe de YunoHost n’a pas l’énergie de porter ni de maintenir YunoHost sur Ubuntu. +#### Sous quelle licence est distribué YunoHost ? -#### YunoHost est distribuée sous quelle licence ? Les paquets qui composent YunoHost sont sous licence libre GNU AGPL v.3. YunoHost est basé sur Debian, donc sur les licences des éléments sur lesquels Debian est basé. @@ -11,7 +9,40 @@ YunoHost est basé sur Debian, donc sur les licences des éléments sur lesquels Les applications et les packages d’applications ont leurs licences respectives. #### Peut-on héberger plusieurs sites indépendants avec des noms de domaines différents ? + On peut tout à fait héberger plusieurs sites web car YunoHost est multi-domaine et que certaines applications de gestion de sites web, comme *WordPress* ou *Web App Multi Custom*, sont multi-instances, c’est-à-dire que l’application peut-être installée plusieurs fois. #### Pourquoi je ne peux pas accéder à mes applications avec l’adresse IP ? -Le [SSO](https://github.com/Kloadut/SSOwat/) ne permet pas d’accéder à la partie utilisateur (applications incluses) avec une adresse IP. Pour cela, il faut utiliser un nom de domaine. Une des astuces consiste à modifier le [fichier `hosts` (dernier §)](dns_local_network_fr) de son ordinateur de bureau avec un nom de domaine que l’on n’est pas obligé de posséder. + +Pour des raisons techniques, le [SSO](https://github.com/Kloadut/SSOwat/) ne permet pas aux utilisateurs de se logger à l'espace utilisateur lorsque l'on accède au serveur uniquement avec l'IP. Si vous ne pouvez réellement pas configurer un nom de domaine, une solution temporaire peut être de modifier le [fichier `hosts` (dernier §)](dns_local_network_fr) de son ordinateur. + +#### Pouvez-vous porter YunoHost sur [ma distro préféré] ? + +Réponse courte : Non. L'équipe n'a pas l'énergie et ce n'est pas pertinent pour le but recherché par YunoHost. + +Réponse longue +
+

Si vous vous préoccupez des guéguérres de distro, ou pensez que 'Debian c'est sale', vous n'êtes pas le public de YunoHost.

+ +

YunoHost vise un public de non-technophile ou de bidouilleurs qui veulent simplement que le serveur fonctionne sans devoir investir des semaines entières. Debian a propbablement des défauts, mais c'est une (la?) distribution la plus connue et utilisée pour gérer des serveurs. C'est une distribution stable. La plupart des services auto-hébergeables sont compatibles d'une manière ou d'une autre avec Debian. Elle est facilement bidouillable par quelqu'un qui a déjà utilisé la ligne de commande sur son ordinateur personnel. Il n'y a pas de "killer feature" particulière dans les autres distributions qui rendrait pertinent de porter YunoHost dessus.

+ +

Si cela ne vous conviens pas, il existe d'autres projets sous d'autres distributions ou avec d'autres philosophies.

+
+ +#### J'ai regardé comment le packaging des apps fonctionne. Pourquoi réinventez-vous [mon format de package préféré] ? + +Réponse courte: Ce n'est pas ce que nous faisons. + +Réponse moyenne: Par le passé, les apps étaient gérées via des .deb. C'était cauchemardesque. On est heureux maintenant ;). + +Long answer +
+ +

YunoHost cherche a garder un système de packaging simple. L'idée depuis le départ était que « si tu sais installer l'app à la main, alors tu peux facilement créer un package basique en copiant-collant les étapes, sans besoin de connaissances particulière ». Ce n'est pas le cas des paquets Debian.

+ +

Il se trouve que l'objectif des paquets d'application YunoHost est subtilement différent des paquets traditionnels (comme les .deb de Debian) qui remplissent le rôle d'installer des éléménts bas-niveaux tels que des fichiers, commandes, programmes ou services sur le système. Il est à la charge de l'administrateur de les configurer ensuite proprement, simplement parce qu'il n'existe pas d'environnement standard. Typiquement, les applications web requiert beaucoup de configuration car elles ont besoin de s'interfacer avec un serveur web et une base de données (et le système de connexion unique / SSO).

+ +

YunoHost manipule des abstractions haut-niveau (apps, domaines, utilisateurs, ...) et défini un environnement standard (Nginx, Postfix, Metronome, SSOwat, ...) et, grâce à cela, peut gérer la configuration à la place de l'administrateur.

+ +

Si vous restez persuadé que l'on peut néanmoins bricoler les paquets .deb pour gérer tout cela, voir les réponses précédentes.

+
From 698e424ba05133feb8c135af73f986a6401b10f8 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 19:22:57 +0100 Subject: [PATCH 62/81] [enh] Add a few pointers for what to do after postinstall, 'specially for port routing (#596) --- postinstall.md | 23 +++++++++++++++-------- postinstall_fr.md | 27 +++++++++++++++++---------- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/postinstall.md b/postinstall.md index 838b070d..b62fcf00 100644 --- a/postinstall.md +++ b/postinstall.md @@ -40,15 +40,22 @@ This password will be used to access to your server's [administration interface] --- -## Troubleshooting +## Congratz! -### Secured connection fails after **post-installation** +If you got so far and saw 'YunoHost has been successfully installed' (web +postinstall) or 'YunoHost has been correctly configured', then congratulations! -If you're using your own domain and depending on your browser, you might be stuck out of your Yunohost installation until you deploy an appropriate certificate. Thanks to Yunohost and [Let's Encrypt](https://letsencrypt.org/), this proves to be quite easy: just run `yunohost domain cert-install` in command-line to issue and install your certificate and _Voilà_. Refresh your browser and you're good to go. +### What now ? ---- - -## And after ? - -Once the post-installation finished, check if you can access to your server with your web-browser. If it is not the case, a few more configuration steps may be required. +- If you're self-hosting at home and without a VPN, you need to [make sure to + correctly forward ports on your router/Internet box](isp_box_config) ; +- If you're using your own domain name (i.e. not a .nohost.me / .noho.st), you + need to [configure it according to the recommended DNS + configuration](dns_config) ; +- If you cannot configure your domain name yet (because you didn't register it + yet, or because this is a test domain), see last paragraph + [here](dns_local_network) for a workaround ; +- Don't be too afraid of the [certificate warning](certificate), you'll probably + be able to install a Let's Encrypt certificate :). +- Have a look at [the available apps](apps) ! diff --git a/postinstall_fr.md b/postinstall_fr.md index 260ce968..6459645a 100644 --- a/postinstall_fr.md +++ b/postinstall_fr.md @@ -46,17 +46,24 @@ De manière générale, c’est la **clé d’entrée à votre système**, pense --- -## En cas de problème +## Félicitations ! -### Échec de la connexion sécurisée après la **post-installation** +Si vous arrivez ici après avoir vu "YunoHost a été installé avec succès" depuis +votre navigateur ou la ligne de commande, alors félicitaton ! -Si vous utilisez votre propre domaine et selon votre navigateur, vous pourriez vous retrouver bloqué à l'entrée de votre Yunohost tant que vous n'avez pas déployé un certificat valide. Grâce à Yunohost et [Let's Encrypt](https://letsencrypt.org/), c'est plutôt simple : exécutez simplement `yunohost domain cert-install` en ligne de commande pour émettre et installer votre certificat et _Voilà_. Rafraichissez votre navigateur et vous êtes paré. +### Et maintenant ? ---- - -## Et après ? - -Une fois l’étape de post-installation exécutée, vérifiez que votre serveur est accessible en tapant le nom de domaine choisi précédemment dans votre navigateur web. Si celui-ci n’est pas accessible, quelques étapes de configurations supplémentaires sont sûrement nécessaires. - -N'hésitez pas à [demander de l'aide](/help_fr) au besoin. +- Si vous vous auto-hébergez à la maison et sans VPN, il vous faut vous assurer + de bien [rediriger les ports de votre box internet](isp_box_config_fr) ; +- Si vous utilisez votre propre nom de domaine (i.e. pas un nohost.me / + noho.st), il vous faut [configurer le nom de domaine d'après la configuration + recommandée](dns_config_fr) ; +- Si vous ne pouvez pas configurer le nom de domaine pour le moment (parce qu'il + n'est pas encore acheté, ou parce que c'est un domaine de test), vous pouvez + contourner temporairement le problème avec les instructions du dernier + paragraphe [ici](dns_local_network_fr) ; +- Ne soyez pas trop effrayé par [l'avertissement à propos du + certificat](certificate_fr), vous aurez probablement la possibilité + d'installer un certificat Let's Encrypt :). +- Jetez un oeil aux [applications disponibles](apps_fr) ! From b14c3c01af286fdf71b57d704871553e59b59cde Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 19:23:09 +0100 Subject: [PATCH 63/81] [enh] Clean deprecated DKIM page, just point to recommended DNS conf (#597) --- dkim.md | 168 ++------------------------------------------------- dkim_fr.md | 174 ++--------------------------------------------------- 2 files changed, 11 insertions(+), 331 deletions(-) diff --git a/dkim.md b/dkim.md index b0e5d9e2..b34a5c1f 100644 --- a/dkim.md +++ b/dkim.md @@ -1,166 +1,8 @@ # DKIM -
This page is deprecated. DKIM is now by default integrated in YunoHost with [Rspamd](https://rspamd.com)/rmilter.
-Now you just need to add a zone in your DNS configuration according to the file /etc/dkim/yourdomainname.tld.mail.txt
+
+DKIM is now integrated by default in YunoHost with [Rspamd](https://rspamd.com)/rmilter. +Make sure to add the TXT record for mail._domainkey from [the recommended DNS +configuration](dns_config) for DKIM to be fully operational. +
- -##### Note: -* This is the 2nd revision of this Work In Progress How-To activate [DKIM](https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail) and [SPF](https://en.wikipedia.org/wiki/Sender_Policy_Framework) in YunoHost. -* Le DKIM and SPF prevent emails which could be sent with your domain name from a non legitim server. This avoid spam. -* Untill, this is not natively integrated in YunoHost core, it will mean to that Postfix configuration will be blocked (or each time there is a change some configuration lines will need to be added to the end of `/etc/postfix/main.cf`). -* To be fully functionnal DKIM requires a modification of your [DNS zone](/dns_config_en), which propagantion can take up to 24h. - -##### Sources: -* This tutorial has been initially based on the DKMI section of: http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ from Drew Crawford. -* This tutorial has been reviewed based on https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin - -Replace `DOMAIN.TLD` by your own domain name. - -Changes in 2n revision: -Much easier to manage more than one DOMAIN.TLD (future proof). -Updated configuration as it seemed that the previous one was based on old software. - -So, here is the thing: -### With a script -Fully automatic script: (single domain) -```bash -git clone https://github.com/polytan02/yunohost_auto_config_basic -cd yunohost_auto_config_basic -sudo ./5_opendkim.sh -``` - -### Manually -We start by installing the right software: -```bash -sudo aptitude install opendkim opendkim-tools -``` - -Then we configure opendkim -```bash -sudo nano /etc/opendkim.conf -``` - -Text to be placed in the text file: -```bash -AutoRestart Yes -AutoRestartRate 10/1h -UMask 022 -Syslog yes -SyslogSuccess Yes -LogWhy Yes - -Canonicalization relaxed/simple - -ExternalIgnoreList refile:/etc/opendkim/TrustedHosts -InternalHosts refile:/etc/opendkim/TrustedHosts -KeyTable refile:/etc/opendkim/KeyTable -SigningTable refile:/etc/opendkim/SigningTable - -Mode sv -PidFile /var/run/opendkim/opendkim.pid -SignatureAlgorithm rsa-sha256 - -UserID opendkim:opendkim - -Socket inet:8891@127.0.0.1 - -Selector mail -``` - -Connect the milter to Postfix: -```bash -sudo nano /etc/default/opendkim -``` - -Text to be placed in the text file: -```bash -SOCKET="inet:8891@localhost" -``` - -Configure Postfix to use this milter: -```bash -sudo nano /etc/postfix/main.cf -``` - -Text to be placed **at the end** in the text file: -```bash -# OpenDKIM milter - -milter_protocol = 2 -milter_default_action = accept -smtpd_milters = inet:127.0.0.1:8891 -non_smtpd_milters = inet:127.0.0.1:8891 -``` - -Create a directory structure that will hold the trusted hosts, key tables, signing tables and crypto keys: -```bash -sudo mkdir -pv /etc/opendkim/keys/DOMAIN.TLD -``` - -Specify trusted hosts: -```bash -sudo nano /etc/opendkim/TrustedHosts -``` - -Text to be placed in the text file: -```bash -127.0.0.1 -localhost -192.168.0.1/24 -*.DOMAIN.TLD -``` - -Create a key table: -```bash -sudo nano /etc/opendkim/KeyTable -``` - -Text to be placed in the text file: be very careful, it needs to be on a **single line** for each domain. -```bash -mail._domainkey.DOMAIN.TLD DOMAIN.TLD:mail:/etc/opendkim/keys/DOMAIN.TLD/mail.private -``` - -Create a signing table: -```bash -sudo nano /etc/opendkim/SigningTable -``` - -Text to be placed in the text file: -```bash -*@DOMAIN.TLD mail._domainkey.DOMAIN.TLD -``` - -Now we generate the keys! smile -```bash -sudo cd /etc/opendkim/keys/DOMAIN.TLD -sudo opendkim-genkey -s mail -d DOMAIN.TLD -``` - -Output the DKIM DNS line to the terminal. Then, we install it on our DNS server. My ZONE file looks like this. (Be very careful with the formatting, the "p=...." needs to be in a single line.) -```bash -cat mail.txt - -mail._domainkey IN TXT "v=DKIM1; k=rsa; p=AAAKKUHGCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPFrBM54eXlZPXLJ7EFphiA8qGAcgu4lWuzhzxDDcIHcnA/fdklG2gol1B4r27p87rExxz9hZehJclaiqlaD8otWt8r/UdrAUYNLKNBFGHJ875467jstoAQAB" ; ----- DKIM key mail for DOMAIN.TLD -``` - -And we don't forget to put the right rights otherwise opendkim will get grumpy... -```bash -chown -Rv opendkim:opendkim /etc/opendkim* -``` - -And finally, we restart everything: -```bash -sudo service opendkim restart -sudo service postfix restart -``` - -To test if it is all working well (don't forget that the DNS propagation can take a bit of take…) you can simply go to [mail-tester.com](http://www.mail-tester.com) and send an e-mail to the address indicated. Then follow the link and the result will appear. - -# SPF -Lastly, don't forget to add a SPF key in your [DNS zone](/dns_config_en) such as: -```bash -DOMAIN.TLD 300 TXT "v=spf1 a:DOMAIN.TLD ip4: ip6: mx ?all" - ``` - -As reminder, the SPF field shows that the only machine using the IP address shows in your DNS zone are authorized to send emails. -If you don't have IPv6 on your email server, simply delete le ip6:<...> section diff --git a/dkim_fr.md b/dkim_fr.md index 095fa478..c7c95c6f 100644 --- a/dkim_fr.md +++ b/dkim_fr.md @@ -1,171 +1,9 @@ # DKIM -
Cette page n’est plus à jour. Le DKIM est a présent intégré par défaut dans YunoHost avec [Rspamd](https://rspamd.com)/rmilter. -Il suffit désormais de créer une zone DNS en s'inspirant du fichier /etc/dkim/yourdomainname.tld.mail.txt
+
+DKIM est maintenant intégré de base dans YunoHost grâce à [Rspamd](https://rspamd.com)/rmilter. +Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommendé pour +mail._domainkey tel que donné par [la configuration DNS recommandée](dns_config_fr) +pour que les signatures DKIM soient pleinement fonctionelles. +
-Le protocole SMTP ne prévoit pas de mécanisme de vérification de l’expéditeur. Il est donc possible d’envoyer un courrier avec une adresse d’expéditeur factice ou usurpée. SPF et DKIM sont deux mécanismes d’authentification de l’expéditeur d’un email. - -#### Notes : - -* Ceci est la deuxième version de ce travail en cours concernant l’activation de [DKIM](https://fr.wikipedia.org/wiki/DomainKeys_Identified_Mail) et [SPF](https://fr.wikipedia.org/wiki/Sender_Policy_Framework) dans YunoHost. -* Le DKIM et le SPF empêchent le fait que des courriels puissent être envoyés avec votre nom de domaine à partir d’un autre serveur que le serveur légitime. Ceci évite le spam. -* En attendant que tout ceci soit intégré nativement dans YunoHost, cela nécessitera une modification de la configuration de Postfix dans `/etc/postfix/main.cf`. -* Pour fonctionner correctement, DKIM nécessite une modification de votre [zone DNS](/dns_config_fr). N’oubliez pas que la propagation de l’information DNS une fois modifiée peut prendre jusqu’à 24h ! - -#### Sources : -* Ce document a été initialement basé sur : http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ de Drew Crawford. -* Cette 2e révision s’appuie beaucoup sur : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin - -Dans la suite de ce document, replacez `DOMAIN.TLD` par votre propre nom de domaine. - -Changement dans la 2de révision : - -* La configuration s’adapte très facilement à plusieurs noms de domaines simultanés. -* Mise à jour des paramètres de configuration avec la dernière version de OpenDKIM disponible dans Debian 7. - -Rentrons maintenant dans le cœur du sujet : -### Avec un script -Utiliser un script tout fait et répondez aux questions : -```bash -git clone https://github.com/polytan02/yunohost_auto_config_basic -cd yunohost_auto_config_basic -sudo ./5_opendkim.sh -``` - -### À la main -On commence par installer les logiciels : -```bash -sudo aptitude install opendkim opendkim-tools -``` - -Ensuite on configure openDKIM : -```bash -sudo nano /etc/opendkim.conf -``` - -Texte à insérer dans le document : -```bash -AutoRestart Yes -AutoRestartRate 10/1h -UMask 022 -Syslog yes -SyslogSuccess Yes -LogWhy Yes - -Canonicalization relaxed/simple - -ExternalIgnoreList refile:/etc/opendkim/TrustedHosts -InternalHosts refile:/etc/opendkim/TrustedHosts -KeyTable refile:/etc/opendkim/KeyTable -SigningTable refile:/etc/opendkim/SigningTable - -Mode sv -PidFile /var/run/opendkim/opendkim.pid -SignatureAlgorithm rsa-sha256 - -UserID opendkim:opendkim - -Socket inet:8891@127.0.0.1 - -Selector mail -``` - -On connecte ensuite le milter à Postfix : -```bash -sudo nano /etc/default/opendkim -``` - -Texte à insérer dans le document : -```bash -SOCKET="inet:8891@localhost" -``` - -Configurer Postfix pour utiliser ce milter : -```bash -sudo nano /etc/postfix/main.cf -``` - -Texte à insérer à la fin du document : -```bash -# OpenDKIM milter -milter_protocol = 2 -milter_default_action = accept -smtpd_milters = inet:127.0.0.1:8891 -non_smtpd_milters = inet:127.0.0.1:8891 -``` - -Créer la structure de dossiers qui contiendra la clé, les hôtes connues et quelques tableaux de données : -```bash -sudo mkdir -pv /etc/opendkim/keys/DOMAIN.TLD -``` - -On précise les hôtes de confiance : -```bash -sudo nano /etc/opendkim/TrustedHosts -``` - -Texte à insérer dans le document : -```bash -127.0.0.1 -localhost -192.168.0.1/24 -*.DOMAIN.TLD -``` - -Créer le tableau des clés : -```bash -sudo nano /etc/opendkim/KeyTable -``` - -(Texte à insérer dans le document : faites très attention, ça doit rester ** sur une seule ligne ** pour chaque nom de domaine) -mail._domainkey.DOMAIN.TLD DOMAIN.TLD:mail:/etc/opendkim/keys/DOMAIN.TLD/mail.private - -Créer un tableau des signatures : -```bash -sudo nano /etc/opendkim/SigningTable -``` - -Texte à insérer dans le document : -```bash -*@DOMAIN.TLD mail._domainkey.DOMAIN.TLD -``` - -Maintenant on peut générer nos clés ! -```bash -sudo cd /etc/opendkim/keys/DOMAIN.TLD -sudo opendkim-genkey -s mail -d DOMAIN.TLD -``` - -On affiche les paramètres DNS de DKIM générés par opendkim dans le terminal. -Ensuite, on installera la clé DKIM dans notre DNS. Ma zone DNS ressemble à l’exemple ci-dessous. -(Faites très attention à la casse, le "p=...." doit rester sur une seule ligne dans le DNS et pas sur plusieurs, sinon cela ne sera pas accepté ni reconnu) -```bash -cat mail.txt -``` - -```bash -mail._domainkey IN TXT "v=DKIM1; k=rsa; p=AAAKKUHGCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPFrBM54eXlZPXLJ7EFphiA8qGAcgu4lWuzhzxDDcIHcnA/fdklG2gol1B4r27p87rExxz9hZehJclaiqlaD8otWt8r/UdrAUYNLKNBFGHJ875467jstoAQAB" ; ----- DKIM key mail for DOMAIN.TLD -``` - -Et surtout, on n’oublie pas de donner les bons droits d’accès à opendkim aux fichiers créés par root... -```bash -chown -Rv opendkim:opendkim /etc/opendkim* -``` - -Et enfin, on redémarre le tout : -```bash -sudo service opendkim restart -sudo service postfix restart -``` - -Pour tester que tout fonctionne bien (n’oubliez pas que la propagation DNS peut prendre jusqu’à 24h...) vous pouvez tout simplement vous rendre sur [mail-tester.com](http://www.mail-tester.com/), envoyer un courriel à l’adresse indiquée et cliquer pour voir le résultat. - -# SPF -Enfin, n’oubliez pas d’ajouter une clé SPF dans votre [zone DNS](/dns_config_fr) (ou un champ TXT si SPF n’est pas disponible) : - -```bash -DOMAIN.TLD 1800 TXT "v=spf1 a:DOMAIN.TLD ip4: ip6: mx ?all" - ``` - -Pour rappel, le champ SPF indique que seule la machine utilisant l’adresse IP indiquée dans votre zone DNS est autorisée à envoyer des courriels. -Si vous n’avez pas d’IPv6 sur votre serveur, supprimez simplement la section ip6:<…> From 5cfb32554d8267b50dd1b25d5c766428afb94ff8 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 19:23:21 +0100 Subject: [PATCH 64/81] [enh] Rework the DNS config page to be consistent with currently recommended conf in the CLI/webadmin (#595) --- dns_config.md | 126 +++++++++++++++++++++++++-------------------- dns_config_fr.md | 130 ++++++++++++++++++++++++++--------------------- 2 files changed, 145 insertions(+), 111 deletions(-) diff --git a/dns_config.md b/dns_config.md index 2c605cf7..d9e08da9 100644 --- a/dns_config.md +++ b/dns_config.md @@ -1,64 +1,82 @@ -## DNS zone configuration +# DNS zone configuration -Sample DNS zone configuration for `domain.tld` domain name: +DNS (domain name system) is a system that converts human-readable addresses +(domain names) into machine-understandable addresses (IP). For your server to be +easily accessible by human beings, and for some services like mail to work +properly, DNS must be configured. -#### Use yunohost command to generate my DNS ZONE +If you're using a nohost.me / noho.st domain, the configuration should be +performed automatically. If you're using your own domain name (e.g. bought via +a registrar), you should manually configure your domain on your registrar's +interface. + +## Recommended DNS configuration + +YunoHost provides a recommended DNS configuration, available via : +- the webadmin, in Domain > your.domain.tld > DNS configuration ; +- or the command line, `yunohost domain dns-conf your.domain.tld` + +For specific needs or specific setups, and if you know what you're doing, you +might want or have to tweak these or add additional ones (e.g. to handle +subdomains). + +The recommended configuration typically looks like this : -Connect to your server using yunohost and run the following as root ```bash -yunohost domain dns-conf domain.tld +# +# Basic ipv4/ipv6 records +# +@ 3600 IN A 111.222.33.44 +* 3600 IN A 111.222.33.44 + +# (If your server is IPv6 capable, there are some AAAA records) +@ 3600 IN AAAA 2222:444:8888:3333:bbbb:5555:3333:1111 +* 3600 IN AAAA 2222:444:8888:3333:bbbb:5555:3333:1111 + +# +# XMPP +# +_xmpp-client._tcp 3600 IN SRV 0 5 5222 your.domain.tld. +_xmpp-server._tcp 3600 IN SRV 0 5 5269 your.domain.tld. +muc 3600 IN CNAME @ +pubsub 3600 IN CNAME @ +vjud 3600 IN CNAME @ + +# +# Mail (MX, SPF, DKIM and DMARC) +# +@ 3600 IN MX 10 your.domain.tld. +@ 3600 IN TXT "v=spf1 a mx ip4:111.222.33.44 -all" +mail._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=someHuuuuuuugeKey" +_dmarc 3600 IN TXT "v=DMARC1; p=none" ``` -#### Redirection from the domain name to the IP address -```bash -@ 1800 IN A 111.222.333.444 # (Minimal) IPv4 -@ 1800 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788 # IPv6 -``` +Though it might be easier to understand it if displayed like this : -#### Redirection from the domain name and subdomains to the IP address -```bash -* 1800 IN A 111.222.333.444 # Wildcard: *.domain.tld and domain.tld redirection to the IP address -* 1800 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788 -``` -#### Subdomains -```bash -www 1800 IN CNAME @ # accesible at www.domain.tld -``` +| Type | Name | Value | +| :-----: | :--------------------: | :--------------------------------------------------: | +| **A** | **@** | `111.222.333.444` (your IPv4) | +| A | * | `111.222.333.444` (your IPv4) | +| AAAA | @ | `2222:444:8888:3333:bbbb:5555:3333:1111` (your IPv6) | +| AAAA | * | `2222:444:8888:3333:bbbb:5555:3333:1111` (your IPv6) | +| **SRV** | **_xmpp-client._tcp** | `0 5 5222 your.domain.tld.` | +| **SRV** | **_xmpp-server._tcp** | `0 5 5269 your.domain.tld.` | +| CNAME | muc | `@` | +| CNAME | pubsub | `@` | +| CNAME | vjud | `@` | +| **MX** | **@** | `your.domain.tld.` (and priority: 10) | +| TXT | @ | `"v=spf1 a mx ip4:111.222.33.44 -all"` | +| TXT | mail._domainkey | `"v=DKIM1; k=rsa; p=someHuuuuuuugeKey"` | +| TXT | _dmarc | `"v=DMARC1; p=none"` | -#### XMPP -```bash -_xmpp-client._tcp 1800 IN SRV 0 5 5222 domain.tld. # (Minimal) clients connection -_xmpp-server._tcp 1800 IN SRV 0 5 5269 domain.tld. # (Minimal) servers connection +#### A few notes about this table -muc 1800 IN CNAME @ # multi-user chat rooms at muc.domain.tld -anonymous 1800 IN CNAME @ # connection without account at `anonymous.domain.tld` -bosh 1800 CNAME @ # BOSH -_xmppconnect 1800 TXT "_xmpp-client-xbosh=https://bosh.domain.tld:5281/http-bind" -pubsub 1800 IN CNAME @ -vjud 1800 IN CNAME @ -``` - -#### Email -```bash -@ 1800 IN MX 10 domain.tld. # (Minimal) -@ 1800 IN TXT "v=spf1 a mx -all" -``` - -You should also consult the [DKIM documentation](#/dkim). DKIM allows yours mails not to be considered by spam by other mail service. In fact DKIM ask you to add an entry in your zone. - -#### Set up -Replace: -- "`domain.tld`" with your own domain preserving the dot at the end. -- IP samples values with your server IP addresses: - * `111.222.333.444`: [IPv4](http://ip.yunohost.org/). - * `2001:AABB:CCDD:EEFF:1122:3344:5566:7788`: [IPv6](http://ip6.yunohost.org/). - -DNS lines for subdomains, XMPP and email does not work without a redirection from the domain name to the IP address (one line is enough) because they depend on it. - -
To begin: lines with "(Minimal)" are the minimal required DNS entries to make redirection work from the domain name to the IP adress, XMPP and email.
- -
Warning: @ is the default domain name currently defined, some registrar (like OVH) does not accept it, so replace @ by your domain name (domain.tld**.**) with a dot at the end.
- -#### Time to live -All DNS lines above have `1800` value (30 minutes). It corresponds to [Time to live (TTL)](https://en.wikipedia.org/wiki/Time_to_live#DNS_records) which represents and indicate time, in seconds, during which the DNS line can be kept in the cache. After this time, the information must me considered obsolete and must be updated. +- Not all these lines are absolutely necessary. For a minimal setup, you only need the records in bold. +- The dot at the end of `your.domain.tld.` is important ;) ; +- `@` corresponds to `your.domain.tld`, and e.g. `muc` corresponds to `muc.your.domain.tld` ; +- These are example values ! See your generated conf for the actual values you should use ; +- We recommend a [TTL](https://en.wikipedia.org/wiki/Time_to_live#DNS_records) of 3600 (1 hour). But you can use something else if you + know what you're doing ; +- Don't put an IPv6 record if you're not sure IPv6 really works on your server ! + You might have issues with Let's Encrypt if it doesn't. diff --git a/dns_config_fr.md b/dns_config_fr.md index 3476586e..3fe48d45 100644 --- a/dns_config_fr.md +++ b/dns_config_fr.md @@ -1,66 +1,82 @@ -## Configuration de la zone DNS +# Configuration de la zone DNS -Exemple de configuration des entrées de la zone DNS pour le nom de domaine `domain.tld` : +DNS (système de nom de domaine) est un élément essentiel d'Internet qui permet +de convertir des adresses compréhensible par les êtres humains (les noms de +domaines) en adresses compréhensibles par la machine (les IPs). Pour que +votre serveur soit facilement accessible par d'autres êtres humains, et pour +que certains services comme le mail fonctionnent correctement, il est nécessaire +de configurer la zone DNS de votre domaine. -#### Utiliser la commande yunohost pour générer ma zone DNS +Si vous utilisez un domaine en nohost.me / noho.st domain, la configuration +devrait être faite automatiquement. Si vous utilisez votre propre nom de domaine +(e.g. acheté chez un registrar), il vous faut configurer manuellement votre +domaine via l'interface de votre registrar. + +## Configuration DNS recommandée + +YunoHost fourni une configuration DNS recommandée, accessible via : +- la webadmin, dans Domaines > votre.domain.tld > Configuration DNS ; +- ou la ligne de commande, `yunohost domain dns-conf votre.domaine.tld` + +Pour certains besoins ou installations particulières, et si vous savez ce que +vous faîtes, il vous faudra peut-être modifier cette recommendation ou ajouter +d'autres enregistrements (e.g. pour gérer des sous-domaines). + +La configuration recommandée ressemble typiquement à : -Connecter vous à votre serveur et lancer la commande suivante. ```bash -yunohost domain dns-conf domain.tld +# +# Enregistrements IPv4/IPv6 basiques +# +@ 3600 IN A 111.222.33.44 +* 3600 IN A 111.222.33.44 + +# (Si votre serveur supporter l'IPv6, il a des enregistrements AAAA) +@ 3600 IN AAAA 2222:444:8888:3333:bbbb:5555:3333:1111 +* 3600 IN AAAA 2222:444:8888:3333:bbbb:5555:3333:1111 + +# +# XMPP +# +_xmpp-client._tcp 3600 IN SRV 0 5 5222 votre.domaine.tld. +_xmpp-server._tcp 3600 IN SRV 0 5 5269 votre.domaine.tld. +muc 3600 IN CNAME @ +pubsub 3600 IN CNAME @ +vjud 3600 IN CNAME @ + +# +# Mail (MX, SPF, DKIM et DMARC) +# +@ 3600 IN MX 10 votre.domaine.tld. +@ 3600 IN TXT "v=spf1 a mx ip4:111.222.33.44 -all" +mail._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=uneGrannnnndeClef" +_dmarc 3600 IN TXT "v=DMARC1; p=none" ``` -#### Redirection du nom de domaine vers l’adresse IP -```bash -@ 1800 IN A 111.222.333.444 # (Minimum) IPv4 -@ 1800 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788 # IPv6 -``` +Mais il est peut-être plus facile de la comprendre si affichée de la façon +suivante : -#### Redirection du nom de domaine et de tous les sous-domaines vers l’adresse IP -```bash -* 1800 IN A 111.222.333.444 # Wildcard : *.domain.tld et domain.tld pointent vers l’adresse IP. -* 1800 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788 -``` +| Type | Nom | Valeur | +| :-----: | :--------------------: | :----------------------------------------------------: | +| **A** | **@** | `111.222.333.444` (votre IPv4) | +| A | * | `111.222.333.444` (votre IPv4) | +| AAAA | @ | `2222:444:8888:3333:bbbb:5555:3333:1111` (votre IPv6) | +| AAAA | * | `2222:444:8888:3333:bbbb:5555:3333:1111` (votre IPv6) | +| **SRV** | **_xmpp-client._tcp** | `0 5 5222 votre.domaine.tld.` | +| **SRV** | **_xmpp-server._tcp** | `0 5 5269 votre.domaine.tld.` | +| CNAME | muc | `@` | +| CNAME | pubsub | `@` | +| CNAME | vjud | `@` | +| **MX** | **@** | `votre.domaine.tld.` (et priorité: 10) | +| TXT | @ | `"v=spf1 a mx ip4:111.222.33.44 -all"` | +| TXT | mail._domainkey | `"v=DKIM1; k=rsa; p=uneGrannnndeClef"` | +| TXT | _dmarc | `"v=DMARC1; p=none"` | -#### Sous-domaines -```bash -www 1800 IN CNAME @ # accessible sur www.domain.tld -``` +#### Quelques notes à propos de cette table -#### XMPP -```bash -_xmpp-client._tcp 1800 IN SRV 0 5 5222 domain.tld. # (Minimum) connexions avec les clients -_xmpp-server._tcp 1800 IN SRV 0 5 5269 domain.tld. # (Minimum) connexions entre serveurs - -muc 1800 IN CNAME @ # salons de discussion sur `muc.domain.tld` -anonymous 1800 IN CNAME @ # connexion sans compte sur `anonymous.domain.tld` -bosh 1800 CNAME @ # BOSH -_xmppconnect 1800 TXT "_xmpp-client-xbosh=https://bosh.domain.tld:5281/http-bind" -pubsub 1800 IN CNAME @ -vjud 1800 IN CNAME @ -``` - -#### Email -```bash -@ 1800 IN MX 10 domain.tld. # (Minimum) -@ 1800 IN TXT "v=spf1 a mx -all" -``` -
- -Vous devriez aussi consulter [la documentation de DKIM](#/dkim_fr). DKIM permet d'éviter que vos mails soit considérés comme SPAM et DKIM nécessite une entrée spécifique dans votre zone DNS. - -#### Mise en place -Remplacez : -* « `domain.tld` » par votre propre nom de domaine en conservant le point à la fin. -* les adresses IP d’exemple par celles de votre serveur : - * `111.222.333.444` : [IPv4](http://ip.yunohost.org/). - * `2001:AABB:CCDD:EEFF:1122:3344:5566:7788` : [IPv6](http://ip6.yunohost.org/). - -Les entrées DNS sous domaines, XMPP et email ne fonctionnent pas sans une redirection du nom de domaine vers l’adresse IP (une ligne est suffisante) étant donné qu’elles en sont dépendantes. - -
**Pour débuter :** les lignes avec « (Minimum) » sont les entrées DNS minimales requises pour avoir une redirection du nom de domaine vers l’adresse IP, XMPP et le courrier électronique qui fonctionnent.
- -
**Attention :** le **@** représente le nom de domaine par défaut que l’on est en train de définir, certains bureaux d’enregistrement ne l’acceptent pas (ex : OVH). Il faut donc remplacer le « @ » par votre nom de domaine (domain.tld**.**) sans oublier un point à la fin.
- -#### Time to live -Toutes les entrées DNS ci-dessus ont la valeur `1800` (30 minutes). Elle correspond au -[Time to live (TTL)](https://fr.wikipedia.org/wiki/Time_to_Live#Le_Time_to_Live_dans_le_DNS) qui représente et indique le temps, en secondes, durant lequel l’entrée DNS peut être conservée en cache. Passé ce délai, l’information doit être considérée comme obsolète et doit être mise à jour. +- Tous ces enregistrements ne sont pas nécessaires. Pour une installation minimale, seuls les enregistrements en gras sont nécessaires. +- Le point à la fin de `votre.domaine.tld.` est important ;) ; +- `@` corresponds à `votre.domaine.tld`, et par ex. `muc` corresponds à `muc.votre.domaine.tld` ; +- Les valeurs montrées sont des valeurs d'exemple ! Référez-vous à la configuration générée chez vous pour savoir quelles valeurs utiliser. +- Nous recommendons un [TTL](https://fr.wikipedia.org/wiki/Time_to_Live#Le_Time_to_Live_dans_le_DNS) de 3600 (1 heure). Mais vous pouvez utiliser une autre valeur si vous savez ce que vous faîtes ; +- Ne mettez pas d'enregistrement IPv6 si vous n'êtes pas certains que l'IPv6 fonctionne sur votre serveur ! Vous aurez des problèmes avec Let's Encrypt si ce n'est pas le cas. From 0e25e5b41a7fdc1321c93de6c371059e1c314283 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 1 Nov 2017 19:23:46 +0100 Subject: [PATCH 65/81] [enh] Rework page / explanations about port forwarding (#599) * [enh] Rework page / explanations about port forwarding * Adding back link to french tutorial for port forwarding --- images/portForwarding_en.png | Bin 0 -> 179076 bytes images/portForwarding_fr.png | Bin 0 -> 179822 bytes images/portForwarding_src_en.odg | Bin 0 -> 176184 bytes images/portForwarding_src_fr.odg | Bin 0 -> 176593 bytes isp_box_config.md | 51 ++++++++++++++--------- isp_box_config_fr.md | 67 ++++++++++++++++--------------- port_forwarding.md | 6 +++ port_forwarding_fr.md | 6 +++ 8 files changed, 77 insertions(+), 53 deletions(-) create mode 100644 images/portForwarding_en.png create mode 100644 images/portForwarding_fr.png create mode 100644 images/portForwarding_src_en.odg create mode 100644 images/portForwarding_src_fr.odg create mode 100644 port_forwarding.md create mode 100644 port_forwarding_fr.md diff --git a/images/portForwarding_en.png b/images/portForwarding_en.png new file mode 100644 index 0000000000000000000000000000000000000000..202d437fb5ae28a9f19bcb7be876d5bcf30b874d GIT binary patch literal 179076 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�Z^a5e9vTiL84?6U*T7@z-d~_6RNI`fI&3w|I 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≧ONHz?tDORS3 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 HF7N*UxouXC literal 0 HcmV?d00001 diff --git a/images/portForwarding_src_fr.odg b/images/portForwarding_src_fr.odg new file mode 100644 index 0000000000000000000000000000000000000000..16b9347a830e0110e889bbe7157f55ed1f533c14 GIT binary patch literal 176593 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

F8h0!i>SO$WI3vF=&7?V_er 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 KwJUra9{w+{Epn>> literal 0 HcmV?d00001 diff --git a/isp_box_config.md b/isp_box_config.md index abad4e44..508f79d6 100644 --- a/isp_box_config.md +++ b/isp_box_config.md @@ -1,35 +1,46 @@ -# Configuration box/router +# Configure port-forwarding -Check ports are open +If you are self-hosting at home and without a VPN, you need to forward ports on your home router ("Internet box"). If you want a short explanation on what is and why you need port forwarding, have a look in [this page](port_forwarding). -#### Access to box/routeur administration -In the URL bar of your web browser put: -```bash -192.168.0.1 or 192.168.1.1 -``` -Then you will need to authentificate. +### 0. Diagnose ports opened -#### Opening ports -Opening following ports are necessary to make works differents services. +After configuring port forwarding, you should be able to validate with this small tool that your ports are correctly forwarded : + +Check which ports are forwarded + +### 1. Access your box/router administration interface + +Your box/router admin interface is usually reachable via http://192.168.0.1 or http://192.168.1.1. Then, you will probably need to authenticate yourself with your internet server provider's credentials. + +### 2. Find the local IP of your server + +Identify what is the local IP of your server, either : +- from your box/router interface, which might list devices connected +- from the YunoHost webadmin, in 'State of the server', 'Network' +- from the command line in your server, by running `ip a | grep "scope global" | awk '{print $2}'` + +A local IP address typically looks like `192.168.xx.yy`, or `10.0.xx.yy`. + +### 3. Forwarding ports + +In your router admin interface, look for something like 'router configuration' or 'port forwarding'. The naming differs among the various kinds of boxes. + +Opening the ports listed below is necessary for the various services available in YunoHost to work. For each of them, the 'TCP' forwarding is needed. Some interfaces refer to 'external' and 'internal' ports : these are the same in our case. -**TCP:** * Web: 80 (HTTP), 443 (HTTPS) * [SSH](/ssh_en): 22 * [XMPP](/XMPP_en): 5222 (clients), 5269 (servers) * [Email](/email_en): 25, 465 (SMTP), 587 (SMTP with SSL), 993 (IMAP) -* [DNS](/dns_en): 53 -##### UPnP -UPnP permit automatically forward ports. +

+ Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](isp_en) for more info. +
-In some case, after changing your box configuration (ex: add IPv6, or unlock SMTP…) and a reboot. It happens that ports are no longer forwarded. So you have to reload your firewall configuration: +## Automatic port forwarding / UPnP + +A technology called UPnP is available on some internet boxes / routers and allows to automatically forward ports by the machine who needs them. If UPnP is enabled in your local network, then running this command should automatically open the port for you : ```bash sudo yunohost firewall reload ``` -##### Manual forward ports -In the case that UPnP doesn’t works, manual ports forward are necessary. - -##### Email -Internet service porviders blocks port 25 to avoid spam. To send mails, you’ll need to forward port 25. diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md index 973c5e91..5bcd46f9 100644 --- a/isp_box_config_fr.md +++ b/isp_box_config_fr.md @@ -1,50 +1,51 @@ -# Configuration box/routeur +# Configurer la redirection des ports -Vérifier que les ports sont ouverts +Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un oeil à [cette page](port_forwarding_fr). [Cette page](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs. -### Accès à l’administration de la box/routeur -Allez à l’adresse suivante : http://192.168.0.1 (ou celle-ci http://192.168.1.1). Puis authentifier-vous. +### 0. Diagnostiquer les ports ouverts -### Tutoriel -* [Tutoriel pour les ouvrir les ports sur les boxs d’Orange, Free, SFR, Dartybox, Belgacom et sur les routeurs Netgear](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html). +Une fois que vous aurez configuré la redirection, vous devriez pouvoir valider avec ce petit outil que vos ports sont bien redirigés : +Vérifier la redirection des ports -### Redirection des ports -La redirection des ports suivants est nécessaire au fonctionnement des différents services. +### 1. Accéder à l'interface d'administration de votre box/routeur -**TCP :** - * Web : 80 (HTTP), 443 (HTTPS) - * [SSH](ssh_fr) : 22 - * [XMPP](XMPP_fr) : 5222 (clients), 5269 (serveurs) - * [Courriel](email_fr) : 25, 465 (SMTP), 587 (SMTP avec chiffrement), 993 (IMAP) - * [DNS](dns_fr) : 53 +L'interface d'administration est généralement accessible via http://192.168.0.1 ou http://192.168.1.1. +Ensuite, il vous faudra peut-être vous authentifier avec les identifiants +fournis par votre fournisseur d'accès internet (FAI). -**UDP:** - * [DNS](dns_fr) : 53 +### 2. Trouver l'IP locale de votre serveur + +Identifiez quelle est l'IP locale de votre serveur, soit : +- depuis l'interface de votre routeur/box, qui liste peut-être les dispostifis + connectés. +- depuis la webadmin de YunoHost, dans 'État du serveur', 'Réseau' +- depuis la ligne de commande dans votre serveur, par exemple avec `ip a | grep "scope global" | awk '{print $2}'` + +Une adresse IP locale ressemble généralement à `192.168.xx.yy`, ou `10.0.xx.yy`. + +### 3. Rediriger les ports + +Dans l'interface d'administration de votre box/routeur, il vous faut trouver +une catégorie comme 'Configuration du routeur', ou 'Redirections de ports'. Le +nom diffère suivant le type / marque de la box... + +Il vous faut ensuite rediriger chacun des ports listés ci-dessous vers l'IP locale de votre serveur pour que les différents services de YunoHost fonctionnent. Pour chacun d'eux, une redirection 'TCP' est nécessaire. Certains interfaces font références à un port 'externe' et un port 'interne' : dans notre cas il s'agit du même. + +* Web: 80 (HTTP), 443 (HTTPS) +* [SSH](/ssh_fr): 22 +* [XMPP](/XMPP_fr): 5222 (clients), 5269 (servers) +* [Email](/email_fr): 25, 465 (SMTP), 587 (SMTP with SSL), 993 (IMAP)
- Certains fournisseurs d'accès internet / box internet imposent des contraintes sur certains ports. C'est le cas notamment du port 25 que seuls certains FAI permettent d'ouvrir. D'autres (e.g. SFR Red...) ne permettent pas d'utiliser librement les ports 80, 443 ou 22. + Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](isp_fr) pour plus d'informations.
+## Redirection automatique / UPnP ---- - -#### UPnP - -L’UPnP permet d’ouvrir automatiquement les ports. Si ce n’est pas le cas par défaut, vous pouvez l’activer via l’interface d’administration de votre routeur. - -Dans certains cas après avoir changé la configuration de votre box (ex : sur Freebox ajout d’IPv6, débloquer le SMTP…) et après l’avoir rebooté. Il se peut que vos ports ne soient plus redirigés. Il faut donc réautoriser ces ports par le firewall : +Une technologie nommée UPnP est disponible sur certains routeurs/box et permet de rediriger automatiquement des ports vers une machine qui le demande. Si UPnP est activé chez vous, exécuter cette commande devrait automatiquement rediriger les bons ports : ```bash sudo yunohost firewall reload ``` -#### Redirection manuelle des ports - -Dans le cas où l’UPnP ne fonctionne pas, la redirection manuelle des ports est nécessaire. Encore une fois, référez-vous à l’interface d’administration de votre routeur. - -ATTENTION (CPU ARM) : l’activation de l’UPnP est inefficace avec les serveurs équipés d’un processeur ARM (remarque valable pour YunoHost v2.2). Une redirection manuelle des ports du routeur est alors requise. - -#### Le courrier électronique - -Les fournisseurs d’accès à Internet bloquent souvent le port 25 pour éviter que les ordinateurs de votre réseau n’envoient des spams sur Internet à votre insu. Pour pouvoir envoyer des emails, il vous faut donc ouvrir le port 25, ou désactiver l’option « blocage SMTP sortant » dans l’administration de votre routeur. diff --git a/port_forwarding.md b/port_forwarding.md new file mode 100644 index 00000000..c24f5542 --- /dev/null +++ b/port_forwarding.md @@ -0,0 +1,6 @@ +# Port forwarding + +The sketch below tries to briefly summarize the role and necessity of port +forwarding when setting up a server at home. + + diff --git a/port_forwarding_fr.md b/port_forwarding_fr.md new file mode 100644 index 00000000..1793b27b --- /dev/null +++ b/port_forwarding_fr.md @@ -0,0 +1,6 @@ +# Redirection de ports + +Le schéma ci-dessous tente d'expliquer brièvement le rôle de la redirection des +ports lors de la mise en place d'un serveur à la maison. + + From 02268b29859903d350b5cde2d3d20479cd2873aa Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 1 Nov 2017 19:24:34 +0100 Subject: [PATCH 66/81] Setting WebDAV auth method to Digest breaks AgenDAV. (#592) --- app_baikal.md | 1 - 1 file changed, 1 deletion(-) diff --git a/app_baikal.md b/app_baikal.md index 39735890..83a85d48 100644 --- a/app_baikal.md +++ b/app_baikal.md @@ -11,7 +11,6 @@ The user name specified is "admin" followed by the specific password choosen at ### Example of creating a new user: -Go to the "settings" tab, select "Digest" in "WebDAV authentication type". Add users to the "Users and resources" tab. ## CalDAV Connection From 1ce2178da8903f38b8a836b780432df28efa1302 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Mon, 6 Nov 2017 00:33:06 +0000 Subject: [PATCH 67/81] 192.168.1.7 is an example, but I tried it thinking that it was a static IP address. Just trying to make it clearer. --- postinstall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinstall.md b/postinstall.md index b62fcf00..35246f63 100644 --- a/postinstall.md +++ b/postinstall.md @@ -4,7 +4,7 @@ The step called "**post-installation**" is actually the initial configuration of ## Access -You can access it graphically by entering your **server's local IP** address in a **web browser** (e.g. `http://192.168.1.7`). +You can access it graphically by entering your **server's local IP** address in a **web browser** (e.g. `http://192.168.1.7`; you'll get this from the client table on your router's admin page). From ffae86ce97355a80b20f526e9b785fd5ca70a398 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 6 Nov 2017 23:03:04 +0100 Subject: [PATCH 68/81] Adding stuff to the FAQ --- faq.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ faq_fr.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+) diff --git a/faq.md b/faq.md index f61f68ec..44662e13 100644 --- a/faq.md +++ b/faq.md @@ -1,5 +1,6 @@ # Frequently Asked Questions + #### Under which licence is YunoHost distributed? YunoHost packages are under free licenses GNU AGPL v.3. @@ -8,15 +9,88 @@ YunoHost is based on Debian, so on licenses of Debian based elements. Applications and applications packages have their respectives licenses. + +#### What is the goal of YunoHost? + +We believe that decentralizing the Internet, and people taking back control and +responsability over their own data and services, is a crucial issue to guarantee +a free and democratic society. + +The YunoHost project aims to democratize self-hosting. + +It provides a software that aim to make it easy for people to run and +administrate their own server, with minimal knowledge and time required. + + +#### But what does YunoHost *do* exactly? + +YunoHost may be called a distribution or an operating system, but it's actually +"just" a simple layer added over the top of Debian, which does most of the hard +work for you. + +For instance, if you wanted to install Wordpress, you would need to type a bunch +of commands to create some users, setup a web server, setup a SQL server, +download the wordpress archive, uncompress it, configure the web server, +configure the SQL database, and finally configure wordpress. YunoHost handle +the technical mess and "type all these commands for you", so that you can focus +on what really matters. + +More info on [this page](whatsyunohost) ! + +#### Can I host my own personnal website with YunoHost? + +Yes ! Have a look at the [Custom Web app](https://github.com/YunoHost-Apps/my_webapp_ynh). +It provides an "empty shell" : after installing it, just upload your files +(via SSH/SCP or SFTP) to the right location. You can have PHP and a SQL database +if you need. + + #### Can I host many independents websites with different domain names? Yes ! YunoHost is multi-user and multi-domain. Some applications like *WordPress* or *Web App Multi Custom*, are multi-instances, which means that the application can be installed many times. + #### Why can't I access to applications via the IP address? The [SSO](https://github.com/Kloadut/SSOwat/) (single sign-on) cannot properly authenticate users when they access your server with only its IP. If you really can't configure the DNS properly, you can temporarily work around it by [modifying the `hosts` file (last §)](dns_local_network_en) on your computer. +#### What's YunoHost's business model? + +At the moment, YunoHost is maintained only by volunteers working in their free +time. Basically no money is involved in the project (apart from server fees +or stickers :P), which also means that we are independent and not +pressured by economical concerns. + +Right now, the team is not too enthusiast about bringing money in the project. +With that said, some contributors have professional projects which involve +YunoHost. + + +#### Can I make donations to the project? + +At the moment we don't have any system to receive money donations. We do however +receive some in-kind contributions from association, like servers. + + +#### How can I contribute to the project? + +There are [many ways to contribute](contribute) :). + +Don't hesitate to come talk to us about your ideas! + +A common misconception for newcomers in free software projects is to think that +they are "not skilled enough". In practice, nobody is "skilled" :). What really +matter is : [liking what you do](https://www.youtube.com/watch?v=zIbR5TAz2xQ&t=113s), +being friendly with other human beings, being patient and stubborn with machines, +and having some free time. Other than that, just doing what you can is already awesome! + + +#### What's YunoHost's political model? + +It is described in [this document](https://github.com/YunoHost/project-organization/blob/master/yunohost_project_organization.md) :). + + #### Will you port YunoHost to [insert favorite distro] ? Short answer: No. We don't have the energy for it and this is irrelevant. @@ -30,6 +104,7 @@ Short answer: No. We don't have the energy for it and this is irrelevant.

If this does not convince you, there are other projects running on other distributions or with different philosophy.

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%0AXG(PPme`ts{02`^whfzuRQQtE6_YawaJpF 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 E1&1XtqW}N^ literal 0 HcmV?d00001 diff --git a/images/portForwarding_src_en.odg b/images/portForwarding_src_en.odg new file mode 100644 index 0000000000000000000000000000000000000000..3a6300c1ddb6449e41c94370d14cc17f6b4421db GIT binary patch literal 176184 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Ï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

+ #### I checked how apps packaging work. Why are you reinventing [insert favorite package format] ? Short answer: We are not. diff --git a/faq_fr.md b/faq_fr.md index 55def519..bafac065 100644 --- a/faq_fr.md +++ b/faq_fr.md @@ -8,6 +8,45 @@ YunoHost est basé sur Debian, donc sur les licences des éléments sur lesquels Les applications et les packages d’applications ont leurs licences respectives. + +#### Quel est l'objectif de YunoHost? + +Nous pensons que la décentalization d'Internet, et la reprise du contrôle et +de la responsabilité des données et services par les citoyens est un enjeu +crucial pour garantir une société libre et démocratique. + +Le projet YunoHost cherche à démocratiser l'auto-hébergement. + +Nous fournissons un logiciel qui cherche à rendre simple le fait de gérer et +d'administrer un serveur soi-même, en minimisant les compétences et le temps +requis. + + +#### Mais qu'est-ce que ça fait *vraiment*? + +YunoHost peut être appelé une distribution ou un système d'exploitation, mais +dans les fait, c'est une "simple" couche par dessus Debian, qui gère les +manipulations pénibles à votre place. + +Par exemple, pour installer un Wordpress à la main, il vous faudrait taper +toute une série de commande pour créer des utilisateurs, mettre en place un +serveur web, mettre en place un serveur SQL, télécharger l'archive de Wordpress, +la décompresser, configurer le serveur web, configurer la base de données SQL, +et finalement configurer Wordpress. YunoHost gère toute cette partie technique +et "tape les commandes à votre place", pour que vous puissiez vous concentrer +sur ce qui compte vraiment. + +Plus d'informations sur [cette page](whatsyunohost) ! + + +#### Puis-je gérer mon propre site web avec YunoHost? + +Oui ! Il faut regarder du côté de [cette app](https://github.com/YunoHost-Apps/my_webapp_ynh). +Elle fournit une "coquille vide" : après l'installation, il suffit d'uploader +vos fichiers (via SSH/SCP ou SFTP) au bon endroit. Il est aussi possible +d'avoir du PHP et une base de donnée SQL si besoin. + + #### Peut-on héberger plusieurs sites indépendants avec des noms de domaines différents ? On peut tout à fait héberger plusieurs sites web car YunoHost est multi-domaine et que certaines applications de gestion de sites web, comme *WordPress* ou *Web App Multi Custom*, sont multi-instances, c’est-à-dire que l’application peut-être installée plusieurs fois. @@ -16,6 +55,46 @@ On peut tout à fait héberger plusieurs sites web car YunoHost est multi-domain Pour des raisons techniques, le [SSO](https://github.com/Kloadut/SSOwat/) ne permet pas aux utilisateurs de se logger à l'espace utilisateur lorsque l'on accède au serveur uniquement avec l'IP. Si vous ne pouvez réellement pas configurer un nom de domaine, une solution temporaire peut être de modifier le [fichier `hosts` (dernier §)](dns_local_network_fr) de son ordinateur. + +#### Quel est le modèle économique de YunoHost ? + +À l'heure actuelle, YunoHost est maintenu uniquement par une équipe de bénévole +travaillant pendant leur temps libre. Il n'y a pas d'argent impliqué dans le +projet (hormis quelques frais de serveurs et stickers :P), ce qui signifie +également que nous sommes indépendant de toute préocuppations économiques. + +Pour le moment, l'équipe est assez peu enthousiaste à l'idée d'include de +l'argent dans la projet. Cependant, certains contributeurs mène des activités +professionelles qui sont liées à YunoHost. + + +#### Puis-je faire un don au projet ? + +Pour le moment, nous n'avons pas mis en place de moyen pour recevoir des dons. +Cependant, nous bénéficions de contributions en nature apportées par des associations, +comme des serveurs. + + +#### Comment puis-je contributer au projet ? + +Il y existe [plusieurs façons de contribuer](contribute) :). + +N'hésitez pas à venir nous parler de vos idées! + +Une idée répandue parmis les nouveaux contributeurs aux logiciels libres est +de ne pas être "assez compétent". En pratique, croyez-le, personne n'est +compétent :). Ce qui compte vraiment est : [d'aimer ce que vous faites](https://www.youtube.com/watch?v=zIbR5TAz2xQ&t=113s), +être sympatique avec les autres êtres humains du projet, être patient et têtu +avec les machines, et avoir du temps libre. À part ça, juste faire ce que vous +pouvez, c'est déjà trop cool! + + +#### Quel est le modèle politique de YunoHost ? + +Il est décrit dans [ce document](https://github.com/YunoHost/project-organization/blob/master/yunohost_project_organization.md) :). + + + #### Pouvez-vous porter YunoHost sur [ma distro préféré] ? Réponse courte : Non. L'équipe n'a pas l'énergie et ce n'est pas pertinent pour le but recherché par YunoHost. From 9c923733dc7bed4b6b4071587ae96b6d0772fdc0 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 15 Nov 2017 20:18:29 +0100 Subject: [PATCH 69/81] s/YunHost/YunoHost (#605) --- troubleshooting_guide_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/troubleshooting_guide_fr.md b/troubleshooting_guide_fr.md index def18ea2..fcd7456d 100644 --- a/troubleshooting_guide_fr.md +++ b/troubleshooting_guide_fr.md @@ -232,7 +232,7 @@ Toutes les erreurs liées aux applications installées sur ce domaine, il se peu ## SSOwat [SSowat](https://github.com/Kloadut/SSOwat) -est le logiciel qui connecte le serveur web nginx au serveur LDAP. Son but est d’authentifier les utilisateurs au portail YunHost pour pouvoir simplement changer entre les applications. +est le logiciel qui connecte le serveur web nginx au serveur LDAP. Son but est d’authentifier les utilisateurs au portail YunoHost pour pouvoir simplement changer entre les applications. ### Configuration Vous pouvez regarder le fichier de configuration SSOwat dans le fichier : From 7c59ad3291a6176366dbdf6460bb3d4e4665807f Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 15 Nov 2017 20:19:12 +0100 Subject: [PATCH 70/81] =?UTF-8?q?R=C3=A9pare=20l'affichage=20de=20bali?= =?UTF-8?q?ses=20code=20(#606)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- security_fr.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/security_fr.md b/security_fr.md index e37c6392..e48372c0 100644 --- a/security_fr.md +++ b/security_fr.md @@ -36,13 +36,12 @@ ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub ```
-Si vous êtes sur Ubuntu 16.04 vous devez faire ```ssh-add``` pour initialiser l'agent ssh +Si vous êtes sur Ubuntu 16.04 vous devez faire `ssh-add` pour initialiser l'agent ssh
+ Entrez le mot de passe d’administration et votre clé publique devrait être copiée sur votre serveur. - **Sur votre serveur**, éditez le fichier de configuration SSH, pour désactiver l’authentification par mot de passe. - ```bash nano /etc/ssh/sshd_config From 84e35c77af80d5a10eac1ca2f33caca3aa35fd72 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Wed, 15 Nov 2017 20:19:26 +0100 Subject: [PATCH 71/81] =?UTF-8?q?s/f=C3=A9licitaton/f=C3=A9licitations=20(?= =?UTF-8?q?#607)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- postinstall_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postinstall_fr.md b/postinstall_fr.md index 6459645a..e8532ad2 100644 --- a/postinstall_fr.md +++ b/postinstall_fr.md @@ -49,7 +49,7 @@ De manière générale, c’est la **clé d’entrée à votre système**, pense ## Félicitations ! Si vous arrivez ici après avoir vu "YunoHost a été installé avec succès" depuis -votre navigateur ou la ligne de commande, alors félicitaton ! +votre navigateur ou la ligne de commande, alors félicitations ! ### Et maintenant ? From 3e9bb83bd7ef1c420c1a8bff42d501629c49ed54 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 3 Dec 2017 22:25:27 +0100 Subject: [PATCH 72/81] =?UTF-8?q?Ajout=20de=20"TCP"=20dans=20la=20?= =?UTF-8?q?ligne=20de=20commande=20pour=20d=C3=A9sactiver=20le=20port=2022?= =?UTF-8?q?=20par=20d=C3=A9faut.=20(#610)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- security_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security_fr.md b/security_fr.md index e48372c0..91d0c980 100644 --- a/security_fr.md +++ b/security_fr.md @@ -72,7 +72,7 @@ Ensuite redémarrez le firewall iptables et fermez l’ancien port dans iptables ```bash yunohost firewall reload -yunohost firewall disallow # port par défaut 22 +yunohost firewall disallow TCP # port par défaut 22 yunohost firewall disallow --ipv6 TCP # pour ipv6 ``` From a860fd21732a9654054db87ea06575a300276214 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 3 Dec 2017 22:28:01 +0100 Subject: [PATCH 73/81] [Anonymous contrib] Added a request to add TwitRSS.me as a package. (#608) * Added a request to add TwitRSS.me as a package. * Fix formatting --- apps_wishlist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index e4a959d9..8eb72f8f 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -139,6 +139,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [TorChat](https://github.com/prof7bit/TorChat) - [Torrent Tunes](https://github.com/tchoulihan/torrenttunes-client) - [Total Respawn](https://github.com/broncowdd/TotalRespawn) +- [TwitRSS.me](http://twitrss.me/) ([Github](https://github.com/ciderpunx/twitrssme)) Scrapes Twitter to create RSS feeds. - [Twister](http://twister.net.co) - [Unvis](https://github.com/lodjuret/unvis.it) - [Unsee](https://github.com/unsee-cc) From ff5fda9e946e925b89e153ba05c47ea6ceb44098 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Sun, 3 Dec 2017 22:33:11 +0100 Subject: [PATCH 74/81] [Anonymous contrib] installer Yunohost sur un pc-engine apu (#611) * installer Yunohost sur un pc-engine apu * (Formattage) --- install_iso_fr.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/install_iso_fr.md b/install_iso_fr.md index 832448b3..699f9e7a 100644 --- a/install_iso_fr.md +++ b/install_iso_fr.md @@ -31,3 +31,7 @@ Pour se connecter directement sur l’ordinateur (uniquement en local) : * Utilisateur : **root** * Mot de passe : **yunohost** + +## Cas spécifiques / avancés + +Si l'ordinateur n'a pas de carte graphique mais a un port série : il faut modifier l'ISO pour démarrer avec la console série. Une solution est d'utiliser [un script qui modifie les options de démarrage](https://github.com/luffah/debian-mkserialiso). From f1899de75bffefe2476488f745acbd7d255b1296 Mon Sep 17 00:00:00 2001 From: JimboJoe Date: Sun, 3 Dec 2017 22:34:21 +0100 Subject: [PATCH 75/81] Add NetData documentation (#548) --- app_netdata.md | 262 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 app_netdata.md diff --git a/app_netdata.md b/app_netdata.md new file mode 100644 index 00000000..f3831882 --- /dev/null +++ b/app_netdata.md @@ -0,0 +1,262 @@ +## NetData + +[NetData](http://my-netdata.io/) is a system for **distributed real-time performance and health monitoring**. +It provides **unparalleled insights, in real-time**, of everything happening on the +system it runs (including applications such as web and database servers), using +**modern interactive web dashboards**. + +_netdata is **fast** and **efficient**, designed to permanently run on all systems +(**physical** & **virtual** servers, **containers**, **IoT** devices), without +disrupting their core function._ + +[![Install Piwigo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) + +**Customization brought by the package:** + +* grant MySQL statistics access via a `netdata` user +* nginx root log statistics via putting `netdata` user in the `adm` group +* Dovecot statistics via giving access to Dovecot stats stocket to `netdata` user (works only with Dovecot 2.2.16+) + +**Further recommendations:** +We don't allow YunoHost packages to make sensible changes to system files. So here are further customizations you can make to allow more monitoring: + +* Nginx: + * requests/connections: follow [these recommandations](https://github.com/firehol/netdata/tree/master/python.d#nginx) to enable `/stab_status` (for example by putting the `location` section in `/etc/nginx/conf.d/yunohost_admin.conf` + * weblogs: you can monitor all your nginx weblogs for errors; follow [these recommendations](https://github.com/firehol/netdata/tree/master/python.d#nginx_log) +* phpfpm: follow [these recommandations](https://github.com/firehol/netdata/tree/master/python.d#phpfpm) + +## Features + +

+ +

+ + - **Stunning interactive bootstrap dashboards**
+ mouse and touch friendly, in 2 themes: dark, light + + - **Amazingly fast**
+ responds to all queries in less than 0.5 ms per metric, + even on low-end hardware + + - **Highly efficient**
+ collects thousands of metrics per server per second, + with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all + + - **Sophisticated alarming**
+ hundreds of alarms, **out of the box**!
+ supports dynamic thresholds, hysteresis, alarm templates, + multiple role-based notification methods (such as email, slack.com, + pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com) + + - **Extensible**
+ you can monitor anything you can get a metric for, + using its Plugin API (anything can be a netdata plugin, + BASH, python, perl, node.js, java, Go, ruby, etc) + + - **Embeddable**
+ it can run anywhere a Linux kernel runs (even IoT) + and its charts can be embedded on your web pages too + + - **Customizable**
+ custom dashboards can be built using simple HTML (no javascript necessary) + + - **Zero configuration**
+ auto-detects everything, it can collect up to 5000 metrics + per server out of the box + + - **Zero dependencies**
+ it is even its own web server, for its static web files and its web API + + - **Zero maintenance**
+ you just run it, it does the rest + + - **scales to infinity**
+ requiring minimal central resources + + - **several operating modes**
+ autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations. + Each node may have different metrics retention policy and run with or without health monitoring. + + - **time-series back-ends supported**
+ can archive its metrics on `graphite`, `opentsdb`, `prometheus`, json document DBs, in the same or lower detail + (lower: to prevent it from congesting these servers due to the amount of data collected) + +![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif) + +--- + +## What does it monitor? + +netdata collects several thousands of metrics per device. +All these metrics are collected and visualized in real-time. + +> _Almost all metrics are auto-detected, without any configuration._ + +This is a list of what it currently monitors: + +- **CPU**
+ usage, interrupts, softirqs, frequency, total and per core, CPU states + +- **Memory**
+ RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA + +- **Disks**
+ per disk: I/O, operations, backlog, utilization, space, software RAID (md) + + ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif) + +- **Network interfaces**
+ per interface: bandwidth, packets, errors, drops + + ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif) + +- **IPv4 networking**
+ bandwidth, packets, errors, fragments, + tcp: connections, packets, errors, handshake, + udp: packets, errors, + broadcast: bandwidth, packets, + multicast: bandwidth, packets + +- **IPv6 networking**
+ bandwidth, packets, errors, fragments, ECT, + udp: packets, errors, + udplite: packets, errors, + broadcast: bandwidth, + multicast: bandwidth, packets, + icmp: messages, errors, echos, router, neighbor, MLDv2, group membership, + break down by type + +- **Interprocess Communication - IPC**
+ such as semaphores and semaphores arrays + +- **netfilter / iptables Linux firewall**
+ connections, connection tracker events, errors + +- **Linux DDoS protection**
+ SYNPROXY metrics + +- **fping** latencies
+ for any number of hosts, showing latency, packets and packet loss + + ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png) + + +- **Processes**
+ running, blocked, forks, active + +- **Entropy**
+ random numbers pool, using in cryptography + +- **NFS file servers and clients**
+ NFS v2, v3, v4: I/O, cache, read ahead, RPC calls + +- **Network QoS**
+ the only tool that visualizes network `tc` classes in realtime + + ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif) + +- **Linux Control Groups**
+ containers: systemd, lxc, docker + +- **Applications**
+ by grouping the process tree and reporting CPU, memory, disk reads, + disk writes, swap, threads, pipes, sockets - per group + + ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif) + +- **Users and User Groups resource usage**
+ by summarizing the process tree per user and group, + reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets + +- **Apache and lighttpd web servers**
+ `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers + +- **Nginx web servers**
+ `stub-status`, for multiple servers + +- **Tomcat**
+ accesses, threads, free memory, volume + +- **web server log files**
+ extracting in real-time, web server performance metrics and applying several health checks + +- **mySQL databases**
+ multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, + tmp operations, connections, binlog metrics, threads, innodb metrics, and more + +- **Postgres databases**
+ multiple servers, each showing: per database statistics (connections, tuples + read - written - returned, transactions, locks), backend processes, indexes, + tables, write ahead, background writer and more + +- **Redis databases**
+ multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves + +- **mongodb**
+ operations, clients, transactions, cursors, connections, asserts, locks, etc + +- **memcached databases**
+ multiple servers, each showing: bandwidth, connections, items + +- **elasticsearch**
+ search and index performance, latency, timings, cluster statistics, threads statistics, etc + +- **ISC Bind name servers**
+ multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics + +- **NSD name servers**
+ queries, zones, protocols, query types, transfers, etc. + +- **Postfix email servers**
+ message queue (entries, size) + +- **exim email servers**
+ message queue (emails queued) + +- **Dovecot** POP3/IMAP servers
+ +- **ISC dhcpd**
+ pools utilization, leases, etc. + +- **IPFS**
+ bandwidth, peers + +- **Squid proxy servers**
+ multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests + +- **HAproxy**
+ bandwidth, sessions, backends, etc + +- **varnish**
+ threads, sessions, hits, objects, backends, etc + +- **OpenVPN**
+ status per tunnel + +- **Hardware sensors**
+ `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity + +- **NUT and APC UPSes**
+ load, charge, battery voltage, temperature, utility metrics, output metrics + +- **PHP-FPM**
+ multiple instances, each reporting connections, requests, performance + +- **hddtemp**
+ disk temperatures + +- **smartd**
+ disk S.M.A.R.T. values + +- **SNMP devices**
+ can be monitored too (although you will need to configure these) + +- **statsd**
+ [netdata is a fully featured statsd server](https://github.com/firehol/netdata/wiki/statsd) + +And you can extend it, by writing plugins that collect data from any source, using any computer language. + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/netdata_ynh/issues + * NetData website: http://my-netdata.io/ \ No newline at end of file From 08d4e5238a79549b847e4c2a10130bc3ec79fb4b Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 13 Dec 2017 09:22:09 +0000 Subject: [PATCH 76/81] fixed a typo --- dkim_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkim_fr.md b/dkim_fr.md index c7c95c6f..e85066c2 100644 --- a/dkim_fr.md +++ b/dkim_fr.md @@ -2,7 +2,7 @@
DKIM est maintenant intégré de base dans YunoHost grâce à [Rspamd](https://rspamd.com)/rmilter. -Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommendé pour +Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommandé pour mail._domainkey tel que donné par [la configuration DNS recommandée](dns_config_fr) pour que les signatures DKIM soient pleinement fonctionelles.
From 836112451701543fd79c45cb45d60147916759f3 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Wed, 13 Dec 2017 09:22:19 +0000 Subject: [PATCH 77/81] fixed a typo --- dkim_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dkim_fr.md b/dkim_fr.md index c7c95c6f..e85066c2 100644 --- a/dkim_fr.md +++ b/dkim_fr.md @@ -2,7 +2,7 @@
DKIM est maintenant intégré de base dans YunoHost grâce à [Rspamd](https://rspamd.com)/rmilter. -Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommendé pour +Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommandé pour mail._domainkey tel que donné par [la configuration DNS recommandée](dns_config_fr) pour que les signatures DKIM soient pleinement fonctionelles.
From 2b9f523ec89f2cc51ef721f372b95d6004fe42ab Mon Sep 17 00:00:00 2001 From: Yunobot Date: Sun, 17 Dec 2017 03:39:23 +0000 Subject: [PATCH 79/81] Corrected some translation issues, fixing spelling errors and strange wording. --- troubleshooting_guide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/troubleshooting_guide.md b/troubleshooting_guide.md index c6ada8fc..f3179ba4 100644 --- a/troubleshooting_guide.md +++ b/troubleshooting_guide.md @@ -15,15 +15,15 @@ Keep in mind that when you install an app, you execute code on your server with From my experience, some packaging are excellent and others can break some part of your YunoHost instance. Some packages are unmaintained. So before install check package issues, the [Forum](http://forum.yunohost.org/) and the [YunoHost support room](support_en) to see if other have problem with the app. ### Check the official documentation -Answer to your question may be already in [the documentatioon](https://yunohost.org/#/sitemap_en). +Answer to your question may be already in [the documentation](https://yunohost.org/#/sitemap_en). ### Check the command line help Learn how to use the [YunoHost commands](https://yunohost.org/#/moulinette_en) like a pro. ## Upgrade -Problems oftenly occurs after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en). +Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en). -**Check if some processes are using old librairies** +**Check if some processes are using old libraries** You are probably familiar with: ```bash From 572d64d4b2eb0ab31b62326e5e1c077b355ba0c1 Mon Sep 17 00:00:00 2001 From: Yunobot Date: Mon, 18 Dec 2017 17:51:07 +0000 Subject: [PATCH 80/81] rajout de l'appli Museek+ et qBittorrent --- apps_wishlist.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps_wishlist.md b/apps_wishlist.md index 8eb72f8f..299f3680 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -96,6 +96,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Modoboa](http://modoboa.org) - [MotionEye](https://github.com/ccrisan/motioneye) - [MPD](http://www.musicpd.org) +- [Museek+](https://github.com/eLvErDe/museek-plus) - [Nibbleblog](http://www.nibbleblog.com) - [Nuage](https://nuage.kerjean.me/login) - [ONLYOFFICE](http://onlyoffice.org) @@ -118,6 +119,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [ProcessMaker](http://www.processmaker.com) - [Pulse](https://ind.ie/pulse) - [Pump.io](http://pump.io) +- [qBittorrent](https://github.com/qbittorrent/qBittorrent) - [racktables](http://racktables.org) - [remotestorage-server](http://remotestorage.io/provide) - [Request Tracker](https://bestpractical.com) From 92cf331882b5bdbefc4af4de3b660cead7416284 Mon Sep 17 00:00:00 2001 From: YunoHost Bot Date: Tue, 19 Dec 2017 23:02:44 +0100 Subject: [PATCH 81/81] =?UTF-8?q?Dans=20la=20description=20anglaise=20de?= =?UTF-8?q?=20XMPP,=20le=20lien=20vers=20metronome=20est=20obsol=C3=A8te?= =?UTF-8?q?=20(#612)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XMPP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XMPP.md b/XMPP.md index 3b6ccc68..79027d84 100644 --- a/XMPP.md +++ b/XMPP.md @@ -2,7 +2,7 @@ XMPP is a communication protocol of instant messaging, VoIP (Voice over IP), videoconferencing. YunoHost provide: -* [Metronome](http://www.lightwitch.org/metronome): a XMPP server +* [Metronome](https://metronome.im/): a XMPP server * [Jappix](/apps): a web XMPP client ## Desktop XMPP client