Confusion autour des App Extensions de Safari

Mickaël Bazoge |

Safari, comme tous les autres navigateurs web, peut accueillir des extensions. Ces petits bouts de code apportent des fonctionnalités supplémentaires liées à des services web ; on y trouve par exemple une extension pour 1Password, pour Evernote, ou encore Pinterest. Ces extensions sont regroupées sur une page web éditée par Apple.

Cliquer pour agrandir

Depuis macOS Sierra (et Safari 10 sous El Capitan), les développeurs peuvent proposer avec leurs applications des extensions compagnon pour Safari. Ces App Extensions offrent des possibilités supplémentaires au navigateur : elles sont en mesure de personnaliser les pages web et d’ajouter des items dans les menus contextuels de ces mêmes pages, elles savent bloquer le chargement de contenus ou d’éléments spécifiques, ajouter des boutons dans la barre de menus du logiciel, et afficher des popovers.

Ces App Extensions étant livrées avec l’application pour macOS, elles peuvent donc être mises à jour automatiquement dans la foulée du logiciel hôte. L’utilisateur n’a pas à s’embêter à télécharger et installer le compagnon pour Safari. Pour le développeur, l’intérêt d’en passer par ce système — qui nécessite de concevoir l’extension avec Xcode plutôt que les outils web standard — est de pouvoir vendre une extension Safari, puisqu’il bénéficie de l’infrastructure de paiement du Mac App Store. Les extensions précédentes, proposées dans la galerie, sont toutes gratuites.

Le mode de fonctionnement d’une App Extension de Safari.

Alors, tout le monde est content ? En fait, pas vraiment. Les applications macOS embarquant des compagnons pour Safari se comptent sur les doigts des deux mains : elles ne sont pas mises en avant par Apple (aucune catégorie dédiée n’est proposée), et pour les débusquer, il faut vraiment le vouloir. Avec la requête « Safari extension », le moteur de recherche du Mac App Store retourne moins d’une dizaine de résultats :

Cliquer pour agrandir

D’autres applications non listées embarquent leur propre extension, surtout des bloqueurs de contenus payants comme 1Blocker ou Roadblock. Il est vrai que les possibilités offertes par ces App Extensions en font des atouts de premier choix pour ce genre de logiciels, et une présence sur le Mac App Store permet à leurs développeurs de gagner un peu d’argent.

L’extension Roadblock.

D’autres développeurs ont montré un certain intérêt pour les App Extensions, à l’instar d’AgileBits pour 1Password. Mais jusqu’à présent, l’éditeur du gestionnaire de mots de passe bien connu en reste à son extension web classique.

Tempête dans un verre d’eau

Steve Sobel, le développeur de Reddit Enhancement Suite (RES), une suite d’outils destinés à améliorer la consultation de Reddit, témoigne de sa galère dans un billet Medium au vitriol. Une de ses principales récriminations tient au fait qu’il lui est nécessaire de régler les 99 $ que coûte l’adhésion annuelle au programme Développeur d’Apple.

C’est effectivement une nécessité, ne serait-ce que pour pouvoir signer une application (et s’éviter une manipulation supplémentaire pour l’installer sur Sierra) et pouvoir ensuite la proposer sur le Mac App Store. Autre contrepartie, on accède à toute la palette d’outils de développement et au support Apple pour toutes les plateformes logicielles du constructeur.

Cliquer pour agrandir

Être présent dans la boutique d’Apple ou dans la galerie des extensions nécessite d’en passer par le processus de soumission du constructeur. Une étape indispensable qui peut rapidement tourner au parcours du combattant, comme cela a été le cas pour Steve Sobel : il lui a fallu attendre des semaines pour voir son extension apparaitre finalement dans la galerie.

Les vérificateurs d’Apple ont réclamé à plusieurs reprises des documents (une licence pour utiliser le nom “Reddit”) que le développeur n’a cessé de fournir. Et puis sans prévenir, RES a obtenu son feu vert, on peut le trouver à cette adresse. La communication d’Apple avec ses développeurs est souvent difficile, et ce problème de soumission rappelera chez beaucoup d’entre eux des galères similaires.

RES propose bon nombre d’options pour faciliter la navigation dans Reddit.

Sobel se plaint également d’une galerie qui n’est pas spécialement bien fichue, elle ne présente aucune capture écran et les informations proposées sont réduites à la portion congrue, contrairement à ce que l’on peut trouver sur Chrome, Firefox ou encore Opera qui ressemblent à de vraies boutiques.

