Merge branch 'master' into update-butracker-link

This commit is contained in:
Alexandre Aubin 2018-06-08 16:32:53 +02:00 committed by GitHub
commit 9c12068b5c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
49 changed files with 220 additions and 1537 deletions

View file

@ -3,5 +3,4 @@
* [Web Site](https://yunohost.org)
* Based on [Simone](https://github.com/YunoHost/Simone)
Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues).
Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues).

View file

@ -1,12 +0,0 @@
# Accounting
<div class="alert alert-warning">
<b>
This page isn't valid anymore: it is no longer necessary to get an account to be able to contribute to the documentation. Now, you just need to click on "Edit" and [write the doc](/write_documentation).
</b>
</div>
<script>
window.location.replace("/write_documentation");
</script>

View file

@ -1,11 +0,0 @@
# Comptes utilisateur
<div class="alert alert-warning">
<b>
Cette page n'est plus valide: il n'est plus nécessaire d'avoir un compte pour pouvoir éditer la documentation. Désormais, il suffit d'appuyer sur "Éditer" et d'[écrire la documentation](/write_documentation_fr).
</b>
</div>
<script>
window.location.replace("/write_documentation_fr");
</script>

View file

@ -1,9 +1,6 @@
# Administrator web interface
Yunohost has an administrator web interface. The other way to administer your Yunohost install is through the [CLI called "moulinette"](/moulinette)
**Please note** that the web interface is an active work-in-progress and has far fewer features than the CLI moulinette.
Yunohost has an administrator web interface. The other way to administrate your Yunohost install is through the [command line](/commandline).
### Access

View file

@ -1,9 +1,6 @@
# Linterface dadministration web
YunoHost est fourni avec une interface graphique dadministration. Lautre méthode est dutiliser la [moulinette](/moulinette_fr) ligne de commande.
**Attention** : linterface dadministration donne accès à beaucoup moins de fonctionnalités que la moulinette, car elle est en développement actif.
YunoHost est fourni avec une interface graphique dadministration. Lautre méthode est dutiliser la [ligne de commande](/commandline_fr).
### Accès

View file

@ -1,35 +1,37 @@
# Administrator documentation
*For want of anything better, here is an index of interesting pages for the YunoHost server's administrator.*
* [What is Self-hosting](/selfhosting)
* [Compatible hardware](/hardware)
* [Installation guide](/install)
* Discovering self-hosting
* [What is Self-hosting](/selfhosting)
* [What is YunoHost](/whatsyunohost)
* Before installing
* [Try YunoHost](/try)
* [Choosing hardware](/hardware)
* [About the friendliness of internet service providers](/isp)
* [Installing YunoHost](/install)
* [On a regular computer](/install_iso)
* [On a dedicated or a virtual private server](/install_on_vps)
* [On a Raspberry Pi](/install_on_raspberry)
* [On an OLinuXino board](/install_on_olinuxino)
* [On an ARM board](/install_on_arm_board)
* [On a Raspberry Pi](/install_on_raspberry)
* [From an ISO](/install_iso)
* [On Debian](/install_on_debian)
* [On VirtualBox](/install_on_virtualbox)
* [On Vagrant](/vagrant)
* [On a dedicated or a virtual private server](/install_on_vps)
* Installation steps
* [Burn or copy iso](/burn_or_copy_iso)
* [Boot and graphical install](/boot_and_graphical_install)
* [Copy YunoHost image on SD card](/copy_image)
* [Manual installation](/install_manually)
* [Plug and boot your server](/plug_and_boot)
* [Post-installation](/postinstall)
* [Available applications](/apps)
* [Administration interface usage](/admin)
* [Command-line interface usage](/moulinette)
* [List of friendly ISPs](/isp)
* [Security](/security)
* [Hide services with Tor](/torhiddenservice)
* [DNS understanding](/dns)
* [What is YunoHost](/whatsyunohost)
* [Unlock IP in iptables](/fail2ban)
* [SSL certificate installation](/certificate)
* [Troubleshooting guide](/troubleshooting_guide_en)
* [Backup](/backup)
* [Update](/update)
* Finalizing your setup
* [Post-installation](/postinstall)
* [Configuring port forwarding](/isp_box_config)
* [Configuring DNS records](/dns_config)
* [Installing an SSL certificate](/certificate)
* [Diagnoze if your setup is working properly](/diagnostic)
* Getting to know YunoHost
* [Web administration interface](/admin)
* [Connecting to your server using SSH](/ssh)
* [Command-line administration](/commandline)
* [Application catalog](/apps)
* [Updating your server](/update) and [apps](/app_update)
* [Backup](/backup)
* Going further
* [Improving security](/security)
* [Migrating emails to YunoHost](/email_migration)
* [Hide services with Tor](/torhiddenservice)
* [Troubleshooting guide](/troubleshooting_guide)
* [Unlock IP in iptables](/fail2ban)
* [Changing the administration password](/change_admin_password)

View file

