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

La certification Wi-Fi 7 est-elle un simple coup de tampon, comme l'affirme Free ?

08:19

• 9


L’iPhone 17 Pro Cosmic Orange aurait-il un souci de décoloration ?

18/10/2025 à 22:30

• 72


Le prix de l'iPhone Air continue de s'écrouler : 859 € en import, 1099 € chez Amazon ! 🆕

18/10/2025 à 22:20

• 132


Pour la première fois, l'iPhone 16e (neuf) passe sous les 500 € ! 🆕

18/10/2025 à 22:01

• 28


Apple Watch Ultra 3 : l’écran reste actif même en veille, la preuve en vidéo

18/10/2025 à 10:02

• 18


Promo : l’excellente Apple Watch SE 3 est déjà à 230 € (-15 %)

18/10/2025 à 10:02

• 7


Bon plan : le chargeur mural MagSafe et USB-C de Zens à 32 € au lieu de 50 €

18/10/2025 à 09:55

• 8


Pour un premier iPhone, est-ce raisonnable de mettre plus de 250 € ?

18/10/2025 à 09:00

• 0


WhatsApp limitera le nombre de messages envoyés sans réponse pour juguler le spam

17/10/2025 à 21:15

• 14


L’iPhone 17 Pro Max qui rit, l’iPhone Air qui pleure : Apple réajuste ses commandes

17/10/2025 à 20:30

• 116


L'iPhone 16 en promotion à seulement 741 €, près de 130 € de réduction

17/10/2025 à 19:30

• 4


Promo : le détecteur de fumée compatible HomeKit de Netatmo à 71 €

17/10/2025 à 19:00

• 27


Journal passe à la vitesse supérieure avec macOS Tahoe et iPadOS 26

17/10/2025 à 18:10

• 13


HomePod en panne ou capricieux ? Voici comment le réparer !

17/10/2025 à 16:59

• 0


Avec la puce M5, Apple reprend la tête des benchmarks nettement devant la concurrence

17/10/2025 à 16:47

• 87


Apple va diffuser la Formule 1 aux États-Unis pour les cinq années à venir

17/10/2025 à 16:26

• 52