Comments on Mises à jour, Mac OS et Linux

Nic (2011-05-02T12:03:34Z)

pankkake > Tu prêches un convaincu. Je ne défends pas particulièrement Mac ou Windows, je n'attaque pas spécialement Linux (enfin je n'en ai pas l'impression). Les mises à jour dans Mac et (surtout) dans Windows sont vraiment horripilantes (i.e. nulles à chier) pour les raisons que tu décris. Mais j'ai aussi des souvenirs de mises à jour vraiment pénibles sous Centos 5, où je devais aller chercher les bibliothèques manuellement (et toutes les dépendences…) pour plusieurs logiciels (j'ai passé 4 jours à essayer d'installer et de mettre à jour Inkscape, et j'ai abandonné).

Dans ce que je voulais dire, je faisais référence au post original qui mentionne une ligne de commande qui n'est pas nécessairement transparente pour quelqu'un qui découvre (par exemple ma mère), et qui peut être décourageante d'autant plus qu'elle est précédée de "je tape juste". Ça m'a amusé de le faire remarquer, même si le post ne se prétendait pas du tout être un tutoriel.

Mais, j'avoue, je n'ai plus pensé qu'il y avait aussi des cliquodromes sous linux car je ne les ai quasiment jamais utilisés. Donc je suis un ignorant. Bref…

Julien (2011-04-22T22:17:38Z)

(Sur un sujet complètement différent, ce serait cool que tes articles puissent avoir une URL séparée, que leur contenu soit dans le flux RSS et aussi que la mise-en-page ne soit pas un énorme bloc de texte qui prend toute la largeur de la page, le rendant un peu désagréable à lire :-/ – enfin, j'imagine que je serai pas le premier à le dire)

Julien (2011-04-22T22:07:23Z)

Si tu veux la même application partout, c'est que tu veux le même OS partout. Il est différent de vouloir accéder aux mêmes données partout (c-à-d l'inter-opérabilité) et d'avoir la même application partout. Vouloir la même application partout implique nécessairement (ou plutôt, l'histoire l'a prouvé, pragmatiquement) un nivellement par le bas du comportement du système. On a pu se mettre d'accord (difficilement) sur POSIX pour la partie bas niveau mais pour la partie haut niveau, les quelques tentatives sont médiocres (et la meilleure [**], à ma connaissance, à ce jour est… Openstep – donc on peut dire qu'Apple sait de quoi elle parle :-) )

"Si tu proposes de changer la métrique" : Apple utilise déjà une autre métrique depuis plus de 10 ans et c'est entre autres pour ça qu'elle a beaucoup de succès, et Linux beaucoup moins ;-) et c'est aussi pour ça qu'Apple impose, avec plus ou moins de bonheur, des règles si contraignantes sur iOS.

[**] ça dépend bien-sûr de ce qu'on appelle "meilleur" - mais selon la métrique d'Apple (justement), c'est évident.

Ruxor (2011-04-22T20:05:22Z)

Julien → Tu es donc d'accord que l'écriture d'applications cross-platformes à haut niveau est extrêmement difficile. Mais le problème, c'est que c'est absolument indispensable : il est hors de question d'utiliser un navigateur différent sous prétexte qu'on est sur des OS différents : si l'ordi du salon est un Mac, l'ordi de la chambre un PC Windows, le téléphone mobile un Android et le netbook un Ubuntu, il est hors de question d'utiliser Safari sur l'un, IE sur le second, Chrome sur le troisième et Firefox sur le quatrième — on veut la même appli partout, avec les mêmes racourcis et les mêmes bookmarks accessibles depuis partout. Un programme qui prétend avoir besoin de tel OS pour tourner, c'est aussi stupide qu'une page Web qui prétend avoir besoin de tel navigateur. (Je sais que le rêve d'Apple est que les gens aient de l'Apple sur tous leurs gadgets, du baladeur MP3 à l'ordinateur en passant par le téléphone, la tablette et le netbook, et qu'ils aient l'uniformité à ce prix, mais à part pour quelques fans ce n'est pas le cas : et en tout cas, si on me dit que ce n'est qu'à ce prix qu'un Mac est utilisable, alors il faut que je persuade ma mère de passer à autre chose.) Au moins Firefox fait-il des efforts honnêtes et sérieux pour s'intégrer avec les interfaces de haut niveau, comme le prouvent les nombreux liens vers bugzilla que j'ai fournis !

