Une application packagée est un .zip contenant toutes les ressources nécessaires (HMTL, CSS, JavaScript, manifest, etc.) au format Open Web APP plutôt que laisser les ressources sur un serveur web. Cet article contient une introduction aux applications packagée et des liens vers tout ce dont vous avez besoin de connaitre en tant que developpeur.
Une application packagée est un fichier .zip qui contient tous les fichiers nécessaires au bon fonctionnement des Open Web App ainsi que le manifeste au dossier racine du zip. Le manifeste fournis les détails de l'application tels que la description, l'icône qui identifie l'application,... Le package est alors utilisé pour installer l'application dans Firefox OS, Firefox pour android et Firefox pour ordinateur. Une fois installée, l'app fonctionne sur l'appareil de l'utilisateur, mais est toujours capable d'accéder a des ressources externes, comme une base de données externe.
Il y a trois types d'application packagée : les applications web, les applications privilégiées et les applications certifiées. Alors que les applications web sont distribuables sans contraintes, les applications privilégiées et certifiées sont numériquement signées pour permettre l'utilisation de privilèges et d'API certifiées. Les applications privilégiées sont signées durant le processus de revue des applications Marketplace, ce qui certifie qu'elles sont signées par des constructeurs d'appareils ou des opérateurs.
En plus de ces possibilitées, les applications packagées permettent un temps de démarrage plus court car toutes les ressources sont déjà téléchargées car installées. Cette fonctionalité fait des applications packagées l'approche recomandée pour fournir des Open Web App aux téléphones Firefox OS et Android et pour Firefox pour ordinateur.
Note : Actuellement, Firefox Marketplace supporte les applications web et privilégiées. De plus, Firefox Marketplace supporte les applications payantes pour Firefox OS seulement et les applications gratuites pour Firefox pour Android et Firefox pour ordinateur. Le support des applications payantes pour toutes le plateformes est en développement.
Type d'applications packagées
Il y a trois types d'application packagée : les applications web, les applications privilégiées et les applications certifiées. Chaque type d'application packagée correspond a un niveau du modèle de sécurité des applications implémenté dans Firefox OS. Cette section fourni des informations sur chaque type d'application packagée.
Application Web
Une application web est celle qui n'utilise pas de privilège ou de certification. Quand elle est soumise au Marketplace, elle est signée, mais cela ne permet pas d'utiliser les privilèges ou les certifications. Ces applications ne sont pas sujettes aux politiques de sécurité des contenus nécessaires aux applications certifiées et privilégiées.
Ce type d'application packagée ne requière pas le champ field
dans son fichier manifest.webapp
car la valeur par défaut (web
) est correcte.
Les applications web peuvent être auto-publiées ou distribuées via le Firefox Marketplace. Elles peuvent aussi être fournies aux utilisateurs via le mécanisme d'application hébergée.
Application privilégiée
Une application privilégiée peut-être considérée comme l'équivalent des applications natives sur des plateformes comme iOS et Android. Durant sa soumission au Firefox Marketplace, ce type d'application passe par un processus spécial. En effet, cela donne au utilisateurs de ces applications l'assurance qu'elles ont été soigneusement revues pour de potentiels problèmes de sécurité, de vie privée ou de fonctionnement.
Pour spécifier qu'une application est privilégiée, ajoutez le type field
dans le manifest.webapp
et passez-le à privileged
. Chaque API privilégiée que votre application nécessite doit être spécifiée dans le champ permissions
du manifeste.
Vous devez mettre les CSP suivantes dans le manifeste d'une application privilégiée :
"default-src *; script-src 'self'; object-src 'none'; style-src 'self' 'unsafe-inline'"
Ces applications ne peuvent être distribuées que via
le Firefox Marketplace.
Application certifiée
Les applications certifiées ne sont généralement pas disponibles pour les développeurs tiers et ne sont pas distribuées via le Firefox Marketplace. Le but sur le long terme est que toutes les API nécessitant le niveau certifié ne nécessitent plus que le niveau privilégié. Si vous voulez voir une API particulière devenir disponible, venez nous en parler sur la mailling list dev-webapps.
Une application certifiée permet l'utilisation d'API certifiées, qui permettent d'accéder aux fonctions critiques du système. Contrairement aux applications privilégiées, les permissions d'API pour les applications certifiées sont implicites et donc toutes activées par défaut sans l'approbation explicite de l'utilisateur. Une application certifiée doit être approuvée pour un constructeur ou un opérateur.
Pour spécifiée qu'elle est certifiée, l'application doit contenir le champ field
avec la valeur certified
dans le manifest.webapp
. Chaque API privilégiée que votre application nécessite doit être spécifiée dans le champs permissions
du manifeste.
Vous devez mettre les CSP suivantes dans le manifeste d'une application privilégiées :
"default-src *; script-src 'self'; object-src 'none'; style-src 'self'"
Ceci a pour effet d'implémenter des règles plus strictes pour les CSP par rapport aux applications certifiées. Si vous voulez comprendre les raisons derrières ces motivations, lisez la politique des CSP par défaut et le bug 768029.
Les applications certifiées sont pré-chargées dans les appareils par les constructeurs et les opérateurs.
Tester des applications packagées
Pour installer des applications dans le simulateur Firefox OS ou directement dans un téléphone, voyez le guide d'utilisation du manager d'application. Vous pouvez aussi installer sur un appareil via un serveur web en suivant le guide pour publier des applications par vous-mêmes. N'oubliez pas que si vous déployez par vous-même, seules les applications web pourront être installées.
Publiez votre application packagée
Vous avez deux options pour publier vos applications : le Firefox Marketplace ou par vous-même.
Publier sur le Firefox Marketplace
Le processus pour publier une application packagée est décrit dans la section parlant de la publication d'application.
Quand vous soumettez votre application, le fichier zip est stockée sur le Firefox Marketplace et celui-ci génère un nouveau manifest appellé mini-manifeste, basé sur votre manifeste. Quand un utilisateur installe votre application, le mini-manifeste est passé à la fonction Apps.installPackage()
qui va l'installer. Ce mini-manifeste est utilisé seulement pour des questions d'installation et de mise à jour et n'est pas utilisé par votre application pour fonctionner.
La publier vous-même
Il est possible de publier vous-même votre application en dehors du Firefox Marketplace via votre propre serveur web. Vous trouverez des détails sur la page dédiée à ce sujet.
Mettre a jour votre application
Pour des informations sur la mise à jour d'application, voyez la page dédiée à ce sujet.
Plus d'information