Les développeurs d'extensions Safari doivent retrousser leurs manches

Florian Innocente |

Comme annoncé depuis un peu plus d'un an, Apple a rompu le lien qui liait Safari à l'ancienne version de sa galerie des extensions, celle qui était proposée sur le web.

Si vous utilisez l'élément de menu Extensions Safari du menu Safari, le navigateur vous envoie dans la catégorie ad-hoc du Mac App Store. C'est depuis cet endroit, et lui seul, que l'on pourra faire son marché en extensions, lorsqu'on se mettra à jour vers Safari 13 cet automne.

Cette migration fait partie d'un plan démarré avec OS X El Capitan et visant à encadrer la distribution de ces petits modules et à rendre leur utilisation plus sûre.

Lorsque vous passerez sur Safari 13, les extensions installées à l'origine depuis les sites web de leurs auteurs ne fonctionneront plus. Il faudra tirer une croix dessus et récupérer les versions équivalentes sur le Mac App Store, si elles existent…

La nouvelle galerie dans le Mac App Store

Le problème est que tous les développeurs d'extensions existantes n'ont pas fait ce travail d'adaptation, malgré un large délai accordé par Apple (lire Fin échelonnée des extensions historiques de Safari, qui s'éloigne des autres navigateurs).

Ces extensions, ou "Safari App Extensions", ne font pas que déménager d'un endroit à l'autre. Elles deviennent de véritables micro-applications, développées non plus avec des langages du web (HTML, CSS et JavaScript) mais en Swift (ou Objective-C) comme les applications macOS classiques.

Non seulement un développeur ne peut plus distribuer son extension Safari d'où bon lui semble mais il doit créer une application à part entière, pour le Mac App Store, qui servira de passerelle pour installer l'extension dans Safari. Cette application n'aura souvent d'autre rôle que d'afficher un message d'explication à l'utilisateur.

Les Safari App Extensions sont à la base de véritables petites applications Mac qui vont installer, de façon transparente pour l'utilisateur, l'extension dans le navigateur

Financièrement, même si la charge n'est pas énorme, cela implique de souscrire au programme développeurs d'Apple (99 $ par an). Côté pile c'est plus rassurant pour l'utilisateur et on peut espérer des extensions plus sophistiquées, côté face la distribution est plus laborieuse pour le développeur.

Ces nouvelles procédures peuvent s'avérer dissuasives et actuellement on n'est pas à la fête. On n'a pour une large part que des bloqueurs de pubs, bien plus qu'on en aura jamais besoin. La diversité n'est pas encore très forte.

Des services importants comme Pocket (enregistrement et lecture différée de pages web) ou CamelCamelCamel (évolution des prix sur Amazon), qui étaient jusque-là bien intégrés à Safari, n'ont pas de présence dans le Mac App Store. À l'inverse on peut profiter de l'extension Wayback Machine de l'Internet Archive pour retrouver les versions antérieures d'une page web. On verra dans les prochains mois comment évolue ce choix en extensions.

avatar Artefact3000 | 

@byte_order

En effet, Safari devient plutôt gênant à utiliser. Perso, ça fait longtemps que j'ai changé. C'est Firefox partout.

avatar fte | 

La semaine dernière, en préparant mon cours de sécurité de ce jour, j’installais Bitwarden dans Safari à titre d’exemple.

Aujourd’hui, en donnant ce cours, surprise, plus d’extension Safari. Utilisant Notion pour les fiches pratiques, j’ai rapidement et subtilement rectifié la fiche de travail au vol l’air de rien, indiquant de faire la manip sur Firefox.

Mais s’apercevoir de ça en au milieu de la démo, c’est un peu chiant.

Moins chiant cependant que la semaine passée, expliquant un point de théorie du bouclage, souhaitant montrer un truc sur le schéma projeté, pour me rendre compte en me retournant donc que le PC projetant mon schéma était joyeusement en train de redémarrer et d’installer une mise à jour. BLOODY HELL.

Bref. Même sur Mac on n’est pas épargné. L’informatique c’est vraiment un emmerdement constant. Bizarre que j’adore autant ça. Je devrais peut-être consulter.

avatar valcapri | 

@fte