@ -1,73 +1,50 @@
# Documentation pour les administrateurs YunoHost
* [Lauto-hébergement](/selfhosting_fr)
* [Matériel compatible](/hardware_fr)
* Découvrir l'auto-hébergement
* [Qu'est-ce que l'auto-hébergement](/selfhosting_fr)
* [Qu'est-ce que YunoHost](/whatsyunohost_fr)
* Avant de se lancer
* [Essayer YunoHost](/try_fr)
* [Matériel compatible](/hardware_fr)
* [À propos des fournisseurs d'accès internet](/isp_fr)
* [Guide dinstallation](/install_fr)
* [Sur un ordinateur "standard"](/install_iso_fr)
* [Sur un serveur dédié](/install_on_vps_fr)
* [Sur un Raspberry Pi](/install_on_raspberry_fr)
* [Sur une carte OLinuXino](/install_on_olinuxino_fr)
* [Sur une carte ARM](/install_on_arm_board_fr)
* [Sur un Raspberry Pi](/install_on_raspberry_fr)
* [À partir de lISO](/install_iso_fr)
* [Sur Debian](/install_on_debian_fr)
* [Sur VirtualBox](/install_on_virtualbox_fr)
* [Sur Vagrant](/vagrant_fr)
* [Sur un serveur dédié](/install_on_vps_fr)
* Étapes dinstallation
* [Graver ou copier lISO](/burn_or_copy_iso_fr)
* [Démarrage et installation graphique](/boot_and_graphical_install_fr)
* [Copier limage YunoHost sur une carte SD](/copy_image_fr)
* [Installation manuelle](/install_manually_fr)
* [Brancher et démarrer votre serveur](/plug_and_boot_fr)
* [Post-installation](/postinstall_fr)
* [Diagnostic du bon fonctionnement du YunoHost](/diagnostic_fr)
* [DNS - Système de nom de domaine](/dns_fr)
* [Bureaux denregistrements de nom de domaine - Registrar](registrar_fr)
* [Configuration du DNS chez son registrar](/dns_config_fr)
* [DNS et installation dune application sur un sous-domaine](/dns_subdomains_fr)
* [Utiliser le résolveur DNS](/dns_resolver_fr)
* [Configurer un DNS dynamique avec une adresse IP dynamique](dns_dynamicip_fr)
* [Avec OVH](/OVH_fr)
* [Accéder à son domaine depuis le réseau local](/dns_local_network_fr)
* [Nom de domaine en Nohost.me](/dns_nohost_me_fr)
* [Applications](/apps_fr)
* [Mettre à jour ses applications](app_update_fr)
* [Applications souhaitées](apps_wishlist_fr)
* [Nextcloud](/app_nextcloud_fr)
* [Ajouter un stockage externe](/external_storage_0_intro_fr)
* [Préparer un disque](/external_storage_1_prep_fr)
* [Monter un disque](/external_storage_2_mount_fr)
* [Fournisseurs daccès à Internet](/isp_fr)
* [Configuration générale dune box](/isp_box_config_fr)
* [SFR](/isp_sfr_fr)
* [Orange](/isp_orange_fr)
* [Free](/isp_free_fr)
* [Administration via linterface en ligne](/admin_fr)
* [Administration via lAPI](/admin_api_fr)
* [Sécurité](/security_fr)
* [Authentification SSH par clé](/security_fr)
* [Modifier le port SSH](/security_fr)
* [Changer lutilisateur autorisé à se connecter par SSH](/security_fr)
* [Désactivation de lAPI YunoHost](/security_fr)
* [Connexion à son serveur en ligne de commande avec SSH](/ssh_fr)
* Finaliser son installation
* [Post-installation](/postinstall_fr)
* [Configurer les redirections de port](/isp_box_config_fr)
* [Congigurer les enregistrements DNS](/dns_config_fr)
* [Installer un certificat SSL](/certificate_fr)
* [Diagnostic du bon fonctionnement du YunoHost](/diagnostic_fr)
* Apprendre à connaitre YunoHost
* [L'interface d'administration web](/admin_fr)
* [Se connecter à son serveur via SSH](/ssh_fr)
* [Administrrer son serveur en ligne de commande](/commandline_fr)
* [Catalogue d'applications](/apps_fr)
* [Mettre à jour son serveur](/update_fr) et [les apps](/app_update_fr)
* [Les sauvegardes](/backup_fr)
* Pour aller plus loin
* [Améliorer la sécurité](/security_fr)
* Noms de domaine
* [Nom de domaine en noho.st / nohost.me](/dns_nohost_me_fr)
* [Configurer un DNS dynamique avec une adresse IP dynamique](/dns_dynamicip_fr)
* [DNS et installation dune 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)
* Notes à propos de certains fournisseurs d'accès à Internet
* [SFR](/isp_sfr_fr)
* [Orange](/isp_orange_fr)
* [Free](/isp_free_fr)
* [Ajouter un stockage externe](/external_storage_0_intro_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)
* [Notes générales](/troubleshooting_guide_fr)
* [Mise à jour](/troubleshooting_guide_fr)
* [Les services](/troubleshooting_guide_fr)
* [Journaux système](/troubleshooting_guide_fr)
* [Utilisation de la RAM](/troubleshooting_guide_fr)
* [Espace disque](/troubleshooting_guide_fr)
* [Applications](/troubleshooting_guide_fr)
* [Applications PHP](/troubleshooting_guide_fr)
* [Applications Python](/troubleshooting_guide_fr)
* [Applications Node.js](/troubleshooting_guide_fr)
* [Autres (Go, Java…)](/troubleshooting_guide_fr)
* [Ladministration en ligne de commande avec la Moulinette](/moulinette_fr)
* [Changer le mot de passe dadministration](/change_admin_password_fr)
* [Courrier électronique](email_fr)
* [Formulaires pour enlever son IP des listes noires](blacklist_forms_fr)
* [La signature du serveur via DKIM](dkim_fr)
* [Gestion des certificats](/certificate_fr)
* [Utiliser Let's Encrypt](/certmanager_fr)
* [YunoHost avec un service caché Tor](/torhiddenservice_fr)
* [Débloquer une IP avec Fail2ban](/fail2ban_fr)
* [Les sauvegardes](/backup_fr)
* [Les mises à jour](/update_fr)
* [Débloquer une IP dans Fail2ban](/fail2ban_fr)
* [Changer le mot de passe dadministration](/change_admin_password_fr)
* [Formulaires pour enlever son IP des listes noires](/blacklist_forms_fr)

View file

@ -1,10 +0,0 @@
#Art Works
Black and white YunoHost png logo done by ToZz (400 × 400 px):
<a href="/images/ynh_logo_black.png"><img src="/images/ynh_logo_black.png" width=220></a>
<a href="/images/ynh_logo_white.png"><img src="/images/ynh_logo_white.png" width=220></a>
Click to download.
Licence: CC-BY-SA 4.0

View file

@ -1,10 +0,0 @@
#Travail artistique
Logo Yunohost noir et blanc réalisé par ToZz (400 × 400 px) :
<a href="/images/ynh_logo_black.png"><img src="/images/ynh_logo_black.png" width=220></a>
<a href="/images/ynh_logo_white.png"><img src="/images/ynh_logo_white.png" width=220></a>
Cliquer pour télécharger.
Licence: CC-BY-SA 4.0

View file

@ -1,124 +0,0 @@
# Build ARM image
This tutorial's goal is to build a plug-and-play image for YunoHost for ARM boards.
It could be used on many ARM board (Rasberry Pi, Olimex, Cubieboard…).
This tutorial is based on [Yunocubian](https://github.com/M5oul/Yunocubian).
You could find [ARM image builder from Debian Jessie](https://github.com/YunoHost/install_script/pull/36).
**All these steps can be executed with variations of [this script](https://github.com/likeitneverwentaway/rpi_buildbot/blob/master/build_image.sh).**
### Download minimal Debian Jessie
Download a Debian Jessie image compatible with the hardware **without desktop environnement** installed:
* [ARMbian](http://www.armbian.com/download/) (Olimex, Cubieboard, Banana Pi…)
* [Raspbian Jessie Lite](https://www.raspberrypi.org/downloads/raspbian/)
### Copy image and install YunoHost
<a class="btn btn-lg btn-default" href="/copy_image">Copy image to the SD card</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">Plug & boot</a>
* Connect via [SSH](ssh): **pi@exemple.tld/ip_address** with the password **raspberry** (or any variations for other distros than Raspbian).
* Set a root password :
```bash
sudo passwd
```
and login as root:
```bash
su
```
* You should be **root** for next operations.
<a class="btn btn-lg btn-default" href="/install_on_raspberry">Manually install YunoHost on a Raspberry Pi</a>
If you encounter problems during installation check out [this installation guide](http://avignu.wiki.tuxfamily.org/doku.php?id=documentation:yunohost-jessie) for the Raspberry Pi, based on suggestion [from this thread](https://forum.yunohost.org/t/installation-de-yunohost-2-4-sur-raspbian-jessie-minimal-sur-un-raspberry-pi-3/1597).
<div class="alert alert-danger">Do not proceed to **post-installation**.</div>
### Clean image
* Update image:
```bash
apt-get update && apt-get dist-upgrade && apt-get autoremove
```
* Change hostname:
```bash
sed -i "s/$(hostname)/YunoHost/g" /etc/hosts
sed -i "s/$(hostname)/YunoHost/g" /etc/hostname
```
* Allow SSH connection as root:
```bash
sed -i '0,/without-password/s/without-password/yes/g' /etc/ssh/sshd_config
```
* Delete the **pi** user (this step must be perform directly as root, not logged in as pi and then login as root):
```bash
deluser remove-all-files pi
```
* Set the first boot script:
```bash
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/yunohost-firstboot -P /etc/init.d/
# Give executable right
chmod a+x /etc/init.d/yunohost-firstboot
# Make it execute at next boot
insserv /etc/init.d/yunohost-firstboot
```
* Set the boot promtp script:
```bash
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/boot_prompt.service -P /etc/systemd/system/
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/boot_prompt.sh -P /usr/bin/
chmod a+x /usr/bin/boot_prompt.sh
systemctl enable boot_prompt.service
```
* Tell the boot_prompt script that the next boot is the first boot:
```bash
touch /etc/yunohost/firstboot
```
* Turn off your board:
```bash
shutdown
```
Don't forget to reset **wpa-supplicant.conf** if you changed it. You could also delete the command history with
```bash
history -c
```
or by editing **/root/.bash_history**.
### Copy image
Plug your SD card on your desktop computer and copy it:
<div class="alert alert-danger">Be carefull to not erase your data.</div>
```bash
sudo dd bs=1M if=/dev/sdd of=~/yunohost-jessie-board-year-month-day.img
```
You can also use the **Read** function of [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/).
### Verify image
<a class="btn btn-lg btn-default" href="/copy_image">Copy image to the SD card</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">Plug & boot</a>
<a class="btn btn-lg btn-default" href="/postinstall">Post-install</a>
<div class="alert alert-info">If everything is alright, you could publish your image.</div>
### Publish image
* Reduce size by zipping the image:
```bash
zip yunohost-jessie-board-year-month-day.img.zip yunohost-jessie-board-year-month-day.img
```
* Publish: you could post your image on the [forum](https://forum.yunohost.org/).

View file

@ -1,126 +0,0 @@
# Build ARM image
Le but de ce tutoriel est de créer une image YunoHost prête à l'emploi pour les cartes ARM.
Elle pourra être utilisée sur de nombreuses cartes (Rasberry Pi, Olimex, Cubieboard…).
Ce tutoriel est basé sur [Yunocubian](https://github.com/M5oul/Yunocubian).
Vous pouvez trouvez le script [ARM image builder from Debian Jessie](https://github.com/YunoHost/install_script/pull/36).
**Toutes ces étapes peuvent être exécutées en utilisant des variations de [ce script](https://github.com/likeitneverwentaway/rpi_buildbot/blob/master/build_image.sh).**
### Téléchargez une version minimale de Debian Jessie
Téléchargez une image Debian Jessie compatible avec la carte **sans environnement graphique** installé:
* [ARMbian](http://www.armbian.com/download/) (Olimex, Cubieboard, Banana Pi…)
* [Raspbian Jessie Lite](https://www.raspberrypi.org/downloads/raspbian/)
### Copiez l'image et installez YunoHost
<a class="btn btn-lg btn-default" href="/copy_image_fr">Copie de l'image sur la carte SD</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">Plug & boot</a>
* Connexion via [SSH](ssh): **pi@exemple.tld/ip_address** avec le mot de passe **raspberry** (ou toute autre variation pour des distros différentes de Raspbian).
* Mettez un mot de passe root :
```bash
sudo passwd
```
et se connecter en tant que root:
```bash
su
```
* Vous devriez être **root** pour les étapes suivantes.
<a class="btn btn-lg btn-default" href="/install_on_raspberry_fr">Installez manuellement YunoHost sur un Raspberry Pi</a>
Si vous rencontrez des problèmes durant l'installation regardez [ce guide d'installation](http://avignu.wiki.tuxfamily.org/doku.php?id=documentation:yunohost-jessie) pour le Raspberry Pi, sur les suggestions [de ce thread](https://forum.yunohost.org/t/installation-de-yunohost-2-4-sur-raspbian-jessie-minimal-sur-un-raspberry-pi-3/1597).
<div class="alert alert-danger">Ne pas faire la **post-installation**.</div>
### Nettoyage de l'image
* Mise à jour de l'image:
```bash
apt-get update && apt-get dist-upgrade && apt-get autoremove
```
* Changez l'hostname:
```bash
sed -i "s/$(hostname)/YunoHost/g" /etc/hosts
sed -i "s/$(hostname)/YunoHost/g" /etc/hostname
```
* Permettre les connections SSH en tant que root:
```bash
sed -i '0,/without-password/s/without-password/yes/g' /etc/ssh/sshd_config
```
* Supprimer l'user pi (cette étape doit être effectuer directement en tant que root, pas connecté avec l'user pi puis root):
```bash
deluser remove-all-files pi
```
* Mise en place du script de premier boot:
```bash
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/yunohost-firstboot -P /etc/init.d/
# Droit d'exécution au script
chmod a+x /etc/init.d/yunohost-firstboot
# Exécute le script au prochain boot
insserv /etc/init.d/yunohost-firstboot
```
* Mise en place du script boot promtp:
```bash
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/boot_prompt.service -P /etc/systemd/system/
wget https://raw.githubusercontent.com/likeitneverwentaway/rpi_buildbot/master/boot_prompt.sh -P /usr/bin/
chmod a+x /usr/bin/boot_prompt.sh
systemctl enable boot_prompt.service
```
* Dites au script boot_promt que le prochain boot est le premier boot:
```bash
touch /etc/yunohost/firstboot
```
* Éteindre la carte:
```bash
shutdown
```
Ne pas oublier de reset le fichier **wpa-supplicant.conf** si vous l'avez modifié. Vous pouvez aussi supprimer l'historique des commandes avec
```bash
history -c
```
ou en éditant **/root/.bash_history**.
### Copie de l'image
Branchez la carte SD à votre ordinateur et faites en une copie:
<div class="alert alert-danger">Faites attention de ne pas supprimer vos données.</div>
```bash
sudo dd bs=1M if=/dev/sdd of=~/yunohost-jessie-board-year-month-day.img
```
Vous pouvez aussi utiliser la fonction **Read** de [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/).
### Vérifier l' image
<a class="btn btn-lg btn-default" href="/copy_image_fr">Copier l'image sur la carte SD</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">Plug & boot</a>
<a class="btn btn-lg btn-default" href="/postinstall_fr">Post-install</a>
<div class="alert alert-info">Si tout va bien, vous pouvez publiez votre image.</div>
### Publier l'image
* Réduire la taille en zippant l'image:
```bash
zip yunohost-jessie-board-year-month-day.img.zip yunohost-jessie-board-year-month-day.img
```
* Publication: vous pouvez publier l'image sur le [forum](https://forum.yunohost.org/).

View file

@ -1,70 +0,0 @@
# YunoHost Debian Packages
## Architecture
YunoHost packages are located on the yunohost.org workstation, in the `/home/yunohost/packages.git` folder.
Build system is based on debuild and pbuilder. It will generate a chroot, embedding every dependencies and Debian build tools.
Configuration is defined in the `/etc/pbuilder/megusta-amd64` file and allows to make packages without any specific architecture.
<div class="alert alert-info">
**Caution:** be advised not to be logged in as "root" to execute the following commands (except those starting with `sudo`).
</div>
## Package update
#### Packages with external sources
Packages based on GitHub sources (moulinette, moulinette-yunohost, ssowat, et yunohost-admin) require the latest modifications:
```bash
[yunohost@yunohost] ~/packages.git/moulinette $ cd src
[yunohost@yunohost] ~/packages.git/moulinette/src $ git pull
```
Then, start package build (**caution: you need to be located in the package root folder**):
```bash
[yunohost@yunohost] ~/packages.git/moulinette/src $ cd ..
[yunohost@yunohost] ~/packages.git/moulinette $ commit-and-build "Message de commit"
```
---
#### Configuration Packages
To update a yunohost-config-* package, move to the root folder, make your changes (for example: change a `debian/postinst` script), and type in the same command as for packages with sources:
```bash
[yunohost@yunohost] ~/packages.git/yunohost-config-nginx $ commit-and-build "Commit message"
```
The build command will update the Debian changelog (`debian/changelog`) and start the package creation. Once created, it will automatically added in the repository test`.
---
#### Update in a production environment
To add a package in the `megusta` (stable) (`debian/changelog`):
```bash
[yunohost@yunohost] ~/packages.git/monpaquet $ commit-and-build "Commit message" production
```
Once modifications are applied, you may execute `git push` to send your modifications to GitHub.
## Add a package to a repository manually
You can add Debian packages into the repository. NodeJS package is an example.
```bash
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb repository_name package_name.deb
```
`repository_name` may be `test` or `megusta`.
## Delete a package from a repository
Delete a Debian package from a repository in order to empty the test repository for example:
```bash
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb repository_name package_name
```
## TODO
Modify commit-build script to retrieve git commit messages and generate Debian changelog with `git-dch` command.

View file

@ -1,79 +0,0 @@
# Les paquets Debian YunoHost
## Architecture
Les paquets YunoHost se trouvent sur la machine yunohost.org dans le répertoire `/home/yunohost/packages.git`.
Le système de build est basé sur debuild et pbuilder. Le fonctionnement de cet ensemble est de générer un chroot qui va embarquer lensemble des dépendances et des outils de build Debian.
La configuration de cet environnement est définie dans le fichier `/etc/pbuilder/megusta-amd64` et permet de construire les paquets sans architecture spécifique.
<div class="alert alert-info">
**Attention :** il nest pas conseillé dêtre en root pour exécuter les actions suivantes (sauf celles précédées de `sudo`)
</div>
## Mise à jour dun paquet
<br>
#### Paquets avec sources externes
Pour les paquets basés sur des sources GitHub (moulinette, moulinette-yunohost, ssowat, et yunohost-admin), il faut dabord récupérer les dernières modifications :
```bash
[yunohost@yunohost] ~/packages.git/moulinette $ cd src
[yunohost@yunohost] ~/packages.git/moulinette/src $ git pull
```
Puis lancer la commande de build du paquet (**attention : vous devez la lancer à la racine du répertoire du paquet**)
```bash
[yunohost@yunohost] ~/packages.git/moulinette/src $ cd ..
[yunohost@yunohost] ~/packages.git/moulinette $ commit-and-build "Message de commit"
```
---
#### Paquets de configuration
Pour mettre à jour un paquet yunohost-config-* il faut se rendre dans le répertoire, faire les modifications voulues sur le paquet (typiquement modifier un script `debian/postinst`), puis lancer la même commande que pour les paquets avec source :
```bash
[yunohost@yunohost] ~/packages.git/yunohost-config-nginx $ commit-and-build "Message de commit"
```
La commande de build va mettre à jour le fichier changelog Debian (`debian/changelog`) et lancer la création du paquet. Une fois le paquet créé il est automatiquement ajouté dans le dépôt `test`.
---
#### Mettre à jour en production
Pour ajouter le paquet dans le dépôt de `megusta` (stable), il vous faudra exécuter la commande :
```bash
[yunohost@yunohost] ~/packages.git/monpaquet $ commit-and-build "Message de commit" production
```
Une fois les modifications effectuées, vous pouvez exécuter `git push` pour envoyer les modifications sur GitHub.
## Ajout manuel de paquets dans un dépôt
Il est possible dajouter directement des paquets Debian dans le dépôt, cest le cas notamment pour les paquets nodejs.
```bash
sudo reprepro -Vb /var/www/repo.yunohost.org/ -C <composant> includedeb <nom_du_dépôt> nom_du_paquet.deb
```
- `<nom_du_dépôt>` peut être `jessie`.
- `<composant>` peut être `stable` ou `testing`.
## Supprimer un paquet dun dépôt
Il est possible de supprimer des paquets Debian dans un dépôt, par exemple pour vider lensemble des paquets du dépôt test.
```bash
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb nom_du_dépôt nom_du_paquet
```
## TODO
Modifier le script commit-build pour récupérer les messages de commit git et générer le changelog Debian avec la commande `git-dch`.

View file

@ -1,195 +0,0 @@
#Debian package creation
## Architecture
The system contains `rebuildd`, a front-end for `pbuilder`, some chroot pbuilder for i386, amd64, armhf and `reprepro` for debian repository system.
---
## Workflow
There is 3 repositories (`unstable`, `testing` & `stable`):
* Packages from `unstable` (aka `daily`) are the latest version from git and are build automatically every night.
* Packages from `testing` (aka `test`) allow to set up a new package version to be tested.
* Packages from `stable` (aka `megusta`) contains only production versions.
This workflow purpose is to avoid any manual interaction (script launch, ...) on your server and to focus on package management through Github only.
Thus, each yunohost package has three branches, matching the three repositories (`unstable`, `testing` et `stable`). The build server will **automatically** build and deploy Debian source packages and binaries into the corresponding state on Github
### Unstable branch
Commits to the unstable branch will not modify the `debian/changelog` file because it is automatically updated during daily builds with corresponding date and time.
Any commit that will alter a package behaviour need to be done to the `unstable` branch first.
**`TODO`** Add pre-commit hook to avoid errors ?
### Testing et stable branch - standard workflow
No commit can be done directly in those branches. You need to use merges (merge from `unstable` to `testing` & merge from `testing` to `stable`).
The only specific changes that occur on the repositories are version changes (modification of `debian/changelog`, then tag).
As a YunoHost application maintainer, you may find specific tools in the repository [yunohost-debhelper](https://github.com/YunoHost/yunohost-debhelper)
```bash
git clone https://github.com/YunoHost/yunohost-debhelper
yunohost-debhelper/setup_git_alias.sh
```
The previous instructions will configure a new git alias named `yunobump`. It is global and located at `~/.gitconfig`, therefore accessible through any local git repository.
<div class="alert alert-warning">
**Cauttion:** this helper `yunobump` only works for Ubuntu or Debian Jessie for the moment. You **need** to install `git` and `git-buildpackage` packages in order to make this helper work properly.
</div>
#### Without helper
1. Go into the repository you wish to build
2. Make sure `unstable` branch contains all modifications you wish to apply
3. Get the current version number: `head debian/changelog`
4. Move to the `testing` or `stable` branch
5. Merge or cherry-pick commits you want to insert into the `unstable` branch
6. Add to `debian/changelog` the corresponding commits messages (or use `git-dch` to do it automatically)
7. Tag the current branch (`testing` or `stable`) with the next superior value for version number
8. Push modifications **and tags** into GitHub repository
9. Go back to `unstable` branch
10. Merge changelog
11. Push `unstable` branch
#### With helper
```bash
# You Only Clone Once
$ git clone git@github.com:YunoHost/yunohost.git
$ cd yunohost
# Be sure to be up-to-date, and don't forget to get the tags !
$ git fetch --tags
# Checkout your branch: stable or testing
$ git checkout testing
# Do your 'functional' modifications: either merge unstable in testing, or merge testing in stable
$ git pull origin unstable
# Or just
$ git merge unstable
# What is the current version number in test?
$ dpkg-parsechangelog | grep "^Version" | cut -d ' ' -f 2
# Or just
$ head debian/changelog
# Update changelog and do a proper tag (explained below)
$ git yunobump x.y.z
# Push the branch state AND the tags to the remote repository
$ git push origin --tags testing:testing
# Merge changelog modifications to the `unstable` branch
$ git checkout unstable
$ git merge testing
$ git push origin unstable
```
**`TODO`** Tag format policy: actually $branch/$version to enable the same version into two different branches. Is it necessary?
**`TODO`** Under normal circumstances, every push to test or stable, the last commit will result in a changelog commit properly tagged. It should be possible to set a pre-push git hook that prevents from pushing unfinished work
#### Test and stable branches - hotfix
Exceptionally, you may hotfix (for security purposes for example) `stable` or `test` packages, leading to a merge into daily branch which is not acceptable (too much new features in development).
** This MUST remain exceptional **
**`TODO`** Describe
**`TODO`** Develop a 'git yunohotfix ...' helper that commit into stable and cherry-pick right away into daily? or the opposite?
#### Not YunoHost packages
« not-YunoHost » packages (`python-bottle` for example) don't go through `unstable` repository. Once package tests are completed, they need to be manually transferred into `backport` repository.
---
## Version number
So far, YunoHost global base version is **2**. The current convention for the version number is **2.x.x**.
The second section of the number string is incremented if a major functional change has occured: addition of a new functionality, modification of a behaviour. For now, all packages are versionned **2.1.x**.
The third section of the number string is incremented if a bugfix or a minor functional change has occured. For example, you may currently find **2.1.3** or **2.1.5** packages
A fourth section is dedicated for exceptional cases like bugfixes in stable branch. In this case, we want to pass on a unique change directly into stable branch, therefore we add **-x** to the number string. This may result into something like this: **2.1.3-1**.
---
## Packages management
#### Daily build
A cron task defined for `pbuilder` user is executed **every day at 01:00**. The script will update the `packages` git repository and submodules (`ssowat`, `moulinette`, `yunohost` & `yunohost-admin`).
Once sources are up to date, the script will rebuild packages that have been updated the day.
Sources packages will then need to be created and moved into `/var/www/repo.yunohost.org/daily/incomming` folder.
Launch source file addition to the repository. This will automatically launch a `rebuildd` job (see daily repository configuration: `/var/www/repo.yunohost.org/daily/conf/distribustion`).
Once packages are built, they are added to the `unstable` repository.
#### (Re)build a YunoHost package
You may manualy launch a package build by typing:
```bash
$ daily_build -p package_name
```
#### Build a not YunoHost package
```bash
$ build_deb /path/of/package
```
**`TODO`** Describe : need to bump the version to pass from test to stable
### Passing from `daily` to `test`
```bash
$ push-packages-test -p package_name
```
You may add the `-v` argument to manually define the package version.
The script will get the `daily` sources package and define the version and changelist into the changelog. Build package will be added to the rebuildd jobs list that will pass everything to the `test` repository.
**Attention :** Version name must not contain `daily` otherwise the package will be added to the `daily` repository.
### Passing from `test` to `stable`
```bash
$ push-package-stable -p package_name
```
The previous command only passes the package from `test` to `stable` repository, without rebuild.
### Repository management with `reprepro`
* Delete a package
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/repo_name/ remove megusta package_name
```
* Add a Debian package into a repository
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/repo_name/ includedeb megusta package_name.deb
```
### Backports management
Packages from backports repository can be quickly into Yunohost `test` repository.
To do so, you need to add the package name into the `/var/www/repo.yunohost.org/test/conf/list` file and type in the following command:
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/test update megusta
```
Now packages will be downloaded and added to `test` repository.

View file

@ -1,266 +0,0 @@
# Système de construction des paquets
## Dépôts
Tout dabord, aussi bien au niveau des dépôts que des paquets YunoHost, il faut savoir quil y a trois *composants* (`unstable`, `testing` et `stable`) :
* `unstable` correspond à la dernière version du dépôt git sur la branche `unstable`, et est reconstruit de façon automatisée toutes les nuits sil y a eu une modification sur cette branche.
* `testing` permet de mettre en place une nouvelle version dun paquet qui sera ensuite testée.
* `stable` contient la version de production.
Le terme *composant* vient de la façon dont les dépôts sont configurés. Afin de se rapprocher de la façon dont les dépôts sont structurés dans Debian, lentrée à ajouter dans les sources APT se construit ainsi :
```bash
deb http://repo.yunohost.org/debian/ nom_de_code composant [composant...]
```
Avec *nom_de_code* la « version » de Debian installée sur lhôte (ex. : `jessie`). Pour les composants, il est nécessaire de spécifier au moins `stable`, puis les différents intermédiaires. Par exemple, sur un système sous Debian Jessie, voici les différentes possibilités :
```bash
# composant stable
deb http://repo.yunohost.org/debian/ jessie stable
# composant testing
deb http://repo.yunohost.org/debian/ jessie stable testing
# composant unstable
deb http://repo.yunohost.org/debian/ jessie stable testing unstable
```
## Workflow
Le but du workflow est déviter toute intervention manuelle (lancement dun script, etc.) sur le serveur, et de maîtriser la gestion des paquets via GitHub uniquement. (Edit: les webhooks ne sont plus fonctionnels, il est nécessaire de lancer la création des paquets à la main)
Ainsi, les dépôts de chaque paquet yunohost possèdent trois branches correspondant aux trois composants (`unstable`, `testing` et `stable`). Le serveur de build construit et déploie **automatiquement** les paquets sources et binaires Debian correspondant à létat de ces trois branches sur GitHub.
### Branche unstable
Aucun commit dans la branche unstable ne modifie le fichier `debian/changelog` car celui-ci est modifié automatiquement lors du build quotidien, avec une version correspondant à la date/heure de construction.
Tout commit modifiant fonctionnellement les paquets doit se faire dabord dans cette branche `unstable`.
**TODO** ajouter un pre-commit hook pour éviter les erreurs?
### Branche testing et stable - workflow standard
Aucun commit fonctionnel nest effectué directement dans ces branches. On ne fait que des merges (merge de `unstable` dans `testing` et merge de `testing` dans `stable`).
Les seules modifications spécifiques à ces dépôts sont les changements de versions (modification de `debian/changelog`, puis tag).
Des outils à destination des mainteneurs de paquets sont disponibles sur le dépôt [yunohost-debhelper](https://github.com/YunoHost/yunohost-debhelper)
```bash
git clone https://github.com/YunoHost/yunohost-debhelper
yunohost-debhelper/setup_git_alias.sh
```
Ceci va configurer un nouvel alias git nommé `yunobump`, global (stocké dans `~/.gitconfig` et donc accessible depuis nimporte quel dépôt git local).
<div class="alert alert-warning">
**Attention :** pour le moment ce helper `yunobump` ne fonctionne que sous Ubuntu ou Debian Jessie. Vous **devez** installer les paquets `git` et `git-buildpackage` pour que le helper fonctionne correctement.
</div>
#### Sans helper
1. Rendez-vous dans le repo du paquet que vous voulez builder
2. Assurez-vous que la branche `unstable` contient toutes les modifications que vous voulez intégrer dans votre build
3. Récupérez le numéro de version actuel : `head debian/changelog`
4. Rendez-vous sur la branche `testing` ou `stable`
5. Mergez ou cherry-pickez les commits que vous voulez intégrer à la version depuis la branche `unstable`
6. Modifiez le `debian/changelog` en intégrant les messages de commits correspondant aux modifications que vous avez intégrées (ou utilisez `git-dch` pour le faire automatiquement)
7. Taguez la branche actuelle (`testing` ou `stable`) du numéro de version juste supérieur à lactuel
8. Pushez vos modifications **ainsi que vos tags** sur le repo GitHub
9. Retournez sur la branche `unstable`
10. Mergez le changelog mis à jour précédemment
11. Pushez la branche `unstable`
#### Avec helper
```bash
# You Only Clone Once
$ git clone git@github.com:YunoHost/yunohost.git
$ cd yunohost
# Be sure to be up-to-date, and don't forget to get the tags !
$ git fetch --tags
# Checkout your branch : stable or testing
$ git checkout testing
# Do your 'functional' modifications: either merge unstable in testing, or merge testing in stable
$ git pull origin unstable
# Or just
$ git merge unstable
# What is the current version number in test ?
$ dpkg-parsechangelog | grep "^Version" | cut -d ' ' -f 2
# Or just
$ head debian/changelog
# Update changelog and do a proper tag (explained below)
$ git yunobump x.y.z
# Push the branch state AND the tags to the remote repository
$ git push origin --tags testing:testing
# Merge changelog modifications to the `unstable` branch
$ git checkout unstable
$ git merge testing
$ git push origin unstable
```
**TODO** politique sur les formats de tag, actuellement $branch/$version pour autoriser la même version dans deux branches différentes. Est-ce vraiment souhaitable?
**TODO** normalement à chaque push sur test ou stable, le dernier commit est un commit de changelog et il est tagué proprement. On doit pouvoir implémenter un hook git de pre-push qui empêche de pousser des trucs à moitié faits (une erreur dans git yunobump, un git tag -d, un commit à la main...)
#### Branche test et stable - faire un hotfix
Il peut arriver, de façon exceptionnelle, quon ait besoin de faire un hotfix (de sécurité par exemple) sur les paquets en `stable` ou en `test`, pour lequel le merge de la branche daily nest pas acceptable (car trop de nouvelles fonctionnalités en développement sur daily).
**Cette situation doit rester exceptionnelle**
Pour faire un hotfix, il faut donc travailler sur la branche `stable` directement. Une fois la correction effectuée et commitée, il faut immédiatement créer la release stable avec l'outil yunobump (Voir les sections XX et "Numéros de version").
Ensuite, il faut appliquer ce hotfix aux branches `testing` et `unstable`. Il est fortement conseillé de l'appliquer immédiatement après avoir créer la release stable.
Pour cela, passer sur la branche `testing` et merger la branche `stable`; Un "commit de merge" doit etre réalisé. L'historique de la branche `testing` doit donc ressembler à :
```bash
456def Merge branch 'stable' into testing
123abc Hotfix commit message.
```
Puis passer dans la branche `unstable` et merger la branche `testing`. Un nouveau commit de merge est réalisé, l'historique de la branche unstable ressemble donc à :
```bash
789ghi Merge branch 'testing' into unstable
456def Merge branch 'stable' into testing
123abc Hotfix commit message.
```
**TODO** dev un helper 'git yunohotfix...' qui commit dans stable et cherry-pick tout de suite dans daily? ou linverse?
#### Publier une release testing ou stable
Pour l'instant, on passe par une release via GitHub pour déclencher le build du paquet. (Edit: les webhooks ne sont plus fonctionnels, il est nécessaire de lancer la création des paquets à la main)
Aller sur https://github.com/YunoHost/{moulinette, yunohost, yunohost-admin, ssowat}/releases/new
1/ Choisir la branche cible en premier (testing ou stable).
Ex: "target: Testing"
2/ Choisir le tag concerné, généralement le dernier
Ex: "debian/2.4.1"
3/ Release title: "v2.4.1" ("v" + le numéro de version)
4/ Commentaire
Reprendre le changelog depuis `debian/changelog`. Remercier les contributeurs/traducteurs
( Pour voir le dernier commit : `git show HEAD` )
5/ Création des paquets
Une fois connecté à `veganaise2`, il faut utiliser la commande `ynh-build` pour lancer la création des paquets.
Exemples de commandes:
```bash
ynh-build yunohost stable 2.6.5
ynh-build moulinette testing 2.6.9
```
#### Paquets non YunoHost
Pour les paquets « non-YunoHost » (par exemple `rspamd`) le paquet ne passe pas par le composant `unstable`, mais uniquement `testing` et `stable` une fois les tests effectués sur ce paquet.
## Numéros de version
La version dun paquet YunoHost est sous la forme : ``X.x.y[.z]``.
La première partie, ``X``, correspond à la version majeure de YunoHost, actuellement **2**.
La deuxième partie, ``x``, sincrémente lors dun changement fonctionnel important : ajout dune nouvelle fonctionnalité, modification dune façon de fonctionner... Les chiffres pairs correspondent à une version ``stable`` (ex. : **2.4.x**), tandis que les chiffres impairs à une version ``testing``.
La troisième partie, ``y``, sincrémente quasi-arbitrairement, lors dun lot de bugfixes ou dun changement fonctionnel mineur. On peut trouver par exemple des paquets en **2.1.3** ou **2.1.5**.
Enfin, une quatrième partie, ``z``, est réservée dans les cas exceptionnels de bugfix. Dans ce cas, on veut faire passer un changement unique, généralement directement dans la branche ``stable`` (voir la partie sy rapportant). Cela donne, par exemple, **2.1.3.1**.
Note : les paquets de YunoHost étant natif pour Debian (dans le sens où nous gérons directement le *packaging* Debian avec le paquet), il ny a pas de révision Debian dans le numéro de version (caractérisé par **-debian_revision**). Pour plus de détails sur les numéros de version, voir le [Debian Policy Manual](https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version).
## Gestion des paquets
### Outils et méthode
#### Logiciels et scripts utilisés
Les principaux logiciels utilisés pour la gestion et construction des paquets sont les suivants :
* [reprepro](https://mirrorer.alioth.debian.org/) : gérer localement un dépôt de paquets Debian
* [rebuildd](https://julien.danjou.info/projects/rebuildd) : reconstruire des paquets Debian, avec un historique, une interface Web,...
Pour plus de flexibilité, *rebuildd* délègue la construction du paquet à [pbuilder](https://pbuilder.alioth.debian.org/). Ce dernier permet notamment davoir différents environnements, architectures...
Enfin, pour gérer au mieux ces outils, deux scripts ont été développés, stockés dans `/usr/local/bin` :
* `daily_build` : construire un ou tous les paquets YunoHost dans le composant **unstable** uniquement
* `build_deb` : construire un paquet Debian depuis un répertoire, dans un composant et un nom de code donné
À noter également que dautres scripts ont été faits pour *rebuildd* et *reprepro*, afin notamment de faire le pont entre les deux. Ils se trouvent dans `/usr/local/bin/{rebuildd,reprepro}`.
#### Déroulement de la construction dun paquet
Tout est déclenché par *reprepro*, configuré (voir `/var/www/repo/debian/conf/distribution`) pour exécuter le script `/usr/local/bin/repo/process-include` chaque fois quun paquet est inclus dans un dépôt (plus précisément, quun fichier `.changes` est inclus, via la commande `reprepro include`). Ce dernier va vérifier un certain nombre de choses, dont le fait quil sagit bien dun paquet source, puis va ajouter une nouvelle tâche pour *rebuildd*, afin que le paquet soit créé.
Lorsque la tâche est reçue par *rebuildd*, si le paquet correspond bien à une distribution et architecture supportée (voir `/etc/rebuildd/rebuilddrc`), trois scripts seront exécutés les uns après les autres, si aucune erreur nintervient :
1. `/usr/local/bin/rebuildd/get-sources` : récupération des sources depuis le dépôt local pour le paquet et la version demandée
2. `/usr/local/bin/rebuildd/build-binaries` : construction du paquet via *pbuilder* et lenvironnement correspondant à la distribution et larchitecture
3. `/usr/local/bin/rebuildd/upload-binaries` : ajout du paquet binaire précédemment créé à *reprepro* dans le bon dépôt et composant
### Utilisation de daily\_build
Un cron défini pour lutilisateur `pbuilder` se lance **tous les jours à 01:00**, qui exécute le script `daily_build`. Pour chaque paquet (`ssowat`, `moulinette`, `yunohost` et `yunohost-admin`), le script met dabord à jour le dépôt git correspondant depuis la branche *unstable*. Si de nouveaux commits ont été faits depuis la veille, une nouvelle version du paquet sera construite.
Plus précisément, une nouvelle entrée dans le *changelog* sera dabord ajoutée, avec une version sous la forme **YYYY.MM.DD+HHMM**. Un paquet source sera ensuite construit, avant de passer le relais au script `/usr/local/bin/repo/include-changes`. Ce dernier va exécuter les bonnes commandes pour *reprepro* afin dinclure dans le bon dépôt et composant le paquet source fraîchement créé.
#### (Re)build dun paquet YunoHost
Il est possible de relancer manuellement le build dun paquet :
```bash
$ daily_build -p <nom_du_paquet>
```
Il est aussi possible dutiliser une branche autre que *unstable* :
```bash
$ daily_build -p <nom_du_paquet> -b <branch>
```
*Notez bien que ce script permet uniquement de construire des paquets dans le composant **unstable**! *
### Utilisation de build\_deb
Ce script permet de construire un paquet Debian quelconque, et de linclure dans un dépôt donné. Il est notamment utilisé pour construire les paquets `rspamd` et `rmilter`. Une fois le paquet source récupéré et extrait, il suffit de lancer la commande suivante :
```bash
$ build_deb -c distribution -d <composant> /chemin/du/paquet/source
```
### Gestion du dépôt
#### Lister les paquets
```bash
$ reprepro -V -b /var/www/repo/debian -C <composant> list <nom_de_code>
```
#### Suppression dun paquet
```bash
$ reprepro -V -b /var/www/repo/debian -C <composant> remove <nom_de_code> nom_du_paquet
```
#### Gestion des backports
Pour la gestion des paquets venant du dépôt backport, il est possible de les intégrer rapidement dans le dépôt de yunohost.
Pour ce faire il faut ajouter le nom du paquet dans le fichier `/var/www/repo/debian/conf/<nom_de_code>-<composant>.list`, puis exécuter la commande :
```bash
$ reprepro -V -b /var/www/repo/debian -C <composant> update <nom_de_code>
```

View file

@ -1,27 +0,0 @@
# Changelog 2.0
<a class="btn btn-lg btn-default" href="/changelog_2_0_en">2.0</a> <a class="btn btn-lg btn-default" href="/changelog_2_2_en">2.2</a> <a class="btn btn-lg btn-default" href="/roadmap_en">Roadmap</a>
## v2.0 <small><small>12 june 2014</small></small>
* ✔ Add sexiness and a menu to YunoHost.org frontpage *(kload)*
* ✔ **DOCUMENTATIONNNNNNN** *(everyone <3)*
---
## v2.0 RC
* ✔ Email forward configuration *(kload, beudbeud)*
* ✔ Make pending official apps *(Ju)*
* ✔ SFTP *(kload)*
* ✔ Fix DNS zone *(kload)*
* ✔ SSOwat stuffs (presistent rules, public root website) *(ezpen)*
* ✔ Email configuration tests *(beudbeud)*
* ✔ Test and upgrade official apps like Owncloud, Roundcube and Radicale *(app maintainers)*
* ✔ Upgrade function + view *(beudbeud, opi)*
* ✔ uPnP rework *(kload, titoko)*
* ✔ Add warning in a sample backup view *(opi)*
* ✔ User interface design *(Courgette, opi)*
* ✔ Moulinette/API refactoring *(jerome)*
* ✔ Security check and complete patterns
* ✔ Internationalization I18n *(opi, jerome)*
* ✔ Lack of hairpinning hack *(kload)*

View file

@ -1,38 +0,0 @@
# Changelog 2.2
<a class="btn btn-lg btn-default" href="/changelog_2_0_en">2.0</a> <a class="btn btn-lg btn-default" href="/changelog_2_2_en">2.2</a> <a class="btn btn-lg btn-default" href="/roadmap_en">Roadmap</a>
## v2.2 <small><small>12 may 2015</small></small>
Core:
* ✔ Migrate YunoHost to Debian Jessie
* ✔ Update Metronome to v3.6 and make a more Debian-friendly package *(jerome)*
* ✔ Update of Nginx, Postfix and Dovecot regarding the late Poodle attack
* ✔ Migrate Bind9 to Dnsmasq *(kload)*
* ✔ Add email quota *(beudbeud, jerome)*
* ✔ Implement a simple backup and restore system *(jerome, kload)*
* ✔ Add logging to the moulinette for each action *(jerome)*
* ✔ Review the app manifest format and integrate it *(app maintainers, jerome, opi)*
* ✔ Fix a security bug in SSOwat *(kload)*
Web administration:
* ✔ Install unofficial apps *(opi)*
* ✔ Add firewall *(opi)*
* ✔ Warn admin about security updates *(opi)*
* ✔ Fix websocket issue for Raspberry Pi *(jerome, kload)*
Apps:
* ✔ 21 official apps and 88 unofficial apps *(app maintainers)*
* ✔ Migrate to Baikal and deprecate Radicale *(ju)*
* ✔ Add Shell in a box and remove GateOne from official apps *(kload)*
* ✔ OpenVPN configuration page and access control *(kload)*
* ✔ Add a download files button on Transmission interface *(opi)*
Installs:
* ✔ Create an image for La Brique Internet on Olimex *(kload)*
* ✔ Create an image for Raspberry Pi 1 and 2 *(matlink)*
* ✔ Create an image for Cubieboard 2 *(Moul)*
* ✔ Update Docker image *(kload)*
Others:
* ✔ Install and switch to a new build system on a new server *(beudbeud)*
* ✔ Improve documentation, to make YunoHost more accessible *(Moul)*

View file

@ -1,45 +0,0 @@
## Consulter les fichiers de log du système
### Accéder à un fichier de log
#### Via linterface dadministration
[Administration web](admin_fr)
#### En ligne de commande
Un fichier de log est un simple fichier texte utilisé par certains programmes du système (et notamment les services) pour inscrire lhistorique de leur fonctionnement. Consulter un fichier de log consiste donc à afficher son contenu pour lire les messages qui sy trouvent.
Pour accéder aux fichiers de log, la méthode traditionnelle consiste à [se connecter au serveur en ligne de commande via SSH](ssh_fr). Une fois connecté, utilisez la commande `tail` qui affiche uniquement la fin du fichier, car les fichiers de log sont très longs et quuniquement lhistorique récent nous intéresse.
### Services
#### Courriel
* Postfix
* Dovecot
* mail.log
* amavis
#### Serveur web
* Nginx
* php5-fpm
#### Serveur XMPP metronome
* Metronome
#### Surveillance du serveur
* Glances
#### Bases de données
* MySQL
* Postgrey
#### SSH
#### yunohost-api
#### Torrents
* transmission-daemon
#### LDAP
* slapdStatut
#### DNS
* Dnsmasq
* Bind9

View file

@ -1,9 +1,34 @@
# Communication
## Talks / conf
* (FR) [Capitole du libre 2017 - YunoHost : vers l'auto-hébergement et au-delà - JimboJoe](https://2017.capitoledulibre.org/programme/#yunohost-vers-lauto-hebergement-et-au-dela)
* (FR) [PSES 2017 Construire lInternet du Futur avec YunoHost Aleks, ljf](https://data.passageenseine.org/2017/aleks-ljf_internet-futur-yunohost.webm) ([slides](https://data.passageenseine.org/2017/aleks-ljf_internet-futur-yunohost.pdf))
* (FR) [Université de technologie de compiègne 2017 Agir pour un internet éthique LJF](http://webtv.utc.fr/watch_video.php?v=O34AA7RBR1AH)
* (EN) [FOSDEM 2017 Internet Cube kload](https://archive.fosdem.org/2017/schedule/event/internet_cube/)
* (EN) [FOSDEM 2017 YunoHost Bram](https://archive.fosdem.org/2017/schedule/event/yunohost/)
* (FR) [Capitole du libre 2016 1 an et ½ de Brique Internet Bram](http://videos2016.capitoledulibre.org/communaute-du-libre/bram-1-an-et-demi-de-brique-internet.mp4)
* (FR) [PSES 2015 - La Brique Internet](http://www.youtube.com/watch?v=NCRn0yRfkIE)
* (FR) [THSF 2015 beudbeud](https://vimeo.com/128055751)
* (FR) [RMLL 2014 - Hébergez-vous ! kload & beudbeud]()
* (FR) [Capitole du libre 2013 - Lauto-hébergement pour tous avec YunoHost - beudbeud](http://2013.capitoledulibre.org/conferences/internet-libre/lauto-hebergement-pour-tous-avec-yunohost.html)
* (EN) [FOSDEM 2013 — kload](https://www.youtube.com/watch?v=siN1OLAgGJk)
## Articles / Press review
<a href="https://linuxfr.org/news/yunohost-2-0-l-auto-hebergement-a-portee-de-clic"><img src="/images/Linuxfr.png" width=180></a>
<a href="https://en.wikipedia.org/wiki/YunoHost"><img src="/images/Wikipedia-logo-v2-fr.svg" width=180></a>
<a href="https://linuxfr.org/news/yunohost-2-0-l-auto-hebergement-a-portee-de-clic"><img src="/images/Linuxfr.png" width=180></a>
<a href="https://www.linux-pratique.com/2016/07/et-si-vous-passiez-a-lauto-hebergement/"><img src="/images/linux-pratique-96.jpg" width=150 /></a>
<a href="http://www.linux-magazine.com/Issues/2018/208/YunoHost"><img src="/images/linux-magazine-208.jpg" width=150 /></a>
* LinuxFr (french):
- [YunoHost 2.0 : self hosting at click range](https://linuxfr.org/news/yunohost-2-0-l-auto-hebergement-a-portee-de-clic)
- [Internet cube and YunoHost projects evolutions](https://linuxfr.org/news/evolutions-des-projets-la-brique-internet-et-yunohost-des-versions-2-2-2-4-et-2-5)
* Twitter [@yunohost](https://twitter.com/yunohost) [#yunohost](https://twitter.com/hashtag/yunohost?src=hash)
- [Linux Pratique n°96 YunoHost, lauto-hébergement à portée de main juillet 2016](http://connect.ed-diamond.com/Linux-Pratique/LP-096/YunoHost-l-auto-hebergement-a-portee-de-main)
- [Linux Magazine n°208 YunoHost, Personal server for a private cloud Mars 2018](http://www.linux-magazine.com/Issues/2018/208/YunoHost)
## YunoHost was cited in :
* [EXPERIMENTA 2018](https://livestream.com/accounts/26482307/events/8034656/player?width=960&height=540&enableInfoAndActivity=true&defaultDrawer=&autoPlay=true&mute=false) at 57.47 (depuis https://www.experimenta.fr/direct/)
* [Capitole du libre 2017 - « Contributopia », Dégoogliser ne suffit pas](https://www.youtube.com/watch?v=ip6_VMkWpr8&feature=youtu.be&t=4793)
* [Contributopia - Essaimage (Framasoft)](https://contributopia.org/fr/essaimage/)

View file

@ -1,11 +0,0 @@
# Communication
<a href="https://linuxfr.org/news/yunohost-2-0-l-auto-hebergement-a-portee-de-clic"><img src="/images/Linuxfr.png" width=180></a>
<a href="https://fr.wikipedia.org/wiki/YunoHost"><img src="/images/Wikipedia-logo-v2-fr.svg" width=180></a>
<a href="https://www.linux-pratique.com/2016/07/et-si-vous-passiez-a-lauto-hebergement/"><img src="/images/linux-pratique-96.jpg" width=150 /></a>
<a href="http://www.linux-magazine.com/Issues/2018/208/YunoHost"><img src="/images/linux-magazine-208.jpg" width=150 /></a>
* LinuxFr :
- [YunoHost 2.0 : lauto-hébergement à portée de clic](https://linuxfr.org/news/yunohost-2-0-l-auto-hebergement-a-portee-de-clic)
- [Évolutions des projets La Brique Internet et YunoHost des versions 2.2, 2.4 et 2.5](https://linuxfr.org/news/evolutions-des-projets-la-brique-internet-et-yunohost-des-versions-2-2-2-4-et-2-5)
* Twitter [@yunohost](https://twitter.com/yunohost) [#yunohost](https://twitter.com/hashtag/yunohost?src=hash)
- [Linux Pratique n°96 YunoHost, lauto-hébergement à portée de main juillet 2016](http://connect.ed-diamond.com/Linux-Pratique/LP-096/YunoHost-l-auto-hebergement-a-portee-de-main)
- [Linux Magazine n°208 YunoHost, Personal server for a private cloud](http://www.linux-magazine.com/Issues/2018/208/YunoHost)

View file

@ -1,13 +0,0 @@
# Conférences
* [Capitole du libre 2017 - YunoHost : vers l'auto-hébergement et au-delà - JimboJoe](https://2017.capitoledulibre.org/programme/#yunohost-vers-lauto-hebergement-et-au-dela)
* [PSES 2017 Construire lInternet du Futur avec YunoHost Aleks, ljf](https://data.passageenseine.org/2017/aleks-ljf_internet-futur-yunohost.webm) ([slides](https://data.passageenseine.org/2017/aleks-ljf_internet-futur-yunohost.pdf))
* [Université de technologie de compiègne 2017 Agir pour un internet éthique LJF](http://webtv.utc.fr/watch_video.php?v=O34AA7RBR1AH)
* [FOSDEM 2017 Internet Cube kload](https://archive.fosdem.org/2017/schedule/event/internet_cube/)
* [FOSDEM 2017 YunoHost Bram](https://archive.fosdem.org/2017/schedule/event/yunohost/)
* [Capitole du libre 2016 1 an et ½ de Brique Internet Bram](http://videos2016.capitoledulibre.org/communaute-du-libre/bram-1-an-et-demi-de-brique-internet.mp4)
* [PSES 2015 - La Brique Internet](http://www.youtube.com/watch?v=NCRn0yRfkIE)
* [THSF 2015 beudbeud](https://vimeo.com/128055751)
* [RMLL 2014 - Hébergez-vous ! kload & beudbeud]()
* [Capitole du libre 2013 - Lauto-hébergement pour tous avec YunoHost - beudbeud](http://2013.capitoledulibre.org/conferences/internet-libre/lauto-hebergement-pour-tous-avec-yunohost.html)
* [FOSDEM 2013 — kload](https://www.youtube.com/watch?v=siN1OLAgGJk)

View file

@ -22,7 +22,7 @@ Parlez de logiciel libre, d[auto-hébergement](/selfhosting_fr), de YunoHost
<span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;&nbsp; Testez
</div>
<div class="col col-md-8" markdown="1">
Nous avons besoin de tester YunoHost profondément. Si vous trouvez un bug, essayez de lidentifier, puis reportez-le sur notre <a href="https://dev.yunohost.org/projects/yunohost/issues/new" target="_blank">bug tracker</a>.
Nous avons besoin de tester YunoHost profondément. Si vous trouvez un bug, essayez de lidentifier, puis reportez-le sur notre <a href="https://github.com/YunoHost/issues/issues/new" target="_blank">bug tracker</a>.
</div>
</div>

View file

@ -1,11 +1,32 @@
# Contributor documentation
* [How to contribute](/contribute)
* [What is YunoHost](/whatsyunohost)
* Developement
* [Roadmap](/roadmap)
* [List of available applications](/apps)
* [Package new applications](/packaging_apps)
* [Develop on Docker](/docker)
* Documentation
* [Write documentation](/write_documentation)
* [General ways of contributing to YunoHost](/contribute)
* [Writing documentation](/write_documentation)
* Application packaging
* [Apps wishlist](/apps_wishlist)
* [General introduction to app packaging](/packaging_apps_start)
* [Technical introduction to app packaging](/packaging_apps)
* [Setting up a dev environment with VirtualBox](packaging_apps_virtualbox_fr)
* [Manifest](packaging_apps_manifest)
* [Scripts](packaging_apps_scripts)
* [Arguments management](packaging_apps_arguments_management)
* [Nginx configuration](packaging_apps_nginx_conf)
* [Multi-instance](packaging_apps_multiinstance)
* [Helpers](packaging_apps_helpers)
* [Trap usage](packaging_apps_trap_fr)
* [Adding your app to the community list](https://github.com/YunoHost/Apps/#contributing)
* Quality tests
* [Package linter](https://github.com/YunoHost/package_linter)
* [Package check](https://github.com/YunoHost/package_check)
* [Applications levels](packaging_apps_levels_fr)
* [App Continuous Integration](https://ci-apps.yunohost.org/jenkins/)
* [App CI dashboard](https://dash.yunohost.org/appci/branch/stable)
* [YEP - YunoHost Enhancement Proposals](packaging_apps_guidelines_fr)
* [Contributing to the YunoHost core](/dev)
* [Setting up a dev environment with ynh-dev](https://github.com/YunoHost/ynh-dev/blob/master/README.md)
* [Deb build chain](https://github.com/YunoHost/vinaigrette/blob/master/README.md)
* Image building
* [x86 ISO](https://github.com/YunoHost/cd_build)
* [Raspberry Pi images](https://github.com/YunoHost/rpi-image)
* [Other ARM board images](https://github.com/YunoHost/arm-images)
* [Using the YunoHost API outside of the webadmin](/admin_api_fr)

View file

@ -1,13 +1,33 @@
# Documentation contributeur YunoHost
# Guide du contributeur
* [Guide du contributeur](/contribute_fr)
* [Quest-ce que YunoHost ?](/whatsyunohost_fr)
* Développement
* <a href='https://github.com/YunoHost/issues/milestones?direction=asc&sort=title&state=open' target='_BLANK'>Feuille de route du projet</a>
* [Liste des applications disponibles](/apps_fr)
* [Préparer/empaqueter une nouvelle application](/packaging_apps_fr)
* [Développer avec Docker](/docker_fr)
* [Présentation du fonctionnement de YunoHost](/package_list_fr)
* [Se créer un environnement de développement](/ynh_dev_fr)
* Documentation
* [Écrire de la documentation](/write_documentation_fr)
* [Liste des façons de contribuer à YunoHost](/contribute_fr)
* [Écrire de la documentation](/write_documentation_fr)
* Packaging d'application
* [Liste d'apps souhaitées par la communauté](/apps_wishlist_fr)
* [Introduction générale au packaging d'apps](/packaging_apps_start_fr)
* [Introduction technique au packaging d'apps](/packaging_apps_fr)
* [Déployer un environnement de développement avec VirtualBox](packaging_apps_virtualbox_fr)
* [Manifest](packaging_apps_manifest_fr)
* [Scripts](packaging_apps_scripts_fr)
* [Gestion des arguments](packaging_apps_arguments_management_fr)
* [Configuration nginx](packaging_apps_nginx_conf_fr)
* [Multi-instance](packaging_apps_multiinstance_fr)
* [Fonctions utiles](packaging_apps_helpers_fr)
* [Utilisation de 'trap'](packaging_apps_trap_fr)
* [Ajouter son application à la liste community](https://github.com/YunoHost/Apps/#contributing)
* Tests de qualité
* [Package linter](https://github.com/YunoHost/package_linter)
* [Package check](https://github.com/YunoHost/package_check)
* [Niveaux des applications](packaging_apps_levels_fr)
* [Intégration continue des apps](https://ci-apps.yunohost.org/jenkins/)
* [Tableau de bord du CI des apps](https://dash.yunohost.org/appci/branch/stable)
* [YEP - YunoHost Enhancement Proposals](packaging_apps_guidelines_fr)
* [Contribuer à la partie "core" de YunoHost](/dev_fr)
* [Déployer un environnement de dev avec ynh-dev](https://github.com/YunoHost/ynh-dev/blob/master/README.md)
* [Construction des paquets debian](https://github.com/YunoHost/vinaigrette/blob/master/README.md)
* [Feuilles de route du projet](https://github.com/YunoHost/issues/milestones?direction=asc&sort=title&state=open)
* Construction des images
* [x86 ISO](https://github.com/YunoHost/cd_build)
* [Images Raspberry Pi](https://github.com/YunoHost/rpi-image)
* [Autres images pour cartes ARM](https://github.com/YunoHost/arm-images)
* [Utiliser l'API YunoHost en dehors de la webadmin](/admin_api_fr)

View file

@ -1,8 +0,0 @@
# DKIM
<div class="alert alert-info">
DKIM is now integrated by default in YunoHost with [Rspamd](https://rspamd.com)/rmilter.
Make sure to add the TXT record for mail._domainkey from [the recommended DNS
configuration](dns_config) for DKIM to be fully operational.
</div>

View file

@ -1,9 +0,0 @@
# DKIM
<div class="alert alert-info">
DKIM est maintenant intégré de base dans YunoHost grâce à [Rspamd](https://rspamd.com)/rmilter.
Il vous suffit d'ajouter l'enregistrement DNS de type TXT recommandé pour
mail._domainkey tel que donné par [la configuration DNS recommandée](dns_config_fr)
pour que les signatures DKIM soient pleinement fonctionelles.
</div>

View file

@ -17,7 +17,7 @@
</div>
<div dir="rtl" class="col col-md-5 col-md-offset-3">
<a class="btn btn-danger btn-lg" href="/contributordoc_fr"><span class="glyphicon glyphicon-heart"></span> دليل المساهم</a>
<a class="btn btn-danger btn-lg" href="/contributordoc"><span class="glyphicon glyphicon-heart"></span> دليل المساهم</a>
<p><small class="text-muted">يحتوي على كافة المعلومات التي تخصنا و أسلوب عملنا و مساهمتنا</small></p>
</div>
@ -29,4 +29,4 @@
<p><small class="text-muted">تحتوي على قائمة كافة صفحات الموقع</small></p>
</div>
</div>
</div>

View file

@ -29,4 +29,4 @@ La documentation de YunoHost sarticule autour de trois sections :
<p><small class="text-muted">Liste de toutes les pages du site</small></p>
</div>
</div>
</div>

View file

@ -1,15 +0,0 @@
# Email
### Summary
* [Configure email client](email_configure_client_en)
* [MX DNS zone](/dns_config_en)
* [Open ports on the router](/isp_box_config_en)
* [Migrate emails](email_migration_en)
* [Forms to remove blacklisting of your IP address](blacklist_forms_en)
* [Use DKIM](dkim_en)
#### YunoHost provides
* [Postfix](http://www.postfix.org): a SMTP email server
* [Dovecot](http://www.dovecot.org): an IMAP email server
* [Rspamd](https://rspamd.com): an antispam
* [RoundCube](/apps): a webmail

View file

@ -27,7 +27,7 @@ Le protocole SMTP ne prévoit pas de mécanisme de vérification de lexpédit
Si les courriels envoyés à un type dadresse spécifique (par exemple les adresses Gmail) narrivent pas à destination, votre serveur (son adresse IP) a peut être été ajouté à la liste noire du fournisseur dadresse courriel en question. Pour résoudre ce problème voici les [formulaires de retrait des listes noires](blacklist_forms_fr).
#### Consulter les fichiers de log pour identifier le problème
De nombreux messages permettant didentifier les problèmes se trouvent enregistrés dans les fichiers de log du système. [Apprenez à les consulter](check_logfile_fr), pour pouvoir mieux comprendre ce qui cloche et trouver de laide sur le forum ou le salon de support.
De nombreux messages permettant didentifier les problèmes se trouvent enregistrés dans les fichiers de log du système. Apprenez à les consulter, pour pouvoir mieux comprendre ce qui cloche et trouver de laide sur le forum ou le salon de support.
<!-- ajouter une doc pour consulter ses logs des services mail -->

View file

@ -1,4 +1,4 @@
# Migrate his emails
# Migrating email from an email provider to a YunoHost instance
*[Documentation linked to YunoHost email](/email_fr)*.
@ -9,6 +9,7 @@ This tool must be installed on your desktop computer. The transfer method looks
**`Old email server > desktop computer with ImapSync or Larch > new email server`**
### ImapSync
[ImapSync site](http://imapsync.lamiral.info/)
Install ImapSync on your client computer by following this [guide](http://imapsync.lamiral.info/INSTALL):
@ -24,6 +25,7 @@ imapsync --host1 <domain/IP> --port1 993 --ssl1 --user1 <user> --password1 <pass
Note that transfer settings `--port 993` and `--ssl` are specific to YunoHost email server.
### Larch
[Larch site](https://github.com/rgrove/larch/)
After beforehand installed `gem`, install `larch` on your client computer:
@ -34,4 +36,4 @@ Transfer emails from a server to an other:
```bash
larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org
```
For other type of tranfer refer you to Larch documentation.
For other type of tranfer refer you to Larch documentation.

View file

@ -1,4 +1,4 @@
# Migration de ces emails
# Migrer ses emails d'un ancien serveur mail vers YunoHost
*[Documentation en rapport avec lemail de YunoHost](/email_fr)*.
@ -9,6 +9,7 @@ Cet outil doit être installé sur votre ordinateur de bureau. La procédure de
**`Ancien serveur email > ordinateur client avec ImapSync ou Larch > nouveau serveur email`**
### ImapSync
[Site dImapSync](http://imapsync.lamiral.info/)
Installez ImapSync sur votre ordinateur client en suivant ce [guide](http://imapsync.lamiral.info/INSTALL) :
@ -24,6 +25,7 @@ imapsync --host1 <domaine/IP> --port1 993 --ssl1 --user1 <utilisateur> --passwor
Notez que les paramètres de transfert `--port 993` et `--ssl` sont spécifique à un serveur de mail YunoHost.
### Larch
[Site de Larch](https://github.com/rgrove/larch/)
Après avoir préalablement installé `gem`, installez `larch` sur votre ordinateur client :

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View file

@ -1,201 +0,0 @@
# Installation dune Brique Internet
<div class="alert alert-info" markdown="1">
Cette documentation sadresse à des personnes qui ont **quelques notions dinformatique** et qui souhaitent installer elles-mêmes leur Brique Internet.
Pour obtenir une **Brique clé-en-main** et pouvoir lutiliser directement sans avoir besoin de connaissances particulières, il faut se rapprocher dune association locale qui fournit des Briques Internet à ses adhérents, comme celles référencées sur [le site de FFDN](http://db.ffdn.org).
[Site du projet *La Brique Internet*](http://labriqueinter.net)
</div>
<div class="alert alert-danger" markdown="1">
Aujourd'hui nous n'installons plus de Brique à la main en suivant ces instructions, nous vous conseillons d'utiliser l'outil d'installation automatique trouvable à [cette adresse](https://install.labriqueinter.net/#welcome) ou de contacter un FAI associatif local.
</div>
![brique](/images/thisisinternet.png)
## Prérequis
Une **Brique Internet complète**, soit :
* Un mini-serveur Olimex :
* [A20-OLinuXino-LIME](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware)
* [A20-OLinuXino-LIME2](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware)
* Une carte micro-SD (des [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO) pour des raisons de performance/stabilité).
* Un adaptateur secteur [européen](https://www.olimex.com/Products/Power/SY0605E/) pour alimenter la brique. Lalimentation via USB semble peu stable.
* Un câble Ethernet/RJ-45 pour brancher la Brique à son routeur.
* Une antenne WiFi :
* [MOD-WIFI-R5370-ANT](https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370-ANT/) (non-libre)
* [AR9271](http://fr.aliexpress.com/item/Atheros-AR9271-Chip-150Mbps-Mini-USB-Wifi-Adapter-with-5dBi-Antenna/32344771975.html) (libre, mais limitée à sept connexions simultanées maximum)
Et évidemment, **un ordinateur sous GNU/Linux ou BSD**.
---
Lordre des étapes est important.
## Étapes préliminaires
1. Télécharger limage ([lime1](http://repo.labriqueinter.net/labriqueinternet_A20LIME_latest_jessie.img.tar.xz) ou [lime2](http://repo.labriqueinter.net/labriqueinternet_A20LIME2_latest_jessie.img.tar.xz)), valider son *checksum MD5*, puis la décompresser :
```bash
% cd /tmp/
% wget http://repo.labriqueinter.net/labriqueinternet_A20LIME_latest_jessie.img.tar.xz
% wget http://repo.labriqueinter.net/MD5SUMS
% md5sum -c MD5SUMS
% tar -xf labriqueinternet_*.img.tar.xz
% mv labriqueinternet_*.img labriqueinternet.img
```
2. Identifier le nom de la carte micro-SD (SDNAME) en tapant la commande `ls -1 /sys/block/`, en insérant la carte micro-SD (éventuellement à laide dun adaptateur) dans son ordinateur, puis en retapant la commande `ls -1 /sys/block/`. Le nom de la carte micro-SD (SDNAME) correspond à la ligne qui apparaît en plus après la seconde saisie (e.g. *sdb* ou *mmcblk0*).
3. Copier limage sur la carte (remplacer *SDNAME* par le nom trouvé lors de létape précédente) :
```bash
sudo dd if=/tmp/labriqueinternet.img of=/dev/SDNAME bs=1M
sync
```
4. Mettre la carte micro-SD dans une Brique, connecter la brique à votre routeur avec le câble Ethernet, puis brancher lalimentation. La brique démarre normalement toute seule, et les LEDs du port Ethernet se mettent à clignoter au bout de dix secondes maximum.
<div class="alert alert-warning" markdown="1">
Le premier démarrage peut prendre un peu plus dune minute car la partition est redimensionnée et le serveur est redémarré automatiquement.
</div>
5. Récupérer ladresse IP locale de la Brique :
* soit avec une commande comme `sudo arp-scan --local | grep -P '\t02'` ou bien avec la commande `sudo arp-scan --local -I wlan0 | grep -P '\t02'` si votre ordinateur est connecté en WiFi.
* soit via linterface du routeur listant les clients DHCP,
* soit en branchant un écran en HDMI à la Brique, et en exécutant `ifconfig`.
<div class="alert alert-info" markdown="1">
Pour les commandes suivantes, nous admettons que ladresse IP locale de la Brique est **192.168.4.2**. Remplacer par ladresse IP précédemment déterminée.
</div>
6. Se connecter en SSH en root à la Brique, le mot de passe par défaut est **olinux** :
```bash
ssh root@192.168.4.2
```
À la première connexion, il sera demandé de changer le mot de passe : entrer à nouveau **olinux**, puis saisir deux fois le nouveau mot de passe.
7. Mettre à jour le système (environ 15 minutes) :
```bash
apt-get update && apt-get dist-upgrade
```
8. (optionnel) **Si vous avez une antenne WiFi libre**, la débrancher/rebrancher pour être sûr quelle soit reconnue après la mise à jour.
## Étapes de configuration
<div class="alert alert-info" markdown="1">
Nous installons ici la Brique de **michu.nohost.me**. Remplacer ce nom par le nom de domaine choisi (et comme précédemment lIP 192.168.4.2 par celle de la brique)
</div>
1. Mettre à jour le fichier `/etc/hosts` de son ordinateur client pour pouvoir accéder à la Brique en local via **michu.nohost.me**, en ajoutant à la fin :
```bash
192.168.4.2 michu.nohost.me
```
2. Procéder à la [postinstallation](/postinstall_fr) en se connectant à la Brique sur https://michu.nohost.me (accepter lexception de sécurité du certificat).
<div class="alert alert-info" markdown="1">
**Note :** il est également possible de réaliser cette étape en ligne de commande via SSH en exécutant `yunohost tools postinstall`.
</div>
3. **Créer le premier utilisateur** : se rendre dans linterface dadministration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe dadministration puis se rendre dans **Utilisateurs** > **Nouvel utilisateur**.
<div class="alert alert-info" markdown="1">
Il faudra entrer un **nom dutilisateur** sans majuscule/espace/tiret, un **nom/prénom/pseudo** en deux parties (obligatoires, merci LDAP) qui correspondra au nom qui apparaîtra sur les futurs emails de lutilisateur, ainsi quun **quota demail** éventuel et un **mot de passe** (*à ne pas confondre avec le mot de passe dadministration dans ce cas*).
</div>
4. **Installer lapplication VPN Client** : se rendre dans **Applications** > **Installer**, et entrer `https://github.com/labriqueinternet/vpnclient_ynh` dans le champs **URL** du formulaire **Installer une application personnalisée** tout en bas de la page. Ladresse du serveur peut être configurée plus tard (utiliser par exemple `dummy.vpn`).
5. **Restreindre laccès à lapplication VPN Client** (optionnel) : se rendre dans **Applications** > **VPN Client** > **Accès** et sélectionner lutilisateur précédemment créé, de sorte que les futurs potentiels nouveaux utilisateurs ne puissent pas modifier les paramètres daccès VPN.
6. **Configurer lapplication VPN Client** : se connecter à l**interface utilisateur** (ici https://michu.nohost.me/yunohost/sso/) et entrer les identifiants de lutilisateur précédemment créé. Vous devriez voir apparaître **VPN Client** dans votre liste dapplication :
<div><a title="screenshot_vpnclient" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png">
<img style="border-radius : 5px; border : 5px solid #eee; max-width : 800px" src="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png" />
</a></div>
De manière générale, il convient bien sûr déditer les paramètres en fonction de son fournisseur daccès VPN. Ce dernier devra vous fournir des certificats et/ou des identifiants ainsi quun préfixe délégué IPv6.
<div class="alert alert-info" markdown="1">
Pour Neutrinet, dans **Advanced**, il faudra également ajouter trois directives spécifiques :
<pre><code>resolv-retry infinite
ns-cert-type server
topology subnet</code></pre>
</div>
<div class="alert alert-warning" markdown="1">
**Attention** : le redémarrage du service, déclenché par le bouton **Save and reload**, peut prendre quelques minutes.
</div>
7. **Installer lapplication Hotspot** : sassurer que lantenne WiFi est bien branchée, et répéter les étapes **4**, **5** et **6** en installant à laide de lURL `https://github.com/labriqueinternet/hotspot_ynh` :
<div><a title="screenshot_hotspot" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png">
<img style="border-radius: 5px; border: 5px solid #eee; max-width: 800px" src="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png" />
</a></div>
<div class="alert alert-danger" markdown="1">
**Attention** : si vous n'installez *pas* DoctorCube votre brique ne fonctionnera pas au prochain redémarrage, en effet, il y a un bug avec le kernel 4.5 et les boards olimex qui empêche les Briques de se connecter au réseau (et ce qui les rends donc inutilisable), DoctorCube résoud ce problème.
</div>
8. **Installer DoctorCube** : de la même manière que pour les précédentes applications, installez l'application DoctorCube qui fournie des configurations et des fixs spécifiques à la brique, en utilisant l'URL suivante: `https://github.com/labriqueinternet/doctorcube_ynh` L'installation de DoctorCube peut prendre de nombreuses minutes.
9. **TESTER** : la Brique devrait être accessible via lIP publique que sa connexion VPN lui procure. Si lutilisateur a opté pour un nom de domaine en **.nohost.me**, patienter quelques minutes que son IP se propage sur le serveur DNS de YunoHost. Si lutilisateur a opté pour son propre nom de domaine, cest le moment de [configurer ses enregistrements DNS](/dns_config_fr) correctement chez son registrar.
Si tout se passe bien côté **hotspot**, un réseau WiFi du nom choisi par lutilisateur à létape 7 devrait être visible, et devrait vous router tout bien vers lInternet.
Il est possible de regarder lIP avec laquelle on sort sur Internet ([IPv4](http://ip.yunohost.org) / [IPv6](http://ip6.yunohost.org)) :
```bash
% host $(wget -qO- ip.yunohost.org)
% host $(wget -qO- ip6.yunohost.org)
```
Si le retour des deux commandes précédentes contient le nom du fournisseur daccès VPN, cest que la Brique fait bien accéder à Internet via le VPN.
# Étapes supplémentaires <small>(pour une Brique idéale)</small>
Ces étapes ne sont pas obligatoires mais peuvent améliorer considérablement l**expérience de la Brique** (*fap fap fap*).
* **Supprimer le CRON DynDNS** : si lutilisateur a opté pour un nom de domaine en **.nohost.me**, YunoHost a configuré automatiquement un client DynDNS sur la Brique qui va avertir le serveur DNS dun potentiel changement dIP publique. Or, lIP fournie par la connexion VPN **est fixe**. Il convient donc de supprimer ce client, qui pourrait malencontreusement mettre à jour lIP dans les DNS si la connexion VPN venait à tomber :
```bash
rm /etc/cron.d/yunohost-dyndns
```
* **Sassurer du nom de linterface WiFi** : lors du changement dantenne WiFi (même si le modèle reste le même), il peut arriver que le nom de linterface WiFi change, typiquement de `wlan0` à `wlan1`. Pour continuer à utiliser lapplication **hotspot**, il faut se rendre sur linterface web de configuration de lapplication (étape 10) et mettre à jour le **Device**.
* **Ajouter un CRON de restart du service VPN** : selon les paramètres VPN client et serveur, il peut arriver que la connexion soit instable, et que le client VPN tombe de temps en temps. Pour sassurer quil redémarrera automatiquement, une bonne méthode *quickndirty* et de tester que le service tourne et de le redémarrer dans le cas contraire :
```bash
echo "* * * * * root /sbin/ifconfig tun0 > /dev/null 2>&1 || systemctl restart ynh-vpnclient" > /etc/cron.d/restart-vpn
```
* **Arrêter le service Amavis** :
Amavis est un antivirus qui soccupe de regarder si les pièces jointes des emails ne sont pas vérolées. Il est très lourd et tombe souvent en panne sur des petites machines comme la Brique. Pour arrêter Amavis, éditer le fichier `/etc/postfix/main.cf` et commenter la ligne 90 (normalement) :
```bash
#content_filter = amavis:[127.0.0.1]:10024
```
Éditer également le fichier `/etc/postfix/master.cf` pour y commenter les lignes relatives à Amavis, vers les lignes 119-122 :
```bash
#amavis unix - - - - 2 smtp
# -o smtp_data_done_timeout=1200
# -o smtp_send_xforward_command=yes
# -o smtp_tls_note_starttls_offer=no
```
Une fois ces éditions effectuées, redémarrer le service postfix et arrêter le service amavis :
```bash
systemctl restart postfix
systemctl stop amavis
systemctl disable amavis
```
* **Mettre à jour la configuration SSH** : par défaut, la connexion SSH en tant que **root** est possible sur la Brique ce qui est considéré comme une faille de sécurité. Quand vous voulez vous connecter en SSH, il est préférable de le faire en tant qu**admin** : cet utilisateur (qui est sudoer) a été créé automatiquement avec le même mot de passe que **root**. Pour ne garder que la connexion en tant qu**admin**, il convient déditer le `/etc/ssh/sshd_config` et de passer **PermitRootLogin** à **without-password**.
<div class="alert alert-warning" markdown="1">
Dautres conseils de sécurité sont décrits sur la page : [sécurité](/security_fr).
</div>
* **Configurer le reverse DNS** : pour sassurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. Il faut sadresser au fournisseur de VPN. En tant que FAI associatif, cest un service faisable, autant le demander!
* **Configurer le DKIM** : avec un SPF et un PTR bien configurés dans les DNS, les emails envoyés par la Brique ne devraient pas être considérés comme spam. Ceci dit, GMail et dautres dégraderont considérablement le spamscore si le DKIM nest pas configuré également.
Cette opération est longue mais à considérer pour avoir un serveur email irréprochable en production. Plus de renseignement sur [la page de documentation appropriée](/dkim_fr).
* **Installer Roundcube** via linterface dadministration YunoHost et tester lenvoi et la réception demail.
* **Installer dautres applications** et les découvrir.
---
## Notes
* **Attention à la RAM** : sur le modèle A20-OLinuXino-LIME, les **512 Mo** partent relativement vite. Les applications PHP ne sont pas très gourmandes, mais Searx et Etherpad Lite sont par exemple à installer avec des pincettes. Toutes les apps officielles fonctionnent sans problème de RAM avec le A20-OLinuXino-LIME2 (qui a 1 Go de RAM).

View file

@ -1,3 +0,0 @@
# News
The news are now available on [our forum](https://forum.yunohost.org/), in the [announcement category](https://forum.yunohost.org/c/announcement).

View file

@ -1,3 +0,0 @@
# Actualités
Les actualités sont maintenant disponibles sur [notre forum](https://forum.yunohost.org/), dans la [catégorie "announcement"](https://forum.yunohost.org/c/announcement).

View file

@ -38,7 +38,7 @@ Since YunoHost has a unified architecture, you will be able to guess most of the
<a class="btn btn-lg btn-default" href="packaging_apps_multiinstance_en">Multi-instance</a>
### Hooks
YunoHost provides a hook system, which is accessible via the packager's script callbacks in moulinette (CLI).
YunoHost provides a hook system, which is accessible via the packager's script callbacks in command line.
The scripts have to be placed in the `hooks` repository at the root of the YunoHost package, and must be named `priority-hook_name`, for example: `hooks/50-post_user_create` will be executed after each user creation.
**Note**: `priority` is optional, default is `50`.
@ -54,7 +54,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 [moulinette](/moulinette_en):
Or you can use [command line](/commandline_en):
```bash
yunohost app install /path/to/my/app/package
```

View file

@ -1,5 +0,0 @@
# Cité
* [EXPERIMENTA 2018](https://livestream.com/accounts/26482307/events/8034656/player?width=960&height=540&enableInfoAndActivity=true&defaultDrawer=&autoPlay=true&mute=false) at 57.47 (depuis https://www.experimenta.fr/direct/)
* [Capitole du libre 2017 - « Contributopia », Dégoogliser ne suffit pas](https://www.youtube.com/watch?v=ip6_VMkWpr8&feature=youtu.be&t=4793)
* [Contributopia - Essaimage (Framasoft)](https://contributopia.org/fr/essaimage/)

View file

@ -110,7 +110,7 @@ Save and restart SSH daemon.
---
### Disable YunoHost API
YunoHost administration is accessible through an **HTTP API**, served on the 6787 port by default. It can be used to administrate a lot of things on your server, thus to break many things between malicious hands. The best thing to do, if you know how to use the [command-line interface](/moulinette), is to deactivate the `yunohost-api` service.
YunoHost administration is accessible through an **HTTP API**, served on the 6787 port by default. It can be used to administrate a lot of things on your server, thus to break many things between malicious hands. The best thing to do, if you know how to use the [command-line interface](/commandline), is to deactivate the `yunohost-api` service.
```bash
sudo service yunohost-api stop

View file

@ -120,7 +120,7 @@ Sauvegardez et relancez le démon SSH.
### Désactivation de lAPI YunoHost
YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut. Elle permet dadministrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [moulinette](/moulinette_fr)** en SSH.
YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut. Elle permet dadministrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline_fr)** en SSH.
```bash
sudo service yunohost-api stop

View file

@ -37,8 +37,7 @@
* [Use the YunoHost DNS resolver](/dns_resolver_en)
* [Dynamic IP address: configure DynDNS](dns_dynamicip_en)
* [Access his server on his local network](/dns_local_network_en)
- [IPv6](ipv6_fr)
- [VPN](vpn_advantage)
- [VPN](vpn_advantage)
* [Internet service provider](/isp)
* [Generic configuration of the ISP router](/isp_box_config)
* Applications
@ -47,7 +46,7 @@
* Administration
* Command-line
* [Connect to your server with SSH](/ssh)
* [Command line administration](/moulinette)
* [Command line administration](/commandline)
* [Web administration](/admin)
* [Change administration password](/change_admin_password)
* [Email](email_en)
@ -95,16 +94,12 @@
* [Write documentation](/write_documentation)
* [Contribution](/contributordoc)
* Project's life:
* [Changelog v.2.0](/changelog_2_0_en)
* [Changelog v.2.2](/changelog_2_2_en)
* [Roadmap](/roadmap)
* [Frequently asked questions](/faq_en)
* [Contributors](contribs)
- [Project organization](project_organization)
* [Art Works](artworks_en)
* [Project organization](/project_organization)
* [Blog](https://forum.yunohost.org/c/announcement)
- [Forum](https://forum.yunohost.org)
- [Chat rooms](chat_rooms_en)
* [Communication](communication_en)
* [Forum](https://forum.yunohost.org)
* [Chat rooms](/chat_rooms_en)
* [Communication](/communication_en)
* [Support / Help](/help)

View file

@ -40,8 +40,7 @@
* [Adresse IP dynamique : configuration dun DynDNS](dns_dynamicip_fr)
* [Accéder à son serveur dans son réseau local](/dns_local_network_fr)
* [Nom de domaine en Nohost.me](/dns_nohost_me_fr)
- [IPv6](ipv6_fr)
- [VPN](vpn_advantage_fr)
- [VPN](vpn_advantage_fr)
* [Fournisseurs daccès à Internet](/isp_fr)
* [Configuration générique de la box ou du routeur](/isp_box_config_fr)
* [Free](/isp_free_fr)
@ -53,7 +52,7 @@
* Administration
* En ligne de commande
* [Connexion à son serveur avec SSH](/ssh_fr)
* [Administration avec la Moulinette](/moulinette_fr)
* [Administration avec la ligne de commande](/commandline_fr)
* [Administration web](/admin_fr)
* [Administration via l'API](/admin_api_fr)
* [Changer le mot de passe dadministration](/change_admin_password_fr)
@ -68,7 +67,6 @@
* [Régénérer le certificat auto-signé](/regenerate_certificate_fr)
* [Sécurité](/security_fr)
- [Contacter léquipe de sécurité](security_team_fr)
* [Consulter les fichiers de log du système](/check_logfile_fr)
* [Guide de dépannage](/troubleshooting_guide_fr)
* [YunoHost service caché Tor](/torhiddenservice_fr)
* [Débloquer une IP avec Fail2ban](/fail2ban_fr)
@ -108,16 +106,10 @@
* [Contribution](/contributordoc_fr)
* Vie du projet :
* [Journal des modifications v.2.0](/changelog_2_0_en)
* [Journal des modifications v.2.2](/changelog_2_2_en)
* [Feuille de route](/roadmap_en)
* [Foire aux questions](/faq_fr)
- [Organisation du projet](project_organization_fr)
* [Contributeurs](contribs_fr)
* [Blog](https://forum.yunohost.org/c/announcement)
- [Forum](https://forum.yunohost.org)
- [Salons de discussions](chat_rooms_fr)
* [Conférences](/conf_fr)
* [Communication extérieure](communication_fr)
* [Travail artistique](artworks_fr)
- [Salons de discussions](/chat_rooms_fr)
* [Communication extérieure](/communication)
* [Support / Aide](/help_fr)

View file

@ -18,7 +18,7 @@ From my experience, some packaging are excellent and others can break some part
Answer to your question may be already in [the documentation](https://yunohost.org/#/sitemap_en).
### Check the command line help
Learn how to use the [YunoHost commands](https://yunohost.org/#/moulinette_en) like a pro.
Learn how to use the [YunoHost commands](https://yunohost.org/#/commandline) like a pro.
## Upgrade
Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en).

View file

@ -19,7 +19,7 @@ et [le salon de discussion Yunohost](support_fr) pour voir si dautres ont eu
Les réponses à vos questions existent peut être déjà dans [la documentation](sitemap_fr).
### Vérifier laide dans les commandes en ligne
Vous pouvez apprendre à utiliser les [commandes YunoHost](moulinette_fr)
Vous pouvez apprendre à utiliser les [commandes YunoHost](/commandline_fr)
## Mise à jour
Les problèmes ont souvent lieu après une mise à jour. Après une mise à jour, vous pouvez avoir envie de [mettre à jour votre application](app_update_fr).

View file

@ -118,4 +118,16 @@ First, the software is too young, not tested at large scale and thus probably no
You can host your friends, your family and your company safely and with ease, but you have to **trust your users**, and they have to trust you above all. If you do want to provide YunoHost services for unknown persons anyway, a full VPS per user will be just fine, and we believe is a better way to go.
---
### Art Works
Black and white YunoHost png logo done by ToZz (400 × 400 px):
<a href="/images/ynh_logo_black.png"><img src="/images/ynh_logo_black.png" width=220></a>
<a href="/images/ynh_logo_white.png"><img src="/images/ynh_logo_white.png" width=220></a>
Click to download.
Licence: CC-BY-SA 4.0

View file

@ -118,3 +118,17 @@ Même si YunoHost est multi-domaine et multi-utilisateur, il reste **inappropri
Premièrement parce que le logiciel est trop jeune, donc non-testé et non-optimisé pour être mis en production pour des centaines dutilisateurs en même temps. Et quand bien même, ce nest pas le chemin que lon souhaite faire suivre à YunoHost. La virtualisation se démocratise, et cest une façon bien plus étanche et sécurisée de faire de la mutualisation.
Vous pouvez héberger vos amis, votre famille ou votre entreprise sans problème, mais vous devez **avoir confiance** en vos utilisateurs, et ils doivent de la même façon avoir confiance en vous. Si vous souhaitez tout de même fournir des services YunoHost à des inconnus, **un VPS entier par utilisateur** sera la meilleure solution.
---
# Logo
Logo Yunohost noir et blanc réalisé par ToZz (400 × 400 px) :
<a href="/images/ynh_logo_black.png"><img src="/images/ynh_logo_black.png" width=220></a>
<a href="/images/ynh_logo_white.png"><img src="/images/ynh_logo_white.png" width=220></a>
Cliquer pour télécharger.
Licence: CC-BY-SA 4.0

View file

@ -1,91 +0,0 @@
## Créer un environnement de développement
<div class="alert alert-danger">
<b>Attention :</b> cette page de documentation nest plus à jour. Merci de vous référer à la [documentation du dépôt](https://github.com/YunoHost/ynh-dev).
</div>
Ce document a pour but de donner les clés pour créer un environnement de développement correct afin de développer sur le cœur de YunoHost. Il peut également vous permettre de tester vos applications que ce soit avec les versions `stable`, `testing`, `unstable` ou même des versions customisées issues des branches des dépôts.
### Installation de lenvironnement de développement
#### Installation du système de virtualisation
Installer, avec le gestionnaire de paquet de votre système dexploitation, Vagrant.
```bash
# Debian, Ubuntu, Mint
sudo apt-get install vagrant
# Fedora
sudo dnf install vagrant
```
#### Télécharger `ynh-dev`
<div class="alert alert-warning">
<b>Attention :</b> Cette partie est en cours de rédaction. La ligne de commande `ynh-dev` vient juste dêtre créée il est possible quil y ait des manques.
</div>
Une ligne de commande `ynh-dev` a été créée afin de simplifier la gestion de votre environnement de développement.
```bash
wget https://raw.githubusercontent.com/yunohost/ynh-dev/master/ynh-dev
chmod u+x ynh-dev
```
Pour créer votre environnement, commencez par faire un `create-env`
```bash
./ynh-dev create-env ~/project/my/yunohost/env
```
Cette sous commande va cloner les dépôts principaux au fonctionnement de YunoHost et les positionner en `unstable`. Si vous avez vos propres fork, vous pouvez ensuite faire ce quil faut pour changer lorigine et le remote repository.
#### Usage
##### Lancer un container
Positionner vous dans votre environnement, puis créer et entrer dans une vm à laide de `ynh-dev run`
```bash
cd ~/project/my/yunohost/env
./ynh-dev run exemple.local stable8
root@yunohost:/# cd yunohost
root@yunohost:/yunohost/# ls
Dockerfile LICENSE README.md SSOwat apps backup moulinette ynh-dev yunohost yunohost-admin yunohost-vagrant
```
##### Mettre à jour un container
Si la vm nest pas à jour lancez un `ynh-dev upgrade` :
```bash
root@yunohost:/yunohost/# ./ynh-dev upgrade
```
##### Déployer les sources présentes dans votre environnement
Pour déployer les sources se trouvant dans votre environnement de développement faites :
```bash
root@yunohost:/yunohost/# ./ynh-dev deploy
```
<div class="alert alert-warning">
<b>Attention :</b> pour yunohost-admin vous devez avoir compilé le js avec gulp au préalable
</div>
<div class="alert alert-warning">
<b>Note :</b> vous pouvez sélectionner les paquets à déployer exemple : `./ynh-dev deploy yunohost yunohost-admin`
</div>
##### Lancer la postinstall
Avec VirtualBox/Vagrant
```bash
root@yunohost:/yunohost/# yunohost tools postinstall
```
##### Récupérer lIP de la vm et paramétrer son `/etc/hosts`
si vous ne connaissez pas lIP de votre vm :
```bash
root@yunohost:/yunohost/# ./ynh-dev ip
172.17.0.1
```
Pour tester dans votre navigateur vous pouvez modifier votre fichier `/etc/hosts` afin de faire pointer votre domaine sur la bonne adresse IP. Par exemple en y ajoutant une ligne semblable à celle-ci :
```bash
172.17.0.1 exemple.local
```
##### Déployer les sources au fur et à mesure des modifications
```bash
root@yunohost:/yunohost/# ./ynh-dev watch
```
Astuce : dans le cas de modification sur yunohost-admin, cette commande est très pratique couplée avec un `gulp watch` sur la machine hôte.