Développement d’applications

Bienvenue sur une plate-forme open source et libre, sous le contrôle et l’amélioration permanents d’une communauté mondiale dynamique, dont l’énergie, la connectivité, le talent et l’engagement sont inégalés. Ubuntu est également le troisième SE pour ordinateur de bureau le plus déployé au monde.

Introduction

Ubuntu Touch dispose de trois types d’applications : les applications Web (WebApps), les moteurs de recherche (Scopes, obsolètes) et les applications natives. Les applications sont empaquetées, distribuées et déployées en utilisant un format appelé paquet Click. Les interfaces utilisateurs des applications peuvent être créées en utilisant du QML ou du HTML5 et le comportement peut être créé en utilisant du JavaScript, du Qt, du C++, du Python ou du Go.

Aperçu du paquet Click

Chaque 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-15.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

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": 1.3,
    "policy_groups": [
        "networking",
        "webview",
        "content_exchange"
    ]

}

For a full list of available policy groups, see AppArmor Policy Groups.

La plate-forme Ubuntu Touch

Points clés de la plate-forme :

Centre de contenu
Chaque application peut exposer du contenu en dehors de son bac à sable, ce qui donne à l’utilisateur un contrôle précis sur ce qui peut être importé, exporté ou partagé avec le monde et d’autres applications.
Notifications poussées
Grâce à l’utilisation d’un serveur de notifications poussées et d’un client compagnon, les utilisateurs bénéficient instantanément des dernières informations de leurs réseaux et de leurs applications.
Répartiteur d’URL
Aidez les utilisateurs à naviguer entre vos applications et orientez-les grâce au répartiteur d’URL.
Comptes en ligne
Simplifiez l’accès des utilisateurs aux services en ligne en intégrant l’API des comptes en ligne. Les comptes ajoutés par l’utilisateur sur l’appareil sont enregistrés et centralisés, ce qui permet à d’autres applications de les réutiliser.

Lisez la documentation

Pour commencer

Clickable est un système de méta-construction pour les applications sur Ubuntu Touch qui vous permet de compiler, construire, tester et publier des paquets Click et fournit plusieurs modèles pour vous permettre de démarrer avec le développement d’applications sur Ubuntu Touch. C’est actuellement le moyen le plus simple et le plus pratique de créer des paquets Click pour Ubuntu Touch. Consulter le code source publié pour une application existante est également un bon moyen d’apprendre : visitez l’Openstore

Boîte à outils de l’interface utilisateur d’Ubuntu

Vous trouverez ici la documentation de l’API pour la boite à outils de l’interface utilisateur d’Ubuntu.

Environnement de Développement Intégré Ubuntu SDK (non pris en charge)

L” Environnement de Développement Intégré Ubuntu SDK n’est plus supporté par Canonical et UBports n’a pas actuellement le temps et la main d’œuvre pour le rendre fonctionnel.

Il peut encore être installé dans Ubuntu 16.04, mais il faut s’attendre à des problèmes.

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt update && sudo apt dist-upgrade
sudo apt install ubuntu-sdk
sudo reboot # or logout/login

Logiciel système

Travailler sur les composants du système

Applications Web

Ubuntu webapps are web-hosted sites displayed inside an Ubuntu app container. They are true apps that users install, see, launch and use, but their content is provided through URLs.

Applications natives

Livre de recettes

Un recueil de ressources externes