Ils sont en train d’y travailler, une bêta 2 vient de sortir : https://github.com/bitwarden/browser/issues/664#issuecomment-528327032

avatar Jeamy | 

Cela fait longtemps que j’ai dit : Safari ça suffit !

avatar corben | 

Mac OS le seul OS qui casse pas mal de choses dès que y a une mise à jour

avatar Doctomac | 

Ce n’est pas vrai, ce changement a été annoncé depuis un moment et ça a commencé avec Safari 12.

avatar fousfous | 

Ah les devs toujours a pas faire leur boulot... Enfin c'est simple quand y a juste à voler les données aussi, ce qui ne sera plus le cas maintenant.

avatar SyMich | 

N'importe quoi! 🤦‍♂️
Comme si les développeurs n'avaient que ça à faire de se plier aux dictats d'Apple qui changent tous les 6 mois...
Et pourquoi seraient-ils obligés de ne passer que par le circuit de distribution d'Apple, au risque de se faire jeter si leur extension n'a pas l'heur de plaire à la sainte inquisition?

Les développeurs feront leur boulot en fournissant leurs extensions pour les autres navigateurs et tant pis pour Apple et son Safari!

avatar fousfous | 

@SyMich

Ça fait pas 6 mois mais plutôt 1 an et demi...
Il faut dire que niveau sécurité les utilisateurs y gagnent, quand ont voit le nombre de malware sur Mac, même en étant prudent on se retrouve avec sans comprendre comment c'est arrivé.
La fermeture totale des installations permettra enfin de combler cette passoire qu'est macOS.

avatar SyMich | 

Vous dites vraiment n'importe quoi... 🤦‍♂️
Je vous rappelle juste que des malwares, Apple en diffuse régulièrement sur le Mac AppStore (et notamment des prétendus anti-malwares ou anti-virus)

avatar iValFR | 

@fousfous

Et vous pensez que les développeurs n’ont que ça a faire ? Payer 100 € / an et travailler avec un langage et environnement différent uniquement pour un navigateur qui ne représente que 5% de part de marché ...

avatar byte_order | 

@fousfous
> Ça fait pas 6 mois mais plutôt 1 an et demi...

Et ?
Les développeurs d'extensions sont-ils payés par Apple ?
Par vous ?

Non.
Alors que cela fasse 1 an, 6 mois ou 2 jours, aucune différence.
S'ils ne se précipitent pas à le faire, c'est que cela ne l'intéresse pas, ni financièrement ni techniquement. Point barre.
Et ils en ont parfaitement le droit, ni Apple ni vous n'étant leur supérieur.

A Apple (et à vous) d'en tirer les conséquences.

Vous, par exemple, vous pourriez vous y mettre à développer des extensions pour Safari. Si c'est si intéressant et attractif, vous seriez le premier à en tirer un profit, n'est-ce pas ?
Allez, soyez pas paresseux. Cela fait déjà 1 an que vous auriez pu le faire ! Qu'est que vous attendez !?

Comment ? C'est pas votre métier ?
Okay, très bien.
Mais dans ce cas arrêtez de juger sans savoir celui des autres.

avatar iPop | 

@SyMich
Comme si les développeurs n'avaient que ça à faire de se plier aux dictats d'Apple qui changent tous les 6 mois...

Le goal c’est iOS, suffit déjà d’intégrer cela et on a l’esprit tranquille.

avatar SyMich | 

Fermer macOS au niveau d'iOS, c'est le meilleur moyen pour que les développeurs laissent tomber le Mac (qui est loin de représenter un marché équivalent à celui des iPhones en étant de plus en plus marginal)

avatar iPop | 

@SyMich

Sans doute mais APPLE ne peut pas laisser un parc de sa clairière à l’abandon et au bon vouloir des dev. En terme de gestion software, c’est l’enfer.

avatar SyMich | 

...un parc de sa clairière... ???

Quoi qu'il en soit, je ne vois pas le problème. Les meilleurs softs sur Mac se trouvent hors AppStore, et ça ne m'a jamais posé de problème de "gestion de software".
J'utilise des Macs depuis plus de 30 ans soit bien avant que l'AppStore existe et le "bon vouloir des développeurs" c'est quand même ce qui a fait en grande partie que le Mac est le Mac! Certes l'OS est important, mais la qualité des applications et utilitaires c'est bien les développeurs qui en sont à l,origine.

