Ressources
,
Tech

IndexMatic³, outil de génération d’index dans InDesign, présenté par son auteur Marc Autret

Par Jean loup Fusz, publié le 1 février 2023
Mis à jour le 24 mars 2023, à 15h07
Marc Autret est un ancien journaliste spécialisé dans l’édition et le droit d’auteur. Il est également passé par la case maquettiste-typographe pendant quelques années. Ses deux passions, l’écriture et les mathématiques, ont convergé vers son métier actuel, le développement logiciel, qu’il exerce en free lance.
Fondateur d’Indiscripts, il vient de sortir IndexMatic³, un script dédié à la génération d’index dans InDesign.
 
Marc, tu viens de sortir IndexMatic³, peux-tu nous dire en quelques mots ce qu’il permet de faire et à qui il s’adresse ?

C’est un outil permettant de préparer et de produire l’index d’un livre sous InDesign (quand personne n’a eu le temps, l’idée ou la compétence de le baliser en maquette). Par exemple, l’index des personnes citées dans une biographie, la table des produits référencés dans un catalogue, etc. Selon les consignes reçues, IndexMatic peut extraire toutes sortes d’éléments : patronymes, contenu des notes, textes stylés, vocabulaire.

Le principe d’un index est enfantin : fournir aux lecteurs un dispositif de renvoi, à partir d’une liste alphabétique de termes, vers les pages qui correspondent. Toute la difficulté est de définir des rubriques pertinentes et de leur associer ces fameux numéros de page. Cet exercice concerne surtout les éditeurs de livres, imprimés ou numériques, et spécialement ceux confrontés à du texte-fleuve, difficile à analyser « à la main ».

Dans le domaine de la non-fiction (essais, documents, guides pratiques), un livre sans index n’est pas publiable. Souvent, parce qu’il est le mieux placé pour sentir les points d’entrée, on demande à l’auteur de prédéfinir les rubriques à indexer dans l’ouvrage. Sauf que l’auteur ne connaît pas a priori la structure définitive du volume tel qu’il reviendra de la compo. Donc il faudra de toute façon rétablir une correspondance conforme à la mise en pages. C’est là qu’IndexMatic entre en scène. En gros, il va t’éviter de repointer une à une toutes les occurrences de, mettons, 200 mots-clés, dans un bouquin de 450 pages !

Interface d'indexMatic

Très complète, l’interface d’indexMatic présente plusieurs onglets permettant d’affiner à la fois les termes recherchés, l’environnement de recherche et la sortie. Un onglet Préférences est même là pour personnaliser davantage l’outil. DR

Sa précédente version datait de 2011. Quelles ont été les principales raisons du développement de cette mise à jour ?
Le point de vue des utilisateurs ! IndexMatic a d’abord été repéré par des éditeurs français avant d’essaimer en Europe et aux États-Unis. Ça fait pas mal de professionnels devenus peu à peu experts de l’indexation et de cet outil en particulier. Alors ils m’ont inondé de demandes, mais pas des petits caprices, des vraies requêtes, argumentées, qui mettaient le doigt sur les lacunes du produit : comment gérer des alphabets étendus (cyrillique, grec, arabe…) ? Ajuster la mise en forme des références croisées ? Insérer des hyperliens pour l’export interactif ? Hiérarchiser l’index sur trois, quatre, cinq niveaux ? etc.

C’est stimulant de voir surgir des pros connaissant toutes les ficelles de ton produit et le poussant dans ses retranchements. Je me souviens de cet éditeur — anglais je crois — qui avait mis au point des requêtes IndexMatic incroyablement sophistiquées pour digérer une bible de plus de 2 000 pages. Ça fonctionnait, mais je voyais bien les contorsions qu’il devait faire pour que le programme obéisse à tous les critères. Entre les mains de ces virtuoses, il fallait un outil expert, plus flexible, capable de mesurer la densité des mots, leur contexte, les variations orthographiques indésirables… Quelque chose de l’ordre du contrôle en amont en fait. La nouvelle version répond à ce niveau d’exigence. Les coupables, ce sont les utilisateurs !

C’est stimulant de voir surgir des pros connaissant toutes les ficelles de ton produit et le poussant dans ses retranchements
Bien qu’approprié dans le contexte d’InDesign, le mot script peut paraître réducteur pour qualifier IndexMatic ou d’autres de tes scripts. Pourrait-on parler plutôt de plugin ou d’extension ?
C’est drôle que tu me poses la question, parce que c’est précisément le débat que j’ai eu avant-hier avec mon collègue Loïc Aigon (ozalto.com), spécialiste en automatisation. Loïc me disait, à raison, que le mot script renvoie à l’idée de « petit bout de code » dans l’inconscient des utilisateurs. On le perçoit moins comme un logiciel que comme une bidouille attrapée sur Internet. Avec ses 40 000 lignes de code, IndexMatic ne rentre pas vraiment dans le gabarit ! Officiellement ça reste pourtant un script InDesign, dénomination assignée par Adobe par opposition aux plugins et extensions reposant sur une technologie différente.

En tout cas, IndexMatic est conçu et développé comme un logiciel. Il ajoute à InDesign un module fonctionnel sans équivalent dans l’application hôte (le panneau « Index » ne fournit pas du tout les mêmes services). Donc, oui, le terme extension serait sémantiquement plus pertinent. Mais on s’arrache les cheveux pour lui trouver un synonyme valable. J’aime bien le mot solution par exemple, même s’il est un peu flou. Au-delà des querelles de clochers, ceux qui tranchent la question de la valeur d’un produit — je veux dire sa valeur réelle, pas symbolique — ce sont de toute façon les utilisateurs.

 
Trois choses ont particulièrement retenu mon attention lors de la découverte d’IndexMatic : le mode d’emploi très détaillé que tu fournis, la précision de l’interface et la rapidité d’exécution avec laquelle l’index se construit. L’expérience utilisateur est pour toi aussi importante que la fonction d’un script ?
C’est un peu le corollaire du point précédent. À partir du moment où tu penses ton produit comme un logiciel, il est clair que tu mets tes utilisateurs face à de la complexité. Des rouages et des engrenages fins. Si tu ne veux pas faire exploser ton support technique, il va bien falloir documenter cette machine et la rendre manœuvrable.