Quant à la remarque « c'est Apple qui va devoir rajouter des couches de hacks pour que tout "se passe bien" », ben oui, c'est comme ça. Tu as une idée du nombre de hacks que Linux est obligé d'écrire pour contourner les bugs d'ACPI des BIOS qui sont prévus pour ne faire tourner que Windows ? Mais si Linux ne les fait pas et dit « oh, c'est le BIOS qui est buggué », Madame Michu elle va juste dire « c'est nul Linux, mon ordi plante à la mise en veille ». C'est comme ça que les logiciels sont jugés, parfois pour les erreurs des autres. Si tu proposes de changer la métrique, je veux bien, mais il faut le faire pour tout le monde : c'est profondément malhonnête si tu refuses qu'Apple soit jugé pour les problèmes posés par Firefox et que tu n'appliques pas la même règle à tout le monde.

pankkake (2011-04-22T18:46:19Z)

Il n'y a pas besoin de terminal pour mettre à jour ou installer une application sous Linux. Il suffit de… cliquer. La dernière fois que j'ai utilisé Ubuntu, c'est à dire il y a pourtant longtemps, il y avait tout ça, et la distinction entre mises à jour classiques et de sécurité.

C'est beaucoup plus simple, rapide et sécurisé que sous Windows ou Mac OS.

Linux a 10 ans d'avance sur ce point, et les gens qui ne l'utilisent pas ne veulent tout simplement pas l'admettre (l'app store, c'est Debian, pas Apple). Moi, quand je lance un Windows, c'est à dire tous les trois mois, il me faut trois redémarrage et une heure pour le mettre à jour, et encore il y a pas tous les logiciels. Le pire c'est les logiciels qui te demandent de mettre à jour quand tu les lance : soit tu le met à jour maintenant et tu perds dix minutes à ne pas faire ce que tu voulais faire, soit tu ne le fais pas et tu lance peut-être une version pleine de failles de sécurité, ou alors que tu ne mettra jamais à jour parce que tu clique toujours sur "plus tard" (c'est ce que font mes parents, visiblement). On peut trouver tous les défauts qu'on veut à Linux (cf. l'article publié le jour d'après !), mais celui là… c'est juste n'avoir rien compris.

Bref, mentionner le terminal, c'est être soit un menteur éhonté, soit un ignorant. Fais ton choix.

Soyons clair : oui, mes propos sont insultants et méprisants.

Julien (2011-04-22T18:44:36Z)

Ce n'est pas qu'un problème d'uniformité. Si une application n'utilise que les APIs bas niveau pour essayer de recréer le comportement des APIs haut niveau du système, le système ne peut comprendre la sémantique "haut-niveau" de ce que fait l'application et prendre ainsi des décisions un peu plus avancées que juste "ah ben, là, il y a un gros rectangle". C'est critique quand le système essaye d'évoluer, car ces mauvaises applications ne peuvent pas suivre ces évolutions (par exemple, l'ajout de l'accessibilité dans MacOS X ou iOS, l'ajout des "Spaces" dans MacOS X, l'ajout du copier-coller dans iOS, Quartz 2D Extreme, Sudden Termination, et même les transitions importantes à MacOS X, à Intel ou à 64bit - et ça continue dans Lion [<URL: http://www.apple.com/macosx/lion >] avec Autosave/Versions/Resume - il y en a en fait énormément)

L'application en question va devoir faire "un boulot énorme" pour s'adapter (autant considérer que ça ne sera pas fait). Pire, si l'application a une grande visibilité (e.g. Firefox ou Flash), c'est Apple qui va devoir rajouter des couches de hacks pour que tout "se passe bien".

