Aller au contenu
THE GUILD
0%
Services Produits Carrières À Propos Blog FAQ Contact
La grande tour Jenga numérique : Comment une personne au Nebraska empêche vos applications de planter

Imaginez ceci : Vous construisez le gratte-ciel le plus avancé du monde. Vous avez des matériaux de pointe, des architectes brillants et un financement illimité. Mais voici le piège — toute la structure d’un milliard de dollars repose sur un seul bloc de bois, sculpté à la main par un type que vous n’avez jamais rencontré vivant au Nebraska et qui le maintient comme hobby entre ses parties de pêche.

Bienvenue dans le développement logiciel moderne, où ce n’est pas un cauchemar hypothétique — c’est vendredi.

La bande dessinée qui a fait transpirer les développeurs

Jenga des dépendances

La xkcd #2347 de Randall Munroe a frappé le monde de la programmation comme une frappe de précision parfaitement ciblée. La bande dessinée montre une tour précaire de blocs étiquetée “Toute l’infrastructure numérique moderne” équilibrée de manière impossible sur un seul petit bloc : “Un projet qu’une personne au hasard au Nebraska maintient sans reconnaissance depuis 2003.”

Si vous n’êtes pas programmeur, vous pourriez penser que c’est une exagération. Si vous êtes programmeur, vous vérifiez probablement votre profil LinkedIn pour vous assurer de ne pas accidentellement lister le Nebraska comme votre localisation.

L’absurdité magnifique de tout cela

Voici ce qui rend cela à la fois hilarant et terrifiant : c’est complètement exact.

L’internet — cette merveille de l’ingénierie humaine qui vous permet de faire un appel vidéo avec votre grand-mère tout en commandant des sushis et en discutant des intrigues de films — dépend de milliers de petites bibliothèques logicielles. Beaucoup d’entre elles sont maintenues par des individus qui :

  • Ont des emplois quotidiens complètement sans rapport avec leur code critique pour le monde
  • Ont commencé le projet pour résoudre leur propre problème spécifique
  • N’ont jamais eu l’intention que des millions d’applications dépendent de leur travail
  • Reçoivent approximativement zéro dollars pour maintenir la civilisation en marche

C’est comme découvrir que le câble de support principal du Golden Gate Bridge est en fait un très bon bracelet d’amitié fait par le cousin de quelqu’un, et qu’il fonctionne bien depuis des décennies.

Quand la tour vacille

La bande dessinée n’est pas seulement drôle — elle est prophétique. Nous avons vu ce scénario exact se dérouler dans la vraie vie :

L’Apocalypse Left-Pad de 2016 : Un développeur a supprimé une bibliothèque JavaScript de 11 lignes d’internet. Soudainement, les principaux sites web ne pouvaient plus compiler leur code. Onze lignes. Onze. C’est plus court que la plupart des listes de courses, et ça a failli casser internet pendant une journée.

La grande peur OpenSSL : La bibliothèque qui sécurise une grande partie des communications internet était, pendant des années, maintenue par une poignée de bénévoles travaillant pendant leur temps libre. Comme l’a dit un titre : “Internet est protégé par deux gars nommés Steve.”

Les Chroniques Core-js : Une bibliothèque utilisée par 75% des 100 premiers sites web était maintenue par une seule personne qui a quitté son emploi pour y travailler à plein temps, ne pouvait pas se permettre de vivre, a eu des problèmes juridiques et est allé en prison. Pendant ce temps, la plupart d’internet continuait d’utiliser son code sans connaître son nom.

La belle folie de l’Open Source

Ce qui rend toute cette situation à la fois absurde et étrangement inspirante est qu’elle fonctionne d’une manière ou d’une autre. Ce système anarchique de communisme numérique — où ni le capitalisme ni le financement gouvernemental ne pilotent le développement — maintient notre monde technologique en rotation.

Pensez-y : Personne ne paie ces gens. Aucun gouvernement n’a mandaté leur travail. Aucune entreprise ne possède la plupart de ces pièces critiques. Pourtant, d’une manière ou d’une autre, par un effort purement volontaire et ce qu’on ne peut décrire que comme de l’altruisme numérique, nous avons cette incroyable infrastructure partagée.

C’est comme si toutes les routes du monde étaient construites et maintenues par des gens qui pensaient simplement, “Vous savez quoi ? J’aime les routes. Je vais réparer celle-ci pendant mon temps libre.” Et d’une manière ou d’une autre, cela a abouti à un système de transport mondial parfaitement fonctionnel.

Le facteur Nebraska

Pourquoi le Nebraska, demandez-vous ? C’est la métaphore parfaite pour “au milieu de nulle part” — sans offense aux Nebraskiens, qui ont probablement mieux à faire que de maintenir l’infrastructure internet critique (mais apparemment le font quand même).

