diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..18a27402 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: bash + +script: + - bash tests/dead_links.sh + - bash tests/unreferenced_pages.sh + - bash tests/check_code_block_syntax.sh diff --git a/OVH_fr.md b/OVH_fr.md index 92df9c1f..303626bd 100644 --- a/OVH_fr.md +++ b/OVH_fr.md @@ -10,16 +10,16 @@ Cliquez sur l'onglet **Zone DNS**, puis sur **Ajouter une entrée**: -Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config_fr). +Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config). ###IP dynamique -[Tutoriel plus général sur l’IP dynamique](dns_dynamicip_fr). +[Tutoriel plus général sur l’IP dynamique](/dns_dynamicip). Cette partie est à suivre, que si votre IP est dynamique. -Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp_fr). +Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp). Commencez par créer un identifiant DynHost. diff --git a/XMPP.md b/XMPP.md index 2cef78c0..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 @@ -53,7 +53,7 @@ XMPP chats can be made secure and private using [OMEMO] encryption (https://xmpp To create a chatroom (multi-user chat) on your YunoHost server, use the identifier `chatroomname@muc.yourdomain.tld`. -For this to work you need to [add the corresponding `muc.` DNS record](dns_config_fr) in the DNS configuration. +For this to work you need to [add the corresponding `muc.` DNS record](/dns_config) in the DNS configuration. ## VoIP and videoconferences diff --git a/XMPP_es.md b/XMPP_es.md index 228b941f..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 : @@ -43,7 +44,7 @@ Es posible cifrar tu conversaciones XMPP con la ayuda de [OMEMO](https://xmpp.or Para crear un salón de discusión (Multi-user chat) en tu servidor Yunohost, utiliza el ID nombredelsalon@muc.dominio.tld (donde dominio.tld es el dominio principal de tu servidor). -Si utilizas un nombre de dominio personal, es necesario [añadir una redirección de tipo CNAME para el subdominio `muc.`](dns_config_es) en tu servidor DNS. +Si utilizas un nombre de dominio personal, es necesario [añadir una redirección de tipo CNAME para el subdominio `muc.`](/dns_config) en tu servidor DNS. ### VoIP y videoconferencias diff --git a/XMPP_fr.md b/XMPP_fr.md index 594f2151..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 @@ -52,7 +53,7 @@ Il est possible de rendre les conversations plus sécurisées et privées en les Pour créer un salon de discussion (Multi-user chat) sur votre serveur Yunohost utilisez l’identifiant nomsalon@muc.domaine.tld (où domaine.tld est le domaine principal de votre serveur). -Si vous utilisez un nom de domaine personnel, il est nécessaire d’[ajouter une redirection de type CNAME pour le sous domaine `muc.`](dns_config_fr) au niveau de votre serveur DNS. +Si vous utilisez un nom de domaine personnel, il est nécessaire d’[ajouter une redirection de type CNAME pour le sous domaine `muc.`](/dns_config) au niveau de votre serveur DNS. ## VoIP et visioconférence diff --git a/admin_es.md b/admin_es.md index dc6bea60..573adb3b 100644 --- a/admin_es.md +++ b/admin_es.md @@ -1,6 +1,6 @@ # La interfaz de administración web -Yunohost tiene una interfaz gráfica de administración. El otro método consiste en utilizar la [linea de comando](/commandline_es). +Yunohost tiene una interfaz gráfica de administración. El otro método consiste en utilizar la [linea de comando](/commandline). ### Acceso diff --git a/admin_fr.md b/admin_fr.md index ec8476e5..5601de0f 100644 --- a/admin_fr.md +++ b/admin_fr.md @@ -1,6 +1,6 @@ # L’interface d’administration web -YunoHost est fourni avec une interface graphique d’administration. L’autre méthode est d’utiliser la [ligne de commande](/commandline_fr). +YunoHost est fourni avec une interface graphique d’administration. L’autre méthode est d’utiliser la [ligne de commande](/commandline). ### Accès diff --git a/admindoc.md b/admindoc.md index f4937dbb..ce519fe5 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) @@ -35,12 +36,16 @@ * [Updating the system](/update) and [apps](/app_update) * [Security](/security) * Going further + * [Specific apps documentations](/appsdoc) * [Noho.st / nohost.me / ynh.fr domain names](/dns_nohost_me) * [Exchange files with your server using a graphical interface](/filezilla) * [Customize the appearance of the YunoHost portal](/theming) * [Adding an external storage](/external_storage) * [Migrating emails to YunoHost](/email_migration) * [Hide services with Tor](/torhiddenservice) -* [Troubleshooting guide](/troubleshooting_guide) - * [Unlock IP in iptables](/fail2ban) + * [A discussion about the advantages of using a VPN](/vpn_advantage) + * [(old) Jessie->Stretch migration procedure](jessie_stretch_migration) +* 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 2f186795..8b76abd5 100644 --- a/admindoc_fr.md +++ b/admindoc_fr.md @@ -1,56 +1,62 @@ # Documentation pour les administrateurs YunoHost * Découvrir l'auto-hébergement - * [Qu'est-ce que l'auto-hébergement](/selfhosting_fr) - * [Qu'est-ce que YunoHost](/whatsyunohost_fr) - * [Essayer YunoHost](/try_fr) - * [Choisir son mode d'hébergement](howtohostyourself_fr) - * [Matériel compatible](/hardware_fr) - * [À propos des fournisseurs d'accès internet](/isp_fr) -* [Guide d’installation](/install_fr) - * [Sur un ordinateur "standard"](/install_iso_fr) - * [Sur un serveur dédié ou virtuel (VPS)](/install_on_vps_fr) - * [Sur un Raspberry Pi](/install_on_raspberry_fr) - * [Sur une carte ARM](/install_on_arm_board_fr) - * [Sur Debian](/install_on_debian_fr) - * [Sur VirtualBox](/install_on_virtualbox_fr) + * [Qu'est-ce que l'auto-hébergement](/selfhosting) + * [Qu'est-ce que YunoHost](/whatsyunohost) + * [Essayer YunoHost](/try) + * [Choisir son mode d'hébergement](/howtohostyourself) + * [Matériel compatible](/hardware) + * [À propos des fournisseurs d'accès internet](/isp) +* [Guide d’installation](/install) + * [Sur un ordinateur "standard"](/install_iso) + * [Sur un serveur dédié ou virtuel (VPS)](/install_on_vps) + * [Sur un Raspberry Pi](/install_on_raspberry) + * [Sur une carte ARM](/install_on_arm_board) + * [Sur Debian](/install_on_debian) + * [Sur VirtualBox](/install_on_virtualbox) * Finaliser son installation - * [Post-installation](/postinstall_fr) - * [Configurer les redirections de port](/isp_box_config_fr) - * [Configurer les enregistrements DNS](/dns_config_fr) - * [Installer un certificat SSL](/certificate_fr) - * [Diagnostic du bon fonctionnement du YunoHost](/diagnostic_fr) + * [Post-installation](/postinstall) + * [Configurer les redirections de port](/isp_box_config) + * [Configurer les enregistrements DNS](/dns_config) + * [Installer un certificat SSL](/certificate) + * [Diagnostic du bon fonctionnement du YunoHost](/diagnostic) * Apprendre à connaitre YunoHost - * [Vue d'ensemble de YunoHost](/overview_fr) - * [Conseil généraux](/guidelines_fr) - * [L'interface d'administration web](/admin_fr) - * [SSH](/ssh_fr) et [l'administration en ligne de commande](/commandline_fr) - * [Les utilisateurs et le SSO](/users_fr) - * [Les applications](/apps_overview_fr) - * [Les domaines, la configuration DNS et les certificats](/domains_fr) - * [Les emails](/email_fr) - * [Formulaires pour enlever son adresse IP des listes noires](/blacklist_forms_fr) - * [XMPP](/XMPP_fr) - * [Les sauvegardes](/backup_fr) - * [Mettre à jour le système](/update_fr) et [les applications](/app_update_fr) - * [La sécurité](/security_fr) + * [Vue d'ensemble de YunoHost](/overview) + * [Conseil généraux](/guidelines) + * [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) + * [Formulaires pour enlever son adresse IP des listes noires](/blacklist_forms) + * [XMPP](/XMPP) + * [Les sauvegardes](/backup) + * [Mettre à jour le système](/update) et [les applications](/app_update) + * [La sécurité](/security) * Pour aller plus loin * Noms de domaine - * [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me_fr) - * [Configurer un DNS dynamique avec une adresse IP dynamique](/dns_dynamicip_fr) - * [DNS et installation d’une application sur un sous-domaine](/dns_subdomains_fr) - * [Utiliser le résolveur DNS local](/dns_resolver_fr) - * [Gérer les enregistrements DNS chez OVH](/OVH_fr) + * [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me) + * [Configurer un DNS dynamique avec une adresse IP dynamique](/dns_dynamicip) + * [DNS et installation d’une application sur un sous-domaine](/dns_subdomains) + * [Utiliser le résolveur DNS local](/dns_resolver) + * [Gérer les enregistrements DNS chez OVH](/OVH) * Notes à propos de certains fournisseurs d'accès à Internet - * [SFR](/isp_sfr_fr) - * [Orange](/isp_orange_fr) - * [Free](/isp_free_fr) + * [SFR](/isp_sfr) + * [Orange](/isp_orange) + * [Free](/isp_free) + * [Documentation spécifique à certaines apps](/appsdoc) + * [Equivalence entre service framasoft et apps](/apps_framasoft) * [Échanger des fichiers avec son serveur à l'aide d'une interface graphique](/filezilla) - * [Modifier l'apparence du portail utilisateur](/theming_fr) - * [Ajouter un stockage externe](/external_storage_fr) - * [Migrer ses emails vers YunoHost](/email_migration_fr) - * [YunoHost avec un service caché Tor](/torhiddenservice_fr) - * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom_fr) -* [Guide de dépannage](/troubleshooting_guide_fr) - * [Débloquer une IP dans Fail2ban](/fail2ban_fr) - * [Changer le mot de passe d’administration](/change_admin_password_fr) + * [Modifier l'apparence du portail utilisateur](/theming) + * [Ajouter un stockage externe](/external_storage) + * [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) +* 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/collabora_en.md b/app_collaboradocker.md similarity index 89% rename from collabora_en.md rename to app_collaboradocker.md index cd3af0c8..504fe174 100644 --- a/collabora_en.md +++ b/app_collaboradocker.md @@ -1,5 +1,5 @@ # Install Collabora with Nextcloud, using Docker -**Note :** This walkthrough is based on a Debian 8 instance, and has not been tested since version 3 upgrade of Yunohost. As a prerequisite, you must have configured your domains and sub-domains in the DNS, in compliance with : [DNS](/dns_en), [Sub-domain install of an app](/dns_subdomains_en), [DNS settings](/dns_config_en) and [noho.st / nohost.me / ynh.fr domains](/dns_nohost_me)). +**Note :** This walkthrough is based on a Debian 8 instance, and has not been tested since version 3 upgrade of Yunohost. As a prerequisite, you must have configured your domains and sub-domains in the DNS, in compliance with : [DNS](/dns), [Sub-domain install of an app](/dns_subdomains), [DNS settings](/dns_config) and [noho.st / nohost.me / ynh.fr domains](/dns_nohost_me)). ### 0. Install Nextcloud diff --git a/collabora_fr.md b/app_collaboradocker_fr.md similarity index 89% rename from collabora_fr.md rename to app_collaboradocker_fr.md index 29f352c2..a9af6a57 100644 --- a/collabora_fr.md +++ b/app_collaboradocker_fr.md @@ -1,6 +1,6 @@ # Installer Collabora avec Nextcloud via Docker -**Note :** la marche à suivre detaillée est réalisée ici à partir d’une instance Yunohost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de Yunohost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance Yunohost (voir [DNS](/dns_fr), [DNS et installation d’une application sur un sous-domaine](/dns_subdomains_fr), [Configurer les enregistrements DNS](/dns_config_fr) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me_fr)). +**Note :** la marche à suivre detaillée est réalisée ici à partir d’une instance Yunohost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de Yunohost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance Yunohost (voir [DNS](/dns), [DNS et installation d’une application sur un sous-domaine](/dns_subdomains), [Configurer les enregistrements DNS](/dns_config) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me)). ### 0. Installer Nextcloud diff --git a/app_gogs.md b/app_gogs.md new file mode 100644 index 00000000..f2ee0bed --- /dev/null +++ b/app_gogs.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_gogs_fr) for now. diff --git a/app_jappix_fr.md b/app_jappix_fr.md index e9b0fd2d..aa044fe2 100644 --- a/app_jappix_fr.md +++ b/app_jappix_fr.md @@ -1,3 +1,3 @@ #Jappix -Jappix est un client web [XMPP](/XMPP_fr). +Jappix est un client web [XMPP](/XMPP). diff --git a/app_nextcloud.md b/app_nextcloud.md index 66ad3fb7..4bd63778 100644 --- a/app_nextcloud.md +++ b/app_nextcloud.md @@ -37,7 +37,7 @@ Finally click on the check mark to validate the folder. #### II. Migrate Nextcloud data to a larger partition -**Note**: The following assumes that you have a hard disk mounted on `/media/storage`. Refer to[this article](/external_storage_en) to prepare your system. +**Note**: The following assumes that you have a hard disk mounted on `/media/storage`. Refer to[this article](/external_storage) to prepare your system. **Note**: Replace `nextcloud` with the name of its instance, if you have several Nextcloud apps installed. @@ -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_calendar.md b/app_nextcloud_calendar.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_calendar.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_carnet.md b/app_nextcloud_carnet.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_carnet.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_contact.md b/app_nextcloud_contact.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_contact.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_fr.md b/app_nextcloud_fr.md index fb889026..e5dc9000 100644 --- a/app_nextcloud_fr.md +++ b/app_nextcloud_fr.md @@ -37,7 +37,7 @@ Enfin cliquer sur la coche pour valider le dossier. #### II. Migrer les données de Nextcloud dans une partition plus grosse -**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage_fr) pour préparer votre système. +**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage) pour préparer votre système. **Remarque** : Remplacez `nextcloud` par le nom de son instance, si vous avez plusieurs apps Nextcloud installées. @@ -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. @@ -158,10 +158,10 @@ Sauvegarder et nettoyer vos caches (Cloudflare, navigateur, ...) et le tour est ## Applications Tiers - + [Calendrier](app_nextcloud_calendar_fr) - + [contact](app_nextcloud_contact_fr) - + [KeeWeb](app_nextcloud_keeweb_fr) - + [Carnet](app_nextcloud_carnet_fr) + + [Calendrier](/app_nextcloud_calendar) + + [contact](/app_nextcloud_contact) + + [KeeWeb](/app_nextcloud_keeweb) + + [Carnet](/app_nextcloud_carnet) ## Quelques liens utiles diff --git a/app_piwigo_fr.md b/app_piwigo_fr.md index ada13e24..1c5b704a 100644 --- a/app_piwigo_fr.md +++ b/app_piwigo_fr.md @@ -13,8 +13,8 @@ Les extensions rendent Piwigo facilement personnalisable. Cerise sur le gâteau, ## Fonctionnalités -En plus des [fonctionnalités principales](Piwigo) de Piwigo, ce paquet propose également: - +En plus des [fonctionnalités principales](http://piwigo.org/basics/features) de Piwigo, ce paquet propose également: + * une intégration avec le système de gestion des utilisateurs et le SSO de Yunohost : * installation privée : limitée aux utilisateurs de YunoHost * installation publique : diff --git a/app_pleroma.md b/app_pleroma.md new file mode 100644 index 00000000..595e2038 --- /dev/null +++ b/app_pleroma.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_pleroma_fr) for now. diff --git a/app_sogo.md b/app_sogo.md new file mode 100644 index 00000000..09a46e5f --- /dev/null +++ b/app_sogo.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_sogo_fr) for now. diff --git a/app_spip.md b/app_spip.md index fb51d7ab..880b41e6 100644 --- a/app_spip.md +++ b/app_spip.md @@ -20,7 +20,7 @@ $ sudo yunohost app install https://github.com/YunoHost-Apps/spip_ynh.git_ynh.gi ##### Update -``` +```bash sudo yunohost app upgrade --verbose spip -u https://github.com/YunoHost-Apps/spip_ynh.git_ynh.git ``` @@ -30,4 +30,4 @@ Access the administration of the site by entering the following address in your https://www.domain.tld/spip/ecrire -Make a "forgotten password" request to change your password, you will receive an email telling you how to change your password. \ No newline at end of file +Make a "forgotten password" request to change your password, you will receive an email telling you how to change your password. diff --git a/app_spip_fr.md b/app_spip_fr.md index b765947e..78310855 100644 --- a/app_spip_fr.md +++ b/app_spip_fr.md @@ -20,7 +20,7 @@ $ sudo yunohost app install https://github.com/YunoHost-Apps/spip_ynh.git #### Mise à jour -``` +```bash $ sudo yunohost app upgrade --verbose spip -u https://github.com/YunoHost-Apps/spip_ynh.git ``` 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 cb94f3bb..df00ad3d 100644 --- a/app_transmission_fr.md +++ b/app_transmission_fr.md @@ -23,11 +23,11 @@ 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 ? -Une fois connecté en [SSH](ssh_fr), placez-vous dans le répertoire de téléchargement et zippez le répertoire : +Une fois connecté en [SSH](/ssh), placez-vous dans le répertoire de téléchargement et zippez le répertoire : ```bash cd /home/yunohost.transmission/completed zip -r votre_archive.zip [dossier] diff --git a/apps.md b/apps.md index 70eff9be..7b5ff79b 100644 --- a/apps.md +++ b/apps.md @@ -44,7 +44,7 @@ Disclaimers
-
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
+
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
@@ -33,8 +33,8 @@
- Ensajar - Installar + Ensajar + Installar

YunoHost v3.6

@@ -43,7 +43,7 @@

Installatz vòstre servidor simplament, avètz ja tot çò que cal a l’ostal

-

Far veire los requistes

+

Far veire los requistes

@@ -62,7 +62,7 @@

Profitatz de vòstras aplicacions web e fabricatz vòstre canton d’Internet

-


Lista de las aplicacions disponiblas

+


Lista de las aplicacions disponiblas

@@ -71,7 +71,7 @@

Gerissètz vòstre servidor coma volgatz : via web, mobil o en linha de comanda

-


Ensajar l’interfàcia d’administracion

+


Ensajar l’interfàcia d’administracion

@@ -85,18 +85,18 @@ diff --git a/install.md b/install.md index 5e768242..255f78f0 100644 --- a/install.md +++ b/install.md @@ -83,4 +83,8 @@ This page lists a few installation guides.

Dev environment in LXD/LXC

+ +
diff --git a/install_ar.md b/install_ar.md index 65c5dde5..67afb69a 100644 --- a/install_ar.md +++ b/install_ar.md @@ -14,11 +14,11 @@ @@ -32,15 +32,15 @@ @@ -58,7 +58,7 @@ @@ -72,7 +72,7 @@
diff --git a/install_es.md b/install_es.md index 3c3fb448..cb16720a 100644 --- a/install_es.md +++ b/install_es.md @@ -1,6 +1,6 @@ # Guía de instalación -Existen varias maneras de instalar YunoHost. El método y el hardware difieren un poco si quieres instalarlo en tu casa o en acceso remoto : **[ver el hardware compatible](/hardware_es)** +Existen varias maneras de instalar YunoHost. El método y el hardware difieren un poco si quieres instalarlo en tu casa o en acceso remoto : **[ver el hardware compatible](/hardware)** Esta página enumera varios tipos de instalaciones, clasificados por categorías. @@ -11,11 +11,11 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías @@ -29,15 +29,15 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías @@ -55,7 +55,7 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías @@ -69,7 +69,7 @@ Esta página enumera varios tipos de instalaciones, clasificados por categorías
diff --git a/install_fr.md b/install_fr.md index a6ceeac1..a64868bd 100644 --- a/install_fr.md +++ b/install_fr.md @@ -1,6 +1,6 @@ # Guide d’installation -Il existe plusieurs manières d’installer YunoHost. La méthode d’installation diffère légèrement si vous souhaitez l’installer chez vous ou à distance, et du matériel utilisé : **[voir le matériel compatible](/hardware_fr)** +Il existe plusieurs manières d’installer YunoHost. La méthode d’installation diffère légèrement si vous souhaitez l’installer chez vous ou à distance, et du matériel utilisé : **[voir le matériel compatible](/hardware)** Cette page liste plusieurs types d’installations, classés par catégories. @@ -11,11 +11,11 @@ Cette page liste plusieurs types d’installations, classés par catégories. @@ -29,7 +29,7 @@ Cette page liste plusieurs types d’installations, classés par catégories.
@@ -37,7 +37,7 @@ Cette page liste plusieurs types d’installations, classés par catégories.
@@ -55,7 +55,7 @@ Cette page liste plusieurs types d’installations, classés par catégories. @@ -69,7 +69,7 @@ Cette page liste plusieurs types d’installations, classés par catégories.
@@ -77,4 +77,8 @@ Cette page liste plusieurs types d’installations, classés par catégories.

Environnement de dev avec LXD/LXC

+ +
diff --git a/install_iso_es.md b/install_iso_es.md index 91de3195..51b5889d 100644 --- a/install_iso_es.md +++ b/install_iso_es.md @@ -1,6 +1,6 @@ # Instalación en un ordenador -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* ## Prerrequisitos @@ -10,7 +10,7 @@ * Un ordenador compatible x86 dedicado a YunoHost : portátil, netbook, ordenador de escritorio. Puedes reutilizar calquiera máquina con **256 Mo de RAM mínimo** * Otro ordenador para examinar esta guía y acceder a tu servidor -* Un [proveedor de Internet ético](/isp_es), de preferencia con acceso de buena velocidad (ascendente) +* Un [proveedor de Internet ético](/isp), de preferencia con acceso de buena velocidad (ascendente) * Una **memoria USB** con capacidad mínima de 1Go **O** un **CD en blanco** estándar * ***Casos particulares*** : si tu servidor no tiene tarjeta gráfica, hay que preparar un iso que se inicie sobre el puerto de serie](https://github.com/luffah/debian-mkserialiso). @@ -18,13 +18,13 @@ ## Etapas de instalación -0. Descargar la imagen ISO +0. Descargar la imagen ISO -1. Copiar la imagen ISO +1. Copiar la imagen ISO -2. Encender e instalar +2. Encender e instalar -3. Post-instalación +3. Post-instalación --- diff --git a/install_iso_fr.md b/install_iso_fr.md index 043b5198..85bddef8 100644 --- a/install_iso_fr.md +++ b/install_iso_fr.md @@ -1,6 +1,6 @@ # Installation sur ordinateur -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -10,7 +10,7 @@ * Un matériel compatible x86 dédié à YunoHost : portable, netbook, ordinateur. Vous pouvez réutiliser n’importe quelle machine avec **256 Mo de RAM minimum** * Un autre ordinateur pour parcourir ce guide et accéder à votre serveur -* Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse de téléversement (débit montant) +* Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse de téléversement (débit montant) * Une **clé USB** d’une capacité minimum d’1Go **OU** un **CD vierge** standard * ***Cas particulier*** : Si votre serveur n'a pas de carte graphique, il faut [préparer un iso qui démarre sur le port série](https://github.com/luffah/debian-mkserialiso). @@ -18,13 +18,13 @@ ## Étapes d’installation -0. Télécharger l'image ISO de YunoHost +0. Télécharger l'image ISO de YunoHost -1. Flasher l’image ISO sur une clef USB +1. Flasher l’image ISO sur une clef USB -2. Démarrer la machine et installer YunoHost +2. Démarrer la machine et installer YunoHost -3. Effectuer la configuration initiale (post-installation) +3. Effectuer la configuration initiale (post-installation) --- diff --git a/install_iso_it.md b/install_iso_it.md index dfec6cdd..b16d068e 100644 --- a/install_iso_it.md +++ b/install_iso_it.md @@ -1,6 +1,6 @@ # Installazione in un computer -*Altri modi per installare YunoHost **[Clicca qui](/install_it)**.* +*Altri modi per installare YunoHost **[Clicca qui](/install)**.* ### Requisiti diff --git a/install_manually_es.md b/install_manually_es.md index c5120e0a..8f273361 100644 --- a/install_manually_es.md +++ b/install_manually_es.md @@ -8,7 +8,7 @@ curl https://install.yunohost.org | bash *(Si `curl` no está instalado en tu sistema, tal vez tendrás que instalarlo con `apt install curl`. De otro modo, si el comando no muestra nada, puedes intentar `apt install ca-certificates`)* -Cuando la instalación esté terminada, habrá que [**proceder a la post-instalación**](/postinstall_es) +Cuando la instalación esté terminada, habrá que [**proceder a la post-instalación**](/postinstall) --- diff --git a/install_on_arm_board.md b/install_on_arm_board.md index f6f70aa9..9703b54f 100644 --- a/install_on_arm_board.md +++ b/install_on_arm_board.md @@ -43,10 +43,10 @@ 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 +2. Plug & boot -3. Connect to your server with SSH +3. Connect to your server with SSH -4. Follow the generic install procedure +4. Follow the generic install procedure diff --git a/install_on_arm_board_es.md b/install_on_arm_board_es.md index 26477bf7..8a3d5278 100644 --- a/install_on_arm_board_es.md +++ b/install_on_arm_board_es.md @@ -1,6 +1,6 @@ # Instalar Yunohost en una tarjeta ARM -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.*
@@ -19,21 +19,21 @@ YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más inf - Un adaptador de corriente para alimentar la tarjeta ; - Una tarjeta microSD : al menos **8 Go** y **Clase 10** (por ejemplo una [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un cable ethernet/RJ-45 para conectar la carte con el router / caja internet. (Con el Raspberry Pi 0, puedes conectar tu tarjeta con un cable OTG y un adaptador Wifi USB.) -- Un [proveedor de Internet ético](/isp_es), de preferencia con una buena velocidad de upload. +- Un [proveedor de Internet ético](/isp), de preferencia con una buena velocidad de upload. --- ## Instalación con la imagen pre-instalada (recomendada) -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". +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 +2. Conectar y encender -3. Conectarse en SSH +3. Conectarse en SSH -4. Proceder a la post-instalación +4. Proceder a la post-instalación --- @@ -41,11 +41,11 @@ 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 +2. Conectar y encender -3. Conectarse en SSH +3. Conectarse en SSH -4. Proceder a la post-instalación genérica +4. Proceder a la post-instalación genérica diff --git a/install_on_arm_board_fr.md b/install_on_arm_board_fr.md index 02f207cd..68be4675 100644 --- a/install_on_arm_board_fr.md +++ b/install_on_arm_board_fr.md @@ -1,6 +1,6 @@ # Installer YunoHost sur carte ARM -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* +*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install)**.*
@@ -19,21 +19,21 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio - Un adaptateur secteur pour alimenter la carte ; - Une carte microSD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. (Avec le Raspberry Pi 0, vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.) -- Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse d’upload. +- Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse d’upload. --- ## Installation avec l'image pré-installée (recommandée) -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". +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 +2. Brancher la carte et la laisser démarrer -3. Se connecter en SSH sur le serveur +3. Se connecter en SSH sur le serveur -4. Effectuer la configuration initiale (post-installation) +4. Effectuer la configuration initiale (post-installation) --- @@ -41,11 +41,11 @@ 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 +2. Brancher & démarrer -3. Se connecter en SSH +3. Se connecter en SSH -4. Suivre la procédure d'installation générique +4. Suivre la procédure d'installation générique diff --git a/install_on_debian_fr.md b/install_on_debian_fr.md index 4b05905e..eaa21951 100644 --- a/install_on_debian_fr.md +++ b/install_on_debian_fr.md @@ -1,6 +1,6 @@ # Installation sur Debian -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -18,7 +18,7 @@ Sur une plateforme ARM, un VPS, un serveur dédié, un ordinateur x86 standard, ## Étapes d’installation -1. Installer manuellement +1. Installer manuellement -2. Post-installation +2. Post-installation 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_es.md b/install_on_raspberry_es.md index 902c8ab1..b4fd51bf 100644 --- a/install_on_raspberry_es.md +++ b/install_on_raspberry_es.md @@ -1,6 +1,6 @@ # Instalar YunoHost en un Raspberry Pi -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.*
@@ -17,21 +17,21 @@ Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las - Un adaptador de corriente para alimentar la tarjeta ; - Una tarjeta microSD : al menos **8 Go** y **Clase 10** (por ejemplo una [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un cable ethernet/RJ-45 para conectar la tarjeta con tu enrutador o tu caja internet. (Con el Raspberry Pi 0, puedes conectar tu tarjeta con un cable OTG y un adaptador Wifi USB.) -- Un [proveedor de Internet ético](/isp_es), de preferencia con buena velocidad de upload. +- Un [proveedor de Internet ético](/isp), de preferencia con buena velocidad de upload. --- ## Instalación con la imagen pre-instalada (recomendada) -1. Descargar la imagen para Raspberry Pi +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 +3. Conectar y encender -4. Conectarse en SSH +4. Conectarse en SSH -5. Proceder a la post-instalación +5. Proceder a la post-instalación --- @@ -56,5 +56,5 @@ sudo passwd root 3. Desconéctate et reconéctate con el usuario root esta vez. -4. Sigue con el procedimiento de instalación manual genérico. +4. Sigue con el procedimiento de instalación manual genérico. diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index 3290b24f..c3fd6452 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -1,6 +1,6 @@ # Installer YunoHost sur Raspberry Pi -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* +*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install)**.*
@@ -17,21 +17,21 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan - Un adaptateur secteur pour alimenter la carte ; - Une carte microSD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. (Avec le Raspberry Pi 0, vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.) -- Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse d’upload. +- Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse d’upload. --- ## Installation avec l'image pré-installée (recommandée) -1. Télécharger l'image pour Raspberry Pi +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 +3. Brancher la carte et la laisser démarrer -4. Se connecter en SSH sur le serveur +4. Se connecter en SSH sur le serveur -5. Effectuer la configuration initiale (post-installation) +5. Effectuer la configuration initiale (post-installation) --- @@ -57,5 +57,5 @@ sudo passwd root 3. Déconnectez-vous et reconnectez-vous avec l'utilisateur root cette fois. -4. Poursuivez avec la procédure d'installation manuelle générique. +4. Poursuivez avec la procédure d'installation manuelle générique. diff --git a/install_on_raspberry_it.md b/install_on_raspberry_it.md index b2f88cb0..1b3ca866 100644 --- a/install_on_raspberry_it.md +++ b/install_on_raspberry_it.md @@ -1,3 +1,3 @@ # Installa YunoHost su Raspberry Pi -*Consulta la guida completa in inglese [qui](https://yunohost.org/#/install_on_raspberry_en)* +*Consulta la guida completa in inglese [qui](/install_on_raspberry)* diff --git a/install_on_virtualbox_es.md b/install_on_virtualbox_es.md index be31c3d2..9a6260d6 100644 --- a/install_on_virtualbox_es.md +++ b/install_on_virtualbox_es.md @@ -1,13 +1,13 @@ # Instalar YunoHost en VirtualBox -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* ## Prerrequisitos * Un ordenador x86 con VirtualBox instalado y bastante RAM disponible para iniciar una pequeña máquina virtual. -* La última **imagen ISO YunoHost** estable, disponible [aquí](/images_es). +* La última **imagen ISO YunoHost** estable, disponible [aquí](/images).
N.B. : Instalar YunoHost en VirtualBox es útil para probar la distribución. Para realmente autoalojarse a largo plazo, probablement necesitarás una máquina virtual (viejo ordenador, tarjeta ARM...) o un VPS. @@ -73,4 +73,4 @@ Si te encuentras con el error "VT-x is not available", probablement hay que acti Después del reinicio, la máquina debería proponerte de efectuar la post-instalación : -Documentación de post-instalación +Documentación de post-instalación diff --git a/install_on_virtualbox_fr.md b/install_on_virtualbox_fr.md index f83a3151..d99807af 100644 --- a/install_on_virtualbox_fr.md +++ b/install_on_virtualbox_fr.md @@ -1,13 +1,13 @@ # Installer YunoHost sur VirtualBox -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis * Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle. -* La dernière **image ISO YunoHost** stable, disponible [ici](/images_fr). +* La dernière **image ISO YunoHost** stable, disponible [ici](/images).
N.B. : Installer YunoHost dans une VirtualBox est utile pour tester la diff --git a/install_on_vps_es.md b/install_on_vps_es.md index 0263d71f..f6eb2eb7 100644 --- a/install_on_vps_es.md +++ b/install_on_vps_es.md @@ -1,6 +1,6 @@ # Instalación en un servidor dedicado -*Encontrar otros medios de instalar Yunohost **[aquí](/install_es)**.* +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* ## Prerrequisitos @@ -14,7 +14,7 @@ ## Etapas de instalación -1. Instalar manualmente +1. Instalar manualmente -2. Post-instalación +2. Post-instalación diff --git a/install_on_vps_fr.md b/install_on_vps_fr.md index 9194d9b7..a0924cb8 100644 --- a/install_on_vps_fr.md +++ b/install_on_vps_fr.md @@ -1,6 +1,6 @@ # Installation sur un serveur dédié -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -14,6 +14,6 @@ ## Étapes d’installation -1. Installer manuellement +1. Installer manuellement -2. Effectuer la configuration initiale (post-installation) +2. Effectuer la configuration initiale (post-installation) diff --git a/isp.md b/isp.md index d84d9e87..ba3f8626 100644 --- a/isp.md +++ b/isp.md @@ -1,12 +1,12 @@ # Internet service providers - Main configuration box + Main configuration box Here is a non-comprehensive list of internet service providers by country, which contains criteria about tolerance to self-hosting. A "no" may cause problems for using your server or may require you to make additional configuration changes. Status in brackets indicates the default behavior. -A list of French and Belgian ISPs is available on the [french page](/isp_fr). +A list of French and Belgian ISPs is available on the [french page](/isp). ### USA | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | diff --git a/isp_box_config.md b/isp_box_config.md index 465a82eb..883889c0 100644 --- a/isp_box_config.md +++ b/isp_box_config.md @@ -28,16 +28,16 @@ In your router admin interface, look for something like 'router configuration' o Opening the ports listed below is necessary for the various services available in YunoHost to work. For each of them, the 'TCP' forwarding is needed. Some interfaces refer to 'external' and 'internal' ports : these are the same in our case. * Web: 80 (HTTP), 443 (HTTPS) -* [SSH](/ssh_en): 22 -* [XMPP](/XMPP_en): 5222 (clients), 5269 (servers) -* [Email](/email_en): 25, 587 (SMTP), 993 (IMAP) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP) If you use both a modem and a router, then you need to do the following: 1. first on the modem (the box closest to the internet) create rules to forward the above ports to your router; 2. then on the router (the box between the modem and your devices) create rules to forward the above ports to the static IP address for your server.
- Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](isp_en) for more info. + Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](/isp) for more info.
## Automatic port forwarding / UPnP diff --git a/isp_box_config_es.md b/isp_box_config_es.md index dc239ef0..3d5b93f3 100644 --- a/isp_box_config_es.md +++ b/isp_box_config_es.md @@ -1,6 +1,6 @@ # Configurar la redirección de los puertos -Si te estás auto-alojando en casa y sin VPN, tienes que redirigirse los puertos de tu router (caja/box). Si quieres una explicación sencilla de lo que es y por qué necesitas redirigir los puertos, puedes echar un vistazo a [esta página](port_forwarding_es). [Esta página](https://www.testdevelocidad.es/configuraciones/abrir-correctamente-los-puertos-router/) también propone explicaciones detalladas sobre el funcionamiento de los puertos, y las etapas de configuración para un router genérico. +Si te estás auto-alojando en casa y sin VPN, tienes que redirigirse los puertos de tu router (caja/box). Si quieres una explicación sencilla de lo que es y por qué necesitas redirigir los puertos, puedes echar un vistazo a [esta página](/port_forwarding). [Esta página](https://www.testdevelocidad.es/configuraciones/abrir-correctamente-los-puertos-router/) también propone explicaciones detalladas sobre el funcionamiento de los puertos, y las etapas de configuración para un router genérico. ### 0. Diagnosticar los puertos abiertos @@ -29,12 +29,12 @@ En la interfaz de administración de tu router/caja/box, tienes que encontrar un Luego tienes que redirigir cada uno de los puertos listados a continuación hacia la IP local de tu router para que los varios servicios de Yunohost funcionen. Para cada uno de ellos, una redirección 'TCP' es necesaria. En algunas interfaces, tal vez encontrarás referencias a un puerto 'externo' y un puerto 'interno' : en nuestro caso, se trata del mismo número de puerto, que sea interno o externo. * Web: 80 (HTTP), 443 (HTTPS) -* [SSH](/ssh_es): 22 -* [XMPP](/XMPP_es): 5222 (clients), 5269 (servers) -* [Email](/email_es): 25, 587 (SMTP), 993 (IMAP) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP)
- Algunos proveedores de acceso a Internet bloquean el puerto 25 (mail SMTP) por defecto para luchar con el spam. Otros (más escasos) no permiten utilizar libremente los puertos 80/443. Dependiendo de tu proveedor, puede ser posible de abrir estos puertos en la interfaz... Ver [esta página](isp_es) por más informaciones. + Algunos proveedores de acceso a Internet bloquean el puerto 25 (mail SMTP) por defecto para luchar con el spam. Otros (más escasos) no permiten utilizar libremente los puertos 80/443. Dependiendo de tu proveedor, puede ser posible de abrir estos puertos en la interfaz... Ver [esta página](/isp) por más informaciones.
## Redirección automática / UPnP diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md index 866b38b0..31b38b1d 100644 --- a/isp_box_config_fr.md +++ b/isp_box_config_fr.md @@ -1,6 +1,6 @@ # Configurer la redirection des ports -Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un œil à [cette page-ci](port_forwarding_fr). [Cette page-là](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs. +Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un œil à [cette page-ci](/port_forwarding). [Cette page-là](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs. ### 0. Diagnostiquer les ports ouverts @@ -33,12 +33,12 @@ nom diffère suivant le type / marque de la box... Il vous faut ensuite rediriger chacun des ports listés ci-dessous vers l'IP locale de votre serveur pour que les différents services de YunoHost fonctionnent. Pour chacun d'eux, une redirection 'TCP' est nécessaire. Certains interfaces font références à un port 'externe' et un port 'interne' : dans notre cas il s'agit du même. * Web: 80 (HTTP), 443 (HTTPS) -* [SSH](/ssh_fr): 22 -* [XMPP](/XMPP_fr): 5222 (clients), 5269 (servers) -* [Email](/email_en): 25, 587 (SMTP), 993 (IMAP) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP)
- Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](isp_fr) pour plus d'informations. + Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](/isp) pour plus d'informations.
## Redirection automatique / UPnP diff --git a/isp_es.md b/isp_es.md index e0c42cf0..fed12f76 100644 --- a/isp_es.md +++ b/isp_es.md @@ -1,8 +1,8 @@ # Proveedores de acceso a Internet - Configuración general del router + Configuración general del router -Aquí tienes una lista (no exhaustiva) de proveedores de acceso a Internet por país, con criterios de compatibilidad con el [self-hosting](selfhosting_es). +Aquí tienes una lista (no exhaustiva) de proveedores de acceso a Internet por país, con criterios de compatibilidad con el [self-hosting](/selfhosting). Un « **no** » puede implicar problemas de utilización del servidor o puede obligarte a hacer configuraciones adicionales. El estatus entre paréntesis indica el comportamiento por defecto. @@ -14,14 +14,14 @@ Todos los proveedores de acceso a Internet [miembros de la Federación French Da * ✔ : sí * ✘ : no -| Proveedor de acceso | OVH | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues
Télécom | Darty | +| Proveedor de acceso | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Box/router** | Personal/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox | | **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| **[Puerto 25 que se abre](email_fr)**
(cerrado por defecto) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | +| **[Puerto 25 que se abre](/email)**
(cerrado por defecto) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | | **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | | **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personalizable ** | ✔ | ✔ (excepto IPv6) | … | ✘ | ✘ | ✘ | -| **[IP fija](/dns_dynamicip_es)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | +| **[IP fija](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | | **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … | | **[No listado en el DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … | Para obtener una lista más completa y precisa, refiérete a la muy buena documentación (fr) de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai). @@ -30,7 +30,7 @@ Para obtener una lista más completa y precisa, refiérete a la muy buena docume ### Bélgica -| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | +| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Proximus** | BBox2 | sí (activado) | sí | **no** | **no** | **no** | | | BBox3 | sí (activado) | sí | **no** | **no** | **no** | @@ -40,7 +40,7 @@ Para obtener una lista más completa y precisa, refiérete a la muy buena docume ### Costa de Marfil -| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | +| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Orange** | Livebox2 | sí (activado) | no | **no** | **no** | **no** | | **Moov** | | sí (activado) | | | | | diff --git a/isp_fr.md b/isp_fr.md index 1e8a3900..35e6d8be 100644 --- a/isp_fr.md +++ b/isp_fr.md @@ -1,8 +1,8 @@ # Fournisseurs d’accès à Internet - Configuration générale box + Configuration générale box -Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](selfhosting_fr). +Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](/selfhosting). Un « **non** » peut entraîner des problèmes d’utilisation de votre serveur ou peut vous obliger à faire des configurations supplémentaires. Le statut entre parenthèses indique le comportement par défaut. @@ -12,14 +12,14 @@ Tous les fournisseurs d’accès à Internet [membres de la Fédération French * ✔ : oui * ✘ : non -| Fournisseur d’accès | OVH | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues
Télécom | Darty | +| Fournisseur d’accès | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Box/routeur** | Personnel/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox | | **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| **[Port 25 ouvrable](email_fr)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | +| **[Port 25 ouvrable](/email)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | | **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✔ (depuis la Livebox 4) | ✔ | ✔ | | **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personnalisable ** | ✔ | ✔ (sauf IPv6) pas de support | … | ✘ | ✘ | ✘ | -| **[IP fixe](/dns_dynamicip_fr)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | +| **[IP fixe](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | | **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … | | **[Non listé sur le DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … | Pour une liste plus complète et précise, référez-vous à la très bonne documentation de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai). @@ -28,7 +28,7 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu ### Belgique -| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe | +| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Proximus** | BBox2 | oui (activé) | oui | **non** | **non** | **non** | | | BBox3 | oui (activé) | oui | **non** | **non** | **non** | @@ -38,7 +38,7 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu ### Côte d'Ivoire -| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe | +| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Orange** | Livebox2 | oui (activé) | non | **non** | **non** | **non** | | **Moov** | | oui (activé) | | | | | diff --git a/isp_free.md b/isp_free.md new file mode 100644 index 00000000..e97c35fb --- /dev/null +++ b/isp_free.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](isp_free_fr) for now. diff --git a/isp_free_fr.md b/isp_free_fr.md index 59242ee9..58ebb590 100644 --- a/isp_free_fr.md +++ b/isp_free_fr.md @@ -1,6 +1,6 @@ # Free -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Accès à l’administration de la box (v5/v6) @@ -14,13 +14,13 @@ Allez à l’adresse : [mafreebox.free.fr](http://mafreebox.free.fr/) puis authe #### Ouverture des ports -[Liste des ports à ouvrir](/isp_box_config_fr). +[Liste des ports à ouvrir](/isp_box_config). ##### Freebox ≤ v5 Cela se passe dans la section *Ma Freebox / Configurer mon routeur*. Il faut : -- Rediriger les [ports à ouvrir](/isp_box_config_fr) vers l'adresse locale de votre serveur YunoHost. +- Rediriger les [ports à ouvrir](/isp_box_config) vers l'adresse locale de votre serveur YunoHost. - Définir une DMZ vers votre serveur YunoHost. La présence conjointe de ces deux règles permettent d'accéder à votre serveur de l'extérieur comme de l'intérieur de votre réseau local. diff --git a/isp_orange.md b/isp_orange.md new file mode 100644 index 00000000..87a29d12 --- /dev/null +++ b/isp_orange.md @@ -0,0 +1,85 @@ +# 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 56cabf4d..ffde62c6 100644 --- a/isp_orange_fr.md +++ b/isp_orange_fr.md @@ -1,5 +1,5 @@ # Orange -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Le courrier électronique @@ -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.md b/isp_sfr.md new file mode 100644 index 00000000..e5002600 --- /dev/null +++ b/isp_sfr.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](isp_sfr_fr) for now. diff --git a/isp_sfr_fr.md b/isp_sfr_fr.md index a163878f..43c311fb 100644 --- a/isp_sfr_fr.md +++ b/isp_sfr_fr.md @@ -1,5 +1,5 @@ #SFR -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Accès à l’administration de la box * Allez à cette adresse : http://192.168.1.1. * Authentifiez-vous, soit en appuyant sur le bouton de la box pendant 5 secondes soit avec les identifiants d’administration. @@ -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/noaccess.md b/noaccess.md new file mode 100644 index 00000000..a2ed2d20 --- /dev/null +++ b/noaccess.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](noaccess_fr) for now. diff --git a/noaccess_fr.md b/noaccess_fr.md index 059fc32a..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 -``` -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/packaging_apps.md b/packaging_apps.md index dee9331a..bf2c2601 100644 --- a/packaging_apps.md +++ b/packaging_apps.md @@ -5,8 +5,8 @@ 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; -* A testing [virtual machine or a distant server](/install_en), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox_fr), to package and test the package. +* 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 A YunoHost package is composed of: @@ -21,21 +21,21 @@ A YunoHost package is composed of: feel free to use it as a framework. ## Manifest -Manifest +Manifest ## Scripts -Scripts +Scripts ### Architecture and arguments Since YunoHost has a unified architecture, you will be able to guess most of the settings you need. But if you need variable ones, like the domain or web path, you will have to ask the administrator at installation (see `arguments` section in the manifest above). -Arguments management +Arguments management ### Nginx configuration -Nginx configuration +Nginx configuration ### Multi-instance -Multi-instance +Multi-instance ### Hooks YunoHost provides a hook system, which is accessible via the packager's script callbacks in command line. @@ -46,7 +46,7 @@ The scripts have to be placed in the `hooks` repository at the root of the YunoH Take a look at the [Nextcloud package](https://github.com/YunoHost-Apps/nextcloud_ynh/) for a working example. ### Helpers -Helpers +Helpers ### Registering a log file @@ -85,7 +85,7 @@ In order to test your package, you can execute your script standalone as `admin` su - admin -c "/bin/bash /path/to/my/script my_arg1 my_arg2" ``` -Or you can use [command line](/commandline_en): +Or you can use [command line](/commandline): ```bash yunohost app install /path/to/my/app/package ``` @@ -97,14 +97,14 @@ yunohost app install https://github.com/author/my_app_package.git ### Packaging best practices Here is a list of best practices for application install scripts: * scripts should use `sudo cp -a ../sources/. $final_path` instead of `sudo cp -a ../sources/* $final_path`; -* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and [trap](packaging_apps_trap_fr); +* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and [trap](/packaging_apps_trap); * install script should use the command-line method instead of calls to curl through web install form; * install script should save install answers; * application sources should be checked with a control sum (sha256, sha1 or md5) or a PGP signature; * scripts should be tested on Debian Stretch 32 bits, 64 bits and ARM architectures; * backup and restore scripts should be present and functional. -To be define the quality of a package, it'll obtained a [level](packaging_apps_levels_fr), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines). +To be define the quality of a package, it'll obtained a [level](/packaging_apps_levels), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines). ### Package script checker Package checker @@ -124,7 +124,7 @@ A continuous integration server is available for packagers who want to test thei * Publishing a [post on the Forum](https://forum.yunohost.org/) with the [`App integration` category](https://forum.yunohost.org/c/app-integration), to ask for testing and feedback on your application. -* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](apps_en)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`. +* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](/apps)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`. * If your application is *not* free software, then in the future, a non-official list might be created to handle them but is non-existent yet. diff --git a/packaging_apps_arguments_management.md b/packaging_apps_arguments_management.md index e967af6b..130e3de4 100644 --- a/packaging_apps_arguments_management.md +++ b/packaging_apps_arguments_management.md @@ -1,4 +1,4 @@ -Application packaging +Application packaging ## Arguments management #### Retrieve arguments in the install script from manifest diff --git a/packaging_apps_arguments_management_fr.md b/packaging_apps_arguments_management_fr.md index 28471773..5d66e707 100644 --- a/packaging_apps_arguments_management_fr.md +++ b/packaging_apps_arguments_management_fr.md @@ -1,4 +1,4 @@ -Packaging d’application +Packaging d’application ## Gestion des arguments #### Récupérer les arguments du manifeste dans le script d’installation 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 7e06bae8..a0c1f114 100644 --- a/packaging_apps_fr.md +++ b/packaging_apps_fr.md @@ -5,11 +5,11 @@ 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 ; -* Une [machine virtuelle ou sur un serveur distant](/install_fr) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox_fr), pour packager et tester son paquet. +* 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. -Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start_fr). +Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start). ### Contenu Un paquet YunoHost est composé : @@ -23,27 +23,27 @@ Un paquet YunoHost est composé : Paquet de base n’hésitez pas à vous en servir comme base de travail. ## Manifeste -Manifeste +Manifeste ## Les scripts -Scripts +Scripts ### Architecture et arguments Comme les instances de YunoHost possèdent une architecture unifiée, vous serez capable de deviner la plupart des réglages nécessaires. Mais si vous avez besoin de réglages spécifiques, comme le nom de domaine ou un chemin web pour configurer l’application, vous devrez les demander aux administrateurs lors de l’installation (voir la section `arguments` dans le § **Manifeste** ci-dessus). -Gestion des arguments +Gestion des arguments ### Configuration Nginx -Configuration Nginx +Configuration Nginx ### Multi-instance -Multi-instance +Multi-instance ### Hooks -Hooks +Hooks ### Commandes pratiques -Commandes pratiques +Commandes pratiques ### Référencement des logs Dans de nombreuses situations, vous pouvez vouloir indexer un fichier de log pour qu'il soit affiché dans la webadmin. Pour indexer un log, il faut créer un fichier d'indexation dans `/var/log/yunohost/categories/app/APPNAME.yml`. @@ -79,14 +79,14 @@ Ces informations seront utilisées pour permettre de filtrer les logs en relatio ### Améliorer la qualité du paquet d’installation Vous trouverez ci-dessous une liste des points à vérifier concernant la qualité de vos scripts : * Vos scripts utilisent bien `sudo cp -a ../sources/. $final_path` plutôt que `sudo cp -a ../sources/* $final_path` ; -* Votre script d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap_fr) ; +* Votre script d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap) ; * Votre script d’installation utilise une méthode d’installation en ligne de commande plutôt qu’un appel curl via un formulaire web d’installation ; * Votre script d’installation enregistre les réponses de l’utilisateur ; * Vous avez vérifié les sources de l’application avec une somme de contrôle (sha256, sha1 ou md5) ou une signature PGP ; * Vos scripts ont été testés sur Debian Stretch 32 bits, 64 bits et ARM ; * Les scripts backup et restore sont présents et fonctionnels. -Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](packaging_apps_levels_fr), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](packaging_apps_guidelines_fr). +Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](/packaging_apps_levels), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](/packaging_apps_guidelines). ### Script de vérification du paquet Vérificateur de paquets @@ -106,7 +106,7 @@ Un serveur d'intégration continue est a disposition des packagers désirant tes * Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `App integration`](https://forum.yunohost.org/c/app-integration). -* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](apps_fr)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`. +* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](/apps)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`. * Si votre application n'est *pas* sous licence libre, il se peut qu'une liste non-officielle soit créée pour gérer ces applications. Ce n'est pour l'instant pas le cas. 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 b9607d37..41fe5afb 100644 --- a/packaging_apps_guidelines.md +++ b/packaging_apps_guidelines.md @@ -113,7 +113,7 @@ These deposits have several functions: * indicate the state of operation of the packet; * indicate information about the support of a package. -For the `official.json` and` community.json` lists maintained by the project team, registration is on [the git apps repository](https://github.com/YunoHost/apps). Other non-official lists may exists (including those for non-free apps for example), see more about that in the [community forum](https//forum.yunohost.org). +For the `apps.json` list maintained by the project team, registration is on [the git apps repository](https://github.com/YunoHost/apps). Other non-official lists may exists (including those for non-free apps for example), see more about that in the [community forum](https//forum.yunohost.org). #### YEP 1.3 ##### Indicate the license associated with the package | draft | AUTO | WORKING | @@ -164,7 +164,7 @@ Adding an app to the [YunoHost-Apps organization](https://github.com/YunoHost-Ap It is also a way to quickly deploy a security patch if necessary in the event that the maintainer is unavailable. -Transfer Procedure: Ask the [chat room](chat_rooms_en) to be invited to the organization by providing the name of their GitHub account. +Transfer Procedure: Ask the [chat room](/chat_rooms) to be invited to the organization by providing the name of their GitHub account. Once the invitation is accepted, [transfer its deposit to the organization by following this tutorial](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/# Transferring-a-repository-to-another-user-account-or-to-an-organization). #### YEP 1.8 @@ -221,7 +221,7 @@ Keep your code as easy as possible, keep everything a script needs directly into #### Stabilize an app #### YEP 2.1 ##### Respect the manifest format | validated | Home | INPROGRESS | -The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](https://yunohost.org/#/packaging_apps_manifest). +The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](/packaging_apps_manifest). #### YEP 2.2 ##### Using bash for main scripts | validated | Home | WORKING | @@ -287,7 +287,7 @@ It is advisable to make the scripts as generic as possible, a good way to do thi In order to simplify packaging, standardize practices, avoid errors and increase the lifetime of a script vis-à-vis future versions of YunoHost. A set of helpers to do many actions is proposed. For more information : -* consult [helpers documentation](https://yunohost.org/#/packaging_apps_helpers) +* consult [helpers documentation](/packaging_apps_helpers) * explore [helpers directory](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) #### YEP 2.13 diff --git a/packaging_apps_guidelines_fr.md b/packaging_apps_guidelines_fr.md index 4048f777..80925dc5 100644 --- a/packaging_apps_guidelines_fr.md +++ b/packaging_apps_guidelines_fr.md @@ -165,12 +165,12 @@ L'ajout d'une app sur l'[organisation YunoHost-Apps](https://github.com/YunoHost C'est aussi un moyen pour permettre de déployer rapidement un correctif de sécurité si nécessaire dans le cas où le mainteneur ne serait pas disponible. -Procédure de transfert : demander sur le [salon de discussion `Apps`](chat_rooms_fr) à être invité à l’organisation en lui fournissant le nom de son compte GitHub. +Procédure de transfert : demander sur le [salon de discussion `Apps`](/chat_rooms) à être invité à l’organisation en lui fournissant le nom de son compte GitHub. Une fois l’invitation acceptée, [transférer son dépôt sur l’organisation en suivant ce tutoriel](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-a-repository-to-another-user-account-or-to-an-organization). #### YEP 1.8 ##### Publier des demandes de test | validé | manuel | OFFICIAL | -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. @@ -222,7 +222,7 @@ Gardez votre code aussi simple que possible, gardez tout ce dont un script a bes #### Stabiliser une app #### YEP 2.1 ##### Respecter le format du manifeste | validé | auto | INPROGRESS | -Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](https://yunohost.org/#/packaging_apps_manifest). +Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](/packaging_apps_manifest). #### YEP 2.2 ##### Utiliser bash pour les scripts principaux | validé | auto | WORKING | @@ -289,7 +289,7 @@ Il est conseillé de rendre les scripts le plus générique possible, un bon moy Afin de simplifier le packaging, d'uniformiser les pratiques, d'éviter les erreurs et d'augmenter la durée de vie d'un script vis-à-vis des futures versions de YunoHost. Un ensemble de helpers permettant de faire de nombreuses actions est proposé. Pour plus d'informations : -* consulter [la documentation des helpers](https://yunohost.org/#/packaging_apps_helpers_fr) +* consulter [la documentation des helpers](/packaging_apps_helpers) * explorer [le répertoire des helpers](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) #### YEP 2.13 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)

    - -