Le développement d'applications cross-plateformes qui fasse autre chose que réduire les plateformes à leur PGCD (c'est à dire pas grand chose) est un doux rêve, théoriquement possible mais qui n'a, en pratique, jamais marché, sauf à se satisfaire de quelque chose de médiocre (je dis bien "applications", au sens "applications haut-niveau". L'approche cross-plateforme est plutôt un succès pour les services bas-niveau, parce que, pour le coup, le PGCD est plutôt grand)

-- Julien

P.S.: "d'avoir une gestion uniforme des préférences sur un OS donné (préférences qui, de toute façon, n'ont rien de transportables d'une appli à une autre)" - c'est typiquement là où tu te trompes et que tu ne vois pas le système dans son ensemble. En particulier, le fichier (canonique) de préférences est utilisé par le système pour prendre des décisions alors que l'application n'est pas encore lancée (par exemple pour construire une liste des ouvertures récentes) ou pour le système de préférences "managées" (Control Parental ou Profile management), ou la synchronisation OS-wide des préférences (<URL: http://www.apple.com/mobileme/features/mac.html >) et peut-être d'autres choses dans le future.

Ruxor (2011-04-22T12:20:00Z)

Julien →

La plupart de ces points ramènent à l'éternelle question de savoir s'il vaut mieux avoir un comportement uniforme entre logiciels sur un OS donné ou entre OS pour un logiciel donné. Les deux sont évidemment très importants (ma maman utilise à la fois d'autres logiciels sur Mac OS et des Firefoxen sur autre chose que Mac OS), mais on ne peut malheureusement pas avoir les deux. Je trouve que Firefox choisit généralement le bon compromis : par exemple, ils ont décidé que les raccourcis clavier sous Mac OS utiliseraient la touche Commande comme le font les programmes Mac OS, mais ils ont généralement gardé des touches uniformes entre les différents OS. Chacun de ces choix implique nécessairement de faire des mécontents : tu souhaites peut-être que les barres de défilement de Firefox aient l'apparence des barres de défilement natives de Mac OS, moi je souhaite peut-être qu'elles soient réglables par XUL+CSS, et c'est très difficile d'avoir les deux si on veut par ailleurs que tout soit respecté jusqu'au fait que les barres de défilement peuvent être embarquées dans du SVG qui les fait tourner ou les superpose à de la transparence, etc. — donc il faut bien faire des compromis. La règle générale pour décider comment faire le compromis devrait être « qu'est-ce que l'utilisateur typique considère comme faisant partie du programme, et qu'est-ce qu'il considère comme faisant partie de l'OS » ?

Certains des trucs que tu signales sont effectivement des bugs. Le fait de ne pas utiliser le mécanisme de gestion des couleurs du système, par exemple, il n'y a aucun doute (personne n'a intérêt à ce que la gestion des couleurs soit uniforme d'un Firefox à un autre, on veut qu'elle soit uniforme entre toutes les applications d'un même OS) : mais soit je ne comprends pas bien soit tes informations ne sont pas à jour, parce que d'après <URL: https://bugzilla.mozilla.org/show_bug.cgi?id=16769 >, ça fait plus de trois ans que Firefox sous Mac utilise ColorSync.

Pour la gestion des préférences, c'est le contraire : ça me semble beaucoup plus important qu'on puisse partager le prefs.js d'un Firefox à un autre (en copiant le fichier, ou par Firefox Sync) que d'avoir une gestion uniforme des préférences sur un OS donné (préférences qui, de toute façon, n'ont rien de transportables d'une appli à une autre). Note que Mac OS est logé à la même enseigne que les autres (Windows, Gnome, KDE, Android…) : dans tous les cas, Firefox n'exporte qu'un petit nombre de préférences via le système (il y en a quelques unes, quand même, pour des choses vraiment liées au système), et pour le reste utilise son système à lui.

Pour la correction orthographique, la situation est intermédiaire : on veut pouvoir installer des correcteurs orthographiques spécifiques à Firefox (disponibles sous forme d'add-ons), mais on voudrait aussi pouvoir utiliser ceux du système — idéalement il faudrait pouvoir choisir entre les deux systèmes via le menu contextuel. Je ne sais pas ce qu'il en est actuellement, <URL: https://bugzilla.mozilla.org/show_bug.cgi?id=422760 > semble dire qu'autrefois Firefox utilisait le correcteur d'orthographe natif de Mac OS et qu'ils ont préféré le leur parce que celui de Mac OS gérait trop peu de langues différentes (mais s'ils l'ont complètement désactivé, c'est totalement idiot : il fallait clairement laisser le choix à l'utilisateur).

Pour l'accessibilité, et notamment la gestion de VoiceOver, c'est encore autre chose. Håkan Waara a fait un boulot énorme dans les années 2006–2010 pour rendre Firefox compatible avec les API d'accessibilité de Mac OS (voir <URL: https://bugzilla.mozilla.org/show_bug.cgi?id=342989 > pour les traces de son progrès), mais il paraît qu'il a buté contre des limitations sérieuses de celles-ci, il a soumis des bug reports à Apple qui n'a pas réagi, et je crois qu'il a fini par jeter l'éponge. Il est certain que c'est très dommage. En l'état, je crois comprendre que Firefox 4 a le code nécessaire pour faire marcher VoiceOver mais qu'il n'est pas activé par défaut à cause de « performance problems » (qui, d'après les gens de Firefox sont la faute d'Apple — et on ne trouve pas le point de vue d'Apple puisque leurs bug reports n'ont pas l'air ouverts au public).

Globalement, on voit que tu as choisi ton parti… Moi je vois que Firefox est confronté à des choix difficiles entre des impératifs contradictoires, et que sur chaque exemple précis ils ont l'air d'avoir fait des efforts honnêtes et d'avoir des raisons sérieuses : je n'ai pas l'intention d'attribuer des bons points ou des mauvais points plus que ça. Évidemment qu'Apple doit être mécontent de devoir faire du bugware pour éviter que Firefox casse, mais on peut être certain que c'est réciproque : il y a plein de paires (applications,OS) ou (OS,matériel) qui sont placées, comme ça, dans une relation de couple conflictuelle, et se renvoie la balle sur à-qui-c'est-la-faute pour tel ou tel problème — je pense que ça a assez peu de sens de prendre un parti, il faut s'en tenir à un jugement de Salomon (c'est-à-dire : à chacun de faire tous les efforts possibles pour supporter les idiosyncrasies de l'autre).

Mais bon, tout ça, à part pour la question de l'accessibilité, ce sont des raisons de programmeur pour se montrer insatisfait, mais absolument pas des raisons pour ne pas conseiller à ma maman d'utiliser Firefox ! Je maintiens que ton « criminel » est du grand n'importe quoi.

Julien (2011-04-22T02:36:58Z)

Firefox n'utilise pas la Kechain, Colorsync, ne coopère pas avec le système d'accessibilité du système, refait à la main la plupart des contrôles et comportement de l'UI (p.ex. : les champs de texte n'utilisent pas le correcteur orthographique/grammaire de l'OS, ne supportent pas les services, ne supporte pas la personnalisation des key bindings), n'utilise pas les locales système, modifie son bundle d'application au premier lancement (une hérésie pour beaucoup de raisons), ne stocke pas ses préférences de façon canonique, ne respecte pas (ni dans les faits, ni dans l'esprit) les Human Interface Guidelines, …

