Créez des extensions pour tous les navigateurs

Vive les Web Extensions !

a marqué ce sujet comme résolu.

Tout le monde se secoue ! :D

J'ai commencé (mercredi 30 septembre 2015 à 16h18) la rédaction d'un tutoriel au doux nom de « Créez des extensions pour tous les navigateurs » et j'ai dans l'objectif de proposer en validation un texte aux petits oignons. Je fais donc appel à votre bonté sans limite pour dénicher le moindre pépin, que ce soit à propos du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à l'adresse suivante :

Merci !

Edit : Faut pas faire attention au lien dans l'intro, c'était pour moi, j'ai oublié de le virer. :D Aussi je ne sais pas si c'est un peu tôt pour publier, comme c'est une techno assez expérimentale.

+3 -0

Une coquille dans le paragraphe "Prérequis pour une Web Extension" :

  • je pense que tu voulait dire manifest.json et non mainfest.json

Je n'y voit pas d'autres problèmes, si ce n'est que certains ne vont pas apprécier le concept de l'application développée dans le tuto! Mais ça, ce n'est rien!

Salut,

Grâce à ton tutoriel, je me suis renseigné sur les web extensions.

C'est une évolution des add-ons et des extensions Chrome qui visent à uniformiser le développement de greffons selon les navigateurs, ou j'ai mal compris ?

Autre question : c'est possible de faire une web extension qui utilise le fonctionnement des content_scripts, ou bien je suis à côté de la plaque ?

Salut,

Grâce à ton tutoriel, je me suis renseigné sur les web extensions.

C'est une évolution des add-ons et des extensions Chrome qui visent à uniformiser le développement de greffons selon les navigateurs, ou j'ai mal compris ?

Autre question : c'est possible de faire une web extension qui utilise le fonctionnement des content_scripts, ou bien je suis à côté de la plaque ?

30b830e7

Web Extensions est le nom que Mozilla a donné à la nouvelle API qu'ils développent pour créer des extensions. Cette API est la même que celle de Chrome. Je penses que Mozilla a fait ça pour éviter aux développeurs de devoir maintenir plusieurs codes faisant la même chose, surtout qu'Edge aussi va supporter les extensions Chrome. Comme je sais pas si c'est clair, pour résumer ce qui s'est passé :

  • Mozilla invente le principe d'extension.
  • Google se dit que c'est cool et crée une nouvelle API pour faire des extensions Chrome
  • Opera se Googlifie et implémente les extensions Chrome (en plus de lors propres extensions je crois)
  • Microsoft annonce qu'Edge va supporter les extensions Chrome
  • Mozilla se dit que ça serait bête de rester les seuls avec une API différente et implémentent les Web Extensions dans Firefox.

Boum. Un code, tous les principaux navigateurs.

Du coup toutes les extensions Chrome sont compatibles avec Firefox, Opera et Edge (enfin presque).

Et oui bien sur on peut utiliser toutes les fonctionnalités des extensions Chrome, dont les content scripts.

Salut !

Bonne idée que ce tutoriel. J'ai néanmoins noté quelques soucis en le suivant et j'ai découvert quelques coquilles :

  • Impossible de charger mon extension sur Firefox, même avec un copier-coller du premier bout de code, Firefox me renvoie qu'il n'a pas pu être installé car il semble corrompu (?). Pourtant je suis bien en v42 avec la ligne de config est sur false (true ne change rien). Mais c'est un soucis propre à moi je pense ^^
  • Par contre pour la popup, je ne fais tout pour vous ! J'imagine que tu voulais dire Par contre pour la popup, je ne fais pas tout pour vous !
  • "persistent": "true" Chrome (j'ai dû tester dessus) me dit que c'est "persistent": true pour lui.
  • De même selon la doc officielle c'est la permission alarms et non alarm sinon il n'accepte pas. Idem pour runtime, celle-ci ne semble pas exister sur Chrome selon la doc
  • Il me manque l'icône de bouton "settings.png" (qui n'est pas dans l'archive).

C'est à peu près tout pour le moment ! Bonne idée en tous cas ! ;)

+0 -0

Merci beaucoup je vais corriger ! Quant à ton problème avec Firefox, je crois que c'est que j'ai glissé une faute dans le manifeste du tuto (je l'avait corrigé dans mon code, mais pas dans le tuto). Pour alarm, c'est une faute de frappe je pense (pareil, c'est juste dans mon code) et je ne sais pas pourquoi j'ai dit qu'il fallait la permission runtime, je ne l'ai pas mis non plus dans mon code Oo. Je crois que j'ai fait ça un peu vite … :-° Pour "true"/true, tu as raison.

Et pour l'icône settings.png, je vais en effet la rajouter, bonne idée.

En fait tu cites chacune des permissions de la même manière "API Storage", "API Alarms" (il y a un S, du coup j'ai dû me tromper, désolé :° ), "API Runtime".

Et en suivant la logique de API Storage (la seule avec un bout de code dans le tuto), on a l'impression qu'il faut toutes les ajouter de la même manière, même si tu n'écris pas la ligne de code à rajouter pour Alarms et Runtime (qui n'existe pas du coup).

Je ne sais pas si je suis très clair. Mais en fait, en voyant ça, on se dit qu'il faut faire pareil pour les trois pour que ça fonctionne. ^^

(Ce qui est vrai pour deux d'entre elles néanmoins).

+0 -0

Autre coquille :

1
// Et on les ferment

Et on les ferme. *

Sinon, je peux dire que ce tutoriel est une très bonne idée pour montrer au lecteur ce qu'il est possible de faire. Il serait intéressant d'en faire un gros tutoriel où l'on étudie au cas par cas des applications concrètes.

Il serait judicieux de signaler qu'il faut payer des frais d'enregistrement qui s'élèvent à 5$ pour pouvoir publier une application sur le Chrome Web Store.

On vient de me faire la surprise.

30b830e7

Oui, bonne idée. :D

Autre coquille :

1
// Et on les ferment

Et on les ferme. *

Merci.

Sinon, je peux dire que ce tutoriel est une très bonne idée pour montrer au lecteur ce qu'il est possible de faire. Il serait intéressant d'en faire un gros tutoriel où l'on étudie au cas par cas des applications concrètes.

30b830e7

C'est-à-dire ? Un tutoriel dans un style plus référence des APis ?

Ce sujet est verrouillé.