This is the old SliTaz forum - Please use the main forum.slitaz.org

YAFF: Yet Another FireFox (script shell+gtkdialog)
  • babaorumbabaorum January 2011
    Bonjour, je soumets à la communauté un petit script de démarrage complexe de Mozilla Firefox, nommé YAFF (Yet Another FireFox).

    A quoi sert-il ?
    A lancer plusieurs instances indépendantes de Firefox, avec des profils différents et éventuellement dans des versions différentes, à partir d'une seule et même interface.

    Quel intérêt en pratique ?
    Comme souvent, ce script a été utile pour moi et c'est dans cette optique que je l'ai écrit.
    Personnellement, j'ai besoin de tester mes productions de "développement web" dans différentes version de Firefox, mais aussi d'avoir différents profils ouverts (en général : un pour le web "habituel", un pour le développement web avec beaucoup d'extensions dédiées mais inutiles pour la navigation quotidienne, un pour tester le XUL).

    Comment ça fonctionne ?
    Les dessous sont tissés et cousus en shell Busybox et gtkdialog, deux utilitaires disponibles par défaut dans Slitaz.
    L'utilisateur configure le script en une seule ligne au début de celui-ci, associant une version de Firefox avec un exécutable dans cette version (j'y reviens ci-dessous) et éventuellement un profil obligatoire pour la version en
    question.

    Comment installer plusieurs versions différentes de Firefox ?
    Très simple à vrai dire. Partons de ma situation: Slitaz stable 3.0 avec Firefox 3.5.x (de loin pas le plus récent mais bon, fonctionne parfaitement bien).
    La version 3.6.x peut être installée sans interaction avec l'arborescence du système, simplement en téléchargeant le tarball compressé depuis le site web de Mozilla et en le décompactant dans un dossier au choix (chez moi: $HOME/apps).
    Idem pour la version 4 béta de Firefox.
    Au final chez moi j'ai:
    - 3.5.7 en installation classique "empaquetée" (= paquetage système Slitaz)
    - 3.6.12 en installation manuelle uni-dossier
    - 3.6.13 en installation manuelle uni-dossier
    - 4b7 en installation manuelle uni-dossier
    - 4b8 en installation manuelle uni-dossier
    Par ailleurs, avec le confort d'utilisation amené par Firefox Sync, fonctionnel sur toutes ces versions, je peux travailler avec la béta des Firefox 4 en utilisant un profil dédié à toutes les bétas, et j'ai configuré le script pour que les 4b7/8 ne puissent se lancer qu'avec ce profil, pour éviter toute gaffe (car si je lance par erreur mon profil "à tout faire" avec une béta, ça peut ficher en l'air toutes mes extensions, voire mon profil). Sync me permet tout de même de partager à l'identique, quel que soit le profil utilisé les bookmarks, l'historique, les mots de passe, les préférences. En gros presque tout.

    Comment associer les versions/installations/profil obligatoire ?
    Il faut trouver, à quelques lignes depuis le début du script, la ligne d'initialisation de la variable FIREFOX.
    Voici la syntaxe:
    FIREFOX="groupe1 groupe2 groupe3 etc."
    Chaque groupe est séparé par un espace.
    Voici la syntaxe pour un groupe en particulier:
    3.5.7#/usr/bin/firefox
    Le séparateur est un dièse ("#"). De gauche à droite: le numéro de version (qui sera affiché tel quel dans l'interface), l'emplacement de l'exécutable de Firefox pour cette version.
    Variante avec un profil obligatoirement associé (c.a.d. que quel que soit le choix de profil, c'est celui indiqué dans la configuration qui sera choisi:
    4b7#$HOME/apps/firefox-4b7/firefox#Firefox-4b
    Dans cet exemple: une installation dans mon home de Firefox 4b7 depuis un tarball compressé, avec profil "Firefox-4b" obligatoire.

    Captures d'écran
    image image

    Code-source et installation
    Le code-source se trouve dans le message suivant.
    - Copiez-le dans le presse-papiers
    - Ouvrez un ficher texte vierge dans un éditeur de texte en mode Unicode 8-bit (UTF-8) et collez-y le code copié
    - Enregistrez le fichier ainsi créé dans un dossier avec comme nom "yaff" (sans extension, plus pratique) ; pour l'exemple: /usr/bin (qui figure déjà dans la variable d'environnement PATH, ainsi le système y trouvera Yaff sans problème)
    - ouvrez une console shell, identifiez-vous en tant que super-utilisateur et donnez au script créé le bon propriétaire et les bonnes permissions d'exécution:
    su
    chown root:root /usr/bin/yaff
    chmod a+x /usr/bin/yaff
    exit


    A présent si vous tapez "yaff" dans la boîte d'exécution du menu Slitaz ou dans une console shell, le script se lance tout seul. Vous pouvez même lui faire un raccourci clavier si vous savez configurer le fichier menu.xml utilisé par OpenBox (autre sujet...).
  • babaorumbabaorum January 2011
    Finalement, copier du code-source en quantité est difficile avec cette nouvelle version de Vanilla (le système de forum).
    Je place donc le code-source en pièce-jointe (tarball compressé avec gzip):
    http://www.zshare.net/download/8531343254b6bdd9/
    ou:
    http://www.megaupload.com/?d=YFKPHYGO
    (je crois qu'ils effacent au bout d'un certain temps, mais si c'est le cas et que ça vous intéresse, je peux le reposter à la demande)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Apply for Membership

SliTaz Social