De façon plus générale, Firefox est une boite noire pour le système et il est quasiment impossible de faire évoluer le système de façon cohérente sans rajouter des hacks à des endroits stratégiques pour que Firefox continue de se comporter de façon satisfaisante (voire carrément continue de fonctionner tout court).

Ruxor (2011-04-20T18:37:52Z)

Nic → Je crois surtout que pankkake te fait remarquer que le problème n'est pas de savoir si on tape une commande dans un terminal ou si on la choisit dans un menu (il va de soi que toutes les distributions Linux qui installent une interface graphique ont mis une entrée dans les menus pour faire les mises à jour : si je le fais en ligne de commande, moi, c'est bien parce que je trouve ça plus commode et, surtout, parce que je peux le faire à distance et même depuis mon téléphone mobile, ce qui serait plus difficile s'il fallait ouvrir une interface graphique et tout et tout ; mais ce n'est pas du tout de ça que je parlais). Ce que je mettais en avant comme différence, c'est le fait que les distributions Linux centralisent tout, alors que sur le Mac de ma mère, je suis obligé de lancer chaque programme qui a besoin d'être mis à jour et, pour chacun, faire la manip séparément.

Julien → Tu ne réponds pas à la question : je veux savoir, *concrètement*, ce que ça veut dire, « ne pas respecter la plateforme ». (Il fut un temps où Firefox sur Mac n'avait pas les barres de défilement Mac, ou n'utilisait pas les interfaces Mac pour choisir un fichier, ou les interfaces texte de Mac OS pour l'entrée Unicode, ce genre de choses. Maintenant, je ne vois vraiment pas de différence à ce niveau-là avec un programme comme Safari.)

Nic (2011-04-20T17:27:24Z)

"Fanboy" ?… Je passe outre l'insulte et le ton arrogant. À vrai dire je m'en fiche un peu d'Apple et tout, ce qui m'a fait réagir c'est la prise de conscience du fossé existant entre les utilisateurs habitués à cliquer (et non à un terminal, c'est à dire toujours la majorité des gens) et ceux qui ont des bases d'utilisation du terminal (dont je fais partie, soit dit en passant). Oui, quand on n'a jamais tapé sur un clavier pour autre chose qu'une recherche google, c'est plus simple de cliquer dans un menu que de faire sudo foo -bar -etc. Et je ne dis pas que "les gens" ne sont pas capable d'utiliser un terminal, mais plutôt que la plupart en ont la flemme.

