doc/packaging_apps_manifest_fr.md

3.9 KiB
Raw Blame History

Packaging dapplication

Manifeste

Le fichier manifest.json définit les constantes de lapplication, un ensemble de valeurs dont YunoHost a besoin pour identifier lapplication et linstaller correctement. Voici un exemple :

{
    "name": "Roundcube",
    "id": "roundcube",
    "description": {
        "en": "Open Source Webmail software",
        "fr": "Webmail Open Source"
    },
    "url": "http://roundcube.net/",
    "license": "free",
    "maintainer": {
        "name": "kload",
        "email": "kload@kload.fr"
    },
    "multi_instance": "true",
    "services": [
        "nginx",
        "php5-fpm",
        "mysql"
    ],
    "arguments": {
        "install" : [
            {
                "name": "domain",
                "type": "domain",
                "ask": {
                    "en": "Choose a domain for Roundcube",
                    "fr": "Choisissez un domaine pour Roundcube"
                },
                "example": "domain.org"
            },
            {
                "name": "path",
                "type": "path",
                "ask": {
                    "en": "Choose a path for Roundcube",
                    "fr": "Choisissez un chemin pour Roundcube"
                },
                "example": "/webmail",
                "default": "/webmail"
            }
        ]
    }
}
  • name : nom de lapplication. Son unicité nest pas nécessaire. Il est tout de même conseillé étant donné que cest le nom qui apparaît dans la liste des applications pour les administrateurs de serveurs YunoHost.

  • id : identifiant de lapplication. Vous devez vous assurer de son unicité.

  • description : description complète de lapplication. Vous pouvez la détailler comme bon vous semble. Uniquement le champs en (english) est requis, vous pouvez également ajouter la traduction en français :)

  • url: site de lapplication.

  • license : licence avec laquelle lapplication est distribuée : free, non-free. Attention à ne pas confondre avec la licence du paquet qui doit être mise dans le fichier LICENSE.

  • maintainer : informations à propos du mainteneur du paquet de lapplication pour pouvoir le contacter.

  • multi_instance : définit la possibilité du paquet à être installé plusieurs fois. Quand YunoHost essaie dinstaller une seconde fois lapplication, il remplaçera lid dans votre script par id__2. Cela signifie que si voulez que lapplication soit multi_instance, vous devez mettre toutes les valeurs identifiantes dans les scripts.

    Par exemple : dans le script roundcube, il faut nommer la base de donnée roundcube, le dossier dinstallation roundcube et la configuration Nginx roundcube. De cette manière, la seconde installation de roundcube ne rentrera pas en conflit avec la première, et sera installée dans la base de donnée roundcube__2, dans le répertoire roundcube__2, et avec la configuration Nginx roundcube__2.

  • services : liste des services nécessaires au fonctionnement de lapplication. nginx, php5-fpm, mysql, uwsgi, metronome, postfix, dovecot

  • arguments :

    • install : paramètres à demander à ladministrateur lors de linstallation.
      • name : identifiant du paramètre
      • type : (optionnel) type de paramètre parmis domain, path, user et password. Le champ sera caché dans le cas dun mot de passe.
      • optional : (optionnel) champs qui indique si ce paramètre est optionnel. Il peux avoir les valeurs true ou false.
      • ask : question posée (au minimum en anglais en) que vous pouvez traduire dans plusieurs langues.
      • example : (optionnel) valeur dexemple pour aider ladministrateur à remplir le formulaire dinstallation.
      • default : (optionnel) valeur par défaut.