Cette page décrit le fonctionnement du simulateur Firefox OS pour les versions de Firefox OS 1.2 et supérieures. Si vous développez des applications sur Firefox OS 1.1, consultez la documentation du simulateur pour Firefox OS 1.1.
Le simulateur Firefox OS (Firefox OS Simulator en anglais) est une version des couches supérieures de Firefox OS qui permet de simuler le fonctionnement d'un appareil Firefox OS sur un ordinateur de bureau. Cela signifie que, pour la plupart des cas, il n'est pas nécessaire d'avoir un vrai appareil pour déboguer l'application. Le simulateur s'affiche dans une fenêtre de la même taille qu'un appareil Firefox OS, comprend l'interface utilisateur de Firefox OS et les applications natives, il permet également de simuler plusieurs API matérielles pour Firefox OS.
Le simulateur est distribué comme un module complémentaire pour Firefox. Une fois que vous l'avez téléchargé et installé dans Firefox, vous pouvez le lancer, y envoyer des applications ainsi qu'utiliser les outils de développement avec le gestionnaire d'applications et, sous Nightly/Aurora, avec WebIDE.
Installation
Pour installer le simulateur, utilisez le panneau de gestion des simulateurs de WebIDE (disponible depuis Firefox 33). Plusieurs versions sont disponibles, et il est recommandé de toutes les installer pour plus de flexibilité.
Pour lancer le simulateur, choisissez-le dans la liste des environnements de WebIDE. Pour plus de détails, voir les instructions dans la documentation WebIDE. Une fois que le simulateur est lancé, vous pouvez y envoyer des applications et les déboguer grâce à WebIDE, comme vous le feriez avec un vrai appareil.
Si vous utilisez App Manager (l'ancien outil, disponible avant WebIDE), vous pouvez installer un simulateur en cliquant sur le bouton suivant :
L'interface utilisateur du simulateur
Le simulateur apparaît dans une fenêtre séparée dont les dimensions sont telles que l'écran représenté mesure 320x480 pixels. Pour simuler les événements tactiles, vous pouvez cliquer avec la souris et la déplacer en maintenant le clic. Ainsi, si vous cliquez et que vous « tirez » l'écran de la droite vers la gauche avec la souris, vous devriez voir les applications natives ainsi que les applications que vous avez ajoutées :
Le simulateur possède deux boutons dans une barre d'outils située en bas :
- le bouton situé à gauche vous ramène à l'écran d'accueil ou éteint le simulateur si vous le maintenez enfoncé
- le bouton situé à droite permet de passer du mode portrait au mode paysage et vice versa pour simuler le changement d'orientation de l'appareil. Cela génèrera un événement orientationchange.
Émulation de carte SD
Dans le simulateur, la carte SD est mappée au dossier "fake-sdcard" dans le profil du simulateur. Profil qui est situé dans le dossier "extensions" du profil Firefox dans lequel le simulateur est installé. Par exemple :
/path/to/Firefox/Profiles/Firefox-profile-name/extensions/[email protected]/profile/fake-sdcard
Les fichiers lus ou écrits utilisant l'API getDeviceStorage
apparaitront ici.
Dans les versions antérieures à la version 2.2, il fallait créer le répertoire "fake-sdcard" manuellement. Depuis la version 2.2, le répertoire est créé automatiquement.
De plus, depuis la version 2.2, il est possible de définir un répertoire différent en utilisant le simulateur en ligne de commande et en passant l'option--storage-path
.
Les limites du simulateur
Le simulateur Firefox OS possède quelques limitations qui empêchent une simulation parfaitement réaliste.
Les limites matérielles
En dehors de la taille de l'écran, le simulateur ne simule aucune des limitations matérielles d'un appareil Firefox OS comme peuvent l'être la mémoire disponible ou la vitesse du processeur.
Les codecs audio/vidéo
Les codecs suivants se basent sur une accélération matérielle du décodage et ne sont donc pas supportés :
- MP3
- AAC
- H.264 (MP4)
- WebM
Cela signifie qu'il n'est pas possible d'utiliser le simulateur pour lire des vidéos en boucle ou utiliser des sites web comme YouTube qui utilisent ces codecs.
API non supportées
Certaines API qui fonctionnent sur les appareils ne fonctionneront pas avec le simulateur. La plupart du temps, cela est dû à une absence du matériel nécessaire pour ces API. Des simulations de ces API ont été faites (par exemple pour la géolocalisation). Il est prévu d'en ajouter d'autres pour les versions à venir. Malgré cela, les API qui suivent ne sont pas supportées et leur utilisation pourra renvoyer des erreurs ou des résultats incorrects :
- Telephony
- WebSMS
- WebBluetooth
- Ambient Light
- Proximity
- Network Information
- événements navigator.onLine et navigator.offline
- Vibration
Obtenir de l'aide
Si vous avez une question, vous pouvez la poser (en anglais) sur la liste de diffusiondev-developer-tools ou sur IRC sur le canal #devtools de irc.mozilla.org.
Activer les enregistrements verbeux (verbose logging)
Vous pouvez voir les messages enregistrés depuis votre application dans la console Web, que vous pouvez lier à votre application en utilisant WebIDE. Si vous souhaitez obtenir des messages pour le moment où l'application démarre, avant que la console soit connectée et fonctionne, vous devrez activer le mode verbeux pour les enregistrements (logs).
Allez dans about:config et créez une nouvelle option. Le nom de l'option est différent en fonction de la version du simulateur utilisée :
- [email protected] pour Firefox OS 1.3
- [email protected] pour Firefox OS 1.2
Fixez la valeur de cette chaîne de caractère à "all", ensuite, désactivez puis réactivez le module complémentaire dans le gestionnaire de modules complémentaires. Vous devriez maintenant pouvoir lire de nouveaux messages dans la console JavaScript du navigateur.
Compiler le Simulateur
Si vous voulez tester des patchs du code de Gecko ou de Gaia que le Simulateur contient, il est possible que vous ayez envie de modifier le Simulateur pour utiliser une version personnalisée de Gecko ou un profil personnalisé de Gaia. Il est également possible de compiler un nouveau Simulateur depuis votre checkout de Gecko.