Le génie de la bande dessinée est qu’elle capture l’anonymat géographique et social de ces mainteneurs. Quelque part, en ce moment, quelqu’un corrige un bug dans une bibliothèque dont dépend l’application de votre banque, et il le fait probablement en regardant Netflix en pyjama.

Le rebondissement : Ça empire

Voici où la comédie devient légèrement plus sombre. Le problème des dépendances devient en fait plus complexe :

  • Plus de dépendances que jamais : Les applications modernes peuvent dépendre de milliers de bibliothèques externes
  • Imbrication plus profonde : Les bibliothèques dépendent d’autres bibliothèques, qui dépendent d’autres bibliothèques
  • Changement plus rapide : La “personne au hasard au Nebraska” pourrait abandonner le projet le mois prochain pour un nouvel emploi

Nous jouons essentiellement au Jenga avec le monde numérique entier, et chaque année nous ajoutons plus de blocs à une tour de plus en plus instable.

Le cauchemar de la sécurité

Le récent incident de la porte dérobée xz a ajouté une nouvelle dimension terrifiante à cette bande dessinée. Un acteur malveillant a passé trois ans à construire la confiance avec un mainteneur, finissant par prendre le contrôle du projet et insérant une porte dérobée qui aurait pu compromettre des systèmes dans le monde entier. La seule raison pour laquelle nous avons évité la catastrophe était qu’une personne a remarqué que son login SSH utilisait légèrement plus de CPU que d’habitude.

Une personne. Un peu plus de CPU. C’était la mince ligne entre un vendredi normal et “le jour où internet s’est effondré.”

Les héros méconnus

Malgré la situation précaire, nous devrions célébrer ces mainteneurs anonymes. Ils ne gardent pas seulement les lumières allumées — ils rendent possible le développement logiciel moderne. Sans eux, chaque programmeur devrait réinventer chaque roue, et nous en serions encore à écrire des calculatrices à partir de zéro.

Ce sont des gens qui :

  • Corrigent des bugs à 2h du matin parce que quelqu’un de l’autre côté du monde a signalé un problème
  • Ecrivent de la documentation qui est meilleure que la plupart des logiciels payants
  • Gèrent les demandes de fonctionnalités d’entreprises valant des millions de dollars avec patience et professionnalisme
  • Font tout cela gratuitement, par amour du bon code et des systèmes fonctionnels

La leçon cachée dans le rire

La bande dessinée xkcd est drôle parce qu’elle révèle une vérité inconfortable : notre monde technologique sophistiqué est construit sur une fondation de bonté humaine volontaire. La “personne au hasard au Nebraska” n’est pas une faiblesse du système — c’est la preuve que le système, d’une manière ou d’une autre, fonctionne vraiment.

Bien sûr, c’est précaire. Oui, tout pourrait s’effondrer si la mauvaise personne décide de se mettre à la poterie au lieu de la programmation. Mais le fait que ça fonctionne est un témoignage de la coopération humaine et de la magie étrange du développement open source.

Que pouvons-nous faire ?

Si cette bande dessinée vous a rendu nerveux à propos des dépendances de votre application (et elle devrait), voici quelques réflexions :

  1. Connaissez vos dépendances : Comprenez sur quoi votre logiciel repose
  2. Soutenez les mainteneurs : Beaucoup acceptent des dons ou des parrainages d’entreprises
  3. Contribuez en retour : Signalez de bons rapports de bugs, écrivez de la documentation, soumettez des correctifs
  4. Ayez des plans de secours : Pour les dépendances vraiment critiques, considérez des alternatives

L’avenir magnifique et terrifiant

Alors que nous construisons des systèmes de plus en plus complexes sur cette fondation de bonne volonté numérique, la personne du Nebraska devient à la fois plus importante et plus anonyme. Nous dépendons d’elle plus que jamais, mais la plupart d’entre nous ne connaissent même pas leurs noms.

C’est une configuration qui serait complètement absurde si elle n’était pas complètement réelle. Quelque part en ce moment, quelqu’un maintient le code qui fait fonctionner votre alarme matinale, le système de paiement de votre café et votre service de streaming qui vous livre juste la bonne émission pour vous aider à vous endormir.

Et il le fait probablement gratuitement, parce qu’il pense que le code devrait fonctionner correctement.

La personne au hasard au Nebraska n’est pas un bug de notre système — c’est une fonctionnalité. Une fonctionnalité belle, précaire et absolument essentielle qui rend notre monde numérique possible.

Alors la prochaine fois que votre application fonctionne parfaitement, envoyez peut-être un petit remerciement à l’univers pour tous les héros anonymes qui maintiennent la grande tour Jenga numérique debout.

Essayez juste de ne pas trop penser à ce qui se passe quand ils décident de prendre des vacances.


Bande dessinée originale : xkcd #2347: Dependency

En savoir plus : Consultez l’explication complète de cette bande dessinée pour des exemples concrets et un contexte technique plus approfondi.