diff --git a/app_kanboard.md b/app_kanboard.md new file mode 100644 index 00000000..29fb4432 --- /dev/null +++ b/app_kanboard.md @@ -0,0 +1,20 @@ +# kanboard's logo Kanboard + +[![Install kanboard with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=kanboard) [![Integration level](https://dash.yunohost.org/integration/kanboard.svg)](https://dash.yunohost.org/appci/app/kanboard) + +### Index + +- [Useful links](#useful-links) + +Kanboard is a visual task manager that makes it easy to manage small projects in a collaborative way. The tool is particularly suitable for people who use the Kanban method. Kanboard can be seen as a +(Simplified) alternative to the proprietary Trello software. Kanboard is a minimalist software, it focuses only on the features that are really necessary. The user interface is simple and clear. +The tool is designed to run on a small machine such as a Raspberry Pi or a Virtual Private Server (VPS). There are no external dependencies, drag and drop of tasks uses the new HTML5 APIs. + + +## Useful links + ++ Website: [kanboard.org](https://kanboard.org) ++ Official documentation: [docs.kanboard.org/en/latest](https://docs.kanboard.org/en/latest) ++ Demonstration: [Demo](https://framaboard.org) ++ Application software repository: [github.com - YunoHost-Apps/kanboard](https://github.com/YunoHost-Apps/kanboard_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/kanboard/issues](https://github.com/YunoHost-Apps/kanboard_ynh/issues) diff --git a/app_kanboard_fr.md b/app_kanboard_fr.md new file mode 100644 index 00000000..c34a02ba --- /dev/null +++ b/app_kanboard_fr.md @@ -0,0 +1,18 @@ +# logo de kanboard Kanboard + +[![Install kanboard with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=kanboard) [![Integration level](https://dash.yunohost.org/integration/kanboard.svg)](https://dash.yunohost.org/appci/app/kanboard) + +### Index + +- [Liens utiles](#liens-utiles) + +Kanboard est un gestionnaire de tâches visuel qui permet de gérer facilement des petits projets de manière collaborative. L'outil est particulièrement adapté aux personnes qui utilisent la méthode Kanban. On peut voir Kanboard comme une alternative (simplifiée) au logiciel propriétaire Trello. Kanboard est un logiciel minimaliste, il se concentre uniquement sur les fonctionnalités réellement nécessaires. L'interface utilisateur est simple et clair. +L'outil est prévu pour fonctionner sur une petite machine tel qu'un Raspberry Pi ou un serveur virtuel privé (VPS). Il n'y a aucune dépendance externe, le glisser-déposer des tâches utilise les nouvelles API de HTML5. + +## Liens utiles + ++ Site web : [kanboard.org](https://kanboard.org) ++ Documentation officielle : [docs.kanboard.org/en/latest](https://docs.kanboard.org/fr/latest) ++ Démonstration : [Démo](https://framaboard.org) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/kanboard](https://github.com/YunoHost-Apps/kanboard_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/kanboard/issues](https://github.com/YunoHost-Apps/kanboard_ynh/issues) diff --git a/app_keeweb.md b/app_keeweb.md new file mode 100644 index 00000000..3a4c0201 --- /dev/null +++ b/app_keeweb.md @@ -0,0 +1,20 @@ +# keeweb's logo Keeweb + +[![Install keeweb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=keeweb) [![Integration level](https://dash.yunohost.org/integration/keeweb.svg)](https://dash.yunohost.org/appci/app/keeweb) + +### Index + +- [Useful links](#useful-links) + +An elegant and efficient web manager to manage your passwords remotely. +The file containing the passwords (.kdbx) can follow you locally on your PC, on a USB key or be stored on your server in webdav. +Keeweb also manages files compatible with other password managers such as [KeePass](http://keepass.info), [KeePassX](https://www.keepassx.org/) or [KeepassXC](https://keepassxc.org/). + + +## Useful links + ++ Website: [keeweb.info](https://keeweb.info) ++ Official documentation: [keeweb.info](https://keeweb.info) ++ Demonstration: [Demo](https://app.keeweb.info) ++ Application software repository: [github.com - YunoHost-Apps/keeweb](https://github.com/YunoHost-Apps/keeweb_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/keeweb/issues](https://github.com/YunoHost-Apps/keeweb_ynh/issues) diff --git a/app_keeweb_fr.md b/app_keeweb_fr.md new file mode 100644 index 00000000..e4721889 --- /dev/null +++ b/app_keeweb_fr.md @@ -0,0 +1,19 @@ +# logo de keeweb Keeweb + +[![Install keeweb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=keeweb) [![Integration level](https://dash.yunohost.org/integration/keeweb.svg)](https://dash.yunohost.org/appci/app/keeweb) + +### Index + +- [Liens utiles](#liens-utiles) + +Un gestionnaire web élégant et efficace pour gérer vos mots de passe à distance. +Le fichier contenant les mots de passe (.kdbx) peut vous suivre en local sur votre PC, sur une clef USB ou être stocké sur votre serveur en webdav. +Keeweb gère aussi des fichiers compatibles avec les autres gestionnaires de mots de passe comme [KeePass](http://keepass.info), [KeePassX](https://www.keepassx.org/) ou [KeepassXC](https://keepassxc.org/). + +## Liens utiles + ++ Site web : [keeweb.info](https://keeweb.info) ++ Documentation officielle : [keeweb.info](https://keeweb.info) ++ Démonstration : [Démo](https://app.keeweb.info) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/keeweb](https://github.com/YunoHost-Apps/keeweb_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/keeweb/issues](https://github.com/YunoHost-Apps/keeweb_ynh/issues) diff --git a/app_moodle.md b/app_moodle.md new file mode 100644 index 00000000..9b6f8eab --- /dev/null +++ b/app_moodle.md @@ -0,0 +1,20 @@ +# moodle's logo Moodle + +[![Install moodle with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=moodle) [![Integration level](https://dash.yunohost.org/integration/moodle.svg)](https://dash.yunohost.org/appci/app/moodle) + +### Index + +- [Useful links](#useful-links) + +Moodle is a Learning Management System (LMS) for creating, sharing and animating learning and training resources. +At least it can be used to share course materials (in different formats), but above all, it allows the creation of rich learning activities focusing on interactions between users (learners like +trainers). +It integrates about ten activities (quiz, lesson, forum, wiki, homework, survey, self-assessment workshop between peers...) and resource formats (pdf, text, audio-visual, image, scorm...) by default that can be enriched by modules +complementary (in particular to propose specific activities in certain areas). + +## Useful links + ++ Website: [moodle.org](https://moodle.org) ++ Official documentation: [docs.moodle.org](https://docs.moodle.org) ++ Application software repository: [github.com - YunoHost-Apps/moodle](https://github.com/YunoHost-Apps/moodle_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/moodle/issues](https://github.com/YunoHost-Apps/moodle_ynh/issues) diff --git a/app_moodle_fr.md b/app_moodle_fr.md new file mode 100644 index 00000000..29011b16 --- /dev/null +++ b/app_moodle_fr.md @@ -0,0 +1,18 @@ +# logo de moodle Moodle + +[![Install moodle with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=moodle) [![Integration level](https://dash.yunohost.org/integration/moodle.svg)](https://dash.yunohost.org/appci/app/moodle) + +### Index + +- [Liens utiles](#liens-utiles) + +Moodle est un LMS (Learning Management System ou environnement d'apprentissage) permettant de créér, partager, animer des ressources didactiques et de formation. +A minima on pourra l'utiliser pour partager des supports de cours (sous différents formats), mais il permet surtout de créer des activités d'apprentissage riches privilégiant les interactions entre les utilisateurs (apprenants comme formateurs). +Il intègre une dizaine d'activités (quiz, leçon, forum, wiki, devoir, sondage, atelier auto-évalué entre pairs...) et formats de ressources (pdf, texte, audio-visuel, image, scorm...) par défaut qui peuvent être enrichis par des modules complémentaires (notamment pour proposer des activités spécifiques à certains domaines). + +## Liens utiles + ++ Site web : [moodle.org](https://moodle.org) ++ Documentation officielle : [docs.moodle.org](https://docs.moodle.org) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/moodle](https://github.com/YunoHost-Apps/moodle_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/moodle/issues](https://github.com/YunoHost-Apps/moodle_ynh/issues) diff --git a/app_mumbleserver.md b/app_mumbleserver.md new file mode 100644 index 00000000..b751cc28 --- /dev/null +++ b/app_mumbleserver.md @@ -0,0 +1,21 @@ +# mumbleserver's logo Mumbleserver + +[![Install mumbleserver with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mumbleserver) [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) + +### Index + +- [Useful links](#useful-links) + +Mumble is an efficient and stable Voice over IP software that allows you to create audio rooms for multiple people. It is a VoIP software that allows its users to benefit from very low latency and very high quality. +providing excellent sound quality. Mumble also incorporates a visual overlay that discreetly positions itself above the other windows to provide a view of the microphone activation of the people you are talking to. +Here is the 'Murmur' server that you will install on your instance of Yunohost. + +It is necessary to use a [Mumble client](https://wiki.mumble.info/wiki/3rd_Party_Applications) to use it for each interlocutor. + + +## Useful links + ++ Website: [www.mumble.info](https://www.mumble.info) ++ Official documentation: [wiki.mumble.info/wiki/Main_Page](https://wiki.mumble.info/wiki/Main_Page) ++ Application software repository: [github.com - YunoHost-Apps/mumbleserver](https://github.com/YunoHost-Apps/mumbleserver_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/mumbleserver/issues](https://github.com/YunoHost-Apps/mumbleserver_ynh/issues) diff --git a/app_mumbleserver_fr.md b/app_mumbleserver_fr.md new file mode 100644 index 00000000..e0b9ba6f --- /dev/null +++ b/app_mumbleserver_fr.md @@ -0,0 +1,19 @@ +# logo de mumbleserver Mumbleserver + +[![Install mumbleserver with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mumbleserver) [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) + +### Index + +- [Liens utiles](#liens-utiles) + +Mumble est un logiciel de voix sur IP efficace et stable qui vous permet de créer des salons audio pour plusieurs interlocuteurs. C'est un logiciel de VoIP qui fait bénéficier à ses utilisateurs d'une latence très faible tout en fournissant une qualité de son excellente. Mumble intègre également une surcouche visuelle qui se positionne discrètement au dessus des autres fenêtres afin d'avoir une vision sur l'activation des micros des gens avec qui vous parlez. +Ici, c'est la partir serveur 'Murmur' que vous installerez sur votre instance de Yunohost. + +Il est nécessaire d'utiliser un [client Mumble](https://wiki.mumble.info/wiki/3rd_Party_Applications) pour l'utiliser pour chaque interlocuteur·rice. + +## Liens utiles + ++ Site web : [www.mumble.info](https://www.mumble.info) ++ Documentation officielle : [wiki.mumble.info/wiki/Main_Page](https://wiki.mumble.info/wiki/Main_Page) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/mumbleserver](https://github.com/YunoHost-Apps/mumbleserver_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/mumbleserver/issues](https://github.com/YunoHost-Apps/mumbleserver_ynh/issues) diff --git a/app_phpmyadmin.md b/app_phpmyadmin.md new file mode 100644 index 00000000..2cf22b9e --- /dev/null +++ b/app_phpmyadmin.md @@ -0,0 +1,16 @@ +# phpmyadmin's logo phpMyAdmin + +[![Install phpmyadmin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=phpmyadmin) [![Integration level](https://dash.yunohost.org/integration/phpmyadmin.svg)](https://dash.yunohost.org/appci/app/phpmyadmin) + +### Index + +- [Useful links](#useful-links) + +phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement. + +## Useful links + ++ Website: [www.phpmyadmin.net](https://www.phpmyadmin.net/) ++ Official documentation: [www.phpmyadmin.net/docs](https://www.phpmyadmin.net/docs/) ++ Application software repository: [github.com - YunoHost-Apps/phpmyadmin](https://github.com/YunoHost-Apps/phpmyadmin_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/phpmyadmin/issues](https://github.com/YunoHost-Apps/phpmyadmin_ynh/issues) diff --git a/app_phpmyadmin_fr.md b/app_phpmyadmin_fr.md new file mode 100644 index 00000000..26f089c6 --- /dev/null +++ b/app_phpmyadmin_fr.md @@ -0,0 +1,16 @@ +# logo de phpmyadmin phpMyAdmin + +[![Install phpmyadmin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=phpmyadmin) [![Integration level](https://dash.yunohost.org/integration/phpmyadmin.svg)](https://dash.yunohost.org/appci/app/phpmyadmin) + +### Index + +- [Liens utiles](#liens-utiles) + +phpMyAdmin est un outil logiciel libre écrit en PHP, destiné à gérer l'administration de MySQL sur le Web. phpMyAdmin supporte un large éventail d'opérations sur MySQL et MariaDB. Les opérations fréquemment utilisées (gestion des bases de données, des tables, des colonnes, des relations, des index, des utilisateurs, des autorisations, etc.) peuvent être effectuées via l'interface utilisateur, tout en ayant la possibilité d'exécuter directement n'importe quelle instruction SQL. + +## Liens utiles + ++ Site web : [www.phpmyadmin.net](https://www.phpmyadmin.net/) ++ Documentation officielle : [www.phpmyadmin.net/docs](https://www.phpmyadmin.net/docs/) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/phpmyadmin](https://github.com/YunoHost-Apps/phpmyadmin_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/phpmyadmin/issues](https://github.com/YunoHost-Apps/phpmyadmin_ynh/issues) diff --git a/app_phpsysinfo.md b/app_phpsysinfo.md new file mode 100644 index 00000000..1254f208 --- /dev/null +++ b/app_phpsysinfo.md @@ -0,0 +1,16 @@ +# phpsysinfo's logo Phpsysinfo + +[![Install phpsysinfo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=phpsysinfo) [![Integration level](https://dash.yunohost.org/integration/phpsysinfo.svg)](https://dash.yunohost.org/appci/app/phpsysinfo) + +### Index + +- [Useful links](#useful-links) + +A customizable PHP script that displays information about your system (CPU, Ram, disks). + +## Useful links + ++ Website: [phpsysinfo.github.io/phpsysinfo](https://phpsysinfo.github.io/phpsysinfo/) ++ Demonstration: [Demo](https://phpsysinfo.github.io/phpsysinfo/demos.html) ++ Application software repository: [github.com - YunoHost-Apps/phpsysinfo](https://github.com/YunoHost-Apps/phpsysinfo_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/phpsysinfo/issues](https://github.com/YunoHost-Apps/phpsysinfo_ynh/issues) diff --git a/app_phpsysinfo_fr.md b/app_phpsysinfo_fr.md new file mode 100644 index 00000000..152b363e --- /dev/null +++ b/app_phpsysinfo_fr.md @@ -0,0 +1,14 @@ +# logo de phpsysinfo Phpsysinfo + +[![Install phpsysinfo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=phpsysinfo) [![Integration level](https://dash.yunohost.org/integration/phpsysinfo.svg)](https://dash.yunohost.org/appci/app/phpsysinfo) + +### Index + +Un script PHP personnalisable qui affiche bien les informations sur votre système (CPU, Ram, disques...). + +## Liens utiles + ++ Site web : [phpsysinfo.github.io/phpsysinfo](https://phpsysinfo.github.io/phpsysinfo/) ++ Démonstration : [Démo](https://phpsysinfo.github.io/phpsysinfo/demos.html) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/phpsysinfo](https://github.com/YunoHost-Apps/phpsysinfo_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/phpsysinfo/issues](https://github.com/YunoHost-Apps/phpsysinfo_ynh/issues) diff --git a/app_piwigo_fr.md b/app_piwigo_fr.md index ef3e1581..c3077375 100644 --- a/app_piwigo_fr.md +++ b/app_piwigo_fr.md @@ -1,35 +1,37 @@ -# logo de Piwigo Piwigo - -[![Installer Piwigo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) [![Niveau d'intégration](https://dash.yunohost.org/integration/piwigo.svg)](https://dash.yunohost.org/appci/app/piwigo) - - -### Index - -- [Liens utiles](#liens-utiles) - -[Piwigo](http://piwigo.org) est un logiciel de galerie photos 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. - -En plus des [fonctionnalités principales](http://piwigo.org/basics/features) 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) - -![](http://piwigo.org/screenshots/homepage/piwigo-batch-manager.png) - - -## Liens utiles - - -+ Site web : [Site Piwigo](https://piwigo.org) -+ Documentation officielle : [Documentation](https://piwigo.org/doc/doku.php) -+ Dépôt logiciel de l'application : [ (Dépôt logiciel de l'application :) -+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/piwigo](https://github.com/YunoHost-Apps/piwigo_ynh) -+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/piwigo/issues](https://github.com/YunoHost-Apps/piwigo_ynh/issues) - - +# logo de Piwigo Piwigo + +[![Installer Piwigo avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) [![Niveau d'intégration](https://dash.yunohost.org/integration/piwigo.svg)](https://dash.yunohost.org/appci/app/piwigo) + + +### Index + +- [Liens utiles](#liens-utiles) + +[Piwigo](http://piwigo.org) est un logiciel de galerie photos 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. + +En plus des [fonctionnalités principales](https://fr.piwigo.org/fonctionnalites) 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) + +![](http://piwigo.org/screenshots/homepage/piwigo-batch-manager.png) + + +## Liens utiles + + ++ Site web : [Site Piwigo](https://piwigo.org) ++ Documentation officielle : [Documentation](https://piwigo.org/doc/doku.php) ++ Dépôt logiciel de l'application : [ (Dépôt logiciel de l'application :) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/piwigo](https://github.com/YunoHost-Apps/piwigo_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/piwigo/issues](https://github.com/YunoHost-Apps/piwigo_ynh/issues) + + + + diff --git a/app_searx.md b/app_searx.md new file mode 100644 index 00000000..2f7909e4 --- /dev/null +++ b/app_searx.md @@ -0,0 +1,19 @@ +# searx's logo Searx + +[![Install searx with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=searx) [![Integration level](https://dash.yunohost.org/integration/searx.svg)](https://dash.yunohost.org/appci/app/searx) + +### Index + +- [Useful links](#useful-links) + +Searx is a free and decentralized meta-search engine. The queries made are not saved by searx in order to protect the privacy of the user-rice-s. +As a metasearch engine, searx collects and displays results from dozens of search engines. The search engines used (or not) can be configured in the preferences. +As a decentralized software, searx is installed on different instances (different servers). In France, associations such as Framasoft, Aquilenet or La Quadrature du Net have installed it on their servers. + +## Useful links + ++ Website: [searx.me](https://searx.me/) ++ Official documentation: [asciimoo.github.io/searx](https://asciimoo.github.io/searx/) ++ Demonstration: [Demo](https://demo.yunohost.org/searx/) ++ Application software repository: [github.com - YunoHost-Apps/searx](https://github.com/YunoHost-Apps/searx_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/searx/issues](https://github.com/YunoHost-Apps/searx_ynh/issues) diff --git a/app_searx_fr.md b/app_searx_fr.md new file mode 100644 index 00000000..13e159be --- /dev/null +++ b/app_searx_fr.md @@ -0,0 +1,19 @@ +# logo de searx Searx + +[![Install searx with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=searx) [![Integration level](https://dash.yunohost.org/integration/searx.svg)](https://dash.yunohost.org/appci/app/searx) + +### Index + +- [Liens utiles](#liens-utiles) + +Searx est un métamoteur de recherche libre et décentralisé. Les requêtes effectuées ne sont pas enregistrées par searx afin de protéger la vie privée des utilisateur·rice·s. +En tant que métamoteur, searx collecte et affiche les résultats issus de plusieurs dizaines de moteurs de recherche. Les moteurs utilisés (ou non) sont paramétrables dans les préférences. +En tant que logiciel décentralisé, searx est installé sur différentes instances (différents serveurs). En France, des associations comme Framasoft, Aquilenet ou La Quadrature du Net l'ont installé sur leurs serveurs. + +## Liens utiles + ++ Site web : [searx.me](https://searx.me/) ++ Documentation officielle : [asciimoo.github.io/searx](https://asciimoo.github.io/searx/) ++ Démonstration : [Démo](https://demo.yunohost.org/searx/) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/searx](https://github.com/YunoHost-Apps/searx_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/searx/issues](https://github.com/YunoHost-Apps/searx_ynh/issues) diff --git a/app_shellinabox.md b/app_shellinabox.md new file mode 100644 index 00000000..27f71f83 --- /dev/null +++ b/app_shellinabox.md @@ -0,0 +1,16 @@ +# Package Shellinabox + +[![Install shellinabox with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=shellinabox) [![Integration level](https://dash.yunohost.org/integration/shellinabox.svg)](https://dash.yunohost.org/appci/app/shellinabox) + +### Index + +- [Useful links](#useful-links) + +Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins. + +## Useful links + ++ Website: [github.com/shellinabox/shellinabox](https://github.com/shellinabox/shellinabox) ++ Official documentation: [github.com/shellinabox/shellinabox/wiki/shellinaboxd_man](https://github.com/shellinabox/shellinabox/wiki/shellinaboxd_man) ++ Application software repository: [github.com - YunoHost-Apps/shellinabox](https://github.com/YunoHost-Apps/shellinabox_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/shellinabox/issues](https://github.com/YunoHost-Apps/shellinabox_ynh/issues) diff --git a/app_shellinabox_fr.md b/app_shellinabox_fr.md new file mode 100644 index 00000000..2fc8d667 --- /dev/null +++ b/app_shellinabox_fr.md @@ -0,0 +1,16 @@ +# logo de shellinabox Shellinabox + +[![Install shellinabox with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=shellinabox) [![Integration level](https://dash.yunohost.org/integration/shellinabox.svg)](https://dash.yunohost.org/appci/app/shellinabox) + +### Index + +- [Liens utiles](#liens-utiles) + +Shell In A Box met en œuvre un serveur web qui peut saisir des lignes de commande arbitraires vers un émulateur de terminal. Cet émulateur est accessible à tout navigateur web compatible JavaScript et CSS et ne nécessite pas de plugins supplémentaires à votre navigateur Internet. + +## Liens utiles + ++ Site web : [github.com/shellinabox/shellinabox](https://github.com/shellinabox/shellinabox) ++ Documentation officielle : [github.com/shellinabox/shellinabox/wiki/shellinaboxd_man](https://github.com/shellinabox/shellinabox/wiki/shellinaboxd_man) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/shellinabox](https://github.com/YunoHost-Apps/shellinabox_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/shellinabox/issues](https://github.com/YunoHost-Apps/shellinabox_ynh/issues) diff --git a/app_unattended_upgrades.md b/app_unattended_upgrades.md new file mode 100644 index 00000000..b4776c0d --- /dev/null +++ b/app_unattended_upgrades.md @@ -0,0 +1,16 @@ +# Package Unattended_upgrades + +[![Install unattended_upgrades with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=unattended_upgrades) [![Integration level](https://dash.yunohost.org/integration/unattended_upgrades.svg)](https://dash.yunohost.org/appci/app/unattended_upgrades) + +### Index + +- [Useful links](#useful-links) + +Unattended-upgrades can download and install security upgrades automatically and unattended, taking care to only install packages from the configured APT source, and checking for dpkg prompts about configuration file changes. +Apticron is a simple script which sends emails about pending package updates such as security updates, properly handling packages on hold both by dselect and aptitude. + +## Useful links + ++ Official documentation: [wiki.debian.org/UnattendedUpgrades](https://wiki.debian.org/UnattendedUpgrades) ++ Application software repository: [github.com - YunoHost-Apps/unattended_upgrades](https://github.com/YunoHost-Apps/unattended_upgrades_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/unattended_upgrades/issues](https://github.com/YunoHost-Apps/unattended_upgrades_ynh/issues) diff --git a/app_unattended_upgrades_fr.md b/app_unattended_upgrades_fr.md new file mode 100644 index 00000000..cda78510 --- /dev/null +++ b/app_unattended_upgrades_fr.md @@ -0,0 +1,16 @@ +# logo de unattended_upgrades Unattended_upgrades + +[![Install unattended_upgrades with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=unattended_upgrades) [![Integration level](https://dash.yunohost.org/integration/unattended_upgrades.svg)](https://dash.yunohost.org/appci/app/unattended_upgrades) + +### Index + +- [Liens utiles](#liens-utiles) + +Unattended_upgrades est un outil qui permet de télécharger et installer les mises à jour de sécurité automatiquement et sans surveillance, en prenant soin de n'installer que les paquets provenant de la source APT configurée, et en vérifiant les invites dpkg concernant les modifications du fichier de configuration. +Apticron est un simple script qui envoie des courriels sur les mises à jour de paquets en attente comme les mises à jour de sécurité, en gérant correctement les paquets en attente. + +## Liens utiles + ++ Documentation officielle : [wiki.debian.org/UnattendedUpgrades](https://wiki.debian.org/UnattendedUpgrades) ++ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/unattended_upgrades](https://github.com/YunoHost-Apps/unattended_upgrades_ynh) ++ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/unattended_upgrades/issues](https://github.com/YunoHost-Apps/unattended_upgrades_ynh/issues) diff --git a/app_wallabag2.md b/app_wallabag2.md index b62bed80..cc9b69e2 100644 --- a/app_wallabag2.md +++ b/app_wallabag2.md @@ -29,6 +29,6 @@ In addition to Wallabag core features, the following are made available with thi ### Upgrade from v1.x -No automatic upgrade process is available. You need a manual (but simple) migration from [Wallabag v1](/app_wallabag). +No automatic upgrade process is available. You need a manual (but simple) migration from Wallabag v1. Please take a look at the [official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html). diff --git a/app_wallabag2_fr.md b/app_wallabag2_fr.md index a58fbee7..3c39da92 100644 --- a/app_wallabag2_fr.md +++ b/app_wallabag2_fr.md @@ -28,6 +28,6 @@ En plus des fonctionnalités principales de Wallabag, ce paquet propose égaleme ### Mettre à niveau depuis la v1.x -La mise à niveau depuis le paquet Yunohost de [Wallabag v1](/app_wallabag) demande une opération manuelle, c'est pourquoi un nouveau paquet est fourni. Pour le processus de migration, merci de vous référer à [la documentation officielle +La mise à niveau depuis le paquet Yunohost de Wallabag v1 demande une opération manuelle, c'est pourquoi un nouveau paquet est fourni. Pour le processus de migration, merci de vous référer à [la documentation officielle de Wallabag](https://doc.wallabag.org/fr/user/import/wallabagv1.html). diff --git a/apps.md b/apps.md index 7b5ff79b..dac06cb7 100644 --- a/apps.md +++ b/apps.md @@ -32,14 +32,14 @@ Search bar Disclaimers --> -
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
+
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the corresponding code repositories.
- Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices. + Applications flagged as low quality may be working, but they may not respect good packaging practices or lack integration of some features like backup/restore or single authentication. Be cautious when installing them.
- Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! + Applications flagged as not working are known to be broken and/or are still in development. **Do not install them** in a production environment!
@@ -51,6 +51,10 @@ Custom CSS for this page --> @@ -152,22 +164,19 @@ App card template @@ -194,6 +203,8 @@ function timeConverter(UNIX_timestamp) { $(document).ready(function () { + var default_lang = "en"; + // Hide warrant about states when we're using the default filter $('#state-disclaimer').hide(); var quality_filters = "decent"; @@ -207,8 +218,8 @@ $(document).ready(function () { // This is where we actually define how apps are filtered: // we look for the name of the app (h3) and try to find the user input // + we check this app match the current quality filter - var app_name = $(this).find('h3').text().toLowerCase(); - if (app_name.indexOf(user_input_in_search_field) >= 0 && $(this).data("quality").indexOf(current_quality_filter) >= 0) + var text = $(this).find('.app-title').text().toLowerCase() + " " + $(this).find('.app-descr').text().toLowerCase(); + if (text.indexOf(user_input_in_search_field) >= 0 && $(this).data("quality").indexOf(current_quality_filter) >= 0) { $(this).show(); } @@ -243,19 +254,22 @@ $(document).ready(function () { // Fetch application catalog - $.getJSON('https://app.yunohost.org/apps.json', {}, function(data) { + $.getJSON('https://app.yunohost.org/default/v2/apps.json', {}, function(data) { - catalog = $.map(data, function(el) { return el; }); + catalog = $.map(data["apps"], function(el) { return el; }); // Clarify high quality state, and level if undefined or inprogress or notworking... $.each(catalog, function(k, infos) { - if ((infos.level === undefined) || (infos.state === "inprogress") || (infos.state === "notworking")) { + if ((infos.level === undefined) || (infos.level === 0) || (infos.state === "inprogress") || (infos.state === "notworking")) { infos.level = null; } if ((infos.high_quality === true) && (infos.level === 8)) { infos.state = "high quality"; } + else if ((infos.state === "working") && (infos.level !== null) && (infos.level <= 4)) { + infos.state = "low quality"; + } }); // Sort apps according to their state and level... @@ -279,32 +293,24 @@ $(document).ready(function () { if (infos.state === "high quality") { app_quality = "high,decent,working,none"; - app_state_css_style = "epic"; + app_badge = "high quality"; + app_badge_css_style = "epic"; app_install_css_style = "success"; - app_level_css_style = "epic"; - } else if (infos.level > 4) { + } else if ((infos.state === "working") && (infos.level > 4)) { app_quality = "decent,working,none"; - app_state_css_style = "success"; + app_badge = null; + app_badge_css_style = "success"; app_install_css_style = "success"; - app_level_css_style = "success"; - } else if (infos.level > 0) { + } else if (infos.state === "low quality") { app_quality = "working,none"; - app_state_css_style = "success"; + app_badge = "low quality"; + app_badge_css_style = "warning"; app_install_css_style = "warning"; - app_level_css_style = "warning"; } else { app_quality = "none"; - if (infos.state === "working") { - app_state_css_style = "success"; - } - else if (infos.state === "inprogress") { - app_state_css_style = "warning"; - } - else { - app_state_css_style = "danger"; - } + app_badge = "not working"; + app_badge_css_style = "danger"; app_install_css_style = "danger"; - app_level_css_style = "danger"; } // If level is null, we wanna display '?' @@ -316,13 +322,12 @@ $(document).ready(function () { html = $('#app-template2').html() .replace(/{app_id}/g, app_id) .replace(/{app_name}/g, infos.manifest.name) - .replace('{app_description}', infos.manifest.description.en) + .replace('{app_description}', infos.manifest.description[default_lang] || infos.manifest.description["en"]) .replace(/{app_git}/g, infos.git.url) .replace('{app_branch}', infos.git.branch) .replace('{app_level}', infos.level) .replace('{app_quality}', app_quality) .replace('{app_update}', timeConverter(infos.lastUpdate)) - .replace('{app_state_css_style}', app_state_css_style) .replace('{app_install_css_style}', app_install_css_style); // Handle the maintainer info @@ -354,11 +359,17 @@ $(document).ready(function () { // Fill the template $('#app-cards-list').append(html); $('.app-card_'+ app_id).attr('id', 'app-card_'+ app_id); - $('.app-card_'+ app_id + ' .app-badges').append(' '+infos.state+''); - if ((infos.state === "high quality") || (infos.state === "working")) { - $('.app-card_'+ app_id + ' .app-badges').append(' level '+infos.level+''); + if (app_badge !== null) { + $('.app-card_'+ app_id + ' .app-title').append(' '+app_badge+''); + } + if (typeof(infos.category) === "string") { + category = data["categories"].find(function(el) { return el.id == infos.category; }); + if (typeof(category) !== "undefined") + { + display = category["title"][default_lang] || category["title"]["en"]; + $('.app-card_'+ app_id + ' .app-title').append(' '+display.toLowerCase()+''); + } } - }); filter(); diff --git a/apps_ar.md b/apps_ar.md deleted file mode 100644 index 7b5ff79b..00000000 --- a/apps_ar.md +++ /dev/null @@ -1,368 +0,0 @@ -# Application catalog - - -This page requires Javascript enabled to display properly :s. -
-
-
- - - -
- - -
- - - -
-
-
- - - -
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
- -
- Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices. -
- -
- Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! -
- -
- -
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
- - - - - - - - - - - - diff --git a/apps_es.md b/apps_es.md deleted file mode 100644 index 7b5ff79b..00000000 --- a/apps_es.md +++ /dev/null @@ -1,368 +0,0 @@ -# Application catalog - - -This page requires Javascript enabled to display properly :s. -
-
-
- - - -
- - -
- - - -
-
-
- - - -
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
- -
- Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices. -
- -
- Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! -
- -
- -
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
- - - - - - - - - - - - diff --git a/apps_fr.md b/apps_fr.md index 88bcd6f4..6543d30a 100644 --- a/apps_fr.md +++ b/apps_fr.md @@ -1,4 +1,4 @@ -# Application catalog +# Catalogue d'applications Cette page requiert que Javascript soit activé pour s'afficher correctement :s. @@ -34,11 +34,11 @@ Disclaimers
L'équipe de packaging d'applications sera heureuse de recevoir vos commentaires! Si vous trouvez des problèmes ou des améliorations possibles en installant une app, n'hésitez pas à contribuer en créant un ticket (issue) directement sur le dépôt de code.
-Les applications avec un niveau inférieur ou égal à 4 peuvent fonctionner, mais ne seront pas forcément bien intégrées avec YunoHost, ou bien ne respectent pas les bonnes pratiques de packaging. + Les applications étiquettées low quality fonctionnent peut-être, mais ne respectent pas les bonnes pratiques de packaging ou ne supportent pas certaines fonctionnalités comme les sauvegardes/restauration ou l'authentication unifiée. Soyez prudent si vous les installez.
-Les applications niveau 0, ou étiquettées inprogress, notworking sont toujours en cours de packaging ou sont connues pour être cassées. **Ne les installez pas** sur un serveur de production! + Les applications étiquettées not working sont connues pour être cassées et/ou encore en développement. **Ne les installez pas** sur un serveur de production!
@@ -50,6 +50,10 @@ Custom CSS for this page --> @@ -151,22 +163,19 @@ App card template @@ -193,6 +202,8 @@ function timeConverter(UNIX_timestamp) { $(document).ready(function () { + var default_lang = "fr"; + // Hide warrant about states when we're using the default filter $('#state-disclaimer').hide(); var quality_filters = "decent"; @@ -206,8 +217,8 @@ $(document).ready(function () { // This is where we actually define how apps are filtered: // we look for the name of the app (h3) and try to find the user input // + we check this app match the current quality filter - var app_name = $(this).find('h3').text().toLowerCase(); - if (app_name.indexOf(user_input_in_search_field) >= 0 && $(this).data("quality").indexOf(current_quality_filter) >= 0) + var text = $(this).find('.app-title').text().toLowerCase() + " " + $(this).find('.app-descr').text().toLowerCase(); + if (text.indexOf(user_input_in_search_field) >= 0 && $(this).data("quality").indexOf(current_quality_filter) >= 0) { $(this).show(); } @@ -232,7 +243,7 @@ $(document).ready(function () { $('#current-quality-filter').data("filter", $(this).data("quality-filter")); filter(); }); - + filter(); //================================================= @@ -242,19 +253,22 @@ $(document).ready(function () { // Fetch application catalog - $.getJSON('https://app.yunohost.org/apps.json', {}, function(data) { + $.getJSON('https://app.yunohost.org/default/v2/apps.json', {}, function(data) { - catalog = $.map(data, function(el) { return el; }); + catalog = $.map(data["apps"], function(el) { return el; }); // Clarify high quality state, and level if undefined or inprogress or notworking... $.each(catalog, function(k, infos) { - if ((infos.level === undefined) || (infos.state === "inprogress") || (infos.state === "notworking")) { + if ((infos.level === undefined) || (infos.level === 0) || (infos.state === "inprogress") || (infos.state === "notworking")) { infos.level = null; } if ((infos.high_quality === true) && (infos.level === 8)) { infos.state = "high quality"; } + else if ((infos.state === "working") && (infos.level !== null) && (infos.level <= 4)) { + infos.state = "low quality"; + } }); // Sort apps according to their state and level... @@ -278,32 +292,24 @@ $(document).ready(function () { if (infos.state === "high quality") { app_quality = "high,decent,working,none"; - app_state_css_style = "epic"; + app_badge = "high quality"; + app_badge_css_style = "epic"; app_install_css_style = "success"; - app_level_css_style = "epic"; - } else if (infos.level > 4) { + } else if ((infos.state === "working") && (infos.level > 4)) { app_quality = "decent,working,none"; - app_state_css_style = "success"; + app_badge = null; + app_badge_css_style = "success"; app_install_css_style = "success"; - app_level_css_style = "success"; - } else if (infos.level > 0) { + } else if (infos.state === "low quality") { app_quality = "working,none"; - app_state_css_style = "success"; + app_badge = "low quality"; + app_badge_css_style = "warning"; app_install_css_style = "warning"; - app_level_css_style = "warning"; } else { app_quality = "none"; - if (infos.state === "working") { - app_state_css_style = "success"; - } - else if (infos.state === "inprogress") { - app_state_css_style = "warning"; - } - else { - app_state_css_style = "danger"; - } + app_badge = "not working"; + app_badge_css_style = "danger"; app_install_css_style = "danger"; - app_level_css_style = "danger"; } // If level is null, we wanna display '?' @@ -315,13 +321,12 @@ $(document).ready(function () { html = $('#app-template2').html() .replace(/{app_id}/g, app_id) .replace(/{app_name}/g, infos.manifest.name) - .replace('{app_description}', infos.manifest.description.fr) + .replace('{app_description}', infos.manifest.description[default_lang] || infos.manifest.description["en"]) .replace(/{app_git}/g, infos.git.url) .replace('{app_branch}', infos.git.branch) .replace('{app_level}', infos.level) .replace('{app_quality}', app_quality) .replace('{app_update}', timeConverter(infos.lastUpdate)) - .replace('{app_state_css_style}', app_state_css_style) .replace('{app_install_css_style}', app_install_css_style); // Handle the maintainer info @@ -353,11 +358,17 @@ $(document).ready(function () { // Fill the template $('#app-cards-list').append(html); $('.app-card_'+ app_id).attr('id', 'app-card_'+ app_id); - $('.app-card_'+ app_id + ' .app-badges').append(' '+infos.state+''); - if ((infos.state === "high quality") || (infos.state === "working")) { - $('.app-card_'+ app_id + ' .app-badges').append(' niveau '+infos.level+''); + if (app_badge !== null) { + $('.app-card_'+ app_id + ' .app-title').append(' '+app_badge+''); + } + if (typeof(infos.category) === "string") { + category = data["categories"].find(function(el) { return el.id == infos.category; }); + if (typeof(category) !== "undefined") + { + display = category["title"][default_lang] || category["title"]["en"]; + $('.app-card_'+ app_id + ' .app-title').append(' '+display.toLowerCase()+''); + } } - }); filter(); diff --git a/apps_it.md b/apps_it.md deleted file mode 100644 index 7b5ff79b..00000000 --- a/apps_it.md +++ /dev/null @@ -1,368 +0,0 @@ -# Application catalog - - -This page requires Javascript enabled to display properly :s. -
-
-
- - - -
- - -
- - - -
-
-
- - - -
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
- -
- Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices. -
- -
- Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! -
- -
- -
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
- - - - - - - - - - - - diff --git a/apps_wishlist.md b/apps_wishlist.md index ab787830..690dbeb3 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -1,8 +1,3 @@ -
La page demandée n'est pour le moment pas disponible en français. Voici à la place la version en anglais. Si vous souhaitez commencer une traduction de cette page, vous pouvez vous rendre sur [cette page](https://yunohost.org/#/apps_wishlist_fr).
- -
La page demandée n'est pour le moment pas disponible en français. Voici à la place la version en anglais. Si vous souhaitez commencer une traduction de cette page, vous pouvez vous rendre sur [cette page](https://yunohost.org/#/apps_wishlist_fr).
- - # Apps wishlist
Before to add an app in wishlist please check your app is not already in apps list: see the apps list
@@ -57,6 +52,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Gollum](https://github.com/gollum/gollum) - [Goploader](https://github.com/Depado/goploader) - [Granary](https://github.com/snarfed/granary) +- [Graphhopper](https://www.graphhopper.com/) / [github](https://github.com/graphhopper/graphhopper#get-started) or other routing service that can be plugged to [Nextcloud Maps](https://apps.nextcloud.com/apps/maps), e.g. OSRM (see below) - [Guacamole](http://guacamole.apache.org/) - [Habitica](https://habitica.com/) / [github](https://github.com/HabitRPG/habitica) - [HackMD CE](https://github.com/hackmdio/hackmd) @@ -107,6 +103,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [openHAB](https://www.openhab.org/) - Smart home platform. / [github](https://github.com/openhab) - [OpenProject](https://github.com/opf/openproject) - [OpenSourceBilling](https://github.com/vteams/open-source-billing) +- [OSRM](http://project-osrm.org/) / [github](https://github.com/Project-OSRM/osrm-backend/#quick-start) or other routing service that can be plugged to [Nextcloud Maps](https://apps.nextcloud.com/apps/maps), e.g. Graphhopper (see above) - [OX Open-Xchange](https://www.open-xchange.com) Linux groupware solution / [github](https://github.com/open-xchange/) - [Paperless](https://github.com/danielquinn/paperless) - [Paperwork](http://paperwork.rocks) @@ -136,6 +133,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [SocialHome](https://github.com/jaywink/socialhome) (Socialhome is best described as a federated personal profile with social networking functionality) (https://socialhome.network) - [smokeping](https://packages.debian.org/buster/smokeping) / [github](https://github.com/oetiker/SmokePing) - [Sonarr](https://sonarr.tv) / [github](https://github.com/Sonarr/Sonarr) +- [Spacedeck](https://github.com/spacedeck) (A web based, real time, collaborative whiteboard application with rich media support.) - [Stackedit](https://stackedit.io) / [github](https://github.com/benweet/stackedit) - [StandardNotes](https://standardnotes.org) (a clean, simple, E2E-encrypted notes app) -- specifically, the server-side [StandardFile](https://standardfile.org) portion / [github](https://github.com/standardnotes/web) - [Streisand](https://github.com/jlund/streisand) @@ -155,11 +153,11 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Volumio](https://volumio.org) / [github](https://github.com/volumio) - [WebODF](http://webodf.org) / [github](https://github.com/webodf/WebODF) - [Webhook.site](https://docs.webhook.site/) / [github](https://github.com/fredsted/webhook.site) +- [Whoogle](https://github.com/benbusby/whoogle-search) - Self-hosted, ad-free, privacy-respecting Google metasearch engine. - [Wireguard](https://www.wireguard.com/) / [git](https://git.zx2c4.com/WireGuard/) - [Xibo](https://github.com/xibosignage) - A FLOSS digital signage solution (CMS?) - [Xonotic](http://xonotic.org) / [gitlab](https://gitlab.com/xonotic) - [Zammad](https://github.com/zammad/zammad) -- [ZeroTier](https://github.com/zerotier/ZeroTierOne) - [Zola](https://www.getzola.org/) - A static site generator in one binary - [Zoneminder](https://github.com/ZoneMinder/zoneminder) - [Zulip](https://zulipchat.com/) / [github](https://github.com/zulip/zulip) diff --git a/certificate_custom_fr.md b/certificate_custom_fr.md index 31e19901..8cc56002 100644 --- a/certificate_custom_fr.md +++ b/certificate_custom_fr.md @@ -1,5 +1,10 @@ **Note :** depuis la version 2.5, Yunohost intègre la gestion automatisée de certificats Let's Encrypt. Vous pouvez donc facilement et gratuitement [installer un certificat Let's Encrypt](/certificate). Le document suivant décrit la méthodologie pour installer un certificat, payant, d'une autre autorité de certification (**Gandi**, **RapidSSL**, **StartSSL**, **Cacert**). +Quelques changements ont eu lieu qui impactent les procédures indiquées ci dessous : + +* le groupe metronome n'est plus utilisé directement mais ssl-cert +* un repertoire /etc/yunohost/certs/DOMAIN.LTD-history/stamp est utilisé pour conserver chaque configuration créée et un lien symbolique est créé dessus. + ### Ajout d’un certificat signé par une autorité (autre que Let's Encrypt) Après création du certificat auprès de votre autorité d’enregistrement, vous devez être en possession d’une clé privée, le fichier key et d’un certificat public, le fichier crt. diff --git a/contributordoc.md b/contributordoc.md index 5b04b6c3..ced4e173 100644 --- a/contributordoc.md +++ b/contributordoc.md @@ -4,7 +4,7 @@ * [Writing documentation](/write_documentation) * [Documentation writing guide](/doc_writing_guide) * [Markdown guide](/doc_markdown_guide) - * [Propulser son code avec Git & GitHub](/doc_use_git) + * [Power your code using Git & GitHub](/doc_use_git) * [Chat rooms](/chat_rooms) * Application packaging * [Apps wishlist](/apps_wishlist) diff --git a/diagnostic.md b/diagnostic.md index df76baee..facecf0b 100644 --- a/diagnostic.md +++ b/diagnostic.md @@ -1,53 +1,10 @@ # Diagnose YunoHost functioning -If you have successfully [installed](/install) YunoHost and passed through the [post-installation](/postinstall), you probably have a **working server**. +To diagnose that all critical aspects of your server are properly configured, +you should run a diagnosis from the webadmin in the "Diagnosis" section. (This +feature was added in Yunohost 3.8). -### 1. Test it - -In a web browser, access to your server via the domain name you just entered at the post-installation step. - -For example: `http://mydomain.com` - - -
-If you have taken a .nohost.me or a .noho.st domain, you may have to wait 5 min before the address is reachable. -
- ---- - -#### If that does not work... - ---- - -### 2. Have you configured your DNS well ? - -
-This step is not necessary if you have a .nohost.me or a .noho.st domain -
- -Go to https://www.whatsmydns.net/ , enter your domain name in the field and click `Search`. -If you do not see your IP address, or if there are red crosses everywhere, then you have probably misconfigured your [DNS](/dns). - ---- - -### 3. Are network ports opened on your router ? - -If your DNS is properly configured, and your server is accessible locally, you may have **network ports blocked** or it may not be forwarded by your router. -In order to verify this, try accessing your server with a client outside your local network. For example via another WiFi access point or with your mobile phone in 3G/4G. - -If the server is unreachable from outside your local network too, then the problem probably comes from your router's configuration. - -
-Try to activate uPnP in your router's configuration interface, and check that your server is plugged in Ethernet directly behind it. -

-You can also redirect ports manually to your server's local IP address on the router's configuration interface. -

-
- ---- - -### 4. Does your router have hairpinning ? - -If the server is accessible from outside your local network, but unreachable with its domain name on the local network, then your router probably lacks hairpinning. - -Here is a [tutorial](dns_local_network) to access your server on a local network and bypass the hairpinning problem. The tutorial proposes a first solution to create a redirection with DNS of the ISP box and a second solution to modify the `hosts` file of the **clients** to instruct it to access the **server** via its local IP address. The first solution is preferable because it's not necessary to modify the `hosts` files on every computer on your local network, if you are using many different clients. +TODO: elaborate on the fact that the diagnosis runs periodically, sends an email +to root which is forwarded to the very first user created, and that issues +should either be fixed or ignored (if they are understood/not relevant) +otherwise an email will be sent twice a day.. diff --git a/diagnostic_fr.md b/diagnostic_fr.md index b2971a70..c55cf058 100644 --- a/diagnostic_fr.md +++ b/diagnostic_fr.md @@ -1,55 +1,12 @@ # Diagnostic du bon fonctionnement de YunoHost -Si vous avez réussi l’[installation](/install) de YunoHost et passé l’étape de [post-installation](/postinstall), vous avez probablement un **serveur fonctionnel**. +Pour vérifier que tous les aspects critiques de votre serveur sont correctement +configurés, il est recommandé d'utiliser le système de diagnostic disponible +dans la webadmin de YunoHost. (Cette fonctionnalité a été ajouté dans la version +3.8) -### 1. Essayer - -Dans un navigateur web, essayez d’accéder à votre serveur grâce au nom de domaine que vous avez entré à l’étape de post-installation. - -Par exemple : `http://mondomaine.org` - -
-Si vous avez opté pour un nom de domaine se terminant par .nohost.me ou .noho.st, vous devrez patienter cinq minutes avant que l’adresse soit atteignable. -
- ---- - -#### Si ça ne fonctionne pas… - ---- - -### 2. Avez-vous bien configuré votre DNS ? - -
-Cette étape n’est pas nécessaire si vous possédez un nom de domaine en .nohost.me ou un .noho.st -
- -Rendez-vous sur https://www.whatsmydns.net/, entrez votre nom de domaine dans le champ prévu à cet effet et cliquez sur `Search`. Si vous ne voyez pas votre adresse IP, ou s’il y a des croix rouges par endroits, cela signifie que vous avez probablement mal configuré votre [DNS](/dns). - ---- - -### 3. Est-ce que les ports de votre box/routeur sont ouverts ? - -Si vos DNS sont bien configurés, et que le serveur est accessible localement, vous avez probablement des **ports bloqués** sur votre box/routeur ou non dirigés vers votre serveur. -Afin de le vérifier, essayez d’accéder à votre serveur avec un client extérieur au réseau local. Par exemple grâce à un autre accès Wi-Fi ou avec un smartphone en 3G/4G. - -Si le serveur est inatteignable depuis l’extérieur du réseau local, le problème vient probablement de la configuration du routeur. - -
-Essayez d’activer l’uPnP sur l’interface de configuration de votre box/routeur, et vérifiez que le serveur y est directement connecté en Ethernet. -

-Vous pouvez également rediriger les ports manuellement vers l’adresse IP locale de votre serveur grâce à l’interface de configuration de votre box/routeur. -

-
- ---- - -### 4. Est-ce que votre box/routeur fait du hairpinning ? - -Si le serveur est accessible de l’extérieur, mais inatteignable via son nom de domaine dans votre réseau local, votre box/routeur ne fait probablement pas correctement de hairpinning. - -Voici un [tutoriel](/dns_local_network) pour pouvoir accéder à son serveur en réseau local et contourner le problème de hairpinning. Le tutoriel propose en première solution de mettre en place une redirection avec le DNS de la box et en seconde solution de modifier le fichier `hosts` des **clients** pour indiquer qu’il doit accéder au **serveur** via son IP locale. La première solution est préférable car il ne nécessite pas de modifier le fichier `hosts` sur chacun des clients du réseau local. - -___ - -Sinon, retentez l’installation en prenant cette fois un nom de domaine en **.nohost.me** ou en **.noho.st**. +TODO: elaborer le fait que le diagnostique tourne périodiquement, qu'un email +est envoyé à root qui est normalement forwardé vers le premier utilisateur créé, +que les problèmes trouvés doivent soient être réglé, soit ignorés (si ils sont +compris ou ne sont pas pertinents) autrement un mail est envoyé deux fois par +jour... diff --git a/dns_config.md b/dns_config.md index b7282855..76d6b0d8 100644 --- a/dns_config.md +++ b/dns_config.md @@ -68,6 +68,7 @@ Though it might be easier to understand it if displayed like this: | CNAME | muc | `@` | | CNAME | pubsub | `@` | | CNAME | vjud | `@` | +| CNAME | xmpp-upload | `@` | | **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"` | diff --git a/dns_config_es.md b/dns_config_es.md index 26d05906..808be678 100644 --- a/dns_config_es.md +++ b/dns_config_es.md @@ -35,6 +35,7 @@ _xmpp-server._tcp 3600 IN SRV 0 5 5269 tu.dominio.tld. muc 3600 IN CNAME @ pubsub 3600 IN CNAME @ vjud 3600 IN CNAME @ +xmpp-upload 3600 IN CNAME @ # # Mail (MX, SPF, DKIM et DMARC) @@ -48,18 +49,19 @@ _dmarc 3600 IN TXT "v=DMARC1; p=none" Pero puede ser un poco más fácil entenderla viéndola de esta manera : -| Tipo | Nombre | Valor | +| Tipo | Nombre | Valor | | :-----: | :--------------------: | :----------------------------------------------------: | -| **A** | **@** | `111.222.333.444` (tu IPv4) | -| A | * | `111.222.333.444` (tu IPv4) | -| AAAA | @ | `2222:444:8888:3333:bbbb:5555:3333:1111` (tu IPv6) | -| AAAA | * | `2222:444:8888:3333:bbbb:5555:3333:1111` (tu IPv6) | -| **SRV** | **_xmpp-client._tcp** | `0 5 5222 tu.dominio.tld.` | -| **SRV** | **_xmpp-server._tcp** | `0 5 5269 tu.dominio.tld.` | +| **A** | **@** | `111.222.333.444` (tu IPv4) | +| A | * | `111.222.333.444` (tu IPv4) | +| AAAA | @ | `2222:444:8888:3333:bbbb:5555:3333:1111` (tu IPv6) | +| AAAA | * | `2222:444:8888:3333:bbbb:5555:3333:1111` (tu IPv6) | +| **SRV** | **_xmpp-client._tcp** | `0 5 5222 tu.dominio.tld.` | +| **SRV** | **_xmpp-server._tcp** | `0 5 5269 tu.dominio.tld.` | | CNAME | muc | `@` | | CNAME | pubsub | `@` | | CNAME | vjud | `@` | -| **MX** | **@** | `tu.dominio.tld.` (y prioridad: 10) | +| CNAME | xmpp-upload | `@` | +| **MX** | **@** | `tu.dominio.tld.` (y prioridad: 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"` | diff --git a/dns_config_fr.md b/dns_config_fr.md index be40bec1..30b40044 100644 --- a/dns_config_fr.md +++ b/dns_config_fr.md @@ -69,6 +69,7 @@ suivante : | CNAME | muc | `@` | | CNAME | pubsub | `@` | | CNAME | vjud | `@` | +| CNAME | xmpp-upload | `@` | | **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"` | diff --git a/dns_nohost_me.md b/dns_nohost_me.md index 2452f9fc..5a2be3f7 100644 --- a/dns_nohost_me.md +++ b/dns_nohost_me.md @@ -65,7 +65,7 @@ you must request a domain reset on the forum If you wish to use a different automatic domain, you first have to remove your present domain registration. This is done in 3 steps: -1. Remove the domain from your instance (via webadmin or the `yunohost doamin remove` CLI). +1. Remove the domain from your instance (via webadmin or the `yunohost domain remove` CLI). **/!\ Caution: this will remove any app installed on this domain, along with its data.** 2. Ask for registration removal [in the dedicated forum thread](https://forum.yunohost.org/t/nohost-domain-recovery/442). 3. Remove automatic domain configuration files on your server, via CLI only : `sudo rm /etc/cron.d/yunohost-dyndns && sudo rm -r /etc/yunohost/dyndns` diff --git a/help.md b/help.md index 58f7c453..e15474a0 100644 --- a/help.md +++ b/help.md @@ -10,11 +10,11 @@ - +

-Note : this room is available via IRC (#yunohost on freenode - using kiwiirc), via XMPP (support@conference.yunohost.org), or Matrix (#freenode_#yunohost:matrix.org - using Riot) +Note : this room is available via IRC (#yunohost on freenode - using kiwiirc), via XMPP (support@conference.yunohost.org), or Matrix (#freenode_#yunohost:matrix.org - using Riot)

... or ask on the forum !

diff --git a/help_ar.md b/help_ar.md index f66f7bc4..a3d8951e 100644 --- a/help_ar.md +++ b/help_ar.md @@ -9,17 +9,17 @@
  • تحلّى بالصبر، في بعض الأحيان يمكن أن تمر بضع دقائق قبل أن يرى أحد المستخدمين سؤالك.
  • -
    الإسم المستعار : +
    الإسم المستعار :
    - +

    ملاحظة : يمكن الإتصال كذلك بغرفة المحادثة باستخدام تطبيق XMPP الخاص بك على العنوان التالي
    support@conference.yunohost.org
    -kiwiirc باستخدام freenode على #yunohost IRC أو
    +kiwiirc باستخدام freenode على #yunohost IRC أو
    Riot باستخدام Matrix أو
    diff --git a/help_fr.md b/help_fr.md index debf9a6a..0810f740 100644 --- a/help_fr.md +++ b/help_fr.md @@ -10,11 +10,11 @@
    - +

    -Note : ce salon est accessible via IRC (#yunohost sur freenode en utilisant Kiwiirc), via XMPP (support@conference.yunohost.org), ou Matrix (#freenode_#yunohost:matrix.org - en utilisant Riot). +Note : ce salon est accessible via IRC (#yunohost sur freenode en utilisant Kiwiirc), via XMPP (support@conference.yunohost.org), ou Matrix (#freenode_#yunohost:matrix.org - en utilisant Riot).

    ... ou demandez sur le forum !

    diff --git a/help_it.md b/help_it.md index 47534494..44f28eda 100644 --- a/help_it.md +++ b/help_it.md @@ -10,11 +10,11 @@ - +

    -Nota : questa stanza e disponibile via IRC (#yunohost su freenode - usando kiwiirc), via XMPP (support@conference.yunohost.org), o Matrix (#freenode_#yunohost:matrix.org - usando Riot) +Nota : questa stanza e disponibile via IRC (#yunohost su freenode - usando kiwiirc), via XMPP (support@conference.yunohost.org), o Matrix (#freenode_#yunohost:matrix.org - usando Riot)

    ... o chiedi nel forum !

    diff --git a/images/phpmyadmin_logo.svg b/images/phpmyadmin_logo.svg new file mode 100644 index 00000000..95d919f3 --- /dev/null +++ b/images/phpmyadmin_logo.svg @@ -0,0 +1,43 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/searx_logo.svg b/images/searx_logo.svg new file mode 100644 index 00000000..302d6c3f --- /dev/null +++ b/images/searx_logo.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/isp.md b/isp.md index ba3f8626..08980319 100644 --- a/isp.md +++ b/isp.md @@ -14,6 +14,7 @@ A list of French and Belgian ISPs is available on the [french page](/isp). | Cox | Multiple | Yes | No. Only for business class customer. | No | No | Yes, as a business class customer | | Charter | Multiple | Yes | No. Only for business class customer. | No | No | Yes, as a business class customer | | DSLExtreme | Multiple | Yes | Yes | No | No | Yes, extra charge. | +| AT&T| Multiple | Yes | No. Only for business class customer. | unknown. | unknown. | unknown. | ### UK | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | diff --git a/isp_box_config.md b/isp_box_config.md index 883889c0..93247eb6 100644 --- a/isp_box_config.md +++ b/isp_box_config.md @@ -1,12 +1,11 @@ # Configure port-forwarding -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). +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 to [this page](port_forwarding). ### 0. Diagnose ports opened -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 +The new diagnosis tool introduced in 3.8 can be used to diagnose that ports are +correctly exposed. ### 1. Access your box/router administration interface @@ -14,13 +13,15 @@ Your box/router admin interface is usually reachable via http://192.168.0.1 or h ### 2. Find the local IP of your server -Identify what is the local IP of your server, either : +Identify what is thei *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}'` +- from the YunoHost webadmin, in 'Diagnosis', section 'Internet connectivity', click on 'Details' on the IPv4 report. +- from the command line in your server, by running `hostname -I` A local IP address typically looks like `192.168.xx.yy`, or `10.0.xx.yy`. +The local IP address needs to be static, so that the port forwards that you are going to configure in the next step will always reach your server. You should go into your box/router and make sure that the local IP address of your server is static instead of dynamic. + ### 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. diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md index 31b38b1d..13d07347 100644 --- a/isp_box_config_fr.md +++ b/isp_box_config_fr.md @@ -4,9 +4,8 @@ Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ### 0. Diagnostiquer les ports ouverts -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 +Une fois les redirections configurées, l'outil de diagnostic introduit dans +YunoHost 3.8 vous permettra de vérifier si les ports sont correctement exposés. ### 1. Accéder à l'interface d'administration de votre box/routeur @@ -19,8 +18,8 @@ fournis par votre fournisseur d'accès internet (FAI). Identifiez quelle est l'IP locale de votre serveur, soit : - depuis l'interface de votre routeur/box, qui liste peut-être les dispositifs connectés; +- depuis la webadmin de Yunohost, dans 'Diagnostic', section 'Connectivité Internet', cliquer sur 'Details' à côté de la ligne sur IPv4. - 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`. diff --git a/packaging_apps_config_panel.md b/packaging_apps_config_panel.md index 30f89b3e..a3afaf04 100644 --- a/packaging_apps_config_panel.md +++ b/packaging_apps_config_panel.md @@ -169,7 +169,7 @@ name = "Leed configuration" Will be available under this name in the config script: -``` +```bash YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC ``` diff --git a/packaging_apps_helpers.md b/packaging_apps_helpers.md index 476d7822..78326fd0 100644 --- a/packaging_apps_helpers.md +++ b/packaging_apps_helpers.md @@ -2,7 +2,8 @@

    App helpers

    -

    Doc auto-generated by this script on 03/30/2020 (Yunohost version 3.7.0.12)

    +

    Doc auto-generated by this script on 05/21/2020 (Yunohost version 3.8.4.3)

    +

    apt

    @@ -28,7 +29,7 @@ @@ -50,7 +51,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -79,7 +80,7 @@ @@ -105,7 +106,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -141,7 +142,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -188,7 +189,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -235,7 +236,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -282,7 +283,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -329,7 +330,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -376,7 +377,58 @@

    - Dude, show me the code ! + Dude, show me the code ! +

    + + + + + + + + +
    +
    +
    +
    ynh_add_app_dependencies
    +
    Add dependencies to install with ynh_install_app_dependencies
    +
    +
    +
    +

    + + Usage: ynh_add_app_dependencies --package=phpversion [--replace] + +

    + +

    + Arguments: +

      + + +
    • -p, --package= : Packages to add as dependencies for the app.
    • + + + +
    • -r, --replace : Replace dependencies instead of adding to existing ones.
    • + + +
    +

    + + + + + +

    + Details: +

    + Requires YunoHost version 3.8.1 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -412,7 +464,66 @@

    - Dude, show me the code ! + Dude, show me the code ! +

    + +
    +
    + + + + + +
    +
    +
    +
    ynh_install_extra_app_dependencies
    +
    Install packages from an extra repository properly.
    +
    +
    +
    +

    + + Usage: ynh_install_extra_app_dependencies --repo="repo" --package="dep1 dep2" [--key=key_url] [--name=name] + +

    + +

    + Arguments: +

      + + +
    • -r, --repo= : Complete url of the extra repository.
    • + + + +
    • -p, --package= : The packages to install from this extra repository
    • + + + +
    • -k, --key= : url to get the public key.
    • + + + +
    • -n, --name= : Name for the files for this repo, $app as default value.
    • + + +
    +

    + + + + + +

    + Details: +

    + Requires YunoHost version 3.8.1 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -446,11 +557,11 @@
      -
    • -s, --src_path : file or directory to bind or symlink or copy. it shouldn't be in the backup dir.
    • +
    • -s, --src_path= : file or directory to bind or symlink or copy. it shouldn't be in the backup dir.
    • -
    • -d, --dest_path : destination file or directory inside the backup dir
    • +
    • -d, --dest_path= : destination file or directory inside the backup dir
    • @@ -475,12 +586,12 @@

      Details:

      - This helper can be used both in a system backup hook, and in an app backup script

      Details: ynh_backup writes SRC and the relative DEST into a CSV file. And it
      creates the parent destination directory

      If DEST is ended by a slash it complete this path with the basename of SRC.

      Example in the context of a wordpress app

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
      # => This line will be added into CSV file
      # "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"

      #Deprecated usages (maintained for retro-compatibility)
      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

      Requires YunoHost version 2.4.0 or higher.

      + This helper can be used both in a system backup hook, and in an app backup script

      Details: ynh_backup writes SRC and the relative DEST into a CSV file. And it
      creates the parent destination directory

      If DEST is ended by a slash it complete this path with the basename of SRC.

      Example in the context of a wordpress app

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
      # => This line will be added into CSV file
      # "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"

      #Deprecated usages (maintained for retro-compatibility)
      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

      ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"
      # => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

      Requires YunoHost version 2.4.0 or higher.
      Requires YunoHost version 3.5.0 or higher for the argument --not_mandatory

      - Dude, show me the code ! + Dude, show me the code !

    @@ -516,7 +627,7 @@

    - Dude, show me the code ! + Dude, show me the code !

    @@ -545,11 +656,11 @@ @@ -1474,7 +1743,7 @@ ynh_exec_fully_quiet "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1511,7 +1780,7 @@ ynh_exec_fully_quiet "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1562,7 +1831,7 @@ ynh_exec_fully_quiet "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1610,7 +1879,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1644,7 +1913,7 @@ ynh_debug_exec "your_command | other_command" @@ -1665,12 +1934,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - If no --logfile is provided, /var/log/${app} will be used as default.
    logfile can be just a directory, or a full path to a logfile :
    /parentdir/logdir
    /parentdir/logdir/logfile.log

    It's possible to use this helper multiple times, each config will be added to
    the same logrotate config file. Unless you use the option --non-append

    Requires YunoHost version 2.6.4 or higher.

    + If no --logfile is provided, /var/log/${app} will be used as default.
    logfile can be just a directory, or a full path to a logfile :
    /parentdir/logdir
    /parentdir/logdir/logfile.log

    It's possible to use this helper multiple times, each config will be added to
    the same logrotate config file. Unless you use the option --non-append

    Requires YunoHost version 2.6.4 or higher.
    Requires YunoHost version 3.2.0 or higher for the argument --specific_user

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1706,7 +1975,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1740,15 +2009,15 @@ ynh_debug_exec "your_command | other_command" @@ -1757,7 +2026,7 @@ ynh_debug_exec "your_command | other_command"

    - Example: ynh_mysql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_mysql_connect_as 'user' 'pass' < /path/to/file.sql + Example: ynh_mysql_connect_as --user="user" --password="pass" <<< "UPDATE ...;" example: ynh_mysql_connect_as --user="user" --password="pass" < /path/to/file.sql

    @@ -1770,7 +2039,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1799,11 +2068,11 @@ ynh_debug_exec "your_command | other_command" @@ -1821,7 +2090,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1850,11 +2119,11 @@ ynh_debug_exec "your_command | other_command" @@ -1872,7 +2141,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1901,7 +2170,7 @@ ynh_debug_exec "your_command | other_command" @@ -1914,7 +2183,7 @@ ynh_debug_exec "your_command | other_command"

    - Example: ynh_mysql_dump_db 'roundcube' > ./dump.sql + Example: ynh_mysql_dump_db --database=roundcube > ./dump.sql

    @@ -1927,7 +2196,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -1947,7 +2216,8 @@ ynh_debug_exec "your_command | other_command"

    - Usage: ynh_mysql_user_exists --user=user + Usage: ynh_mysql_user_exists --user=user +| exit: Return 1 if the user doesn't exist, 0 otherwise.

    @@ -1956,7 +2226,7 @@ ynh_debug_exec "your_command | other_command" @@ -1974,7 +2244,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2003,15 +2273,15 @@ ynh_debug_exec "your_command | other_command" @@ -2029,7 +2299,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2058,11 +2328,11 @@ ynh_debug_exec "your_command | other_command" @@ -2080,7 +2350,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2114,13 +2384,17 @@ ynh_debug_exec "your_command | other_command"

    +

    + Returns: the port number +

    +

    Example: port=$(ynh_find_port --port=8080) @@ -2136,7 +2410,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2148,26 +2422,34 @@ ynh_debug_exec "your_command | other_command"
    -
    -
    ynh_validate_ip
    -
    Validate an IP address
    +
    +
    ynh_port_available
    +
    Test if a port is available
    -
    +

    - Usage: ynh_validate_ip --family=family --ip_address=ip_address + Usage: ynh_find_port --port=XYZ +| exit: Return 1 if the port is already used by another process.

    -

    - Returns: 0 for valid ip addresses, 1 otherwise + Arguments: +

      + + +
    • -p, --port= : port to check
    • + + +

    +

    - Example: ynh_validate_ip 4 111.222.333.444 + Example: ynh_port_available --port=1234 || ynh_die "Port 1234 is needs to be available for this app"

    @@ -2175,12 +2457,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - Requires YunoHost version 2.2.4 or higher.

    + Requires YunoHost version 3.8.0 or higher.

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2204,6 +2486,17 @@ ynh_debug_exec "your_command | other_command"

    +

    + Arguments: +

      + + +
    • -i, --ip_address= : the ipv4 address to check
    • + + +
    +

    +

    Returns: 0 for valid ipv4 addresses, 1 otherwise @@ -2224,7 +2517,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2248,6 +2541,17 @@ ynh_debug_exec "your_command | other_command"

    +

    + Arguments: +

      + + +
    • -i, --ip_address= : the ipv6 address to check
    • + + +
    +

    +

    Returns: 0 for valid ipv6 addresses, 1 otherwise @@ -2268,7 +2572,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2315,12 +2619,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - This will use a template in ../conf/nginx.conf
    __PATH__ by $path_url
    __DOMAIN__ by $domain
    __PORT__ by $port
    __NAME__ by $app
    __FINALPATH__ by $final_path

    And dynamic variables (from the last example) :
    __PATH_2__ by $path_2
    __PORT_2__ by $port_2

    Requires YunoHost version 2.7.2 or higher.

    + This will use a template in ../conf/nginx.conf
    __PATH__ by $path_url
    __DOMAIN__ by $domain
    __PORT__ by $port
    __NAME__ by $app
    __FINALPATH__ by $final_path
    __PHPVERSION__ by $YNH_PHP_VERSION ($YNH_PHP_VERSION is either the default php version or the version defined for the app)

    And dynamic variables (from the last example) :
    __PATH_2__ by $path_2
    __PORT_2__ by $port_2

    Requires YunoHost version 2.7.2 or higher.
    Requires YunoHost version 2.7.13 or higher for dynamic variables

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2356,7 +2660,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2392,12 +2696,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - ynh_use_nodejs has to be used in any app scripts before using node for the first time.

    2 variables are available:
    - $nodejs_path: The absolute path of node for the chosen version.
    - $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.
    And 2 alias stored in variables:
    - $nodejs_use_version: An old variable, not used anymore. Keep here to not break old apps
    NB: $PATH will contain the path to node, it has to be propagated to any other shell which needs to use it.
    That's means it has to be added to any systemd script.

    Requires YunoHost version 2.7.12 or higher.

    + ynh_use_nodejs has to be used in any app scripts before using node for the first time.
    This helper will provide alias and variables to use in your scripts.

    To use npm or node, use the alias `ynh_npm` and `ynh_node`
    Those alias will use the correct version installed for the app
    For example: use `ynh_npm install` instead of `npm install`

    With `sudo` or `ynh_exec_as`, use instead the fallback variables `$ynh_npm` and `$ynh_node`
    And propagate $PATH to sudo with $ynh_node_load_PATH
    Exemple: `ynh_exec_as $app $ynh_node_load_PATH $ynh_npm install`

    $PATH contains the path of the requested version of node.
    However, $PATH is duplicated into $node_PATH to outlast any manipulation of $PATH
    You can use the variable `$ynh_node_load_PATH` to quickly load your node version
    in $PATH for an usage into a separate script.
    Exemple: $ynh_node_load_PATH $final_path/script_that_use_npm.sh`

    Finally, to start a nodejs service with the correct version, 2 solutions
    Either the app is dependent of node or npm, but does not called it directly.
    In such situation, you need to load PATH
    `Environment="__NODE_ENV_PATH__"`
    `ExecStart=__FINALPATH__/my_app`
    You will replace __NODE_ENV_PATH__ with $ynh_node_load_PATH

    Or node start the app directly, then you don't need to load the PATH variable
    `ExecStart=__YNH_NODE__ my_app run`
    You will replace __YNH_NODE__ with $ynh_node

    2 other variables are also available
    - $nodejs_path: The absolute path to node binaries for the chosen version.
    - $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.

    Requires YunoHost version 2.7.12 or higher.

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2426,7 +2730,7 @@ ynh_debug_exec "your_command | other_command" @@ -2439,12 +2743,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.
    That's how it changes the version

    ynh_install_nodejs will install the version of node provided as argument by using n.

    Requires YunoHost version 2.7.12 or higher.

    + ynh_install_nodejs will install the version of node provided as argument by using n.

    n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.
    That's how it changes the version

    Refer to ynh_use_nodejs for more information about available commands and variables

    Requires YunoHost version 2.7.12 or higher.

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2480,7 +2784,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2505,7 +2809,14 @@ ynh_debug_exec "your_command | other_command"

    - Usage: ynh_add_fpm_config [--phpversion=7.X] + Usage: 1: ynh_add_fpm_config [--phpversion=7.X] [--use_template] [--package=packages] [--dedicated_service] +2: ynh_add_fpm_config [--phpversion=7.X] --usage=usage --footprint=footprint [--package=packages] [--dedicated_service] +low - Less than 20Mb of ram by pool. +medium - Between 20Mb and 40Mb of ram by pool. +high - More than 40Mb of ram by pool. +Or specify exactly the footprint, the load of the service as Mb by pool instead of having a standard value. +To have this value, use the following command and stress the service. +watch -n0.5 ps -o user,cmd,%cpu,rss -u APP

    @@ -2514,7 +2825,39 @@ ynh_debug_exec "your_command | other_command" @@ -2527,12 +2870,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - Requires YunoHost version 2.7.2 or higher.

    + -----------------------------------------------------------------------------

    The footprint of the service will be used to defined the maximum footprint we can allow, which is half the maximum RAM.
    So it will be used to defined 'pm.max_children'
    A lower value for the footprint will allow more children for 'pm.max_children'. And so for
    'pm.start_servers', 'pm.min_spare_servers' and 'pm.max_spare_servers' which are defined from the
    value of 'pm.max_children'
    NOTE: 'pm.max_children' can't exceed 4 times the number of processor's cores.

    The usage value will defined the way php will handle the children for the pool.
    A value set as 'low' will set the process manager to 'ondemand'. Children will start only if the
    service is used, otherwise no child will stay alive. This config gives the lower footprint when the
    service is idle. But will use more proc since it has to start a child as soon it's used.
    Set as 'medium', the process manager will be at dynamic. If the service is idle, a number of children
    equal to pm.min_spare_servers will stay alive. So the service can be quick to answer to any request.
    The number of children can grow if needed. The footprint can stay low if the service is idle, but
    not null. The impact on the proc is a little bit less than 'ondemand' as there's always a few
    children already available.
    Set as 'high', the process manager will be set at 'static'. There will be always as many children as
    'pm.max_children', the footprint is important (but will be set as maximum a quarter of the maximum
    RAM) but the impact on the proc is lower. The service will be quick to answer as there's always many
    children ready to answer.

    Requires YunoHost version 2.7.2 or higher.
    Requires YunoHost version 3.5.1 or higher for the argument --phpversion
    Requires YunoHost version 3.8.1 or higher for the arguments --use_template, --usage, --footprint, --package and --dedicated_service

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2568,7 +2911,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2602,15 +2945,15 @@ ynh_debug_exec "your_command | other_command" @@ -2644,7 +2987,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2673,11 +3016,11 @@ ynh_debug_exec "your_command | other_command" @@ -2695,7 +3038,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2724,11 +3067,11 @@ ynh_debug_exec "your_command | other_command" @@ -2746,7 +3089,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2775,7 +3118,7 @@ ynh_debug_exec "your_command | other_command" @@ -2801,7 +3144,7 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2821,7 +3164,8 @@ ynh_debug_exec "your_command | other_command"

    - Usage: ynh_psql_user_exists --user=user + Usage: ynh_psql_user_exists --user=user +| exit: Return 1 if the user doesn't exist, 0 otherwise

    @@ -2830,7 +3174,7 @@ ynh_debug_exec "your_command | other_command" @@ -2841,7 +3185,14 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.5.0 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -2861,7 +3212,8 @@ ynh_debug_exec "your_command | other_command"

    - Usage: ynh_psql_database_exists --database=database + Usage: ynh_psql_database_exists --database=database +| exit: Return 1 if the database doesn't exist, 0 otherwise

    @@ -2870,7 +3222,7 @@ ynh_debug_exec "your_command | other_command" @@ -2881,7 +3233,14 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.5.0 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -2910,15 +3269,15 @@ ynh_debug_exec "your_command | other_command" @@ -2931,12 +3290,12 @@ ynh_debug_exec "your_command | other_command"

    Details:

    - After executing this helper, the password of the created database will be available in $db_pwd
    It will also be stored as "psqlpwd" into the app settings.

    + After executing this helper, the password of the created database will be available in $db_pwd
    It will also be stored as "psqlpwd" into the app settings.

    Requires YunoHost version 2.7.13 or higher.

    - Dude, show me the code ! + Dude, show me the code !

    @@ -2965,11 +3324,11 @@ ynh_debug_exec "your_command | other_command" @@ -2980,7 +3339,14 @@ ynh_debug_exec "your_command | other_command"

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 2.7.13 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -2995,6 +3361,7 @@ ynh_debug_exec "your_command | other_command"
    ynh_psql_test_if_first_run
    Create a master password and set up global settings +It also make sure that postgresql is installed and running Please always call this script in install and restore scripts
    @@ -3010,7 +3377,14 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 2.7.13 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -3044,11 +3418,11 @@ Please always call this script in install and restore scripts @@ -3066,7 +3440,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3095,15 +3469,15 @@ Please always call this script in install and restore scripts @@ -3121,7 +3495,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3150,11 +3524,11 @@ Please always call this script in install and restore scripts @@ -3172,172 +3546,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! -

    - - - - - - - - -
    -
    -
    -
    ynh_add_skipped_uris
    -
    Add skipped_uris urls into the config
    -
    -
    -
    -

    - - Usage: ynh_add_skipped_uris [--appid=app] --url=url1,url2 [--regex] - -

    - -

    - Arguments: -

      - - -
    • -a, --appid : the application id
    • - - - -
    • -u, --url : the urls to add to the sso for this app
    • - - - -
    • -r, --regex : Use the key 'skipped_regex' instead of 'skipped_uris'
    • - - -
    -

    - - - - - -

    - Details: -

    - An URL set with 'skipped_uris' key will be totally ignored by the SSO,
    which means that the access will be public and the logged-in user information will not be passed to the app.

    Requires YunoHost version 3.6.0 or higher.

    -

    -

    - -

    - Dude, show me the code ! -

    - -
    -
    - -
    - - - -
    -
    -
    -
    ynh_add_unprotected_uris
    -
    Add unprotected_uris urls into the config
    -
    -
    -
    -

    - - Usage: ynh_add_unprotected_uris [--appid=app] --url=url1,url2 [--regex] - -

    - -

    - Arguments: -

      - - -
    • -a, --appid : the application id
    • - - - -
    • -u, --url : the urls to add to the sso for this app
    • - - - -
    • -r, --regex : Use the key 'unprotected_regex' instead of 'unprotected_uris'
    • - - -
    -

    - - - - - -

    - Details: -

    - An URL set with unprotected_uris key will be accessible publicly, but if an user is logged in,
    his information will be accessible (through HTTP headers) to the app.

    Requires YunoHost version 3.6.0 or higher.

    -

    -

    - -

    - Dude, show me the code ! -

    - -
    -
    - -
    - - - -
    -
    -
    -
    ynh_add_protected_uris
    -
    Add protected_uris urls into the config
    -
    -
    -
    -

    - - Usage: ynh_add_protected_uris [--appid=app] --url=url1,url2 [--regex] - -

    - -

    - Arguments: -

      - - -
    • -a, --appid : the application id
    • - - - -
    • -u, --url : the urls to add to the sso for this app
    • - - - -
    • -r, --regex : Use the key 'protected_regex' instead of 'protected_uris'
    • - - -
    -

    - - - - - -

    - Details: -

    - An URL set with protected_uris will be blocked by the SSO and accessible only to authenticated and authorized users.

    Requires YunoHost version 3.6.0 or higher.

    -

    -

    - -

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3366,11 +3575,11 @@ Please always call this script in install and restore scripts
      -
    • -d, --domain : the domain/host of the url
    • +
    • -d, --domain= : the domain/host of the url
    • -
    • -p, --path_url : the web path to check the availability of
    • +
    • -p, --path_url= : the web path to check the availability of
    @@ -3392,7 +3601,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3421,15 +3630,15 @@ Please always call this script in install and restore scripts @@ -3451,7 +3660,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3471,7 +3680,7 @@ Please always call this script in install and restore scripts

    - Usage: ynh_permission_create --permission "permission" [--url "url"] [--allowed group1 group2] + Usage: ynh_permission_create --permission "permission" [--url=url] [--allowed="group1 group2"]

    @@ -3480,15 +3689,15 @@ Please always call this script in install and restore scripts @@ -3497,7 +3706,7 @@ Please always call this script in install and restore scripts

    - Example: ynh_permission_create --permission admin --url /admin --allowed alice bob + Example: ynh_permission_create --permission=admin --url=/admin --allowed="alice bob"

    @@ -3510,7 +3719,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3530,7 +3739,7 @@ Please always call this script in install and restore scripts

    - Usage: ynh_permission_delete --permission "permission" + Usage: ynh_permission_delete --permission="permission"

    @@ -3539,7 +3748,7 @@ Please always call this script in install and restore scripts @@ -3548,7 +3757,7 @@ Please always call this script in install and restore scripts

    - Example: ynh_permission_delete --permission editors + Example: ynh_permission_delete --permission=editors

    @@ -3561,7 +3770,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3581,7 +3790,8 @@ Please always call this script in install and restore scripts

    - Usage: ynh_permission_exists --permission=permission + Usage: ynh_permission_exists --permission=permission +| exit: Return 1 if the permission doesn't exist, 0 otherwise

    @@ -3590,7 +3800,7 @@ Please always call this script in install and restore scripts @@ -3608,7 +3818,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3628,7 +3838,7 @@ Please always call this script in install and restore scripts

    - Usage: ynh_permission_url --permission "permission" --url "url" + Usage: ynh_permission_url --permission="permission" [--url="url"]

    @@ -3637,11 +3847,11 @@ Please always call this script in install and restore scripts @@ -3659,7 +3869,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3679,7 +3889,7 @@ Please always call this script in install and restore scripts

    - Usage: ynh_permission_update --permission "permission" --add "group" ["group" ...] --remove "group" ["group" ...] + Usage: ynh_permission_update --permission="permission" [--add="group1 group2"] [--remove="group1 group2"]

    @@ -3688,15 +3898,15 @@ Please always call this script in install and restore scripts @@ -3705,13 +3915,76 @@ Please always call this script in install and restore scripts

    - Example: ynh_permission_update --permission admin --add samdoe --remove all_users Requires YunoHost version 3.7.0 or higher. + Example: ynh_permission_update --permission admin --add=samdoe --remove=all_users

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.7.0 or higher.

    +

    +

    + +

    + Dude, show me the code ! +

    + + + + + + + + +
    +
    +
    +
    ynh_permission_has_user
    +
    Check if a permission has an user
    +
    +
    +
    +

    + + Usage: ynh_permission_has_user --permission=permission --user=user +| exit: Return 1 if the permission doesn't have that user or doesn't exist, 0 otherwise + +

    + +

    + Arguments: +

      + + +
    • -p, --permission= : the permission to check
    • + + + +
    • -u, --user= : the user seek in the permission
    • + + +
    +

    + + + +

    + Example: ynh_permission_has_user --permission=main --user=visitors +

    + + + +

    + Details: +

    + Requires YunoHost version 3.7.1 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -3745,13 +4018,17 @@ Please always call this script in install and restore scripts
      -
    • -l, --length : the string length to generate (default: 24)
    • +
    • -l, --length= : the string length to generate (default: 24)

    +

    + Returns: the generated string +

    +

    Example: pwd=$(ynh_string_random --length=8) @@ -3767,7 +4044,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3796,15 +4073,15 @@ Please always call this script in install and restore scripts @@ -3822,7 +4099,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3851,15 +4128,15 @@ Please always call this script in install and restore scripts @@ -3877,7 +4154,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -3907,7 +4184,7 @@ Please always call this script in install and restore scripts @@ -3933,85 +4210,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! -

    - - - - - - - - -
    -
    -
    -
    ynh_normalize_url_path
    -
    Normalize the url path syntax
    -
    -
    -
    -

    - - Usage: ynh_normalize_url_path --path_url=path_to_normalize - -

    - -

    - Arguments: -

      - - -
    • -p, --path_url : URL path to normalize before using it
    • - - -
    -

    - - - - -

    - Examples:

      - - - url_path=$(ynh_normalize_url_path $url_path) - -
      - - - ynh_normalize_url_path example # -> /example - -
      - - - ynh_normalize_url_path /example # -> /example - -
      - - - ynh_normalize_url_path /example/ # -> /example - -
      - - - ynh_normalize_url_path / # -> / - -
      - -
    -

    - - -

    - Details: -

    - Handle the slash at the beginning of path and its absence at ending
    Return a normalized url path

    Requires YunoHost version 2.6.4 or higher.

    -

    -

    - -

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4036,7 +4235,8 @@ Please always call this script in install and restore scripts

    - Usage: ynh_add_systemd_config [--service=service] [--template=template] + Usage: ynh_add_systemd_config [--service=service] [--template=template] +ynh_add_systemd_config [--service=service] [--template=template] [--others_var="list of others variables to replace"]

    @@ -4045,11 +4245,15 @@ Please always call this script in install and restore scripts
      -
    • -s, --service : Service name (optionnal, $app by default)
    • +
    • -s, --service= : Service name (optionnal, $app by default)
    • -
    • -t, --template : Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)
    • +
    • -t, --template= : Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)
    • + + + +
    • -v, --others_var= : List of others variables to replace separated by a space. For example: 'var_1 var_2 ...'
    @@ -4062,12 +4266,12 @@ Please always call this script in install and restore scripts

    Details:

    - This will use the template ../conf/.service
    to generate a systemd config, by replacing the following keywords
    with global variables that should be defined before calling
    this helper :

    __APP__ by $app
    __FINALPATH__ by $final_path

    Requires YunoHost version 2.7.2 or higher.

    + This will use the template ../conf/.service
    to generate a systemd config, by replacing the following keywords
    with global variables that should be defined before calling
    this helper :

    __APP__ by $app
    __FINALPATH__ by $final_path

    And dynamic variables (from the last example) :
    __VAR_1__ by $var_1
    __VAR_2__ by $var_2

    Requires YunoHost version 2.7.11 or higher.

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4096,7 +4300,7 @@ Please always call this script in install and restore scripts @@ -4114,7 +4318,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4134,7 +4338,7 @@ Please always call this script in install and restore scripts

    - Usage: ynh_systemd_action [-n service_name] [-a action] [ [-l "line to match"] [-p log_path] [-t timeout] [-e length] ] + Usage: ynh_systemd_action [--service_name=service_name] [--action=action] [ [--line_match="line to match"] [--log_path=log_path] [--timeout=300] [--length=20] ]

    @@ -4174,7 +4378,14 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.5.0 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -4204,7 +4415,14 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.5.0 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -4229,7 +4447,8 @@ Please always call this script in install and restore scripts

    - Usage: ynh_user_exists --username=username + Usage: ynh_user_exists --username=username +| exit: Return 1 if the user doesn't exist, 0 otherwise

    @@ -4238,7 +4457,7 @@ Please always call this script in install and restore scripts @@ -4260,7 +4479,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4289,11 +4508,11 @@ Please always call this script in install and restore scripts @@ -4319,7 +4538,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4363,7 +4582,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4383,7 +4602,8 @@ Please always call this script in install and restore scripts

    - Usage: ynh_system_user_exists --username=username + Usage: ynh_system_user_exists --username=username +| exit: Return 1 if the user doesn't exist, 0 otherwise

    @@ -4392,7 +4612,7 @@ Please always call this script in install and restore scripts @@ -4410,7 +4630,7 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Dude, show me the code !

    @@ -4430,7 +4650,8 @@ Please always call this script in install and restore scripts

    - Usage: ynh_system_group_exists --group=group + Usage: ynh_system_group_exists --group=group +| exit: Return 1 if the group doesn't exist, 0 otherwise

    @@ -4439,7 +4660,7 @@ Please always call this script in install and restore scripts @@ -4450,7 +4671,14 @@ Please always call this script in install and restore scripts

    - Dude, show me the code ! + Details: +

    + Requires YunoHost version 3.5.0.2 or higher.

    +

    +

    + +

    + Dude, show me the code !

    @@ -4479,11 +4707,11 @@ Please always call this script in install and restore scripts