Je voulais simplement faire part de mon étonnement : en effet, en lisant ces pages, on aurait peur de tenter les mises à jour proposées par Apple. Alors qu'on parle d'un OS très stable, pourquoi tous ces plantages ? Personnellement, toutes les mises à jour faites sur ma machine se sont déroulées sans le moindre accroc.
Je ne suis pas persuadé qu'on parle des mêmes "mises à jour". Les mises à jour d'une version mineure de l'OS à l'autre (e.g. 10.6.1 => 10.6.2) ne posent pas de problème particulier (une fois sur 1000, et encore...). En revanche, les mises à jour d'un version majeure à l'autre (e.g. 10.5 => 10.6) posent systématiquement des problèmes.
Cela est tout simplement dû aux modifications apportées par ces mises à jour. Comme leur nom l'indique, les premières apportent modifications
mineures, alors que les secondes apportent des modifications
majeures.
Quelle est la différence ? Une mise à jour mineure d'un logiciel ne modifie aucun mécanisme de ce logiciel : elle se contente d'améliorer les mécanismes existants, en corrigeant des bugs ou en comblant des failles de sécurité. Par conséquent, dans 99,99% des cas, la mise à jour mineure d'un logiciel ne modifie pas les interactions de ce logiciel avec les autres logiciels.
A l'inverse, la mise à jour majeure modifie profondément le logiciel : elle supprime et modifie des mécanismes existants et apporte de nouveaux mécanismes, qui produisent des résultats différents. La compatibilité avec les autres logiciels est rompue, dès lors qu'ils attendent de voir se produire tel résultat, et que ce résultat ne se produit plus.
Un exemple, pour mieux comprendre : le logiciel A produit le résultat A', grâce à un mécanisme A1 ; ce résultat A' est utilisé par le logiciel B.
- Mise à jour mineure : La mise à jour du logiciel A modifie le mécanisme, qui devient A2, mais qui produit toujours A'. Il le produit juste un peu plus vite ou un peu mieux. Le logiciel B reçoit donc toujours le résultat A', qui n'est pas altéré.
- Mise à jour majeure : La mise à jour du logiciel A supprime le mécanisme A1/2, et le remplace par un mécanisme X. Le logiciel B attend la réponse A', mais ne la reçoit pas, parce que c'est la réponse X' qui lui est envoyée. Résultat : incompatibilité des deux logiciels.
Un exemple encore plus concret : MS Word 2004 utilise par défaut le format .doc. MS Word 2008 utilise le format .docx, qui n'a rien à voir avec le format .doc, et qui ne peut pas être lu par Word 2004. En revanche, les différentes sous-versions (que MS appelle des "service pack") de Word 2008, n'altèrent pas fondamentalement le format .docx.
Evidemment, tous les logiciels ne posent pas des problèmes de compatibilité de même nature ou de même degré. Mais un système d'exploitation, puisque c'est ce dont il est question ici, génère forcément des problèmes très importants, qualitativement et quantitativement. C'est la raison pour laquelle les éditeurs de logiciels spécifient avec quelle version du système leur logiciel est compatible. C'est valable pour toutes les plates-formes : Mac, Windows, Linux, etc. Sur Mac, notamment, c'est particulièrement visible : à la sortie d'une nouvelle version majeure du système, les éditeurs affichent des petits "badges" sur les sites : "Snow Leopard ready", par exemple.
Pourquoi et comment, en pratique, les problèmes surviennent-ils ?
Mac OS X peut s'installer par une procédure de "mise à jour" : les fichiers du système ancien sont remplacés par les fichiers du nouveau système, mais les documents de l'utilisateurs, ses logiciels et leurs fichiers de configuration, sont conservés. On en arrive donc à une situation où sont installés, sur un ordinateur avec le système 10.6 (par exemple), des logiciels conçus pour le système 10.5. Il est évident qu'ils ne pourront pas tous fonctionner, et qu'ils ne pourront pas fonctionner de la même manière sur les deux systèmes, parce que leurs éditeurs ne sont pas des devins et qu'ils n'ont pas pu prévoir les modifications qu'allait apporter dans le futur le nouveau système.
Le fond du problème est que la plupart des gens ne comprennent pas grand chose à l'informatique. Ils ne cherchent pas à comprendre, parce que ça ne les intéresse pas (et on peut le comprendre). Ils cliquent donc, comme à leur habitude, sur ce qui leur semble le mieux. Et le mieux, en l'occurrence, semble être l'option qui permet d'installer la nouvelle version du système "en conservant tous ses fichiers". En réalité, c'est une mauvaise idée, pour les raisons précédemment évoquées.
Pour que l'installation par mise à jour fonctionne bien, il faudrait d'abord mettre à jour tous ses logiciels (au sens large : cela comprend également les drivers, les services, etc.) pour avoir par avance des versions compatibles avec le nouveau système, et supprimer les logiciels qui sont connus pour ne pas fonctionner avec le nouveau système. Mais cela, Apple ne le dit pas, et les gens ne le font pas. Apple est à mon sens encore plus coupable depuis Snow Leopard, puisque l'installation par mise à jour est désormais fortement mise en avant (elle est notamment présentée comme la procédure normale dans le manuel livré avec le logiciel), et qu'il faut ruser pour faire une installation propre.
La meilleure option est donc de procéder en 3 temps : 1) sauvegarder toutes ses données (peu ou prou, le répertoire ~/) ; 2) réaliser une
clean install du nouveau système, c'est-à-dire une installation après formatage du disque ; 3) réinstaller ses logiciels un par un, en prenant soin de télécharger les dernières versions, certifiées par les éditeurs comme étant compatibles avec la nouvelle version du système.
Voilà pourquoi il y a autant de problèmes.