Paquet Click

Chaque paquet d’application click doit contenir au moins 3 fichiers :

Le fichier manifest.json

Contient des informations sur l’application, telles que son nom, sa description, son auteur, la cible de kit de développement de logiciel (Software Development Kit ou SKD) et la version.

Exemple de fichier manifest.json

{
    "name": "myapp.author",
    "title": "App Title",
    "version": "0.1"
    "description": "Description of the app",
    "framework": "ubuntu-sdk-16.04",
    "maintainer": "xxxx <[email protected]>",
    "hooks": {
        "myapp": {
            "apparmor": "apparmor.json",
            "desktop": "app.desktop"
        }
    }
}
Le fichier de règles du profil d’AppArmor
Contient les règles dont l’application a besoin pour fonctionner correctement. Voir Sécurité et confinement d’applications ci-dessous pour plus d’informations sur ce fichier.
Le fichier .desktop

Le fichier du lanceur indique à Ubuntu Touch comme lancer l’application, quel nom et quelle icône afficher sur l’écran d’accueil, ainsi que d’autres propriétés.

Exemple de app.desktop

[Desktop Entry]
Name=Application title
Exec=qmlscene qml/Main.qml
Icon=assets/logo.svg
Terminal=false
Type=Application
X-Ubuntu-Touch=true

Liste non exhaustive de propriétés :

  • Nom : le titre de l’application affiché dans le tableau de bord
  • Exec : le chemin d’accès au fichier exécutable
  • Icon : le chemin vers l’icône à afficher
  • Terminal : ne s’exécute pas dans une fenêtre de terminal si défini à false (faux)
  • Type : spécifie le type du fichier du lanceur. Le type peut être Application, Link (Lien) ou Directory (Répertoire).
  • X-Ubuntu-Touch : true (vrai) pour rendre l’application visible
  • X-Ubuntu-XMir-Enable : true (vrai) si votre application est construite pour le système de fenêtrage X
  • X-Ubuntu-Supported-Orientations: landscape or portrait to force your app start in landscape mode and portrait mode respectively.

Sécurité et confinement d’application

All Ubuntu apps are confined respecting AppArmor access control mechanism (see Application Confinement) , meaning they only have access to their own resources and are isolated from other apps and parts of the system. The developer must declare which policy groups are needed for the app or scope to function properly with an apparmor .json file.

Exemple de fichier apparmor.json :

{
    "policy_version": 16.04,
    "policy_groups": [
        "networking",
        "webview",
        "content_exchange"
    ]

}

Pour la liste complète des groupes de politique disponibles, voir Groupes de stratégie d’AppArmor.