Champollion est l’implémentation Jakarta JSON Processing 2.1 + JSON Binding 3.0 de l’écosystème Vidocq. Zéro dépendance hors specs, JPMS strict, virtual threads, et bindings JSON-B générés à la compilation par APT — pas de réflexion à chaud, compatible AOT (GraalVM, Leyden CDS).

Origine du nom

Jean-François Champollion (1790-1832) est l’égyptologue français qui a déchiffré les hiéroglyphes égyptiens en 1822 grâce à la pierre de Rosette. Il a su passer d’un système de symboles opaque à une lecture grammaticale rigoureuse, en composant signes phonétiques et idéogrammes.

Voir lien:https://fr.wikipedia.org/wiki/Jean-Fran%C3%A7ois_Champollion[Wikipédia — Jean-François Champollion].

La métaphore est directe : décoder du JSON arbitraire et le traduire en objets Java typés, c’est exactement déchiffrer une suite de symboles pour la rendre intelligible. Champollion (le module) lit les structures JSON, et Champollion (l’homme) lisait les cartouches royaux.

En un coup d’œil

Specs implémentées

Jakarta JSON Processing 2.1 + Jakarta JSON Binding 3.0

Repo

https://codeberg.org/Vidocq/champollion

Java

25 (LTS)

Modules JPMS

io.vidocq.champollion.api, io.vidocq.champollion.jsonp, io.vidocq.champollion.jsonb, io.vidocq.champollion.codegen.apt

Dépendances runtime

Aucune hors specs Jakarta — pas de dépendance transitive

TCK JSON-P 2.1

178 / 179 PASS (99,4 %) — détails ici

TCK JSON-B 3.0

Premier run baseline en cours — voir état détaillé

Performance

Comparable à Yasson, ~2,5× plus lent que Parsson sur le streaming, ~3-4× plus lent que Jackson sur le binding (zone production-ready) — voir lien:https://codeberg.org/Vidocq/champollion/src/branch/main/BENCH.md[BENCH.md]

Positionnement dans l’écosystème

Diagram

Champollion est un module feuille côté JSON. Il ne dépend de rien dans l’écosystème Vidocq ; en revanche, Cassini (REST) le consomme comme entity provider JSON par défaut, et Foy peut s’en servir pour des servlets de stream JSON.

Ressources rapides