dimanche 1 octobre 2023

J'ai planqué mon premier roman à la vue de tous chez Amazon

J'aurais adoré vous dire que je l'avais planqué à la FNAC, mais la fonctionnalité de stockage n'y existe pas. Donc partons chez Amazon.

Mais d'abord, pourquoi planquer un roman? Pourquoi à la vue de tout le monde?

En fait, il s'agit plutôt d'un petit exercice de pensée pour tester la résistance d'un tel procédé (et je compte sur vous pour des retours 😉) .

L'idée repose sur 3 fonctionnalités présentes chez Amazon (mais aussi ailleurs très probablement) :

  1. le système de liste personnelle (publique dans mon cas) et des commentaires associés
  2. le système de notation des clients qui, raisonnablement, s'établit entre 1,00⭐️ et 4,99⭐️

Pour ce deuxième point, il est à ma connaissance impossible que la note d'un produit soit inférieure à 1⭐️ et extrêmement improbable qu'une note de 5⭐️ persiste au-delà d'un nombre "raisonnable" d'évaluations.

Pour le premier point, la capacité d'ajouter une note personnelle à un article dans une liste n'est pas présente à la FNAC. Sur Amazon, on dispose de 250 caractères.


L'expérience de pensée débute maintenant.

Supposons que j'arrive à mettre dans ma liste des articles ayant tous une note différente (en utilisant donc toutes les notes possibles entre 1,00 et 4,99). Combien d'articles aurais-je dans ma liste? Exactement 400.

Pour chacun, j'utilise les 250 caractères offerts (Amazon a de la place sur ses serveurs - peut-être pour être à "l'écoute" de ses clients 🤭). Cela m'offre donc 100Ko de stockage (par liste). Et 100.000 signes, c'est la taille d'un premier roman (je ne m'appelle pas Pierre Lemaître, donc le premier roman ne fera pas 600 pages).

Parfait, j'ai donc trouvé de quoi stocker mon roman chez Amazon.


Et si on le planquait?

A ce stade, le roman-liste est en clair (dans les commentaires de ma liste de 400 articles). Pour le cacher un peu, il faudrait le chiffrer. On va s'apercevoir que grosso modo, le chiffrage ne va pas changer la taille initiale.

Toujours en expérience de pensée (je n'ai donc pas vraiment mené les étapes suivantes pour cet exercice précis), voici les étapes que l'on pourrait suivre pour le chiffrer :

  1. on part d'un texte brut (donc un fichier .txt, pas un word - mais pour un roman, c'est exactement ce que l'on fait). Appelons T sa taille en octets.
  2. on le compresse (le texte se compresse très très bien). On obtient une nouvelle taille de T x 0,7 (compression de 70% en moyenne). On obtient du binaire.
  3. on le chiffre (avec l'algo que vous voulez, par exemple AES ou mieux) : cela ne change rien aux caractéristiques précédentes : la taille reste peu ou prou la même (à quelques octets de padding près) et c'est toujours du binaire. On a donc toujours une taille de T x 0,7
  4. on translate le binaire en texte (les champs commentaires d'Amazon n'accepteront pas du binaire). En moyenne, cette opération augmente la taille (la ratio binaire/texte est en moyenne de 70%). On obtient donc un bloc de texte de taille (T x 0,7) / 0,7.
Donc cette opération de "planquage" ne nous a rien coûté en taille (dans le détail, on s'apercevrait certainement qu'on a perdu une capacité de max 1 bloc de 250 octets - on va négliger cela pour la suite)

Notre roman-liste est donc constitué de 400 blocs "numérotés" (de 1,00 à 4,99) de texte chiffré.

Le temps comme dernier ingrédient

Les plus attentifs lecteurs/trices auront constaté que j'ai évoqué plus haut 3 fonctionnalités. Et jusqu'ici notre dispositif n'en utilise que 2 (les listes commentées et le système de notation).
La dernière "fonctionnalité" est le temps. Elle n'est pas réellement fournie par Amazon, mais plutôt par les utilisateurs. Au cours du temps, les notes changent (au gré des évaluations successives des visiteurs). Et donc les articles de notre liste bien ordonnée (une partition totale on dit en maths de mémoire) vont progressivement changer de note (on peut soupçonner que les extrêmes vont peu varier - mais cela ne change rien à ce qui suit). Donc non seulement les numéros des blocs vont évoluer, mais plusieurs articles vont se retrouver avec la même note - le tout continuant d'évoluer d'un jour à l'autre.
Les blocs de notre liste bien ordonnés vont donc se retrouver bien mélangés. Ce qui induit un chaos supplémentaire (en plus du chiffrage donc).
Et à la fin, on se retrouve avec un roman-liste indéchiffrable 😱 : en effet, comment retrouver l'ordre initial? Il a disparu avec le temps (on va supposer que les articles ont tous été ajoutés dans la liste en même temps, ou bien que l'ordre chronologique des ajouts n'est pas lié à l'ordre des notes). On se retrouve avec 400 blocs de textes sans ordre : pour retrouver le roman initial, il nous faudrait retrouver le bon ordre (400! possibilités >> 10^800 quand même) et posséder la bonne clé de déchiffrement...
Et même le créateur du roman-liste ne pourra pas retrouver son roman d'origine.
Voilà comment j'ai planqué mon premier roman à la vue de tous sur Amazon... 

Merci d'avoir perdu du temps en pérégrinations hasardeuses.

Photo de Hannes Wolf sur Unsplash

Aucun commentaire: