Wordalizer 1.512 | Correction du bug de la table de montage
June 10, 2015 | Wordalizer | fr | en
!Depuis plus d'un an, un bug empêchait Wordalizer d'œuvrer dans certaines configurations d'InDesign CC. Un petit nombre d'utilisateurs m'avait signalé une erreur de « sortie de la table de montage », principalement sous InDesign 9.0, sans cause élucidable. Toute la question était de corriger le problème à distance, sans possibilité de le reproduire sur mes propres machines de test. C'est grâce à la patience et à la réactivité d'un utilisateur argentin, Pedro Eisner, que nous avons débusqué un antidote…
La botte de foin
Les développeurs de scripts et d'extensions pour InDesign sont confrontés à d'innombrables variétés de bugs. Il y a bien sûr les pures erreurs d'implémentation, mais aussi les problèmes de compatibilité, les contextes d'utilisation inattendus ou franchement machiavéliques, les erreurs « en cascade » découlant des bugs d'InDesign lui-même, les effets directs ou indirects de l'instabilité système, etc. De surcroît, l'événement malencontreux peut se manifester à tel ou tel niveau : dans ExtendScript, dans la couche de l'interface utilisateur, dans le « scripting DOM », dans l'espace d'exécution d'InDesign ou dans une bibliothèque rattachée, à l'étage des entrées/sorties, au niveau du système d'exploitation, de la mémoire vive, et ainsi de suite. On comprend qu'au sein d'un projet d'envergure, la chasse et la résolution des bugs devient parfois une expédition picaresque.
Mais le pire cas de figure est toujours celui que l'on ne peut pas reproduire chez soi, car il échappe alors à toute expérimentation directe. Les utilisateurs malheureux vous rendent compte d'un message d'erreur qui semble provenir de l'au-delà :
Tu m'en diras tant !
L'aiguille
Naturellement, le premier réflexe est de suspecter avant tout une erreur de calcul enfouie dans notre code. L'hypothèse est inconfortable — car aucun des nombreux tests effectués durant le développement n'a révélé pareille bévue — mais on devrait finir par localiser ce petit grain de sable dans l'engrenage. Attendu que Wordalizer s'adapte à beaucoup de variantes d'InDesign (CS4, CS5, CS5.5, CS6, CC 9 et CC 10), on conçoit aisément qu'un réglage spécifique, côté utilisateur, puisse interférer avec notre script dans des circonstances que nous n'avions pas anticipées.
Seulement voilà ! Jour après jour, nuit après nuit, malgré tous les contre-tests effectués, le mystère ne fait qu'épaissir, entraînant avec lui un flot de questions inédites qu'on ne se serait jamais posées en temps normal. Même en considérant les contextes d'utilisation les plus retors, il n'y a décidément aucune raison valable, au vu du code source, pour qu'un objet soit déporté « en dehors de la table de montage ».
Le Bon Samaritain
C'est là que Pedro entre en scène. À cinq heures de décalage horaire de Paris, cet innocent utilisateur de la version d'essai de Wordalizer tombe à son tour sur le bug fatidique. Il me décrit avec force détails tous les symptômes observables. « N'hésitez pas à me solliciter pour des tests plus approfondis », ajoute-t-il. Eh bien, deux semaines plus tard, je me dois de rendre hommage à son extrême endurance !
En examinant sous toutes ses coutures le document défectueux produit par InDesign, nous avons fini par découvrir le pot aux roses : sous réserve que certains paramètres se combinent assez sournoisement, InDesign 9.0 (et peut-être seulement cette version-là) ne parvient plus à gérer l'espace géométrique des pages conformément aux spécifications habituelles. Par une série d'essais et d'erreurs, Pedro et moi venions de circonscrire les conditions d'apparition du bug.
Note. — Je ne me lance pas ici dans des explications techniques. Il ne fait aucun doute à mes yeux que nous avons affaire à un bug interne d'InDesign. Mes confrères pourront trouver quelques indices utiles dans cette discussion bien que le puzzle soit plus compliqué encore.
La planche de salut
C'est ainsi qu'un correctif a pu être graduellement élaboré et testé. Il s'appuie sur une stratégie « à deux lames ». D'abord, on tente purement et simplement de contourner l'obstacle en neutralisant les paramètres toxiques. Au vu des résultats obtenus, cette stratégie m'inspire la plus grande confiance. Cependant, n'étant jamais sûr de rien quand un bug émerge des profondeurs d'InDesign, une routine complémentaire effectue un test d'appoint. De telle sorte que si les voyants ont viré au rouge malgré nos précautions, Wordalizer se lancera une bouée de sauvetage et remettra les éléments en place.
Désormais, notre générateur de nuages de mots devrait donc fonctionner normalement même dans les configurations où InDesign souffre d'un léger astigmatisme. À vous de le confirmer en testant la version TRY !
Un immense merci à Pedro Eisner.
Comments
Bonjour Marc,
Je rencontre un problème avec Wordalizer Pro 1.512 sous Indesign CC 2014.
Impossible de générer de faire une liste de plus de 16 entrées. Fâcheux quand la liste doit en contenir 40. :)
Une idée, une solution ?
Merci.
Franck
Bonjour Franck,
Un autre utilisateur m'a signalé un problème similaire. Il faudrait m'en dire plus sur votre OS, les opérations concrètes qui déclenchent le bug, la façon dont il se manifeste…
Pouvez-vous me contacter à support [at] indiscripts {dot} com?
Cordialement,
Marc
Looks promising, however the script window is not shown correctly on the 4K screen.
It just jump to the right bottom corner and it's not possible to move it to center of the screen.
INDD CC 2014 & 2015, Windows 8.1
Can you try to fix that?
Thanks,
Wichru
Hi Wichru,
Thanks for your feedback.
Yep, the '4K display' bug is a(nother) known issue which various users have reported on both Win8 and MacOSX.
That seems related to ScriptUI but I have no relevant clue for fixing this so far :(
Waiting for further detail…
Best,
Marc