Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
Cet article recense quelques outils pratiques pour travailler avec Gaia.
Remarque : Des trucs et astuces très utiles pour le débogage de Firefox OS sont disponibles sur la page B2G QA Tips and tricks (en anglais).
MozITP
MozITP est un paquet tout-en-un regroupant des outils dédiés à Gaia. Il contient un outil de flashage (b2g_util), b2g-installer et un environnement de Test d'Intégration Gaia préconfigurés. Vous pouvez utiliser MozITP pour essayer les Tests d'Intégration Gaia sur Mulet, un émulateur ou sur des véritables appareils. Vous pouvez également flasher des builds à partir de TaskCluster ainsi que des builds sans blobs avec b2g-installer.
Foxbox
Foxbox est un script automatique de construction qui génère un environnement de développement Gaia complet comprenant une version de Gaia hébergée dans une VM, laquelle est également accessible depuis la machine hôte (ce qui signifie que vous pouvez toujours travailler avec pour utiliser votre éditeur de texte préféré, etc.) Cela fonctionne sur toutes les plates-formes, mais devrait surtout être pratique pour les utilisateurs de Windows car la procédure de compilation de Gaia ne fonctionne pas sur un environnement Windows standard.
Outils de sauvegarde/restauration/flashage
Outils pour sauvegarder votre profil, etc.
b2g_util
Le paquet d'outils b2g_util fournit un ensemble d'outils pour vous aider avec le débogage de Firefox OS. Ce qu'il permet de faire :
- Vérifier la version de b2g installée
- Récupérer le rapport de plantage
- Réinitialiser l'appareil
- Autoriser/interdire les applications certifiées dans WebIDE
- Sauvegarder/restaurer votre profil (incomplet à l'heure actuelle, mais une solution de contournement est proposée pour l'instant.)
Pour l'installer, vous avez besoin au préalable de Python 2.7, pip, et setuptools. Vous pouvez ensuite lancer :
sudo pip install -U b2g_util
Une fois l'installation terminée, vous pouvez connecter votre appareil et faire un test en exécutant la commande suivante pour obtenir la version de b2g installée :
b2g_check_versions
pc-sync-tool
pc-sync-tool est une application disponible sur le Marketplace Firefox. Elle permet de sauvegarder vos données/profils. Elle s'utilise conjointement avec l'extension Firefox OS assistant pour ordinateur.
Sauvegarde et restauration de profil
Pour sauvegarder et restaurer les données, vous pouvez utiliser notre outil backup_restore_profile.py
, présent dans le dépôt Git B2G-flash-tool.
- Cloner le dépôt précité (
git clone https://github.com/Mozilla-TWQA/B2G-flash-tool
.) - S'assurer que le téléphone est branché à l'ordinateur en USB, et que ADB (voir Important steps to follow first ci-dessus) et Debugging via USB (dans les Paramètres développeurs de votre appareil) sont activés.
- cd dans le répertoire cloné
Pour sauvegarder les données :
python backup_restore_profile.py -b
Cela devrait enregistrer le profil de votre appareil dans un répertoire appelé mozilla-profile
, situé dans le même répertoire que le script. Pour restaurer votre sauvegarde :
python backup_restore_profile.py -r
Remarqe : Pour afficher la liste complète des options de l'outil, exécutez-le avec l'argument -h
ou --help
.
B2G-flash-tool
Le dépôt B2G-flash-tool contient également plusieurs autres outils pour flasher rapidement de nouvelles versions sur les appareils et effectuer d'autres tâches similaires — idéal pour le contrôle qualité. Par exemple :
- flash_pvt.py — Le principal outil pour flasher de nouvelles builds.
- change_channel.sh — Permet de changer rapidemet le canal de mise à jour du téléphone.
- check_versions.py — Retourne la version de B2G installée sur un appareil.
- shallow_flash.sh — Shallow flashe Gaia et/ou Gecko sur un appareil (shallow_flash.bat est aussi disponible pour Windows).
- update_system_fonts.sh — Met à jour les polices de caractères systèmes sur B2G v2.1 (bug 1032874).
Outils de débogage
Outils pour effectuer des tâches de débogage.
WebIDE
L'outil WebIDE de Firefox mérite une mention spéciale ici — alors qu'il permet de tester et déboguer des applications, il se révèle également utile pour surveiller les performances, l'utilisation de la mémoire, etc. (voir Monitoring performance.)
get_crashreports.sh
Présent dans le dépôt B2G-flash-tool, get_crashreports.sh récupère les rapports de plantage de l'appareil (/data/b2g/mozilla/Crash Reports/
.)
Outils du répertoire racine de B2G
Un certain nombre de scripts présents dans le répertoire racine de B2G permettent d'effectuer diverses opérations utiles de débogage, parmi lesquels :
- run-gdb.sh: Lance le débogueur en ligne de commande gdb (voir Debugging B2G using gdb and related tools pour plus de détails.)
- run-valgrind.sh: Lance le débogueur Valgrind (voir Debugging B2G using Valgrind pour plus d'informations.)
- watch-procrank.sh: Renvoie des informations sur la consommation mémoire via l'outil procrank.
Divers autres outils
D'autres outils utiles se trouvent dans le répertoire gaia/tools/ et dans d'autres endroits
png_recompress.sh
Situé dans gaia/tools/, png_recompress.sh est un outil de compression d'images PNG. Vous pouvez le lancer avec une commande de la forme suivante :
$ ./tools/png_recompress.sh -v bg.png
Cela supprimera les méta-données inutiles et compressera davantage le png ; il peut économiser jusqu'à 99,5% sur la taille du fichier, ce qui aura un impact vraiment significatif sur la taille du ZIP de l'application ainsi que sur l'empreinte mémoire.
svg_recompress.sh
Situé dans gaia/tools/, svg_recompress.sh est un outil de compression SVG.
cache_sync.py
Situé dans gaia/tools/, cache_sync.py synchronise le cache hors-ligne d'une application externe avec une structure arborescente locale. Il faut le lancer depuis le répertoire de base d'une application située dans gaia/external-apps. Il construit un répertoire pour chaque origine connue du cache hors-ligne.
edit_prefs.sh
Situé dans le répertoire racine de B2G, edit_prefs.sh offre une méthode simple pour récupérer les préférences d'un appareil.