diff --git a/default/main.yml b/default/main.yml
index 4666f3c556a0503bdd9f140cf894735568193c9d..bb6a7d42469a3795b42b7b7169524fc5658e63e0 100644
--- a/default/main.yml
+++ b/default/main.yml
@@ -2,10 +2,14 @@ yunohost:
   # Link to the install script
   install_script_url: https://raw.githubusercontent.com/YunoHost/install_script/master/install_yunohost
   # The main domain
-  domain: mydomain.fr
+  domain: example.com
   # Yunohost admin password
   password: MYINSECUREPWD_PLZ_OVERRIDE_THIS
   # If you don't want to use a noho.st url
   ignore_dyndns: False
-  # The list of apps you want to install (not working yet).
-  apps: ~
+  # The list of apps you want to install.
+  apps:
+    - link: ttrss # It can be the name of an official app or a github link
+      args: # Provide here args. Path and domain are mandatory, other args depend of the app.
+        path: /var/www/ttrss
+        domain: example.com
diff --git a/tasks/app.yml b/tasks/app.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e1690807385ef71c6f27cc840d30e2aa0b2c6e1f
--- /dev/null
+++ b/tasks/app.yml
@@ -0,0 +1,8 @@
+---
+- name: Test if this app is already installed
+  stat: path={{ app.args.path }}
+  register: yunohost_app_installed
+
+- name: Install app
+  shell: yunohost app install {{ app.link }} --args {% for key, value in app.args.items() %}{{key}}={{value}}{% if not loop.last %}\&{% endif %}{% endfor %} >> ~/log.txt
+  when: yunohost_app_installed.stat.exists == False
diff --git a/tasks/main.yml b/tasks/main.yml
index 2e5e9394177ee07865dcaaaadb682830a94cbda6..b3b6f5a7d39149c0a2d58ebe35232918347c8e67 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -33,3 +33,8 @@
 - name: Install certificates
   shell: "yunohost domain cert-install"
   when: yunohost_file_install.stat.exists == False
+
+- name: Install apps
+  include: app.yml app={{item}}
+  with_items: "{{ yunohost.apps }}"
+  when: yunohost.apps