2015-10-11 21:23:00 +02:00
## Créer un environnement de développement
2015-10-11 20:15:34 +02:00
2015-10-11 21:23:00 +02:00
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.
2015-10-11 20:15:34 +02:00
2015-10-11 21:23:00 +02:00
### Installation de l’ environnement de développement
2016-01-29 21:47:13 +01:00
#### Installation du système de virtualisation
Installer, avec le gestionnaire de paquet de votre système d’ exploitation, Vagrant ou Docker suivant celui que vous souhaitez utiliser.
```bash
# Debian, Ubuntu, Mint
sudo apt-get install docker vagrant
# Fedora
2016-01-29 22:02:15 +01:00
sudo dnf install docker vagrant vagrant-libvirt
2016-01-29 21:47:13 +01:00
```
#### Télécharger `ynh-dev`
2015-11-06 00:15:40 +01:00
< div class = "alert alert-warning" >
2016-03-30 14:32:52 +02:00
< 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 qu’ il y ait des manques.
2015-11-06 00:15:40 +01:00
< / div >
< div class = "alert alert-warning" >
2016-03-30 14:32:52 +02:00
< b > Note :</ b > `ynh-dev` fonctionne avec apt-get. Debian et Linux Mint ont été testés. Ubuntu fonctionne sans doute.
2015-11-06 00:15:40 +01:00
< / div >
2015-10-13 18:56:54 +02:00
2016-01-29 22:12:10 +01:00
Une ligne de commande `ynh-dev` a été créée afin de simplifier la gestion de votre environnement de développement.
2015-10-11 20:44:41 +02:00
```bash
2016-01-30 22:10:09 +01:00
wget https://raw.githubusercontent.com/yunohost/ynh-dev/master/ynh-dev
2015-10-12 02:44:20 +02:00
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
```
2016-01-29 22:12:10 +01:00
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 qu’ il faut pour changer l’ origine et le remote repository.
2015-10-12 02:44:20 +02:00
#### Usage
2015-10-13 18:56:54 +02:00
##### Lancer un container
2016-01-29 19:15:32 +01:00
Positionner vous dans votre environnement, puis créer et entrer dans une vm à l’ aide de `ynh-dev run`
2015-10-13 18:56:54 +02:00
```bash
cd ~/project/my/yunohost/env
./ynh-dev run exemple.local docker 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
2016-03-30 14:32:52 +02:00
Si la vm n’ est pas à jour lancez un `ynh-dev upgrade` :
2015-10-13 18:56:54 +02:00
```bash
root@yunohost:/yunohost/# ./ynh-dev upgrade
```
##### Déployer les sources présentes dans votre environnement
2016-03-30 14:32:52 +02:00
Pour déployer les sources se trouvant dans votre environnement de développement faites :
2015-10-13 18:56:54 +02:00
```bash
root@yunohost:/yunohost/# ./ynh-dev deploy
```
2015-11-06 00:15:40 +01:00
< div class = "alert alert-warning" >
2016-03-30 14:32:52 +02:00
< b > Attention :< / b > pour yunohost-admin vous devez avoir compilé le js avec gulp au préalable
2015-11-06 00:15:40 +01:00
< / div >
2015-10-13 18:56:54 +02:00
2015-11-06 00:15:40 +01:00
< div class = "alert alert-warning" >
2016-03-30 14:32:52 +02:00
< b > Note :</ b > vous pouvez sélectionner les paquets à déployer exemple : `./ynh-dev deploy yunohost yunohost-admin`
2015-11-06 00:15:40 +01:00
< / div >
2015-10-13 18:56:54 +02:00
##### Lancer la postinstall
Avec Docker
```bash
root@yunohost:/yunohost/# postinstall
```
Avec VirtualBox/Vagrant
```bash
root@yunohost:/yunohost/# yunohost tools postinstall
```
2016-01-29 22:16:47 +01:00
##### Récupérer l’ IP de la vm et paramétrer son `/etc/hosts`
2016-03-30 14:32:52 +02:00
si vous ne connaissez pas l’ IP de votre vm :
2015-10-13 18:56:54 +02:00
```bash
root@yunohost:/yunohost/# ./ynh-dev ip
172.17.0.1
```
2016-03-30 14:32:52 +02:00
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 :
2015-10-13 18:56:54 +02:00
```bash
172.17.0.1 exemple.local
```
##### Déployer les sources au fur et à mesure des modifications
```bash
root@yunohost:/yunohost/# ./ynh-dev watch
```
2016-03-30 14:32:52 +02:00
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.