Faire fonctionner le code de Gaia

Cet article décrit les étapes nécessaires au lancement de Gaia en local. Il liste également les outils pouvant être utilisés.

Pour commencer, il est nécessaire de préciser qu'il n'est pas nécessaire de construire Gecko ou B2G pour contribuer à Gaia. Les seuls éléments obligatoires sont d'avoir téléchargé le code source de Gaia, de pouvoir le lancer et de pouvoir l'éditer.

Voici les différentes façons dont vous pouvez lancer Gaia :

  • « Flasher » votre téléphone avec une version (build) de Gaia mise à jour.
  • Lancer Gaia depuis une version (build) de B2G pour ordinateur (B2G Desktop).
  • Lancer Gaia depuis WebIDE.
  • Lancer Gaia depuis l'outil Firefox Mulet pour lancer Gaia sur l'ordinateur.

Vous trouverez des informations plus précises sur ces méthodes sur la page concernant les différentes façons de lancer Gaia. Sur cette page, vous trouverez également des liens vers plus d'informations. En général, les différentes méthodes sont ordonnées de la plus complexe (mais la plus réaliste) à la plus simple (mais moins réaliste).

Dans cet article, nous verrons surtout comment lancer Gaia dans Firefox Mulet ou le WebIDE — pour la plupart des changements que vous souhaiterez apporter au code de Gaia, ce sera la méthode la plus rapide. En revanche, certaines fonctionnalités ne seront pas supportées (comme certaines API matérielles ainsi que les interactions avec les composants matériels du téléphone) et pour celles-ci, vous aurez besoin d'un vrai appareil.

Note : Pour recevoir plus d'aide sur Gaia, n'hésitez pas à vous rendre sur le canal IRC #gaia (voir Mozilla IRC pour plus d'informations) ainsi que sur la liste de diffusion dev-gaia.

Lancer votre compilation de Gaia

  1. Tout d'abord, faites un fork du dépôt principal de Gaia sur Github.
  2. Ensuite, clônez votre fork en local :
    git clone https://github.com/your-username/gaia.git
  3. Ajoutez une remote upstream comme ceci :
    cd gaia
    git remote add upstream https://github.com/mozilla-b2g/gaia
  4. Vous devez maintenant créer un profil de débogage  de Gaia. Lancez la commande make dans le répertoire de votre dépôt pour créer un profil dans le dossier profile (qui est réglé pour permettre un meilleur débogage). Il créera des versions hébergées (non empaquetées) des applications Gaia, qui pourront être servies directement via le serveur local HTTPD contenu dans une extension Firefox . Ainsi, quand vous effectuez un changement, il suffit juste de rafraîchir la fenêtre du navigateur pour voir le résultat (plutôt que d'avoir à reconstruire le profil, de l'envoyer à l'appareil, etc...). Cette méthode est vraiment pratique pour bidouiller rapidement du CSS/JS/HTML.
  5. Une fois votre profil de débogage construit, vous pouvez le lancer dans Mulet ou WebIDE, en suivant les instructions de ces liens.

Dépannage et problèmes connus

Erreur: Python executable "python3" is v3.x, which is not supported by gyp.

Avec certaines distributions Linux (ex : Archlinux), la version de python par défaut est python3. Cela fait planter npm en lançant certaines commandes commands (ex : en lançant les tests). Pour résoudre cela une fois pour toute, vous pouvez lancer la commande suivante :

npm config set python python2

Vous pouvez jeter un œil à cette page Stack Overflow pour d'autres solutions.

Vous pouvez maintenant supprimer votre répertoire node_modules et lancer une nouvelle fois la commande ayant échoué.

Please Install NodeJS -- (use aptitude on linux or homebrew on osx)

Vous pouvez rencontrer cette erreur, alors que vous êtes certain d'avoir bien installé nodejs. Il est probable que vous utilisiez Debian ou une distribution basée sur Debian comme Ubuntu. Sur ces distributions, NodeJS est contenu dans le package nodejs, et vous devez installer le package nodejs-legacy pour que tout se déroule correctement :

sudo aptitude install nodejs-legacy

Si vous rencontrer des problèmes pour installer ce package, c'est surement que vous utilisez Le PPA pour NODE de Chris Lea; veillez à le supprimer avant de continuer.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : jwhitlock, sousmangoosta, SphinxKnight
 Dernière mise à jour par : jwhitlock,