JSON
Douglas Crockford travaillait chez State Software et cherchait un moyen simple de faire communiquer un serveur avec un navigateur web. Il remarqua que JavaScript possédait une syntaxe pratique pour représenter les objets : des paires clé-valeur entre accolades. L'idée lui vint d'extraire cette notation du langage pour en faire un format d'échange de données à part entière.
En 2001, Crockford formalisa ce sous-ensemble de JavaScript sous le nom de JSON, pour JavaScript Object Notation. Il publia la spécification sur json.org et proposa des implémentations dans plusieurs langages. Le format tenait en quelques règles : six types de données suffisaient (chaînes de caractères, nombres, booléens, tableaux, objets et la valeur nulle) pour représenter des structures complexes. Cette simplicité brutale tranchait avec la verbosité de XML, omniprésent dans les échanges de données.
La standardisation officielle arriva en 2006 avec la RFC 4627 de l'IETF. Le document établissait le type MIME application/json et définissait la syntaxe précise. D'autres versions suivirent : RFC 7158 en 2013, RFC 7159 en 2014, puis RFC 8259 en 2017. Chaque révision clarifiait des points techniques et ajustait la spécification aux besoins qui émergeaient sur le terrain.
JSON s'est imposé parce qu'il répondait à des besoins concrets. Sa syntaxe minimaliste restait lisible pour un humain tout en étant facile à analyser par une machine. L'absence de balises réduisait la taille des messages échangés. Et surtout, il se mariait naturellement avec JavaScript, le langage qui dominait déjà le développement web côté client. Les développeurs n'avaient rien de nouveau à apprendre car ils utilisaient des structures qu'ils manipulaient quotidiennement.
Les géants du web l'adoptèrent les uns après les autres. Yahoo! figura parmi les premiers à l'intégrer dans ses services, suivi par Google, Facebook et Twitter. Cette adoption massive transforma JSON en standard de fait pour les API web. Les architectures REST, qui devenaient la norme pour concevoir des services web, s'accordaient parfaitement avec ce format léger.
L'écosystème autour de JSON se développa à une vitesse étonnante. Des bibliothèques apparurent dans tous les langages majeurs. Des variantes spécialisées émergèrent : GeoJSON pour les données géographiques, JSON Schema pour valider la structure des documents. Les bases de données NoSQL comme MongoDB ou CouchDB l'adoptèrent comme format de stockage natif, étendant son influence au-delà du simple transport de données.
Les frameworks JavaScript modernes comme Angular ou React manipulaient JSON de manière native. Le développement mobile tira parti de sa légèreté pour économiser la bande passante. JSON devint progressivement un composant invisible mais omniprésent de l'infrastructure web, présent dans presque chaque échange entre applications.
Cette simplicité révéla aussi ses limites. L'impossibilité d'ajouter des commentaires gênait la documentation. La représentation des nombres posait des questions de précision liées aux calculs en virgule flottante. L'absence de format standard pour les dates obligeait les développeurs à établir leurs propres conventions. Des variantes comme JSON5 ou JSONC apparurent pour combler ces manques, au risque de fragmenter l'écosystème.
Une analyse récente des fichiers JSON publics montre que les développeurs exploitent intensivement la capacité du format à représenter des structures imbriquées. Les objets contenus dans des tableaux eux-mêmes nichés dans d'autres objets sont devenus courants. Cette flexibilité autorise une grande expressivité tout en maintenant une certaine régularité qui facilite le traitement automatisé.
JSON a modifié les pratiques de développement. Il a favorisé l'essor d'architectures découplées où les composants communiquent par des interfaces bien définies. Sa facilité de manipulation a encouragé l'adoption de paradigmes fonctionnels et réactifs. Les outils de développement ont intégré des fonctionnalités spécifiques pour travailler avec ce format, de la coloration syntaxique à la validation automatique.
La spécification de JSON est volontairement minimaliste. Ses concepteurs ont choisi de préserver la simplicité originelle plutôt que d'ajouter des fonctionnalités. Les besoins spécifiques sont couverts par des extensions et des outils complémentaires qui n'affectent pas la compatibilité de base. Cette stabilité assure la pérennité du format dans un environnement technologique qui évolue constamment.
Le format n'a pas été imposé par un organisme de standardisation mais adopté naturellement parce qu'il répondait à un besoin réel. Sa réussite tient à son adéquation avec les pratiques existantes et à sa capacité à rester simple quand tant d'autres solutions cherchaient la complexité. JSON est devenu un pilier de l'infrastructure web moderne, un de ces éléments qu'on ne remarque plus tant ils paraissent évidents.