Ensuite, entre la théorie de l’expérience utilisateur et ma pratique réelle, je ne te cache pas qu’il y a une lutte intérieure. Theunis de Jong, développeur génial que nous avons perdu fin 2020, avait ce syndrome dans lequel beaucoup de programmeurs à l’ancienne se reconnaîtront : il produisait explosivement du code, pour la beauté de l’art, mais rien ne le soûlait autant que de finaliser l’UI, le manuel d’utilisation, etc. Nous avons tous un peu ce syndrome.

Mais quand on commercialise un produit professionnel, la sagesse doit finir par parler aussi fort que la passion. Ma passion c’est l’algorithmique et l’optimisation, trouver le code qui rend possible et efficient un processus qui semble hors de portée. « Épater la galerie », écrivait Theunis. Et puis la raison pragmatique me force à travailler plus froidement sur l’interface, le manuel, la communication en général, parce que c’est la seule façon de donner du sens à tout le reste.

 
Page du mode d'emploi d'IndexMatic

Page tirée du mode d’emploi très fourni d’IndexMatic. La version française arrive prochainement. ©Indiscripts

 
Tu es connu dans la communauté InDesign pour être le concepteur de scripts tels que StyLighter, BookBarCode ou HurryCover pour ne citer qu’eux. Peu de gens savent que tu es également l’auteur du framework IdExtenso, destiné à simplifier l’écriture de script dans InDesign, voire à pallier certains manquements. IndexMatic en est un pur produit ?
IndexMatic est mon troisième produit, avec Claquos et SmartSort, 100 % bâti dans IdExtenso. Et le truc marrant, c’est que SmartSort est lui-même intégré dans IndexMatic, ce qui illustre vraiment bien la dimension modulaire du framework.

Je ne vais pas entrer dans des détails soporifiques. Développant des scripts (solutions ?) pour InDesign depuis une vingtaine d’années, disons que j’ai assimilé deux ou trois choses fondamentales dans ce secteur, alors j’ai décidé de partager mon outil de travail. Chemin faisant, j’en suis arrivé à une sorte de prototype métier qui recouvre ce qu’on peut automatiser dans cette appli et comment l’automatiser. Contourner les bugs connus, mettre en facteur des opérations récurrentes, etc. IdExtenso est un peu un manifeste en ce sens qu’il propose un angle original sur ces questions, avec des composants prêts à l’emploi.

Précision toutefois : « destiné à simplifier l’écriture de script », oui, mais pas « simple » lui-même. IdExtenso s’adresse à des développeurs maîtrisant le JavaScript et notamment sa nature fonctionnelle. Sa vocation serait plutôt de professionnaliser le scripting. Pour faire une analogie, un framework C++ (Boost par exemple) ne simplifiera en rien la vie d’un programmeur qui ne connaît pas le C++ !

 
Aperçu d'un résultat d'index

Aperçu des entrées trouvées par IndexMatic. La rapidité des résultats est très impressionnante. DR

 
Certaines fonctionnalités, comme la collecte des données dans le Presse-papier, sont marquées comme non encore implémentées. Quels sont les ajouts que tu prévois d’implémenter prochainement ? As-tu quelques surprises ?
Aïe, la question qui tue ! Ma « to do list » comporte une trentaine de pièces manquantes. Pour mon plus grand malheur, des vigiles extralucides comme Laurent Tournier et Peter Kahrel (que je salue au passage) ont un œil pénétrant sur chaque évolution du produit et me signalent tout ce qui fait défaut. Les deux ont insisté sur deux fonctionnalités cruciales : la possibilité de créer en retour des marques d’index récupérables dans InDesign ; une option de tri personnalisé pour classer correctement certains termes qui échappent au système général.

Il faudrait aussi donner à l’utilisateur le plein contrôle des « mots vides », régler cette histoire de presse-papier (pas si simple d’ailleurs), envisager peut-être un export de l’index au format JSON, améliorer l’articulation des références « voir aussi » vis-à-vis des rubriques et sous-rubriques, fournir une sortie dite en index inversé… La question la plus difficile, c’est la prise en compte de ce qu’on appelle dans le jargon le mode astral, c’est-à-dire l’Unicode étendu dans les expressions régulières. (Je ne possède aujourd’hui que des solutions partielles à ce problème, qui concerne plus particulièrement les utilisateurs CJK.)

J’ai donc du pain sur la planche ! Sans parler des bugs qui vont sortir du bois pendant le lancement. Aujourd’hui j’ai corrigé une inconsistance qu’un utilisateur m’a signalée ce matin. Donc, les semaines à venir, je vais surtout les consacrer à stabiliser la version fraîchement sortie. Répondre vite et bien aux sollicitations de ceux qui investissent dans le produit et l’ont déjà adopté comme outil de production.

 
 
Présentation vidéo de la version démo sur la chaîne YouTube d’Indiscripts :

Partager :
Image

Découvrez Swash #3

Notre offre, des chiffres et toujours un peu de lecture !

La newsletter de Swash

Tous les mois nous envoyons une sélection d'articles, nos inspirations et nos envies de sortie. Si vous souhaitez être tenu au courant de notre actualité, il suffit de vous inscrire juste ici !