avatar byte_order | 

@iPop
> APPLE ne peut pas laisser un parc de sa clairière

*sa* !?

Ce sont les Macs des utilisateurs, pas les siens.

> à l’abandon

Où avez-vous vu que le segment des extensions étaient à l'abandon, toute plateforme confondue ?!
C'est Apple qui a décidé de casser les extensions existantes pour *sa* plateforme, Safari. Unilatéralement. Si cela ressemble à des ruines sur son segment aujourd'hui, faut se tourner vers celle qui a casser ce qui s'y était bâti.

> et au bon vouloir des dev.

Les logiciels ne naissent pas dans les choux ni les roses.
Par définition, les créateurs de logiciels exercent leur volonté dessus.
L'accouchement étant rarement indolore, c'est la moindre des choses.

Apple est légitime à exercer sa volonté sur *son* logiciel. Mais si en le faisant elle diminue l'attractivité de sa plateforme (ou une partie, ici les extensions pour son navigateur Safari, par ailleurs d'audience minoritaire), je ne vois pas au nom de quoi il serait légitime de considérer que ce sont les développeurs qui doivent se plier à la volonté d'un autre développeur.

L'attractivité d'une plateforme repose soit sur les profits envisageables soit sur sa technologie, ou un mix des 2. Si les développeurs ne s’intéressent pas à une plateforme particulière, cherchez pas plus loin.

> En terme de gestion software, c’est l’enfer.

C'est sûr que c'est nettement mieux d'avoir que 2-3 softs - mais sanctifié par le propriétaire du magasin - que d'avoir le choix.
Avoir le choix, c'est devoir en faire un.
Et ça c'est l'enfer. Pour les assistés.

Étrangement, pour les autres plateformes, où cet "enfer" existe, on n'observe pas de migration massive des utilisateurs pour aller sur des plateformes plus "paradisiaques".

Alors soit une immense majorité des utilisateurs ont signé un pacte avec le diable, soit l'enfer que vous décrivez n'est pas observé de la même manière par une majorité des gens.

avatar iPop | 

@byte_order

Écoute, c’est très simple : sur iOS les extensions sont des applications. APPLE ayant tendance à uniformisé ses produits...

avatar byte_order | 

@iPop

Ecoute, c'est très simple, les développeurs d'extensions pour navigateur web visent les navigateurs les plus utilisés, et ce quelque soit l'OS en dessous.
Les développeurs de ces navigateurs les plus utilisés ayant tendance à uniformiser leurs technologies, pour des développeurs d'extensions pour navigateur web, c'est l'API/WebExtensions qui fait sens, pas des applications iOS/macOS.

Et tant pis pour les API proprio qui ne représentent qu'une part de marché minoritaire.
Cela vaut aussi pour Vulkan vs Metal, d'ailleurs.

Le langage de développement le plus multi-plateforme, l'API la plus multi-plateforme, la part de marché la plus large possible, c'est ça la simplicité, celle qui réduit les coûts et temps de développement et donc permet, éventuellement, de l'amortir plus rapidement et le cas échéant d'en tirer un profit. Pour le développeur, hein, pas l'éditeur de la plateforme cible.

Apple n'est pas l'alpha et l'omega des technos web.
Loin de là, même.

avatar fousfous | 

@SyMich

N'empêche que la popularité du Mac (qui a bien augmenté avec les MBP tant décrié) augmente et que les attaques ciblant les Mac ont bien augmenté. Ce qui marchait avant avec quelques utilisateurs ne marche plus maintenant avec une communauté importante.
Ce serait criminel de la part d'Apple de ne rien faire.

avatar byte_order | 

@fousfous
> Ce qui marchait avant avec quelques utilisateurs ne marche plus maintenant avec
> une communauté importante.

