Ouvrir le menu principal

iGeneration

Recherche

Facebook : le Microsoft Word des temps modernes

Christophe Laporte

mercredi 12 avril 2017 à 09:23 • 47

App Store

Quelle est la pire application disponible sur iOS et qui est particulièrement répandue ? À cette question, on serait tenté de répondre Facebook. Au passage, nombreux sont ceux qui ont constaté une hausse de leur autonomie de leur smartphone en la désinstallant et en « restreignant » à la version mobile. Lorsque cette polémique était intervenue en octobre 2015, le réseau social avait promis de mettre au régime son application iOS.

Le souci, c’est que les régimes, cela ne fonctionne pas toujours. Peut-être qu’entre temps, l’application est devenue plus économe pour la batterie, mais en ce qui concerne son poids c’est une catastrophe. Alexandre Colucci, développeur chez Elgato, a une petite passion dans la vie : analyser le contenu de l’application Facebook à l’aide de l’outil GrandPerspective.

Le développeur a donc comparé la version 87 (la dernière en date) à la version 66 sortie en octobre dernier. À ce rythme, la version 100 devrait être disponible à l’été.

En l’espace de six mois, Facebook pour iOS a pris quasiment 100 Mo. La version 87 pèse sur un iPad Air 253 Mo, soit 88 Mo de plus que la version 66. Le poids de cette application est d’autant plus impressionnant que Facebook utilise l’App Slicing. Autrement dit, elle n’inclut que le code pour marcher sur cet iPad. Le code 32 bits n’est pas présent par exemple. Cet embonpoint a des conséquences. Par exemple, sur un iPhone (cela peut varier d’un opérateur à l’autre), il n’est pas possible de télécharger cette application en 4G. Ce qui est quand même assez dingue pour une app qui occupe la dixième place du classement des applications gratuites les plus téléchargées de l’App Store.

Fatbook....

Alors pourquoi Facebook est devenu si énorme ? Il y a tout d’abord une version majeure entre ces deux versions. La version 66 contenait un binaire monolithique de plus de 100 Mo, comme le montre l’illustration ci-dessous.

Il est à noter que sa taille mannequin n’était pas liée aux éléments graphiques de l’app qui ne pesaient pas plus de 5 Mo dans cette version. On ne peut pas non plus imputer la faute aux fichiers de traduction qui, au final, occupent assez peu de place.

L’application a recours à une foultitude de frameworks. Parmi ceux-là, Alexandre Colucci était étonné de trouver notamment le framework JSC framework, qui pèse à lui seul 3 Mo. À moins qu’il y ait une raison technique, Facebook pouvait tout aussi bien recourir au framework JavaScriptCore, qui est intégré au système depuis iOS 7. Sachant que Facebook requiert au minimum iOS 8, il n’y a semble-t-il pas de contre-indications.

Ce qu’il est intéressant de noter, c’est que 22 versions plus tard, la structure de l’application a beaucoup évolué. La taille du binaire principal est passée de 100 Mo à 19 Mo. Mais on constate que celui-ci est désormais accompagné de deux autres binaires : FBSharedFramework qui pèse 136 Mo et FBNotOnStartupPathFramework qui occupe 26 Mo.

Apparemment, il y a une volonté chez Facebook de rendre son application plus modulaire. Sans doute pour faciliter son développement et on l’imagine afin de pouvoir avancer plus facilement de front avec ses autres projets. Ce qui met par contre en émoi le développeur, c’est que Facebook n’a pas fait beaucoup d’efforts pour rendre son application moins gourmande. Il a trouvé énormément de fichiers dupliqués. Il prend l’exemple du fichier unetshallow_init.pb qui pèse 3,6 Mo et qui est répliqué trois fois.

C’est aussi le cas des différents fichiers contenant les images où l’on trouve un grand nombre d’images qui ont été dupliquées. Au total, selon lui, il y a plus de 40 Mo de données qui sont dupliquées. À l’échelle de l’App Store et vu la popularité de ce réseau social, il ne fait guère de doute qu’avec un peu d’optimisation, il serait possible de faire de sacrées économies de bande passante.

Alors, on serait tenté de penser que Facebook ferait mieux de mettre à jour moins régulièrement son application et de prendre un peu plus son temps pour optimiser son application. Mais c’est sans doute l’un des problèmes de ces mises à jour permanentes. En même temps, même si l’optimisation n’est pas forcément l’objectif numéro un de Facebook, il est intéressant de voir à quel point son application évolue en profondeur du moins dans sa structure.

DO_NOT_USE_OR_YOU_WILL_BE_FIRED

Lors de la publication de son billet consacré à Facebook v87, Alexandre Colucci est revenu sur une découverte qu’il avait faite dans la version 66 et qu’il avait oublié de mentionner. Il a trouvé de nombreux protocoles, méthodes et interfaces avec des descriptions assez explicites :

 @protocol FBDeprecatedAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @protocol FBLoginFacilitatingAppModule  
 @interface FBTimelineModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBNotificationsModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBProductionLockoutModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 
 @interface FBSearchModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 

Ne les utilisez pas ou vous serez viré ! Le message a le mérite d’être clair.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Quel VPN choisir pendant le Cyber Monday ? 📍

30/11/2025 à 20:29

• 0


Promos Apple : iPad Air M3 13” dès 639 €, iPad Pro M5 dès 840 €, MacBook Pro M5 dès 1 649 € (+ cashback)

30/11/2025 à 11:31

• 1


Une station de chargement en bambou pour vos terminaux iOS

30/11/2025 à 09:37

• 0


Comment éviter les appels indésirables sur iPhone : les solutions vraiment efficaces

30/11/2025 à 08:00

• 30


Black Friday surveillance : des caméras et sonnettes vidéos HomeKit à petits prix

30/11/2025 à 06:30

• 45


Jusqu'à - 50 % chez ShopSystem : les coques iPhone les plus fines au monde ! 📍

29/11/2025 à 22:55

• 0


Sortie de veille : le Black Friday bat son plein et iOS 27 fait déjà parler de lui

29/11/2025 à 12:33

• 9


Darty : jusqu’à 120 € de chèques-cadeaux sur toute la gamme Apple (iPhone 17 Pro/Max, MacBook Air M4, iPad, accessoires…)

29/11/2025 à 12:33

• 12


J’ai travaillé trois jours avec iPadOS 26 et un écran externe : c’était bien assez

29/11/2025 à 10:00

• 51


Black Friday : la Fnac en rajoute une couche avec 20 € de remise supplémentaire sur iPad, en plus de la promo de départ

28/11/2025 à 20:38

• 5


Apple Plans et Apple Ads pourraient tomber sous le coup du DMA à leur tour

28/11/2025 à 19:08

• 32


La compatibilité AirDrop des Pixel 10 bloque le Wi-Fi chez certains utilisateurs

28/11/2025 à 16:55

• 10


Black Friday : l'aspirateur Roborock Saros 10R à 855 €, un prix jamais vu

28/11/2025 à 15:56

• 33


Black Friday : les meilleures promotions sur les produits Apple (MacBook Air, iPhone, iPad...)

28/11/2025 à 15:20

• 10


Vous avez un Mac ? L'offre CyberGhost à −83 % + 4 mois offerts s'envole pour le Black Friday 📍

28/11/2025 à 14:07

• 0


Black Friday : l’iPhone 16e dévisse à 499 €, l’iPhone 17 Pro Max perd 180 € 🆕

28/11/2025 à 13:41

• 9