Twitter échappe peu ou prou à son 'grand bug'
2 147 483 647. C'est le nombre de twitts qui terrorisait, jusqu'au week-end dernier, les inconditionnels de Twitter. Celui au-delà duquel le réseau de micro-blogging devait connaître une Twitpocalypse, c'est-à-dire un 'bug de l'an 2000' appliqué à ce service 2.0. De fait, il y eut des ratés. Mais, comme au 1er janvier 2000, bien moindres que ce que certains avaient prédit. Le moteur de Twitter n'a pas cessé de fonctionner quand le nombre de twitts a dépassé le nombre fatidique. En revanche, un certain nombre de clients pour Twitter, notamment pour iPhone et Mac, ont été inopérables pendant plusieurs heures. Ainsi, Twitteriffic, conçu pour le smartphone d'Apple, ne pouvait plus être utilisé, et Tweetie, développé pour Mac OS, proscrivait la rédaction de nouveaux messages. Un bug techniquement comparable à celui de l'an 2000 Ce dysfonctionnement tire son origine dans la façon dont sont archivés les twitts. Chaque message hérite d'un numéro d'identification unique. Et le nombre de 2 147 483 647, qui a été atteint vendredi, correspond au plus grand entier signé qu'un système 32 bit peut manipuler, soit (2 puissance 31)-1. Lorsque le total des twitts émis depuis l'entrée en service de Twitter a atteint cette limite, certains clients ont reçu des micro-messages identifiés par un nombre n'entrant pas dans la plage de ceux que leur code les autorisait à prendre en considération. Ce n'est donc pas Twitter qu'il convient de mettre en cause, mais les développeurs des clients tiers, qui ont conçu leurs applications sur une base de 32 bit et avec des entiers signés. S'ils avaient opté pour des entiers non signés - c'est-à-dire en excluant de fait les nombres négatifs - ils auraient permis à leurs outils d'accepter deux fois plus de twitts avant de planter. La démarche eut été frappée du sceau du bon sens étant donné qu'il était peu probable que le nombre de twitts soit négatif. Les clients déficients fonctionnent de nouveau, leurs développeurs ayant appliqué les corrections nécessaires. Celles-ci consistent à basculer soit vers un adressage construit sur la base d'entiers non signés, soit vers une identification en 64 bit. Dans ce dernier cas, et en considérant que les entiers sont non signés, Twitter pourra enregistrer quelque (2 puissance 64)-1 messages avant qu'une nouvelle Twitpocalypse survienne à nouveau. Soit 18 446 744 073 709 551 615 twitts.