Étrangement, les plateformes qui ont depuis encore plus longtemps une popularité et communauté bien plus importante encore (MacOS c'est quoi, environ 10%, hein) n'ont toujours pas un magasin unique de distribution de tous les logiciels, ni un videur incontournable à l'entrée, et pourtant il n'y a pas pour autant du siphonnage massif de données par des extensions pour Firefox ou Chrome.

P'tet tout simplement parce que :

1) aucune extension ne s'installe toute seule, spontanément
2) le développement des moteurs web les plus majoritaires se fait de manière open source, et bénéficie donc de l'observation et des contributions - y compris en terme de correction de faille de sécurité - de bien plus de monde
3) n'importe qui peut consulter le code d'une extension, ce qui facile la détection de code douteux
4) l'existence d'une offre large fait que rapidement les extensions qui derrière une façade fonctionnelle rarement au top dissimulent en fait un objectif moins joli se font très rapidement repéré et noté en conséquence. Y'a eu par exemple 2-3 bloqueurs de pubs et auto-proxy qui en ont fait les frais.

> Ce serait criminel de la part d'Apple de ne rien faire.

Y'a une nuance entre protéger l'utilisateur et prendre le contrôle (et une commission sur les éventuels profits) de ce qu'il a le droit de vouloir pouvoir faire.

Qu'est-ce qui interdit à Apple de renforcer Safari pour prévenir l'utilisateur que telle extension veut envoyer tel contenu à tel site, quand bien même c'était déjà annoncé dans le manifeste et donc les demandes d'autorisation présentées à l'utilisateur lors de l'installation ?

Imposer un canal de distribution unique, c'est ça la seule solution de sécurité pour vous ?
Lactalis distribuerait ses produits que via un seul magasin, le lait n'aurait pas été contaminé !?

avatar byte_order | 

@iPop

je connais peu de développeurs iOS qui ont l'esprit tranquille.
Rapport au fait de dépendre intégralement de l'arbitraire d'un acteur qui, au passage, vous ponctionne 30% de vos recettes.

Beaucoup de studios de développement pour plateformes mobiles, néés très souvent avec l'iPhone, ne font plus uniquement que du dev pour iOS, justement pour réduire ce risque.
Ce faisant, les technos multi-plateformes ou facilement portables rencontrent chez eux fatalement un écho positif.

avatar vince29 | 

C'est pas la faute des devs si Apple change le langage de développement au lieu de simplement renforcer la gestion des droits.

avatar byte_order | 

@fousfous
> Ah les devs toujours a pas faire leur boulot...

Cela dépend. C'est qui leur employeur ?
Apple ? Vous ?

Si ce sont des indépendants - et en matière d'extensions web c'est souvent le cas - ce sont eux, et uniquement eux, qui décident ce qui relève de leur boulot ou pas.

Y'a pas 36 manières de voir le truc.
Derrière n'importe quel logiciel, il y'a en gros 2 types de développeurs :
- celui qui est motivé, directement ou indirectement, par le fait qu'avoir développé ce logiciel lui permet d'en vivre
- celui qui est motivé par l'envie de le faire, même bénévolement, parce qu'il y trouve un challenge, qu'il soit technologique, fonctionnelle ou même artistique.

Si sur un segment vous trouvez très peu d'offres logiciels, au final, c'est simplement parce que le segment n'attire pas ni en terme de rentabilité ni en terme d'attractivité non financière.

La bonne question à vous poser serait donc non pas de savoir si les développeurs seraient - comme à chaque fois avec vous, étrangement - paresseux mais pourquoi le segment des extensions au format propriétaire et non portable et emprisonné par les conditions du MAS (y compris commerciales) n'attirent pas l'attention des développeurs ni en terme de rentabilité ni en terme de challenge.

Et tant que vous y êtes, montrez donc l'exemple : mettez vous au développement et montrez au monde ce qu'est un développeur non paresseux.

avatar xDave | 

Et ça va rajouter plein de merdouilles dans le dossier applications 🤨

avatar BeePotato | 

@ xDave : « Et ça va rajouter plein de merdouilles dans le dossier applications 🤨 »

Oui, c’est vraiment ahurissant d’avoir choisi cette approche pour distribuer des extensions, dont on ne devrait normalement voir aucune trace en dehors d’un dossier spécifique à Safari. C’est du grand n’importe quoi.

avatar xDave | 

@BeePotato

Apple devrait au moins les mettre dans un sous dossier Safari extensions

avatar BeePotato | 

@ xDave : « Apple devrait au moins les mettre dans un sous dossier Safari extensions »

