Un manuel qui dit comment il veut être lu
Vous envoyez un manuel de cent pages. La personne qui l'ouvre tombe sur la couverture, à demi grossie, sans aucune liste de chapitres en vue — et il faut maintenant expliquer à quelqu'un où cliquer. Un PDF peut dire lui-même comment il veut être ouvert : sur cette page, à cette taille, avec la liste des chapitres déjà dépliée sur le côté. C'est un vœu et non un ordre. Un logiciel de lecture de bureau comme Adobe Acrobat Reader en suit la plus grande partie ; le logiciel de lecture intégré à un navigateur n'en suit que peu, et chaque navigateur trace sa propre limite. Ouvrez le document ci-dessous dans les deux, l'un après l'autre, et la différence se voit en cinq secondes.
Sa page trois imprime la liste entière de ce qu'il demande, pour que vous puissiez comparer cette liste avec ce que votre propre logiciel de lecture a réellement fait. Il demande à s'ouvrir sur le sommaire plutôt que sur la couverture, pour que personne ne commence sur une page de titre qu'il n'était pas venu chercher. Il demande à remplir la fenêtre avec ce qui est tracé plutôt qu'avec le papier autour, pour que les mots soient lisibles sans qu'on touche à rien. Il demande les pages deux à la fois, la couverture seule, comme un livre s'ouvre. Et il dit avec quoi la fenêtre d'impression doit se présenter — quelles pages, recto verso, combien d'exemplaires — pour que celui qui l'imprime cesse de régler les quatre mêmes réglages à chaque fois. Sur un manuel, un catalogue ou un tarif qui doit s'ouvrir de la même façon pour tout le monde, c'est la différence entre un fichier et un document.
Ce que montre cet exemple
- La page sur laquelle il s'ouvre, la part de la fenêtre qu'il remplit, et la liste des chapitres à côté.
- Deux pages à la fois, avec la couverture toute seule.
- Une fenêtre d'impression qui se présente déjà remplie, et la liste entière imprimée en page trois pour la comparer.
Le code source complet
Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque.
La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.
Voir le code Rust
Voir le code Python
Voir le code JSON
Le document lui-même
Ouvrir le document en anglais
Ouvrir le document en français