pankkake (2011-04-20T12:04:55Z)

« C'est sans doute moins compliqué (pour les gens normaux) de cliquer sur "Aide" puis "rechercher des mises à jour" que de savoir quelle commande effectuer dans un terminal. »

Mais n'importe-quoi. Le pire, c'est que je suis sûr que tu n'as pas conscience que tu mens.
Voilà pourquoi je ne parle plus aux fanboys. La réalité ne les intéresse pas.

Julien (2011-04-20T06:30:50Z)

Je ne nie pas les manques d'Apple dans son système de MAJ (l'App Store est justement là pour tenter d'y remédier et ça prendra surement du temps, Vancouver ne s'est pas faite en un jour)

Quant à Firefox, j'exagère à peine. L'application ne respecte en rien la plateforme et il est certain que même si Apple avait un système fantastique et parfaitement au point de MAJ, Firefox ne l'utiliserait pas. Firefox est une plaie pour MacOS X car n'adhère à aucun des concepts de haut niveau du système et par sa présence même gêne considérablement l'évolution de la plateforme (car c'est devenu une "must not break" app). Conseiller à sa maman de l'installer est une mauvaise idée, c'est tout ce que je dis.

Et tu diras à Pankkake qu'il est fort probable que je comprenne le problème beaucoup beaucoup mieux qu'il ne le croit ;-)

Sinon, à juger le Mac sur ce qui existe maintenant, le système de MàJ est assez satisfaisant, la très grande majorité des applications tierces faisant le boulot que n'a pas fait Apple et se mettent à jour toutes seules.

Nic (2011-04-19T11:24:40Z)

"Si pour utiliser un Mac il faut savoir reconnaître un million de micro-détails qui font que quelque chose est ou n'est pas « une application Mac », alors c'est décidément un système trop compliqué pour ma maman."

C'est sans doute moins compliqué (pour les gens normaux) de cliquer sur "Aide" puis "rechercher des mises à jour" que de savoir quelle commande effectuer dans un terminal.

pankkake (2011-04-17T10:00:19Z)

On dirait que tu as réveillé les fanboys, qui n'ont même pas compris le problème, mais se sont quand même sentis obligés de défendre Apple.

Ruxor (2011-04-17T06:54:55Z)

Je ne sais pas ce qu'Apple « devrait » faire, je dis qu'il convient de juger le Mac (pas Apple) sur ce qui existe dessus maintenant, pas ce qui pourrait ou va ou devrait exister, exactement comme on juge Linux (par exemple quand on dit que c'est nul parce qu'il n'y a pas de jeux dessus, parce qu'il n'y a pas d'application pour ceci ou cela).

