doc/pages/02.contribute/04.packaging_apps/05.manifest/packaging_apps_manifest.fr.md

94 lines
4.3 KiB
Markdown
Raw Normal View History

2020-11-11 11:47:10 +01:00
---
title: Packaging d'application
template: docs
taxonomy:
category: docs
routes:
default: '/packaging_apps_manifest'
2020-11-11 11:47:10 +01:00
---
2016-01-26 19:04:50 +01:00
2016-01-26 17:31:26 +01:00
## Manifeste
2016-01-30 22:00:44 +01:00
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 :
2016-01-26 17:31:26 +01:00
```json
{
"name": "Roundcube",
"id": "roundcube",
"packaging_format": 1,
2016-01-26 17:31:26 +01:00
"description": {
"en": "Open Source Webmail software",
"fr": "Webmail Open Source"
},
2016-01-26 17:56:17 +01:00
"url": "http://roundcube.net/",
"version": "1.0.1~ynh7",
2016-01-26 17:31:26 +01:00
"license": "free",
"maintainer": {
"name": "kload",
2016-01-26 17:56:17 +01:00
"email": "kload@kload.fr"
2016-01-26 17:31:26 +01:00
},
"requirements": {
"yunohost": ">= 2.4.0"
},
"multi_instance": true,
2016-01-26 17:56:17 +01:00
"services": [
"nginx",
"php5-fpm",
"mysql"
],
2016-01-26 17:31:26 +01:00
"arguments": {
"install" : [
{
"name": "domain",
2016-01-26 17:56:17 +01:00
"type": "domain",
2016-01-26 17:31:26 +01:00
"ask": {
2016-01-26 17:56:17 +01:00
"en": "Choose a domain for Roundcube",
"fr": "Choisissez un domaine pour Roundcube"
2016-01-26 17:31:26 +01:00
},
"example": "domain.org"
},
{
"name": "path",
2016-01-26 17:56:17 +01:00
"type": "path",
2016-01-26 17:31:26 +01:00
"ask": {
2016-01-26 17:56:17 +01:00
"en": "Choose a path for Roundcube",
"fr": "Choisissez un chemin pour Roundcube"
2016-01-26 17:31:26 +01:00
},
"example": "/webmail",
"default": "/webmail"
}
]
}
}
```
2016-01-26 18:22:32 +01:00
* **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.
2016-01-26 17:31:26 +01:00
2016-01-26 18:22:32 +01:00
* **id** : identifiant de lapplication. Vous devez vous assurer de son unicité.
2016-01-26 17:31:26 +01:00
- **packaging_format** : version de packaging du paquet. La version **1** est la version actuelle. Cette clé a été mise en place afin de faire évoluer les versions de packaging de manière décorrélée des versions de YunoHost.
* **description** : description complète de lapplication. Vous pouvez la détailler comme bon vous semble. Uniquement le champ `en` (english) est requis, vous pouvez également ajouter la traduction en français :)
2016-01-26 17:31:26 +01:00
* **url** : site web de lapplication.
* **version** : version du package construit à partir du numéro de version de lapplication qui est installée et d'un incrément pour chaque changement du paquet sans changement de version de l'application. "Exemple: 1.0.1~ynh7". Le champ doit être une chaîne de caractères.
2016-01-26 17:56:17 +01:00
2019-01-28 19:08:34 +01:00
* **license** : licence avec laquelle lapplication est distribuée : `free`, `non-free` ou une des valeurs de la colonne Identifier du site https://spdx.org/licenses/. Attention à ne pas confondre avec la licence du paquet qui doit être mise dans le fichier `LICENSE`.
2016-01-26 17:31:26 +01:00
2016-01-26 18:22:32 +01:00
* **maintainer** : informations à propos du mainteneur du paquet de lapplication pour pouvoir le contacter.
2016-01-26 17:31:26 +01:00
- **requirements** : dépendance du paquet de lapplication à la version dun paquet Debian de YunoHost. Par exemple : "yunohost": ">> 2.3.12", le paquet `yunohost` doit être de version supérieur à `2.3.12`.
2020-03-28 06:54:10 +01:00
* [**multi_instance**](/packaging_apps_multiinstance) : capacité dune application dêtre installée plusieurs fois.
2016-01-26 17:31:26 +01:00
2016-01-28 22:17:20 +01:00
* **services** : liste des services nécessaires au fonctionnement de lapplication. `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`
2016-01-26 17:56:17 +01:00
2016-01-26 18:22:32 +01:00
* **arguments** :
* **install** : paramètres à demander à ladministrateur lors de linstallation.
* **name** : identifiant du paramètre
* **type** : (optionnel) type de paramètre parmis `domain`, `path`, `user`, `app`, `boolean`, `string` et `password`. Le champ sera caché dans le cas dun mot de passe.
* **choices** : (optionnel) restreint les réponses possibles à plusieurs choix.
* **optional** : (optionnel) champs qui indique si ce paramètre est optionnel. Il peut avoir les valeurs `true` ou `false`.
2016-01-26 18:22:32 +01:00
* **ask** : question posée (au minimum en anglais `en`) que vous pouvez traduire dans plusieurs langues.
2016-01-28 19:29:18 +01:00
* **example** : (optionnel) valeur dexemple pour aider ladministrateur à remplir le formulaire dinstallation.
* **default** : (optionnel) valeur par défaut.