Scripts et automatisation des tâches

Cette section concerne un usage un peu spécialisé de Scribus. Si vous débutez avec Scribus, vous n'en aurez pas besoin tout de suite, mais il est néanmoins intéressant de lire ce chapitre pour comprendre les possibilités d'utilisation du logiciel.

Un script est un petit programme qui permet d'exécuter une tâche. Un script est en fait une série d’instructions écrites dans un simple fichier texte. Le lancement du script déclenche des tâches automatiques. Ces tâches pourraient être exécutées par l’utilisateur lui-même, mais qui sont soit une suite difficile à mémoriser soit des instructions pour réaliser une tâche répétitive, ce qui devient lassant à réaliser. Les scripts permettent même d’étendre les fonctionnalités du logiciel sans qu’on doive intervenir dans le code source. C’est un avantage non négligeable, car créer un script est beaucoup plus simple que de programmer le logiciel lui-même.

Les scripts permettent donc à chaque utilisateur d'adapter Scribus à ses propres besoins. Ils permettent aussi à la communauté de partager des fonctionnalités qui ne sont pas encore incluses dans Scribus. Tout nouveau script peut être téléversé (upload) sur le wiki de Scribus. Il suffit ensuite de copier le script de son choix et de le coller dans un éditeur de texte puis de le sauvegarder sur son ordinateur. Vous pourrez ensuite le charger dans Scribus en allant au menu Script > Démarrer un script...

Les scripts pour Scribus sont écrits avec le langage de programmation Python qui est réputé pour sa simplicité et avec lequel vous ne risquez pas d'endommager votre ordinateur ni d’affecter le logiciel. Le dernier paragraphe vous donnera plusieurs ressources pour trouver de l'aide au sujet de Python.

Lancer un script

Lorsque vous avez installé Scribus, neuf scripts ont été automatiquement installés que vous pouvez lancer par le menu [Script > Scripts Scribus]  :

  • Autoquote: ce script convertit des guillemets et apostrophes en leurs versions typographiques.
  • CalendarWizard: crée un calendrier.
  • Color2csv : enregistre dans un fichier la liste des couleurs utilisées dans le fichier courant.
  • ColorChart : ce script produit un nuancier à partir des couleurs du document courant.
  • Csv2color : importe les couleurs d'un fichier créé par color2csv.
  • DirectImageImport : crée un cadre d’image et importe une image dedans.
  • FontSample : crée la liste des polices installées dans le système avec des exemples de texte.
  • Importcsv2table : importe des valeurs dans un tableau.
  • InfoBox : ajoute un petit cadre au dessus d'un cadre de texte courant.

Il est possible d'adapter un script à vos besoins. Pour ce faire, vous pouvez le copier de son emplacement par défaut :

Sous Linux /usr/share/scribus/scripts/

Sous Mac OS X /utilisateurs/nom_utilisateur/scribus/trunk/scribus/scribus/plugins/scriptplugin/scripts/

Sous Windows 7 C:\Program Files\Scribus1.4\share\scripts

Vous pouvez placer les copies dans un dossier de Scripts dans vos documents. Vous pouvez ensuite modifier le script avec un logiciel de traitement de texte comme expliqué dans la section suivante et le lancer avec [ Script > Démarrer un script... ].

Ajouter des scripts