Le souci, c’est qu’Apple ne fait pas de différence entre une application qui inclut également une extension pour Safari (principe qu’elle aimerait apparemment voir adopté largement) et une application qui n’a été créé que pour distribuer une extension Safari et ne fait absolument rien d’autre.

C’est cette seconde catégorie qui pourrit tout (la vie des développeurs ainsi que le dossier applications et le LaunchPad des utilisateurs) alors qu’il aurait suffi de prévoir un cas spécial pour ces machins, leur permettant d’être installés ailleurs et de ne pas encombrer inutilement l’espace des applications.

Bien sûr, avec cette approche, la vie des développeurs continuerait à être pourrie par cette idée tordue d’imposer ce mode de distribution des extensions Safari, mais ce serait déjà mieux pour les utilisateurs.

avatar alan1bangkok | 

adguard fait le job chez moi

avatar Mike Mac | 

Et pendant ce temps-là, Firefox 69 a sécurisé d'avantage son navigateur pour des rapports mieux protégés...

avatar vince29 | 

Si le problème c'étaient les droits d'accès, il fallait mieux gérer ça au niveau du manifest.
Obliger les devs à change de techno, c'est risqué.
Je pense qu'une bonne partie des devs indés ne vont pas s'e******er à payer 100$ et à passer au swift quand ils peuvent faire des pwa qui fonctionnent sur tous les environnements.

avatar Moonwalker | 

Tant mieux.

Ces extensions ça devenait n'importe quoi.

J'ai besoin d'un navigateur simple, pas d'une usine à gaz.

avatar vince29 | 

?
Personne ne t'oblige à installer les extensions.
Les extensions permettent justement d'externaliser les fonctions non essentielles et d'avoir un navigateur plus light.

avatar SyMich | 

Ça devient n'importe quoi si vous installez n'importe quoi!
Libre à vous de ne pas installer d'extension...

Le fait qu'Apple change l'emplacement depuis lequel Safari télécharge ses extensions avec de nouvelles contraintes imposées aux développeurs (dont l'obligation du langage de programmation utilisé! Non mais franchement, de quoi se mêlent-ils???.) ne garantit en rien que cette nouvelle "bibliothèque" d'extensions ne soit pas tout aussi "n'importe quoi"que celle existant aujourd'hui. Je pense même qu'on aura l'effet inverse: les développeurs sérieux ne perdront pas leur temps à se plier à ces nouvelles contraintes et privilégieront les autres navigateurs sans plus se soucier de Safari, par contre tous les margoulins développant des pseudos utilitaires "de la mort qui tue", se feront un plaisir d'inonder Safari d'extensions toutes plus inutiles les unes que les autres.

avatar e2x | 

« Il faudra tirer une croix dessus et récupérer les versions équivalentes sur le Mac App Store, si elles existent… »

hé bien voilà encore la poursuite de la dictature 😞 je suis en passe de perdre 1password (l’histoire de la version 6 achetée en perpétuel contre la vers 7 abonnement) et j’ai déjà perdu mon extension de Youtube downloader très importante dans mon job.
L’app store et les safaris extensions.. le désert de Gobi 😑😐😶
👏👏

avatar mouahaha | 

"j’ai déjà perdu mon extension de Youtube downloader très importante dans mon job."

Ya vraiment un métier où télécharger des vidéo de Youtube l'un des pilliers du métier ? :O

avatar e2x | 

@mouahaha

Yes it is!
je ne peux m’étendre ici sur le pourquoi...

avatar oomu | 

tout cela est bien triste.

Mais heureusement il reste Firefox et Chrome qui gardent encore de la flexibilité pour l'utilisateur.

avatar byte_order | 

@oomu

Ce qui est triste c'est l'acceptation de plus en plus docile des utilisateurs de se voir imposer par d'autres - et loin d'être désintéressés - le niveau de flexibilité qu'ils sont en droit d'avoir. Ou pas.

avatar 8enoit | 

Il me manque Nuke (pour masquer des éléments de page web, utile avant impression par exemple)
et Autopagerize

avatar Babysax | 

Depuis la mise à jour de Safari on a le temps de boire son café tranquillement.
Très lente cette version ..........

Pages

CONNEXION UTILISATEUR