On va voir dans ce court article un phénomène qui vous a peut-être déjà marqué : avez-vous constaté qu’une clé usb ou une carte SD, annoncée avec une capacité de 64 Go par exemple, a en réalité moins d’espace libre utilisable (de l’ordre de 58-59 Go) ? Sinon vous avez en autre exemple l’image ci-dessus, en rouge la capacité « annoncée » en magasin vs celle utilisable affichée par Windows.
C’est « normal ». Ce n’est pas lié à l’espace utilisé par les pilotes ou je ne sais quelles histoires de fichiers cachés que certains pourraient imaginer ou croire. Il est vrai qu’il y a un peu d’espace perdu par ça, la table de partition entre autres, mais c’est absolument marginal comparé à la réelle raison que l’on va voir. Cette excuse a pourtant été utilisée par les commerçants et fabricants pour de petites valeurs, mais maintenant à l’échelle des disques durs de 1To ça ne passe plus. On est en plein dans une des idées reçues dont notre société est remplie.
En fait c’est simplement dû au fait que les ordinateurs et les fabricants n’utilisent pas la même unité de mesure. Attention par contre il peut y avoir une autre raison de baisse de taille, si votre disque a plusieurs partitions par exemple. Ça arrive pour certains PC achetés dans le commerce, ce n’est pas de ça que je vais parler ici. Disons pour éviter toute incompréhension que je parle ici d’un disque dur externe, d’une clé usb ou d’une carte SD.
C’est une problématique d’unité de mesure…
En effet pour indiquer les capacités qui se comptent parfois en milliers de milliards d’octets, on utilise des puissances. Kilo, Méga, Giga, Téra octets pour respectivement mille octets, un million, un milliard et ainsi de suite. Ces puissances sont une norme scientifique (norme SI) que l’on utilise dans la vie de tous les jours. Par exemple pour les « kilomètres » (1000 mètres) ou les « mégawatts » etc. C’est pourquoi les fabricants l’utilisent aussi. Le problème, c’est que les ordinateurs ne connaissent pas ces puissances : ils ne connaissent que les puissances de 2. Parce qu’ils sont basés sur le binaire (en base 2), au contraire de la base 10 que l’on utilise dans notre vie de tous les jours (je ne vais pas m’étaler sur ce sujet ici car c’est assez complexe).
Ainsi pour faire court, retenez juste que pour un ordinateur un kilo-octet c’est en réalité 1024 octets (2 puissance 10) et pas 1000 octets ! Puisque ces deux nombres sont très proches on a historiquement fait l’erreur d’utiliser la norme SI. Sauf qu’il y a quand même un écart qui est transmis à chaque puissance : un méga-octet vaut lui aussi 1024 Ko dans la réalité, donc 1.048.576 octets (1024 * 1024) et ainsi de suite pour les giga-octets etc.
Pour calculer la capacité réelle depuis la capacité « scientifique » il suffit de diviser le nombre d’octet par le nombre réel d’octets à la même puissance. Je m’explique avec un cas concret : pour un disque d’1To par exemple, il y a 1.000.000.000.000 d’octets. Le diviser par 1.099.511.627.776 (1024 * 1024 * 1024 * 1024, le réel nombre pour un ordinateur) donne 0,9094947 Tio. Si vous le multipliez par 1024 pour obtenir des Gio (c’est plus parlant) vous tombez sur environ 931.34 « Gio », voilà la capacité réelle d’un disque d’1To du commerce. La réduction est d’environ 7% au Giga-octet ! A noter, vous l’avez peut-être remarqué, on utilise la lettre « i » pour distinguer la puissance « réelle » (en base 2) - « Gio » - de la puissance « humaine » à base 10 - « Go » - comme montré dans le calcul précédent.
Le pourcentage d’erreur augmente avec la capacité
Si vous effectuez plusieurs fois ce calcul à différentes puissances, vous allez trouver un pourcentage « d’erreur » qui augmente. En effet au kilo-octet on a une erreur de 2,4% (1024 / 1000). 4,8% au méga, 7,3% au Giga, presque 10% au Téra et ainsi de suite. Ainsi sur une carte SD de 32 Go, comme dans mon téléphone, ça ne fait pas énormément de « pertes » : 2 à 3 Go et quelques. Mais comparé au 70 perdus sur un disque d’1To ça commence à faire… Ça représente en effet un jeu récent (et assez gros), ou plus de 30 films 1080p…
Quand on achètera des disques de 10 To, on n’en aura réellement… 9 ! C’est sûrement pour cette raison que cet écart est encore peu constaté par le grand public jusqu’ici, mais avec les capacités qui augmentent pour le même prix on va tous s’en rendre compte de plus en plus. Peut-être que cela forcera certains à faire changer les choses ?
Car le problème c’est que c’est bien la capacité en Gio, Mio ou Kio qui correspond à la réelle capacité utilisable par les ordinateurs ou les smartphones. La capacité utilisée par les fabricants ne correspond à rien en soit, si ce n’est une norme scientifique…
Et donc pour conclure oui, ça s’applique à tout ce qui est numérique, que ça soit des DVD, cartes SD, disques durs, SSDs, clés usb… Curieusement ce n’est pas le cas de la mémoire vive (RAM) qui elle est vendue en « taille réelle » (en Gio donc par exemple, même si souvent l’unité donnée est « Go »).
Le pire c’est les disparités selon les systèmes d’exploitation : ils ne sont pas d’accord entre eux ! Windows et Android affichent la taille réelle, le nombre de « Gio » donc, mais avec comme unité juste à côté de cette valeur des… « Go », comme dans l’image plus haut ! … Une catastrophe si vous voulez mon avis et ils ont leur part de responsabilité dans cette affaire, au même titre que les fabricants de matériel.
Sur MacOS, lorsqu’il est indiqué « Go » c’est bien ça qui est affiché et pas la quantité réelle. En soit c’est mieux que Windows et Android, mais vu que ce n’est pas la capacité réellement utilisable ça peut être assez déstabilisant… et enfin seul Linux semble afficher des « Gio » par défaut en mettant la bonne unité ! Je n’ai pas pris le temps de vérifier pour iOS ou d’autres systèmes (comme les télés ou les tablettes etc) mais vous voyez l’idée.
Pourquoi les fabricants n’utilisent pas la vraie mesure ?
Tout ce constat amène évidemment à cette question.
J’aurai une réponse mais elle n’engage que moi : peut-être qu’ils utilisent l’autre unité volontairement car elle est à leur avantage : ils indiquent 100 Go pour une capacité réelle de 93.13 Gio et gagnent ainsi presque 7% de capacité « sur notre dos ». Je ne dis pas que c’est la réalité mais je pense qu’il y a de bonnes chances que ça soit le cas, c’est un outil marketing tout comme mettre les prix à 90 ou 99 centimes (par exemple un prix de 19,90€), parce qu’on note dans notre tête la valeur avant la virgule, on a ainsi l’impression de payer 1€ de moins que s’ils avaient mis le prix « rond », à 20€ pile.
Je suis plutôt certain de cette réponse, étant donné que les fabricants ont historiquement menti sur la raison de l’écart (on l’a vu dans la première image de cet article, certains continuent encore). Ici pour notre cas acheter 1 To c’est bien plus « vendeur » que « 931.34 Go », et ça coûte 7% moins cher de le produire, au lieu de faire 1 réel « Tio ». Comme je disais sur de petites valeurs jusqu’à la centaine de Go ça ne se voyait pas trop, mais à l’échelle du Téra-octet ça commence à vraiment se voir, espérons qu’un jour tout rentre dans l’ordre !
Autre exemple où les unités utilisées sont différentes : pour la vitesse de connexion internet
On termine cet article par un autre exemple où les mesures dans le commerce sont différentes de celles réellement utilisées : la vitesse de connexion de votre abonnement internet. N’avez-vous jamais vu ou entendu une offre box avec une connexion « jusqu’à 10 ou 20Mb/s » (souvent abrégé à « 20 mégas ») ? Pourtant vous téléchargez chez vous à 1 Mo/s environ au maximum ? Ça vaut aussi pour les offres fibres à 200-300 Mb ou plus ; ou encore les offres 4G. Le calcul est plus simple ici, il faut diviser par 8 pour avoir le réel nombre de méga-octets à la seconde.
En effet le « b » minuscule est la réduction de « bit » en anglais, qui n’a pas de réelle traduction Française (on doit dire un « nombre binaire » … sauf qu’en fait qu’on soit clairs personne ne le dit). C’est l’unité informatique la plus petite, qui peut contenir le moins d’information : 0 ou 1. Pour le grand public cette valeur est presque inconnue (c’est peut-être votre cas aussi), on parle bien plus souvent d’octets (« byte » en anglais, qui est indiqué par un « B » majuscule lui ou un « o » en Français). Et il se trouve qu’un octet correspond à 8 bits.
Voilà pourquoi il faut diviser par 8 pour avoir la réelle vitesse en méga-octet par seconde. A cela s’ajoute la même règle que vue précédemment, on parle de Mb, pas de Mib donc il faut encore enlever 5% ! Exemple : 10 / 8 = 1,25 ; réduit de 5% = 1,18 et quelques, on a donc ici environ 1,18 Mio/s réels.
Mais il se trouve que contrairement aux capacités de disques qui sont fixes, la vitesse de connexion est variable et ne dépend pas que de votre box (bien plus de la qualité de votre ligne etc), donc les FAI jouent beaucoup dessus en vous donnant les débits maximums théoriques que vous n’atteindrez (probablement) jamais. Pour les antennes 4G c’est encore pire, vous avez la capacité de l’antenne au total, sur laquelle se branchent des dizaines voire des centaines de personnes (ou même plus en ville). Sa capacité totale est donc divisée entre les utilisateurs.