Accueil Blog Glitchs Explosion

Cet article n'est disponible qu'en français.

Homme qui feuillette une brochure jaune, avec des colonnes de texte sur les pages

Photo : NordWood Themes sur Unsplash

DesignCraft : InDesign libre en Rust, ce qu'il met en page

0:00 / 0:00

DesignCraft est un logiciel libre de mise en page et de publication, écrit en Rust, qui se présente comme une réimplémentation « clean-room » d’InDesign. Il fonctionne sous macOS, Windows, Linux et dans un navigateur via WebAssembly. Le projet est public, et ses téléchargements sont disponibles, mais il n’exporte pas encore en PDF. C’est l’une des lacunes les plus importantes, puisque le PDF est le format de sortie de la plupart des travaux d’édition.

Ce qui compose une page

La mise en page reprend les codes d’InDesign : spreads, cadres, textes enchaînés (threaded stories), panneau Contrôle, colonnes, grille de ligne de base, tabulations, filets et trames de fond. Les pages maîtres sont prises en charge, par exemple pour les folios, ce qui évite de les répéter sur chaque page.

Les styles de paragraphe et de caractère existent, de même que les nuanciers avec couleurs nommées et CMYK. L’habillage de texte autour des images fonctionne.

La typographie est le point le plus ambitieux. Le compositeur de paragraphes utilise l’algorithme de Knuth-Plass, avec un mode une ligne, une césure par dictionnaire, une justification au mot, à la lettre ou par mise à l’échelle des glyphes, des keeps et un alignement optique des marges. Le projet annonce que les sauts de ligne sont identiques à l’écran et dans le PDF, mais l’export PDF n’existe pas encore, donc ce point n’est pas vérifiable pour l’instant.

Les formats

Le format natif est documenté, ce qui permet de le lire sans le logiciel. DesignCraft importe et exporte IDML, le format d’échange d’InDesign, et exporte des PNG. La page ne précise pas le niveau de fidélité de l’IDML : c’est à tester sur vos propres fichiers.

Ce qui manque

L’export PDF est « on the roadmap », donc absent. Le dépôt renvoie vers un fichier ROADMAP.md pour le détail des jalons, mais la page elle-même ne donne pas de statut officiel de maturité.

Il n’y a pas non plus de benchmark. Le projet cite des techniques : rendu multithread SIMD avec vello_cpu, documents en copy-on-write avec des snapshots d’annulation en temps constant, composition mise en cache. Ces choix sont sérieux, mais aucune mesure n’est publiée.

Sans abonnement, sans télémétrie

Le projet insiste sur trois points : pas d’abonnement, pas de serveur de licence, pas de télémétrie. Pour un éditeur, c’est un argument fort, à condition que le logiciel fasse le travail. Les polices embarquées sont sous SIL Open Font License, et les marques ArtCraft sont encadrées par un fichier séparé du code.

Guide pour un agent LLM

DesignCraft peut être piloté de trois façons : une CLI headless, un serveur MCP headless, et un serveur MCP relié à l’application de bureau.

La CLI rend toutes les pages d’un exemple en PNG, sans fenêtre :

designcraft-cli run --sample --all-pages out/
designcraft-cli commands

Pour le MCP, on compile d’abord, puis on enregistre le serveur dans le client :

cargo build --release -p designcraft-cli
claude mcp add designcraft -- /chemin/vers/target/release/designcraft-cli mcp
claude mcp add designcraft-app -- /chemin/vers/target/release/designcraft-cli mcp --connect 7979

Le second mode suppose que l’application tourne avec designcraft --control 7979. Pour un client JSON, la configuration headless ressemble à ceci :

{"mcpServers": {"designcraft": {"command": "/path/to/designcraft-cli", "args": ["mcp"]}}}

Le serveur expose 25 outils. Pour le contenu, list_commands, execute, batch, inspect_document, get_story et set_story_text. Pour les fichiers, new_document, open_document et save_document. Pour le rendu, place_image, render_page, export_png et screenshot. Pour la saisie, select_tool, pointer, key, type_text, click et drag. Pour l’interface, menu_list, ui_inspect et ui_set, et pour les boîtes de dialogue, dialog_set, dialog_confirm et dialog_cancel.

Points de vigilance :

  • en headless, tous les outils de fenêtre renvoient une erreur, ainsi que les commandes view.*, window.* et app.* passées à execute ;
  • les coordonnées sont en points (1/72 de pouce), avec l’axe y orienté vers le bas, dans l’espace de la planche ;
  • les indices de pages de render_page et export_png commencent à 0, contrairement à PdfCraft ;
  • en mode connecté, pointer accepte "space": "screen" pour des coordonnées d’écran ;
  • si l’application redémarre, la connexion est rétablie une seule fois.

Pour un agent qui fabrique une page, le bon ordre est : créer le document, placer le texte et les images, rendre la page avec render_page, vérifier le rendu, puis exporter en PNG. Le PDF viendra quand l’export sera disponible.

Verdict

DesignCraft convient à la maquette, aux documents qui sortent en PNG, aux essais de typographie avec Knuth-Plass et à l’automatisation de mises en page simples. Il ne remplace pas encore InDesign pour une publication qui part chez l’imprimeur, faute de PDF. Le test utile : importez un IDML que vous avez déjà, rendez-le en PNG, et comparez-le à votre export d’origine.

Articles liés

Homme assis devant plusieurs écrans de montage vidéo, avec des courbes colorimétriques et une timeline

ArtCraft : la suite libre en Rust qui imite Adobe

ArtCraft réunit sept logiciels libres en Rust qui reprennent Photoshop, Premiere, Lightroom et leurs cousins : statut, licences, MCP et limites.

Lire l'article →
Tablette posée sur un tissu sombre, affichant le portrait dessiné d'une femme et son panneau de calques

PhotoCraft : Photoshop libre en Rust, fonctions et limites

PhotoCraft, retouche d'image libre écrite en Rust : calques, PSD, 500 commandes pour agents, performances annoncées et ce qui manque encore.

Lire l'article →
Spécimen typographique imprimé montrant plusieurs graisses d'un même caractère sur papier mat

Typographies libres : ce que coûte vraiment une fonte

Les fontes libres ont rattrapé les fonderies sur beaucoup de terrains. J'ai regardé les licences, la qualité réelle et le prix caché du propriétaire.

Lire l'article →

Sources

Ce que j'ai lu, regardé ou vérifié pour écrire cet article.

  1. Dépôt GitHub storytold/designcraft : fonctionnalités, architecture, licence et indicateurs relevés le 9 octobre 2026 github.com (ouvre dans un nouvel onglet)
  2. docs/mcp.md du dépôt designcraft : outils MCP, lancement en headless ou connecté et limites raw.githubusercontent.com (ouvre dans un nouvel onglet)