La meilleure source pour trouver des scripts est le wiki de Scribus. Si vous vous rendez à la page wiki.scribus.net (http://wiki.scribus.net) et cliquez sur la catégorie "Scripts" (http://wiki.scribus.net/canvas/Category:Scripts) dans le menu de gauche, vous y trouverez les liens vers des douzaines de Scripts que vous pouvez copier sur votre ordinateur.

Par exemple, pour copier le script appelé « Adding 'DRAFT' to a document » qui insère le mot « DRAFT » (brouillon en anglais) sur la page courante il faut :

Vous êtes prêt à lancer le script dans Scribus :

  • Assurez-vous qu'un document est ouvert
  • Allez dans Script > Démarrer un script... et cherchez le script « draft.py » sur votre bureau et ouvrez-le.
  • Dès que vous aurez cliqué sur OK le mot DRAFT apparaîtra sur la page courante.

Créer des scripts

Si vous avez besoin d’un script qui réponde aux fonctionnalités dont vous avez besoin, mais qui n'existe pas sur le wiki, vous pouvez toujours le créer vous même ou encore recourir aux services d’un programmeur de votre entourage pour qu’il l’écrive pour vous.

Ceci est d'autant plus simple que, le plus souvent, vous n'allez pas devoir créer vos scripts de zéro, mais vous allez pouvoir bâtir votre script à partir d’un des scripts que vous trouverez sur le wiki.

Revenons à notre exemple et imaginons que vous vouliez qu'apparaisse le mot BROUILLON plutôt que le mot DRAFT. Examinez le script que nous avons collé dans l’éditeur de texte.

  • À la ligne 25 se trouvent les mots « draft  = "DRAFT" ».
  • Ajouter le caractère "#" au début de cette ligne : cette ligne va désormais être ignorée par python.
  • Aller à la ligne 27 où se trouve le mot « BROUILLON » et enlever le symbole « # » au début de la ligne.
  • Enregistrer le fichier et exécutez-le à nouveau dans Scribus.

Pour trouver de l'aide ou en savoir plus

Cette section contient seulement un bref survol sur les scripts. Si vous souhaitez continuer l'exploration des possibilités offertes par les scripts, nous vous proposons quelques liens et ressources qui vous pourront être très utiles.

Introduction à la syntaxe Python

Python étant un langage facile et couramment utilisé, il y a beaucoup de moyens d'accéder à de l'information à son sujet. Voici quelques références:

La foire aux questions (FAQ) de Scribus au sujet de Python

Apprendre à programmer avec Python (Framasoft.org)

Les ressources en français du site officiel de Python

Python sur Wikipedia

Les commandes Python propres à Scribus

Une liste des commandes python propres à Scribus est accessible dans [ Aide > Manuel de Scribus ] à la section "À l'intention des développeurs > API de Scripter"

Des êtres humains peuvent aussi vous aider !

Vous avez des questions brûlantes à propos de scripts sur Scribus ? Il y a de très bonnes chances de trouver quelqu’un qui pourra vous aider à écrire votre script (voire avec un peu de chance, qui l’écrira pour vous !)

Pour parler à la communauté des utilisateurs et développeurs de Scribus, vous pouvez écrire à la liste de diffusion (mailing list) de scribus, rendez-vous à cette page d’abonnement http://lists.scribus.info/mailman/listinfo/scribus et écrivez à cette adresse : scribus@lists.scribus.net.

Pour contacter des utilisateurs en direct, vous pouvez les rejoindre sur le canal de chat de Scribus sur freenode. Si vous n'avez pas de logiciel de chat irc, ou si vous ne savez pas ce dont il s'agit, vous pouvez aussi vous connecter à la communauté chat via cette plate-forme en ligne : http://wiki.scribus.net/canvas/Special:WebChat

Notez que ces canaux de discussions ont l'air de fonctionner tout en anglais, mais n’hésitez pas à poser vos questions en français, il se trouvera toujours quelqu’un pour vous répondre.

Les possibilités du fichier source .sla

Pour compléter ce tour d’horizon des possibilités plus spécialisées de Scribus, nous parlerons maintenant du format du fichier source de Scribus et ce qu’il permet de faire. En tout premier lieu, gardons à l’esprit que nous sommes dans l’univers du logiciel libre et que de ce fait les formats sont ouverts. Dans le cas de Scribus cela signifie concrètement que l’utilisateur a accès à son fichier source même si Scribus n’est pas présent sur son poste de travail. En effet, il ne faut qu’un simple éditeur de texte pour ouvrir en mode texte un fichier Scribus qui se présentera sous une forme lisible à l’écran et compréhensible à l’utilisateur. Il ne faut qu’un peu de pratique et un examen soutenu pour découvrir la structure de ce document. De là à exploiter cette possibilité, il n’y a qu’un pas !

Un format éditable

L’extension .sla est accolée à la fin de tous les noms des fichiers Scribus. Il est facile de repérer ce fichier dans votre dossier de production. À l’aide d’un simple éditeur de texte, ouvrez un fichier .sla de votre choix et examinez-le. De prime abord, cela peut rebuter un peu, mais après le premier mouvement de surprise vous découvrirez bien vite tout le parti qu’on peut tirer d’un tel fichier. Avec de simples commandes de Recherches & Remplacement, ou... des scripts, on peut modifier ce fichier sans avoir à ouvrir l’interface de Scribus. Bien sûr, cela ne signifie pas que vous pourrez monter un fichier Scribus entièrement sans passer par l’interface. Mais si vous devez effectuer des modifications un peu plus complexes, le recours à l’éditeur de texte s’imposera comme la solution la plus efficace.

Dans l’exemple ci-dessous, on aperçoit une partie du code. C’est parfaitement ordonné et clair. N’importe qui peut lire ce code et avec un minimum d’effort, le comprendre. Ici on a la liste complète des couleurs utilisées dans le document. On constate qu’il y a deux tons directs nommés « Pantone 541C » et « Pantone 541C PALE ». Ceci résultera en deux plaques différentes au lieu d’une seule et ce n’est pas ce qu’on veut. En réalité, la couleur dite « PALE » est la même, mais avec une teinte de 50 %. Il est impossible de résoudre ce problème dans l’interface de Scribus mais il est très facile de le résoudre en agissant directement dans le fichier source (le .sla).

sla_tondirect.png

Dans cette seconde vue des deux lignes de code qui concernent la couleur « Pantone 541C » on voit ce qui s’est produit après intervention dans le fichier. On a ajouté un attribut « SHADE » à la couleur, ce qui résout le problème. La couleur « PALE » est devenue « PANTONE 541C » et elle a une teinte de 50 %.

sla_tondirect2.png

Enfin, le fichier .sla peut être très utile si Scribus renvoie un message d’erreur disant qu’il ne peut lire tel ou tel fichier, car il est corrompu. La situation n’est pas sans issue. En effet, il sera la plupart du temps possible aux développeurs de corriger ce fichier avec un éditeur de texte. Car si Scribus ne peut pas l’ouvrir, le fichier en question demeure un fichier texte, et donc éditable.