diff --git a/XMPP.md b/XMPP.md index f549d01d..8355f87a 100644 --- a/XMPP.md +++ b/XMPP.md @@ -18,28 +18,28 @@ You can connect to your YunoHost XMPP account in different ways. ### Web clients -- [Movim](https://pod.movim.eu) -- [Libervia/Salut à Toi](http://salut-a-toi.org/). - +- [Movim](https://movim.eu) +- [ConverseJS](https://conversejs.org/) +- [Libervia/Salut à Toi](https://salut-a-toi.org/) ### Desktop clients -- [Pidgin](http://pidgin.im/) (multiplatform), -- [Gajim](http://gajim.org/) (Linux, Windows), -- [Dino](https://dino.im) (Linux), -- [Thunderbird](https://www.thundebird.net/) (multiplatform), -- [Jitsi](http://jitsi.org/) (multiplatform) -- [Adium](https://adium.im/) (Mac OS). +- [Gajim](http://gajim.org/) (Linux,Windows) +- [Dino](https://dino.im) (Linux) +- [Thunderbird](https://www.thunderbird.net/fr/) (multiplatform) +- [Beagle IM](https://beagle.im/) (Mac OS) +- [Profanity](https://profanity-im.github.io/) (Linux) ### Mobile clients -- [Xabber](http://xabber.com) (Android) - [Conversations](https://conversations.im/) (Android) +- [Xabber](http://xabber.com) (Android) - [Movim under Android](https://movim.eu) -- [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) -- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile) +- [Monal](https://monal.im/) (iOS) +- [Siskin IM](https://siskin.im/) (iOS) +- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile) -Here is an exhaustive list of XMPP clients : https://en.wikipedia.org/wiki/Comparison_of_XMPP_clients +Here is an exhaustive list of XMPP clients : https://xmpp.org/software/clients.html ## Encrypt conversations with OMEMO diff --git a/XMPP_es.md b/XMPP_es.md index 76f45f25..af443fe1 100644 --- a/XMPP_es.md +++ b/XMPP_es.md @@ -1,4 +1,4 @@ -#Chat, VoIP y red local con +# Chat, VoIP y red local con Yunohost está instalado con un servidor de mensajería instantánea Metronome que implementa el [protocolo XMPP](https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol). @@ -6,31 +6,32 @@ XMPP es un protocolo abierto y extensible que también permite crear salones de Todas las aplicaciones basadas en XMPP son compatibles entre ellas : cuando utilizas un cliente XMPP puedes discutir con cualquier persona que tenga una cuenta XMPP/Jabber. Este protocolo ya es utilizado por millones de personas en el mundo. -### Cuenta XMPP/Jabber +## Cuenta XMPP/Jabber Una cuenta XMPP/Jabber está basada en un ID bajo la forma `usuario@dominio.tld`, así como una contraseña. La contraseña es la de la cuenta del usuario de Yunohost. -### Conectarse a XMPP +## Conectarse a XMPP Existen varios clientes web de tipo red social, como : -- [Movim](https://pod.movim.eu) -- [Libervia/Salut à Toi](http://salut-a-toi.org/). +- [Movim](https://movim.eu) +- [ConverseJS](https://conversejs.org/) +- [Libervia/Salut à Toi](https://salut-a-toi.org/) -También puedes utilizar un cliente Desktop como : -- [Pidgin](http://pidgin.im/) (multiplataformas), -- [Gajim](http://gajim.org/index.fr.html) (Linux, Windows), -- [Dino](https://dino.im) (Linux), -- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplataformas), -- [Jitsi](http://jitsi.org/) (multiplataformas) -- [Adium](https://adium.im/) (Mac OS). +También puedes utilizar un cliente Desktop como : +- [Gajim](https://gajim.org/es/) (Linux, Windows) +- [Dino](https://dino.im) (Linux) +- [Thunderbird](https://www.thunderbird.net/es-ES/) (multiplataformas) +- [Profanity](https://profanity-im.github.io/) (Linux) ... o un cliente smartphone : -* [Xabber](http://xabber.com) (Android) -* [Conversations](https://conversations.im/) (Android) -* [Movim sous Android](https://movim.eu) -* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) +- [Conversations](https://conversations.im/) (Android) +- [Xabber](http://xabber.com) (Android) +- [Movim sous Android](https://movim.eu) +- [Siskin IM](https://siskin.im/) (iOS) +- [Monal](https://monal.im/) (iOS) +- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile) -Aquí tienes una lista más exhaustiva de clientes XMPP (fr) : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP +Aquí tienes una lista más exhaustiva de clientes XMPP (en) : https://xmpp.org/software/clients.html ### Cifrar tu conversaciones con OMEMO : diff --git a/XMPP_fr.md b/XMPP_fr.md index 0273219f..a5d4b0f7 100644 --- a/XMPP_fr.md +++ b/XMPP_fr.md @@ -18,25 +18,26 @@ Il existe différents types de clients pour se connecter à XMPP. ### Clients web -- [Movim](https://pod.movim.eu) -- [Libervia/Salut à Toi](http://salut-a-toi.org/). +- [Movim](https://movim.eu) +- [ConverseJS](https://conversejs.org/) +- [Libervia/Salut à Toi](https://salut-a-toi.org/) ### Clients de bureau -- [Pidgin](http://pidgin.im/) (multiplateforme), -- [Gajim](http://gajim.org/index.fr.html) (Linux, Windows), -- [Dino](https://dino.im) (Linux), -- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplateforme), -- [Jitsi](http://jitsi.org/) (multiplateforme) -- [Adium](https://adium.im/) (Mac OS). +- [Gajim](http://gajim.org/fr/) (Linux,Windows) +- [Dino](https://dino.im) (Linux) +- [Thunderbird](https://www.thunderbird.net/) (multiplateforme) +- [Beagle IM](https://beagle.im/) (Mac OS) +- [Profanity](https://profanity-im.github.io/) (Linux) ### Clients sur mobile -* [Xabber](http://xabber.com) (Android) -* [Conversations](https://conversations.im/) (Android) -* [Movim sous Android](https://movim.eu) -* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) -- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile) +- [Conversations](https://conversations.im/) (Android) +- [Xabber](http://xabber.com) (Android) +- [Movim sous Android](https://movim.eu) +- [Monal](https://monal.im/) (iOS) +- [Siskin IM](https://siskin.im/) (iOS) +- [Kaidan](https://www.kaidan.im/) (Ubuntu Touch / Plasma Mobile) Voici une liste plus exhaustive des clients XMPP : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP diff --git a/admin.md b/admin.md index 288471af..d7c9b574 100644 --- a/admin.md +++ b/admin.md @@ -10,28 +10,3 @@ You can access your administrator web interface at this address: https://example - -### Reset admin password - -To reset the admin password (as root) : - -```bash -$ yunohost-reset-ldap-password -``` - -A temporary password will be created, which you can use to define the new password. - - -### How to move application folder - -To change an application folder, only a few commands are needed: move content, create a symlink and set access rights. - -Sample with WordPress: -```bash -# Move wordpress folder to an external hard drive -$ sudo mv /var/www/wordpress /media/externalharddrive -# Symbolic link -$ sudo ln -s /media/externalharddrive/wordpress /var/www/wordpress -# Folder must belong to www-data -$ sudo chown -R www-data:www-data /media/externalharddrive/wordpress -``` diff --git a/admin_es.md b/admin_es.md index 573adb3b..c92be31c 100644 --- a/admin_es.md +++ b/admin_es.md @@ -9,29 +9,3 @@ La interfaz admin está accesible desde tu instancia Yunohost en esta dirección
- - -### Reinicia la contraseña del administrador - -Para reiniciar la contraseña de administración de Yunohost (con el usuario root) : - -```bash -$ yunohost-reset-ldap-password -``` - -Una contraseña provisional será creada, podrás utilizarla para luego definir una nueva contraseña. - - -### Cómo mover la carpeta de una aplicación - -Para cambiar la carpeta donde está una aplicación, sólo algunos comandos son necesarios : desplazar el contenido, crear un vínculo simbólico y definir los derechos de acceso. - -Ejemplo con WordPress : -```bash -# Desplazamiento del wordpress hacia otro soporte -$ sudo mv /var/www/wordpress /mon/dossier/cible -# Creación del vínculo simbólico -$ sudo ln -s /media/disqueexterne/wordpress /var/www/wordpress -# El directorio debe pertenecer a www-data -sudo chown -R www-data:www-data /media/externalharddrive/wordpress -``` diff --git a/admin_fr.md b/admin_fr.md index 5601de0f..1d7bc291 100644 --- a/admin_fr.md +++ b/admin_fr.md @@ -10,28 +10,3 @@ L’interface admin est accessible depuis votre instance YunoHost à l’adresse - -### Réinitialiser le mot de passe administrateur - -Pour réinitialiser le mot de passe administrateur de YunoHost (à partir de l'utilisateur root) : - -```bash -$ yunohost-reset-ldap-password -``` - -Un mot de passe temporaire sera créé, que vous pouvez utiliser pour ensuite définir un nouveau mot de passe. - - -### Comment déplacer le dossier d’une application - -Pour changer le dossier contenant une application, seules quelques commandes sont nécessaires : déplacer le contenu, créer un lien symbolique et définir les droits d’accès. - -Exemple avec WordPress : -```bash -# Deplacement du wordpress vers un autre support -$ sudo mv /var/www/wordpress /mon/dossier/cible -# Création du lien symbolique -$ sudo ln -s /media/disqueexterne/wordpress /var/www/wordpress -# Le répertoire doit appartenir à www-data -sudo chown -R www-data:www-data /media/externalharddrive/wordpress -``` diff --git a/admindoc.md b/admindoc.md index 9194c8a4..c51a3cd8 100644 --- a/admindoc.md +++ b/admindoc.md @@ -26,6 +26,7 @@ * [Web administration interface](/admin) * [SSH](/ssh) and [command-line administration](/commandline) * [Users and the SSO](/users) + * [Groups and permissions](/groups_and_permissions) * [Applications](/apps_overview) * [Domains, DNS and certificates](/domains) * [Email](/email) @@ -37,14 +38,16 @@ * Going further * [Specific apps documentations](/appsdoc) * [Noho.st / nohost.me / ynh.fr domain names](/dns_nohost_me) + * [DNS and subdomains for apps](/dns_subdomains) * [Exchange files with your server using a graphical interface](/filezilla) * [Customize the appearance of the YunoHost portal](/theming) * [Adding an external storage](/external_storage) + * [Moving an app folder to an other storage](/moving_app_folder) * [Migrating emails to YunoHost](/email_migration) * [Hide services with Tor](/torhiddenservice) * [A discussion about the advantages of using a VPN](/vpn_advantage) * [(old) Jessie->Stretch migration procedure](jessie_stretch_migration) -* [Troubleshooting guide](/troubleshooting_guide) +* Troubleshooting * [Changing the administration password](/change_admin_password) * [Recover access to your server](/noaccess) * [Unban IPs in iptables/fail2ban](/fail2ban) diff --git a/admindoc_de.md b/admindoc_de.md index f9c0b256..ee77f645 100644 --- a/admindoc_de.md +++ b/admindoc_de.md @@ -40,6 +40,6 @@ * [Für externen Speicher hinzu](/external_storage) * [Migriere E-Mails zu Yunohost](/email_migration) * [Verstecke Services mit Tor](/torhiddenservice) -* [Hinweise zur Fehlersuche](/troubleshooting_guide) +* Hinweise zur Fehlersuche * [Entsperren von IPs in fail2ban](/fail2ban) * [Administrator-Passwort ändern](/change_admin_password) diff --git a/admindoc_fr.md b/admindoc_fr.md index 6dc54324..629c83e9 100644 --- a/admindoc_fr.md +++ b/admindoc_fr.md @@ -26,6 +26,7 @@ * [L'interface d'administration web](/admin) * [SSH](/ssh) et [l'administration en ligne de commande](/commandline) * [Les utilisateurs et le SSO](/users) + * [Les groupes et les permissions](/groups_and_permissions) * [Les applications](/apps_overview) * [Les domaines, la configuration DNS et les certificats](/domains) * [Les emails](/email) @@ -50,12 +51,13 @@ * [Échanger des fichiers avec son serveur à l'aide d'une interface graphique](/filezilla) * [Modifier l'apparence du portail utilisateur](/theming) * [Ajouter un stockage externe](/external_storage) + * [Déplacer un dossier d'app vers un autre stockage](/moving_app_folder) * [Migrer ses emails vers YunoHost](/email_migration) * [YunoHost avec un service caché Tor](/torhiddenservice) * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom) * [Une discussion sur les avantages d'utiliser un VPN](/vpn_advantage) * [(vieux) Procedure de Migration Jessie->Stretch](jessie_stretch_migration) -* [Guide de dépannage](/troubleshooting_guide) +* Dépannage * [Changer le mot de passe d’administration](/change_admin_password) * [Récupérer l'accès à son serveur](/noaccess) * [Débannir une IP dans Fail2ban/IPtables](/fail2ban) diff --git a/app_nextcloud.md b/app_nextcloud.md index 44bfa713..4bd63778 100644 --- a/app_nextcloud.md +++ b/app_nextcloud.md @@ -128,7 +128,7 @@ Run a scan of the new directory by Nextcloud: ```bash cd /var/www/nextcloud -sudo -u nextcloud php occ files:scan --all +sudo -u nextcloud php7.3 occ files:scan --all ``` It's over now. Now test if everything is fine, try connecting to your Nextcloud instance, upload a file, check its proper synchronization. diff --git a/app_nextcloud_fr.md b/app_nextcloud_fr.md index 4fcfa6f2..e5dc9000 100644 --- a/app_nextcloud_fr.md +++ b/app_nextcloud_fr.md @@ -128,7 +128,7 @@ Lancez un scan du nouveau répertoire par Nextcloud: ```bash cd /var/www/nextcloud -sudo -u nextcloud php occ files:scan --all +sudo -u nextcloud php7.3 occ files:scan --all ``` C'est terminé. À présent testez si tout va bien, essayez de vous connecter à votre instance Nextcloud, envoyer un fichier, vérifiez sa bonne synchronisation. diff --git a/app_pihole.md b/app_pihole.md index 86ede826..3366a39b 100644 --- a/app_pihole.md +++ b/app_pihole.md @@ -1,5 +1,74 @@ -===== Pihole ===== +# Pi-hole's logo Pi-hole -Homepage: https://pi-hole.net +[![Install Pi-hole with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=pihole) [![Integration level](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) -**Pi-hole®** Network-wide ad blocking via your own DNS server, with nice Performance And Statistics web page. +### Index + +- [Using Pi-Hole as a DHCP server](#using-pi-hole-as-a-dhcp-server) + - [Configure Pi-Hole](#configure-pi-hole) + - [Configure my router](#configure-my-router) + - [Restore Network](#restore-network) +- [Useful links](#useful-links) + +Pi-hole is a network-level ad blocker that acts as a DNS layer and possibly a DHCP3 server for use on a private network. It is designed to be installed on embedded devices with network capabilities, such as the Raspberry Pi, but can be used on other machines running Linux or in virtualised environments. + +## Using Pi-Hole as a DHCP server + +> **Warning, you should be aware that touching your DHCP could break your network. +In case your server is inaccessible, you will lose your dns resolution and IP address. +Thus, you would lose any connection to the internet and even the connection to your router.** + +> If you encounter this kind of problem, please read the section "How to restore my network". + +### Configure Pi-Hole + +There are 2 ways to configure Pi-hole to be used as your DHCP server. +- Either you can choose to use it when you install the application. +- Or you can activate the DHCP server afterwards in the "Settings" tab, part "Pi-hole DHCP Server". +In this second case, it may be preferable to force the server IP to a static address. + +### Configure my router + +Your router or your ISP's router has a DHCP server enabled by default. +If you keep this DHCP, along with Pi-hole's, you will have transparent conflicts between them. +The first DHCP server to respond will distribute its own IP and settings. +So you need to turn off your router's DHCP server and let Pi-hole manage your network. + +#### Why should I use Pi-hole's DHCP? + +By using Pi-hole's DHCP, you allow Pi-hole to give its dns configuration to each of your clients. This way, every request will be filtered by Pi-hole. + +Another case of using Pi-hole DHCP is if you have hairpinning problems (you can't connect to your server because its IP is your public IP, and your router doesn't allow this). +In this case, using Pi-hole's dns will allow you to connect to your server by its local address rather than its public address. + +### Restore network + +> Oops! +Your Pi-hole server has crashed, and you don't have DHCP anymore. +Don't panic. We'll get through this. + +Use your favorite device on your desktop computer. +And first, get your network interface (usually `eth0`). +```bash +sudo ifconfig +``` + +Then change your IP to a static one. +```bash +sudo ifconfig eth0 192.168.1.100 +``` + +Now you can connect to your router and reboot its DHCP server to use it again. +You can now remove your static IP and get a dynamic IP again. +```bash +sudo ifconfig eth0 0.0.0 && sudo dhclient eth0 +``` + +> Remember to turn off your router's DHCP if your server is running again. + +## Useful links + ++ Website: [pi-hole.net](https://pi-hole.net) ++ Official documentation: [docs.pi-hole.net](https://docs.pi-hole.net/) ++ Application software repository: [github.com - YunoHost-Apps/pihole](https://github.com/YunoHost-Apps/pihole_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/pihole/issues](https://github.com/YunoHost-Apps/pihole_ynh/issues) diff --git a/app_pihole_fr.md b/app_pihole_fr.md index 98e7e6bc..263cd1e1 100644 --- a/app_pihole_fr.md +++ b/app_pihole_fr.md @@ -1,12 +1,12 @@ # logo de Pi-hole Pi-hole -[![Installer Pi-hole avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=pihole)[![Niveau d'intégration](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) ![](https://ci-apps.yunohost.org/ci/badges/pihole.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/pihole.maintain.svg) +[![Installer Pi-hole avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=pihole)[![Niveau d'intégration](https://dash.yunohost.org/integration/pihole.svg)](https://dash.yunohost.org/appci/app/pihole) -- [Utiliser Pi-Hole comme serveur DHCP](#utiliser-pi-Hole-comme-serveur-dhcp) +- [Utiliser Pi-Hole comme serveur DHCP](#utiliser-pi-hole-comme-serveur-dhcp) - [Configurer Pi-Hole](#configurer-pi-hole) - [Configurer mon routeur](#configurer-mon-routeur) - - [Restaurer le réseau](#restaurer-le-reseau) -- [Liens utiles](#quelques-liens-utiles) + - [Restaurer le réseau](#restaurer-le-réseau) +- [Liens utiles](#liens-utiles) Pi-hole est un bloqueur de publicité au niveau du réseau qui agit comme un DNS menteur et éventuellement un serveur DHCP3, destiné à être utilisé sur un réseau privé. Il est conçu pour être installé sur des périphériques intégrés dotés de capacités réseau, tels que le Raspberry Pi, mais il peut être utilisé sur d'autres machines exécutant Linux ou dans des environnements virtualisés. @@ -64,7 +64,9 @@ sudo ifconfig eth0 0.0.0.0 && sudo dhclient eth0 > N'oubliez pas d'éteindre le DHCP de votre routeur si votre serveur fonctionne à nouveau. -## Quelques liens utiles +## Liens utiles -+ Site officiel : [pi-hole.net](https://pi-hole.net) -+ Documentation Pi-Hole : [docs.pi-hole.net](https://docs.pi-hole.net/) + + Site web : [pi-hole.net (en)](https://pi-hole.net) + + Documentation officielle : [docs.pi-hole.net (en)](https://docs.pi-hole.net/) + + Dépôt logiciel de l'application : [github.com - YunoHost-Apps/pihole](https://github.com/YunoHost-Apps/pihole_ynh) + + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/pihole/issues](https://github.com/YunoHost-Apps/pihole_ynh/issues) \ No newline at end of file diff --git a/app_transmission.md b/app_transmission.md index f756fd93..854a2bda 100644 --- a/app_transmission.md +++ b/app_transmission.md @@ -36,4 +36,4 @@ cd /home/yunohost.transmission/completed zip -r your_archive.zip [dossier] ``` -More informations about file transfer using *scp*: http://doc.ubuntu-fr.org/ssh#transfert_-_copie_de_fichiers (french, need english documentation) \ No newline at end of file +More informations about file transfer using *scp*: http://doc.ubuntu-fr.org/ssh#transfert_-_copie_de_fichiers (french, need english documentation) diff --git a/app_transmission_fr.md b/app_transmission_fr.md index fb7f1e75..df00ad3d 100644 --- a/app_transmission_fr.md +++ b/app_transmission_fr.md @@ -23,7 +23,7 @@ utilisateur = admin ou root Pour transférer le fichier, entrez la commande suivante : ```bash -scp -r /votre/fichier/ root@votre-domaine.org:/home/yunohost.transmission/completed +scp -r /votre/fichier/ admin@votre-domaine.org:/home/yunohost.transmission/completed ``` ##### Comment télécharger un répertoire entier ? diff --git a/app_writing_guide.md b/app_writing_guide.md new file mode 100644 index 00000000..46f2d222 --- /dev/null +++ b/app_writing_guide.md @@ -0,0 +1,33 @@ +# APPLICATION's logo APPLICATION + +[![Install APPLICATION with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=APPLICATION) [![Integration level](https://dash.yunohost.org/integration/APPLICATION.svg)](https://dash.yunohost.org/appci/app/APPLICATION) + +### Index + +- [Configuration](#configuration) +- [Limitations of YunoHost](#limitations-with-yunohost) +- [Customer Applications](#customer-applications) +- [Useful links](#useful-links) + +**General presentation of the application.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Configuration + +**If the configuration of the application is not done with the admin panel of YunoHost.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Limitations with YunoHost + +**Explanation of the current limitations in using the application with YunoHost.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Customer applications + +| Application name | Platform | Multi-account | Other supported networks | Play Store | F-Droid | Apple Store | *Other* | +|------------------|----------|---------------|--------------------------|------------|---------|-------------|---------| +| | | | | | | | | + +## Useful links + ++ Website: [WEBSITE](#) ++ Official documentation: [DOCUMENTATION](#) ++ Application software repository: [github.com - YunoHost-Apps/APPLICATION](https://github.com/YunoHost-Apps/APPLICATION_ynh) ++ Fix a bug or an improvement by creating a ticket (issue): [github.com - YunoHost-Apps/APPLICATION/issues](https://github.com/YunoHost-Apps/APPLICATION_ynh/issues) diff --git a/app_writing_guide_fr.md b/app_writing_guide_fr.md new file mode 100644 index 00000000..bc5f08e1 --- /dev/null +++ b/app_writing_guide_fr.md @@ -0,0 +1,33 @@ +# logo de APPLICATION APPLICATION + +[![Install APPLICATION with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=APPLICATION) [![Integration level](https://dash.yunohost.org/integration/APPLICATION.svg)](https://dash.yunohost.org/appci/app/APPLICATION) + +### Index + +- [Configuration](#configuration) +- [Limitations avec YunoHost](#limitations-avec-yunohost) +- [Applications clientes](#applications-clientes) +- [Liens utiles](#liens-utiles) + +**Présentation générale de l'application.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Configuration + +**Si la configuration de l'application ne se fait pas avec le panel admin de YunoHost.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Limitations avec YunoHost + +**Explication des limitations actuelles en utilisation l'application avec YunoHost.** *Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce rutrum sodales mauris eu viverra. Sed dapibus, tellus sit amet interdum condimentum, enim eros faucibus ligula, sed suscipit orci velit at felis. Etiam quam lacus, vulputate eu scelerisque ac, sollicitudin rutrum orci. Cras eu ante porttitor, laoreet odio sed, hendrerit tellus. Nulla luctus sem in arcu scelerisque cursus. Nulla ut tellus at leo porttitor tincidunt. Morbi vitae purus convallis, elementum lectus non, dignissim orci. Integer eget egestas mauris. Nunc nunc dolor, cursus in quam mollis, rutrum fermentum nibh. Aliquam molestie velit a nulla porttitor, sit amet tincidunt erat laoreet.* + +## Applications clientes + +| Nom de l'applications | Plateforme | Multi-comptes | Autre réseaux supportés | Play Store | F-Droid | Apple Store | *Autres* | +|-----------------------|------------|---------------|-------------------------|------------|---------|-------------|----------| +| | | | | | | | | + +## Liens utiles + + + Site web : [SITE WEB](#) + + Documentation officielle : [DOCUMENTATION](#) + + Dépôt logiciel de l'application : [github.com - YunoHost-Apps/APPLICATION](https://github.com/YunoHost-Apps/APPLICATION_ynh) + + Remonter un bug ou une amélioration en créant un ticket (issue) : [github.com - YunoHost-Apps/APPLICATION/issues](https://github.com/YunoHost-Apps/APPLICATION_ynh/issues) diff --git a/apps_overview.md b/apps_overview.md index 16cbe218..db6acaa3 100644 --- a/apps_overview.md +++ b/apps_overview.md @@ -12,11 +12,7 @@ Application lists From the technical point of view, applications are public code repository (such as [this one](https://github.com/YunoHost-Apps/wordpress_ynh)). Existing applications are indexed using "application lists". Those lists can be managed in Applications > Install > Manage applications lists or with commands such as `yunohost app fetchlist`. -By default, YunoHost only knows about the official application list. Those are applications which have been carefully packaged, integrated, reviewed and shall be maintained by the YunoHost team. - -Nevertheless, you might want to have access to the larger catalog of the community list. It can easily be added through the 'Manage applications lists' view of the webadmin, or with the command `yunohost app fetchlist -n community -u https://app.yunohost.org/community.json`. Just be aware that apps in this list offer less guarantees than the official apps and the YunoHost team is not responsible for them ! - -The full list of application (official and community) can be browsed at [this page](/apps). +The full list of application can be browsed at [this page](/apps). Integration and quality levels ------------------------------ @@ -37,7 +33,7 @@ Some applications support the ability to be installed several times (at differen User access management ---------------------- -Access to apps can be restricted to some users only. This can be configured via the webadmin in Applications > (choose an app) > Access, or similarly via the command line `yunohost app addaccess`, `removeaccess` and `clearaccess`. +Access to apps can be restricted to some users only. This can be configured via the webadmin in the [Groups and permissions panel](/groups_and_permissions), or similarly via the command-line subcategory `yunohost user permission`. Packaging applications ---------------------- diff --git a/apps_overview_fr.md b/apps_overview_fr.md index 8aa7b904..c6fd8bda 100644 --- a/apps_overview_fr.md +++ b/apps_overview_fr.md @@ -12,11 +12,7 @@ Listes d'applications Du point de vue technique, les applications sont des dépôts de code public (comme [celui-ci](https://github.com/YunoHost-Apps/wordpress_ynh)). Les applications existantes sont indexées à l'aide de "listes d'applications". Ces listes peuvent être gérées dans Applications > Installer > Gérer les listes d'applications, ou avec des commandes telles que `yunohost app fetchlist`. -Par défaut, YunoHost ne connaît que la liste officielle des applications. Il s'agit d'applications qui ont été soigneusement packagées, intégrées, revues et doivent être maintenues par l'équipe YunoHost. - -Néanmoins, vous souhaiterez peut-être avoir accès au catalogue plus fourni de la liste communautaire. Cette liste peut facilement être ajouté via la vue 'Gérer les listes d'applications' de l'administrateur web, ou avec la commande `yunohost app fetchlist -n community -u https://app.yunohost.org/community.json`. Sachez simplement que les applications de cette liste offrent moins de garanties que les applications officielles et que l'équipe YunoHost n'en est pas responsable ! - -La liste des applications existantes (officielles et communautaires) peut être consultée sur [cette page](/apps). +La liste des applications existantes peut être consultée sur [cette page](/apps). Niveaux d'intégration et de qualité ------------------------------ @@ -37,7 +33,7 @@ Certaines applications peuvent être installées plusieurs fois (à différents Gestion de l'accès des utilisateurs ---------------------- -L'accès aux applications peut être limité à certains utilisateurs seulement. Ceci peut être configuré via la webadmin dans Applications > (une application) > Accès, ou de la même manière via les commandes `yunohost app addaccess`, `removeaccess` et `clearaccess`. +L'accès aux applications peut être limité à certains utilisateurs seulement. Ceci peut être configuré via la webadmin sur la page [Groupes et permissions](groups_and_permissions), ou de la même manière via la sous-catégorie de commandes `yunohost user permission`. Packaging d'applications ------------------------ diff --git a/apps_wishlist.md b/apps_wishlist.md index c4fa90b4..4f603c90 100644 --- a/apps_wishlist.md +++ b/apps_wishlist.md @@ -1,6 +1,6 @@ # Apps wishlist -
Before to add an app in wishlist please check your app is not already in official or community list: see the apps list
+
Before to add an app in wishlist please check your app is not already in apps list: see the apps list
The following list is a compiled wishlist of applications that would be nice-to-have. @@ -16,6 +16,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Auth0 SSO Dashboard](https://github.com/auth0-extensions/auth0-sso-dashboard-extension) - [Bitmessage](https://bitmessage.org/wiki/Compiling_instructions) / [github](https://github.com/Bitmessage/PyBitmessage) - [Beehive](https://github.com/muesli/beehive) +- [BigBlueButton](https://bigbluebutton.org) / [install instruction](http://docs.bigbluebutton.org/2.2/install.html) / [github](https://github.com/bigbluebutton/bigbluebutton) Complete open source web conferencing system. - [Bludit](https://www.bludit.com) / [github](https://github.com/bludit/bludit) - [Blynk](https://github.com/blynkkk/blynk-library) - [Bookstack](https://www.bookstackapp.com/) / [github](https://github.com/BookStackApp/BookStack) @@ -38,6 +39,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [ERPnext](https://erpnext.com/download) / [github](https://github.com/frappe/erpnext) - [EteSync](https://www.etesync.com/) / [github](https://github.com/etesync) - [Epicyon](https://epicyon.net/) / [gitlab](https://gitlab.com/bashrc2/epicyon) +- [Ferdi server](https://github.com/getferdi/server) is the server to self host the data and configuration of the [ferdi](https://getferdi.com/) messaging aggregator client. - [FEX](http://fex.rus.uni-stuttgart.de/) - [FitTrackee](https://github.com/SamR1/FitTrackee) - [Fossil](http://www.fossil-scm.org) @@ -60,6 +62,7 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Invoice Ninja](https://www.invoiceninja.com) / [github](https://github.com/invoiceninja/invoiceninja) - [InvoicePlane](https://invoiceplane.com) / [github](https://github.com/InvoicePlane/InvoicePlane) - [IPFS](https://ipfs.io) / [github](https://github.com/ipfs/ipfs) +- [Isso](https://posativ.org/isso) commenting server / [github](https://github.com/posativ/isso) - [Jellyfin](https://github.com/jellyfin) - [JS Bin](http://jsbin.com/help/2-second-setup) / [github](https://github.com/jsbin/) - [Joplin](http://joplin.cozic.net/) / [github](https://github.com/laurent22/joplin) @@ -91,7 +94,9 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Netrunner](https://github.com/mtgred/netrunner) - [Nibbleblog](http://www.nibbleblog.com)/ [github](https://github.com/dignajar/nibbleblog) - [Nuage](https://nuage.kerjean.me/login) / [github](https://github.com/mickael-kerjean/filestash) +- [OhMyForm](https://github.com/ohmyform) (Only support Docker install way and some VPS aren't compatible, see TellForm which support non-Docker install but is discontinued) - [Ombi](https://github.com/tidusjar/Ombi) +- [Omeka S](https://omeka.org/s/) / [github](https://github.com/omeka/omeka-s) - [OpenBazaar](https://openbazaar.org) / [github](https://github.com/openbazaar) - [OpenCart](https://www.opencart.com) / [github](https://github.com/opencart/opencart) - [openHAB](https://www.openhab.org/) - Smart home platform. / [github](https://github.com/openhab) @@ -132,11 +137,14 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Syspass](http://www.syspass.org/) / [github](https://github.com/nuxsmin/sysPass) - [Taiga](https://taiga.io) / [github](https://github.com/taigaio/) - [Taskwarrior](https://taskwarrior.org) / [github](https://github.com/GothenburgBitFactory/taskwarrior) +- [Technitium DNS](https://technitium.com/dns/) / [github](https://github.com/TechnitiumSoftware/DnsServer) +- [TellForm](https://github.com/tellform/tellform) (Discontinued (see OhMyForm) but it can be great to have it since OhMyForm does only support Docker install) - [TMate](https://tmate.io/) / [github](https://github.com/tmate-io/tmate) - [Tracim](https://github.com/tracim/tracim) - [Thredded](https://thredded.org/) / [github](https://github.com/thredded/thredded) - [Twister](http://twister.net.co) / [github](https://github.com/miguelfreitas/twister-core/) - [TwitRSS.me](http://twitrss.me/) / [Github](https://github.com/ciderpunx/twitrssme) Scrapes Twitter to create RSS feeds. +- [Uwazi](https://www.uwazi.io/) / [Github](https://github.com/huridocs/uwazi) - [Volumio](https://volumio.org) / [github](https://github.com/volumio) - [WebODF](http://webodf.org) / [github](https://github.com/webodf/WebODF) - [Webhook.site](https://docs.webhook.site/) / [github](https://github.com/fredsted/webhook.site) @@ -149,3 +157,4 @@ The following list is a compiled wishlist of applications that would be nice-to- - [Zoneminder](https://github.com/ZoneMinder/zoneminder) - [Zulip](https://zulipchat.com/) / [github](https://github.com/zulip/zulip) - [Yggdrasil](https://yggdrasil-network.github.io/) / [github](https://github.com/yggdrasil-network/yggdrasil-go) +- [WiseMapping](http://www.wisemapping.com/inyourserver.html) / [developpement](https://bitbucket.org/wisemapping/wisemapping-open-source) diff --git a/backup_fr.md b/backup_fr.md index 2dd77ff4..163d1301 100644 --- a/backup_fr.md +++ b/backup_fr.md @@ -1,7 +1,7 @@ Sauvegarder son serveur et ses apps =================================== -Dans le contexte de l'auto-hébergement, les sauvegardes (backup) sont un élément important pour palier les événements inattendus (incendies, corruption de base de données, perte d'accès au serveur, serveur compromis, ...). La politique de sauvegardes à mettre en place dépend de l'importance des services et des données que vous gérez. Par exemple, sauvegarder un serveur de test aura peu d'intérêt, tandis que vous voudrez être très prudent si vous gérez des données critiques pour une association ou une entreprise - et dans ce genre de cas, vous souhaiterez stocker les sauvegardes *dans un endroit différent*. +Dans le contexte de l'auto-hébergement, les sauvegardes (backup) sont un élément important pour pallier les événements inattendus (incendies, corruption de base de données, perte d'accès au serveur, serveur compromis, ...). La politique de sauvegardes à mettre en place dépend de l'importance des services et des données que vous gérez. Par exemple, sauvegarder un serveur de test aura peu d'intérêt, tandis que vous voudrez être très prudent si vous gérez des données critiques pour une association ou une entreprise - et dans ce genre de cas, vous souhaiterez stocker les sauvegardes *dans un endroit différent*. Les sauvegardes avec YunoHost ----------------------------- @@ -10,7 +10,7 @@ YunoHost contient un système de sauvegarde, qui permet de sauvegarder (et resta Vous pouvez gérer vos sauvegardes via la ligne de commande (`yunohost backup --help`) ou la webadmin (dans la section Sauvegardes) bien que certaines fonctionnalités ne soient pas disponibles via celle-ci. -Actuellement, la méthode de sauvegarde actuelle consiste à créer des archives `.tar.gz` qui contiennent les fichiers pertinents. Pour le futur, YunoHost envisage de supporter nativement [Borg](https://www.borgbackup.org/) qui est une solution plus flexible, performante et puissante pour gérer des sauvegardes. +La méthode de sauvegarde actuelle consiste à créer des archives `.tar.gz` qui contiennent les fichiers pertinents. Pour le futur, YunoHost envisage de supporter nativement [Borg](https://www.borgbackup.org/) qui est une solution plus flexible, performante et puissante pour gérer des sauvegardes. Créer des sauvegardes --------------------- @@ -25,7 +25,7 @@ Vous pouvez facilement créer des archives depuis la webadmin en allant dans Sau Vous pouvez créer de nouvelles archives depuis la ligne de commande. Voici quelques exemples de commandes et leur comportement correspondant: -- Tout sauvegarder (système et application) +- Tout sauvegarder (système et apps) ```bash yunohost backup create ``` @@ -35,7 +35,7 @@ yunohost backup create yunohost backup create --apps ``` -- Sauvegarder seulement deux apps (wordpress et shaarli) +- Sauvegarder seulement deux apps (WordPress et Shaarli) ```bash yunohost backup create --apps wordpress shaarli ``` @@ -45,19 +45,19 @@ yunohost backup create --apps wordpress shaarli yunohost backup create --system data_mail ``` -- Sauvegarder les mails et wordpress +- Sauvegarder les mails et WordPress ```bash yunohost backup create --system data_mail --apps wordpress ``` -Pour plus d'informations et d'options sur la création d'archives, consultez `yunohost backup create --help`. Vous pouvez également lister les parties de système qui sont sauvegardables avec `yunohost hook list backup`. +Pour plus d'informations et d'options sur la création d'archives, consultez `yunohost backup create --help`. Vous pouvez également lister les parties du système qui sont sauvegardables avec `yunohost hook list backup`. #### Configuration spécifique à certaines apps Certaines apps comme Nextcloud sont potentiellement rattachées à des quantités importantes de données. Il est possible de ne pas les sauvegarder par défaut. Dans ce cas, on dit que l'app "sauvegarde uniquement le core" (de l'app). Lors d'une mise à jour, les apps contenant une grande quantité de données effectuent généralement une sauvegarde sans ces données. -Pour désactiver manuellement la sauvegarde des données volumineuses, pour les applications qui implémentent cette fonctionnalité, vous pouvez définir la variable `BACKUP_CORE_ONLY`. Pour ce faire, la variable doit être définie avant la commande de backup : `sudo BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud`. Soyez prudent : il vous faudra alors sauvegarder vous même les données des utilisateurs de nextcloud. Choisir ce type de sauvegarde vous permettra de mettre en place manuellement des sauvegardes incrémentielles ou différentielles (que yunohost ne permet pas encore de faire automatiquement). +Pour désactiver manuellement la sauvegarde des données volumineuses, pour les applications qui implémentent cette fonctionnalité, vous pouvez définir la variable `BACKUP_CORE_ONLY`. Pour ce faire, la variable doit être définie avant la commande de backup : `sudo BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud`. Soyez prudent : il vous faudra alors sauvegarder vous-même les données des utilisateurs de Nextcloud. Choisir ce type de sauvegarde vous permettra de mettre en place manuellement des sauvegardes incrémentielles ou différentielles (que YunoHost ne permet pas encore de faire automatiquement). Télécharger et téléverser des sauvegardes ----------------------------------------- @@ -91,7 +91,7 @@ Allez dans Sauvegardes > Sauvegardes locales et sélectionnez l'archive. Vous po #### Depuis la ligne de commande -Depuis la ligne de commande, vous pouvez utiliser `yunohost backup restore ` (sans le `.tar.gz`) pour restaurer une archive. Tout comme `yunohost backup create`, cela restaure tout le contenu par défaut. Si vous souhaitez restaurer seulement certaines parties, vous pouvez utiliser par exemple `yunohost backup restore --apps wordpress` qui restaurera seulement l'app wordpress. +Depuis la ligne de commande, vous pouvez utiliser `yunohost backup restore ` (sans le `.tar.gz`) pour restaurer une archive. Tout comme `yunohost backup create`, cela restaure tout le contenu par défaut. Si vous souhaitez restaurer seulement certaines parties, vous pouvez utiliser par exemple `yunohost backup restore --apps wordpress` qui restaurera seulement l'app WordPress. #### Contraintes @@ -131,7 +131,7 @@ ln -s $PATH_TO_DRIVE/yunohost_backup_archives /home/yunohost.backup/archives #### Sauvegardes automatiques -Vous pouvez ajouter une tâche cron pour déclencher automatiquement une sauvegarde régulièrement. Par exemple pour sauvegarder l'application wordpress toutes les semaines, créez un fichier `/etc/cron.weekly/backup-wordpress` avec le contenu suivant : +Vous pouvez ajouter une tâche cron pour déclencher automatiquement une sauvegarde régulièrement. Par exemple pour sauvegarder l'application WordPress toutes les semaines, créez un fichier `/etc/cron.weekly/backup-wordpress` avec le contenu suivant : ```bash #!/bin/bash @@ -151,7 +151,7 @@ Vous pouvez suivre ce tutoriel sur le forum pour mettre en place Borg entre deux Il existe aussi l'application Archivist qui permet un système similaire : https://forum.yunohost.org/t/new-app-archivist/3747 -#### Eviter de sauvegarder certains dossiers +#### Éviter de sauvegarder certains dossiers Si besoin, vous pouvez spécifier que certains dossiers `home` d'utilisateurs ne soient pas sauvegardés par la commande `yunohost backup`, en créant un fichier vide nommé `.nobackup` à l'intérieur. #### Backup complet avec `dd` diff --git a/burn_or_copy_iso.md b/burn_or_copy_iso.md index f24af473..1199ffcd 100644 --- a/burn_or_copy_iso.md +++ b/burn_or_copy_iso.md @@ -1,15 +1,13 @@ -# Flashing the YunoHost ISO on a USB stick or CD/DVD +# Flashing the YunoHost ISO -Now that you downloaded the ISO image of YunoHost, you should flash/burn it on a physical medium. Typically, this is done on a **USB stick** but you might want to use a **CD/DVD** for older machines. +Now that you downloaded the ISO image of YunoHost, you should flash/burn it on a physical medium. Typically, this is done on a **USB stick** or an **SD card**. + + - + ---- - -## USB stick - -### With Etcher +### (Recommended) With Etcher Download Etcher for your operating system and install it. @@ -25,20 +23,23 @@ Download UNetbootin for your operati Put your USB stick on, select your YunoHost ISO and click "OK" + ### With `dd` -If you know your way around command line, you may also flash your USB stick with -`dd`. Assuming your USB stick is `/dev/sdz` (be careful !!), you may run : +If you are on Linux / Mac and know your way around command line, you may also +flash your USK stick or SD card with `dd`. You can identify which device corresponds to your +USB stick or SD card with `fdisk -l` or `lsblk`. An SD card name typically is something like `/dev/mmcblk0`. BE CAREFUL and make sure you got the right name. + +Then run : ```bash -dd if=/path/to/yunohost.iso of=/dev/sdz +# Replace /dev/mmcblk0 if the name of your device is different... +dd if=/path/to/yunohost.img of=/dev/mmcblk0 ``` ---- +### Burning a CD/DVD -## CD/DVD - -The software to use differs regarding your operating system. +For older devices, you might want to burn a CD/DVD. The software to use depends on your operating system. * On Windows, use [ImgBurn](http://www.imgburn.com/) to write the image file on the disc diff --git a/burn_or_copy_iso_fr.md b/burn_or_copy_iso_fr.md index c2849fbe..c3760c6d 100644 --- a/burn_or_copy_iso_fr.md +++ b/burn_or_copy_iso_fr.md @@ -1,15 +1,15 @@ -# Flasher l'ISO YunoHost sur une clef USB ou un CD/DVD +# Flasher l'ISO YunoHost -Maintenant que vous avez téléchargé l’image ISO de YunoHost, vous devez la mettre sur un support physique. Classiquement, il s'agit d'une **Clé USB** mais pour certaines raisons vous pouvez aussi utiliser un **CD/DVD**. +Maintenant que vous avez téléchargé l’image ISO de YunoHost, vous devez la mettre sur un support physique. Classiquement, il s'agit d'une **Clé USB** ou d'une **Carte SD**. + + - + --- -## Clé USB - -### Avec Etcher +### (Recommandé) Avec Etcher Téléchargez Etcher pour votre système d'exploitation et installez-le. @@ -28,18 +28,18 @@ Branchez votre clef USB, selectionnez l'ISO YunoHost puis cliquez sur 'OK' ### Avec `dd` Si vous êtes familier avec la ligne de commande, il est possible de flasher la -clef USB avec `dd`. En supposant que votre clef USB soit `/dev/sdz` (faites -attention !!), vous pouvez exécuter : +clef USB ou carte SD avec `dd`. Vous pouvez identifier le nom du périphérique +avec `fdisk -l` ou `lsblk`. Une carte SD s'apelle typiquement `/dev/mmcblk0`. +ATTENTION à faire attention de prendre le bon nom! ```bash -dd if=/chemin/de/yunohost.iso of=/dev/sdz +# Remplacer /dev/mmcblk0 par le nom de votre périphérique +dd if=/chemin/de/yunohost.iso of=/dev/mmcblk0 ``` ---- +### CD/DVD -## CD/DVD - -Le logiciel à utiliser est différent suivant votre système d’exploitation. +Pour les anciens matériels, il vous faut peut-être utiliser un CD/DVD. Le logiciel à utiliser est différent suivant votre système d’exploitation. * Sur Windows, utilisez [ImgBurn](http://www.imgburn.com/) pour écrire l’image sur le disque diff --git a/change_admin_password.md b/change_admin_password.md index e1feb7f9..5aec634c 100644 --- a/change_admin_password.md +++ b/change_admin_password.md @@ -1,20 +1,20 @@ -#Change administration password +# Changing the administration password -For security reasons you may have to change your administration password. To achieve this, 2 different methods exists. +You may want to change your administrator password for security reason or because you forgot it. -
- -The current administration password is **required** to perform this task. -
+If you forgot your password or are unable to connect using the `admin` user, you +may still be able to change the password if you're able to login as `root` on +SSH (from your local network! or using a rescue mode if you're on a VPS...) -##Web administration +## Using the web administration interface First, connect to your [web administration](/admin). -Then go to `Tools` > `Change administration password`. +Then go to Tools > Change administration password. -##Command line +## Using the command line interface + ```bash yunohost tools adminpw diff --git a/change_admin_password_fr.md b/change_admin_password_fr.md index f92f7c71..02ada64f 100644 --- a/change_admin_password_fr.md +++ b/change_admin_password_fr.md @@ -1,26 +1,21 @@ -#Changer le mot de passe d’administration +# Changer le mot de passe d’administration -Pour des raisons de sécurité vous pouvez avoir besoin de changer votre mot de passe d’administration. Pour cela, deux méthodes sont possibles. +Vous voudrez peut-être changer votre mot de passe d'administrateur pour des raisons de sécurité ou parce que vous l'avez oublié. -
- -Le mot de passe d’administration actuel est **requis** pour effectuer cette modification. -
+Si vous avez oublié votre mot de passe ou si vous ne pouvez pas vous connecter en utilisant l'utilisateur `admin`, vous +pouvez peut-être encore changer le mot de passe en vous connectant en tant que "root" sur +SSH (à partir de votre réseau local ! ou en utilisant un mode rescure si vous êtes sur un VPS...) -##Administration web +## Sur l'interface d'administration web -Premièrement, connectez-vous à [l’administration web](/admin). +1. Connectez-vous à [l’administration web](/admin). +2. Allez dans la section Outis > Changer le mot de passe d’administration. -Puis allez dans la section `Outils` > `Changer le mot de passe d’administration`. -##Ligne de commande +## En ligne de commande + ```bash yunohost tools adminpw ``` -Si vous avez oublié votre mot de passe, utilisez plutôt: - -```bash -yunohost-reset-ldap-password -``` diff --git a/contribute.md b/contribute.md index 04dc45d1..b5887fb3 100644 --- a/contribute.md +++ b/contribute.md @@ -47,7 +47,7 @@ Our support relies on contributors like you. Just come to [the support chatroom] You can involve in the YunoHost's development regardless of your skill. Sysadmins, web developers, designers and pythonists are welcome!
-Learn [how to contribute](/dev), and join us on the [development chat room](xmpp:dev@conference.yunohost.org?join) and the mailing-list. +Learn [how to contribute](/dev), and join us on the [development chat room](xmpp:dev@conference.yunohost.org?join). diff --git a/contribute_ar.md b/contribute_ar.md index 0a810ce5..8ad74232 100644 --- a/contribute_ar.md +++ b/contribute_ar.md @@ -45,7 +45,7 @@ Notre support est communautaire et s’appuie sur des contributeurs comme vous.
Vous pouvez vous impliquer dans le développement de YunoHost peu importe votre niveau. Administrateurs système, développeurs web, designers et pythonistes sont les bienvenus.
-Découvrez [comment contribuer](/dev), et rejoignez-nous sur le [salon de discussion](xmpp:dev@conference.yunohost.org?join) et la mailing-list ! +Découvrez [comment contribuer](/dev), et rejoignez-nous sur le [salon de discussion](xmpp:dev@conference.yunohost.org?join) !
@@ -80,7 +80,7 @@ Découvrez [comment contribuer](/dev), et rejoignez-nous sur le [salon de discus
Étendez les capacités de YunoHost en [packageant de nouveaux services et applications web](/packaging_apps). Jetez un œil à [ce qui a déjà été fait](/apps) !
-Un [salon de développement](xmpp:dev@conference.yunohost.org?join) et une mailing-list est également disponible. +Un [salon de développement](xmpp:dev@conference.yunohost.org?join) est également disponible.
diff --git a/contribute_fr.md b/contribute_fr.md index 825b47d4..dd785aaa 100644 --- a/contribute_fr.md +++ b/contribute_fr.md @@ -45,7 +45,7 @@ Notre support est communautaire et s’appuie sur des contributeurs comme vous.
Vous pouvez vous impliquer dans le développement de YunoHost peu importe votre niveau. Administrateurs système, développeurs web, designers et pythonistes sont les bienvenus.
-Découvrez [comment contribuer](/dev), et rejoignez-nous sur le [salon de discussion](xmpp:dev@conference.yunohost.org?join) et la mailing-list ! +Découvrez [comment contribuer](/dev), et rejoignez-nous sur le [salon de discussion](xmpp:dev@conference.yunohost.org?join) !
diff --git a/contributordoc.md b/contributordoc.md index 31bc784e..67daeae5 100644 --- a/contributordoc.md +++ b/contributordoc.md @@ -2,11 +2,15 @@ * [General ways of contributing to YunoHost](/contribute) * [Writing documentation](/write_documentation) + * [Documentation wrinting guide](/doc_writing_guide) + * [Markdown guide](/doc_markdown_guide) + * [Propulser son code avec 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) @@ -15,7 +19,7 @@ * [Multi-instance](packaging_apps_multiinstance) * [Helpers](packaging_apps_helpers) * [Trap usage](/packaging_apps_trap) - * [Adding your app to the community list](https://github.com/YunoHost/Apps/#contributing) + * [Adding your app to the apps list](https://github.com/YunoHost/Apps/#contributing) * Quality tests * [Package linter](https://github.com/YunoHost/package_linter) * [Package check](https://github.com/YunoHost/package_check) diff --git a/contributordoc_fr.md b/contributordoc_fr.md index 57ad494d..ad843b3e 100644 --- a/contributordoc_fr.md +++ b/contributordoc_fr.md @@ -2,11 +2,15 @@ * [Liste des façons de contribuer à YunoHost](/contribute) * [Écrire de la documentation](/write_documentation) + * [Guide de redaction 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) * Packaging d'application - * [Liste d'apps souhaitées par la communauté](/apps_wishlist) + * [Liste d'applications souhaitées par la communauté](/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) * [Déployer un environnement de développement avec VirtualBox](/packaging_apps_virtualbox) * [Manifest](/packaging_apps_manifest) * [Scripts](/packaging_apps_scripts) @@ -15,7 +19,7 @@ * [Multi-instance](/packaging_apps_multiinstance) * [Fonctions utiles](/packaging_apps_helpers) * [Utilisation de 'trap'](/packaging_apps_trap) - * [Ajouter son application à la liste community](https://github.com/YunoHost/Apps/#contributing) + * [Ajouter son application à la liste des apps](https://github.com/YunoHost/Apps/#contributing) * Tests de qualité * [Package linter](https://github.com/YunoHost/package_linter) * [Package check](https://github.com/YunoHost/package_check) diff --git a/copy_image.md b/copy_image.md deleted file mode 100644 index 50d3e68b..00000000 --- a/copy_image.md +++ /dev/null @@ -1,47 +0,0 @@ -# Flashing an SD card - -Now that you download the YunoHost image, you have to copy its content to an SD -card. This step is also sometimes called 'flashing' the SD card. - -
-In the context of self-hosting, it is recommended that your SD card be at least -8 GB (to have a reasonable space available for the system and a few data) and at -least Class 10 (to ensure reasonable performances). -
- - - -### With Etcher - -Download Etcher for your -operating system and install it. - - - -Plug your SD card, select your YunoHost image and click "Flash" - -### With `dd` - -If you are on Linux / Mac and know your way around command line, you may also -flash your SD card with `dd`. You can identify which device corresponds to your -SD card with `fdisk -l` or `lsblk`. Assuming your SD card is `/dev/mmcblk0` (be -careful !!), you may run : - -```bash -dd if=/path/to/yunohost.img of=/dev/mmcblk0 -``` - -## Expand the root partition (optional) - -
-This step is optional as it should be performed automatically during the first -boot on recent images. -
- -By default, the root partition of your SD card is very small. -You can resize it by using software like `resize2fs` (command-line) or `gparted` -(graphical). - - - -

Preview of the Gparted window

diff --git a/copy_image_es.md b/copy_image_es.md deleted file mode 100644 index c979e3e2..00000000 --- a/copy_image_es.md +++ /dev/null @@ -1,39 +0,0 @@ -# Flashear una tarjeta SD - -Ahora que has descargado la imagen de Yunohost, tienes que copiar su contenido en una tarjeta SD. Esta etapa también puede llamarse 'flashear' la tarjeta SD. - -
-En el marco del self-hosting / auto-alojamiento, está recomendado que tu tarjeta SD tenga una capacidad de por lo menos 8 Go (para diponer de suficientemente espacio para el sistema y un poco de datos) y esté al menos certificada de clase 10 (para tener bueno rendimiento). -
- - - -### Con Etcher - -Descarga Etcher para tu sistema operativo, e instálalo. - - - -Conecta tu tarjeta SD, selecciona tu imagen Yunohost y luego haz clic en 'Flash'. - -### Con `dd` - -Si estás en Linux / Mac y que estás cómodo con la línea de comandos, también puedes flashear tu tarjeta SD con el comando `dd`. Empieza por identificar el periférico que corresponde a tu tarjeta SD con `fdisk -l` o -`lsblk`. Suponiendo que tu tarjeta SD sea `/dev/mmcblk0` (¡ ten cuidado -!), puedes iniciar : - -```bash -dd if=/chemin/vers/yunohost.img of=/dev/mmcblk0 -``` - -## Extiende la partición root (optionnel) - -
-Esta etapa es opcional porque normalmente la realiza automáticamente el sistema durante el primer inicio sobre las imágenes recientes. -
- -Por defecto, la partición root instalada en tu tarjeta SD con el comando `dd` es muy pequeña. Puedes redimensionarla con un programa como `resize2fs` (línea de comandos) o `Gparted` (interfaz gráfica) extendiendo la partición ext4 al máximo de modo a utilizar todo el espacio que no está asignado. - - - -

Vistazo de la interfaz de Gparted

diff --git a/copy_image_fr.md b/copy_image_fr.md deleted file mode 100644 index 3e5ff1f1..00000000 --- a/copy_image_fr.md +++ /dev/null @@ -1,52 +0,0 @@ -# Flasher une carte SD - -Maintenant que vous avez téléchargé l'image de YunoHost, il vous faut copier son -contenu sur une carte SD. Cette étape est aussi souvent appelé 'flasher' la -carte SD. - -
-Dans le contexte de l'auto-hébergement, il est recommandé que votre carte SD -fasse au moins 8 Go (pour disposer d'un espace raisonnable pour le système et -quelques données) et soit au moins certifiée classe 10 (pour avoir des -performances raisonnables). -
- - - -### Avec Etcher - -Télécharger Etcher pour votre -système d'exploitation, et installez-le. - - - -Connectez votre carte SD, sélectionnez votre image YunoHost, puis cliquez sur -'Flash'. - -### Avec `dd` - -Si vous êtes sous Linux / Mac et que vous êtes à l'aise avec la ligne de -commande, vous pouvez aussi flasher votre carte SD avec `dd`. Commencez par -identifier le périphérique correspondant à votre carte SD avec `fdisk -l` ou -`lsblk`. En supposant que votre carte SD soit `/dev/mmcblk0` (faites attention -!), vous pouvez lancer : - -```bash -dd if=/chemin/vers/yunohost.img of=/dev/mmcblk0 -``` - -## Étendre la partition root (optionnel) - -
-Cette étape est optionnelle car elle est normalement effectuée automatiquement -par le système lors du premier démarrage sur les images récentes. -
- -Par défaut, la partition root installée sur votre carte SD avec la commande `dd` -est très petite. Vous pouvez la redimensionner avec un logiciel comme -`resize2fs` (ligne de commande) ou `Gparted` (interface graphique) en étendant -la partition ext4 au maximum de façon à utiliser tout l’espace non alloué. - - - -

Aperçu de l’interface de Gparted

diff --git a/dev_fr.md b/dev_fr.md index 49a3f883..230bac7e 100644 --- a/dev_fr.md +++ b/dev_fr.md @@ -1,10 +1,10 @@ ## Contribuer au cœur de YunoHost Vous souhaitez ajouter une nouvelle fonctionnalité au cœur de YunoHost, mais ne -savez pas comment procéder ? Ce guide parcours les étapes du développement et du +savez pas comment procéder ? Ce guide parcourt les étapes du développement et du processus de contribution. -Si vous chercher quelque chose à implémenter ou un bug à réparer, le +Si vous cherchez quelque chose à implémenter ou un bug à réparer, le bug tracker est [ici](https://github.com/yunohost/issues/issues) ! **Venez dire coucou sur le [salon de dev](/chat_rooms)** ! @@ -21,7 +21,7 @@ bug tracker est [ici](https://github.com/yunohost/issues/issues) ! - **Implémentez et testez votre fonctionnalité**. Suivant ce sur quoi vous voulez travailler : - - **Cœur Python/ligne de comande** : allez dans `/ynh-dev/yunohost/` + - **Cœur Python/ligne de commande** : allez dans `/ynh-dev/yunohost/` - **Interface d'administration web** : allez dans `/ynh-dev/yunohost-admin/` - Vous pouvez aussi travailler sur les autres projets liés sur lesquels s'appuie YunoHost (SSOwat, moulinette) de façon similaire. @@ -34,15 +34,14 @@ C'est un petit framework "fait maison". [Son rôle principal](https://moulinette est de permettre de construire une API Web et une API en ligne de commande à partir d'un même code Python et d'un schéma YAML que nous appelons [l'actionmap] (https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/actionsmap/yunohost.yml). -Il prend en charge d'autres mécanismes tels que l'authentification, l'internationalisation -et des petites fonctions utilitaires techniques (par ex. lecture/écriture de fichiers json). +Il prend en charge d'autres mécanismes tels que l'authentification, l'internationalisation et des petites fonctions utilitaires techniques (par ex. lecture/écriture de fichiers json). Moulinette dispose de sa propre documentation [ici](https://moulinette.readthedocs.io/en/latest/). -##### Yunohost +##### YunoHost C'est le coeur même de YunoHost. Il contient : -- [le code python](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) qui gère les utilisateurs, domaines, applications, services et autres +- [le code Python](https://github.com/YunoHost/yunohost/tree/stretch-unstable/src/yunohost) qui gère les utilisateurs, domaines, applications, services et autres - des [helpers bash](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/helpers.d) principalement utilisés par les packageurs d'applications dans les scripts de ces applications - des [hooks](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks) et [templates](https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/templates) qui sont utilisés pour configurer les différents éléments de l'écosystème tels que nginx, postfix, .... - des [chaînes internationalisées](https://github.com/YunoHost/yunohost/tree/stretch-unstable/locales) @@ -52,18 +51,18 @@ C'est le coeur même de YunoHost. Il contient : C'est le système de connexion unique (single sign-on) de YunoHost. Il contient principalement: - [du code LUA](https://github.com/YunoHost/ssowat) interfacé directement avec nginx et qui gère tous les aspects "techniques" de l'authentification et de la gestion des accès aux ressources. -- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible pour les utilisateurs de YunoHost +- le [portail web utilisateur](https://github.com/YunoHost/SSOwat/tree/stretch-unstable/portal) qui est l'interface finale visible par les utilisateurs de YunoHost SSOwat est configuré via `/etc/ssowat/conf.json` qui est généré par YunoHost. -##### Yunohost-admin +##### YunoHost-admin C'est une dépendance *optionnelle* de YunoHost et correspond à une interface pour l'API web créée par YunoHost et Moulinette (service `yunohost-api`). Il contient essentiellement : - [des templates pour les vues](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/views) -- les [contrôleurs javascript](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) correspondants, qui interagissent avec l'API Yunohost -- et es [chaînes internationalisées](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/locales) +- les [contrôleurs JavaScript](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/js/yunohost/controllers) correspondants, qui interagissent avec l'API YunoHost +- et ses [chaînes internationalisées](https://github.com/YunoHost/yunohost-admin/tree/stretch-unstable/src/locales) ### Travailler sur le cœur Python / ligne de commande @@ -79,7 +78,7 @@ Il contient essentiellement : `domain`, l'action est `add` et `some.domain.tld` est un argument. - Moulinette va automatiquement faire le lien entre les commandes de - l'actionsmap et les fonctions python (ainsi que leurs arguments) dans + l'actionsmap et les fonctions Python (ainsi que leurs arguments) dans `src/yunohost/`. Par exemple, `yunohost domain add some.domain.tld` déclenchera un appel de `domain_add(domainName)` dans `domain.py`, avec l'argument `domainName` qui vaudra `"some.domain.tld"`. @@ -92,9 +91,9 @@ Il contient essentiellement : et mettez le message correspondant dans `locales/en.json`. Vous pouvez aussi utiliser des arguments pour construire les messages, avec `{{some-argument:s}}`. Ne modifiez pas de fichiers de locales autres que en.json, la traduction sera - faite avec [weblate](https://translate.yunohost.org/) ! + faite avec [Weblate](https://translate.yunohost.org/) ! -- YunoHost essaye de suivre le style de code [pep8](http://pep8.org/). Des +- YunoHost essaye de suivre le style de code [PEP8](http://pep8.org/). Des outils existent pour vérifier automatiquement la conformité du code. - Mettre un `_` devant les noms des fonctions "privées". @@ -105,36 +104,36 @@ Il contient essentiellement : - Exécutez `cd /ynh-dev && ./ynh-dev use-git yunohost-admin`. Ceci lance gulp, de sorte qu'à chaque fois que vous modifiez les sources, il recompilera le code - (js) et vous pourrez voir les changements dans le navigateur web (Ctrl+F5). + (JS) et vous pourrez voir les changements dans le navigateur web (Ctrl+F5). Pour stopper la commande, faites simplement Ctrl+C. - L'interface web utilise une API pour communiquer avec YunoHost. Les commandes/requêtes de l'API sont également définies dans l'actionsmap. Par exemple, accéder à la page ```https://domain.tld/yunohost/api/users``` - correspond à une requete `GET /users` vers l'API YunoHost. Cette requête + correspond à une requête `GET /users` vers l'API YunoHost. Cette requête est mappée sur `user_list()`. Accéder à cette URL devrait afficher le json retourné par cette fonction. Les requêtes 'GET' sont typiquement destinées à demander de l'information au serveur, tandis que les requêtes 'POST' sont destinées à demander au serveur de modifier/changer des informations ou de réaliser des actions. -- `js/yunohost/controllers` contiens les parties javascript, et définit quelles +- `js/yunohost/controllers` contient les parties JavaScript, et définit quelles requêtes faire à l'API pendant le chargement d'une page donnée de l'interface, et comment traiter les données récupérées pour générer la page, en utilisant des templates. - `views` contient les templates des pages de l'interface. Dans le template, - les données venant du javascript peuvent êtres utilisées avec la syntaxe + les données venant du JavaScript peuvent être utilisées avec la syntaxe `{{some-variable}}`, qui sera remplacée pendant la construction de la page. Il est également possible d'avoir des conditions avec la syntaxe d'[handlebars.js](http://handlebarsjs.com) : ```{{#if some-variable}}

du HTML conditionnel ici !

{{/if}}``` - Pour l'internationalisation des messages, utilisez `y18n.t('some-string-code')` - dans le javascript, ou `{{t 'some-string-code'}}` dans le template HTML, et + dans le JavaScript, ou `{{t 'some-string-code'}}` dans le template HTML, et mettez votre message dans `locales/en.json`. Ne modifiez pas de fichiers de locales autres que en.json, la traduction sera faite avec - [weblate](https://translate.yunohost.org/) ! + [Weblate](https://translate.yunohost.org/) ! ##### N'oubliez pas @@ -143,7 +142,7 @@ Il contient essentiellement : (Il faudra retaper le mot de passe administrateur dans l'interface web) - Il faudra peut-être régulièrement forcer le rafraîchissement du cache - navigateur pour propager correctement le javascript et/ou HTML (à chaque fois + navigateur pour propager correctement le JavaScript et/ou HTML (à chaque fois que l'on change quelque chose dans `js` ou `views`, donc). @@ -151,7 +150,7 @@ Il contient essentiellement : - Forkez le dépòt correspondant sur Github, et commitez vos changements dans une nouvelle branche, Il est recommandé de nommer la branche avec la - convention : + convention suivante : - Pour une nouvelle fonctionnalité ou amélioration : `enh-ISSUENUMBER-description-fonctionnalité` - Pour une correction de bug : `fix-REDMINETICKET-description-correctif` - `ISSUENUMBER` est optionnel et correspond au numéro du ticket sur le bug tracker diff --git a/diagnostic_fr.md b/diagnostic_fr.md index f0cd0f34..b2971a70 100644 --- a/diagnostic_fr.md +++ b/diagnostic_fr.md @@ -9,7 +9,7 @@ Dans un navigateur web, essayez d’accéder à votre serveur grâce au nom de d Par exemple : `http://mondomaine.org`
-Si vous avez optez pour un nom de domaine se terminant par .nohost.me ou .noho.st, vous devrez patienter cinq minutes avant que l’adresse soit atteignable. +Si vous avez opté pour un nom de domaine se terminant par .nohost.me ou .noho.st, vous devrez patienter cinq minutes avant que l’adresse soit atteignable.
--- @@ -24,7 +24,7 @@ Si vous avez optez pour un nom de domaine se terminant par .nohost.me ou Cette étape n’est pas nécessaire si vous possédez un nom de domaine en .nohost.me ou un .noho.st -Rendez-vous sur https://www.whatsmydns.net/, entrez votre nom de domaine dans le champ prévu à cet effet et cliquez sur `Search`. Si vous ne voyez pas votre adresse IP, ou s’il y a des croix rouges par endroit, cela signifie que vous avez probablement mal configuré votre [DNS](/dns). +Rendez-vous sur https://www.whatsmydns.net/, entrez votre nom de domaine dans le champ prévu à cet effet et cliquez sur `Search`. Si vous ne voyez pas votre adresse IP, ou s’il y a des croix rouges par endroits, cela signifie que vous avez probablement mal configuré votre [DNS](/dns). --- diff --git a/dns_config.md b/dns_config.md index 8dcee614..d09f84a7 100644 --- a/dns_config.md +++ b/dns_config.md @@ -42,6 +42,7 @@ _xmpp-server._tcp 3600 IN SRV 0 5 5269 your.domain.tld. muc 3600 IN CNAME @ pubsub 3600 IN CNAME @ vjud 3600 IN CNAME @ +xmpp-upload 3600 IN CNAME @ # # Mail (MX, SPF, DKIM and DMARC) diff --git a/dns_config_fr.md b/dns_config_fr.md index 42a50c2b..1d06e77c 100644 --- a/dns_config_fr.md +++ b/dns_config_fr.md @@ -44,6 +44,7 @@ _xmpp-server._tcp 3600 IN SRV 0 5 5269 votre.domaine.tld. muc 3600 IN CNAME @ pubsub 3600 IN CNAME @ vjud 3600 IN CNAME @ +xmpp-upload 3600 IN CNAME @ # # Mail (MX, SPF, DKIM et DMARC) diff --git a/dns_local_network.md b/dns_local_network.md index 67497faf..b5653f4e 100644 --- a/dns_local_network.md +++ b/dns_local_network.md @@ -12,7 +12,7 @@ You may retrieve your server private IP adress through different means: - Using Yunohost administration panel: - Go to "State of the server" > Network + Go to Tools > State of the server > Network - Or using your router or internet box, depending on model. diff --git a/dns_local_network_es.md b/dns_local_network_es.md index 045d4b4d..1226cde4 100644 --- a/dns_local_network_es.md +++ b/dns_local_network_es.md @@ -12,7 +12,7 @@ Puedes descubrir la dirección privada de tu servidor de varias maneras : - Desde la interfaz de administración de tu servidor Yunohost : - en Estado del servidor > Red + en Herramientas > Estado del servidor > Red - O desde tu router o tu caja Internet, dependiendo de su modelo. diff --git a/dns_local_network_fr.md b/dns_local_network_fr.md index 427ae87c..bcea9e28 100644 --- a/dns_local_network_fr.md +++ b/dns_local_network_fr.md @@ -12,7 +12,7 @@ Vous pouvez retrouver l’adresse privée de votre serveur de différentes mani - Depuis l’interface d’administration de votre serveur YunoHost : - dans État du serveur > Réseau + dans Outils > État du serveur > Réseau - Ou depuis votre routeur ou votre box, selon son modèle. diff --git a/dns_resolver.md b/dns_resolver.md deleted file mode 100644 index de33802b..00000000 --- a/dns_resolver.md +++ /dev/null @@ -1,30 +0,0 @@ -# YunoHost DNS Resolver - -+
This page is deprecated / obsolete. Information it contains should be updated (or should be removed).
- -### Presentation -YunoHost provide a DNS service for DNS name resolution. Usually, your server is not configured to use it, it's your ISP DNS. For instance, for the Free ISP with Freebox router the DNS resolver IP is `192.168.0.254`. - -How to known: watch the file `/etc/resolv.conf`. This file is not modifiable because it is rewriten by the DHCP service. A DHCP client is configured, it requests the router to get DNS resolver IPs. -This IPs is provided by your ISP. - -### Configuration -To use YunoHost DNS resolver of your server, modify your DHCP configuration client: remove DNS name server request, and add static IP of your server `127.0.0.1`. - -Edit the file `/etc/dhcp/dhclient.conf`, add the line `supersede` and remove in the line `request` the word `domain-name-servers`: -```bash -supersede domain-name-servers 127.0.0.1, 192.168.0.254; -request subnet-mask, broadcast-address, time-offset, routers, - domain-name, domain-search, host-name, - dhcp6.name-servers, dhcp6.domain-search, - netbios-name-servers, netbios-scope, interface-mtu, - rfc3442-classless-static-routes, ntp-servers; -``` -Apply this modification by rebooting the DNS server: - -```bash -service dnsmasq restart -``` - -(TODO: It's possible to restart a service to take into account the modification -DHCP?-, but didn't work for me). -It's possible to do same modification in all machine in local network by replacing *127.0.0.1* by IP server. diff --git a/dns_resolver_fr.md b/dns_resolver_fr.md deleted file mode 100644 index 8f9060eb..00000000 --- a/dns_resolver_fr.md +++ /dev/null @@ -1,32 +0,0 @@ -# Résolveur DNS de YunoHost - -
Cette page est dépréciée / obsolète. Les informations présentées ont besoin d'être mise à jour (ou doivent être retirée).
- -### Présentation -YunoHost est installé avec un service DNS pour la résolution des noms de domaine. En général, votre serveur n’est pas configuré, c’est celui de votre FAI. -Par exemple pour une Freebox la résolution se fait par l’adresse `192.168.0.254`. - -Comment savoir ? Regarder le contenu du fichier `/etc/resolv.conf`. Ce fichier n’est pas modifiable car il est réécrit par le service DHCP. -Un client DHCP est configuré, celui-ci interroge votre routeur pour les adresses IP de vos serveurs de résolution de DNS. Ces IPs sont fournis par votre FAI. - -### Configuration -Afin d’utiliser le résolveur DNS de votre instance YunoHost, il faut modifier la configuration DHCP pour ne pas faire de requêtes à votre routeur. Il faut donc mettre de façon statique la nouvelle adresse à savoir dans ce cas `127.0.0.1`. - -Éditer le fichier `/etc/dhcp/dhclient.conf`, ajouter une ligne `supersede` et supprimer de la ligne `request` le mot `domain-name-servers` : -```bash -supersede domain-name-servers 127.0.0.1, 192.168.0.254; -request subnet-mask, broadcast-address, time-offset, routers, - domain-name, domain-search, host-name, - dhcp6.name-servers, dhcp6.domain-search, - netbios-name-servers, netbios-scope, interface-mtu, - rfc3442-classless-static-routes, ntp-servers; -``` - -Afin de prendre en compte la modification, redémarrer le serveur DNS : - -```bash -service dnsmasq restart -``` - -(TODO : il doit être possible de reconfigurer à chaud, mais ça n’a pas fonctionné). -Il est possible de faire la même modification sur toutes vos machines du réseau local en remplaçant 127.0.0.1 par l’IP de votre serveur. diff --git a/dns_subdomains_fr.md b/dns_subdomains_fr.md index d2356ea4..132ffe18 100644 --- a/dns_subdomains_fr.md +++ b/dns_subdomains_fr.md @@ -6,7 +6,7 @@ YunoHost permet l’usage de sous-domaine. Il faut avoir un nom de domaine par e ### Configuration chez Gandi -Dans la configuration de son DNS, on aura donc une entrée A avec l’adresse IPv4, une entrée AAAA avec l’adresse IPv6 et ensuite différents CNAME pour le sous-domaines que l’on souhaite créer. +Dans la configuration de son DNS, on aura donc une entrée A avec l’adresse IPv4, une entrée AAAA avec l’adresse IPv6 et ensuite différents CNAME pour les sous-domaines que l’on souhaite créer. Nom Type Valeur ```bash @ A XYZ.XYZ.XYZ.XYZ @@ -20,19 +20,19 @@ permet d’avoir un `agenda.mondomaine.fr`, un `blog.mondomaine.fr` etc… ### Installer une application sur un sous-domaine -Pour installer une application sur un sous-domaine, par exemple `blog.mondomaine.fr`, dans YunoHost, tout ce fait via la partie administration. On ajoute tout d’abord le sous-domaine à la liste des domaines disponibles. La création d’un sous-domaine dans YunoHost créera les fichiers de configuration correspondant pour Nginx (le serveur web de YunoHost). +Pour installer une application sur un sous-domaine, par exemple `blog.mondomaine.fr`, dans YunoHost, tout se fait via la partie administration. On ajoute tout d’abord le sous-domaine à la liste des domaines disponibles. La création d’un sous-domaine dans YunoHost créera les fichiers de configuration correspondants pour Nginx (le serveur web de YunoHost). -Puis dans la partie installation d’une application, on installe l’application de façon traditionnelle en en choisissant ce sous-domaine comme domaine (par exemple `blog.mondomaine.fr`) et en indiquant comme chemin `/` (et non `/wordpress` qui est le chemin par défaut). On a alors un message d’avertissement indiquant qu’on ne pourra plus installer d’applications sur ce sous-domaine. On valide. Ça s’installe. +Puis dans la partie installation d’une application, on installe l’application de façon traditionnelle en choisissant ce sous-domaine comme domaine (par exemple `blog.mondomaine.fr`) et en indiquant comme chemin `/` (et non `/wordpress` qui est le chemin par défaut). On a alors un message d’avertissement indiquant qu’on ne pourra plus installer d’applications sur ce sous-domaine. On valide. Ça s’installe. L’application est alors accessible via `blog.mondomaine.fr` (et non via `mondomaine.fr/wordpress`). ### Déplacer une application sur un sous-domaine ? -Que ce passe-t-il si on a déjà installé l’application ? On veut par exemple passer de `mondomaine.fr/wordpress` à `blog.mondomaine.fr`. +Que se passe-t-il si on a déjà installé l’application ? On veut par exemple passer de `mondomaine.fr/wordpress` à `blog.mondomaine.fr`. Pour l’instant il n’y a pas de façon simple (via l’interface graphique de l’administration de YunoHost) pour déplacer une application sur un sous-domaine. Solution : réinstaller l’application ### Réinstallation de l’application -On sauvegarde ses données (base de données etc. via un script sql par exemple, les fichiers etc.). On désinstalle l’application via l’interface graphique d’administration de YunoHost. Et on la réinstalle en suivant la procédure ci-dessus. +On sauvegarde ses données (base de données etc. via un script SQL par exemple, les fichiers etc.). On désinstalle l’application via l’interface graphique d’administration de YunoHost. Et on la réinstalle en suivant la procédure ci-dessus. diff --git a/doc_markdown_guide.md b/doc_markdown_guide.md new file mode 100644 index 00000000..cb004e8a --- /dev/null +++ b/doc_markdown_guide.md @@ -0,0 +1,252 @@ +# Guide Markdown + +Markdown is a markup language created in 2004, many add-ons developing the possibilities of this language exist. The objective of this guide is to aim for the exhaustiveness of the possibilities of this formatting language within the framework of the YunoHost documentation and not Markdown languages in general. + +Markdown allows text to be formatted using tags, it allows *human* reading of the text; even with formatting. Even if only one notepad is needed there are many markdowns software (Markdown on [framalibre.org (fr)](https://framalibre.org/recherche-par-crit-res?keys=markdown)). It is relatively easy to use. + +## The different levels of titles + +By writing titles as follows: +```markdown +# Level 1 title +## Level 2 title +### Level 3 title +#### Level 4 title +##### Level 5 title +###### Level 6 title +``` + +They appear like this: +# Level 1 title +## Level 2 title +### Level 3 title +#### Level 4 title +##### Level 5 title +###### Level 6 title + +## Formatting in paragraphs + +To type a line break without creating a new paragraph, it is necessary to type **two consecutive spaces**. Otherwise, the text will continue in a row respecting the general constraints of the page style. + +By writing this : + +```markdown +For text in *italic you have to frame it with an asterisk* `*` +To write **bold text by two asterisks** `**` +You can also ~~bar the text~~ by framing it with two tildes `~` +``` + +It reads like this: + +For text in *italic you have to frame it with an asterisk* `*` +To write **bold text by two asterisks** `**` +You can also ~~bar the text~~ by framing it with two tildes `~` + +## Create links + +To create a link to a site outside of the YunoHost documentation: + +```markdown +[Text to display](https://lelien.tld) +``` + +will be displayed as such: +[Text to display](https://lelien.tld) + +It is the same for the documentation pages, except that the link is internal. It refers to the wiki file, without language and file extension (the `_fr.md`) : +```markdown +[Wiki Page](/write_documentation) +``` + +The link will return to the page with the correct language setting if the page exists. +[Wiki page](/write_documentation) + +### Create anchors +An anchor allows you to make a link to a specific point in a page, that's how the indexes at the top of the page work. To create an anchor, you need to insert code at the anchor location in the following form : + +```markdown +Text that will be doesn't even know it has an anchor. +``` + +What's displayed is: +Text that will be doesn't even know it has an anchor. + +It is also possible to return an anchor directly to the title, noting the link in lower case with `-`s instead of spaces. +All that remains is to designate the anchor to the text you want to make interactive: + +```markdown +[My Anchor Returns to Lists](#anchorname) +[My Anchor that refers to the title of the tables](#tables) +``` + +[My Anchor Returns to Lists](#anchorame) +[My Anchor that refers to the title of the tables](#tables) + +## Displaying images + +To display images, the principle is the same as for links, except that a `!` is added before the text to be displayed, which is considered here as the text to be displayed if the image cannot be loaded. A description of the image is appropriate. + +```markdown +![Yunohost Logo](/images/logo.png) +``` +![Yunohost Logo](/images/logo.png) + + +It is possible to make a link with an image, for example : +```markdown +[![Yunohost Logo](/images/logo.png)](/write_documentation) +``` +[![Yunohost Logo](/images/logo.png)](/write_documentation) + +The insert of *text to be displayed if the image cannot be loaded* between the brackets in the image link is not mandatory but strongly recommended. + +## Format a quote + +Quotes are used to highlight a statement made by another person, the wiki itself manages the way it is highlighted. Markdown uses a closing chevron, this symbol: `>`, to announce a quote. Just add it before the quote, as such: + +```markdown +>First level quotation text +>which can be formatted in different lines + +>> And a second quote +>> with double rafters +``` +Will be displayed : + +>First level quotation text +>which can be formatted in different lines + +>> And a second quote +>> with double rafters + +## Lists + +Lists allow to display a series of texts in an easy presentation, this is how indexes such as the [contributing documentation](/contributordoc) page are written. + +### Ordered lists + +The ordered lists can be incremented as much as you wish, it is not necessary to give the right match to the number. It is possible to write down with `1.` and put in three spaces to mark the increment. For a better understanding of the plain text, it may be fine to use the numbers in ascending order to mark the increment, but it is the three consistent `spaces' before the sub-list that will mark the increment. + +```markdown +1. List 1 +1. List 2 +1. list 3 + 1. List 3a + 1. List 3b + 1. List 3b1 + 1. List 3b2 + 1. List 3b3 + 1. List 1 + 1. List 2 + 1. list 3 +1. List 4 +1. List 5 +1. list 6 +``` + +You get: + +1. List 1 +1. List 2 +1. list 3 + 1. List 3a + 1. List 3b + 1. List 3b1 + 1. List 3b2 + 1. List 3b3 + 1. List 1 + 1. List 2 + 1. list 3 +5. List 4 +3. List 5 +4. list 6 + +### Unordered lists + +To create an unordered list, use the symbols `*`, `+` or `*`. This will not change the appearance of the marker in the text output. It is the incrementing of the list that will define the visual. For a better reading of the plain text, it may be good to use the different symbols to mark the increment, but it is the three spaces before the sub-list that will indicate the increment. +As such: +```markdown ++ List 1 ++ List 2 ++ list 3 + - List 3a + - List 3b + * List 3b1 + * List 3b2 + * List 3b3 + + List 1 + + List 2 + + list 3 +- List 4 +* List 5 ++ list 6 +``` + +This will read: ++ List 1 ++ List 2 ++ list 3 + - List 3a + - List 3b + * List 3b1 + * List 3b2 + * List 3b3 + + List 1 + + List 2 + + list 3 +- List 4 +* List 5 ++ list 6 + +## Tables + +To create an array, use the vertical bar `|` and dashes `--`. It is mandatory to add a line of dashes under the first line of the table. There is no constraint in the size of the table. It is possible to format the array with the `:` in the second row of the array, three options are available: + +| Left aligned column | Centered column | Right aligned column | +|:--------------------|:---------------:|---------------------:| +|`:-----` | `:----:` | `-----:` | + +```markdown +| **One table** | One column | One second | As many as you want | +|:-------------:|:----------:|:----------:|:-------------------:| +| | And formatted line | | And bold text | | Or *italic* | +| More lines | |![An image](/images/cd.jpg) | [Or a link](/contributordoc) | +``` +Which would say this: + +| **One table** | One column | One second | As many as you want | +|:-------------:|:----------:|:----------:|:-------------------:| +| | And formatted line | | And bold text | | Or *italic* | +| More lines | |![An image](/images/cd.jpg) | [Or a link](/contributordoc) | + +## Code block + +To display plain text, `blocks of code' can be created using the grave accent `Alt Gr + è` : + +```markdown +Either inline, for example to highlight a key like `Ctrl`. +``` + +or directly as a block. +The only difference is in the amount of bass accents: +At least three low pitched accents at the opening and closing of the block and two low pitched accents that frame the piece of text to be formatted in a line. + +Which will give the rendering: + +Either inline, for example to highlight a key like `Ctrl`. +''' +```markdown +or directly as a block. +The only difference is in the amount of bass accents: +At least three low pitched accents at the opening and closing of the block and two low pitched accents that frame the piece of text to be formatted in a line. +``` +''' + +## Useful links + + + The documentation of the original Markdown language: [daringfireball.net/projects/markdown](https://daringfireball.net/projects/markdown/) + + Markdown Tutorial on [markdowntutorial.com](https://markdowntutorial.com) + +## Going further + +In a more general way, to understand how a text is formatted just inspect the source document with a note application. This does not mean that the YunoHost wiki will be able to exploit it. There are many other possibilities to use markdown syntax, feel free to add missing features. If you've noticed some missing features and/or have questions, please contact us on [the forum](https://forum.yunohost.org) or by direct message on the IRC room: **#yunohost** on [irc.freenode.net](https://irc.freenode.net). diff --git a/doc_markdown_guide_fr.md b/doc_markdown_guide_fr.md new file mode 100644 index 00000000..ded2225d --- /dev/null +++ b/doc_markdown_guide_fr.md @@ -0,0 +1,251 @@ +# Guide Markdown + +Le Markdown est un langage de balisage créé en 2004, de nombreux add-on développant les possibilités de ce langage existent. L'objectif de ce guide est de tendre vers l’exhaustivité des possibilités de ce langage de formatage dans le cadre de la documentation de YunoHost et non des langages Markdown en général. + +Markdown permet de formater du texte à l'aide de balises, il permet une lecture *humaine* du texte ; même avec le formatage. Même si un unique bloc note est nécessaire il existe de nombreux logiciels markdowns (Markdown sur [framalibre.org](https://framalibre.org/recherche-par-crit-res?keys=markdown)). Sa prise en main est relativement facile. + +## Les différents niveaux de titres + +En rédigeant des titres comme suit : +```markdown +# Titre de niveau 1 +## Titre de niveau 2 +### Titre de niveau 3 +#### Titre de niveau 4 +##### Titre de niveau 5 +###### Titre de niveau 6 +``` + +Ils apparaissent comme cela : +# Titre de niveau 1 +## Titre de niveau 2 +### Titre de niveau 3 +#### Titre de niveau 4 +##### Titre de niveau 5 +###### Titre de niveau 6 + +## Formatage dans les paragraphes + +Pour taper un retour à la ligne sans créer de nouveau paragraphe, il est nécessaire de taper **deux espaces consécutifs**.Sans cela, le texte continuera à la suite en respectant les contraintes générales du style de la page. + +En rédigeant ça : + +```markdown +Pour du texte en *italique il faut encadrer par un astérisque* `*` +Pour rédiger du **texte en gras par deux astérisques** `**` +On peut aussi ~~barrer le texte~~ en encadrant avec deux tildes `~` +``` + +On peut lire ça : + +Pour du texte en *italique il faut encadrer par un astérisque* `*` +Pour rédiger du **texte en gras par deux astérisques** `**` +On peut aussi ~~barrer le texte~~ en encadrant avec deux tildes `~` + +## Créer des liens + +Pour créer un lien vers un site hors de la documentation de YunoHost : + +```markdown +[Texte à afficher](https://lelien.tld) +``` + +s'affichera comme tel : +[Texte à afficher](https://lelien.tld) + +C'est identique pour les pages de la documentation, excepté que le lien est interne. Il renvoie au fichier du wiki, sans extension de langue et de fichier (le `_fr.md`) : +```markdown +[Page du wiki](/write_documentation) +``` + +Le lien renverra vers la page avec la bonne configuration de langue si la page existe. +[Page du wiki](/write_documentation) + +### Créer des ancres +Une ancre permet de faire un lien vers un point précis dans une page, c'est comme ça que fonctionnent les index en haut de page. Pour créer une ancre, il faut insérer du code à l'endroit de l'ancre sous la forme suivante : + +```markdown +Du texte qui sera ne sait même pas qu'il a une ancre +``` + +Ce qui s'affiche : +Du texte qui sera ne sait même pas qu'il a une ancre + +Il est aussi possible de directement renvoyer une ancre au titre, en notant le lien en minuscule avec des `-` à la place des espaces. +Il ne reste plus qu'à désigner l'ancre au texte que l'on souhaite rendre interactif : + +```markdown +[Mon ancre qui renvoie vers les listes](#nomdelancre) +[Mon ancre qui renvoie vers le titre des tableaux](#les-tableaux) +``` + +[Mon ancre qui renvoie vers les listes](#nomdelancre) +[Mon ancre qui renvoie vers le titre des tableaux](#les-tableaux) + +## Afficher des images + +Pour afficher des images, le principe est identique aux liens, excepté l'ajout d'un `!` avant le texte à afficher qui est ici considéré comme le texte à afficher en cas d'impossibilité de chargement de l'image. Une description de l'image convient. + +```markdown +![Logo Yunohost](/images/logo.png) +``` +![Logo Yunohost](/images/logo.png) + + +Il est possible de faire un lien avec une image, exemple : +```markdown +[![Logo Yunohost](/images/logo.png)](/write_documentation) +``` +[![Logo Yunohost](/images/logo.png)](/write_documentation) + +L'encart de *texte à afficher en cas d'impossibilité de chargement de l'image* entre les corchets dans le lien de l'image n'est pas obligatoire mais fortement recommandé. + +## Formater une citation + +Les citations permettent de mettre en valeur un propos tenu par une autre personne, le wiki gère lui même la façon dont c'est valorisé. Markdown utilise un chevron fermant, ce symbole : `>`, pour annoncer une citation. Il suffit de les rajouter avant la citation, comme tel : + +```markdown +>Du texte de citation du premier niveau +>qui peut être formaté en différentes lignes + +>> Et une seconde citation +>> avec des doubles chevrons +``` +S'affichera : + +>Du texte de citation du premier niveau +>qui peut être formaté en différentes lignes + +>> Et une seconde citation +>> avec des doubles chevrons + +## Les listes + +Les listes permettent d'afficher une suite de textes dans une présentation facile, c'est ainsi que sont rédiger les index tels que celui de la page de la [documentation contributeur](/contributordoc). + +### Listes ordonnées + +Les listes ordonnées peuvent s'incrémenter autant que vous le désirez, il n'est pas obligé de donner la bonne correspondance au nombre. Il est possible de noter avec des `1.` et installer trois espaces pour marquer l'incrémentation. Pour une meilleure compréhension du texte brut, il peut être bien d'utiliser les chiffres de manières croissantes pour marquer l'incrémentation, mais c'est bien les trois `espaces` conséquents avant la sous-liste qui désigneront l'incrémentation. + +```markdown +1. Liste 1 +1. Liste 2 +1. liste 3 + 1. Liste 3a + 1. Liste 3b + 1. Liste 3b1 + 1. Liste 3b2 + 1. Liste 3b3 + 1. Liste 1 + 1. Liste 2 + 1. liste 3 +1. Liste 4 +1. Liste 5 +1. liste 6 +``` + +On obtient : + +1. Liste 1 +1. Liste 2 +1. liste 3 + 1. Liste 3a + 1. Liste 3b + 1. Liste 3b1 + 1. Liste 3b2 + 1. Liste 3b3 + 1. Liste 1 + 1. Liste 2 + 1. liste 3 +5. Liste 4 +3. Liste 5 +4. liste 6 + +### Listes non ordonnées + +Pour créer une liste non ordonnée, il faut utiliser les symboles `*`, `+` ou `*`. Cela ne changera pas l'apparence du marqueur dans la restitution du texte. C'est l'incrémentation de la liste qui définira le visuel. Pour une meilleure lecture du texte brut, il peut être bien d'utiliser les différents symboles pour marquer l'incrémentation, mais c'est bien les trois espaces avant la sous-liste qui désigneront l'incrémentation. +Comme tel : +```markdown ++ Liste 1 ++ Liste 2 ++ liste 3 + - Liste 3a + - Liste 3b + * Liste 3b1 + * Liste 3b2 + * Liste 3b3 + + Liste 1 + + Liste 2 + + liste 3 +- Liste 4 +* Liste 5 ++ liste 6 +``` + +Ce qui affichera : ++ Liste 1 ++ Liste 2 ++ liste 3 + - Liste 3a + - Liste 3b + * Liste 3b1 + * Liste 3b2 + * Liste 3b3 + + Liste 1 + + Liste 2 + + liste 3 +- Liste 4 +* Liste 5 ++ liste 6 + +## Les tableaux + +Pour créer un tableau, il faut utiliser la barre verticale `|` et les tirets `-`. Il est obligatoire d'ajouter une ligne de tiret sous la première ligne du tableau. Il n'y a aucune contrainte dans la taille de ce dernier. Il est possible de formater le tableau avec les `:` dans la seconde ligne du tableau, trois options s'offrent à vous : + +| Colonne alignée à gauche | Colonne centrée | Colonne alignée à droite | +|:-------------------------|:---------------:|-------------------------:| +|`:-----` | `:----:` | `-----:` | + +```markdown +| **Un tableau** | Une colonne | Une seconde | Autant que l'on veut | +|:--------------:|:-----------:|:-----------:|:--------------------:| +| Une ligne formatée | | Et du **texte en gras** | Ou en *italique* | +| D'autres lignes | |![une image](/images/cd.jpg) | [Ou un lien](/contributordoc) | +``` +Ce qui afficherait ça : + +| **Un tableau** | Une colonne | Une seconde | Autant que l'on veut | +|:--------------:|:-----------:|:-----------:|:--------------------:| +| Une ligne formatée | | Et du **texte en gras** | Ou en *italique* | +| D'autres lignes | |![une image](/images/cd.jpg) | [Ou un lien](/contributordoc) | + +## Bloc de codes + +Pour afficher du texte en brut, des `blocs de codes` peuvent être créer en utilisant l'accent grave `Alt Gr + è` : + +```markdown +Soit inline, par exemple pour mettre en valeur une touche comme `Ctrl` +``` + +ou directement en bloc. +La seule différence est dans la quantité d'accents graves : +Minimum trois accents graves en ouverture et fermeture de bloc et deux accent grave qui encadre le morceau de texte à formater dans une ligne + +Ce qui donnera au rendu : + +Soit inline, par exemple pour mettre en valeur une touche comme `Ctrl` +''' +```markdown +ou directement en bloc. +La seule différence est dans la quantité d'accents graves : +Minimum trois accents graves en ouverture et fermeture de bloc et deux accent grave qui encadre le morceau de texte à formater dans une ligne +``` +''' +## Liens utiles + + + La documentation du langage originel Markdown : [daringfireball.net/projects/markdown (en)](https://daringfireball.net/projects/markdown/) + + Tutoriel Markdown sur [markdowntutorial.com](https://markdowntutorial.com) + +## Aller plus loin + +De manière plus général, pour comprendre comment est formaté un texte il suffit juste d'inspecter le document source avec une application note. Ce n'est pas pour autant que le wiki de YunoHost pourra l'exploiter. Il existe bien d'autres possibilités d'utiliser la syntaxe markdown, n'hésitez pas à ajouter des fonctionnalités manquantes. Si vous avez observé des manques et/ou que vous avez des questions, contactez-nous sur [le forum](https://forum.yunohost.org) ou par message directe sur le salon IRC : **#yunohost** sur [irc.freenode.net](https://irc.freenode.net). diff --git a/doc_use_git.md b/doc_use_git.md new file mode 100644 index 00000000..14323aaf --- /dev/null +++ b/doc_use_git.md @@ -0,0 +1,42 @@ +# Propel a contribution with GitHub + +It is of course possible to contribute directly to the YunoHost documentation, but this is not the most convenient way to do so for both the contributor and the person who will inject your contribution into the documentation. Here is a tutorial to understand and create a contribution to the Yunohost documentation using [Git](https://git-scm.com/) and [github.com](http://github.com/) which is the Git forge service that hosts and stores the YunoHost source code and documentation. + +## Create an account on github.com +To be able to send your contributions via GitHub, you need to have an account on GitHub, to create the account you will need a valid email address that you have access to. GitHub is a powerful tool with many features, the interface can be a little scary at first. +You don't have to give your first and last names, you can use a nickname (when you register `Username`). + +## Fork the YunoHost documentation in your personal repository +To fork the source code allows you to create a new branch of development of a software source code or in this case the source code of the documentation. By creating a new branch, this allows you to modify the code and add your contributions without altering the code of the `master` branch, which is the public release of the documentation. This allows you not to have to write down everything at once, but to do it in several steps. (Especially for contributions that require more time). + +Forking a project on GitHub is extremely simple, just click on the Fork button, this will create a new repository on your GitHub account. +![Screenshot GitHub fork button screenshot](/images/dug_fork.png) +In the title of the new repository, you will see where the repository comes from, in this case `YunoHost/doc`. +![Screenshots title and subtitle of the repository](/images/dug_fork_source.png) + +> **Point of vigilance !** +> If you forge the repository of another contributor than yunohost, you'll get the same files. Except that when you send your changes, they will be sent to the contributor and not to the yunohost repository. The advantage is that it allows you to develop another branch created by the contributor and work with another person on an improvement before submitting it to the main repository. +> It is not possible to have a fork from a contributor's repository and the original repository fork at the same time in your own account. + +## Modify and add your contribution +Once the repository is forked (copied), you will need to create a new development branch within your repository. It is through this branch that you will modify the files and thus propose improvements to the documentation. The fact that it is a new branch will allow you to make a Pull Request, i.e. a request to add your contributions to the `master` branch, which is the main documentation branch. The development rules on GitHub change depending on the developers of each repository, some have a testing branch in which to offer contributions. +More information on what a branch on git-scm.com is: [Branching with Git - What a branch is](https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Ce-qu-est-une-branche). + +## Send your contribution by a Pull Request +Create a Pull Request when you want to share your work with the other contributors and integrate it into the master repository (YunoHost's main repository). When publishing a Pull Request, commonly called PR, contributors will be able to amend, comment, add, correct your contribution before it is fully integrated into the repository. + +## Track your contribution and take into account feedback from contributors +When you've already create a Pull Request (PR), changes to your development branch in the Git repository will automatically be added to the PR. This doesn't require any additional action. You can also include proposed changes from contributors, who, when they audit the code, may find errors or new, better wording. + +## Bringing up mistakes and wishes through issues +YunoHost has a specific Git repository to collect issues: [github.com/YunoHost/issues](https://github.com/YunoHost/issues) +An issue, also called a ticket, is an identified problem or a development wish; in this case for documentation, but it is valid for any software repository. Within the framework of the YunoHost documentation it will be mainly proposed issues for the development of the documentation, the identified problems being easily correctable. + +## Going further with Git and working on his workstation +Using the power of Git to work on your personal computer means you don't have to create a `commit` each time you save modified documentation pages. It also allows you to use tools and software that make it easier to distinguish between tags used in a documentation page. + +- Online resource: [docs.microsoft.com - Setting up a Git repository locally for documentation](https://docs.microsoft.com/fr-fr/contribute/get-started-setup-local) + +## Some resources elsewhere on the net to go further + - [Managing your code with Git and GitHub - openclassrooms.com](https://openclassrooms.com/fr/courses/2342361-gerez-votre-code-avec-git-et-github) + - [Git User Interface - git-scm.com](https://git-scm.com/download/gui/linux) diff --git a/doc_use_git_fr.md b/doc_use_git_fr.md new file mode 100644 index 00000000..c5001956 --- /dev/null +++ b/doc_use_git_fr.md @@ -0,0 +1,43 @@ +# Propulser une contribution avec Git + +Il est bien sûr possible de contribuer directement sur la documentation de YunoHost, mais ce n'est pas la manière la plus pratique de le faire tant pour le/la contributeur·trice que pour la personne qui va injecter votre contribution dans la documentation. Voici un tutoriel pour comprendre et créer une contribution à la documentation de Yunohost en utilisant l'outil [Git (en)](https://git-scm.com/) et [github.com](http://github.com/) qui est le service de forge Git qui héberge et stocke le code source de YunoHost ainsi que sa documentation. + +## Création d'un compte sur github.com +Pour pouvoir envoyer vos contributions via GitHub, il est nécessaire avoir un compte sur GitHub, pour créer le compte vous aurez besoin d'une adresse e-mail valide à laquelle vous avez accès. GitHub est un outil puissant qui propose de nombreuses fonctionnalités, l'interface peut être un peu effrayant au début. +Vous n'êtes pas obligé·ée de donner vos noms et prénoms, vous pouvez utiliser un pseudonyme (lors de l'inscription `Username`). + + +## Forker la documentation de YunoHost dans votre dépôt personel +Forker le code source permet de créer une nouvelle branche de développement d'un code source de logiciel ou dans le cas présent, le code source de la documentation. En créant une nouvelle branche, cela vous permet de modifier le code et d'ajouter vos contributions sans altérer le code de la branche `master` qui est le rendu public de la documentation. Ce qui vous permet de ne pas devoir tout marquer mais le faire en plusieurs étapes. (Notamment pour les contributions demandant plus de temps de travail). + +Forker un projet sur GitHub est extrêmement simple, il suffit ce cliquer sur le bouton Fork, cela créera un nouveau dépôt sur votre espace de GitHub. +![Capture d'écran bouton fork GitHub](/images/dug_fork.png) +Dans le titre du nouveau dépôt, vous verrez de quelle provenance vient le dépôt, dans le cas présent `YunoHost/doc` +![Capture d'écran titre et sous-titre du dépot](/images/dug_fork_source.png) + +> **Point de vigilance !** +> Si vous forkez le dépôt d'un autre contributeur que yunohost, vous aurez les mêmes fichiers. Sauf que quand vous enverrez vos modifications, elles seront envoyées au contributeur et non au dépôt yunohost. L'avantage est que ça vous permet de développer une autre branche créee par le contributeur et ainsi travailler avec une autre personne à une amélioration avant proposition au dépôt principal. +> Il n'est pas possible d'avoir un fork du dépot d'un contributeur et le fork dépôt d'origine au même moment dans votre propre dépôt. + +## Modifier et ajouter votre contribution +Une fois le dépôt forker (copié), il faudra créer une nouvelle branche de développement au sein de votre dépôt. C'est à travers cette branche que vous allez modifier les fichiers et ainsi proposer des améliorations de la documentation. Le fait que ce soit une nouvelle branche vous permettra par la suite de faire une Pull Request, c'est à dire une demande d'ajout de vos contributions au sein de la branche `master` qui est la branche principale de la documentation. Les règles de développement sur GitHub change selon les développeurs de chaque dépôt, certains ont une branche testing dans laquelle il faut proposer les contributions. +Plus d'informations sur qu'est une branche sur git-scm.com : [Les branches avec Git - Ce qu'est une branche](https://git-scm.com/book/fr/v1/Les-branches-avec-Git-Ce-qu-est-une-branche). + +## Envoyer votre contribution par une Pull Request +Faire une Pull Request correspond au moment ou vous souahitez partager votre travaille avec le reste des contributeurs⋅trices et l'intégrer au dépot master (dépôt principale de Yunohost). Lors de la publication d'un Pull Request, couramment nommé PR, les contributeurs⋅trices pourront amender, commenter, ajouter, corriger votre contribution avant intégration complète au dépot. + +## Suivre votre contribution et prendre en compte les retours des contributeurs·trices +Lorsque vous avez déjà fait une PR (Pull Request), les modifications de votre branche de développement sur le dépôt Git se rajouteront automatiquement à la PR. Cela ne nécessite aucune action supplémentaire. Vous pouvez aussi intégrer les propositions de modifications de contributeurs, qui lorsqu'ils/elles auditeront le code, peuvent trouver des erreurs ou de nouvelles formulations plus adaptées. + +## Faire remonter des erreurs et des souhaits par des issues +YunoHost dispose d'un dépôt Git spécifique pour le recueil des issues : [github.com/YunoHost/issues](https://github.com/YunoHost/issues) +Une issue aussi appelé ticket, est un problème identifié ou alors un souhait de développement ; dans le cas présent pour la documentation, mais c'est valable pour tout dépôt logiciel. Dans le cadre de la documentation de YunoHost il sera surtout proposé des issues pour le développement de la documentation, les problèmes identifiés étant facilement corrigeable. + +## Aller plus loin avec Git et travailler sur son poste de travail +Utiliser la puissance de Git et ainsi travailler sur son ordinateur personnel, permet entre autres de ne pas avoir à créer de `commit` à chaque enregistrement intermédiaire des pages de documentations modifiées. Cela permet aussi d'utiliser des outils et logiciels qui permettent une distinction plus facile des codes utilisés dans une page de documentation. + +- Ressource en ligne : [docs.microsoft.com - Configurer un référentiel Git localement pour la documentation](https://docs.microsoft.com/fr-fr/contribute/get-started-setup-local) + +## Quelques ressources ailleurs sur le net pour aller plus loin + - [Gérer son code avec Git et GitHub - openclassrooms.com](https://openclassrooms.com/fr/courses/2342361-gerez-votre-code-avec-git-et-github) + - [Interface utilisateurs·trices de Git - git-scm.com](https://git-scm.com/download/gui/linux) diff --git a/doc_writing_guide.md b/doc_writing_guide.md new file mode 100644 index 00000000..8ebd0d08 --- /dev/null +++ b/doc_writing_guide.md @@ -0,0 +1,36 @@ +# Guide to writing application documentation + +## User documentation pages / administrateurs⋅trices + +Add a one-click install button (such as https://yunohost.org/#/app_piwigo_fr) and a button on the application integration level. + +Classification of available applications by tags (genre, Git, association management, e-mails, etc). + +## Some typical and general uses (writing framework) + + + When a link points to a page that is not in the language of the original page, it is customary to add `(en)` (for a link that points to a page in English). + + rename the images in the following order:`description_application.ext`. + +### General frame application documentation + + 1. Logo (dimension 80 pixels high) + level 1 title. + 1. One-click install button, Integration level for each type of processor. + 1. An index at the top of the documentation with cross-references to all the chapters of the documentation. + 1. A general presentation of the application and its function. + 2. A configuration part of the application. + 1. An administration part of the application. + 1. A part on limitations related to YunoHost. + 1. A part on desktop clients (if any). A link to different third-party applications if there are several (possible link to the applications catalgue [framalibre.org](https://framalibre.org)) or a link to the page about desktop applications if official applications are provided. + 1. A part with: + - the link to the official site + - the link to the documentation + - Links to the YunoHost package and issues + +Screen for writing documentation pages: [here](/app_writing_guide) + +## Roadmap + +1. Document applications. + 1. Document applications at work (marked: work) level 8/7/6. + 1. Translate the documentation page at least into French and English. + 1. Do a PR on the application repository diff --git a/doc_writing_guide_fr.md b/doc_writing_guide_fr.md new file mode 100644 index 00000000..d210baf6 --- /dev/null +++ b/doc_writing_guide_fr.md @@ -0,0 +1,36 @@ +# Guide de rédaction de la documentation des applications + +## Pages de documentations utilisateurs.trices / administrateurs⋅trices + +Ajouter un bouton installer en un clique (comme par exemple : https://yunohost.org/#/app_piwigo_fr) et un bouton sur le niveau d'intégration de l'application. + +Classement des applications disponibles par tags (genre, Git, gestion associations, courriels, etc). + +## Quelques usages types et d'ordres général (trame de rédaction) + + + Lorsqu'un lien renvoi vers une page qui n'est pas dans la langue de la page d'origine, il est d'usage d'ajouter `(en)`(Pour un lien qui pointe vers une page en anglais). + + renommer les images dans l'ordre suivant :`nomapplication_descriptif.ext` + +### Trame général documentation applications + + 1. Logo (dimension 80 pixels de hauteurs) + titre de niveau 1. + 1. Bouton installer en un clique, Niveau d'intégration pour chaque type de processeur. + 1. Un index en tête de documentations avec renvois vers l'ensemble des chapitres de la documentation. + 1. Une présentation général de l'application et de sa fonction. + 2. UNe partie configuration de l'application. + 1. Une partie administration de l'application. + 1. Une partie sur les limitation liés à YunoHost. + 1. Une partie sur les client desktop (si il en existe). Lien vers différentes applications tierces si il en existe plusieurs (lien possible avec le catalgue d'applications [framalibre.org](https://framalibre.org)) ou un lien vers la page concernant les applications desktop si des applications officiels sont fournis. + 1. Une partie avec : + - le lien vers le site officiel + - le lien vers la documentation + - Les liens vers le package de YunoHost et issues + +Trame pour la rédaction des pages de documentations : [ici](/app_writing_guide) + +## Feuille de route + +1. Documenter les applications. + 1. Documenter les applications au travail (marqué : work) niveau 8/7/6. + 1. Traduire la page de documentation à minima en français et en anglais. + 1. Faire une PR sur le dépôt de l'application concerné vers la page de documentation. diff --git a/email_fr.md b/email_fr.md index 3d259db2..eb5d0c81 100644 --- a/email_fr.md +++ b/email_fr.md @@ -47,4 +47,4 @@ Pour aller plus loin -------------------- - Il existe une page de documentation pour [migrer ses emails d'un fournisseur de messagerie vers une instance YunoHost](email_migration). -- Pour approfondir votre compréhension du courriel et de ses protocoles, voici une [conférence éclairante](https://www.iletaitunefoisinternet.fr/post/7-email-sonntag/)(en français). +- Pour approfondir votre compréhension du courriel et de ses protocoles, voici une [conférence éclairante](https://www.octopuce.fr/conference-lemail-vaste-sujet-par-benjamin-sonntag/)(en français). diff --git a/fail2ban.md b/fail2ban.md index aa6acf5b..8448f04c 100644 --- a/fail2ban.md +++ b/fail2ban.md @@ -1,17 +1,17 @@ # Fail2ban -Fail2Ban is an intrusion prevention software that protects computer servers from brute-force attacks. It monitors some log files and will ban IP addresses that shows brute-force-like behavior. +**Fail2Ban** is an intrusion prevention software that protects computer servers against brute-force attacks. It monitors certain logs and will ban IP addresses that show brute-force-like behavior. -In particular, Fail2ban monitors SSH connection attempts. After 5 failed login attempts on SSH, Fail2ban will ban the corresponding IP address from connecting through SSH for 10 minutes. If this IP is found to recidive several times, it might get ban for a week. +In particular, **Fail2ban** monitors `SSH` connection attempts. After 5 failed SSH connection attempts, Fail2ban will ban the IP address from connecting via SSH for 10 minutes. If this address fails several times, it might get banned for a week. ## Unban an IP -To unban an IP from fail2ban, you first need to access your server by some mean (e.g. from another IP by the one being banned). +To unblock an IP address, you must first access your server by some means (for example from another IP or from another internet connection than the banned one). -Then look at fail2ban's log to identify in which jail the IP was put : +Then, look at the **fail2ban's log** to identify in which `jail` the IP has been banned: ```bash -$ tail /var/log/fail2ban.log +sudo tail /var/log/fail2ban.log 2019-01-07 16:24:47 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:49 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:51 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 @@ -21,12 +21,45 @@ $ tail /var/log/fail2ban.log 2019-01-07 16:24:57 fail2ban.filter [1837]: NOTICE [recidive] Ban 11.22.33.44 ``` -Here, the IP `11.22.33.44` was banned in the `sshd` and `recidive` jails. +Here, the `11.22.33.44` IP has been banned in the `sshd` and `recidive` jails. -Then unban the IP with the following commands : +Then deban the IP address with the following commands: ```bash -$ fail2ban-client set sshd unbanip 11.22.33.44 -$ fail2ban-client set recidive unbanip 11.22.33.44 +sudo fail2ban-client set sshd unbanip 11.22.33.44 +sudo fail2ban-client set recidive unbanip 11.22.33.44 ``` +## Whitelist an IP + +If you don't want a "legitimate" IP address to be blocked by **YunoHost** anymore, then you have to fill it in the whitelist of the `jail` configuration file. + +When updating the **Fail2ban** software, the original `/etc/fail2ban/jail.conf` file is overwritten. So it is on a new dedicated file that we will store the changes. They will thus be preserved over time. + +1. Start by creating the new jail configuration file which will be called `yunohost-whitelist.conf`: + + ```bash + sudo touch /etc/fail2ban/jail.d/yunohost-whitelist.conf + ``` + +2. Edit this new file with your favorite editor: + + ```bash + sudo nano /etc/fail2ban/jail.d/yunohost-whitelist.conf + ``` + +3. Paste the following content into the file and adapt the IP address `XXX.XXX.XXX.XXX` : + + ```bash + [DEFAULT] + + ignoreip = 127.0.0.1/8 XXX.XXX.XXX.XXX #<= the IP address (you can put more than one, separated by a space) that you want to whitelist + ``` + +4. Save the file and reload the fail2ban configuration: + + ```bash + sudo fail2ban-client reload + ``` + +Congratulations, no more risks of banning yourself from your own YunoHost server! diff --git a/fail2ban_fr.md b/fail2ban_fr.md index cac68680..acb521a5 100644 --- a/fail2ban_fr.md +++ b/fail2ban_fr.md @@ -1,17 +1,17 @@ # Fail2ban -Fail2Ban est un logiciel de prévention des intrusions qui protège les serveurs informatiques contre les attaques de brute-force. Il surveille certains journaux et bannira les adresses IP qui montrent un comportement de brute-forcing. +**Fail2Ban** est un logiciel de prévention des intrusions qui protège les serveurs informatiques contre les attaques de brute-force. Il surveille certains journaux et bannira les adresses IP qui montrent un comportement de brute-forcing. -En particulier, Fail2ban surveille les tentatives de connexion SSH. Après 5 tentatives de connexion échouées sur SSH, Fail2ban banniera l'IP de se connecter via SSH pendant 10 minutes. Si cette adresse récidive plusieurs fois, elle peut être bannie pendant une semaine. +En particulier, **Fail2ban** surveille les tentatives de connexion `SSH`. Après 5 tentatives de connexion échouées sur SSH, Fail2ban banniera l'adresse IP de se connecter via SSH pendant 10 minutes. Si cette adresse récidive plusieurs fois, elle peut être bannie pendant une semaine. ## Débannir une IP -Pour débloquer une IP de fail2ban, vous devez d'abord accéder à votre serveur par un moyen quelconque (par exemple à partir d'une autre IP que celle bannie). +Pour débloquer une addresse IP, vous devez d'abord accéder à votre serveur par un moyen quelconque (par exemple à partir d'une autre adresse IP ou d'une autre connexion internet que celle bannie). -Ensuite, regardez le journal de fail2ban pour identifier dans quelle 'prison' (jail) l'IP a été bannie : +Ensuite, regardez le **journal de fail2ban** pour identifier dans quelle `prison` ou `jail` l'adresse IP a été bannie : ```bash -$ tail /var/log/fail2ban.log +sudo tail /var/log/fail2ban.log 2019-01-07 16:24:47 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:49 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 2019-01-07 16:24:51 fail2ban.filter [1837]: INFO [sshd] Found 11.22.33.44 @@ -23,10 +23,43 @@ $ tail /var/log/fail2ban.log Ici, l'IP `11.22.33.44` a été bannie dans les jails `sshd` et `recidive`. -Puis débanissez l'IP avec les commandes suivantes : +Puis débanissez l'adresse IP avec les commandes suivantes : ```bash -$ fail2ban-client set sshd unbanip 11.22.33.44 -$ fail2ban-client set recidive unbanip 11.22.33.44 +sudo fail2ban-client set sshd unbanip 11.22.33.44 +sudo fail2ban-client set recidive unbanip 11.22.33.44 ``` +## Passer une IP en liste blanche / whitelist + +Si vous ne voulez plus qu'une adresse IP "légitime" soit bloquée par **YunoHost**, alors il faut la renseigner dans la liste blanche ou whitelist du fichier de configuration de la `prison`. + +Lors d'une mise à jour du logiciel **Fail2ban**, le fichier d'origine `/etc/fail2ban/jail.conf` est écrasé. C'est donc dans un nouveau fichier que nous allons stocker les modifications. Elles seront ainsi conservées dans le temps. + +1. Commencez par créer le nouveau fichier de configuration des prisons qui s’appelera `yunohost-whitelist.conf` : + + ```bash + sudo touch /etc/fail2ban/jail.d/yunohost-whitelist.conf + ``` + +2. Éditez ce nouveau fichier avec votre éditeur préféré : + + ```bash + sudo nano /etc/fail2ban/jail.d/yunohost-whitelist.conf + ``` + +3. Coller le contenu suivant dans le fichier et adapter l'adresse IP `XXX.XXX.XXX.XXX` : + + ```bash + [DEFAULT] + + ignoreip = 127.0.0.1/8 XXX.XXX.XXX.XXX #<= l'adresse IP (on peut en mettre plusieurs, séparées par un espace) que vous voulez passer en liste blanche / whitelist + ``` + +4. Sauvegardez le fichier et rechargez la configuration de fail2ban : + + ```bash + sudo fail2ban-client reload + ``` + +Félicitations, plus de risques de se bannir de son propre serveur YunoHost! diff --git a/faq_fr.md b/faq_fr.md index 7fe65a1b..5b9d49ca 100644 --- a/faq_fr.md +++ b/faq_fr.md @@ -28,10 +28,10 @@ YunoHost peut être appelé une distribution ou un système d’exploitation, ma dans les faits, c’est une « simple » sur-couche à Debian, qui gère les manipulations pénibles à votre place. -Par exemple, pour installer un Wordpress à la main, il vous faudrait taper +Par exemple, pour installer un WordPress à la main, il vous faudrait taper toute une série de commandes pour créer des utilisateurs, mettre en place un -serveur web, mettre en place un serveur SQL, télécharger l’archive de Wordpress, -la décompresser, configurer le serveur web, configurer la base de données SQL, et finalement configurer Wordpress. YunoHost gère toute cette partie technique et « tape les commandes à votre place », pour que vous puissiez vous concentrer sur ce qui compte vraiment. +serveur web, mettre en place un serveur SQL, télécharger l’archive de WordPress, +la décompresser, configurer le serveur web, configurer la base de données SQL, et finalement configurer WordPress. YunoHost gère toute cette partie technique et « tape les commandes à votre place », pour que vous puissiez vous concentrer sur ce qui compte vraiment. Plus d’informations sur [cette page](whatsyunohost) ! @@ -54,9 +54,7 @@ Pour des raisons techniques, le [SSO](https://github.com/YunoHost/SSOwat/) ne pe #### Quel est le modèle économique de YunoHost ? -À l’heure actuelle, YunoHost est maintenu uniquement par une équipe de bénévoles -travaillant pendant leur temps libre. Il n’y a pas d’argent impliqué dans le -projet (hormis quelques frais de serveurs et stickers :P). +À l’heure actuelle, YunoHost est maintenu uniquement par une équipe de bénévoles travaillant pendant leur temps libre. Il n’y a pas d’argent impliqué dans le projet (hormis quelques frais de serveurs et stickers :P). Étant donné que certains contributeurs sont très engagés dans ce projet, nous réfléchissons à un moyen de pérenniser le projet. @@ -76,7 +74,7 @@ Si vous le pouvez, vous pouvez aussi faire des contributions en nature (une part Il existe [plusieurs façons de contribuer](contribute) :). -N’hésitez pas à venir nous parler de vos idées! +N’hésitez pas à venir nous parler de vos idées ! Une idée répandue parmi les nouveaux contributeurs aux logiciels libres est de ne pas être « assez compétent ». En pratique, croyez-le, personne n’est @@ -91,8 +89,7 @@ pouvez, c’est déjà trop cool ! Il est décrit dans [ce document](project_organization) :). - -#### Pouvez-vous porter YunoHost sur [ma distro préféré] ? +#### Pouvez-vous porter YunoHost sur [ma distro préférée] ? Réponse courte : non. L’équipe n’a pas l’énergie et ce n’est pas pertinent pour le but recherché par YunoHost. @@ -114,9 +111,9 @@ Réponse moyenne : Par le passé, les apps étaient gérées via des .deb. C’ Longue réponse
-

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

+

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

-

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

+

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

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

diff --git a/groups_and_permissions.md b/groups_and_permissions.md index 752b2698..97d7e35c 100644 --- a/groups_and_permissions.md +++ b/groups_and_permissions.md @@ -1,7 +1,7 @@ User groups and permissions =========================== -You can access the group and permissions management interface from the webadmin +You can access the *groups and permissions* management interface from the webadmin by going into the 'Users' section and clicking the corresponding button: ![](./images/button_to_go_to_permission_interface.png) @@ -9,15 +9,27 @@ by going into the 'Users' section and clicking the corresponding button: Managing groups --------------- -The group mechanism can be used to define group of users which then can be used to restrict permissions for applications and other services such as mail or xmpp. Note that it is *not* mandatory to create a group to do so : you can also restrict access to an app or service to just a specific list of user. +The group mechanism can be used to define groups of users which then can be used to restrict permissions for applications and other services (such as mail or xmpp). Note that it is *not* mandatory to create a group to do so: you can also restrict access to an app or service on a user-per-user basis. -Using groups is however useful for semantic, for example if you host multiple group of friends, association or enterprise on your server, you might want to create groups like `association1` and `association2` and add members of each association to the relevant group. +Using groups is however useful for semantics, for example if you host multiple groups of friends, associations or businesses on your server, you might want to create groups like `association1` and `association2` and add members of each association to the relevant group. + +### Default groups + +By default, two special groups are created: +- `all_users`, that contain all users registered on YunoHost, +- `visitors`, that applies to people viewing the server while not logged in. + +The content of those groups cannot be changed, only the permissions given to them. ### List existing groups -To list the currently existing groups : +The existing groups are listed at the top of the *groups and permissions* page. -```bash +![](./images/groups_default-groups.png) + +To list the currently existing groups in CLI : + +```shell $ yunohost user group list groups: all_users: @@ -28,19 +40,32 @@ groups: - delphine ``` -By default, a special group called `all_users` exists and contain all users registered on YunoHost. This group can not be edited. ### Creating a new group -To create a new group called `yolo_crew` +To create a new group, simply click on the "New Group" button at the top of the page. You may only choose a name formed with letters (uper- and lowercase) and spaces. The group is created empty and without any permission. -```bash +![](./images/groups_button-new-group.png) + +In CLI, to create a new group called `yolo_crew` + +```shell $ yunohost user group create yolo_crew ``` -Let's add Charlie and Delphine to this group: +### Updating a group -```bash +Let's add a first to this group: in the group panel, click the button "add a user" and scroll to the desired user, then click on it. + +![](./images/groups_button-add-user.png) + +To remove a user, click on the cross next to their username, in the group panel. + +![](./images/groups_button-remove-user.png) + +In CLI, use the following command to add `charlie` and `delphine`to the `yolo_crew` group: + +```shell $ yunohost user group update yolo_crew --add charlie delphine ``` @@ -48,7 +73,7 @@ $ yunohost user group update yolo_crew --add charlie delphine Now in the group list we should see : -```bash +```shell $ yunohost user group list groups: all_users: @@ -65,22 +90,30 @@ groups: ### Deleting groups -To delete the group `yolo_crew`, you may run +To delete a group, click on the red cross on the top right of the group panel. You will be asked for confirmation. -```bash +![](./images/groups_button-delete-group.png) + +To delete the group `yolo_crew` in CLI, you may run + +```shell $ yunohost user group delete yolo_crew ``` Managing permissions -------------------- -The permission mechanism allow to restrict access to services (for example mail, xmpp, ...) and apps, or even specific part of the apps (for example the administration interface of wordpress). +The permission mechanism allow to restrict access to services (for example mail, xmpp, ...) and apps, or even specific parts of the apps (for example the administration interface of wordpress). ### List permissions -To list permissions and corresponding accesses: +The groups page lists the permissions given to each group, including the special groups `all_users` and `visitors`. -```bash +![](./images/groups_default-with-permissions.png) + +To list permissions and corresponding accesses in CLI: + +```shell $ yunohost user permission list permissions: mail.main: @@ -93,27 +126,35 @@ permissions: allowed: all_users ``` -Here, we find that all registered users can use mails, xmpp, and access the wordpress blog. However, nobody can access the wordpress admin interface. +Here, we find that all registered users can use email, xmpp, and access the wordpress blog. However, nobody can access the wordpress admin interface. More details can be displayed by adding the `--full` option which will display the list of users corresponding to groups allowed, as well as urls associated to a permission (relevant for web apps). ### Add accesses to group or users -To allow a group to access the wordpress admin interface: +To add a permission to a group, simply click the "+" button in the group panel, scroll to the desired permission, then click on it. -```bash +![](./images/groups_add-permission-group.png) + +To allow a group to access the wordpress admin interface in CLI: + +```shell $ yunohost user permission update wordpress.admin --add yolo_crew ``` -Note that you can also allow a single user: +Note that you can also allow a single user, by using the specific panel at the bottom of the page. -```bash +![](./images/groups_add-permission-user.png) + +or in CLI: + +```shell $ yunohost user permission update wordpress.admin --add alice ``` And now we may see that both the YoloCrew and Alice have access to the wordpress admin interface : -```bash +```shell $ yunohost user permission list [...] wordpress.admin: @@ -123,26 +164,29 @@ $ yunohost user permission list [...] ``` -Note that, for example, if we want to restrict permission for email so that only Bob is allowed to email, we should also remove `all_users` from the permission : +Note that, for example, if we want to restrict permission for email so that only Bob is allowed to email, we should also remove `all_users` from the permission, by deleting it from the `all_users` group panel, or in CLI : -```bash +```shell $ yunohost user permission update mail --remove all_users --add bob ``` +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 ------------------------ 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 groups `visitors`: +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`: -```bash +```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: -```bash +```shell ynh_permission_create --permission "admin" --url "/admin" --allowed "$admin_user" ``` @@ -150,7 +194,7 @@ You don't need to take care of removing permissions or backing up/restoring them ### 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 the application scripts! +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 ; @@ -207,7 +251,7 @@ 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 add or remove from this permission: +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`: @@ -280,6 +324,6 @@ fi Don't forget to replace `__APP__` during the install/upgrade script. -Here 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) +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 questions, please contact someone from the apps-group. +If you have any question, please contact someone from the apps-group. diff --git a/groups_and_permissions_fr.md b/groups_and_permissions_fr.md new file mode 100644 index 00000000..7f3a2af7 --- /dev/null +++ b/groups_and_permissions_fr.md @@ -0,0 +1,176 @@ +Groupes et permissions +=========================== + +Vous pouvez accéder à l'interface de gestion des *groupes et des permissions* depuis la webadmin +en allant dans la section "Utilisateurs" et en cliquant sur le bouton correspondant : + +![](./images/button_to_go_to_permission_interface_fr.png) + +Gestion des groupes +--------------- +Le mécanisme de groupe peut être utilisé pour définir des groupes d'utilisateurs qui peuvent ensuite être utilisés pour restreindre les autorisations pour les applications et autres services (tels que l'email ou xmpp). Notez qu'il n'est *pas* obligatoire de créer un groupe pour ce faire : vous pouvez également restreindre l'accès à une application ou à un service de manière individuelle. + +L'utilisation de groupes est cependant utile pour la sémantique, par exemple si vous hébergez plusieurs groupes d'amis, des associations ou des entreprises sur votre serveur, vous pouvez créer des groupes comme "association1" et "association2" et ajouter les membres de chaque association au groupe concerné. + + +### Groupes par défaut +Par défaut, deux groupes spéciaux sont créés : +- `all_users`, qui contient tous les utilisateurs enregistrés sur YunoHost, +- `visitors`, c'est-à-dire les personnes qui consultent le serveur sans être connectées. + +Vous ne pouvez pas changer le contenu de ces groupes, seulement les permissions qui leur sont accordées. + +### Lister les groupes existants +Les groupes existants sont listés en haut de la page *groupes et autorisations*. + +![](./images/groups_default-groups.png) + +Pour obtenir la liste des groupes existants en CLI : + + +```shell +$ yunohost user group list +groups: + all_users: + members: + - alice + - bob + - charlie + - delphine +``` + + +### Créer un nouveau groupe +Pour créer un nouveau groupe, il suffit de cliquer sur le bouton "Nouveau groupe" en haut de la page. Vous ne pouvez choisir qu'un nom formé de lettres (majuscules et minuscules) et d'espaces. Le groupe est créé vide et sans aucune permissions. + +![](./images/groups_button-new-group.png) + +Dans la CLI, pour créer un nouveau groupe appelé `yolo_crew`, il faut utiliser + +```shell +$ yunohost user group create yolo_crew +``` + +### Mettre à jour un groupe +Ajoutons un premier utilisateur à ce groupe : dans le panneau du groupe, cliquez sur le bouton "ajouter un utilisateur" et faites défiler jusqu'à l'utilisateur souhaité, puis cliquez dessus. + +![](./images/groups_button-add-user.png) + +Pour supprimer un utilisateur, cliquez sur la croix à côté de son nom d'utilisateur, dans le panneau du groupe. + +![](./images/groups_button-remove-user.png) + +En CLI, utilisez la commande suivante pour ajouter `charlie` et `delphine` au groupe `yolo_crew` : + +```shell +$ yunohost user group update yolo_crew --add charlie delphine +``` + +(De même, `--remove` peut être utilisé pour retirer des membres d'un groupe) + +Dans la liste des groupes, nous devrions voir : + +```shell +$ yunohost user group list +groups: + all_users: + members: + - alice + - bob + - charlie + - delphine + yolo_crew: + members: + - charlie + - delphine +``` + +### Supprimer un groupe + +Pour supprimer un groupe, cliquez sur la croix rouge en haut à droite du panneau du groupes. Une confirmation vous sera demandée. + +![](./images/groups_button-delete-group.png) + +Pour supprimer le groupe `yolo_crew` dans CLI, vous pouvez exécuter + +```shell +$ yunohost user group delete yolo_crew +``` + +Gestion des permissions +-------------------- + +Le mécanisme de permissions permet de restreindre l'accès aux services (par exemple mail, xmpp, ...) et aux applications, ou même à des parties spécifiques des applications (par exemple l'interface d'administration de wordpress). + +### Liste des permissions + +La page des groupes liste les permissions données à chaque groupe, y compris les groupes spéciaux `all_users` et `visitors`. + +![](./images/groups_default-with-permissions.png) + +Pour répertorier les permissions et les accès correspondants en CLI : +```shell +$ yunohost user permission list +permissions: + mail.main: + allowed: all_users + wordpress.admin: + allowed: + wordpress.main: + allowed: all_users + xmpp.main: + allowed: all_users +``` +Ici, nous constatons que tous les utilisateurs enregistrés peuvent utiliser le courrier électronique, xmpp, et accéder au blog wordpress. Cependant, personne ne peut accéder à l'interface d'administration de wordpress. + +Plus de détails peuvent être affichés en ajoutant l'option `--full` qui affichera la liste des utilisateurs correspondant aux groupes autorisés, ainsi que les urls associées à une permission (pertinent pour les applications web). + +### Ajouter des permissions à un groupe ou un utilisateur + +Pour ajouter une permission à un groupe, il suffit de cliquer sur le bouton "+" dans le panneau du groupe, de faire défiler jusqu'à la permission souhaitée, puis de cliquer dessus. + +![](./images/groups_add-permission-group.png) + +Pour permettre à un groupe d'accéder à l'interface d'administration de wordpress via la CLI : + +```shell +$ yunohost user permission update wordpress.admin --add yolo_crew +``` + +Notez que vous pouvez également autoriser un seul utilisateur, en utilisant le panneau spécifique en bas de la page. + +![](./images/groups_add-permission-user.png) + +ou en CLI : + +```shell +$ yunohost user permission update wordpress.admin --add alice +``` + +Et maintenant, nous pouvons voir que YoloCrew et Alice ont tous deux accès à l'interface d'administration de Wordpress : + +```shell +$ yunohost user permission list + [...] + wordpress.admin: + allowed: + - yolo_crew + - alice + [...] +``` + +Notez que, par exemple, si nous voulons restreindre la permission pour le courrier électronique +afin que seul Bob soit autorisé à envoyer des courriels, nous devons également supprimer `all_users` +de la permission, en la supprimant du panneau de groupe `all_users`, ou en CLI : + +```shell +$ yunohost user permission update mail --remove all_users --add bob +``` + +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) + +Notes pour les packageurs d'applications +------------------------ + +[Voir la version anglaise de cette page](groups_and_permissions). diff --git a/hardware_de.md b/hardware_de.md new file mode 100644 index 00000000..effdc0e1 --- /dev/null +++ b/hardware_de.md @@ -0,0 +1,14 @@ +# Hardware + +YunoHost kann auf folgender Hardware installiert werden: +- ARM Boards (Raspberry Pi, Olinuxino LIME1 & 2, Orange Pi, etc...) ; +- 'Alte' Desktop Computer oder Laptops/Notebooks ; +- Remote servers, auch bekannt als Virtual Private Servers (VPS). + +Entsprechende Installationsanleitungen finden Sie auf [dieser Seite](/install). + +### Minimale Voraussetzungen + +* 500 MHz CPU +* 512 MB RAM (empfohlen : 1 GB um alle Apps und Programme schnell ausführen zu können) +* 8 GB Speicher/HDD (empfohlen : 32 GB bei Nutzung als Mail oder Dokumentenserver) diff --git a/hardware_fr.md b/hardware_fr.md index 93b7ebe8..b5e721b9 100644 --- a/hardware_fr.md +++ b/hardware_fr.md @@ -1,6 +1,6 @@ # Matériel -YunoHost peut être installé sur les types de matériel suivant : +YunoHost peut être installé sur les types de matériel suivants : - Cartes ARM (Raspberry Pi, Olinuxino LIME1 & 2, Orange Pi, etc...) ; - 'Vieux' ordinateurs de bureau ou portables ; - Serveurs distants, aussi appelé Virtual Private Servers (VPS). @@ -10,5 +10,5 @@ Les guides d'installations peuvent être trouvés sur [cette page](/install). ### Configuration minimale * Processeur 500MHz -* 512 Mo de RAM (recommandée : 1Go pour pouvoir faire tourner les services et applications correctement) +* 512 Mo de RAM (recommandé : 1 Go pour pouvoir faire tourner les services et applications correctement) * 8 Go d'espace de stockage (recommandé : 32 Go pour pouvoir stocker emails et documents) diff --git a/images/button_to_go_to_permission_interface_fr.png b/images/button_to_go_to_permission_interface_fr.png new file mode 100644 index 00000000..3d524b5e Binary files /dev/null and b/images/button_to_go_to_permission_interface_fr.png differ diff --git a/images/github_branch.png b/images/github_branch.png new file mode 100644 index 00000000..47987fb2 Binary files /dev/null and b/images/github_branch.png differ diff --git a/images/github_commit.png b/images/github_commit.png new file mode 100644 index 00000000..d299c878 Binary files /dev/null and b/images/github_commit.png differ diff --git a/images/github_create_new_repo.png b/images/github_create_new_repo.png new file mode 100644 index 00000000..b96969a1 Binary files /dev/null and b/images/github_create_new_repo.png differ diff --git a/images/github_edit.png b/images/github_edit.png new file mode 100644 index 00000000..619e483e Binary files /dev/null and b/images/github_edit.png differ diff --git a/images/github_pull_request.png b/images/github_pull_request.png new file mode 100644 index 00000000..13e2eb5f Binary files /dev/null and b/images/github_pull_request.png differ diff --git a/images/groups_add-permission-group.png b/images/groups_add-permission-group.png new file mode 100644 index 00000000..bb083791 Binary files /dev/null and b/images/groups_add-permission-group.png differ diff --git a/images/groups_add-permission-user.png b/images/groups_add-permission-user.png new file mode 100644 index 00000000..0a62a541 Binary files /dev/null and b/images/groups_add-permission-user.png differ diff --git a/images/groups_alerte-permission.png b/images/groups_alerte-permission.png new file mode 100644 index 00000000..2b52b6d5 Binary files /dev/null and b/images/groups_alerte-permission.png differ diff --git a/images/groups_button-add-user.png b/images/groups_button-add-user.png new file mode 100644 index 00000000..1a4f3897 Binary files /dev/null and b/images/groups_button-add-user.png differ diff --git a/images/groups_button-delete-group.png b/images/groups_button-delete-group.png new file mode 100644 index 00000000..41f2e3f8 Binary files /dev/null and b/images/groups_button-delete-group.png differ diff --git a/images/groups_button-new-group.png b/images/groups_button-new-group.png new file mode 100644 index 00000000..a50f0981 Binary files /dev/null and b/images/groups_button-new-group.png differ diff --git a/images/groups_button-remove-user.png b/images/groups_button-remove-user.png new file mode 100644 index 00000000..3c6c8e59 Binary files /dev/null and b/images/groups_button-remove-user.png differ diff --git a/images/groups_default-groups.png b/images/groups_default-groups.png new file mode 100644 index 00000000..52870fd4 Binary files /dev/null and b/images/groups_default-groups.png differ diff --git a/images/groups_default-with-permissions.png b/images/groups_default-with-permissions.png new file mode 100644 index 00000000..6dafb1ed Binary files /dev/null and b/images/groups_default-with-permissions.png differ diff --git a/images/pihole_logo.png b/images/pihole_logo.png new file mode 100644 index 00000000..178c085d Binary files /dev/null and b/images/pihole_logo.png differ diff --git a/images/virtualbox_packaging1-en.png b/images/virtualbox_packaging1-en.png new file mode 100644 index 00000000..ec1eaec0 Binary files /dev/null and b/images/virtualbox_packaging1-en.png differ diff --git a/images/virtualbox_packaging1.jpg b/images/virtualbox_packaging1-fr.jpg similarity index 100% rename from images/virtualbox_packaging1.jpg rename to images/virtualbox_packaging1-fr.jpg diff --git a/images/virtualbox_packaging2-en.png b/images/virtualbox_packaging2-en.png new file mode 100644 index 00000000..87af1cca Binary files /dev/null and b/images/virtualbox_packaging2-en.png differ diff --git a/images/virtualbox_packaging2.jpg b/images/virtualbox_packaging2-fr.jpg similarity index 100% rename from images/virtualbox_packaging2.jpg rename to images/virtualbox_packaging2-fr.jpg diff --git a/images/virtualbox_packaging3-en.png b/images/virtualbox_packaging3-en.png new file mode 100644 index 00000000..6802a50b Binary files /dev/null and b/images/virtualbox_packaging3-en.png differ diff --git a/images/virtualbox_packaging3.jpg b/images/virtualbox_packaging3-fr.jpg similarity index 100% rename from images/virtualbox_packaging3.jpg rename to images/virtualbox_packaging3-fr.jpg diff --git a/images/virtualbox_packaging4-en.png b/images/virtualbox_packaging4-en.png new file mode 100644 index 00000000..9e0f7684 Binary files /dev/null and b/images/virtualbox_packaging4-en.png differ diff --git a/images/virtualbox_packaging4.jpg b/images/virtualbox_packaging4-fr.jpg similarity index 100% rename from images/virtualbox_packaging4.jpg rename to images/virtualbox_packaging4-fr.jpg diff --git a/images/virtualbox_packaging5-en.png b/images/virtualbox_packaging5-en.png new file mode 100644 index 00000000..942026ab Binary files /dev/null and b/images/virtualbox_packaging5-en.png differ diff --git a/images/virtualbox_packaging5.jpg b/images/virtualbox_packaging5-fr.jpg similarity index 100% rename from images/virtualbox_packaging5.jpg rename to images/virtualbox_packaging5-fr.jpg diff --git a/install_on_arm_board.md b/install_on_arm_board.md index 9703b54f..b6d96620 100644 --- a/install_on_arm_board.md +++ b/install_on_arm_board.md @@ -29,7 +29,7 @@ YunoHost doesn't yet support ARM64 boards. For more information, see [this issue 0. Download the pre-installed image for your board
If no pre-installed image exists for your board, you can follow the instructions to "Install on top of ARMbian" -1. Flash the SD card with the image +1. Flash the SD card with the image 2. Power up the board and let it boot @@ -43,7 +43,7 @@ YunoHost doesn't yet support ARM64 boards. For more information, see [this issue 0. Download the ARMbian image for your board -1. Flash the SD card with the image +1. Flash the SD card with the image 2. Plug & boot diff --git a/install_on_arm_board_es.md b/install_on_arm_board_es.md index 8a3d5278..6f6d636f 100644 --- a/install_on_arm_board_es.md +++ b/install_on_arm_board_es.md @@ -27,7 +27,7 @@ YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más inf 0. Descargar la imagen pre-instalada para tu tarjeta ARM
Si no existe una imagen dedicada a tu tarjeta, puedes seguir la sección "Instalación encima de ARMbian". -1. Poner la imagen en tu tarjeta SD +1. Poner la imagen en tu tarjeta SD 2. Conectar y encender @@ -41,7 +41,7 @@ YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más inf 0. Descargar la imagen ARMbian para tu tarjeta ARM -1. Poner la imagen en tu tarjeta SD +1. Poner la imagen en tu tarjeta SD 2. Conectar y encender diff --git a/install_on_arm_board_fr.md b/install_on_arm_board_fr.md index 68be4675..d373ee28 100644 --- a/install_on_arm_board_fr.md +++ b/install_on_arm_board_fr.md @@ -27,7 +27,7 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio 0. Télécharger l'image pré-installée pour votre carte ARM
Si il n'existe pas d'image pré-installée pour votre carte, vous pouvez suivre la section "Installation par dessus ARMbian". -1. Flasher la carte SD avec l'image +1. Flasher la carte SD avec l'image 2. Brancher la carte et la laisser démarrer @@ -41,7 +41,7 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio 0. Télécharger l'image ARMbian pour votre carte ARM -1. Flasher la carte SD avec l'image +1. Flasher la carte SD avec l'image 2. Brancher & démarrer diff --git a/install_on_debian_it.md b/install_on_debian_it.md new file mode 100644 index 00000000..e306592d --- /dev/null +++ b/install_on_debian_it.md @@ -0,0 +1,23 @@ +# Installazione su Debian + +*Altri sistemi per installare Debian **[qui](/install)**.* + +### Requisiti + + + +Su un computer ARM, un VPS, un server dedicato, un computer x86 standard, un vecchio Macintosh, ... + +* con **Debian 9** (Stretch) installato (con un kernel >= 3.12) + * l'immagine ISO di Debian 9 può essere scaricata da [qui](https://www.debian.org/releases/stretch/debian-installer/). Scegli l'immagine 'netinst CD' per la tua architettura. + * N.B.: l'uso di un'interfaccia grafica *non* è raccomandato! I server dovrebbero essere amministrati da remoto! +* connesso ad Internet +* con un **accesso root** diretto o via SSH + +--- + +## Passi per l'installazione + +1. Installazione manuale + +2. Post-installazione \ No newline at end of file diff --git a/install_on_raspberry.md b/install_on_raspberry.md index fa204721..ceef5c12 100644 --- a/install_on_raspberry.md +++ b/install_on_raspberry.md @@ -25,7 +25,7 @@ Before setting up a server at home, it is recommended that you know the [possibl 0. Download the pre-installed image for Raspberry Pi -1. Flash the SD card with the image +1. Flash the SD card with the image 2. Power up the board and let it boot diff --git a/install_on_raspberry_de.md b/install_on_raspberry_de.md index 5105d8b7..c57f34de 100644 --- a/install_on_raspberry_de.md +++ b/install_on_raspberry_de.md @@ -25,7 +25,7 @@ Vor der Einrichtung eines Servers zuhause ist es empfehlenswert [mögliche Einsc 0. Download the pre-installed image for Raspberry Pi -1. Flash the SD card with the image +1. Flash the SD card with the image 2. Plug & boot diff --git a/install_on_raspberry_es.md b/install_on_raspberry_es.md index b4fd51bf..9ab592f8 100644 --- a/install_on_raspberry_es.md +++ b/install_on_raspberry_es.md @@ -25,7 +25,7 @@ Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las 1. Descargar la imagen para Raspberry Pi -2. Poner la imagen en tu tarjeta SD +2. Poner la imagen en tu tarjeta SD 3. Conectar y encender diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index c3fd6452..8ddbd031 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -25,7 +25,7 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan 1. Télécharger l'image pour Raspberry Pi -2. Flasher la carte SD avec l'image +2. Flasher la carte SD avec l'image 3. Brancher la carte et la laisser démarrer diff --git a/install_on_raspberry_it.md b/install_on_raspberry_it.md deleted file mode 100644 index 1b3ca866..00000000 --- a/install_on_raspberry_it.md +++ /dev/null @@ -1,3 +0,0 @@ -# Installa YunoHost su Raspberry Pi - -*Consulta la guida completa in inglese [qui](/install_on_raspberry)* diff --git a/isp_orange.md b/isp_orange.md index c89a3e28..87a29d12 100644 --- a/isp_orange.md +++ b/isp_orange.md @@ -1 +1,85 @@ -Unfortunately, this page only exists [in french here](isp_orange_fr) for now. +# Orange +*Find the list of other Internet service providers **[here](/isp)**.* + +#### Email + +The Orange box has port 25 closed so as to limit the amount of spam that could be sent from a compromised home connection. + +The remaining solution to host one own's email at home is to route it through the Orange SMTP servers. + +To that end, one has to edit the postfix configuration file with the following command: + +```bash +sudo nano /etc/postfix/main.cf +``` + +then, add the SMTP Orange server as a relay on the associated line: + +```bash +relayhost = smtp.orange.fr +``` + +restart Postfix : + +```bash +sudo service postfix restart +``` + +##### Problems + +If you are having an "Authentication required" error, the solution is as follows (note: french website): **[source](http://viruslocker.free.fr/?page_id=1749)**. + +Edit the postfix configuration file + +```bash +sudo nano /etc/postfix/main.cf +``` +then, add the following lines: + +```bash +smtp_sasl_password_maps = hash:/etc/postfix/sasl/mdp_fai.conf +smtp_sasl_auth_enable = yes +smtp_sasl_security_options = noanonymous +relayhost = [smtp.orange.fr]:25 +``` + +Create the `mdp_fai.conf` file : + +```bash +sudo nano /etc/postfix/sasl/mdp_fai.conf +``` + +add + +```bash +# mdp_fai.conf +[smtp.orange.fr]:25 emailaddress@at.orange:my-own-password +``` +with your Orange account password. + +Integrate the password into Postfix : + +```bash +sudo postmap /etc/postfix/sasl/mdp_fai.conf +sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl/mdp_fai.conf +``` + +If you are having an "(SASL authentication failed; cannot authenticate to server smtp-auth.nowhere.com[38.123.22.160]: no mechanism available)" error + +Check that `libsasl2-modules` and `sasl2-bin` are present : + +```bash +apt search libsasl2-modules +apt search sasl2-bin +``` + +If they are not present, do install them : + +```bash +apt install libsasl2-modules sasl2-bin +``` + +It is possible that postfix does not immediately take into account your modifications. To force it to do so, run +```bash +systemctl restart postfix +``` diff --git a/isp_orange_fr.md b/isp_orange_fr.md index 1c80f9fe..ffde62c6 100644 --- a/isp_orange_fr.md +++ b/isp_orange_fr.md @@ -66,7 +66,7 @@ sudo postconf -e smtp_sasl_password_maps=hash:/etc/postfix/sasl/mdp_fai.conf Si vous avez une erreur "(SASL authentication failed; cannot authenticate to server smtp-auth.nowhere.com[38.123.22.160]: no mechanism available)" -Vérifier la présence de libsasl2-modules et de sasl2-bin : +Vérifier la présence de `libsasl2-modules` et de `sasl2-bin` : ```bash apt search libsasl2-modules diff --git a/isp_sfr_fr.md b/isp_sfr_fr.md index 9b159b56..43c311fb 100644 --- a/isp_sfr_fr.md +++ b/isp_sfr_fr.md @@ -11,4 +11,4 @@ Pour pouvoir envoyer des mails, il faut désactiver le filtrage. -Source : http://assistance.sfr.fr/internet_box-nb4/utiliser-email/desactiver-filtrage-smtp/fc-2491-69602 +Source : https://assistance.sfr.fr/sfrmail-appli/sfrmail/envoyer-e-mail-serveur-smtp.html diff --git a/moving_app_folder.md b/moving_app_folder.md new file mode 100644 index 00000000..941d3d03 --- /dev/null +++ b/moving_app_folder.md @@ -0,0 +1,38 @@ +# Moving an app folder to a different storage + +Applications folder are (*usually*) located in `/var/www/$appname` + +If an application folder is expected to get bigger because of the amount of data +it contains, it might be relevant to move it to another storage (like an +external hard drive). + +Here's a summary of how to do this the application wordpress. Here, is is assumed that +[you already mounted the external hard-drive](/external_storage). + +#### 1. Move the entire wordpress folder to an external hard drive + +```shell +mv /var/www/wordpress /media/externalharddrive/ +``` + +#### 2. Create a symbolic link + +So that programs looking for files in /var/www/wordpress will actually take them from the harddrive + +```shell +ln -s /media/externalharddrive/wordpress /var/www/wordpress +``` + +#### 3. Tweak permissions (maybe?) + +After this, note that you may need to tweak the permissions of `/media/externalharddrive` so that `www-data` (or the user corresponding to the app) is able to read through the folder... Something like : + +```shell +chgrp www-data /media/externalharddrive +chmod g+rx /media/externalharddrive + +``` + +(but it depends on your exact setup... Please update this doc page if you figure +out what to do exactly) + diff --git a/noaccess_fr.md b/noaccess_fr.md index 94d19af8..ec69c1cd 100644 --- a/noaccess_fr.md +++ b/noaccess_fr.md @@ -1,144 +1,151 @@ # Récupérer l'accès à son YunoHost -Si vous avez perdu l'accès à votre YunoHost qui était auparavant fonctionnel, cette page est faite pour vous. -Il existe de nombreuses causes pouvant empécher totalement ou partiellement d'accéder en administrateur à un serveur YunoHost. Dans de nombreux cas, un des moyens d'accès est inaccessible, mais les autres sont fonctionnels. + +Il existe de nombreuses causes pouvant empêcher totalement ou partiellement d'accéder en administrateur à un serveur YunoHost. Dans de nombreux cas, un des moyens d'accès est inaccessible, mais les autres sont fonctionnels. Cette page va vous aider à diagnostiquer, obtenir un accès et si besoin réparer votre système. Les pannes les plus courantes sont priorisées de haut en bas. Il vous suffit de tester chaque hypothèse. -## Vous avez perdu votre mot de passe administrateur -Si vous arrivez à afficher la page web d'administration (forcer le rafraîchissement avec CTRL + F5 pour être sur) et que vous n'arrivez pas à vous connectez. Vous avez probablement un mot de passe erroné. -Dans ce cas, à moins d'avoir un accès root actif (en SSH par exemple) auquel cas vous pouvez changer le mot de passe de l'utilisateur admin, vous allez devoir opérer en mode rescue. -TODO -## Vous avez une erreur de certificat qui vous empêche d'accéder à la webadmin +## Vous avez accès au serveur via l'adresse IP, mais pas avec le nom de domaine ? + +#### Si vous êtes auto-hébergé à la maison : il faut configurer les redirection de ports + +Vérifier que vous arrivez à accéder au serveur en utilisant son IP globale (que vous pouvez trouver sur https://ip.yunohost.org). Si cela ne fonctionne pas: + - Assurez-vous d'avoir [configuré les redirections de ports](/isp_box_config) + - Certaines box de FAI ne supportent pas le hairpinning et vous ne pouvez pas accéder à votre serveur depuis l'intérieur du réseau local (sauf à passer par l'IP locale). Pour contourner le problème, vous pouvez tester d'accéder à votre serveur en passant par un proxy comme proxfree.com + +#### Il faut configurer vos enregistrement DNS + +(N.B.: ce n'est pas nécessaire si vous utilisez un domaine de type nohost.me, noho.st ou ynh.fr) + +Il vous faut configurer vos enregistrement DNS comme expliqué sur [cette page](/dns_config) (à minima l'enregistrement A, et AAAA si vous avez de l'IPv6). + +Vous pouvez valider que les enregistrements DNS sont corrects en comparant le résultat de https://www.whatsmydns.net/ avec l'IP globale de votre serveur (si vous êtes hébergé à la maison, vous pouvez obtenir cette IP sur https://ip.yunohost.org) + + +#### Autres causes possibles + +- Votre nom de domaine noho.st, nohost.me ou ynh.fr est inaccessible suite à une panne de l'infra YunoHost. Vérifiez sur le forum si d'autre personnes signalent le même problème. +- Votre nom de domaine est peut-être expiré. Vous pouvez vérifier que votre nom de domaine a expiré en vous connectant sur l'interface de votre registrar ou en utilisant le whois par exemple via la commande `whois NOM_DE_DOMAINE`. +- Vous avez une IP dynamique. Dans ce cas, il faut mettre en place un script qui se charge de mettre à jour régulièrement votre IP (ou d'utiliser un nom de domaine en nohost.me, noho.st ou ynh.fr qui inclue un tel mécanisme) + + + + +## Vous êtes face à une erreur de certificat qui vous empêche d'accéder à la webadmin + +Si vous venez d'installer votre serveur ou d'ajouter un nouveau domaine, il utilise pour le moment un certificat auto-signé. Dans ce cas, il devrait être possible et légitime d'ajouter *exceptionnellement* une exception de sécurité le temps d'[installer un certificat Let's Encrypt](/certificate) à condition d'être sur une connexion internet sûre (pas avec Tor Browser par exemple). + +Une erreur de certificat peut également être affichée dans certain cas où vous avez fait une faute de frappe dans la barre d'adresse de votre navigateur. + -Si vous n'avez jamais activé Let's Encrypt ou que vous accéder à la web admin via une IP ou un domaine locale, vous pouvez accepter le certificat invalide exceptionnellement à condition d'être sur une connexion internet sûre (pas avec Tor Browser par exemple). -Pour y parvenir, il faut aller sur la page d'administration web en utilisant la navigation privée, votre navigateur devrait vous autoriser d'ajouter une exception temporaire pour accéder à la page. ## Vous avez accès en SSH mais pas à la Web admin ou inversement -### Vous avez été banni temporairement -Votre serveur YunoHost inclut un pare-feu qui banni les IP qui échouent plusieurs fois à se connecter. Dans certains cas, il peut s'agir d'un programme (nextcloud-client) qui est configuré avec un ancien mot de passe ou d'un utilisateur qui utilise la même IP que vous. + +#### Vous essayez de vous connecter en SSH avec `root` plutôt qu'avec `admin` + +Par défaut, la connexion en SSH doit s'effectuer avec l'utilisateur `admin`. Il est possible de se connecter à la machine avec l'utilisateur `root` *seulement depuis le réseau local* sur lequel se situe le serveur (ou bien via la console web / VNC pour des VPS). + +Lorsque vous exécutez des commandes `yunohost` en tant qu'admin, il faut les précéder de la commande `sudo` (par exemple `sudo yunohost user list`). Vous pouvez également devenir `root` en tapant `sudo su`. + +#### Vous avez été banni temporairement + +Votre serveur YunoHost inclut un mécanisme (fail2ban) qui banni automatiquement les IPs qui échouent plusieurs fois à s'authentifier. Dans certains cas, il peut s'agir d'un programme (par exemple un client Nextcloud) qui est configuré avec un ancien mot de passe ou d'un utilisateur qui utilise la même IP que vous. Si vous avez été banni en tentant d'accéder à une page web, seul les pages web sont inaccessibles, vous devriez donc pouvoir accéder au serveur en SSH. De même, si vous avez été banni en SSH vous devriez pouvoir accéder à la webadmin. Si vous avez été banni à la fois en SSH et à la webadmin, vous pouvez essayer d'accéder à votre serveur avec une autre IP, par exemple en utilisant la 4G d'un smartphone ou en utilisant Tor Browser. -NB: le bannissement dure en général quelques minutes. Le bannissement n'est actif qu'en IPv4. +Voir aussi: [débannir une IP sur Fail2ban](/fail2ban) -### Vous n'avez plus d'espace disque... -... et votre serveur web nginx qui distribue les pages de la web admin ou votre serveur SSH ne fonctionne plus. +NB: le bannissement dure en général 10 à 12 minutes. Le bannissement n'est actif qu'en IPv4. -Pour vérifier si vous avez de l'espace disque, vous pouvez le faire de puis la web admin TODO ou avec la commande `df -h`. -Si une de vos partition est remplie à 100%, il faut identifier ce qui prend de la place sur votre système et faire de la place. +#### Le serveur web nginx est cassé -Attention, dans certains cas il peut s'agir d'erreur qui arrive tellement souvent qu'elles remplissent les fichiers de logs et votre système avec. +Peut-être que le serveur web nginx est en panne. Vous pouvez vérifier cela [en ssh](/ssh) avec `yunohost service status ssh`. Si il est en panne, vérifiez que la configuration ne comporte pas d'erreur avec `nginx -t`. Si la configuration est cassée, ceci est peut-être du à une l'installation ou désinstallation d'une application de mauvaise qualité... Si vous êtes perdu, [demandez de l'aide](/help). -A partir de la web admin vous pouvez relancer le service SSH. De même en SSH, vous pouvez redémarrer le serveur web nginx avec la commande `yunohost service start nginx` +Il se peut également que le serveur web (nginx) ou le serveur ssh aient été tués suite à un manque d'espace disque ou de RAM / swap. +- Tentez de relancer le service avec `systemctl restart nginx`. +- Vous pouvez contrôler l'espace disque utilisé avec `df -h`. Si une de vos partitions est remplie à 100%, il faut identifier ce qui prend de la place sur votre système et faire de la place. Il est possible d'installer l'utilitaire `ncdu` avec `apt install ncdu` puis de faire `ncdu /` pour analyser la taille des dossiers de toute l'arborescence. +- Vous pouvez contrôler l'utilisation de la RAM / swap avec `free -h`. En fonction des résultats, il peut être nécessaire d'optimiser votre serveur pour qu'il utilise moins de RAM (suppression d'app lourdes et inutiles, ...), d'ajouter de la RAM ou d'ajouter un fichier de swap. -### Vous manquez de RAM et n'avez pas de swap -... et votre serveur web nginx qui distribue les pages de la web admin ou votre serveur SSH a été tués aléatoirement. +#### Votre serveur est accessible en IPv6 mais pas en IPv4 ou inversement -Quand votre serveur n'a plus de ram, il est obligé d'écrire sur le disque dans la swap, si il n'y en a pas, dans ce cas il doit tuer un des processus pour faire de l'espace. +Vous pouvez le vérifier en tentant de faire des ping sur votre serveur en IPv4 et en IPv6. -Vous pouvez vérifier que vous n'avez plus beaucoup de ram via la web admin ou en SSH via la commande `free -m`. - -Pour régler cette situation, vous pouvez soit: - -* optimiser votre serveur pour qu'il utilise moins de ram (suppression arrêt de services inutiles) -* ajouter de la ram -* ajouter un fichier de swap - -A partir de la web admin vous pouvez relancer le service SSH. De même en SSH, vous pouvez redémarrer le serveur web nginx avec la commande `yunohost service start nginx` - -### Vous avez installé une app qui a cassé votre configuration web -Si vous avez installé une app de mauvaise qualité, celle-ci peut échouer à l'installation et laisser des bouts de configuration qui vont empécher le redémarrage de votre serveur web nginx qui vous permet d'accéder à la web admin. - -Dans ce cas, il faut accéder en SSH et essayer de terminer la suppression de l'app. Si elle est déjà supprimée, il faut enlever manuellement les résidus de configuration. - -### Votre serveur est accessible en IPv6 mais pas en IPv4 ou inversement Dans un tel cas, il est possible que vous arriviez à accéder à votre web admin en IPv6 mais pas en SSH potentiellement en IPv4 par défaut... Dans ce cas il faut résoudre votre problème de connectivité. -Dans certains cas une mise à jour de votre box a activé l'ipv6, entraînant des problèmes de configuration au niveau de votre nom de domaine. +Dans certains, cas une mise à jour de votre box a activé l'IPv6, entraînant des problèmes de configuration au niveau de votre nom de domaine. + + + + + + + +## La webadmin fonctionne, mais certaines applications web me renvoient une erreur 502. + +Il est fort probablement que le service correspondant à ces applications soit en panne (typiquement pour les applications PHP, il s'agit de php7.0-fpm ou php7.3-fpm). Vous pouvez alors tenter de relancer le service, et si cela ne fonctionne pas, regarder les logs du service correspondant et/ou [demander de l'aide](/help). + + + + +## Vous avez perdu votre mot de passe administrateur ? (ou bien le mot de passe est refusé) + +Si vous arrivez à afficher la page web d'administration (forcez le rafraîchissement avec CTRL + F5 pour être sur) et que vous n'arrivez pas à vous connectez, vous avez probablement un mot de passe erroné. + +Si vous êtes certain du mot de passe, il est possible que le service SLAPD qui gère l'authentification soit en panne. Si c'est le cas, il vous faut vous connecter en `root`. +- Si votre serveur est chez vous, vous avez sans doute accès au réseau local du serveur. Depuis ce réseau, vous pouvez vous connecter [en SSH](/ssh) avec l'utilisateur `root`. +- Si vous êtes sur un VPS, votre hébergeur vous fournit peut-être la possibilité d'avoir une console sur votre serveur depuis le navigateur web. +Une fois connecté, il vous faut regarder l'état du service avec la commande `yunohost service status slapd` et/ou tenter de réinitialiser votre mot de passe avec la commande `yunohost tools adminpw`. + +Si vous ne pouvez pas ou ne réussissez pas non plus à vous connecter en `root`, vous allez devoir opérer en mode rescue. + +TODO: à compléter + ## Votre VPN a expiré ou ne se monte plus + Si vous utilisez un VPN a IP fixe, peut être que celui-ci est arrivé à expiration ou que l'infrastructure de votre fournisseur est en difficulté. Dans ce cas, vous pouvez peut être accéder à votre serveur avec son IP locale s'agissant probablement d'un serveur auto-hébergé chez-vous. -Pour connaître votre ip locale, certaines BOX propose une cartographie du réseau en cours avec les équipements connectés. Sinon, en ligne de commande avec linux: +Pour connaître votre IP locale, certaines BOX proposent une cartographie du réseau en cours avec les équipements connectés. Sinon, en ligne de commande avec linux: ```bash sudo arp-scan --local ``` -Vous pouvez aussi essayer avec le domaine `yunohost.local` si il n'y a qu'un seul YunoHost sur votre réseau. +Vous pouvez aussi essayer avec le domaine `yunohost.local` s'il n'y a qu'un seul YunoHost sur votre réseau. Il faut voir avec votre fournisseur de VPN pour renouveler le VPN et mettre à jour les paramètre de l'app VPN Client. -TODO +TODO: à compléter -## Votre routeur ne redirige plus vers votre serveur -Si votre routeur a été remis à zéro ou mis à jour, votre configuration de redirection de port pourrait avoir disparu. De même, l'ipv6 ou le hairpining pourrait avoir été activé. +## Votre serveur est coincé au démarrage -Typiquement si en tapant votre IP publique vous tombez sur votre box, c'est soit le hairpinning soit la redirection de port qui est manquante. +Dans certains cas, votre serveur peut rester coincé au démarrage. Il peut s'agir d'un problème suite à l'installation d'un nouveau kernel. Essayez de choisir un autre kernel avec VNC ou avec l'écran lors du boot. -## Votre serveur ping avec son IP, mais pas avec le nom de domaine -### Votre nom de domaine a expiré -Si votre nom de domaine expire il ne redirigera plus vers votre serveur. +Si vous êtes en mode `rescue` avec `grub`, dans ce cas il peut s'agir d'un problème de configuration de `grub` ou d'un disque corrompu. -Vous pouvez vérifier que votre nom de domaine a expiré en vous connectant sur l'interface de votre registrar ou en utilisant le whois par exemple via la commande `whois NOM_DE_DOMAINE`. +Dans ce cas il faut accéder au disque avec un autre système (mode `rescue` du fournisseur, live usb, lire la carte SD ou le disque dur avec un autre ordinateur) et essayer de vérifier l'intégrité des partitions avec `smartctl`, `fsck` et `mount`. -Dans ce cas il faut renouveler le nom de domaine (si ile st encore temps. +Si les disques sont corrompus et difficiles à monter, il faut sauvegarder les données et potentiellement refaire un formatage/réinstaller et/ou changer le disque. Si on arrive à monter le disque, il est possible d'utiliser `systemd-nspawn` pour entrer dans la base de données. -### Votre nom de domaine est mal configuré -Si votre serveur ping avec son ip mais ne ping pas avec le nom de domaine alors il y a un problème de configuration au niveau du champs A. +Sinon, relancer `grub-update` et `grub-install` en `chroot` ou avec `systemd-nspawn`. -Si c'est un nom de domaine fournit par YunoHost, lancez -```bash -yunohost dyndns update -``` -Si c'est un autre nom de domaine, il faut mettre à jour votre ipv4 et votre ipv6 dans l'interface de votre registrar. -Attention, si votre IP change régulièrement il faut mettre en place un script qui se lance régulièrement pour mettre à jour votre IP. -### Votre nom de domaine noho.st, nohost.me, ynh.fr est inaccessible suite à une panne de l'infra YunoHost -Il arrive environ trois fois par an que l'infra de YunoHost soit en panne suite à une coupure de courant ou à un problème d'administration système. -Vérifiez sur le forum si d'autre sont signalez le même problème. +## L'accès en VNC ou via écran ne fonctionne pas -## Vous avez perdu l'accès en IPv4 mais vous avez accès en IPv6 ou inversement - -Dans ce cas, il faut tenter d'accéder en SSH avec l'autre IP et essayer de comprendre pourquoi le réseau en IPv4 ou en IPv6 a disparu. - -Si ce n'est pas lié à une erreur de configuration réseau sur votre système, il peut être nécessaire d’appeler votre fournisseur de serveur ou d'accès à internet pour vérifier que le problème n'est pas chez eux. - -## Vous avez perdu l'accès en IPv4 (ET en IPv6 le cas échéant) -Vous pouvez le vérifier en tentant de faire des ping sur votre serveur en IPv4 et en IPv6. - -Dans ce cas, vous devriez essayer de brancher un clavier/écran sur votre serveur ou d'y accéder par VNC si c'est un serveur distant. - -### Vous pouvez vous connecter avec l'utilisateur admin et le mot de passe -A partir de là vous devriez diagnostiquer votre problème réseau le réparer ou si ce n'est pas lié au système contacter le support de votre fournisseur de serveur ou de connexion Internet. - -### Votre serveur est coincé au démarrage -Dans certains cas, votre serveur peut rester coincer au démarrage. Il peut s'agir d'un problème suite à l'installation d'un nouveau kernel. Essayez de choisir un autre kernel avec VNC ou avec l'écran lors du boot. - -Si vous êtes en grub rescue, dans ce cas il peut s'agir d'un problème de configuration de grub ou d'un disque corrompu. - -Dans ce cas il faut accéder au disque avec un autre système (mode rescue du fournisseur, live usb, lire la carte SD ou le disque dur avec un autre ordinateur) et essayer de vérifier l'intégrité des partitions avec smartctl, fsck et mount. - -Si les disques sont corrompus et difficile à monter, il faut sauvegarder les données et potentiellement refaire un formatage/réinstaller et/ou changer le disque. Si on arrive à monter le disque, il est possible d'utiliser systemd-nspawn pour entrer dans la base de donnée. - -Sinon, relancer grub-update et grub-install en chroot ou avec systemd-nspawn. - -### L'accès en VNC ou via écran ne fonctionne pas Dans ce cas il peut s'agir d'un problème matériel sur votre serveur physique ou d'un problème d'hyperviseur si c'est un VPS. -Si c'est une machine loué contacter le support de votre fournisseur. Sinon essayez de dépanner votre machine en retirant les composants qui peuvent être en panne. +Si c'est une machine louée contactez le support de votre fournisseur. Sinon, essayez de dépanner votre machine en retirant les composants qui peuvent être en panne. diff --git a/orga/yunohost_project_organization.md b/orga/yunohost_project_organization.md index 4fdfe208..b464be93 100644 --- a/orga/yunohost_project_organization.md +++ b/orga/yunohost_project_organization.md @@ -62,8 +62,7 @@ Groups are structured as a result of the fact that YunoHost counts many sub-proj - [yunopaste](http://paste.yunohost.org/) - ##### Apps Group - - Official apps - - Community-based apps + - apps.json list - App development tools (package_checker, package linter) - ##### Communication Group diff --git a/packaging_apps.md b/packaging_apps.md index 5da09827..bf2c2601 100644 --- a/packaging_apps.md +++ b/packaging_apps.md @@ -5,7 +5,7 @@ The purpose of this document is to teach you how to package an application for Y ### Requirements 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`, bash shell and other programming stuff; +* 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. ### Content diff --git a/packaging_apps_ci.md b/packaging_apps_ci.md index 0401e0df..543da54d 100644 --- a/packaging_apps_ci.md +++ b/packaging_apps_ci.md @@ -25,7 +25,7 @@ However, to prevent any security issues, your ssh connection will be very limite You can only use `sftp` or `rsync` to copy your apps into that directory. `Git` isn't available, neither most of the usual bash commands. To ease your usage of this CI, a small script can be used to copy your apps to your directory. -Copy this [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/Send%20CI%20dev.sh) into your usual working directory and fill it with your info. +Copy this [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/send_to_dev_ci.sh) into your usual working directory and fill it with your info. Make sure the content of your `check_process` file is correct then transfer your files. When your files have been transfered, you can monitor the CI pipeline on https://ci-apps-dev.yunohost.org. diff --git a/packaging_apps_ci_fr.md b/packaging_apps_ci_fr.md index 67aeaabb..65105e3f 100644 --- a/packaging_apps_ci_fr.md +++ b/packaging_apps_ci_fr.md @@ -25,7 +25,7 @@ Cependant, pour éviter tout problème de sécurité, votre connexion ssh sera t Vous ne pouvez utiliser que `sftp` ou `rsync` pour copier vos applications dans ce répertoire. `Git` n'est pas disponible, ni la plupart des commandes bash habituelles. Pour faciliter votre utilisation de ce CI, un petit script peut être utilisé pour copier vos applications dans votre répertoire. -Copiez ce [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/Send%20CI%20dev.sh) dans votre répertoire de travail habituel et indiquez vos informations. +Copiez ce [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/send_to_dev_ci.sh) dans votre répertoire de travail habituel et indiquez vos informations. --- diff --git a/packaging_apps_fr.md b/packaging_apps_fr.md index df480230..a0c1f114 100644 --- a/packaging_apps_fr.md +++ b/packaging_apps_fr.md @@ -5,7 +5,7 @@ Ce document a pour but de vous apprendre à packager une application pour YunoHo ### Prérequis Pour packager une application, voici les prérequis : * Un compte sur un serveur git comme [GitHub](https://github.com/) pour pouvoir ensuite publier l’application ; -* Maîtriser un minimum `git`, le Shell et d’autres notions de programmation ; +* Maîtriser un minimum [git](/packaging_apps_git), le Shell et d’autres notions de programmation ; * Une [machine virtuelle ou sur un serveur distant](/install) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox), pour packager et tester son paquet. diff --git a/packaging_apps_git.md b/packaging_apps_git.md new file mode 100644 index 00000000..1ddb6ff2 --- /dev/null +++ b/packaging_apps_git.md @@ -0,0 +1,201 @@ +# How to use Git to package apps + +Git... Our dear beloved Git, which can be described also as "Goddamn Idiotic Truckload of sh*t", according to Linus. +Be sure if you don't know Git yet that you will soon agree with that description. + +YunoHost and all our apps are on the Git forge GitHub. Which means that if you want to work on an app, sooner or later you're going to have to deal with Git. +So let's see how to work with Git to be able to contribute in the context of YunoHost. + +## Working with GitHub + +Let's go first for the easy part, GitHub comes with an "easy" web interface to deal with. + +*First things first, unfortunately there's no way around, you need an account on GitHub.* + +#### Branches + +Then, probably one of the most important thing, **do not work directly on the master branch**. +Sorry, it has to be said ! + +Branches are, as GitHub explains, "*a parallel version of a repository. It is contained within the repository, but does not affect the other branches. Allowing you to work freely without disrupting the "live" version.*" + +The master branch is the branch that contains the version of the app users will actually install and use. +The usual thing to do is to work from the testing branch, and when everything is settled and tested, you can merge the testing branch in master, so users will enjoy the new release of your package. + +To see and change the current branch, use this button: + + +#### Edit a file + +Now that you're on the right branch, let's see how to edit a file on GitHub. + +You can edit any file by using the small pencil icon: + + +If you don't have the permission to write on the repository, you will see (as on the picture) that you're going to create a fork (we'll see below what a fork is). +If you have the permission to write, you will just edit the file, without forking. + +#### Commit your changes + +When you're done with your modification on the file, you can commit your changes. +Behind that word, the idea is quite simple, you're just going to save your changes... + + +The first field is the name of your commit, a very short sentence to explain why you did this modification. +The second field is a large one for a more complete explanation, if you need it. + +Finally, if you're editing a repository on which you have permission to write, you can either commit directly to the current branch or create a new branch. +It's usually better to create a new branch, that way you keep your modifications on a *parallel* version of the repository. Your modifications will be discussed in a pull request (explained below) then finally merged into the original branch. + +#### To fork or not to fork + +A fork is a copy of a repository into your own account. +We have seen before that if you don't have permission to write into a repository, editing a file will automatically create a fork. +Because the fork is on your account, you always have the permission to write on it. +But even if a fork is not the real repository, but just a copy, a fork is always linked to its parent. We'll see later that to create a fork is really useful when opening a pull request. + +When you create a new package, it's common to use the [example app](https://github.com/YunoHost/example_ynh) as a base. +But, because you don't want to keep that link to the example app, you should not fork the example app. You will rather clone the app. +Unfortunately, to clone an app is a little bit trickier on GitHub. We will see later how to clone to a local repository instead. + +We have seen how to edit a file, and how this could fork the app. +But, when you want to edit multiple files, the GitHub interface isn't really the best way. In such situation, you would rather clone the repository and work on a local repository. +You may still need to fork on your own account to be able to save your modifications if you don't have the permission on the distant repository. + +#### Pull request + +After you have committed your changes, whether on a branch or a fork, you want to propose your modifications to be integrated into the main repository, or the original branch. +To do so, you're going to *create a pull request*. GitHub usually ask you directly if you want to do so. +Otherwise, you'll find the button to create a pull request just here: + + +When creating a pull request from a fork, to ease the work of the reviewers, **do never** uncheck the checkbox *Allow edits from maintainers*. That option simply allow the maintainers of the original repository to edit directly your work. + +#### YunoHost-Apps organization + +Following the [YEP 1.7](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines.md#yep-17), your app has to be into the YunoHost-Apps organization, but if you have never contributed to an app before or never had any app into this organization you may not have the permission. + +First, you need the permission to write into the organization, to do so, ask to the Apps group on the Apps xmpp room. + +To transfer your app to the YunoHost-Apps organization, go to your repository and to *Settings* tab. +At the bottom of the page, you will find *Transfer ownership*. +Into the field *New owner’s GitHub username or organization name*, type *YunoHost-Apps*. +Your repo will be moved into the organization, you don't have to remove the original repository. + + +## Working with Git locally + +As we have seen, you can do a lot of things directly on GitHub. +But when you need to edit multiple files, or when you need to work on your code on your own, it's better to work directly on your computer. + +Before going to the hellish part of Git, let's see 2 different ways to start working with Git. + +#### First case: Creating a new package + +You have shockingly discovered that the wonderful app you love to use everyday does not yet have its YunoHost package. And because you're nice, you decided to create yourself the package, so everyone will enjoy that app the way you do. +What a good idea ! + +The best is to start from the [example app](https://github.com/YunoHost/example_ynh). But as we have explained before, you don't want to fork, because if you do so, you're going to keep that link to the example app and it's really annoying. +So, you're going to do it differently. You're going to clone ! + +##### git clone + +To clone, you're going to do: +```bash +git clone https://github.com/YunoHost/example_ynh +``` +`git clone` will download a copy of the repository. You will have the complete repository, with its branches, commits, and everything (into that apparently little `.git` directory). + +To git clone is usually the starting point of any local work with Git. + +*A side note though, if you expect to send your modifications back to the distant repository on GitHub, be sure to have the permission to write on this repository. Otherwise, fork before and clone your fork, on which you do have the permission.* + +##### My brand new package, continued + +In the context of a new package, you will also need to create a repository on GitHub to nest your package. +Which is as simple as a big green *New* button. +Don't bother with README, .gitignore or license. Just create the repository itself. +you can now git clone that new repository. + + +You now have 2 repositories cloned on your computer. +Copy all the files from the example_ynh app, **except the .git directory** (You just want the files themselves) to your new package. + +*If you want, you can remove the example_ynh app. We don't need it anymore.* + +You're ready to work on your new package ! + +#### Second case: Working locally on a repository + +You already have a repository, but what you want is just to work locally, so you can modify multiple files. +Simply clone the repository, the .git directory is the link to the distant repository. Nothing else to do than a `git clone`. + +#### Branches + +You do have your local copy of the repository, but because you have read carefully this documentation until then, you know that you should be sure to be on the testing branch before starting to work. + +To see the branches, and to know on which you actually are, while into the directory of your repository, type `git branch`. +The current branch is highlighted and preceded by a `*`. + +#### git checkout + +If it appears that you're not on the branch you wanted to be, or you're actually on master (which is bad !), you can move to another branch with `git checkout` +```bash +git checkout testing +``` +*Read carefully what Git says when you validate a command, do never forget that Git is sneaky...* + +#### Git pull before anything else + +You're finally on the right branch, and ready to work. +**Wait ! A nasty trap is waiting for you...** +Before ending up in an inextricable situation. Start with a `git pull` to update your branch to the latest change from the distant repository. + +*Sometimes, you will encounter an impossible situation where Git is saying that you can't pull because you have local changes. But you don't care of those local modifications, you just want to get the last version of the distant branch. But Git don't care about what YOU want...* +*I have to admit that my only solution is as highly efficient as dirty... A good old `rm -r` of the repository and a `git clone`* + +#### Let's work + +Eventually, you can work on your code. +When you are finally ok with what you have done, it's time to validate your work. + +The first step is to inform Git about which file(s) to validate. To do so, we'll use `git add` +```bash +git add my_file +git add my_other_file and_also_this_one +``` +If you want to validate all your work, you can also simply do +```bash +git add --all +``` + +To check the current status of your validation, you can use `git status`. It will show you which files will be included into your commit, and which files are modified, but not yet included. +`git status -v` will show also which part of the files are modified. A good way to be sure that you didn't make a mistake before committing. + +#### git checkout -b + +Before committing, or after, or before starting to work. Whenever you feel like it ! +You should consider adding your work to a separate branch, that way, it will be easy to create a pull request to merge into the testing branch and discuss with the other packagers what you suggest to change. + +To create a new branch and move to this branch, you can use `git checkout -b my_new_branch`. + +#### Commit + +To commit is simply to validate your work in Git. As you can do in GitHub. +To have the same fields that you had on GitHub, with the name of the commit, and a longer explanation. You can simply use `git commit`. +The first line, before the comments, is for the name of the commit. +After all the comments, you can add an explanation if you want to. + +If you want to commit with only a name for your commit, you can use a simple command: +```bash +git commit -m "My commit name" +``` + +#### Push to the distant repository + +Your changes are validated, but only on your local clone of the repository. Now, you have to send those modifications back to the distant repository on GitHub. +In order to do that, you need to know what is your current branch. (If you don't know, `git branch` will give you that info). +Then you can git push +```bash +git push -u origin BRANCH_NAME +``` diff --git a/packaging_apps_git_fr.md b/packaging_apps_git_fr.md new file mode 100644 index 00000000..95172258 --- /dev/null +++ b/packaging_apps_git_fr.md @@ -0,0 +1,201 @@ +# Comment utiliser Git pour packager les applications + +Git... Notre cher Git bien-aimé, que l'on peut aussi décrire comme "Goddamn Idiotic Truckload of sh*t" (Un stupide putain gros tas de m\*rde), selon Linus. +Si vous ne connaissez pas encore Git, soyez sûr que vous serez bientôt d'accord avec cette description. + +YunoHost et toutes nos applications sont sur la forge Git GitHub. Ce qui veut dire que si vous voulez travailler sur une application, tôt ou tard vous allez devoir faire face à Git. +Alors voyons comment travailler avec Git pour pouvoir contribuer dans le contexte de YunoHost. + +## Travailler avec GitHub + +Commençons par la partie facile, GitHub est livré avec une interface web "facile" à utiliser. + +*Tout d'abord et malheureusement, il n'y a pas moyen de contourner ça, vous devez avoir un compte sur GitHub.* + +#### Branches + +Ensuite, et c'est probablement l'une des choses les plus importantes, **ne travaillez pas directement sur la branche master**. +Désolé, il fallait que ce soit dit ! + +Les branches sont, comme l'explique GitHub, "*une version parallèle d'un dépôt. Elle est contenue dans le dépôt, mais n'affecte pas les autres branches. Elle vous permet de travailler librement sans perturber la version "live".*" + +La branche master est la branche qui contient la version de l'application que les utilisateurs installeront et utiliseront effectivement. +La bonne habitude à prendre est de travailler à partir de la branche testing, et lorsque tout est réglé et testé, vous pouvez fusionner la branche testing dans master, afin que les utilisateurs puissent profiter de la nouvelle version de votre package. + +Pour voir et modifier la branche actuelle, utilisez ce bouton : + + +#### Modifier un fichier + +Maintenant que vous êtes sur la bonne branche, voyons comment éditer un fichier sur GitHub. + +Vous pouvez éditer n'importe quel fichier en utilisant l'icône du petit crayon : + + +Si vous n'avez pas la permission d'écrire sur le dépôt, vous verrez (comme sur l'image) que vous allez créer un fork (nous verrons plus loin ce qu'est un fork). +Si vous avez la permission d'écrire, vous allez simplement modifier le fichier, sans forker. + +#### Validez vos modifications + +Lorsque vous avez fini de modifier le fichier, vous pouvez faire un commit de vos modifications. +Derrière ce mot, l'idée est assez simple, vous allez juste enregistrer vos modifications... + + +Le premier champ est le nom de votre commit, une phrase très courte pour expliquer pourquoi vous avez fait cette modification. +Le deuxième champ est un champ plus grand pour une explication plus complète, si vous en avez besoin. + +Enfin, si vous modifiez un dépôt sur lequel vous avez la permission d'écrire, vous pouvez soit faire un commit directement sur la branche en cours, soit créer une nouvelle branche. +Il est généralement préférable de créer une nouvelle branche, de cette façon vous gardez vos modifications sur une version *parallèle* du dépôt. Vos modifications seront discutées dans une pull request (expliquée ci-dessous) puis finalement fusionnées dans la branche d'origine. + +#### Forker ou ne pas forker + +Un fork est une copie d'un dépôt sur votre propre compte. +Nous avons déjà vu que si vous n'avez pas l'autorisation d'écrire dans un dépôt, la modification d'un fichier créera automatiquement un fork. +Comme le fork est sur votre compte, vous avez toujours la permission d'écrire dessus. +Mais même si un fork n'est pas le véritable dépôt, mais juste une copie, un fork est toujours lié à son parent. Nous verrons plus tard que la création d'un fork est vraiment utile lors de l'ouverture d'une pull request. + +Lorsque vous créez un nouveau package, il est courant d'utiliser l'[application exemple](https://github.com/YunoHost/example_ynh) comme base. +Mais, comme vous ne voulez pas garder ce lien vers l'application d'exemple, vous ne devez pas forker l'application d'exemple. Vous la clonerez plutôt. +Malheureusement, cloner une application est un peu plus compliqué sur GitHub. Nous verrons plus tard comment cloner vers un dépôt local à la place. + +Nous avons vu comment éditer un fichier, et comment cela peut forker l'application. +Mais, lorsque vous voulez éditer plusieurs fichiers, l'interface GitHub n'est pas vraiment la meilleure solution. Dans une telle situation, vous préférerez cloner le dépôt et travailler sur un dépôt local. +Il se peut que vous deviez tout de même forker sur votre propre compte pour pouvoir enregistrer vos modifications si vous n'avez pas les autorisations sur le dépôt distant. + +#### Pull request + +Après avoir effectué vos commits, que ce soit sur une branche ou un fork, vous souhaitez proposer vos modifications pour qu'elles soient intégrées dans le dépôt principal, ou dans la branche d'origine. +Pour ce faire, vous allez créer une pull request. GitHub vous demande généralement directement si vous souhaitez le faire. +Sinon, vous trouverez le bouton de création d'une pull request juste ici : + + +Lors de la création d'une pull request à partir d'un fork, pour faciliter le travail de révision du code, **ne jamais** décocher la case *Allow edits from maintainers*. Cette option permet simplement aux mainteneurs du dépôt d'origine de modifier directement votre travail. + +#### Organisation YunoHost-Apps + +Conformément à la [YEP 1.7](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines.md#yep-17), votre application doit être intégrée à l'organisation YunoHost-Apps, mais si vous n'avez jamais contribué à une application auparavant ou si vous n'avez jamais eu d'application dans cette organisation, vous n'en aurez peut-être pas l'autorisation. + +Tout d'abord, vous devez avoir la permission d'écrire dans l'organisation, pour ce faire, demandez au groupe Apps sur le salon xmpp Apps. + +Pour transférer votre application sur l'organisation YunoHost-Apps, allez dans votre dépôt et dans l'onglet *Settings*. +En bas de la page, vous trouverez *Transfer ownership*. +Dans le champ *New owner’s GitHub username or organization name*, tapez *YunoHost-Apps*. +Votre dépôt sera déplacé dans l'organisation, vous n'avez pas besoin de supprimer le dépôt d'origine. + + +## Travailler avec Git en local + +Comme nous l'avons vu, vous pouvez faire beaucoup de choses directement sur GitHub. +Mais lorsque vous devez modifier plusieurs fichiers, ou lorsque vous devez travailler sur votre code de votre côté, il est préférable de travailler directement sur votre ordinateur. + +Avant d'aller dans la partie infernale de Git, voyons 2 façons différentes de commencer à travailler avec Git. + +#### Premier cas : Créer un nouveau package + +Vous avez découvert, choqué, que la merveilleuse application que vous aimez utiliser tous les jours n'a pas encore son package YunoHost. Et parce que vous êtes sympa, vous avez décidé de créer vous-même le package, pour que tout le monde puisse apprécier cette application. +Quelle bonne idée ! + +Le mieux est de commencer par l'[application d'exemple](https://github.com/YunoHost/example_ynh). Mais comme nous l'avons déjà expliqué, vous ne voulez pas forker, parce que si vous le faites, vous allez garder ce lien vers l'application d'exemple et c'est vraiment ennuyeux. +Donc, vous allez le faire différemment. Vous allez cloner ! + +##### git clone + +Pour cloner, vous allez faire : +```bash +git clone https://github.com/YunoHost/example_ynh +``` +`git clone` téléchargera une copie du dépôt. Vous aurez le dépôt complet, avec ses branches, ses commits, et tout le reste (dans cet apparent petit répertoire `.git`). + +git clone est généralement le point de départ de tout travail local avec Git. + +*Toutefois, si vous comptez envoyer vos modifications sur le dépôt distant sur GitHub, assurez-vous d'avoir les droits d'écriture sur ce dépôt. Sinon, forkez avant et clonez votre fork, pour lequel vous avez la permission.* + +##### Mon nouveau package, suite + +Dans le contexte d'un nouveau package, vous devrez également créer un dépôt sur GitHub pour y mettre votre package. +Ce qui n'est pas plus compliqué qu'un gros bouton vert *New*. +Ne vous embêtez pas avec des README, .gitignore ou licence. Créez simplement le dépôt lui-même. +vous pouvez maintenant cloner ce nouveau dépôt avec Git. + + +Vous disposez maintenant de 2 dépôts clonés sur votre ordinateur. +Copiez tous les fichiers de l'application example_ynh, **excepté le répertoire .git** (vous voulez juste les fichiers eux-mêmes) dans votre nouveau package. + +*Si vous le souhaitez, vous pouvez supprimer l'application example_ynh. Nous n'en avons plus besoin.* + +Vous êtes prêt à travailler sur votre nouveau package ! + +#### Deuxième cas : Travailler localement sur un dépôt + +Vous disposez déjà d'un dépôt, mais ce que vous voulez, c'est travailler localement, de sorte que vous puissiez modifier plusieurs fichiers. +Il vous suffit de cloner le dépôt, le répertoire .git est le lien vers le dépôt distant. Rien d'autre à faire qu'un `git clone`. + +#### Branches + +Vous avez bien votre copie local du dépôt, mais comme vous avez lu attentivement cette documentation jusque-là, vous savez que vous devez vous assurer d'être sur la branche testing avant de commencer à travailler. + +Pour voir les branches, et savoir sur quelle branche vous êtes réellement, alors que vous êtes dans le répertoire de votre dépôt, tapez `git branch`. +La branche courante est mise en évidence et précédée d'un "*". + +#### git checkout + +S'il apparaît que vous n'êtes pas sur la branche où vous vouliez être, ou que vous êtes en fait sur master (ce qui est mal !), vous pouvez passer à une autre branche avec `git checkout`. +```bash +git checkout testing +``` +*Lisez attentivement ce que Git dit quand vous validez une commande, n'oubliez jamais que Git est sournois...* + +#### git pull avant tout + +Vous êtes enfin dans la bonne branche, et prêt à travailler. +**Attendez ! Un vilain piège vous attend...** +Avant de vous retrouver dans une situation inextricable. Commencez par un `git pull` pour mettre à jour votre branche avec les derniers changements du dépôt distant. + +*Parfois, vous rencontrerez une situation impossible où Git vous dira que vous ne pouvez pas pull parce que vous avez des changements locaux. Mais vous ne vous souciez pas de ces modifications locales, vous voulez juste obtenir la dernière version de la branche distante. Mais Git ne se soucie pas de ce que VOUS voulez...* +*Je dois admettre que ma seule solution est aussi efficace que sale... Un bon vieux `rm -r` du dépôt et un `git clone`* + +#### Il est temps de travailler + +Vous pouvez finalement travailler sur votre code. +Lorsque vous êtes enfin d'accord avec ce que vous avez fait, il est temps de valider votre travail. + +La première étape consiste à informer Git sur le(s) fichier(s) à valider. Pour ce faire, nous utiliserons `git add`. +```bash +git add mon_fichier +ajouter mon_autre_fichier et_aussi_celui_ci +``` +Si vous souhaitez valider l'ensemble de votre travail, vous pouvez aussi simplement faire +```bash +git add --all +``` + +Pour vérifier l'état actuel de votre validation, vous pouvez utiliser `git status`. Il vous montrera quels fichiers seront inclus dans votre commit, et quels fichiers sont modifiés, mais pas encore inclus. +`git status -v` vous indiquera également quelle partie des fichiers est modifiée. Une bonne façon de s'assurer que vous n'avez pas fait d'erreur avant de faire un commit. + +#### git checkout -b + +Avant de faire un commit, ou après, ou avant de commencer à travailler. Quand vous en avez envie ! +Vous devriez envisager d'ajouter votre travail à une branche séparée, de cette façon, il sera facile de créer une pull request dans la branche testing et de discuter avec les autres packagers de ce que vous suggérez de changer. + +Pour créer une nouvelle branche et passer à cette branche, vous pouvez utiliser `git checkout -b my_new_branch`. + +#### Commit + +Faire un commit, c'est simplement valider son travail dans Git. Comme vous pouvez le faire dans GitHub. +Pour avoir les mêmes champs que vous aviez sur GitHub, avec le nom du commit, et une explication plus longue. Vous pouvez simplement utiliser `git commit`. +La première ligne, avant les commentaires, est pour le nom du commit. +Après tous les commentaires, vous pouvez ajouter une explication si vous le souhaitez. + +Si vous voulez faire un commit avec seulement un nom pour votre commit, vous pouvez utiliser une simple commande : +```bash +git commit -m "My commit name" +``` + +#### Push vers le dépôt distant + +Vos modifications sont validées, mais uniquement sur votre clone local du dépôt. Maintenant, vous devez renvoyer ces modifications sur le dépôt distant sur GitHub. +Pour ce faire, vous devez savoir quelle est votre branche actuelle. (Si vous ne le savez pas, `git branch` vous donnera cette information). +Ensuite, vous pouvez git push +```bash +git push -u origin BRANCH_NAME +``` diff --git a/packaging_apps_guidelines.md b/packaging_apps_guidelines.md index 41fe5afb..2bf888de 100644 --- a/packaging_apps_guidelines.md +++ b/packaging_apps_guidelines.md @@ -119,9 +119,9 @@ For the `apps.json` list maintained by the project team, registration is on [the ##### Indicate the license associated with the package | draft | AUTO | WORKING | The license of the packet must be specified in a `LICENSE` file at the root of the packet. Be careful not to confuse with the license of the application that will be installed whose acronym is to be entered in the `license` field of the manifest. -The application lists official.json and community.json only accept packages with a free license, as well as the license for the contained application. Some free applications require non-free dependencies (example: mp3, drivers, etc.). In this case, you should add `&dep-non-free` to the acronym and if possible give details in the README.md of the package, in this case the integration will be accepted on a case-by-case basis. +The application list apps.json only accept packages with a free license, as well as the license for the contained application. Some free applications require non-free dependencies (example: mp3, drivers, etc.). In this case, you should add `&dep-non-free` to the acronym and if possible give details in the README.md of the package, in this case the integration will be accepted on a case-by-case basis. -**NB:** Apps not included in offical lists may still be installed: either manually with the URL to the app, or in a more practical way using non-official lists (which can be created and maintained by the community). +**NB:** Apps not included in apps.json lists may still be installed: either manually with the URL to the app, or in a more practical way using non-official lists (which can be created and maintained by the community). In the future, YunoHost will probably display details about the license of the application. To achieve this, the acronym must be the one from this [list of licenses listed in the SPDX](https://spdx.org/licenses/) (if there are 2 acronyms, the one containing the version number). For consistency, the case must be respected. diff --git a/packaging_apps_guidelines_fr.md b/packaging_apps_guidelines_fr.md index 847367d4..bffee5b9 100644 --- a/packaging_apps_guidelines_fr.md +++ b/packaging_apps_guidelines_fr.md @@ -89,7 +89,7 @@ La YEP 1 est une meta YEP, elle explique ce qu'il faut faire pour échanger avec ##### Nommer son app et son dépôt | validé | manuel | NOTWORKING | Chaque application YunoHost possède un id inscrit dans le manifeste de l'application. Cet identifiant doit être unique entre chaque paquet d'application. -Il est donc recommandé de vérifier sa disponibilité en consultant la liste des applications référencées dans les dépôts d'applications connus (official, community, internetcube). +Il est donc recommandé de vérifier sa disponibilité en consultant la liste des applications référencées dans les dépôts d'applications connus (apps, internetcube). De plus l'identifiant doit respecter l'expression régulière suivante `^[a-z1-9]((_|-)?[a-z1-9])+$`. Autrement dit, il doit respecter les règles suivantes : * être en minuscule @@ -114,15 +114,15 @@ Ces dépôts ont plusieurs fonctions : * indiquer l'état de fonctionnement du paquet ; * indiquer des informations sur le support d'un paquet. -Pour les listes `official.json` et `community.json` maintenues par l'équipe du projet Yunohost, l'inscription se fait sur [le dépôt git "apps"](https://github.com/YunoHost/apps). D'autres listes non-officielles (notamment celles incluant des applications non-libres) peuvent exister, se réferer au [Forum](https://forum.yunohost.org) de la communauté. +Pour la liste `apps.json` maintenue par l'équipe du projet Yunohost, l'inscription se fait sur [le dépôt git "apps"](https://github.com/YunoHost/apps). D'autres listes non-officielles (notamment celles incluant des applications non-libres) peuvent exister, se réferer au [Forum](https://forum.yunohost.org) de la communauté. #### YEP 1.3 ##### Indiquer la licence associée au paquet | brouillon | AUTO | WORKING | La licence du paquet est à indiquer dans un fichier `LICENSE` à la racine du paquet. Attention à ne pas confondre avec la licence de l'application qui va être installée dont l'acronyme est à renseigner dans le champ `license` du manifeste. -Les listes d'applications official.json et community.json n'acceptent que les paquets dont la licence est libre, de même pour la licence de l'application contenue. Certaines applications libres nécessitent des dépendances non-libres (exemple: mp3, drivers, etc.). Dans ce cas, il faut ajouter `&dep-non-free` à l'acronyme et si possible donner des précisions dans le README.md du paquet, l'intégration sera dans ce cas acceptée au cas par cas. +La liste d'application apps.json n'accepte que les paquets dont la licence est libre, de même pour la licence de l'application contenue. Certaines applications libres nécessitent des dépendances non-libres (exemple: mp3, drivers, etc.). Dans ce cas, il faut ajouter `&dep-non-free` à l'acronyme et si possible donner des précisions dans le README.md du paquet, l'intégration sera dans ce cas acceptée au cas par cas. -**NB :** Les applications non-présentes dans les listes maintenues par le projet peuvent tout de même être installées : soit manuellement via le lien de l'application, soit de manière plus intégrée via des listes non-officielles (qui peuvent être créées et maintenues par la communauté). +**NB :** Les applications non-présentes dans la liste maintenue par le projet peuvent tout de même être installées : soit manuellement via le lien de l'application, soit de manière plus intégrée via des listes non-officielles (qui peuvent être créées et maintenues par la communauté). Dans le futur, YunoHost affichera sans doute des détails sur la licence de l'application. Pour y parvenir, l'acronyme doit être celui issu de cette [liste de licences répertoriées du SPDX](https://spdx.org/licenses/) (si il y a 2 acronymes, il faut prendre celui contenant le numéro de version). Pour plus de cohérence, la casse doit être respectée. @@ -170,7 +170,7 @@ Une fois l’invitation acceptée, [transférer son dépôt sur l’organisation #### YEP 1.8 ##### Publier des demandes de test | validé | manuel | OFFICIAL | -Afin d'assurer le bon fonctionnement d'un paquet, il convient de publier une annonce afin d'ouvrir les tests sur le paquet. Cette annonce peut se faire sur le forum dans [la catégorie Apps du forum](https://forum.yunohost.org/c/apps). +Afin d'assurer le bon fonctionnement d'un paquet, il convient de publier une annonce afin d'ouvrir les tests sur le paquet. Cette annonce peut se faire sur le forum dans [la catégorie Apps du forum](https://forum.yunohost.org/c/support/apps). Il est recommandé d'indiquer si certains tests n'ont pas été menés. diff --git a/packaging_apps_helpers.md b/packaging_apps_helpers.md index 71cb32f7..476d7822 100644 --- a/packaging_apps_helpers.md +++ b/packaging_apps_helpers.md @@ -2,6 +2,7 @@

App helpers

+

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

apt

@@ -411,7 +412,7 @@

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

@@ -1428,14 +1429,13 @@ ynh_exec_fully_quiet "your_command | other_command"
ynh_script_progression
-
Print a message as INFO and show progression during an app script
+
Print a progress bar showing the progression of an app script

- Usage: ynh_script_progression --message=message [--weight=weight] [--time] -The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. + Usage: ynh_script_progression --message=message [--weight=weight] [--time]

@@ -1452,7 +1452,7 @@ The execution time is given for the duration since the previous call. So the wei -
  • -t, --time= : Print the execution time since the last call to this helper. Especially usefull to define weights.
  • +
  • -t, --time= : Print the execution time since the last call to this helper. Especially usefull to define weights. The execution time is given for the duration since the previous call. So the weight should be applied to this previous call.
  • @@ -1474,7 +1474,7 @@ The execution time is given for the duration since the previous call. So the wei

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

    @@ -1511,7 +1511,7 @@ The execution time is given for the duration since the previous call. So the wei

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

    @@ -1562,7 +1562,7 @@ The execution time is given for the duration since the previous call. So the wei

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

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

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

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

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

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

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

    @@ -3451,7 +3451,267 @@ Please always call this script in install and restore scripts

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

    + + + + + + + + +
    +
    +
    +
    ynh_permission_create
    +
    Create a new permission for the app
    +
    +
    +
    +

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

    + +

    + Arguments: +

      + + +
    • permission : the name for the permission (by default a permission named "main" already exist)
    • + + + +
    • url : (optional) URL for which access will be allowed/forbidden
    • + + + +
    • allowed : (optional) A list of group/user to allow for the permission
    • + + +
    +

    + + + +

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

    + + + +

    + Details: +

    + If provided, 'url' is assumed to be relative to the app domain/path if they
    start with '/'. For example:
    / -> domain.tld/app
    /admin -> domain.tld/app/admin
    domain.tld/app/api -> domain.tld/app/api

    'url' can be later treated as a regex if it starts with "re:".
    For example:
    re:/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
    re:domain.tld/app/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$

    Requires YunoHost version 3.7.0 or higher.

    +

    +

    + +

    + Dude, show me the code ! +

    + +
    +
    + +
    + + + +
    +
    +
    +
    ynh_permission_delete
    +
    Remove a permission for the app (note that when the app is removed all permission is automatically removed)
    +
    +
    +
    +

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

    + +

    + Arguments: +

      + + +
    • permission : the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
    • + + +
    +

    + + + +

    + Example: ynh_permission_delete --permission editors +

    + + + +

    + Details: +

    + Requires YunoHost version 3.7.0 or higher.

    +

    +

    + +

    + Dude, show me the code ! +

    + +
    +
    + +
    + + + +
    +
    +
    +
    ynh_permission_exists
    +
    Check if a permission exists
    +
    +
    +
    +

    + + Usage: ynh_permission_exists --permission=permission + +

    + +

    + Arguments: +

      + + +
    • -p, --permission : the permission to check
    • + + +
    +

    + + + + + +

    + Details: +

    + Requires YunoHost version 3.7.0 or higher.

    +

    +

    + +

    + Dude, show me the code ! +

    + +
    +
    + +
    + + + +
    +
    +
    +
    ynh_permission_url
    +
    Redefine the url associated to a permission
    +
    +
    +
    +

    + + Usage: ynh_permission_url --permission "permission" --url "url" + +

    + +

    + Arguments: +

      + + +
    • permission : the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
    • + + + +
    • url : (optional) URL for which access will be allowed/forbidden
    • + + +
    +

    + + + + + +

    + Details: +

    + Requires YunoHost version 3.7.0 or higher.

    +

    +

    + +

    + Dude, show me the code ! +

    + +
    +
    + +
    + + + +
    +
    +
    +
    ynh_permission_update
    +
    Update a permission for the app
    +
    +
    +
    +

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

    + +

    + Arguments: +

      + + +
    • permission : the name for the permission (by default a permission named "main" already exist)
    • + + + +
    • add : the list of group or users to enable add to the permission
    • + + + +
    • remove : the list of group or users to remove from the permission
    • + + +
    +

    + + + +

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

    + + + +

    + Dude, show me the code !

    @@ -4359,7 +4619,7 @@ Please always call this script in install and restore scripts

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

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

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

    @@ -4473,7 +4733,7 @@ Please always call this script in install and restore scripts

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

    @@ -4524,7 +4784,7 @@ Please always call this script in install and restore scripts

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

    @@ -4564,7 +4824,7 @@ Please always call this script in install and restore scripts

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

    @@ -4611,7 +4871,7 @@ Please always call this script in install and restore scripts

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

    @@ -4655,7 +4915,7 @@ Please always call this script in install and restore scripts

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

    @@ -4706,7 +4966,7 @@ Please always call this script in install and restore scripts

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

    @@ -4753,7 +5013,7 @@ Please always call this script in install and restore scripts

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

    @@ -4800,7 +5060,7 @@ Please always call this script in install and restore scripts

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

    @@ -4836,7 +5096,7 @@ Please always call this script in install and restore scripts

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

    @@ -4847,9 +5107,6 @@ Please always call this script in install and restore scripts -

    Generated by this script on 07/11/2019 (Yunohost version 3.6.4.3)

    - -