Merge remote-tracking branch 'upstream/master' into grav

This commit is contained in:
Kay0u 2021-02-06 14:59:57 +01:00
commit ba71c8a8ba
No known key found for this signature in database
GPG key ID: AAFEEB16CFA2AE2D
109 changed files with 2060 additions and 1232 deletions

16
app_bookstack.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/logo-bookstack.png" height="80px" alt="BookStack Logo"> BookStack
[![Install BookStack with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=bookstack) [![Integration level](https://dash.yunohost.org/integration/bookstack.svg)](https://dash.yunohost.org/appci/app/bookstack)
### Index
- [Useful links](#useful-links)
BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information.
## Useful links
+ Website: [bookstackapp.com](https://www.bookstackapp.com/)
+ Official documentation: [bookstackapp.com/docs](https://www.bookstackapp.com/docs/)
+ Application software repository: [github.com - YunoHost-Apps/bookstack](https://github.com/YunoHost-Apps/bookstack_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/bookstack/issues](https://github.com/YunoHost-Apps/bookstack_ynh/issues)

17
app_bookstack_fr.md Normal file
View file

@ -0,0 +1,17 @@
# <img src="/images/logo-bookstack.png" height="80px" alt="Logo BookStack"> BookStack
[![Installer BookStack avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=bookstack) [![Integration level](https://dash.yunohost.org/integration/bookstack.svg)](https://dash.yunohost.org/appci/app/bookstack)
### Index
- [Liens utiles](#useful-links)
BookStack est une plate-forme simple, auto-hébergée et facile à utiliser pour organiser et stocker des informations.
## Liens utiles
+ Site web : [bookstackapp.com](https://www.bookstackapp.com/)
+ Documentation officielle : [bookstackapp.com/docs](https://www.bookstackapp.com/docs/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/bookstack](https://github.com/YunoHost-Apps/bibliogram_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/bookstack/issues](https://github.com/YunoHost-Apps/bookstack_ynh/issues)

16
app_galene.md Normal file
View file

@ -0,0 +1,16 @@
# Galène
[![Install Galène with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) [![Integration level](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene)
### Index
- [Useful links](#useful-links)
*Galène* is a videoconferencing server that is easy to deploy (just copy a few files and run the binary) and that requires moderate server resources. It was originally designed for lectures and conferences (where a single speaker streams audio and video to hundreds or thousands of users), but later evolved to be useful for student practicals (where users are divided into many small groups), and meetings (where a few dozen users interact with each other).
## Useful links
+ Website: [galene.org](https://galene.org/)
+ Demonstration: [Demo](https://galene.org:8443/)
+ Application software repository: [github.com - YunoHost-Apps/galene](https://github.com/YunoHost-Apps/galene_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/galene/issues](https://github.com/YunoHost-Apps/galene_ynh/issues)

16
app_galene_fr.md Normal file
View file

@ -0,0 +1,16 @@
# Galène
[![Installer Galène avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) [![Integration level](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene)
### Index
- [Liens utiles](#liens-utiles)
*Galène* est un serveur de visioconférence facile à déployer (il suffit de copier quelques fichiers et d'exécuter le binaire) et qui nécessite des ressources serveur modérées. Il a été conçu à l'origine pour les conférences (où un seul orateur diffuse l'audio et la vidéo à des centaines ou des milliers d'utilisateurs), mais a ensuite évolué pour être utile pour les travaux pratiques des étudiants (où les utilisateurs sont divisés en plusieurs petits groupes) et les réunions (où un quelques dizaines d'utilisateurs interagissent les uns avec les autres).
## Liens utiles
+ Site web : [galene.org (en)](https://galene.org/)
+ Démonstration : [Démo](https://galene.org:8443/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/galene](https://github.com/YunoHost-Apps/galene_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/galene/issues](https://github.com/YunoHost-Apps/galene_ynh/issues)

18
app_hedgedoc.md Normal file
View file

@ -0,0 +1,18 @@
# <img src="/images/HedgeDoc-Logo.png" height="80px" alt="HedgeDocs logo"> HedgeDoc
[![Install HedgeDoc with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=hedgedoc) [![Integration level](https://dash.yunohost.org/integration/hedgedoc.svg)](https://dash.yunohost.org/appci/app/hedgedoc)
### Index
- [Useful links](#useful-links)
HedgeDoc is a collaborative, real-time word processing web service. It uses Markdown language, which is a simple way to format text.
HedgeDoc offers a wide range of features for all common uses of word processing, including title management, table of contents, insertion of images, tables, footnotes, video overlay, PDF viewers, LaTeX mathematical expressions with MathJax, diagrams, etc.
Different levels of permission allow you to choose who can read or edit the document.
## Useful links
+ Official demo: [https://demo.hedgedoc.org/](https://demo.hedgedoc.org/)
+ Official documentation: [github.com/hedgedoc](https://github.com/hedgedoc/hedgedoc/tree/master/docs)
+ Application software repository: [github.com - YunoHost-Apps/hedgedoc](https://github.com/YunoHost-Apps/hedgedoc_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/hedgedoc/issues](https://github.com/YunoHost-Apps/hedgedoc_ynh/issues)

18
app_hedgedoc_fr.md Normal file
View file

@ -0,0 +1,18 @@
# <img src="/images/HedgeDoc-Logo.png" height="80px" alt="Logo de HedgeDoc"> HedgeDoc
[![Installer HedgeDoc avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=hedgedoc) [![Integration level](https://dash.yunohost.org/integration/hedgedoc.svg)](https://dash.yunohost.org/appci/app/hedgedoc)
### Index
- [Liens utiles](#liens-utiles)
HedgeDoc est un service web de traitement de texte collaboratif en temps réel. Il utilise le langage Markdown, qui est un moyen simple pour formater un texte.
HedgeDoc propose un vaste choix de fonctionnalités pour toutes les utilisations courantes du traitement de texte parmi lesquelles gestion des titres, table de matières, insertion dimages, tableaux, notes de bas de page, incrustation de vidéos, visualisateurs PDF, expressions mathématiques LaTeX avec MathJax, diagrammes, etc.
Différents niveaux de permission permettent de choisir qui peut lire ou éditer le document.
## Liens utiles
+ Démo officielle : [https://demo.hedgedoc.org/](https://demo.hedgedoc.org/)
+ Documentation officielle : [github.com/hedgedoc](https://github.com/hedgedoc/hedgedoc/tree/master/docs)
+ Dépôt logiciel de lapplication : [github.com - YunoHost-Apps/hedgedoc](https://github.com/YunoHost-Apps/codimd_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/hedgedoc/issues](https://github.com/YunoHost-Apps/hedgedoc_ynh/issues)

17
app_lychee.md Normal file
View file

@ -0,0 +1,17 @@
# <img src="/images/lychee_logo.png" width="80px" alt="Lyfee's logo"> Lychee
[![Install Lychee with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=lychee) [![Integration level](https://dash.yunohost.org/integration/lychee.svg)](https://dash.yunohost.org/appci/app/lychee)
### Index
- [Useful Links](#useful-links)
Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.
## Useful links
+ Website: [lycheeorg.github.io](https://lycheeorg.github.io/)
+ Demonstration: [lycheeorg.github.io/demo](https://lycheeorg.github.io/demo/)
+ Official documentation: [lycheeorg.github.io/docs](https://lycheeorg.github.io/docs/)
+ Application software repository: [github.com - YunoHost-Apps/lychee](https://github.com/YunoHost-Apps/lychee_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/lychee/issues](https://github.com/YunoHost-Apps/lychee_ynh/issues)

17
app_lychee_fr.md Normal file
View file

@ -0,0 +1,17 @@
# <img src="/images/lychee_logo.png" width="80px" alt="Lyfee's logo"> Lychee
[![Installer Lychee avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=lychee) [![Integration level](https://dash.yunohost.org/integration/lychee.svg)](https://dash.yunohost.org/appci/app/lychee)
### Index
- [Liens utiles](#liens-utiles)
Lychee est un outil de gestion de photos gratuit, qui fonctionne sur votre serveur ou votre espace Web. L'installation est une question de secondes. Téléchargez, gérez et partagez des photos comme à partir d'une application native. Lychee est livré avec tout ce dont vous avez besoin et toutes vos photos sont stockées en toute sécurité.
## Liens utiles
+ Site web : [lycheeorg.github.io](https://lycheeorg.github.io/)
+ Site de démonstration : [lycheeorg.github.io/demo](https://lycheeorg.github.io/demo/)
+ Documentation officielle : [lycheeorg.github.io/docs](https://lycheeorg.github.io/docs/)
+ Dépôt logiciel de Lychee : [github.com - YunoHost-Apps/lychee](https://github.com/YunoHost-Apps/lychee_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/lychee/issues](https://github.com/YunoHost-Apps/lychee_ynh/issues)

16
app_mantis.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/mantis_logo.png" height="80px" alt="Mantis's logo"> Mantis
[![Install Mantis with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mantis) [![Integration level](https://dash.yunohost.org/integration/mantis.svg)](https://dash.yunohost.org/appci/app/mantis)
### Index
- [Useful links](#useful-links)
Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.
## Useful links
+ Website: [mantisbt.org](https://mantisbt.org)
+ Official documentation: [mantisbt.org/documentation.php](https://mantisbt.org/documentation.php)
+ Application software repository: [github.com - YunoHost-Apps/mantis](https://github.com/YunoHost-Apps/mantis_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/mantis/issues](https://github.com/YunoHost-Apps/mantis_ynh/issues)

16
app_mantis_fr.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/mantis_logo.png" height="80px" alt="logo de Mantis"> Mantis
[![Installer Mantis avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mantis) [![Integration level](https://dash.yunohost.org/integration/mantis.svg)](https://dash.yunohost.org/appci/app/mantis)
### Index
- [Liens utiles](#liens-utiles)
Mantis Bug Tracker est un système de suivi des bogues gratuit et open source. L'utilisation la plus courante de MantisBT est de suivre les bogues logiciels. Cependant, MantisBT est souvent configuré par les utilisateurs pour servir de système de suivi des problèmes plus générique et d'outil de gestion de projet.
## Liens utiles
+ Site web : [mantisbt.org](https://mantisbt.org)
+ Documentation officielle : [mantisbt.org/documentation.php](https://mantisbt.org/documentation.php)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/mantis](https://github.com/YunoHost-Apps/mantis_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/mantis/issues](https://github.com/YunoHost-Apps/mantis_ynh/issues)

16
app_matomo.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/matomo_logo.png" height="80px" alt="Matomo's logo"> Matomo
[![Install Matomo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=matomo) [![Integration level](https://dash.yunohost.org/integration/matomo.svg)](https://dash.yunohost.org/appci/app/matomo)
### Index
- [Useful links](#useful-links)
Matomo is the leading Free/Libre open analytics platform. It is a full-featured PHP MySQL software program that you download and install on your own webserver. At the end of the five-minute installation process, you will be given a JavaScript code. Simply copy and paste this tag on websites you wish to track and access your analytics reports in real-time.
## Useful links
+ Website: [matomo.org](https://matomo.org)
+ Official documentation: [https://matomo.org/docs](https://matomo.org/docs)
+ Application software repository: [github.com - YunoHost-Apps/matomo](https://github.com/YunoHost-Apps/matomo_ynh)
+ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/matomo/issues](https://github.com/YunoHost-Apps/matomo_ynh/issues)

16
app_matomo_fr.md Normal file
View file

@ -0,0 +1,16 @@
# <img src="/images/matomo_logo.png" height="80px" alt="Matomo's logo"> Matomo
[![Install Matomo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=matomo) [![Integration level](https://dash.yunohost.org/integration/matomo.svg)](https://dash.yunohost.org/appci/app/matomo)
### Index
- [Liens utiles](#liens-utiles)
Matomo est une plateforme d'analyse open source de mesure de statistiques Web. Il s'agit d'un logiciel PHP MySQL complet que vous téléchargez et installez sur votre propre serveur Web. À la fin du processus d'installation de cinq minutes, vous recevrez un code JavaScript. Copiez et collez simplement cette balise sur les sites Web que vous souhaitez suivre et accédez à vos rapports d'analyse en temps réel.
## Liens utiles
+ Site web : [matomo.org](https://matomo.org)
+ Documentation officielle : [https://matomo.org/docs](https://matomo.org/docs)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/matomo](https://github.com/YunoHost-Apps/matomo_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/matomo/issues](https://github.com/YunoHost-Apps/matomo_ynh/issues)

248
app_netdata_fr.md Normal file
View file

@ -0,0 +1,248 @@
## NetData
[NetData](http://my-netdata.io/) est un système distribué de **surveillance des performances et de la santé en temps réel**.
Il fournit un **aperçu inégalé, en temps réel**, de tout ce qui se passe sur lesystème qu'il exécute (y compris les applications telles que les serveurs web et de base de données), en utilisantdes **tableaux de bord modernes et interactifs sur le web**.
_netdata est **rapide** et **efficient**, conçu pour fonctionner en permanence sur tous les systèmes (serveurs **physiques** et **virtuels**, **conteneurs**, **dispositifs IoT**), sans en perturbant leur fonction principale.
[![Install Netdata with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=netdata)
**Personnalisation apportée par le paquet:**
* Accorde l'accès aux statistiques MySQL via un utilisateur `netdata`.
* Statistiques du journal racine NGINX en mettant l'utilisateur `netdata` dans le groupe `adm`.
* Statistiques Dovecot via l'accès aux statistiques de Dovecot pour l'utilisateur `net data` (fonctionne uniquement avec Dovecot 2.2.16+).
**Autres recommandations:**
Nous n'autorisons pas les paquets YunoHost à apporter des modifications sensibles aux fichiers du système. Voici donc d'autres personnalisations que vous pouvez faire pour permettre une meilleure surveillance :
* NGINX:
* Requêtes et connexions : suivez [ces recommandations](https://github.com/firehol/netdata/tree/master/python.d#nginx) pour activer `/stab_status` (par exemple en mettant la section `location` dans `/etc/nginx/conf.d/yunohost_admin.conf`).
* Journaux web : vous pouvez surveiller tous vos journaux web (weblogs) NGINX pour détecter les erreurs ; suivez [ces recommandations](https://github.com/firehol/netdata/tree/master/python.d#nginx_log).
* PHP-FPM : suivez [ces recommandations](https://github.com/firehol/netdata/tree/master/python.d#phpfpm).
## Fonctionnalités
<p align="center">
<img src="https://cloud.githubusercontent.com/assets/2662304/19168687/f6a567be-8c19-11e6-8561-ce8d589e8346.gif"/>
</p>
- Des **tableaux de bord interactifs époustouflants**<br/>
souris et tactile, en 2 thèmes : sombre et clair.
- **Rapide comme l'éclair**<br/>
Répond à toutes les demandes en moins de 0,5 ms par métrique, même sur du matériel bas de gamme
- **Haute efficacité**<br/>
Collecte des milliers de mesures par serveur et par seconde, avec seulement 1% d'utilisation d'un seul cœur du processeur, quelques Mo de RAM et aucune E/S de disque.
- **Alarme sophistiquée**<br/>
Des centaines d'alarmes, **prête à l'emploi**!<br/>
Prend en charge les seuils dynamiques, l'hystérésis, les modèles d'alarme, plusieurs méthodes de notification basées sur les rôles (comme le courriel, slack.com, pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com).
- **Extensible**<br/>
Vous pouvez surveiller tout ce pour quoi vous pouvez obtenir une métrique, en utilisant son API de plugin (tout peut être un plugin NetData, BASH, Python, Perl, Node.JS, Java, Go, Ruby, etc.).
- **Intégrable**<br/>
Il peut fonctionner partout où un noyau Linux fonctionne (même IoT), et ses graphiques peuvent également être intégrés à vos pages web.
- **Personnalisable**<br/>
Des tableaux de bord personnalisés peuvent être construits en utilisant du HTML simple (pas de JavaScript nécessaire).
- **Zéro configuration**<br/>
Détecte tout automatiquement, il peut collecter jusqu'à 5000 mesures par serveur dès son lancement.
- **Zéro dépendance**<br/>
Il est même son propre serveur web, pour ses fichiers web statiques et son API web.
- **Zéro maintenance**<br/>
Vous le lancez, il fait le reste.
- **S'échelonne à l'infini**<br/>
En exigeant un minimum de ressources centrales.
- **Plusieurs modes de fonctionnement**<br/>
Surveillance autonome de l'hôte, collecteur de données sans tête, proxy de transfert, proxy de stockage et de transfert, surveillance centrale de plusieurs hôtes, dans toutes les configurations possibles.
Chaque nœud peut avoir une politique différente de rétention des données et fonctionner avec ou sans surveillance de la santé.
- **Support des back-ends de séries chronologiques**<br/>
Peut archiver ses mesures sur les bases de données de documents `graphite`, `opentsdb`, `prometheus`, ou sur les bases de données de documents JSON, avec le même niveau de détail ou un niveau inférieur (Inférieur : pour éviter qu'il n'encombre ces serveurs en raison de la quantité de données collectées).
![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
---
## Qu'est-ce qu'il surveille ?
NetData collecte plusieurs milliers de mesures par appareil.
Toutes ces mesures sont collectées et visualisées en temps réel.
> _Presque toutes les métriques sont auto-détectées, sans aucune configuration._
Voici une liste de ce qu'il surveille actuellement :
- **Processeur central (CPU)**<br/>
Utilisation, interruptions, softirqs, fréquence, total et par cœur, états du CPU.
- **Mémoire**<br/>
RAM, utilisation de la mémoire du noyau et de la swap, KSM (Kernel Samepage Merging), NUMA.
- **Disques**<br/>
Par disque : E/S, opérations, fille d'attente, utilisation, espace, RAID logiciel (md).
![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
- **Interfaces réseau**<br/>
Par interface : bande passante, paquets, erreurs, rejets.
![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
- **Réseautage IPv4**<br/>
Bande passante, paquets, erreurs, fragments,
TCP : connexions, paquets, erreurs, poignée de main,
UDP : paquets, erreurs,
Diffusion : bande passante, paquets,
Multidiffusion : bande passante, paquets.
- **Réseautage IPv6**<br/>
Bande passante, paquets, erreurs, fragments, ECT,
UDP : paquets, erreurs,
UDP-Lite : paquets, erreurs,
Diffusion : bande passante,
Multidiffusion : bande passante, paquets,
ICMP : messages, erreurs, échos, routeur, voisin, MLDv2, appartenance à un groupe,
ventiler par type.
- **Communication inter-processus - IPC**<br/>
Tels que les sémaphores et les réseaux de sémaphores.
- **netfilter / iptables Linux firewall**<br/>
Connexions, événements de suivi des connexions, erreurs.
- **Protection DDoS de Linux**<br/>
Mesures de la SYNPROXIE.
- **latences fping**</br>
Pour toute quantité d'hôtes, en indiquant la latence, les paquets et la perte de paquets.
![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
- **Processus**<br/>
En fonctionnement, bloqué, bifurqué, actif.
- **Entropie**<br/>
Le pool de nombres aléatoires, utilisé en cryptographie.
- **Serveurs et clients de fichiers NFS**<br/>
NFS v2, v3, v4 : E/S, cache, lecture anticipée, appels RPC.
- **Réseau QoS**<br/>
le seul outil qui permet de visualiser les classes du réseau `tc` en temps réel.
![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
- **Groupes de contrôle de Linux**<br/>
Conteneurs : systemd, lxc, docker.
- **Applications**<br/>
En regroupant l'arbre des processus et en signalant l'utilisation du processeur, de la mémoire, la lecture des disques, l'écritures des disques, l'échange, les fils, les pipes, les prises - par groupe.
![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
- **Utilisation des ressources par les utilisateurs et les groupes d'utilisateurs**<br/>
En résumant l'arbre de processus par utilisateur et par groupe, rapportant : processeur central, mémoire, lecture de disque, écriture de disque, échange (swap), fils, pipes, et sockets.
- **Serveurs web Apache et lighttpd**<br/>
`mod-status` (v2.2, v2.4) et statistiques des journaux de cache, pour plusieurs serveurs.
- **Serveurs web NGINX**<br/>
`stub-status`, pour plusieurs serveurs.
- **Tomcat**<br/>
Accès, files, mémoire libre, volume.
- **Fichiers journaux du serveur web**<br/>
Extrayant en temps réel les mesures de performance du serveur web et appliquant plusieurs contrôles de santé.
- **Bases de données MySQL**<br/>
Plusieurs serveurs, chacun indiquant : bande passante, requêtes/s, gestionnaires, verrous, problèmes,
opérations tmp, connexions, métriques binlog, files, métriques innodb, et plus.
- **Bases de données Postgres**<br/>
Plusieurs serveurs, chacun affichant : par base de données des statistiques (connexions, tuples
lecture - écriture - rendu, transactions, verrous), les processus d'arrière-plan, les index,
les tables, l'écriture à l'avance, l'écriture de fond et plus encore.
- **Bases de données Redis**<br/>
Plusieurs serveurs, chacun affichant : opérations, taux de réussite, mémoire, clés, clients, esclaves.
- **mongodb**<br/>
Opérations, clients, transactions, curseurs, connexions, assertions, serrures, etc.
- **bases de données memcached**<br/>
Plusieurs serveurs, chacun indiquant : bande passante, connexions, objets.
- **elasticsearch**<br/>
les performances de recherche et d'indexation, la latence, les délais, les statistiques sur les grappes, les statistiques sur les fils, etc.
- **ISC Bind name servers**<br/>
Plusieurs serveurs, chacun affichant : les clients, les demandes, les requêtes, les mises à jour, les échecs et plusieurs mesures par vue.
- **Serveurs de noms NSD**<br/>
Les requêtes, les zones, les protocoles, les types de requêtes, les transferts, etc.
- **Serveurs de courrier électronique Postfix**<br/>
La file d'attente des messages (entrées, taille)
- **Serveurs de courrier électronique Exim**<br/>
La file d'attente des messages (e-mails en file d'attente)
- **Dovecot**<br/>
Serveurs POP3/IMAP
- **ISC dhcpd**<br/>
L'utilisation des pools, les baux, etc.
- **IPFS**<br/>
La bande passante, les pairs.
- **Squid proxy servers**<br/>
Plusieurs serveurs, chacun indiquant : la bande passante et les requêtes des clients, la bande passante des serveurs et les requêtes.
- **HAproxy**<br/>
La bande passante, les sessions, les backends, etc.
- **varnish**<br/>
Les fils, les sessions, les succès, les objets, les backends, etc.
- **OpenVPN**<br/>
Le statut par tunnel.
- **Senseurs matériels**<br/>
Capteurs `lm_sensors` et `IPMI` : température, tension, ventilateurs, puissance, humidité.
- **NUT et APC UPSes**<br/>
La charge, la tension de la batterie, la température, les mesures d'utilité, et les mesures de sortie.
- **PHP-FPM**<br/>
Plusieurs instances, chacune rapportant les connexions, les demandes, et les performances.
- **hddtemp**<br/>
La température des disques.
- **smartd**<br/>
Les valeurs S.M.A.R.T. des disques.
- **Dispositifs SNMP**<br/>
Peuvent également être surveillés (bien que vous devez les configurer).
- **statsd**<br/>
[netdata est un serveur statsd complet](https://github.com/firehol/netdata/wiki/statsd).
Et vous pouvez l'étendre, en écrivant des plugins qui collectent des données de n'importe quelle source, en utilisant n'importe quel langage informatique.
## Liens
* Signaler un bogue : https://github.com/YunoHost-Apps/netdata_ynh/issues
* Site web de NetData : http://my-netdata.io/

17
app_privatebin.md Normal file
View file

@ -0,0 +1,17 @@
# <img src="/images/zerobin_logo.svg" height="80px" alt="PrivateBin's logo"> Privatebin
[![Install PrivateBin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=privatebin) [![Integration level](https://dash.yunohost.org/integration/privatebin.svg)](https://dash.yunohost.org/appci/app/privatebin)
### Index
- [Useful links](#useful-links)
PrivateBin is a web service for temporarily storing and sharing plain text in encrypted form without readable storage on the server. The encryption/decryption key is not stored on the server but in the transmitted URL. Thus you can share sensitive information (passwords, access codes, and even a discussion) in a confidential way by communicating to your interlocutors the specific address of your content. Moreover this content has a limited value in time and is destroyed after a customizable delay.
## Useful links
+ Website : [privatebin.info](https://privatebin.info/)
+ Official documentation : [github.com/PrivateBin/PrivateBin/wiki](https://github.com/PrivateBin/PrivateBin/wiki)
+ Demonstration : [Demo](https://privatebin.net/)
+ Application software repository : [github.com - YunoHost-Apps/privatebin](https://github.com/YunoHost-Apps/privatebin_ynh)
+ Fix a bug or an improvement by creating a ticket (issue) : [github.com - YunoHost-Apps/privatebin/issues](https://github.com/YunoHost-Apps/privatebin_ynh/issues)

17
app_privatebin_fr.md Normal file
View file

@ -0,0 +1,17 @@
# <img src="/images/zerobin_logo.svg" height="80px" alt="logo de privatebin"> PrivateBin
[![Install PrivateBin with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=privatebin) [![Integration level](https://dash.yunohost.org/integration/privatebin.svg)](https://dash.yunohost.org/appci/app/privatebin)
### Index
- [Liens utiles](#liens-utiles)
PrivateBin est un service web permettant de stocker temporairement et de partager du texte simple de manière chiffrée, sans stockage lisible sur le serveur. La clef de chiffrement/déchiffrement n'est pas stockée sur le serveur mais dans l'URL transmise. Ainsi vous pouvez partager des informations sensibles (mots de passe, codes d'accès, et même une discussion) de manière confidentielle en communiquant à vos interlocuteurs l'adresse spécifique de votre contenu. De plus ce contenu a une valeur limitée dans le temps et est détruit passé un délai personnalisable.
## Liens utiles
+ Site web : [privatebin.info](https://privatebin.info/)
+ Documentation officielle : [github.com/PrivateBin/PrivateBin/wiki](https://github.com/PrivateBin/PrivateBin/wiki)
+ Démonstration : [Démo](https://privatebin.net/)
+ Dépôt logiciel de l'application : [github.com - YunoHost-Apps/privatebin](https://github.com/YunoHost-Apps/privatebin_ynh)
+ Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com -YunoHost-Apps/privatebin/issues](https://github.com/YunoHost-Apps/privatebin_ynh/issues)

77
email_configure_relay.md Normal file
View file

@ -0,0 +1,77 @@
# Configure SMTP relay
If your ISP blocks port 25, if you can't set a reverseDNS on your server, or if you have any other troubles using the built-in SMTP server on YunoHost, you may want to setup your YunoHost server to use a SMTP relay.
## What is a SMTP relay?
A SMTP relay is basically a third party hosted SMTP server that will send emails on behalf of your own SMTP server (Postfix service on YunoHost).
Once setup correctly on YunoHost, it will operate in a totally transparent manner, both for you and for your correspondents: they will see emails as coming from your YunoHost main URL, but all the sending will be delegated to the SMTP relay you have chosen and configured.
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
It's important to note that using a SMTP relay has to be seen as a (big) compromise in the world of self-hosting. Indeed, when using a SMTP relay, you will not only let a third party send emails on your behalf, but also be able to access to the full content of all the emails you'll send. Be also aware that a SMTP relay is setup for your whole YunoHost server: you can't choose which emails or which users go through it because all future emails will.
</div>
## How to use a SMTP relay with YunoHost?
YunoHost has a built-in SMTP relay configuration, available from version 4.1. That configuration is not yet available from the admin web interface, though. You will have to use the command line interface.
### Step 1: Register on a SMTP relay provider
Many providers exist. Some have free plans with or without limitations, it's up to you. As written above, you have to be careful with your choice as you will basically handover all your emails to that third party. Whether you can trust it or not, that's your call!
### Step 2: Setup your DNS records correctly
Once registered, the SMTP relay provider will usually ask you to modify your DNS.
Standard procedure is to add a DKIM key and a SPF key to your DNS records.
The way to modify these records and the value of the keys you'll have to add depend both on your domain name provider and SMTP relay provider.
Usually, the SMTP relay provider will provide you with a guide on how to modify these records, together with an automatic check tool that will tell you when your DNS have been setup correctly. That step is mandatory to prove "the world" that you, owner of your domain name, did explicitly authorize your SMTP relay provider to send emails on your behalf.
Please note that modifying your DNS records could sometimes take over 24h to take effect, so be patient!
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
From now on, a non trusty SMTP relay provider could send emails from your main domain without telling you.
</div>
### Step 3: Setup YunoHost correctly
In order to setup your YunoHost to use your SMTP relay, you will have to configure three things:
1. Your SMTP relay URL (for this tutorial we will use `smtprelay.tld`)
2. Your SMTP relay username (for this tutorial we will use `username`)
3. Your SMTP relay password (for this tutorial we will use `password`)
Your SMTP relay will obviously provide you with these three things, that should be available in your control panel or whatsoever.
You can log into your YunoHost server using SSH:
```bash
ssh admin@yourdomain.tld
```
Then you can update the three values as below:
```bash
sudo yunohost settings set smtp.relay.host -v smtprelay.tld
sudo yunohost settings set smtp.relay.user -v username
sudo yunohost settings set smtp.relay.password -v password
```
It may be a good idea to double confirm your settings by doing:
```bash
sudo yunohost settings list
```
Your SMTP relay is now configured!
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
From now on, a non trusty SMTP relay provider could read or use the data of all the emails you send without telling you (but still won't be able to read nor to use the data from emails you receive).
</div>
### Step 4: Check your setup
You can check your setup by sending emails and try if everything works.
Some of the SMTP relay will give you insights about the emails you send so that can also be a good way to check that everythings works as needed.
Of course, you can always have a try with [mail-tester.com](https://www.mail-tester.com/) to check for any problem or discrepancy.

View file

@ -0,0 +1,69 @@
# Configurer un relais SMTP
Si votre fournisseur internet bloque le port 25, ou si vous rencontrez un problème dutilisation du serveur SMTP natif de YunoHost, vous pouvez configurer votre serveur YunoHost pour utiliser un relais SMTP.
## Qu'est ce qu'un relais SMTP
C'est un serveur SMTP tiers qui va envoyer les e-mails à la place de votre propre serveur SMTP.
Une fois correctement installé, le changement est totalement transparent pour lutilisateur. Vos correspondants verront vos e-mails comme sils venaient de votre propre serveur, mais ils auront été envoyés depuis le relais SMTP que vous aurez choisi et configuré.
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
Il est important de noter que dans le monde de l'auto-hébergement, utiliser un relai SMTP est un énorme compromis ! En effet, le relais SMTP ne sera pas seulement capable d'envoyer les e-mails, mais il a également accès au contenu entier de le-mail que vous envoyez.
Il faut faire attention également que vous n'aurez pas le choix, tout le trafic e-mails passera par ce relais une fois la configuration terminée.
</div>
## Comment utiliser le relais SMTP avec YunoHost ?
YunoHost supporte depuis la version 4.1 la configuration d'un relais SMTP. Pour le moment cette fonctionnalité ne soit pas accessible depuis l'interface d'administration : le paramétrage doit être fait en ligne de commande.
### Étape 1 : S'inscrire chez un fournisseur de relais SMTP
Beaucoup de fournisseurs existent dans ce domaine. Certains sont gratuits et d'autres proposent des services payants contre différentes options. Comme écrit plus haut vous devez être sûr de pouvoir lui faire confiance, mais cela reste à votre entier égard.
### Étape 2 : Paramétrer sa zone DNS correctement
Une fois inscrit, le paramétrage du relais SMTP demande de modifier la zone DNS de votre domaine. La procédure standard consiste à ajouter une clé DKIM, et SPF à la zone DNS. Les paramètres à modifier dépendent du fournisseur que vous aurez choisi.
Habituellement les fournisseurs ont une documentation à ce sujet.
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
Attention une fois la zone DNS enregistrée, le relais SMTP peut envoyer des e-mails à votre nom sans que vous ne le sachiez
</div>
## Étape 3 :Configurer YunoHost correctement
Pour que YunoHost soit capable d'utiliser le relais, il faut paramétrer 3 choses.
1. Votre url de relais SMTP (on utilisera `smtprelay.tld`).
2. Votre nom d'utilisateur SMTP (on utilisera `username`).
3. Votre mot de passe SMTP (on utilisera `password`).
Le fournisseur SMTP vous fournit ces trois informations.
Premièrement se connecter sur son serveur en SSH avec la commande :
```bash
ssh admin@domain.tld
```
Ensuite, mettre à jour les informations suivantes :
```bash
sudo yunohost settings set smtp.relay.host -v smtprelay.tld
sudo yunohost settings set smtp.relay.user -v username
sudo yunohost settings set smtp.relay.password -v password
```
C'est une bonne idée de confirmer les informations en faisant `sudo yunohost settings list`
Votre relais SMTP est maintenant configuré !
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span>
Maintenant le relais SMTP est capable de lire et d'utiliser toutes les informations contenues dans les emails que vous envoyer sans votre accord. Mais ne sera pas capable de lire les informations des emails que vous recevez.
</span>
## Vérifier la configuration
Vous pouvez vérifier vos paramètres en envoyant un mail et voir si cela fonctionne. Certains relais SMTP vous confirment l'e-mail envoyé. Bien sur vous pouvez vérifier sur mail-tester.com pour prendre connaissance déventuelles problèmes.

19
finding_the_local_ip.md Normal file
View file

@ -0,0 +1,19 @@
# Finding your server's local IP
On an installation at home, your server should typically be accessible using the `yunohost.local` domain. If for any reason this does not work, you may need to find the *local* IP of your server.
The local IP is the address used to refer to your server inside the local network (typically your home) where multiple devices are connected to a router (your internet box). The local IP typically looks like `192.168.x.y` (or sometimes `10.0.x.y`)
Any of these tricks should allow you to find the local IP of your server:
- Connect to your internet box / router interface to list the machines connected, or check the logs;
- If you're using Linux, you can open a terminal and use `sudo arp-scan --local` to list the IP on your local network (this may also work in Windows);
- If the `arp-scan` command displays a confusing number of devices, you can check which ones are open to SSH with `nmap -p 22 192.168.1.0/24` to sort them out (adapt the IP range to your local network)
- Plug a screen on your server, log in and type `hostname --all-ip-address`.
If you are unable to find your server using any of the previous tricks, maybe your server did not boot correctly:
- Make sure that your server is properly plugged in;
- If you're using an SD card, make sure the connector is not too dusty;
- Plug a screen on your server and try to reboot to check that it's properly booting;
- Make sure that your ethernet cable is working and properly plugged in;

View file

@ -0,0 +1,19 @@
# Trouver l'IP locale de son serveur
Dans le cas d'une installation à la maison, votre serveur devrait typiquement être accessible (depuis son réseau local) avec le domaine `yunohost.local`. Si pour une raison cela ne fonctionne pas, il vous faut peut-être trouver l'IP locale de votre serveur.
L'IP locale d'une machine est utilisée pour y faire référence à l'intérieur d'un réseau local (typiquement le réseau dans une maison) où plusieurs appareils se connectent à un même routeur (votre box internet). Une adresse IP locale ressemble généralement à `192.168.x.y` (ou parfois `10.0.x.y`)
L'une de ces astuces devrait permettre de trouver l'IP locale de votre serveur :
- Utilisez l'interface de votre box internet pour lister les machines connectées, ou regarder les logs ;
- Si vous êtes sous Linux, ouvrez un terminal et tapez `sudo arp-scan --local` pour lister les IP des machines sur le réseau local (ceci fonctionne aussi peut-être sous Windows) ;
- Si la commande `arp-scan` vous affiche beaucoup de machines, vous pouvez vérifier lesquelles sont ouvertes au SSH avec `nmap -p 22 192.168.1.0/24` pour faire du tri (adaptez la plage IP selon votre réseau local)
- Branchez un écran sur votre serveur, loggez-vous et tapez `hostname --all-ip-address`.
Si vous n'êtes pas capable de trouver votre serveur avec les méthodes précédentes, alors peut-être que votre serveur n'a pas démarré correctement
- Assurez-vous que le serveur est correctement branché ;
- Si votre serveur a une carte SD, essayez de vous assurer que la connectique n'est pas trop poussièreuse ;
- Branchez un écran sur le serveur et essayez de le redémarrer pour valider que le serveur démarre bien ;
- Assurez-vous que le cable ethernet est fonctionnel et correctement branché ;

BIN
images/HedgeDoc-Logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

BIN
images/logo-bookstack.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
images/logo_codelutin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

BIN
images/logo_gitoyen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
images/logo_globenet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
images/logo_ldn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
images/logo_nbs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
images/logo_ngi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
images/logo_nlnet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
images/logo_tetaneutral.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
images/lychee_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
images/mantis_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

BIN
images/matomo_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

35
install_iso_de.md Normal file
View file

@ -0,0 +1,35 @@
# Instalation auf einem normalen Computer
*Um andere Wege zu finden, YunoHost zu instalieren, klicke **[hier](/install)**.*
### Anforderungen
<img src="/images/laptop.png" width=200>
<img src="/images/desktop.jpg">
<img src="/images/nettop.jpg">
* Einen x86-kompatibele Hardware für YunoHost: Laptop, Netbook oder Desktop.
Du kannst jeden Computer nutzen der **256MB RAM oder mehr** hat.
* Einen anderen Computer, um diesen Guide zu lesen und der auf deinen Server zugreift.
* Einen [angemessenen Internet-Provider](/isp), am besten mit guter und unlimitierter Bandweite.
* Einen **USB Stick** mit mindestens 1GB Speicher **ODER** eine normale **Blanko-CD**
* ***Sonderfall*** : Wenn dein Server keine Grafikkarte hat, bereite die ISO für einen Start mit Seriellem Port vor (https://github.com/luffah/debian-mkserialiso).
---
## Instalationsschritte
<a class="btn btn-lg btn-default" href="/images">0. Lade die YunoHost ISO Imagedatei herunter image</a>
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Brenne die Iso-Datei auf einen USB-Stick oder eine CD</a>
<a class="btn btn-lg btn-default" href="/boot_and_graphical_install">2. Starte die Maschine und führe die Instalation aus </a>
<a class="btn btn-lg btn-default" href="/postinstall">3. Fahre fort mit der Erstkonfiguration (Nachinstalation)</a>
---
Um dich direkt mit dem Computer oder mit [SSH](/ssh) (only on local network) zu verbinden:
* Benutzername: **root**
* Passwort: **yunohost**

View file

@ -33,5 +33,5 @@ También puedes consultar las documentaciones específicas a estas varias [ofici
**Atención** : Si eliges este modo de funcionamiento, tendrás más flexibilidad, pero nada será automático. Por ejemplo si quieres utilizar `webmail.mi-servidor.org`, tendrás que añadirlo manualmente en la interfaz de tu registrar.
3. (Advanced, not 100% supported, do this only if you know what you're doing) Tu instancia tiene un servicio DNS, lo que quiere decir que configura automáticamente sus registros DNS y que es posible delegarle la administración de estos registros. Por eso, tienes que indicar al **registrar** que es tu instancia Yunohost que es el servidor DNS de tu nombre de dominio creando un registro glue (a menudo denominado **glue record**) apuntando hacia la IP de tu instancia Yunohost.
3. (Advanced, not 100% supported, do this only if you know what you're doing) Tu instancia tiene un servicio DNS, lo que quiere decir que configura automáticamente sus registros DNS y que es posible delegarle la administración de estos registros. Por eso, tienes que indicar al **registrar** que es tu instancia YunoHost que es el servidor DNS de tu nombre de dominio creando un registro glue (a menudo denominado **glue record**) apuntando hacia la IP de tu instancia YunoHost.
<br><br>**Atención** : Si eliges este modo de funcionamiento, todas las configuraciones serán automatizadas, tendrás mucha flexibilidad pero la pérdida de tu servidor potencialmente traerá muchos problemas. **Elige este método si estás muy seguro de los que estás haciendo.**

View file

@ -1,21 +1,17 @@
# Acceder a tu servidor desde la red local
# Local network access to your server
Después de haber instalado tu servidor, es probable que tu nombre de dominio no esté accesible desde la red local donde se encuentra el servidor. Esto es un problema que se llama el [hairpinning](https://en.wikipedia.org/wiki/Hairpinning).
After completing your server installation, it is possible that your domain will not be accessible through the local network. This is an issue known as [hairpinning](http://en.wikipedia.org/wiki/Hairpinning) - a feature that is not well supported by some internet routers.
Para resolver este problema, es preciso configurar el DNS de tu router o, por defecto, el o los archivos hosts de tu ordenadores clientes.
To solve this issue you can:
- configure your router's DNS
- or alternatively - your /etc/hosts files on your clients workstation
### Obtener la dirección IP local del servidor
A fin de configurar el DNS o el archivo hosts, tienes que conocer la dirección IP privada de tu servidor. Esta dirección sólo puede ser utilizada en la red local donde está el servidor, y no está vinculada con tu dirección pública utilizada en Internet.
### Find the local IP address of your server
Puedes descubrir la dirección privada de tu servidor de varias maneras :
- En la pantalla de conexión de YunoHost en el mismo servidor :
<img src="/images/ynh_login.png" width=600>
- Desde la interfaz de administración de tu servidor YunoHost :
en Herramientas > Estado del servidor > Red
<img src="/images/ynh_admin_etat_ip.png" width=900>
- O desde tu router o tu caja Internet, dependiendo de su modelo.
First you need to find out the local IP of your server
- either using the tricks lister [here](finding_the_local_ip)
- or if in the webadmin, in the Diagnosis section, under Internet Connectivity, IPv4, click on 'Details' and you should find an entry for 'Local IP'
- or using the command line on the server : `hostname -I`
## Configurar el DNS de la caja Internet o del router

View file

@ -1,27 +1,24 @@
# Accéder à son serveur depuis le réseau local
Après installation de votre serveur, il est probable que votre nom de domaine ne soit pas accessible depuis le réseau local où se trouve le serveur. Ceci est un problème connu sous le nom de [hairpinning](http://fr.wikipedia.org/wiki/Hairpinning).
Après installation de votre serveur, il est possible que votre nom de domaine ne soit pas accessible depuis le réseau local où se trouve le serveur. Ceci est un problème connu sous le nom de [hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) - une fonctionnalité mal supportée par certaines box internet.
Pour résoudre ce problème, il est nécessaire de configurer le DNS de votre routeur ou, à défaut, le ou les fichiers hosts de vos ordinateurs clients.
Pour résoudre ce problème:
- il est nécessaire de configurer le DNS de votre routeur
- à défaut, il est possible de modifier le ou les fichiers /etc/hosts de vos ordinateurs clients.
### Obtenir ladresse IP locale du serveur
Afin de configurer le DNS ou le fichier hosts, il vous faut connaître ladresse IP privée de votre serveur. Cette adresse est utilisable uniquement sur le réseau local où se trouve le serveur et nest pas liée à votre adresse publique utilisée sur Internet.
### Trouver ladresse IP locale du serveur
Vous pouvez retrouver ladresse privée de votre serveur de différentes manières :
- Sur lécran de connexion de YunoHost sur le serveur lui-même :
<img src="/images/ynh_login.png" width=600>
Tout d'abord il vous faut trouver l'adresse IP locale du serveur
- soit en utilisant l'une de astuces expliquées [ici](finding_the_local_ip)
- ou en utilisant la webadmin, dans l'écran Diagnostique, section Connection Internet, IPv4, cliquer sur 'Détails' et vous devriez trouver une entrée pour 'IP locale'.
- ou en ligne de commande sur le serveur: `hostname -I`
- Depuis linterface dadministration de votre serveur YunoHost :
dans Outils > État du serveur > Réseau
<img src="/images/ynh_admin_etat_ip.png" width=900>
- Ou depuis votre routeur ou votre box, selon son modèle.
## Configurer le DNS de la box ou du routeur
## Configurer le DNS de la box
L'idée ici est de créer une redirection qui sera active sur tout votre réseau. Le but est de créer une redirection DNS vers l'ip de votre serveur YunoHost dans votre box. Il faut donc accéder à l'interface de configuration de votre box et aux paramétrages DNS, puis créer la redirection locale (par exemple, `yunohost.local` renvoi sur `192.168.1.21`).
### Box SFR
Si vous ne disposez toujours pas de ladresse IP privée de votre serveur, vous pouvez la trouver sur linterface de votre box SFR :
Dans longlet Réseau puis Général
<img src="/images/ip_serveur.png" width=800>
@ -31,6 +28,7 @@ Rendez-vous dans longlet Réseau puis DNS pour ajouter votre nom de domaine a
<img src="/images/dns_9box.png" width=800>
## Configurer le fichier [hosts](http://fr.wikipedia.org/wiki/Hosts) de lordinateur client
La modification du fichier hosts devrait être effectuée seulement si vous ne pouvez pas modifier le DNS de votre box ou de votre routeur, car le fichier hosts impactera uniquement lordinateur sur lequel le fichier est modifié.
- Sous Windows, vous trouverez le fichier hosts ici :

View file

@ -1,23 +1,19 @@
# Local network access to your server
After completing your server installation, it is most likely that your domain will not be accessible through the local network. This is a know issue known as [hairpinning](http://en.wikipedia.org/wiki/Hairpinning).
After completing your server installation, it is possible that your domain will not be accessible through the local network. This is an issue known as [hairpinning](http://en.wikipedia.org/wiki/Hairpinning) - a feature that is not well supported by some internet routers.
To resolve this issue, you need to configure your router dns or, failing, your hosts files on your clients workstation
To solve this issue you can:
- configure your router's DNS
- or alternatively - your /etc/hosts files on your clients workstation
### Get the server local IP adress
In order to configure DNS or hosts file, you must know the private IP adress of your server. This adress is only working in the server local network and is not linked to your public IP adress.
### Find the local IP address of your server
You may retrieve your server private IP adress through different means:
- Using the YunoHost connection screen on the server:
<img src="/images/ynh_login.png" width=600>
First you need to find out the local IP of your server
- either using the tricks lister [here](finding_the_local_ip)
- or if in the webadmin, in the Diagnosis section, under Internet Connectivity, IPv4, click on 'Details' and you should find an entry for 'Local IP'
- or using the command line on the server : `hostname -I`
- Using YunoHost administration panel:
Go to Tools > State of the server > Network
<img src="/images/ynh_admin_etat_ip.png" width=900>
- Or using your router or internet box, depending on model.
## Configure DNS of Internet box or router
## Configure DNS on your Internet router
The goal here is to create a network wide redirection handled by your router. The idea is to create a DNS redirection to your server's IP. You should access your router's configuration and look for DNS configuration, then add a redirection to your server's IP (e.g. redirect `yunohost.local` to `192.168.1.21`).
@ -27,10 +23,12 @@ If you haven't found your server private IP, you may find it using the SFR box a
<img src="/images/ip_serveur.png" width=800>
#### Configure SFR box's DNS
Go to Network tab > DNS and add your domain name to the box's DNS.
<img src="/images/dns_9box.png" width=800>
## Configure [hosts](https://en.wikipedia.org/wiki/Host_%28Unix%29) file on client workstation
Modifying hosts file should be done only if you cannot alter your box's DNS or router, because hosts file will only impact the workstation where the file was modified.
- Windows hosts file is located at:

View file

@ -114,6 +114,29 @@
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -88,7 +88,7 @@ Self-Hosting für alle ermöglicht.</small></h1>
<div class="row cf">
<div class="col-md-4 button-list">
<a class="btn btn-lg btn-block btn-primary" href="/whatsyunohost">Uber YunoHost</a>
<a class="btn btn-lg btn-block btn-primary" href="/whatsyunohost">Über YunoHost</a>
<a class="btn btn-lg btn-block btn-info" href="/docs">Dokumentation</a>
<a class="btn btn-lg btn-block btn-success" href="/contribute">Mach mit!</a>
<a class="btn btn-lg btn-block btn-warning" href="https://forum.yunohost.org/" target="_blank">Forum</a>
@ -113,6 +113,29 @@ Self-Hosting für alle ermöglicht.</small></h1>
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -112,6 +112,29 @@
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -87,7 +87,7 @@
<div class="text-center">
<h1>Hey! Nous sommes humains !<br />
<small>Si vous avez une question, un problème, ou que vous êtes tout simplement intéressé, passez dire « Bonjour » sur notre forum ou le chat!</small></h1>
</div>
<div class="col-md-4 col-md-offset-4 button-list">
<a class="btn btn-lg btn-block btn-info" href="/docs"><span class="glyphicon glyphicon-book"></span> Documentation</a>
<a class="btn btn-lg btn-block btn-danger btn-support" href="/help"><span class="glyphicon glyphicon-comment"></span> Forum et chat</a>
@ -96,6 +96,29 @@
</div>
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>Nos soutiens &lt;3<br />
<small>Nous sommes reconnaissant envers nos mécènes <br/>qui nous soutiennent financièrement ou via des dons d'infrastructure</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -113,6 +113,29 @@
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -16,6 +16,7 @@
<span class="yolo 8" style="color: #FF6600;">john@doe.org</span>
<span class="yolo 9" style="color: #FF5050;">dude, Y U NO Host?!</span>
<span class="yolo 10" style="color: #66FF33;">Keep calm and host yourself</span>
<span class="yolo 11" style="color: #3366FF;">Be the cloud you want to see in the world</span>
</p>
<button class="btn btn-primary btn-lg btn-block yolobtn">What?</button>
</div>
@ -98,8 +99,31 @@
<a class="btn btn-lg btn-block btn-primary" href="https://donate.yunohost.org/" style="background-color: #ffd236; border-color: #ffd236;"><span class="glyphicon glyphicon-usd"></span> Donate</a>
</div>
</div>
</div>
</div><!-- boring-part -->
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div>
<script type="text/javascript">
jQuery('.teasing-part').css({

View file

@ -111,6 +111,29 @@
</div>
<hr />
<div class="row cf">
<div class="text-center">
<h1>They support us &lt;3<br />
<small>We are thankful for our sponsors <br/>providing us with infrastructure and grants!</small>
</h1>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://nlnet.nl"><img src="/images/logo_nlnet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="/images/logo_ngi.png" width="130px"/></a>
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="/images/logo_codelutin.png" width="100px"/></a>
</p>
<p style="margin-left:auto;margin-right:auto;">
<a style="padding: 5px;" href="https://www.globenet.org"><img src="/images/logo_globenet.png" width="150px"/></a>
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="/images/logo_gitoyen.png" width="150px"/></a>
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="/images/logo_tetaneutral.png" width="90px"/></a>
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="/images/logo_ldn.png" width="120px"/></a>
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="/images/logo_nbs.png" width="130px"/></a>
</p>
</div>
</div>
</div><!-- boring-part -->
<script type="text/javascript">

View file

@ -0,0 +1,75 @@
# User groups and permissions
Installing an app creates the permission `app.main` with `all_users` allowed by default.
If you wish to make the application publicly available, instead of the old `unprotected_urls` mechanism, you should give access to the special group `visitors`:
```shell
ynh_permission_update --permission "main" --add visitors
```
If you wish to create a custom permission for your app (e.g. to restrict access to an admin interface) you may use the following helpers:
```shell
ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user" --label "Label for your permission"
```
You don't need to take care of removing permissions or backing up/restoring them as it is handled by the core of YunoHost.
### Migrating away from the legacy permission management
When migrating/fixing an app still using the legacy permission system, it should be understood that the accesses are now to be managed by features from the core, outside of the application scripts!
Application scripts are only expected to:
- if relevant, during the install script, initialize the main permission of the app as public (`visitors`) or private (`all_users`) or only accessible to specific groups/users ;
- if relevant, create and initialize any other specific permission (e.g. to some admin interface) in the install script (and *maybe* in some migration happening in the upgrade script).
Applications scripts should absolutely **NOT** mess up with any already-existing app accesses (including `unprotected`/`skipped_uris` settings) during any other case, as *it would reset any admin-defined access rule*!
When migrating away from the legacy permission, you should:
- remove any management of `$is_public`-like or `$admin_user`-like setting, except for any manifest question meant to either *initialize* the app as public/private or specific permissions ;
- remove the old legacy permissions. Check out the recommended way to proceed in the example_ynh app (in particular [this code snippet](https://github.com/YunoHost/example_ynh/pull/111/files#diff-57aeb84da86cb7420dfedd8e49bc644fb799d5413d01927a0417bde753e8922f))
It should boil down to :
```bash
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
# Create the permission using the new framework (if your app has relevant additional permissions)
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin
fi
```
- remove any call to `yunohost app addaccess` and similar actions that are now obsolete and deprecated.
- if your app use LDAP and support filter, use the filter `'(&(objectClass=posixAccount)(permission=cn=YOUR_APP.main,ou=permission,dc=yunohost,dc=org))'` to allow users who have this permission. (A complete documentation of LDAP [here](https://moulinette.readthedocs.io/en/latest/ldap.html) if you want to undestand how it works with YunoHost)
#### Additional features from 4.1
- Label customization : this is the name displayed to end users in the user portal. You can provide a default label (for example app.admin maybe be labelled 'Admin interface'). The label may be changed later by the admin after installation.
- Enabling/disabling tile : this toggles wether or not an app is shown in the user portal (if the user has the corresponding permission). The corresponding option is called `show_tile` which may be `True` or `False`. A single app may have multiple tiles in the SSO. The url of each tile corresponds to the `url` parameter of the permission.
- Multiple url support: a permission may have additional urls associated to it. This give the possiblity to protect many url with the same permission - in particular for tricky use case (for example several pieces of admin interfaces spread over different subpaths).
- Protecting permission: As a packager, you may choose to "protect" a permission if you believe that it's not relevant for the admin to add/remove this permission to/from the visitors group. For example, this is the case for the API permission of Nextcloud, which in the vast majority of cases should be kept publicly because mobile client won't go through the SSO. Note that when using the helper `ynh_permission_update`, it's still possible to add/remove the `visitor` group of this permission.
- Disabling auth header: some app authentification mecanism do not appreciate that SSOwat injects the Authorization header (which is an essential mecanism for single sign-on). You can now choose to disable the auth header injection from SSOwat to fix this (instead of the previous hack of using `skipped_uris`)
##### Correspondance between the old and new permission mecanism
| | with auth header | no auth header |
| :---------- | :--------------- | :------------- |
| **public** | unprotected_uris | skipped_uris |
| **private** | protected_uris | N/A |
| | with auth header | no auth header |
| :---------- | :------------------------------------------ | :------------------------------------------- |
| **public** | auth_header=True, visitor group allowed | auth_header=False, visitor group allowed |
| **private** | auth_header=True, visitor group not allowed | auth_header=False, visitor group not allowed |
All of theses feature are managable by theses following helper:
- `ynh_permission_create`
- `ynh_permission_url`
- `ynh_permission_update`
If you have any question, please contact the app team

View file

@ -5,9 +5,9 @@ taxonomy:
category: docs
---
YunoHost can be installed on the following hardware :
- ARM boards (Raspberry Pi, Olinuxino LIME1 & 2, Orange Pi, etc.) ;
- 'Old' desktop computers or laptops ;
YunoHost can be installed on the following hardware:
- ARM boards (Raspberry Pi, Olinuxino LIME1 & 2, Orange Pi, etc.);
- 'Old' desktop computers or laptops;
- Remote servers, a.k.a Virtual Private Servers (VPS).
## Minimum requirements

View file

@ -32,9 +32,7 @@ Vor der Einrichtung eines Servers zuhause ist es empfehlenswert [mögliche Einsc
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flash the SD card with the image</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Plug & boot</a>
<a class="btn btn-lg btn-default" href="/ssh">3. Connect to your server with SSH</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Boot the board and connect to the web interface at `yunohost.local`</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Proceed to post-installation</a>

View file

@ -34,9 +34,7 @@ Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las
<a class="btn btn-lg btn-default" href="/plug_and_boot">3. Conectar y encender</a>
<a class="btn btn-lg btn-default" href="/ssh">4. Conectarse en SSH</a>
<a class="btn btn-lg btn-default" href="/postinstall">5. Proceder a la post-instalación</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Proceder a la post-instalación</a>
---

View file

@ -32,11 +32,9 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">2. Flasher la carte SD avec l'image</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">3. Brancher la carte et la laisser démarrer</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">3. Démarrer la carte et se connecter à l'interface web sur `yunohost.local`</a>
<a class="btn btn-lg btn-default" href="/ssh">4. Se connecter en SSH sur le serveur</a>
<a class="btn btn-lg btn-default" href="/postinstall">5. Effectuer la configuration initiale (post-installation)</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Effectuer la configuration initiale (post-installation)</a>
---

View file

@ -31,11 +31,9 @@ taxonomy:
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flash the SD card with the image</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Power up the board and let it boot</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Boot the board and connect to the web interface at `yunohost.local`</a>
<a class="btn btn-lg btn-default" href="/ssh">3. Connect to your server with your web browser</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Proceed with the initial configuration (post-installation)</a>
<a class="btn btn-lg btn-default" href="/postinstall">3. Proceed with the initial configuration (post-installation)</a>
---

View file

@ -34,9 +34,7 @@ Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Conectar y encender</a>
<a class="btn btn-lg btn-default" href="/ssh">3. Conectarse en SSH</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Proceder a la post-instalación</a>
<a class="btn btn-lg btn-default" href="/postinstall">3. Proceder a la post-instalación</a>
---

View file

@ -32,11 +32,9 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flasher la carte SD avec l'image</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Brancher la carte et la laisser démarrer</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Démarrer la carte et se connecter à l'interface web sur `yunohost.local`</a>
<a class="btn btn-lg btn-default" href="/ssh">3. Se connecter en SSH sur le serveur</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Effectuer la configuration initiale (post-installation)</a>
<a class="btn btn-lg btn-default" href="/postinstall">3. Effectuer la configuration initiale (post-installation)</a>
---

View file

@ -34,11 +34,9 @@ Before setting up a server at home, it is recommended that you know the [possibl
<a class="btn btn-lg btn-default" href="/burn_or_copy_iso">1. Flash the SD card with the image</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Power up the board and let it boot</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Boot the board and connect to the web interface at `yunohost.local`</a>
<a class="btn btn-lg btn-default" href="/ssh">3. Connect to your server with SSH</a>
<a class="btn btn-lg btn-default" href="/postinstall">4. Proceed with the initial configuration (post-installation)</a>
<a class="btn btn-lg btn-default" href="/postinstall">3. Proceed with the initial configuration (post-installation)</a>
---

View file

@ -31,7 +31,7 @@ ligne.
* Ce n'est pas grave si seulement la version 32-bit est dispo, mais dans ce cas soyez sur d'avoir téléchargé l'image 32 bit précédemment.
* 256Mo de RAM est le minimum requis, 512Mo est recommandé (1Go ou plus si vous pouvez).
* 8Go de stockage minimum requis.
* 8Go de stockage minimum requis pour le système, y ajouter l'espace pour vos applications.
---

View file

@ -30,7 +30,7 @@ machine (old computer, ARM board...) or a VPS online.
* It's okay if you can only have 32-bit versions, just be sure that you downloaded the 32-bit image previously.
* 256MB RAM is the minimum required, but at least 512MB is recommended (1Go or more if you can).
* 8GB storage is the minimum required.
* 8GB storage is the minimum required for the system, add whatever is necessary for your apps.
---

View file

@ -5,19 +5,30 @@ taxonomy:
category: docs
---
* Branchez votre serveur avec un câble Ethernet (RJ-45) **directement sur votre routeur principal**. Vous pouvez aussi configurer la connexion wifi comme expliqué [ici](http://raspbian-france.fr/connecter-wifi-raspberry-pi-3/). La configuration wifi peut aussi se faire sans avoir booté sur la carte, en "montant" la deuxième partition de la carte et enfin éditer le fichier wpa-supplicant.conf. Sur Windows vous pouvez utiliser [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/), ne pas oublier de "unmount" pour que les changements soient pris en compte.
* Mettez la carte SD dans le serveur (pour le cas des cartes ARM)
* Branchez le cable ethernet
* Branchez l'alimentation
* Laissez quelques minutes à votre serveur pour démarrer
* Facultatif : vous pouvez **brancher un écran** si vous voulez observer comment se déroule le démarrage, et un clavier si vous souhaitez un accès en **ligne de commande** à votre serveur.
### Se connecter à son serveur
* Démarrez le serveur, le Raspberry Pi va redémarrer tout seul une première fois, puis attendez jusquà voir un gros `Y` carré :
* Assurez vous que votre ordianteur (de bureau ou portable) est connecté au même réseau local (c'est-à-dire la même box internet) que votre serveur.
* Ouvrez un navigateur internet et tapez `https://yunohost.local` dans la barre d'adresse.
* Si votre serveur est actif, vous rencontrerez très probablement un avertissement de sécurité. Cet avertissement viens du fait que votre serveur utilise pour le moment ce qui s'appelle un "certificat auto-signé" - et que nous utisons un domaine spécial en `.local`. Vous pourrez plus tard ajouter 'vrai' domaine et un certificat automatiquement reconnus par les navigateurs comme décrit dans la page sur les [Certificats](/certificate). En attendant, ajoutez une exception de sécurité pour accepter le certificat actuel.
* Si vous n'arrivez pas à contacter votre serveur avec `yunohost.local`, essayez de [trouver l'IP locale de votre serveur](/finding_the_local_ip) - puis dans la barre d'adresse de votre navigateur, tapez `https://192.168.x.y`
* [Effectuer la configuration initiale (post-installation)](/postinstall)
<br>
---
<div class="text-center"><img src="/images/boot_screen.png">
#### [Optionnel] Connecter le serveur à internet en WiFi
* Vous pouvez aussi configurer la connexion wifi comme expliqué [ici](http://raspbian-france.fr/connecter-wifi-raspberry-pi-3/).
* La configuration wifi peut aussi se faire sans avoir booté sur la carte, en "montant" la deuxième partition de la carte et enfin éditer le fichier `wpa-supplicant.conf`. Sur Windows vous pouvez utiliser [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/). Ne pas oublier de "unmount" pour que les changements soient pris en compte.
*Notez la valeur `IP` affichée à lécran : cest **ladresse IP locale** de votre serveur.*
---
#### [Optionnel] Accès direct avec un écran et clavier
</div>
<br>Si vous n'avez pas d'écran pour votre Raspberry, ce n'est pas grave ! Vous pourrez trouver son adresse IP autrement à l'étape suivante.
* Il est possible de brancher un écran et clavier sur votre serveur pour vérifier que le processus de démarrage (boot) se passe bien et pour avoir un accès direct en console.
<div class="text-center"><img src="/images/boot_screen.png"></div>

View file

@ -5,17 +5,32 @@ taxonomy:
category: docs
---
* Plug your server in wired Ethernet, or configure the wifi connection as explained [here](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md). You can also mount the second partition of the SD card and edit the wpa-supplicant.conf file prior to boot the card for the first time - on Windows you can use [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/), don't forget to unmount everytime for changes to take effect.
# Boot and connect to your server
* Optional : You can **connect a screen** if you want to see how boot is going, and a keyboard if you want to have a **command-line access** to your server.
* Plug the SD card (for ARM boards)
* Plug the ethernet cable
* Plug the power supply
* Wait a couple minutes for your server to boot
* Power up the server, wait for the first reboot to happen, and then wait until you see a big squared `Y` :
### Connecting to your server
<br>
* Make sure that your computer (desktop/laptop) is connected to the same local network (i.e. same internet box) as your server.
* Open a browser and type `https://yunohost.local` in the address bar.
* If your server is up, you will very likely encounter a security warning. This is because your server is for now using what's called a "self-signed certificate" - and because we're accessing the server through a special `.local` domain. You will later be able to add a proper domain and install a certificate automatically recognized by web browsers as described in the [certificate documentation](/certificate). In the meantime, you should add a security exception to accept the current certificate.
* If you are NOT able to join your server using the `yunohost.local` domain, try to [find the local IP of your server](/finding_the_local_ip) - then in your browser's address bar, type `https://192.168.x.y`
* [Proceed with the initial configuration (post-installation)](/postinstall)
<div class="text-center"><img src="/images/boot_screen.png">
---
*Write down the `IP address` field visible on the screen: It is your server's **local IP address**.*
#### [Optional] Connecting your server to the internet through WiFi
</div>
Don't worry if you don't have a screen ! You can still find you IP address in the next step.
* If you want your server to connect using WiFi, you may configure it as explained [here](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md).
* Alternatively, you can mount the second partition of the SD card and edit the `wpa-supplicant.conf` file prior to boot the card for the first time. On Windows you can use [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/) for this - just don't forget to unmount everytime for changes to take effect.
---
#### [Optional] Direct access with a screen and keyboard
You can also boot your server with a screen and keyboard connected to it to see how the boot process is going on (which can also be useful to troubleshoot issues) and to have a direct access to it.
<div class="text-center"><img src="/images/boot_screen.png"></div>

View file

@ -108,7 +108,7 @@ $ nslookup 111.222.333.444
444.333.222.111.in-addr.arpa name = domain.tld.
```
Le système de diagnostique présent dans l'interface d'administration fait cette vérification automatiquement (dans la section Email)
Le système de diagnostic présent dans l'interface d'administration fait cette vérification automatiquement (dans la section Email)
### IP Dynamique

View file

@ -10,8 +10,9 @@ configurés, il est recommandé d'utiliser le système de diagnostic disponible
dans la webadmin de YunoHost. (Cette fonctionnalité a été ajoutée dans la version
3.8)
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
Quelques points à retenir:
* Le diagnostique tourne périodiquement
* Un email est envoyé à root, qui est normalement forwardé vers le premier utilisateur créé
* 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...
jour.

View file

@ -12,7 +12,7 @@ NB : Si vous êtes en train de restaurer un système complet **et** que vous dis
### Via l'interface web
Vous pouvez accéder à la post-installation graphique en entrant dans un navigateur web :
* ladresse **IP locale de votre serveur** si celui-ci est connecté à votre réseau local (généralement `192.168.x.x`, voir ['Trouver son IP' sur la page sur SSH](/ssh))
* l'adresse **`yunohost.local`** OU ladresse **IP locale de votre serveur** si celui-ci est connecté à votre réseau local (généralement `192.168.x.x`, voir ['Trouver son IP locale'](/finding_the_local_ip))
* ladresse **IP publique de votre serveur** si celui-ci nest pas connecté à votre réseau local (par exemple dans le cas d'un VPS, votre fournisseur devrait vous avoir transmis l'adresse IP).
Lors de la première visite, vous rencontrerez très probablement un avertissement de sécurité lié au certificat utilisé. Pour le moment, votre serveur utilise un certificat auto-signé. Vous pourrez plus tard ajouter un certificat automatiquement reconnus par les navigateurs comme décrit dans la page sur les [Certificats](/certificate). En attendant, ajoutez une exception de sécurité pour accepter le certificat actuel.

View file

@ -7,12 +7,12 @@ taxonomy:
The step called "**post-installation**" is actually the initial configuration of YunoHost. It has to be done just after the installation of the system itself.
NB: if you are in the process of restoring a server from scratch **and** you have a yunohost-made backup, you must skip this process and follow through with the "restoring during the postinstall" step, in the [backup](/backup) page.
NB: if you are in the process of restoring a server from scratch **and** you have a yunohost-made backup, you can skip this process and follow through with the "restoring during the postinstall" step, in the [backup](/backup) page.
### From the web interface
You can perform the post-installation with the web interface by entering in your browser :
* **the local IP address of your server** if it is on your local network (e.g. at home !). The address typically looks like `192.168.x.y` (see 'Find your IP' on [the page about SSH](/ssh))
* **`yunohost.local`** OR **the local IP address of your server** if it is on your local network (e.g. at home !). The address typically looks like `192.168.x.y` (see [finding your local IP](/finding_the_local_ip))
* **the public IP address of your server** if your server is not on your local network. Typically, if you own a VPS, your VPS provider should have given you the IP of the server.
During the first visit, you will very likely encounter a security warning related to the certificate used by the server. For now, your server uses a self-signed certificate. You will later be able to add a certificate automatically recognized by web browsers as described in the [certificate documentation](/certificate). For now, you should add a security exception to accept the current certificate.
@ -43,7 +43,7 @@ This is the first domain name linked to your YunoHost server, but also the one w
* If you do know what **DNS** is, you probably want to configure your own domain name here. In this case, please refer to the [DNS page](/dns) page for more informations.
* If you don't own a domain name and don't want a **.nohost.me**, **.noho.st** or **.ynh.fr**, you can use a local domain. The idea is to configure your router to redirect a local domain name to your server. For example you could create the yunohost.local domain redirecting to your server in your router, and now every device on the network will be redirected to your server when accessing yunohost.local. More information on how to setup a local domain can be found [here](dns_local_network).
* If you don't own a domain name and don't want a **.nohost.me**, **.noho.st** or **.ynh.fr**, you can use a local domain. More information on how to setup a local domain can be found [here](dns_local_network).
### Administration password

View file

@ -11,7 +11,7 @@ Cette page énumère quelques conseils et lignes directrices que tout administra
En d'autres termes : votre serveur est soit un "serveur de production" (destiné à fonctionner), soit un serveur de test sur lequel vous vous permettez d'expérimenter.
Si votre but est d'avoir un serveur de production, alors s'il vous plaît.. :
Si votre but est d'avoir un serveur de production :
- soyez conscient qu'un serveur est un système fragile : restez prudent, méthodique et patient ;
- limitez les expérimentations et la personnalisation - notamment des fichiers de config ;
- n'installez pas des douzaines d'applications juste pour voir de quoi elles ont l'air ;
@ -23,7 +23,7 @@ Si votre but est d'avoir un serveur de production, alors s'il vous plaît.. :
YunoHost est conçu pour fonctionner avec des cas d'utilisation généraux et simples. S'écarter de ces conditions rendra les choses plus difficiles et vous aurez besoin de connaissances techniques pour les faire fonctionner. Par exemple,
- n'essayez pas d'exécuter YunoHost dans un contexte où vous ne pouvez pas avoir le contrôle des ports 80 et 443 (ou pas d'Internet du tout) ;
- n'essayez pas d'héberger cinq serveurs derrière la même connexion Internet si vous n'êtes pas déjà un utilisateur avancé ;
- ne tombez pas dans des caprices de nerd tels que vouloir remplacer nginx par Apache (ou faire tourner les deux à la fois) ;
- ne tombez pas dans des caprices de nerd tels que vouloir remplacer NGINX par Apache (ou faire tourner les deux à la fois) ;
- n'essayez pas d'utiliser des certificats SSL personnalisés si vous n'en avez pas vraiment besoin ;
- ...
@ -50,4 +50,3 @@ Enfin, gardez à l'esprit que YunoHost est un logiciel libre maintenu par des vo
Si vous aimez YunoHost et que vous voulez que le projet soit maintenu en vie et progresse, n'hésitez pas à laisser une note de remerciement et à [faire un don](https://liberapay.com/YunoHost) au projet et à en parler autour de vous !
Pour finir, puisque YunoHost est un projet de logiciel libre, vous êtes légitime et bienvenu pour [venir contribuer](/contribute) au projet, que ce soit sur les aspects techniques (c.-à-d. code) et moins techniques (comme par exemple contribuer à cette documentation ;)) !

View file

@ -9,25 +9,25 @@ This page lists a few advices and guidelines which every YunoHost administrator
## Do not break YunoHost
To put it another way : your server is either a production server (meant to work) or a test server on which you allow yourself to experiment.
To put it another way: your server is either a production server (meant to work) or a test server on which you allow yourself to experiment.
If your goal is to run a production server, then please :
- be aware that servers are fragile system. Stay cautious, methodical and patient ;
- limit experimentations and customizations (for instance of config file) ;
- do not install dozens of apps just to see how they look ;
- use non-official apps with caution, and do not use apps that are still 'in progress', 'not working' or level 0 ;
If your goal is to run a production server:
- be aware that servers are fragile system. Stay cautious, methodical and patient;
- limit experimentations and customizations (for instance of config file);
- do not install dozens of apps just to see how they look;
- use non-official apps with caution, and do not use apps that are still 'in progress', 'not working' or level 0;
- if something gets broken, think twice about fixing it by yourself if you don't know what you are doing. <small>(For instance, do not attempt to recreate yourself the admin user just because it mysteriously disappeared...)</small>
## Keep it simple !
## Keep it simple!
YunoHost is designed to work with general and simple use cases in mind. Deviating from those conditions will make things harder and you will need technical knowledge to make it work. For instance,
- do not try to run YunoHost in a context where you cannot have control over ports 80 and 443 (or no internet at all) ;
- do not try to host five servers behind the same internet connection if you are not already an advanced user ;
- do not fall into nerd whims such as willing to replace nginx by Apache (or run both at the same time) ;
- do not try to use custom SSL certificates if you don't really need them ;
- do not try to run YunoHost in a context where you cannot have control over ports 80 and 443 (or no internet at all);
- do not try to host five servers behind the same internet connection if you are not already an advanced user;
- do not fall into nerd whims such as willing to replace NGINX by Apache (or run both at the same time);
- do not try to use custom SSL certificates if you don't really need them;
- ...
Keep things as simple as you can !
Keep things as simple as you can!
## Do not reinstall every day
@ -39,16 +39,14 @@ Please don't do this. Reinstalling is a heavy operation and is not a good long-t
If you host services and data that are important for your users, it is important that you setup a backup policy. Backups can be easily created from the webadmin - though they currently cannot be downloaded from it (but it can be downloaded through other means). You should perform backup regularly and keep them in a safe and different physical location from your server. More info on [the backup documentation](/backup).
## Check root's email
## Check roots email
As an administrator, you should configure an email client to check emails sent to `root@your.domain.tld` (which should be an alias to the first user your added) or otherwise forward them to another address that you actively check. Those mails may contain information on what is happening on your server such as automated periodic tasks.
## YunoHost is free software, maintained by volunteers
Finally, keep in mind that YunoHost is a free software maintained by volunteers - and that the goal of YunoHost (to democratize self-hosting) is not an easy one ! It is provided without any warranty. The team of volunteers does its best to maintain and provide the best possible experience - yet features, applications and YunoHost as a whole are far from being perfect and you will experience small and big shortcomings at some points. When this happens, kindly [reach for help on the chat or forum, or report the issue](/help) :) !
If you like YunoHost and want to see the project being kept alive and make progress, feel free to leave a thank you note and to [donate](https://liberapay.com/YunoHost) to the project and talk about it around you !
Last but not least, since YunoHost is a free software project, you are legitimate and welcomed to come and [contribute](/contribute) to the project, be it on the technical aspects (i.e. code) and less-technical aspects (such as contributing to this documentation ;)) !
Finally, keep in mind that YunoHost is a free software maintained by volunteers - and that the goal of YunoHost (to democratize self-hosting) is not an easy one! It is provided without any warranty. The team of volunteers does its best to maintain and provide the best possible experience - yet features, applications and YunoHost as a whole are far from being perfect and you will experience small and big shortcomings at some points. When this happens, kindly [reach for help on the chat or forum, or report the issue](/help)! :)
If you like YunoHost and want to see the project being kept alive and make progress, feel free to leave a thank you note and to [donate](https://liberapay.com/YunoHost) to the project and talk about it around you!
Last but not least, since YunoHost is a free software project, you are legitimate and welcomed to come and [contribute](/contribute) to the project, be it on the technical aspects (i.e. code) and less-technical aspects (such as contributing to this documentation! ;))

View file

@ -7,69 +7,58 @@ taxonomy:
## Quest-ce que SSH ?
**SSH** est un acronyme pour Secure Shell, et désigne un protocole qui permet de contrôler à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base dans les terminaux de GNU/Linux et macOS. Sous Windows, il vous faudra utiliser le logiciel [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (après l'avoir lancé, cliquer sur Session puis SSH).
**SSH** est un acronyme pour Secure Shell, et désigne un protocole qui permet de contrôler et administrer à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base dans les terminaux de GNU/Linux et macOS. Sous Windows, il vous faudra utiliser le logiciel [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (après l'avoir lancé, cliquer sur Session puis SSH).
## Pendant linstallation de YunoHost
## Quelle adresse utiliser pour se connecter au serveur ?
#### Trouver son IP
Si vous hébergez votre serveur **à la maison** (par ex. Raspberry Pi ou OLinuXino ou vieil ordinateur)
- vous devriez pouvoir vous connecter à la machine en utilisant `yunohost.local`.
- si `yunohost.local` ne fonctionne pas, il vous faut [trouver l'IP locale de votre serveur](/finding_the_local_ip).
- si vous avez installé votre serveur à la maison mais essayez d'y accéder depuis l'extérieur du réseau local, assurez-vous d'avoir bien configuré une redirection de port pour le port 22
Si vous installez YunoHost sur un VPS, votre fournisseur devrait vous avoir communiqué l'adresse IP de votre serveur.
Si il s'agit d'une machine distante (VPS), votre fournisseur devrait vous avoir communiqué l'IP de votre machine
Si vous installez un serveur à la maison (par ex. sur Raspberry Pi ou OLinuXino), il vous faut trouver l'IP qui a été attribuée à votre carte après que vous l'ayez connectée à votre box internet / routeur. Il y a plusieurs façons de faire cela :
Dans tous les cas, si vous avez déjà configuré un nom de domaine qui pointe sur l'IP appropriée, il est plus pratique d'utiliser `votre.domaine.tld` plutôt que l'adresse IP
- ouvrez un terminal et tapez `sudo arp-scan --local` pour lister les IP des machines sur le réseau local ;
- si la commande arp-scan vous affiche beaucoup de machines, vous pouvez vérifier lesquelles sont ouvertes au SSH avec `nmap -p 22 192.168.1.0/24` pour faire du tri (adaptez la plage IP selon votre réseau local)
- utilisez l'interface de votre box internet pour lister les machines connectées, ou regarder les logs ;
- branchez un écran sur votre serveur, loggez-vous et tapez `hostname --all-ip-address`.
## Identifiants pour se connecter
#### Se connecter
### AVANT la post-installation
En supposant que votre adresse IP est `111.222.333.444`, ouvrez un terminal et tapez :
- Si vous faites une **installation à la maison**, les identifiants par défaut sont login: `root`, mot de passe: `yunohost`
- Si vous faites une **installation sur un serveur distant (VPS)**, votre fournisseur devrait vous avoir communiqué le login et mot de passe (ou vous proposer de configurer une clef SSH)
### APRÈS la post-installation
Durant la postinstallation, vous avez défini un mot de passe d'administration. C'est ce mot de passe qui devient le nouveau mot de passe pour les utilisateurs `root` et `admin`. De plus, **le connection en SSH avec l'utilisateur `root` est désactivée et il vous faut utiliser l'utilisateur `admin` !**. L'exception à cette règle est qu'il reste possible de se logger en root *depuis le réseau local - ou depuis une console en direct sur la machine* (ce qui peut être utile dans l'éventualité ou le serveur LDAP est inactif et l'utilisateur admin ne fonctionne plus)
## Se connecter
Une commande SSH ressemble typiquement à :
```bash
ssh root@111.222.333.444
# avant la postinstall:
ssh root@11.22.33.44
# ou après la postinstall:
ssh admin@11.22.33.44
```
Un mot de passe sera demandé. Si c'est un VPS, votre fournisseur devrait également vous avoir communiqué un mot de passe. Si vous avez utilisé une image pré-installée (pour x86 ou cartes ARM), le password devrait être `yunohost`.
<div class="alert alert-warning">
Depuis YunoHost 3.4, après avoir effectué la postinstallation, il ne sera plus possible de se logguer avec l'utilisateur `root`. À la place, il vous faut **vous logguer avec l'utilisateur `admin` !** Dans l'éventualité où le serveur LDAP serait cassé, rendant l'utilisateur `admin` inutilisable, vous devriez cependant pouvoir vous logguer avec l'utilisateur `root` depuis le réseau local.
</div>
#### Changer le mot de passe root !
Après vous être connecté pour la première fois, il vous faut changer le mot de passe `root`. Le serveur vous demandera peut-être automatiquement de le faire. Si ce n'est pas le cas, il faut utiliser la commande `passwd`. Il est important de choisir un mot de passe raisonnablement compliqué. Notez que ce mot de passe sera écrasé ensuite par le mot de passe admin choisi lors de la postinstallation.
#### En avant pour la configuration !
Tout est prêt pour passer à la [post-installation](postinstall).
## Sur une instance déjà installée
Si vous avez installé votre serveur à la maison et que vous cherchez à vous connecter depuis l'extérieur du réseau local, assurez-vous d'avoir bien redirigé le port 22 vers votre serveur. (Rappel : depuis la version 3.4, il vous faut vous logguer avec l'utilisateur `admin` !)
Si vous connaissez seulement l'IP de votre serveur :
```bash
ssh admin@111.222.333.444
```
Ensuite, entrez le mot de passe administrateur défini pendant la [post-installation](postinstall).
Si vous avez configuré vos DNS (ou modifié votre `/etc/hosts`), vous pouvez utiliser votre nom de domaine :
Ou bien en utilisant le nom de domaine plutôt que l'IP (plus pratique) :
```bash
ssh admin@votre.domaine.tld
# ou avec le nom de domaine spécial yunohost.local:
ssh admin@yunohost.local
```
Si vous avez changé le port SSH, il faut rajouter `-p <numerodeport>` à la commande, par exemple :
Si vous avez changé le port SSH, il faut rajouter l'option `-p <numerodeport>` à la commande, par ex. :
```bash
ssh -p 2244 admin@votre.domaine.tld
```
<div class="alert alert-info">
Si vous êtes connecté en tant qu'`admin` et souhaitez devenir `root` pour plus de confort (par exemple, ne pas avoir à taper `sudo` à chaque commande), vous pouvez devenir `root` en tapant `sudo su`.
Si vous êtes connecté en tant qu'`admin` et souhaitez devenir `root` pour plus de confort (par exemple, ne pas avoir à taper `sudo` à chaque commande), vous pouvez devenir `root` en tapant `sudo su` ou `sudo -i`.
</div>
## Quels utilisateurs ?

View file

@ -5,7 +5,7 @@ taxonomy:
category: docs
---
## What's SSH?
## Cos'è SSH?
**SSH** sta per Secure Shell, un protocollo che permette di controllare da remoto un computer usando l'interfaccia a linea di comando (command line interface, CLI in inglese). È disponibile di default in ogni emulazione di terminale su GNU/Linux e macOS. Su Windows è possibile usare [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (dopo averlo avviato si deve cliccare su Session e poi SSH).

View file

@ -7,72 +7,63 @@ taxonomy:
## What's SSH?
**SSH** stands for Secure Shell, and refers to a protocol that allows to remotly control a machine using the command line interface (CLI). It is available by default in any terminal on GNU/Linux and macOS. On Windows, you may want to use [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (after launching it, click on Session then SSH).
**SSH** stands for Secure Shell, and refers to a protocol that allows to remotely control and administrate a machine using the command line interface (CLI). It is available by default in any terminal on GNU/Linux and macOS. On Windows, you may want to use [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (after launching it, click on Session then SSH).
## During YunoHost installation
## What address to use to connect to your server?
#### Find your IP
If you are **installing at home** (e.g. on a Raspberry Pi or OLinuXino or old computer):
- you should be able to connect to your server using `yunohost.local`.
- if `yunohost.local` does not work, your need to [find out the local IP of the server](/finding_the_local_ip).
- if you installed a server at home but are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server.
If you are installing on a VPS, then your VPS provider should have gave you your IP address.
If you server is a remote server (VPS), your provider should have communicated you the IP address of the machine
If you are installing at home (e.g. on a Raspberry Pi or OLinuXino), then you need to find out which IP has been attributed to your board after you plugged it to your internet box / router. Several ways exists to find your server's IP:
In any cases, if you already configured a domain name pointing to the appropriate IP, it's much better to use `yourdomain.tld` instead of the IP address.
- open a terminal and use `sudo arp-scan --local` to list the IP on your local network;
- if the arp-scan command displays a confusing number of devices, you can check which ones are open to SSH with `nmap -p 22 192.168.1.0/24` to sort them out (adapt the IP range to your local network)
- use your internet box / router interface to list the machines connected, or check the logs;
- plug a screen on your server, log in and type `hostname --all-ip-address`.
#### Connect
## Login credentials
Assuming your IP address is `111.222.333.444`, open a terminal and enter:
### BEFORE running the post-installation
- If you are **installing at home**, the default credentials are login: `root` and password: `yunohost`
- If you are **installing a remote server (VPS)**, your provider should have communicated you the login and password (or allowed you to configure an SSH key)
### AFTER running the post-installation
During the postinstall, you've been asked to choose an administration password. This password becomes the new password for the `root` and `admin` users. Additionally, **the `root` SSH login becomes disabled after the postinstall and you should log in using the `admin` user !**. The only exception is that you may still be able to login using `root` *from the local network - or from a direct console on the server* (this is to cover the event where the LDAP server is broken and the `admin` user is unusable).
## Connecting
The SSH command typically looks like:
```bash
ssh root@111.222.333.444
# before the postinstall:
ssh root@11.22.33.44
# or after the postinstall:
ssh admin@11.22.33.44
```
A password will be asked. If this is a VPS, your VPS provided should have communicated you the password. If you used a pre-installed image (for x86 computer or ARM board), the password should be `yunohost`.
<div class="alert alert-warning">
Since YunoHost 3.4, after running the postinstallation, you won't be able to login as `root` anymore. Instead, **you should login using the `admin` user !** In the event that the LDAP server is broken and the `admin` user is unusable, you may still however still be able to login using `root` from the local network.
</div>
#### Change the password!
After logging in for the first time, you should change the root password. The server might automatically ask you to do so. If not, use the command `passwd`. It is important to choose a reasonably strong password. Note that the root password will be overriden by the admin password when you perform the postinstallation.
#### Let's configure!
We're now ready to begin the [post-installation](postinstall).
## After installing YunoHost
If you installed your server at home and are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server. (Reminder: since YunoHost 3.4 you should connect using the `admin` user!)
If you only know the IP address of your server:
```bash
ssh admin@111.222.333.444
```
Then, you need to enter your administrator password created at [post-installation step](postinstall).
If you configured your DNS (or tweaked your `/etc/hosts`), you can simply use your domain name:
Or using the domain name instead of the IP (more convenient):
```bash
ssh admin@your.domain.tld
# or with the special .local domain:
ssh admin@yunohost.local
```
If you changed the SSH port, you need to add `-p <portnumber>` to the command, e.g. :
If you changed the SSH port, you need to add `-p <portnumber>` to the command, e.g.:
```bash
ssh -p 2244 admin@your.domain.tld
```
<div class="alert alert-info">
If you are connected as `admin` and would like to become `root` for more comfort (e.g. to avoid typing `sudo` in front of every command), you can become `root` using the command `sudo su`.
If you connected as `admin` and would like to become `root` for convenience (e.g. to avoid typing `sudo` in front of every command), you can become `root` using the command `sudo su` or `sudo -i`.
</div>
## Which users?
## Which other users may connect to the server?
By default, only the `admin` user can log in to YunoHost SSH server.

View file

@ -16,6 +16,7 @@ taxonomy:
- [Bibliogram](app_bibliogram)
- [Bludit](app_bludit)
- [Blogotext](app_blogotext)
- [BookStack](app_bookstack)
- [Borg](app_borg)
- [BoZoN](app_bozon)
- [Calibre-Web](app_calibreweb)
@ -45,6 +46,7 @@ taxonomy:
- [FreshRSS](app_freshrss)
- [Friendica](app_friendica)
- [Funkwhale](app_funkwhale)
- [Galene](app_galene)
- [Garradin](app_garradin)
- [Gitea](app_gitea)
- [GitLab](app_gitlab)
@ -55,6 +57,7 @@ taxonomy:
- [Grav](app_grav)
- [Halcyon](app_halcyon)
- [Haste](app_haste)
- [HedgeDoc](app_hedgedoc)
- [Hextris](app_hextris)
- [Horde](app_horde)
- [Hubzilla](app_hubzilla)
@ -70,8 +73,12 @@ taxonomy:
- [Lstu](app_lstu)
- [Lufi](app_lufi)
- [Lutim](app_lutim)
- [Lychee](app_lychee)
- [Mattermost](app_mattermost)
- [Mailman](app_mailman)
- [Mantis](app_mantis)
- [Matomo](app_matomo)
- [Mattermost](app_mattermost)
- [Mediawiki](app_mediawiki)
- [Mindmaps](app_mindmaps)
- [Minetest](app_minetest)
@ -94,6 +101,7 @@ taxonomy:
- [Pleroma](app_pleroma)
- [Plume](app_plume)
- [Pluxml](app_pluxml)
- [PrivateBin](app_privatebin)
- [Radicale](app_radicale)
- [Rainloop](app_rainloop)
- [Searx](app_searx)

View file

@ -7,7 +7,7 @@ taxonomy:
# Installer Collabora avec Nextcloud avec Docker
**Note :** la marche à suivre detaillée est réalisée ici à partir dune instance YunoHost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de Yunohost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance YunoHost (voir [DNS](/dns), [DNS et installation dune application sur un sous-domaine](/dns_subdomains), [Configurer les enregistrements DNS](/dns_config) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me)).
**Note :** la marche à suivre detaillée est réalisée ici à partir dune instance YunoHost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de YunoHost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance YunoHost (voir [DNS](/dns), [DNS et installation dune application sur un sous-domaine](/dns_subdomains), [Configurer les enregistrements DNS](/dns_config) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me)).
### 0. Installer Nextcloud

View file

@ -142,7 +142,7 @@ It's over now. Now test if everything is fine, try connecting to your Nextcloud
### Nextcloud and Cloudflare
If you use Cloudflare for your DNS, *which may be useful if you have a dynamic IP*, you will most likely have authentication problems with the Nextcloud application. On the Internet many people propose to create a rule that disables all options related to security and Cloudflare speed for the url pointing to your Nextcloud instance. Although it works, it is not the optimal solution. I propose, certainly to create a rule for the url pointing to your Nextcloud instance but to disable only 2 options. So here's how:
If you use Cloudflare for your DNS, *which may be useful if you have a dynamic IP*, you will most likely have authentication problems with the Nextcloud application. On the Internet many people propose to create a rule that disables all options related to security and Cloudflare speed for the URL pointing to your Nextcloud instance. Although it works, it is not the optimal solution. I propose, certainly to create a rule for the URL pointing to your Nextcloud instance but to disable only 2 options. So here's how:
#### Cloudflare Page Rules

View file

@ -19,7 +19,7 @@ The full list of application can be browsed at [this page](/apps).
## Integration and quality levels
Automated tests are being ran regularly to test the integration and quality of all official apps, as well as community apps who were declared to be 'working'. The result is a level between 0 and 7, whose meaning is detailed on [this page](/packaging_apps_levels). Some tests results may also be available [on this dashboard](https://dash.yunohost.org/appci/branch/stable).
Automated tests are being run regularly to test the integration and quality of all official apps, as well as community apps who were declared to be 'working'. The result is a level between 0 and 7, whose meaning is detailed on [this page](/packaging_apps_levels). Some tests results may also be available [on this dashboard](https://dash.yunohost.org/appci/branch/stable).
## LDAP / SSO integration

View file

@ -45,3 +45,7 @@ To ensure that your servers IP address isnt into this blacklists and to re
## Migrating email from an email provider to a YunoHost instance
See [this page](email_migration).
## Configuring SMTP relay
See [this page](email_configure_relay).

View file

@ -35,6 +35,7 @@ También puedes utilizar un cliente Desktop como :
- [Conversations](https://conversations.im/) (Android)
- [Xabber](http://xabber.com) (Android)
- [Movim](https://movim.eu) (Android)
- [ChatSecure](https://chatsecure.org/) (iOS)
- [Siskin IM](https://siskin.im/) (iOS)
- [Monal](https://monal.im/) (iOS)
- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile)

View file

@ -43,6 +43,7 @@ Il existe différents types de clients pour se connecter à XMPP.
- [Xabber](http://xabber.com) (Android)
- [Movim](https://movim.eu) (Android)
- [Monal](https://monal.im/) (iOS)
- [ChatSecure](https://chatsecure.org/) (iOS)
- [Siskin IM](https://siskin.im/) (iOS)
- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile)

View file

@ -44,6 +44,7 @@ You can connect to your YunoHost XMPP account in different ways.
- [Conversations](https://conversations.im/) (Android)
- [Xabber](https://xabber.com) (Android)
- [Movim](https://movim.eu) (Android)
- [ChatSecure](https://chatsecure.org/) (iOS)
- [Monal](https://monal.im/) (iOS)
- [Siskin IM](https://siskin.im/) (iOS)
- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile)

View file

@ -108,9 +108,6 @@ et de le compléter ainsi :
```ini
[sshd]
port = <votre_numero_de_port_ssh>
[sshd-ddos]
port = <votre_numero_de_port_ssh>
```
Il reste enfin à relancer `fail2ban` pour prendre en compte la nouvelle configuration

View file

@ -20,12 +20,15 @@ A list of French and Belgian ISPs is available on the [french page](/isp_fr).
| 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. |
| Xfinity (Comcast)| Multiple | Yes | No. Only for business class customer. | unknown. | unknown. | Yes, as a business class customer|
### UK
| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP |
| --- | --- | --- | --- | --- | --- | --- |
| BT Internet | Yes | - | Yes| - | - | No |
| Virgin Media | Yes | - | - | - | No | No |
| ZEN Internet | Yes | - | Yes | - | Yes | - |
| PlusNet | Yes | Yes | Yes | No | - | Small one off Charge |
### Brazil
| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP |
@ -63,4 +66,12 @@ Most of non business IP provided by ISP are blacklisted.
| Swisscom | Multiple | No | Yes | No | No | No |
| VTX | Multiple | No | Yes | No | - | - |
### South Korea
| Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP |
| --- | --- | --- | --- | --- | --- | --- |
| LG U+ (HelloVision) | Multiple | Yes | Yes (Without ISP Router) | No | - | Partial |
| KT(SkyLife, Qook&Show) | Multiple | Yes | Yes | No | - | Partial |
| SKT (SK Broadband) | Multiple | Yes | Yes | No | - | Partial |
If you want to add international ISPs information, please do consider [modifying this page](/write_documentation).

View file

@ -11,9 +11,7 @@ Cette page explique comment échanger des fichiers (sauvegardes, musiques, photo
## Télécharger et installer FileZilla
Vous pouvez télécharger FileZilla depuis [cette page](https://filezilla-project.org/download.php?type=client).
Le site devrait détecter automatiquement la version nécessaire pour votre ordinateur.
Sinon, suivez les instructions pour [installer le client](https://wiki.filezilla-project.org/Client_Installation)
Vous pouvez télécharger FileZilla depuis [cette page](https://filezilla-project.org/download.php?type=client). Le site devrait détecter automatiquement la version nécessaire pour votre ordinateur. Sinon, suivez les instructions pour [installer le client](https://wiki.filezilla-project.org/Client_Installation)
Installez le programme et lancez *Filezilla*.

View file

@ -5,13 +5,9 @@ taxonomy:
category: docs
---
This page explains how to exchange files (backup archives, music, pictures,
movies...) with your server using a graphical interface for the (S)FTP protocol.
This is an alternative to using `scp` which can be deemed technical and cryptic,
or using an app like Nextcloud.
This page explains how to exchange files (backup archives, music, pictures, movies...) with your server using a graphical interface for the (S)FTP protocol. This is an alternative to using `scp` which can be deemed technical and cryptic, or using an app like Nextcloud.
[FileZilla](https://filezilla-project.org/) can be used for this. It is a free
software and is available for Windows, GNU/Linux and macOS.
[FileZilla](https://filezilla-project.org/) can be used for this. It is a free software and is available for Windows, GNU/Linux and macOS.
## Download and install FileZilla

View file

@ -10,7 +10,7 @@ L'IPv6 peut fonctionner directement dans certains cas. Mais dans d'autres, ou ch
## Avec un VPS chez OVH
OVH donne une adresse IPv4 et une IPv6 pour ses VPS, mais par défaut, seule l'IPv4 fonctionne.
La documentation d'OVH à ce sujet est ici : https://docs.ovh.com/gb/en/vps/configuring-ipv6/
La documentation d'OVH à ce sujet est ici : https://docs.ovh.com/fr/vps/configurer-ipv6/
### Configurer le serveur DNS

View file

@ -20,6 +20,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| [agora](https://www.agora-project.net/) | Create collaborative and creative digital space | | [Package Draft](https://github.com/YunoHost-Apps/agora_ynh) |
| [Ajenti](https://ajenti.org) | | [Upstream](https://github.com/ajenti/ajenti/) | |
| Akaunting | Manage payments/invoices/expenses | [Upstream](https://github.com/akaunting/akaunting) | |
| Anki Sync Server | a personal Anki server |[Upstream](https://github.com/ankicommunity/anki-sync-server) | |
| [askbot](https://askbot.com/) | Questions and answers | | [Package Draft](https://github.com/zamentur/askbot_ynh) |
| Beehive | | [Upstream](https://github.com/muesli/beehive) | |
| [BicBucStriim](https://projekte.textmulch.de/bicbucstriim/) | Manage an e-book collection | | [Package Draft](https://github.com/YunoHost-Apps/bicbucstriim_ynh) |
@ -27,7 +28,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| [Bitmessage](https://bitmessage.org/) | | [Upstream](https://github.com/Bitmessage/PyBitmessage) | |
| Blynk | | [Upstream](https://github.com/blynkkk/blynk-library) | |
| [Bolt](https://bolt.cm/) | Content Management Tool | | [Package Draft](https://github.com/realitygaps/bolt_ynh) |
| [Bookstack](https://www.bookstackapp.com/) | | [Upstream](https://github.com/BookStackApp/BookStack) | |
| BookWyrm | Social reading and reviewing, decentralized with ActivityPub | [Upstream](https://github.com/mouse-reeve/bookwyrm) | |
| BTCPay Server | | [Upstream](https://github.com/btcpayserver/btcpayserver) | |
| [Cagette](https://www.cagette.net/) | A marketplace for local farmers and producers | [Upstream](https://github.com/CagetteNet/cagette) | |
| [Caliopen](https://www.caliopen.org) | A unified inteface for all your private communications | | [Package Draft](https://github.com/YunoHost-Apps/caliopen_ynh) |
@ -38,7 +39,6 @@ You can [contribute to this list by adding something you'd like to be packaged](
| [Cockpit](https://cockpit-project.org/) | | | [Package Draft](https://github.com/YunoHost-Apps/cockpit_ynh) |
| coin | Member dashboard for non profit ISP | [Upstream](https://code.ffdn.org/FFDN/coin/) | [Package Draft](https://github.com/YunoHost-Apps/coin_ynh) |
| Commafeed | | [Upstream](https://github.com/Athou/commafeed) | |
| [Converse.js](https://conversejs.org) | Web client for XMPP | [Upstream](https://github.com/jcbrand/converse.js) | |
| cops | Calibre OPDS | | [Package Draft](https://github.com/YunoHost-Apps/cops_ynh) |
| [Coquelicot](https://coquelicot.potager.org/) | A “one-click” file sharing web application | | [Package Draft](https://github.com/YunoHost-Apps/coquelicot_ynh) |
| [CouchDB](https://couchdb.apache.org/) | Database management | | |
@ -53,6 +53,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| Docker_rstudio | A web development environment for statistics with R | | [Package Draft](https://github.com/scith/docker_rstudio_ynh) |
| Docker-registry | | [Upstream](https://github.com/docker/distribution/) | [Package Draft](https://github.com/plopoyop/docker-registry_ynh) |
| DockerUI | Deploy applications with Docker | | [Package Draft](https://github.com/YunoHost-Apps/dockerui_ynh) |
| Docspell | Simple document organizer | [Upstream](https://github.com/eikek/docspell) | |
| [DomainMOD](https://domainmod.org) | Domain portfolio management application | | |
| [Domoticz](https://domoticz.com) | Home automation system web application | | [Package Draft](https://github.com/anubister/domoticz_ynh) |
| Draw.io | Online diagram creation | [Upstream](https://github.com/jgraph/drawio) | |
@ -97,7 +98,6 @@ You can [contribute to this list by adding something you'd like to be packaged](
| Gpodder.net | | | |
| Granary | | [Upstream](https://github.com/snarfed/granary) | |
| [Graphhopper](https://www.graphhopper.com/) | | [Upstream](https://github.com/graphhopper/graphhopper) | |
| [Grocy](https://grocy.info/) | Fridge ERP | [Upstream](https://github.com/grocy/grocy) | |
| [Guacamole](https://guacamole.apache.org/) | Clientless remote desktop gateway | | |
| [Habitica](https://habitica.com/) | | [Upstream](https://github.com/HabitRPG/habitica) | |
| headphones | Automatic music downloader | | [Package Draft](https://github.com/YunoHost-Apps/headphones_ynh) |
@ -110,12 +110,10 @@ You can [contribute to this list by adding something you'd like to be packaged](
| [Icecast 2](https://www.icecast.org) | | [Upstream](https://gitlab.xiph.org/xiph/icecast-server/) | |
| [ikiwiki](https://ikiwiki.info) | | | |
| internetarchive | Offline version of the Internet Archive | [Upstream](https://github.com/internetarchive/dweb-mirror) | [Package Draft](https://github.com/mitra42/internetarchive_ynh) |
| Invidious | | [Upstream](https://github.com/omarroth/invidious) | |
| [InvoicePlane](https://invoiceplane.com) | | [Upstream](https://github.com/InvoicePlane/InvoicePlane) | |
| [IPFS](https://ipfs.io) | | [Upstream](https://github.com/ipfs/ipfs) | |
| [Isso](https://posativ.org/isso) | Comment server | [Upstream](https://github.com/posativ/isso) | |
| jappix_mini | Jappix Mini XMPP chat website integration | | [Package Draft](https://github.com/YunoHost-Apps/jappix_mini_ynh) |
| [jenkins](https://jenkins.io/index.html) | Extendable continuous integration server | | [Package Draft](https://github.com/YunoHost-Apps/jenkins_ynh) |
| [Jitsi](https://jitsi.org/) | Video conferencing web application | | [Package Draft](https://github.com/YunoHost-Apps/jitsi_ynh) |
| [joomla](https://www.joomla.org) | A content management system | | [Package Draft](https://github.com/YunoHost-Apps/joomla_ynh) |
| [Joplin](https://joplin.cozic.net/) | | [Upstream](https://github.com/laurent22/joplin) | |
@ -138,22 +136,22 @@ You can [contribute to this list by adding something you'd like to be packaged](
| linuxdash | Low-overhead monitoring web dashboard | [Upstream](https://github.com/afaqurk/linux-dash) | [Package Draft](https://github.com/YunoHost-Apps/linuxdash_ynh) |
| [LiquidSoap](https://www.liquidsoap.info/) | Audio and video streaming language | [Upstream](https://github.com/savonet/liquidsoap) | |
| LocomotiveCMS | | [Upstream](https://github.com/locomotivecms/engine) | |
| [Loki](https://docs.loki.network/ServiceNodes/DebianPackageGuide/)| Service node for the Loki Network | [Upstream](https://github.com/loki-project/) | |
| [Loomio](https://www.loomio.org) | | [Upstream](https://github.com/loomio/loomio/) | |
| lychee | Self-hosted photo-management done right | | [Package Draft](https://github.com/titoko/lychee_ynh) |
| [MaidSafe](https://maidsafe.net) | | [Upstream](https://github.com/maidsafe) | |
| [mailman3](https://docs.mailman3.org/) | Electronic mailing list manager | | [Package Draft](https://github.com/YunoHost-Apps/mailman3_ynh) |
| [Mailpile](https://www.mailpile.is) | | [Upstream](https://github.com/mailpile/Mailpile) | |
| [Mailtrain](https://mailtrain.org/) | | [Upstream](https://github.com/Mailtrain-org/mailtrain) | |
| [Mautic](https://github.com/mautic/mautic) | | | |
| mediadrop | Video Platform | | [Package Draft](https://github.com/YunoHost-Apps/mediadrop_ynh) |
| [Mediagoblin](https://mediagoblin.org/) | Video streaming platform | [Upstream](https://savannah.gnu.org/projects/mediagoblin) | |
| [medusa](https://pymedusa.com/) | Automatic TV shows downloader | | [Package Draft](https://github.com/guigot/medusa_ynh) |
| microblog.pub | | [Upstream](https://github.com/tsileo/microblog.pub) | |
| [mineweb](https://mineweb.org/) | | | [Package Draft](https://github.com/YunoHost-Apps/mineweb_ynh) |
| miniflux | Minimal RSS reader | | [Package Draft](https://github.com/mat-mo/miniflux_ynh) |
| [Mirakel](https://mirakel.azapps.de/taskwarrior.html) | | [Upstream](https://github.com/GothenburgBitFactory/taskwarrior) | |
| Matterbridge | Bridge different chat protocols | [Upstream](https://github.com/42wim/matterbridge) | [Package Draft](https://github.com/YunoHost-Apps/matterbridge_ynh) |
| modernpaste | A modern, feature-rich Pastebin alternative | [Upstream](https://github.com/LINKIWI/modern-paste) | [Package Draft](https://github.com/YunoHost-Apps/modernpaste_ynh) |
| [Modoboa](https://modoboa.org) | | [Upstream](https://github.com/modoboa/) | |
| [MongoPassion](https://mongopassion.24eme.fr/demo/) | Web-based project for management of MongoDB databases | [Upstream](https://github.com/24eme/MongoPassion) | |
| [mopidy](https://www.mopidy.com/) | An extensible music server | | [Package Draft](https://github.com/YunoHost-Apps/mopidy_ynh) |
| [mosquitto](https://mosquitto.org) | | | [Package Draft](https://github.com/YunoHost-Apps/mosquitto_ynh) |
| MotionEye | | [Upstream](https://github.com/ccrisan/motioneye) | |
@ -163,6 +161,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| Museek+ | | [Upstream](https://github.com/eLvErDe/museek-plus) | |
| [MyBB](https://mybb.com/) | | [Upstream](https://github.com/mybb) | |
| mycryptochat | Encrypted IM | | [Package Draft](https://github.com/mrtino/mycryptochat_ynh) |
| mx-puppet-discord | A bridge between Matrix and Discord | [Upstream](https://github.com/matrix-discord/mx-puppet-discord) | |
| [N8n.io](https://n8n.io) | | | |
| Netrunner | | [Upstream](https://github.com/mtgred/netrunner) | |
| nexusoss | Sonatype Nexus Repository manager OSS | | [Package Draft](https://github.com/YunoHost-Apps/nexusoss_ynh) |
@ -181,7 +180,6 @@ You can [contribute to this list by adding something you'd like to be packaged](
| [OpenNote](https://foxusa.github.io/OpenNote/OpenNote/) | An alternative to Microsoft OneNote and EverNote | | [Package Draft](https://github.com/YunoHost-Apps/OpenNote_ynh) |
| openproject | | [Upstream](https://github.com/opf/openproject) | [Package Draft](https://github.com/moutonjr/openproject_ynh) |
| OpenSourceBilling | | [Upstream](https://github.com/vteams/open-source-billing) | |
| [opentracker](https://erdgeist.org/arts/software/opentracker/) | | | [Package Draft](https://github.com/YunoHost-Apps/opentracker_ynh) |
| [osada](https://zotlabs.com/osada/) | A decentralized publication platform and social network | | [Package Draft](https://github.com/YunoHost-Apps/osada_ynh) |
| [osjs](https://www.os-js.org/) | Desktop you have access to through your web-browser | | [Package Draft](https://github.com/YunoHost-Apps/osjs_ynh) |
| [osmw](https://www.openstreetmap.org/) | Cartography software | | [Package Draft](https://github.com/YunoHost-Apps/osmw_ynh) |
@ -233,6 +231,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| rs-short | An URL shortener | [Upstream](https://git.42l.fr/42l/rs-short) | |
| [rspamdui](https://rspamd.com/webui) | A web UI for the Rspamd spam filtering system | | [Package Draft](https://github.com/YunoHost-Apps/rspamdui_ynh) |
| rutorrent | Torrent client | | [Package Draft](https://github.com/CotzaDev/rutorrent_ynh) |
| rwtxt | Minimalist CMS | [Upstream](https://github.com/schollz/rwtxt) | |
| [sat](https://salut-a-toi.org) | An all-in-one tool to manage all your communications | | [Package Draft](https://github.com/YunoHost-Apps/sat_ynh) |
| [ScenariChain-server](https://download.scenari.software/SCENARIchain-server/) | | | |
| [Schleuder](https://schleuder.org/schleuder/docs/concept.html) | A GPG-enabled mailing list manager | | |
@ -240,6 +239,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| scrumblr | Software for notes | | [Package Draft](https://github.com/YunoHost-Apps/scrumblr_ynh) |
| [Scuttlebutt Pub](https://www.scuttlebutt.nz/contributing) | | | |
| [seenthis](https://www.seenthis.net/) | Short-blogging destiné à la veille dactualité | | [Package Draft](https://github.com/magikcypress/seenthis_ynh) |
| [Semantic MediaWiki](https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki) | lets you store and query data with­in the [MediaWiki](https://en.wikipedia.org/wiki/MediaWiki)'s pages | [Upstream](https://github.com/SemanticMediaWiki/SemanticMediaWiki) | |
| [shadowsocks](https://shadowsocks.org) | A SOCKS5 proxy to protect your Internet traffic | | [Package Draft](https://github.com/YunoHost-Apps/shadowsocks_ynh) |
| [ShareLatex](https://www.sharelatex.com) | | [Upstream](https://github.com/overleaf/overleaf) | |
| shinken | A flexible and scalable monitoring framework | [Upstream](https://github.com/naparuba/shinken) | [Package Draft](https://github.com/YunoHost-apps/shinken_ynh) |
@ -261,6 +261,7 @@ You can [contribute to this list by adding something you'd like to be packaged](
| studs | A survey tool, the ancestor of OpenSondage | | [Package Draft](https://github.com/YunoHost-Apps/studs_ynh) |
| subsonic | Subsonic is an open source, web-based media server | | [Package Draft](https://github.com/drfred1981/subsonic_ynh) |
| Subspace | A simple WireGuard VPN server GUI | [Upstream](https://github.com/subspacecloud/subspace) | |
| Sydent | Identity-serverfor matrix | [Upstream](https://github.com/matrix-org/sydent) | |
| [sympa](https://www.sympa.org/) | Mailing List manager | | [Package Draft](https://github.com/YunoHost-Apps/sympa_ynh) |
| Synapse-Admin | Management GUI for matrix-synapse | [Upstream](https://github.com/Awesome-Technologies/synapse-admin) | |
| [Syspass](https://www.syspass.org/) | | [Upstream](https://github.com/nuxsmin/sysPass) | |
@ -272,21 +273,25 @@ You can [contribute to this list by adding something you'd like to be packaged](
| telegram_chatbot | Telegram chatbot - mini chatbot for Telegram | | [Package Draft](https://github.com/YunoHost-Apps/telegram_chatbot_ynh) |
| TellForm | | [Upstream](https://github.com/tellform/tellform) | |
| [tes3mp](https://tes3mp.com/) | | | [Package Draft](https://github.com/YunoHost-Apps/tes3mp_ynh) |
|[Theia-IDE](https://theia-ide.org/) | VS Code-like cloud IDE |[Upstream](https://hub.docker.com/r/theiaide/theia-full)| |
| Thredded | | [Upstream](https://github.com/thredded/thredded) | |
| Tinylist | | [Upstream](https://github.com/baggachipz/tinylist) | |
| [TMate](https://tmate.io/) | | [Upstream](https://github.com/tmate-io/tmate) | |
| torrelay | | | [Package Draft](https://github.com/matlink/torrelay_ynh) |
| Tracim | | [Upstream](https://github.com/tracim/tracim) | |
| Traccar | Modern GPS Tracking Platform | [Upstream](https://github.com/traccar/traccar) | |
| transpay | Interface to receive and manage donations with Stripe | | [Package Draft](https://github.com/YunoHost-Apps/transpay_ynh) |
| transwhat | A gateway to WhatsApp from Jabber | | [Package Draft](https://github.com/Josue-T/transwhat_ynh) |
| Trilium Notes | Build large personal knowledge base with notes | [Upstream](https://github.com/zadam/trilium) | |
| [Tryton](https://www.tryton.org/) | A solid ERP system | | |
| [turtl](https://turtlapp.com/) | A secure collaboratite notebook | | [Package Draft](https://github.com/YunoHost-Apps/turtl_ynh) |
| tutao | End-to-end encrypted e-mail client | [Upstream](https://github.com/tutao/tutanota/) | [Package Draft](https://github.com/YunoHost-Apps/tutao_ynh) |
| [Twake](https://twake.app/fr/home)| All of the organizational tools you need to make your projects succeed brought together on one platform.| | |
| Twister | | [Upstream](https://github.com/miguelfreitas/twister-core/) | |
| [TwitRSS.me](https://twitrss.me/) | Create RSS feeds from Twitter | [Upstream](https://github.com/ciderpunx/twitrssme) | |
| [umap](https://umap.openstreetmap.fr/) | Cartography software | | [Package Draft](https://github.com/YunoHost-Apps/umap_ynh) |
| [unbound](https://nlnetlabs.nl/projects/unbound/about/) | | | [Package Draft](https://github.com/YunoHost-Apps/unbound_ynh) |
| [upmpdcli](https://www.lesbonscomptes.com/upmpdcli/) | | [Upstream](https://framagit.org/medoc92/upmpdcli) | |
| [Uwazi](https://www.uwazi.io/) | | [Upstream](https://github.com/huridocs/uwazi) | |
| [Volumio](https://volumio.org) | | [Upstream](https://github.com/volumio) | |
| [vpnserver](https://openvpn.net) | Create/provide VPNs from your server | | [Package Draft](https://github.com/YunoHost-Apps/vpnserver_ynh) |

View file

@ -111,7 +111,7 @@ Un serveur d'intégration continue est a disposition des packagers désirant tes
### Publiez et demandez des tests de votre application
* Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `App integration`](https://forum.yunohost.org/c/app-integration).
* Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `Discussion > Apps`](https://forum.yunohost.org/c/discuss/discuss-apps/).
* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande dajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](/apps)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`.

View file

@ -13,7 +13,7 @@ The purpose of this document is to teach you how to package an application for Y
To package an application, here are the requirements:
* An account on a Git server (e.g. [GitHub](https://github.com/)) to publish the application;
* Basic knowledge of [Git](/packaging_apps_git), bash shell and other programming stuff;
* A testing [virtual machine or a distant server](/install), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox), to package and test the package.
* A testing [virtual machine or a distant server](/install) or [VirtualBox](/packaging_apps_virtualbox), to package and test the package. Alternatively you can also use [ynh-dev](https://github.com/yunohost/ynh-dev), it is meant for the core but can totally be used for developping apps, but be aware that for now the documentation on this part is lacking.
### Content
A YunoHost package is composed of:
@ -129,7 +129,7 @@ A continuous integration server is available for packagers who want to test thei
### Publish and ask for testing your application
* Publishing a [post on the Forum](https://forum.yunohost.org/) with the [`App integration` category](https://forum.yunohost.org/c/app-integration), to ask for testing and feedback on your application.
* Publishing a [post on the Forum](https://forum.yunohost.org/) in the [`Discuss > Apps` category](https://forum.yunohost.org/c/discuss/discuss-apps/), to ask for testing and feedback on your application.
* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](/apps)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`.

View file

@ -92,7 +92,7 @@ Example in toml:
[maybe.some.stuff.before.the_name]
type = "string"
ask.en = "the question in english"
ask.fr = "the question in french"
ask.fr = "la question en français"
example = "an example value" # optional
choices = ["fr", "en"]
default = "en" # optional
@ -142,7 +142,7 @@ And in json:
### Path
This type will ask the user to chose an url path (generally to happen it to a
This type will ask the user to chose an URL path (generally to happen it to a
domain) like "/path/to/my/app"
Example in toml:
@ -255,6 +255,34 @@ And in json:
},
```
### Number
Like string except the user needs to enter a number
Example in toml:
```toml
[maybe.some.stuff.before.the_name]
type = "number"
ask.en = "the question in english"
ask.fr = "the question in french"
default = 0
```
And in json:
```javascript
{
"name": "the_name",
"type": "number",
"ask": {
"en": "the question in english",
"fr": "the question in french"
},
"default": 0
},
```
### App
This type will ask the user to select an application in the list of installed

View file

@ -20,13 +20,13 @@ Les scripts remove, upgrade, backup et restore peuvent avoir besoin de ces argum
Pour cela, YunoHost peut sauvegarder les arguments avec cette commande :
```bash
# Store config on YunoHost instance
ynh_app_setting_set "$app" domain "$domain"
ynh_app_setting_set --app="$app" --key="domain" --value="$domain"
```
Elle est généralement utilisée dans le script dinstallation.
Ensuite, le script peut récupérer les arguments sauvegardés avec cette commande :
```bash
domain=$(ynh_app_setting_get $app domain)
domain=$(ynh_app_setting_get --app "$app" --key=domain)
```
Ces données sont sauvegardées dans `/etc/yunohost/apps/<app_name>/settings.yml`.

View file

@ -169,161 +169,17 @@ de la permission, en la supprimant du panneau de groupe `all_users`, ou en CLI :
$ yunohost user permission update mail --remove all_users --add bob
```
Notez que certaines permissions peuvent être "protégées", ce qui signifie que vous ne pourrez pas l'ajouter/enlever du groupe visiteur. Ce mécanisme est généralement là car ajouter/enlever la permission au groupe utilisateur n'a pas de sens (ou est un risque de sécurité).
La webadmin émettra un avertissement si vous définissez une permission qui est remplacée par une permission plus large.
![](./images/groups_alerte-permission.png)
### Montrer/cacher les tuiles dans le portail utilisateur
## Notes aux packageurs d'applications
L'installation d'une application crée l'autorisation `app.main` avec `all_users` autorisée par défaut.
Si vous souhaitez rendre l'application accessible au public, au lieu de l'ancien mécanisme `unprotected_urls`, vous devez donner accès au groupe spécial `visitors` :
Depuis YunoHost 4.1, il est possible de montrer/cacher certaines tuiles dans le portail. Depuis la webadmin, vous pouvez changer cela en allant dans la vue de l'application à manipuler, puis dans "Gérer les étiquettes et les tuiles", et cocher/décocher l'option "Montrer la tuile dans le portail utilisateur" pour la permission correspondante. En ligne de commande, le même genre de chose peut être fait avec :
```shell
ynh_permission_update --permission "main" --add visitors
# Activer la tuile pour l'interface d'admin de WordPress
$ yunohost user permission update wordpress.admin --show_tile True
```
Si vous souhaitez créer une autorisation personnalisée pour votre application (par exemple pour restreindre l'accès à une interface d'administration), vous pouvez utiliser les helpers suivants :
```shell
ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user"
```
Vous n'avez pas besoin de supprimer les autorisations ou de les sauvegarder / restaurer car elles sont gérées par le core de YunoHost.
### Migration hors de la gestion des autorisations héritées
Lors de la migration / correction d'une application utilisant toujours le système d'autorisations hérité, il faut comprendre que les accès doivent maintenant être gérés par des fonctionnalités du core, en dehors des scripts d'application !
Les scripts d'application devraient seulement :
- le cas échéant, pendant le script d'installation, initialiser l'autorisation principale de l'application en tant que public (`visitors`) ou privé (`all_users`) ou uniquement accessible à des groupes / utilisateurs spécifiques ;
- le cas échéant, créer et initialiser toute autre autorisation spécifique (par exemple, sur une interface d'administration) dans le script d'installation (et *sans doute* dans certaines migrations se produisant dans le script de mise à niveau).
Les scripts d'applications ne devraient absolument **PAS** altérer les accès aux applications déjà existantes (y compris les paramètres `unprotected` / `skipped_uris`), car cela réinitialiserait toutes les règles d'accès définies par l'administrateur !
Lors de la migration hors de l'autorisation héritée, vous devez :
- supprimer toute gestion du paramètre de type `$is_public` ou `$admin_user`, sauf pour toute question manifeste destinée à *initialiser* l'application avec des autorisations publiques / privées ou spécifiques ;
- supprimer toute gestion des paramètres `skipped_`, `unprotected_` et `protected_uris` (et `_regex`) qui sont désormais considérés comme obsolètes et dépréciés. (NB : vous devez **les supprimer explicitement dans le script upgrade**). Au lieu de cela, vous devriez désormais vous fier aux nouveaux helpers `ynh_permission_ *`. Si vous sentez que vous avez encore besoin de les utiliser, veuillez contacter l'équipe core pour pouvoir être assisté ;
Par exemple, dans le script *upgrade*, si vous avez utilisé la clé `protected_uris` auparavant, vous pouvez utiliser ce code dans la section `DOWNWARD COMPATIBILITY` :
```bash
protected_uris=$(ynh_app_setting_get --app=$app --key=protected_uris)
# Unused with the permission system
if [ ! -z "$protected_uris" ]; then
ynh_app_setting_delete --app=$app --key=protected_uris
fi
```
- Supprimez tout appel à `yunohost app addaccess` et aux actions similaires qui sont désormais obsolètes et dépréciés.
- Si votre application utilise LDAP et prend en charge le filtre, utilisez le filtre `(&(objectClass=posixAccount)(permission=cn=YOUR_APP.main,ou=permission,dc=yunohost,dc=org))'` pour autoriser les utilisateurs ayant cette permission. (On trouvera une documentation sur LDAP [ici](https://moulinette.readthedocs.io/en/latest/ldap.html))
Voici un exemple de migration de code vers le nouveau système d'autorisation : [exemple](https://github.com/YunoHost/example_ynh/pull/111/files)
#### Cas spécifique : protection regex
Si vous devez toujours utiliser regex pour protéger ou déprotéger les URL, vous ne pouvez pas utiliser le nouveau système d'autorisation (pour l'instant).
Mais vous pouvez créer une fausse autorisation et utiliser des crochets pour gérer s'il y a un changement dans cette fausse autorisation.
Dans le script d'installation, créez la fausse autorisation (sans URL) :
`ynh_permission_create --permission="create poll" --allowed "visitors" "all_users"`
Utilisez ensuite la protection héritée :
```bash
# Make app public if necessary
if [ $is_public -eq 1 ]
then
if [ "$path_url" == "/" ]; then
# If the path is /, clear it to prevent any error with the regex.
path_url=""
fi
# Modify the domain to be used in a regex
domain_regex=$(echo "$domain" | sed 's@-@.@g')
ynh_app_setting_set --app=$app --key=unprotected_regex --value="$domain_regex$path_url/create_poll.php?.*$","$domain_regex$path_url/adminstuds.php?.*"
else
ynh_permission_update --permission="create poll" --remove="visitors"
fi
```
Dans cet exemple, si l'application est publique, le groupe `visitors` a accès à l'autorisation `create poll`, sinon le groupe est supprimé de cette autorisation.
Créez ensuite deux fichiers dans le répertoire `hooks` à la racine du dépôt Git de l'application : `post_app_addaccess` et `post_app_removeaccess`. Dans ces hooks, vous supprimerez ou rajouterez la protection contre les regex si le groupe `visitors` est ajouté ou supprimé de cette autorisation :
`post_app_addaccess`
```bash
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
app=$1
added_users=$2
permission=$3
added_groups=$4
if [ "$app" == __APP__ ]; then
if [ "$permission" = "create poll" ]; then # The fake permission "create poll" is modifed.
if [ "$added_groups" = "visitors" ]; then # As is it a fake permission we can only grant/remove the "visitors" group.
domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
if [ "$path_url" == "/" ]; then
# If the path is /, clear it to prevent any error with the regex.
path_url=""
fi
# Modify the domain to be used in a regex
domain_regex=$(echo "$domain" | sed 's@-@.@g')
ynh_app_setting_set --app=$app --key=unprotected_regex --value="$domain_regex$path_url/create_poll.php?.*$","$domain_regex$path_url/adminstuds.php?.*"
# Sync the is_public variable according to the permission
ynh_app_setting_set --app=$app --key=is_public --value=1
yunohost app ssowatconf
else
ynh_print_warn --message="This app doesn't support this authorisation, you can only add or remove visitors group."
fi
fi
fi
```
`post_app_removeaccess`
```bash
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
app=$1
removed_users=$2
permission=$3
removed_groups=$4
if [ "$app" == __APP__ ]; then
if [ "$permission" = "create poll" ]; then # The fake permission "create poll" is modifed.
if [ "$removed_groups" = "visitors" ]; then # As is it a fake permission we can only grant/remove the "visitors" group.
# We remove the regex, no more protection is needed.
ynh_app_setting_delete --app=$app --key=unprotected_regex
# Sync the is_public variable according to the permission
ynh_app_setting_set --app=$app --key=is_public --value=0
yunohost app ssowatconf
else
ynh_print_warn --message="This app doesn't support this authorisation, you can only add or remove visitors group."
fi
fi
fi
```
N'oubliez pas de remplacer `__APP__` pendant le script *install* / *upgrade*.
Voici quelques applications qui utilisent ce cas spécifique : [Lutim](https://github.com/YunoHost-Apps/lutim_ynh/pull/44/files) et [OpenSondage](https://github.com/YunoHost-Apps/opensondage_ynh/pull/59/files)
Si vous avez des questions, veuillez contacter un des membres du groupe apps.

View file

@ -172,160 +172,17 @@ Note that, for example, if we want to restrict permission for email so that only
$ yunohost user permission update mail --remove all_users --add bob
```
Note that some permissions may be "protected", meaning that you won't be able to add/remove the visitor group to this permission. Generally, this is because it would make no sense (or is a security risk) to do so.
The webadmin will issue a warning if you set a permission that is superseeded by a wider permission.
![](./images/groups_alerte-permission.png)
## Notes for apps packagers
### Hide/display specific tiles in the user portal
Installing an app creates the permission `app.main` with `all_users` allowed by default.
If you wish to make the application publicly available, instead of the old `unprotected_urls` mechanism, you should give access to the special group `visitors`:
Since YunoHost 4.1, you can choose to hide/display specific tiles in the SSO. In the webadmin, you can do so by going in the corresponding app view, go in "Manage label and tiles" and check/uncheck the option "Display the tile in the user portal" for the corresponding permission. In command line, this may be done with:
```shell
ynh_permission_update --permission "main" --add visitors
# Enable the tile for the WordPress admin interface
$ yunohost user permission update wordpress.admin --show_tile True
```
If you wish to create a custom permission for your app (e.g. to restrict access to an admin interface) you may use the following helpers:
```shell
ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user"
```
You don't need to take care of removing permissions or backing up/restoring them as it is handled by the core of YunoHost.
### Migrating away from the legacy permission management
When migrating/fixing an app still using the legacy permission system, it should be understood that the accesses are now to be managed by features from the core, outside of the application scripts!
Application scripts are only expected to:
- if relevant, during the install script, initialize the main permission of the app as public (`visitors`) or private (`all_users`) or only accessible to specific groups/users ;
- if relevant, create and initialize any other specific permission (e.g. to some admin interface) in the install script (and *maybe* in some migration happening in the upgrade script).
Applications scripts should absolutely **NOT** mess up with any already-existing app accesses (including `unprotected`/`skipped_uris` settings) during any other case, as *it would reset any admin-defined access rule*!
When migrating away from the legacy permission, you should:
- remove any management of `$is_public`-like or `$admin_user`-like setting, except for any manifest question meant to either *initialize* the app as public/private or specific permissions ;
- remove any management of `skipped_`, `unprotected_` and `protected_uris` (and `_regex`) settings that are now considered obsolete and deprecated. (N.B.: you should **explicitly delete them in the upgrade script**). Instead, you should now rely on the new `ynh_permission_*` helpers instead. If you do feel like you still need to use them, please contact the core team to provide your feedback and we'll figure out something ;
For example, in the upgrade script if you used the `protected_uris` key before, you may use this code in the `DOWNWARD COMPATIBILITY` section:
```bash
protected_uris=$(ynh_app_setting_get --app=$app --key=protected_uris)
# Unused with the permission system
if [ ! -z "$protected_uris" ]; then
ynh_app_setting_delete --app=$app --key=protected_uris
fi
```
- remove any call to `yunohost app addaccess` and similar actions that are now obsolete and deprecated.
- if your app use LDAP and support filter, use the filter `'(&(objectClass=posixAccount)(permission=cn=YOUR_APP.main,ou=permission,dc=yunohost,dc=org))'` to allow users who have this permission. (A complete documentation of LDAP [here](https://moulinette.readthedocs.io/en/latest/ldap.html) if you want to undestand how it works with YunoHost)
Here an example of how to migrate the code from legacy to new permission system: [example](https://github.com/YunoHost/example_ynh/pull/111/files)
#### Specific case: regex protection
If you still need to use regex to protect or unprotect urls, you can't use the new permission system (for now).
But you can create a fake permission and use hooks to handle if there is a change in this faked permission.
In the install script, create the fake permission (with no URL):
`ynh_permission_create --permission="create poll" --allowed "visitors" "all_users"`
Then use the legacy protection:
```bash
# Make app public if necessary
if [ $is_public -eq 1 ]
then
if [ "$path_url" == "/" ]; then
# If the path is /, clear it to prevent any error with the regex.
path_url=""
fi
# Modify the domain to be used in a regex
domain_regex=$(echo "$domain" | sed 's@-@.@g')
ynh_app_setting_set --app=$app --key=unprotected_regex --value="$domain_regex$path_url/create_poll.php?.*$","$domain_regex$path_url/adminstuds.php?.*"
else
ynh_permission_update --permission="create poll" --remove="visitors"
fi
```
In this example, if the app is public the group `visitors` has access to the permission `create poll`, the group is removed from this permission otherwise.
Then create two files in the directory `hooks` at the root of the Git repository: `post_app_addaccess` and `post_app_removeaccess`. In these hooks, you'll remove or readd the regex protection if the `visitors` group is added or removed from this permission:
`post_app_addaccess`:
```bash
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
app=$1
added_users=$2
permission=$3
added_groups=$4
if [ "$app" == __APP__ ]; then
if [ "$permission" = "create poll" ]; then # The fake permission "create poll" is modifed.
if [ "$added_groups" = "visitors" ]; then # As is it a fake permission we can only grant/remove the "visitors" group.
domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
if [ "$path_url" == "/" ]; then
# If the path is /, clear it to prevent any error with the regex.
path_url=""
fi
# Modify the domain to be used in a regex
domain_regex=$(echo "$domain" | sed 's@-@.@g')
ynh_app_setting_set --app=$app --key=unprotected_regex --value="$domain_regex$path_url/create_poll.php?.*$","$domain_regex$path_url/adminstuds.php?.*"
# Sync the is_public variable according to the permission
ynh_app_setting_set --app=$app --key=is_public --value=1
yunohost app ssowatconf
else
ynh_print_warn --message="This app doesn't support this authorisation, you can only add or remove visitors group."
fi
fi
fi
```
`post_app_removeaccess`
```bash
#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
app=$1
removed_users=$2
permission=$3
removed_groups=$4
if [ "$app" == __APP__ ]; then
if [ "$permission" = "create poll" ]; then # The fake permission "create poll" is modifed.
if [ "$removed_groups" = "visitors" ]; then # As is it a fake permission we can only grant/remove the "visitors" group.
# We remove the regex, no more protection is needed.
ynh_app_setting_delete --app=$app --key=unprotected_regex
# Sync the is_public variable according to the permission
ynh_app_setting_set --app=$app --key=is_public --value=0
yunohost app ssowatconf
else
ynh_print_warn --message="This app doesn't support this authorisation, you can only add or remove visitors group."
fi
fi
fi
```
Don't forget to replace `__APP__` during the install/upgrade script.
Here are some apps that use this specific case: [Lutim](https://github.com/YunoHost-Apps/lutim_ynh/pull/44/files) and [Opensondage](https://github.com/YunoHost-Apps/opensondage_ynh/pull/59/files)
If you have any question, please contact someone from the apps-group.

View file

@ -34,7 +34,7 @@ Here how it looks like in the admin interface:
### Admin interface
The configuration panel for an application can be accessed with this url:
The configuration panel for an application can be accessed with this URL:
https://my_domain.tld/yunohost/admin/#/apps/$app_id/config-panel

View file

@ -13,174 +13,65 @@ This classification of applications by levels has 3 advantages:
- A properly packaged application is put forward more than an application that does not comply with packaging rules.
- Users can quickly see the level of an application and thus know if the package is of good quality.
## Level summary
The level is automatically computed by the automatic test suite ("the CI") which runs tests [here](https://ci-apps.yunohost.org/ci/) and results are summarized [here](https://dash.yunohost.org/appci/branch/stable).
**Level 0**
The application does not work.
<div class="alert alert-info">
<b>
In the application catalog of the webadmin, an application is only shown to the user if its level is at least 5. Otherwiser, users may have to enable the display of "low-quality" applications to be able to install it.
</b>
</div>
**Level 1**
The application installs and uninstalls correctly in some cases.
## Summary of the level definitions
**Level 2**
The application installs and uninstalls correctly in all common configurations.
The following summarizes the current definition of the levels.
**Level 3**
The application can be updated.
The exact definitions are likely to shift over time and are heavily dependent on:
- the [package linter](https://github.com/YunoHost/package_linter) which performs a static analysis of the app scripts and files to detect issues or deprecated practices
- the [package check system](https://github.com/YunoHost/package_check) which actually tests the various operations (installs, upgrades, backup...)
**Level 4**
The application can be saved and restored.
#### Level 0
**Level 5**
The application package code follows some syntax rules.
The application does not work at all.
**Level 6**
The application package is in the YunoHost-Apps organization.
#### Level 1
**Level 7**
The application package passes all integrity tests successfully.
The application can be installed/removed in at least one configuration.
**Level 8**
The application package respects all packaging recommendations. This is a high quality app.
#### Level 2
**Level 9**
The application complies with higher packaging recommendations. Not available yet.
The application can be installed/removed in all common configurations.
**Level 10**
The application package is considered perfect!
(Typically this corresponds to full domain vs. sub path installs, private/public
installs, multi-instance installs)
## Quality levels in detail:
#### Level 3
### Level 0
The application supports upgrading.
**The application does not install or run after installation.**
#### Level 4
This is the lowest level, a level 0 application is considered non-functional.
The application supports backup/restore.
YEP to be respected to reach level 0:
- [YEP 1.1](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-11---nommer-son-app-et-son-d%C3%A9pot---valid%C3%A9--manuel--notworking-) Name your app and repository
- [YEP 1.2](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-12---inscrire-lapp-sur-un-r%C3%A9pertoire-connu---valid%C3%A9--manuel--notworking-) Add the app to a known app list
#### Level 5
### Level 1
The application triggers no errors on the package linter
**The application can be installed and uninstalled correctly.**
#### Level 6
But exceptions are possible, if at least one installation method is functional and its removal then the application is considered functional.
The application repository is part of the YunoHost-Apps organization, which allows the community to contribute to its maintainance.
YEP to be respected to reach level 1:
- [YEP 2.2](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-22---utiliser-bash-pour-les-scripts-principaux---valid%C3%A9--auto--working-) Use bash for main scripts
- [YEP 2.5](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-25---copier-correctement-des-fichiers----brouillon--manuel--working-) Correctly copy files
- [YEP 2.7](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-27---donner-des-permissions-suffisantes-aux-instructions-bash----valid%C3%A9--auto--working-) Bash instructions: Give sufficient permissions to bash instructions
- [YEP 2.15](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-215---v%C3%A9rifier-les-param%C3%A8tres-saisies-par-lutilisateur----valid%C3%A9--manuel--official-) : Follow the application installation instructions
#### Level 7
### Level 2
The application triggers no warnings on the package linter.
**The application can be installed and uninstalled in all common configurations.**
#### Level 8
- Installation in subfolder.
- Installation at the root of a domain or subdomain.
- Private installation (secured by the SSO).
- Public installation.
- Multi-instance installation.
- Uninstallation under the same circumstances.
The application is long-term good quality, meaning it's been at least level 5 in the application catalog for a certain amount of time (when writing this: level 5+ 90% of the time during the last year)
*If an application does not allow certain installation configurations, these must be clearly indicated in the README. However, level 2 cannot be reached if an installation configuration is intentionally discarded without valid reason.*
*This does not preclude the voluntary restriction of public, private or multi-instance if it is relevant for this application.*
#### Level 9
YEP to be respected to reach level 2:
- [YEP 1.5](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-15---mettre-%C3%A0-jour-r%C3%A9guli%C3%A8rement-le-statut-de-lapp---brouillon--manuel--working-) : Update app status regularly
- *[YEP 2.18.2](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2182---supporter-linstallation-sur-un-domaine----valid%C3%A9--auto--working-) : Support installation on a domain*
- *[YEP 2.18.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2183---supporter-linstallation-sur-un-sous-domaine----valid%C3%A9--auto--working-) : Support installation on a subdomain*
- *[YEP 2.18.4](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2184---supporter-linstallation-sur-un-sous-dossier----valid%C3%A9--auto--official-) : Support installation on a subfolder*
- *[YEP 4.6](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-46---g%C3%A8re-le-multi-instance----valid%C3%A9--manuel--optional-) : Manage multi-instance*
The application is considered ["high-quality"](https://github.com/YunoHost/apps/blob/master/hq_validation_template.md): it is well-integrated with YunoHost (in particular SSO/LDAP) and follows the recommended development workflow.
### Level 3
#### Level 10
**The application supports upgrade from an older version of the package.**
The application must be able to be updated from a previous version of the package without causing an error.
YEP to be respected to reach level 3:
- [YEP 2.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-23---sauvegarder-les-r%C3%A9ponses-lors-de-linstallation---valid%C3%A9--manuel--working-) Save answers during installation
### Level 4
**The application can be backed up and restored without error on the same machine or another.**
YEP to be respected to reach level 4:
- *[YEP 4.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-43---fournir-un-script-de-sauvegarde-yunohost-fonctionnel----valid%C3%A9--auto--official-) : Provide a functional YunoHost backup script*
- *[YEP 4.4](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-44---fournir-un-script-de-restauration-yunohost-fonctionnel----valid%C3%A9--auto--official-) : Provide a functional YunoHost restore script*
### Level 5
**The application has no errors in [Package linter](https://github.com/YunoHost/package_linter).**
*There may be false positives in Package linter. These situations will be handled on a case-by-case basis.*
YEP to be respected to reach level 5:
- *[YEP 1.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-13---indiquer-la-licence-associ%C3%A9e-au-paquet---valid%C3%A9--auto--working-) : Specify the license associated with the package*
- *[YEP 2.1](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-21---respecter-le-format-du-manifeste---valid%C3%A9--auto--inprogress-) : Respect manifest format*
- [YEP 2.12](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-212---utiliser-les-commandes-pratiques-helpers---valid%C3%A9--auto--official-) : Use practical commands (helpers)
- [YEP 2.18.1](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2181---lancer-le-script-dinstallation-dune-webapp-correctement----valid%C3%A9--manuel--working-) : Run the webapp installation script correctly
### Level 6
**The application can be backed up and restored without error on the same machine or another.**
YEP to be respected to reach level 6:
- [YEP 1.4](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-14---informer-sur-lintention-de-maintenir-un-paquet----brouillon--manuel--working-) : Inform about the intention to maintain a package
- [YEP 1.6](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-16---se-tenir-inform%C3%A9-sur-l%C3%A9volution-du-packaging-dapps---valid%C3%A9--manuel--official-) : As a maintainer, keep checking and being aware of the evolution of apps packaging
- *[YEP 1.7](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-17---ajouter-lapp-%C3%A0-lorganisation-yunohost-apps---valid%C3%A9--manuel--official-) : Add app to the [YunoHost-Apps organization](https://github.com/YunoHost-Apps)*
- [YEP 1.8](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-18---publier-des-demandes-de-test---valid%C3%A9--manuel--official-) : Publish test requests
- [YEP 1.9](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-19---documenter-lapp---valid%C3%A9--auto--official-) : Document app
- [YEP 1.10](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-110---garder-un-historique-de-version-propre----brouillon--manuel--official-) : Keep a clean version history
- [YEP 2.9](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-29---enlever-toutes-traces-de-lapp-lors-de-la-suppression----brouillon--manuel--working-) : Remove all traces of the app during deletion
- [YEP 3.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-33---faciliter-le-contr%C3%B4le-de-lint%C3%A9grit%C3%A9-des-sources----brouillon--manuel--official-) : Facilitating source integrity control
- [YEP 3.5](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-35---suivre-les-recommendations-de-la-documentation-de-lapp----valid%C3%A9--manuel--official-) : Follow the recommendations of the app documentation
- [YEP 3.6](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-36---mettre-%C3%A0-jour-les-versions-contenant-des-cve----draft--manuel--official-) : Update versions containing CVEs
### Level 7
**The application has no errors in [Package check](https://github.com/YunoHost/package_check).**
Considering the maximum number of tests possible for the application.
YEP à respecter pour atteindre le niveau 7:
- [YEP 2.4](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-24---d%C3%A9tecter-et-g%C3%A9rer-les-erreurs---brouillon--manuel--working-) : Error detection and management
- [YEP 2.6](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-26---annuler-laction-si-les-valeurs-dentr%C3%A9es-sont-incorrectes----valid%C3%A9--manuel--working-) : Cancel action if input values are incorrect
- [YEP 2.8](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-28---modifier-correctement-une-configuration-syst%C3%A8me----brouillon--manuel--working-) : Change a system configuration correctly
- [YEP 2.10](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-210---configurer-les-logs-de-lapplication----brouillon--manuel--working-) : Configure application logs
- [YEP 2.11](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-211---utiliser-une-variable-plut%C3%B4t-que-lapp-id-directement---valid%C3%A9--manuel--official-) : Use a variable rather than the app id directly
- [YEP 2.13](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-213---traduire-le-package-en-anglais----brouillon--manuel--official-) : Translate the package into English
- [YEP 3.2](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-32---ouvrir-un-port-correctement----brouillon--manuel--working-) : Open port: Open port correctly
### Level 8
**The application package respects all packaging recommendations. This is a high quality app.**
YEP to be respected to reach level 8:
- [YEP 1.12](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-112) : Follow the template from example_ynh
- Supports change of URL
- *[YEP 2.16](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-216---v%C3%A9rifier-la-disponibilit%C3%A9-des-d%C3%A9pendances-sur-arm-x86-et-x64----valid%C3%A9--manuel--official-) : Check dependency availability on ARM, x86 and x64*
- [YEP 2.18.5](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-2185---ajouter-la-tuile-yunohost-pour-naviguer-facilement-entre-les-applications----valid%C3%A9--manuel--official-) : Add the YunoHost tile to easily navigate between applications
- [YEP 4.1](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-41---lier-au-ldap----valid%C3%A9--manuel--official-) : Link to ldap
- [YEP 4.2](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-42---lier-lauthentification-au-sso----valid%C3%A9--manuel--official-) : Bind authentication to sso
- [YEP 4.5](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-45---utiliser-les-hooks----valid%C3%A9--manuel--optional-) : Use hooks
If an application is not available on an architecture, and it is impossible to circumvent this limitation reasonably, this limitation must be indicated in the REDME and taken into account in the installation script. The installation of the application on an unsupported architecture must be stopped before modifying the filesystem.
### Level 9
**The application complies with all optional YEPs.**
YEP to be respected to reach level 9:
- [YEP 2.14](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-214---remplir-correctement-un-fichier-de-conf----brouillon--manuel--official-) : Fill a conf file correctly
- [YEP 2.17](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-217---prendre-en-compte-la-version-dorigine-lors-des-mises-%C3%A0-jour----valid%C3%A9--manuel--official-) : Take into account the original version during updates
- [YEP 3.4](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-34---isoler-lapp----brouillon--manuel--official-) : Isolate app
- [YEP 4.2.1](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-421---d%C3%A9connexion----valid%C3%A9--manuel--official-) : Logout
### Level 10
**The application is considered perfect.**
This ultimate level for an application can only be reached after an in-depth study of the package and by the validation of the Apps group.
(No definition yet)

View file

@ -52,7 +52,7 @@ Pour savoir quoi écrire dans un script bash, je vous conseille de commencer par
Avant d'envisager de faire un package d'application, il faut réussir à installer correctement la dites application. Car le script ne fera que ce que vous lui direz de faire.
Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vrai cette fois, [celle qui emploie des mots bizarres](/packaging_apps).
Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vraie cette fois, [celle qui emploie des mots bizarres](/packaging_apps).
Mais maintenant vous devriez les comprendre tout ces mots étranges.
Mais heureusement, vous n'êtes pas seul pour affronter cette épreuve titanesque, il y a d'autres packageurs que vous pouvez venir rencontrer sur le [forum](https://forum.yunohost.org/c/apps-packaging) et sur le [salon de discussion](xmpp:apps@conference.yunohost.org?join).

View file

@ -6,13 +6,14 @@ taxonomy:
---
* [Liste des façons de contribuer à YunoHost](/contribute)
* [Salons de discussion](/chat_rooms)
* [Écrire de la documentation](/write_documentation)
* [Guide de redaction de la documentation](/doc_writing_guide)
* [Guide de rédaction de la documentation](/doc_writing_guide)
* [Guide Markdown](/doc_markdown_guide)
* [Propulser son code avec Git & GitHub](/doc_use_git)
* [Salons de discussion](/chat_rooms)
* [Trame pour la rédaction des pages de documentations](/app_writing_guide)
* Packaging d'application
* [Liste d'applications souhaitées par la communauté](/apps_wishlist)
* [Liste d'applications souhaitées par la communauté (en)](/apps_wishlist)
* [Introduction générale au packaging d'apps](/packaging_apps_start)
* [Introduction technique au packaging d'apps](/packaging_apps)
* [Comment utiliser Git pour packager les applications](/packaging_apps_git)
@ -20,31 +21,32 @@ taxonomy:
* [Manifest](/packaging_apps_manifest)
* [Scripts](/packaging_apps_scripts)
* [Gestion des arguments](/packaging_apps_arguments_management)
* [Format des arguments](/packaging_apps_arguments_format)
* [Format des arguments (en)](/packaging_apps_arguments_format)
* [Configuration NGINX](/packaging_apps_nginx_conf)
* [Groupes et permissions](/groups_and_permissions)
* [Multi-instance](/packaging_apps_multiinstance)
* [Fonctions utiles](/packaging_apps_helpers)
* [Fonctions utiles (en)](/packaging_apps_helpers)
* [Utilisation de 'trap'](/packaging_apps_trap)
* [Ajouter son application à la liste des apps](https://github.com/YunoHost/Apps/#contributing)
* [Feature de packaging avancées](/packaging_apps_advanced)
* [Actions pour une application](/packaging_apps_actions)
* [Panneau de configuration pour une application](/packaging_apps_config_panel)
* [App permissions (en)](/packaging_apps_permissions)
* [Ajouter son application à la liste des apps (en)](https://github.com/YunoHost/Apps/#contributing)
* [Feature de packaging avancées (en)](/packaging_apps_advanced)
* [Actions pour une application (en)](/packaging_apps_actions)
* [Panneau de configuration pour une application (en)](/packaging_apps_config_panel)
* Tests de qualité
* [Package linter](https://github.com/YunoHost/package_linter)
* [Package check](https://github.com/YunoHost/package_check)
* [Package linter (en)](https://github.com/YunoHost/package_linter)
* [Package check (en)](https://github.com/YunoHost/package_check)
* [Niveaux des applications](/packaging_apps_levels)
* [Intégration continue des apps](https://ci-apps.yunohost.org)
* [Tableau de bord du CI des apps](https://dash.yunohost.org/appci/branch/stable)
* [Intégration continue pour packagers](/packaging_apps_ci)
* [Intégration continue des apps (en)](https://ci-apps.yunohost.org)
* [Tableau de bord du CI des apps (en)](https://dash.yunohost.org/appci/branch/stable)
* [Intégration continue pour packagers (en)](/packaging_apps_ci)
* [YEP - YunoHost Enhancement Proposals](/packaging_apps_guidelines)
* [Contribuer à la partie "core" de YunoHost](/dev)
* [Déployer un environnement de dev avec ynh-dev](https://github.com/YunoHost/ynh-dev/blob/master/README.md)
* [Construction des paquets debian](https://github.com/YunoHost/vinaigrette/blob/master/README.md)
* [Feuilles de route du projet](https://github.com/YunoHost/issues/milestones?direction=asc&sort=title&state=open)
* [Déployer un environnement de dev avec ynh-dev (en)](https://github.com/YunoHost/ynh-dev/blob/master/README.md)
* [Construction des paquets Debian (en)](https://github.com/YunoHost/vinaigrette/blob/master/README.md)
* [Feuilles de route du projet (en)](https://github.com/YunoHost/issues/milestones?direction=asc&sort=title&state=open)
* Construction des images
* [x86 ISO](https://github.com/YunoHost/cd_build)
* [Images Raspberry Pi](https://github.com/YunoHost/rpi-image)
* [Autres images pour cartes ARM](https://github.com/YunoHost/arm-images)
* [x86 ISO (en)](https://github.com/YunoHost/cd_build)
* [Images Raspberry Pi (en)](https://github.com/YunoHost/rpi-image)
* [Autres images pour cartes ARM (en)](https://github.com/YunoHost/arm-images)
* [Utiliser l'API YunoHost en dehors de la webadmin](/admin_api)
* [Une discussion sur la portée des variables en bash](shell_variables_scope)
* [Une discussion sur la portée des variables en bash](/shell_variables_scope)

View file

@ -6,26 +6,27 @@ taxonomy:
---
* [General ways of contributing to YunoHost](/contribute)
* [Chat rooms](/chat_rooms)
* [Writing documentation](/write_documentation)
* [Documentation writing guide](/doc_writing_guide)
* [Markdown guide](/doc_markdown_guide)
* [Power your code using Git & GitHub](/doc_use_git)
* [Chat rooms](/chat_rooms)
* Application packaging
* [Apps wishlist](/apps_wishlist)
* [General introduction to app packaging](/packaging_apps_start)
* [Technical introduction to app packaging](/packaging_apps)
* [How to use Git to package apps](/packaging_apps_git)
* [Setting up a dev environment with VirtualBox](/packaging_apps_virtualbox)
* [Manifest](packaging_apps_manifest)
* [Scripts](packaging_apps_scripts)
* [Arguments management](packaging_apps_arguments_management)
* [Arguments format](packaging_apps_arguments_format)
* [NGINX configuration](packaging_apps_nginx_conf)
* [Manifest](/packaging_apps_manifest)
* [Scripts](/packaging_apps_scripts)
* [Arguments management](/packaging_apps_arguments_management)
* [Arguments format](/packaging_apps_arguments_format)
* [NGINX configuration](/packaging_apps_nginx_conf)
* [User groups and permissions](/groups_and_permissions)
* [Multi-instance](packaging_apps_multiinstance)
* [Helpers](packaging_apps_helpers)
* [Multi-instance](/packaging_apps_multiinstance)
* [Helpers](/packaging_apps_helpers)
* [Trap usage](/packaging_apps_trap)
* [App permissions](/packaging_apps_permissions)
* [Adding your app to the apps list](https://github.com/YunoHost/Apps/#contributing)
* [Advanced packaging features](/packaging_apps_advanced)
* [Application actions](/packaging_apps_actions)
@ -46,4 +47,4 @@ taxonomy:
* [Raspberry Pi images](https://github.com/YunoHost/rpi-image)
* [Other ARM board images](https://github.com/YunoHost/arm-images)
* [Using the YunoHost API outside of the webadmin](/admin_api)
* [A discussion about shell variable scope](shell_variables_scope)
* [A discussion about shell variable scope](/shell_variables_scope)

Some files were not shown because too many files have changed in this diff Show more