Le concepteur de RES jette ensuite le bébé avec l’eau du bain. Il explique ainsi que la mise à jour automatique des extensions n’est pas possible en dehors de la galerie (ou du Mac App Store), mais Apple autorise cette possibilité en passant par le serveur web du développeur.

Autre grief : Chrome, Firefox, Opera et Edge partagent un système d’extensions commun, WebExtensions, qui facilite la vie des développeurs. Ces derniers peuvent ainsi adapter plus aisément leurs extensions à tous les navigateurs (lire : Firefox, extension du domaine de Chrome). Safari se tient effectivement à l’écart de WebExtensions, ce que Sober interprète comme une obligation faite par Apple d’en passer par l’adhésion à 99 $, Xcode et un Mac.

Mais tout cela n’est indispensable que si l’on souhaite développer une App Extension qui sera distribuée sur le Mac App Store dans le même « paquet » que l’application macOS. Pour une extension standard, pas besoin de Xcode, les outils web traditionnels sont suffisants. De plus, rien ne dit qu’Apple veut forcer la main des développeurs web, les deux méthodes restant d’actualité. Et au vu de l’absence totale de communication autour des App Extensions, on peut se demander si Apple veut vraiment pousser ce type d’applications compagnon.

Cette tempête dans un verre d’eau a cependant une vertu, celle de montrer qu’Apple communique toujours bien mal avec ses développeurs web (malgré une plus grande ouverture via le lancement des Technical Preview de Safari) — aussi bien en termes de choix technique pour les aider dans leurs développements, que pour le suivi des nouveautés de Safari (les App Extensions mériteraient un peu plus de considération).

avatar oomu | 

résumons l'article en:

"montrer qu’Apple communique toujours bien mal"

Fin de la Ne..heu Nouv.. Actu..heu..prése..heu.. hmm... situation depuis la nuit des temps !!

avatar C1rc3@0rc | 

Tout de meme, le Mac (et donc MacOS) s'est construit, developpé et surtout resisté face a Wintel grace uniquement a sa simplicité, sa fonctionnalité et son ergonomie.

Aujourd'hui on deplore une complication qui tend vers les abominations Gateseuses et bientot MacOS necessitera des manuels dignent de servir de cales a armoires normande et ou l'on lancera des concours pour trouver les fameux raccourcis claviers necessitant 11 doigts!

Il est deplorable qu'Apple ait mis en place un truc aussi genial que l'App Store mais avec une interface aussi indigente et que la recherche et le tri soient encore moins epais qu'un iPhone fantasmagorique des delires les plus extremes de Ive.

Et le pire c'est qu'avec le Finder, qui existe depuis l'origine du Mac, Apple a une culture de la gestion de fichiers particulierement solide et "user firendly".

Bon, ça c'est le mal en general chez Apple depuis 2012 et depuis bien plus longtemps dans iTunes. Pour le cas present, je relativiserai tout de meme, parce que si l'application peut etre flanquée d'une extension pour Safari, ce doit etre en rapport avec les specificités de l'application et il faut alors voir cela comme un service de l'application et non une fonction specifique et n'ayant rien a voir, donc l'utilisateur n'a pas a se poser la question de la presence ou pas d'une extension, terme malheureux ici.

avatar ovea | 

Mais parse que Apple n'est et ne saura jamais se mettre au niveau des développeurs ou des pro.

Les utilisateurs ! Il n'y a que ça !!

Bon, par contre, la Pomme doit se dépêcher d'abandonner le développement pour … pourquoi donc, au fait ???

avatar Crocmagnon | 

Malheureusement pour développer et signer une simple extension Safari (pas une App Extension), il faut aussi passer à la caisse des 99$. Impossible de distribuer une extension Safari de son côté alors que cette possibilité était offerte avant.

avatar C1rc3@0rc | 

Meme pour une extension web classique (non developpée avec Xcode)?

avatar Domsware | 

Bref : tempête dans un verre d'eau.

avatar marc_os | 

« Il explique ainsi que la mise à jour automatique des extensions n’est pas possible en dehors de la galerie (ou du Mac App Store), mais Apple autorise cette possibilité en passant par le serveur web du développeur. »

Oui, on voit bien qu'il y a pas mal de confusion... :D

CONNEXION UTILISATEUR