Par ailleurs, je ne vois pas le problème avec Firefox ou en quoi ce n'est pas « une application Mac ». (Et je passe sur le « criminel » : il faut se calmer avec les exagérations ridicules.) Si pour utiliser un Mac il faut savoir reconnaître un million de micro-détails qui font que quelque chose est ou n'est pas « une application Mac », alors c'est décidément un système trop compliqué pour ma maman.

Julien (2011-04-16T23:04:16Z)

Je suis d'accord avec toi, David, Apple devrait forcer la totalité des applis tierces sur le Mac à passer par le Mac App Store comme sur l'iPhone qui lui n'a pas les problèmes que tu décris. Ou alors, on attend que les tiers jouent le jeu : soit l'App Store, soit leur propre système de m-à-j automatique (VLC a le sien par exemple).

Et ne me parle pas de Firefox. C'est tout sauf une appli Mac et la conseiller à qui que ce soit utilisant un Mac et qui ne soit pas un développeur Web est criminel.

Fork (2011-04-15T16:22:14Z)

Sous Linux ça marche bien généralement, mais on arrive parfois à des trucs pénibles avec les nouvelles versions pas rétrocompatibles et les conflits de dépendance (j'ai récemment voulu installer un truc un peu exotique sur ma machine, et j'ai fini par installer un bon nombre de dépendances à la main pour avoir la version que je voulais, et pas celle proposée par le gestionnaire de paquet).

Ruxor (2011-04-15T12:51:57Z)

Ah non, on ne peut pas mettre ça sur le compte des tiers : ce qui importe pour ma maman qui a un Mac, c'est l'ensemble de ce Mac, pas d'attribuer des bons points ou des mauvais points à Apple. D'ailleurs, Apple le sait très bien puisqu'ils se vantent de la diversité de leur App Store sur iPhone : si on considère que c'est un bon point pour l'iPhone, alors c'en est un mauvais pour le Mac, et peu importe que ce soit la "faute" de Firefox s'ils ne distribuent par leur navigateur comme ça. (Ou encore, si on considère que c'est un mauvais point pour Linux qu'il y ait peu de jeux qui tournent dessus, et c'est un avis très partagé, ou parce qu'il y a trop peu de matériel supporté, tout ça dépendant entièrement de la volonté de tiers, alors par la même logique on doit attribuer des mauvais points à Mac OS si leur écosystème n'arrive pas à attirer ce qu'on veut. Et notamment si les conditions de l'App Store sont trop draconiennes pour que Firefox ou VLC soient distribuables dessus.)

Thomas (2011-04-15T08:03:51Z)

La plupart des programmes Mac se mettent à jour dans le menu le plus à gauche de la barre de menus (portant le nom de l'application). Les localisations sont directement incluses dans les logiciels (pour les trucs Mac et non unixiens) via le très pratique système de bundles.

Quant au registre d'applis centralisé, c'est effectivement le Mac App Store. Je ne sais pas pourquoi les développeurs de VLC et Firefox ne proposent pas leurs logiciels dessus… (à moins que ce ne soit des problèmes d'intégrisme du libre comme avec VLC sur iPad).

Et pour les mises à jour Linux, entre les paquets au nom abscons et ceux qui te demandent de merger des fichiers de configuration à la main, je crois que c'est encore loin d'être utilisable pour le grand public…

Julien (2011-04-14T23:10:26Z)

Le Mac App Store en est à ses début et il est destiné à régler ce genre de questions. Ça vient. Doucement.

Cela dit, le problème ne concerne que les tiers, le système de mises à jour du système est au point et particulièrement robuste.


You can post a comment using the following fields:
Name or nick (mandatory):
Web site URL (optional):
Email address (optional, will not appear):
Identifier phrase (optional, see below):
Attempt to remember the values above?
The comment itself (mandatory):

Optional message for moderator (hidden to others):

Spam protection: please enter below the following signs in reverse order: 689539


Recent comments