Pourquoi je suis anti Apple 2/2

Par défaut

J’ai exposé le début de la déchéance d’Apple dans mon estime, continuons pour expliquer la haine que je peux éprouver vis-à-vis de cette entreprise.

La sortie de l’iPod a permis à Apple de redémarrer une croissance significative mais ce n’était rien par rapport à ce qui était en train de se préparer dans ses laboratoires secrets.

L’iPhone

2007, Steve Jobs va révolutionner l’industrie de la téléphonie mobile. J’ai beau ne pas aimer cette entreprise, je sais reconnaitre quand quelqu’un fait quelque chose d’énorme. Sa présentation de l’iPhone décrit très bien les problèmes ergonomiques des smartphones de l’époque. Il a tellement eu raison que tous les smartphones ont suivi le concept de l’écran tactile géant tout en supprimant le clavier physique (à part Blackberry mais ils sont en train de crever…).

Mais cette révolution, pour y accéder et en profiter, il faut entrer dans la prison Apple.

La révolution est dans la prison

Prison parce que là encore, iTunes est utilisé pour synchroniser l’ensemble de l’appareil : contacts, applications, média.

Prison parce que comme pour l’iPod, le connecteur est propriétaire, ce n’est pas une prise micro usb standard, donc nécessité d’acheter les câbles chez Apple, à prix d’or.

Prison enfin car Apple décide de ce que vous pouvez installer sur le téléphone : en effet, il faut obligatoirement passer par l’App store, dans lequel se trouvent les logiciels qui ont été validés par la Pomme. Par « validés » il faut comprendre « jugés dignes d’être sur l’iPhone ». Ils ont toute une série de critères arbitraires qui peuvent faire que votre application soit rejetée : érotisme, utilisation du mot « test » (si si, j’ai eu le cas de figure), utilisation de ce qu’on appelle « API privée »…

Objective-C

Tiens, ce dernier critère est un peu technique alors je vais essayer de l’expliquer : quand on programme sur une plate-forme, il existe des fonctionnalités qui sont fournies pour qu’on puisse faire les applications facilement sans avoir à tout refaire soit même, comme créer un bouton, envoyer quelque chose sur le réseau, afficher une boite de dialogue etc… Il existe des fonctions qu’Apple ne nous autorise pas à utiliser pour des raisons plus ou moins valables comme la sécurité (tiens, ça me rappelle autre un procédé pour faire passer des âneries…), alors qu’elles sont techniquement accessibles. Pourquoi les rendre accessibles si c’est interdit ? Parce que le langage utilisé pour développer sur iOS est moisi à la racine. Ça dépasse le cadre de cet article, mais plein d’incohérences en font à mes yeux un langage « bidouille » qui manque de sérieux.

Mais dans la prison Apple, on n’a pas le choix, il faut apprendre leur langage (contrairement à Android qui utilise Java, un langage largement répandu dans l’industrie informatique).

Signature des applications

Pour publier une application, il faut la signer, pour authentifier que vous êtes bien le propriétaire de l’application. Pour Android, quand on est en phase de développement et qu’on veut juste tester sur son parc de téléphone, les outils d’Android génèrent automatiquement une signature de débug. Sur iPhone, il faut se battre avec leur gestion de certificats :

  1. depuis son Mac (je vous ai dit que seul un mac peut développer pour iPhone ?), depuis le gestionnaire des certificats, faire une demande de certificat,
  2. se connecter à la console web pour télécharger son certificat,
  3. créer un identifiant pour son application (ça aussi c’est automatique selon le nom de package avec Android),
  4. créer un profil de distribution pour votre application,
  5. lui dire quel certificat utiliser,
  6. enregistrer chaque appareil de test sur le portail web (je crois qu’ils ont intégré à l’outil de dév depuis ça, mais ça reste hyper fastidieux),
  7. télécharger le profil de distribution,
  8. l’installer dans XCode (l’outil de dév)
  9. et là enfin tester son application sur son iPhone de test.

Je ne garantis pas que ces étapes soient correctes, je fais ça de mémoire. Combien de jurons j’ai pu laisser échapper à des volumes sonores de plus en plus élevés sur ces certificats… et je ne vous parle pas de la galère si jamais votre application veut faire du Push…

Télé-censure

Ces trois derniers points sont très techniques et se passent avant la mise à disposition de l’application sur le store et l’utilisateur final s’en fiche pas mal. Ce qui pourrait l’impacter par contre, une fois qu’il a installé son application et qu’il a bien fait mumuse avec, Apple, sans avertissement, peut désinstaller l’appli — mais aussi un livre électronique, un mp3… — de votre iPhone (peut-on encore dire le vôtre ?).

Nous voici en présence d’un écosystème logiciel que je qualifierai de malsain. Vous payez un appareil, mais vous n’avez pas le plein droit d’utilisation de votre appareil, plein de limites qui n’ont pas lieu d’être techniquement ont été élevées pour construire une économie autour de ce produit. Si un développeur ne revient pas à Apple ou s’ils changent les règles du jeu pour rester dans l’App store, ils ont tous les droits de vous éjecter : c’est ce qu’il s’est passé lorsque Apple s’est mis à vendre des livres, une appli qui en fournissait via son propre réseau de distribution a été supprimé de l’App store.

Le coup de grâce

Et là, Jobs dans son génie d’homme d’affaire (et sans éthique) a eu l’idée lumineuse : maintenant que les gens ont bien pris le pli sur téléphone, on va étendre ça sur nos machines de bureau ! Et voilà le Mac App Store, qui au départ n’était qu’un lieu de distribution supplémentaire où se fournir en logiciel pour son Mac, est devenu avec sa dernière mise à jour (Lion), le seul endroit qui ait le droit d’installer les logiciels sur le Mac (et les éditeur « certifiés », la définition étant laissée au libre arbitre d’Apple). Certes c’est une option modifiable, mais les gens qui achètent Mac ne sont pas souvent des gens qui vont trifouiller les options…

Voilà la prison Apple dans laquelle des millions de gens acceptent de s’enfermer, ne voyant même pas à quoi ils renoncent…

Conclusion

Je pense avoir fait le tour de mon aversion pour Apple, certain râlent sur leur marketing, je ne vois pas en quoi il est si mauvais, au contraire, il fonctionne vu leur succès. Non moi ce qui me dérange le plus c’est cette prison dorée, c’est le fait qu’ils doivent leur OSX à du code libre et qu’ils ont tellement peu reversé à la communauté. Qu’ils se servent d’OpenStreetMap (alternative Libre à Google maps) sans le citer (ce qui serait le minimum syndical). En bref : l’absence d’éthique de cette entreprise me fait vomir.

3 réflexions au sujet de « Pourquoi je suis anti Apple 2/2 »

  1. marc

    moi j’aimais bien ObjC, à l’époque où je jouais avec GNUstep… Le langage est plus clean qu’un C++ avec très peu d’addition. Et puis même si ObjC n’est pas aussi présent que Java, ça reste extra-proche du C, qui est très présent, particulièrement dans le monde ’embarqué’. On peut espérer hériter des dev qui savent ce que veux dire « gestion mémoire », contrairement au bloat-dev issus du monde java qui pensent qu’un GC (quand ils savent que ça existe) c’est dieu 🙂

Les commentaires sont fermés.