Cette page décrit une une façon de contribuer aux Outils de développements de Firefox qui se veut simple et ne nécessite pas de devoir builder Firefox ni même d'avoir à configurer un environnement spécial.
Il suffit de télécharger le code source de Firefox ainsi que d'avoir Firefox Nightly (la version de développement de Firefox). Puis de paramétrer Nightly pour charger les outils de développement depuis votre version du code source. Lorsqu'une modification est faite dans votre version du code source, un simple raccourci clavier recharge les outils de développement depuis le code source mis à jour.
Obtenir le code source de Firefox
Il suffit de cloner le miroir GitHub depuis https://github.com/mozilla/gecko-dev.
git clone --depth 1 https://github.com/mozilla/gecko-dev.git
Utiliser --depth 1
réduit grandement le temps de téléchargement (de 1 Heure à 5 minutes pour une connexion à 1MB/s). Cela empêche d'avoir l'historique entier du repo, mais ça ne devrait pas importer pour une première contribution.
Installer Firefox Nightly
Il est possible de télécharger Firefox Nightly en anglais ou en français.
Paramétrer un profil de développement pour Firefox
Il est intéressant d'utiliser un profil séparé pour développer Firefox. Cela permet de :
- Faire tourner deux instances distinctes de Firefox en même temps, l'une pour la navigation habituelle et l'autre pour le "hacking"
- Expérimenter et potentiellement casser le profil de développement sans perdre de données importantes comme les marque-pages ou l'historique.
Cela peut se faire facilement en lançant Firefox avec l'argument de ligne de commande "-no-remote -P
".
Sous Windows, il faut dupliquer le raccourci vers Firefox en faisant un copier/coller et ensuite en éditant le lien dupliqué pour lui passer cet argument. Pour cela, il faut faire un clic droit sur l'icône puis sélectionner propriétés puis afin ajouter " -no-remote -P
" au champ "Cible"
Pour plus d'information se référer à cette documentation.
Charger les outils de développement de Nightly depuis le code source
Il faut maintenant lancer Nightly avec le profil de développement, et entrer l'URL about:debugging
dans un onglet. Il faut ensuite suivre les étapes suivantes :
- Sélectionner le panneau "Modules" puis cliquer sur "Charger un module temporaire".
- Naviguer à la racine du repo git, et sélectionner le dossier "devtools".
- Sélectionner le fichier "install.rdf"
- Et voilà ! Le module devrait être visible dans la liste.
- Lors de l'ouverture des devtools, ceux-ci utiliseront les sources locales. Vous pouvez maintenant Travailler et expérimenter sur le code, puis utiliser le raccourci
CTRL+ALT+R
pour recharger les raccourcis.
Ce module modifie des préférences qui sont utiles pour les développements internes. Cela inclut:
- "devtools.chrome.enabled=true" et "devtools.debugger.remote-enabled=true": Ces préférences activent la console du navigateur et le débogage distant (ce sont les mêmes préférences qui sont activées par les options Activer le débogage du navigateur et des modules et Activer le débogage distant)
- "devtools.debugger.prompt-connection=false": Suprime le message d'alerte lors de l'ouverture de la console du navigateur.
Maintenir synchronisés Nightly et les sources
Attention: Il est important de garder vos sources à jour ! À chaque fois que Firefox se met à jour, il est fortement recommandé de mettre à jour vos sources.
Il est possible de mettre à jour vos sources comme ceci :
git fetch origin
Cela téléchargera seulement les nouveaux changements localement.
Une fois que c'est fait, il existe deux façons de mettre à jour vos fichiers :
- Si vous n'avez pas fait de changements locaux :
git checkout origin/master
- Si vous avez fait des changements locaux que vous voulez préserver :
git rebase -i origin/master
Pour en savoir plus sur git, vous pouvez vous référer à la documentation git.
Contribuer
Vous pouvez suivre cette procédure rapide pour contribuer aux DevTools. Elle est presque semblable à la procédure normale qui est plus longue, mais l'installation telle que décrite plus haut est bien plus rapide. Vous pouvez l'éviter et commencer directement à corriger des bugs.