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 <xxx@xxxx>", "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 visibleX-Ubuntu-XMir-Enable :
true
(vrai) si votre application est construite pour le système de fenêtrage XX-Ubuntu-Supported-Orientations :
landscape
ouportrait
pour forcer votre démarrage d’appli en mode paysage et portrait.
Sécurité et confinement d’application#
Toutes les applications et les moteurs de recherche d’Ubuntu sont confinés en respectant le mécanisme de contrôle d’accès d’AppArmor (voir Confinement d’application), ce qui signifie qu’ils ont seulement accès à leurs propres ressources et sont isolés des autres applications et des autres parties du systèmes. Le développeur doit déclarer dans un fichier apparmor .json
quels groupes de règles sont nécessaires pour que l’application ou le moteur de recherche fonctionne correctement.
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.