{% import "bootstrap/wtf.html" as wtf %} {% macro form_field(field, form_type="basic", horizontal_columns=('lg', 2, 10), button_map={}) %} {% if field.widget.input_type == 'checkbox' %}
{%- if field.description -%}

{{field.description|safe}}

{%- endif %}
{% else %} {{ wtf.form_field(field, form_type, horizontal_columns, button_map) }} {% endif %} {% endmacro %} {% extends "bootstrap/base.html" %} {% block title %} YunoHost app generator {% endblock %} {% block styles %} {{super()}} {% endblock %} {% block content %}

Formulaire de génération d'une application Yunohost

{{ main_form.hidden_tag() }} {{ wtf.form_errors(main_form, hiddens="only") }} {{ form_field(main_form.generator_mode) }}

1/8 - Informations générales

{{ form_field(main_form.app_name) }} {{ form_field(main_form.app_id) }} {{ form_field(main_form.description_en) }} {{ form_field(main_form.description_fr) }}

2/8 - Informations sur l'upstream

Le terme upstream désigne le projet original qui maintient l'app

{{ form_field(main_form.license) }} {{ form_field(main_form.website) }} {{ form_field(main_form.demo) }} {{ form_field(main_form.admindoc) }} {{ form_field(main_form.userdoc) }} {{ form_field(main_form.code) }}

3/8 - Intégration dans YunoHost

{{ form_field(main_form.version) }} {{ form_field(main_form.maintainers) }} {{ form_field(main_form.multi_instance) }} {{ form_field(main_form.architectures) }} {{ form_field(main_form.ldap) }} {{ form_field(main_form.sso) }}

4/8 - Questions à poser pendant l'installation

Cette partie sert à indiquer les questions qui devront être posées.
NB: seules des questions standard sont proposées ici, il faudra éventuellement compléter à la main en suivant le modèle des autres questions.

{{ form_field(main_form.domain_and_path) }} {{ form_field(main_form.init_main_permission) }} {{ form_field(main_form.init_admin_permission) }} {{ form_field(main_form.language) }}

5/8 - Ressources à initialiser

Il s'agit d'éléments techniques configurés avant que le "vrai" script d'install de l'app ne soit lancé. Typiquement : créer un user système, télécharger les sources de l'app, initialiser le dossier d'install et de données, installer des dépendances avec apt, créer une base de donnée SQL, ...

Sources du logiciel

{{ form_field(main_form.source_url) }} {{ form_field(main_form.sha256sum) }} {{ form_field(main_form.auto_update) }}
{{ form_field(main_form.system_user) }} {{ form_field(main_form.install_dir) }} {{ form_field(main_form.data_dir) }} {{ form_field(main_form.apt_dependencies) }} {{ form_field(main_form.database) }}

6/8 - Technologie spécifique

{{ form_field(main_form.main_technology) }}
{{ form_field(main_form.use_composer) }}
{{ form_field(main_form.nodejs_version) }} {{ form_field(main_form.use_yarn) }}
{{ form_field(main_form.install_snippet) }}
{{ form_field(main_form.systemd_execstart) }}

7/8 - Configuration de l'app

{{ form_field(main_form.use_custom_config_file) }}
{{ form_field(main_form.custom_config_file) }} {{ form_field(main_form.custom_config_file_content) }}

8/8 - Options avancées

{{ form_field(main_form.supports_change_url) }} {{ form_field(main_form.use_logrotate) }} {{ form_field(main_form.use_fail2ban) }} {{ form_field(main_form.fail2ban_regex) }} {{ form_field(main_form.use_cron) }} {{ form_field(main_form.cron_config_file) }}
{{ main_form.submit(class="btn btn-primary") }}
{% if parameters['invalid_form'] %}

Formulaire invalide, veuillez vérifier quel champ contient une erreur svp.

{% endif %}

{% if parameters['preview'] %} {# is defined #}
Afficher le code des fichiers principaux

Voici le code de l'application {{parameters['app.name']}}

Manifeste (manifest.toml)


{% set lines = template_manifest_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script d'installation (install)


{% set lines = template_install_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script de suppression (remove)


{% set lines = template_remove_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script de sauvegarde (backup)


{% set lines = template_backup_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script de restauration (restore)


{% set lines = template_restore_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script de mise à jour (upgrade)


{% set lines = template_upgrade_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

Script de configuration spéciale (config)


{% set lines = template_config_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

{%- if template_change_url_content -%}

Script de changement d'URL (change_url)


{% set lines = template_change_url_content.splitlines() %}
{% for line in lines %} {{ line }}
{% endfor %}

{% endif %} {%- if systemd_config_file -%}

Fichier de configuration du service SystemD (systemd.service)

            
            {{parameters['systemd_config_file']}}
            
        
{% endif %} {%- if nginx_config_file -%}

Fichier de configuration de NGINX (nginx.conf)

            
            {{parameters['nginx_config_file']}}
            
        
{% endif %} {%- if custom_config_file -%}

Fichier de configuration personnalisé ({{custom_config_file}})

            
            {{parameters['custom_config_file_content']}}
            
        
{% endif %} {%- if cron_config_file -%}

Fichier de configuration de tâche CRON (task.cron)

            
            {{parameters['cron_config_file']}}
            
        
{% endif %}

{% endif %}
{% endblock %}