3/26/2014

Inform7 et Gedit

J'ai recommencé à bidouiller avec Inform7*, mais comme l'IDE officiel (à savoir gnome-inform7), même si convivial et relativement bien foutu, est d'une exaspérante lenteur sur mon pauvre petit portable, j'ai décidé d'utiliser plutôt Gedit, un simple éditeur texte, et de le configurer pour mes besoins.

Je documente ici les étapes que j'ai suivies.

(* J'ai déjà parlé de Inform7, jadis, ici et , notamment)

1 - Installer gnome-inform7 et i7


Duh, ça semble stupide, mais on va avoir besoin de certains fichiers. Et mon module ne replace pas complètement l'IDE (quoique ce serait possible): gnome-inform7 est toujours nécessaire pour publier un fiction, par exemple.

Il faut aussi installer le compilateur en ligne de commande i7. On verra plus loin pourquoi.

Les deux logiciels sont disponibles sur le site de Inform7

2 - Coloration syntaxique


On veut que Gedit utilise une coloration syntaxique appropriée. Ce n'est pas nécessaire, mais c'est tellement, tellement plus agréable.

Il y a deux sous-étapes ici: d'abord, pointer vers le fichier de configuration pour les couleurs. Avec une installation typique, il se trouve dans /usr/share/gnome-inform7/styles/inform.xml . On peut l'ajouter à partir de la fenêtre 'Gedit Preferences', dans l'onglet 'Font & Colours'.

Ensuite, il faut aider Gedit à comprendre la syntaxe propre à Inform7. Pour ce faire, il faut utiliser les trois fichiers .lang (inform.lang, naturalinform.lang et naturalinformextension.lang) qui se trouvent dans le dossier /usr/share/gnome-inform7/languages/. Il suffit en fait de les copier dans /usr/share/gtksourceview-3.0/language-specs/. Si Gedit est ouvert, il faut le refermer, et tadam, les syntaxes Inform sont reconnues!

3 - Ajouter un plugin de compilation


Bon, c'est bien beau, avec l'étape 2, Gedit reconnaît la syntaxe d'Inform7 et affiche le code source correctement, mais ce serait bien de pouvoir compiler une fiction pour faire des tests pendant le développement, non?

Tout d'abord, il faut activer le plugin 'External Tools', qui va nous permettre d'ajouter un script de compilation. Si ça ne fonctionne pas, vérifier que le package 'gedit-plugins' est bien installé.

Ensuite, dans 'Tools/Manage External Tools", on peut rajouter le script en question, dans le champ 'Edit', idéalement après avoir créé une nouvelle entrée. Voici ce que j'utilise (c'est, évidemment, un work in progress) :

AJOUT : Depuis, j'ai écrit une meilleure version de ce script.

----------------------------------------------


#!/bin/sh

#############################################
#
# Go (Inform)
# Script pour compiler une fiction,
# la jouer dans une interpréteur si
# la compilation fonctionne, ou afficher
# les messages d'erreur en cas d'échec.
#
##############################################

cd "$GEDIT_CURRENT_DOCUMENT_DIR/"

# Par défaut, le format est z5.
format=5

interpreteur=gargoyle-free
fureteur="midori --app="
output=../Build/output.z$format
msg_erreur=../Build/Problems.html

# Compilation de la fiction interactive et
# suppression des outputs textuels
i7 -s zcode=$format -c ../ > /dev/null 2>&1 &&

# Si la compilation fonctionne
if [ -e $output ];
# Ouvrir le .z5 (ou autre format) avec
# l'interpréteur, puis l'effacer
then $interpreteur $output && rm $output
# Sinon, afficher le message d'erreur
else $fureteur$msg_erreur
fi

# Ce dossier est créé automatiquement,
# j'ignore pourquoi. Vidanges.
rm -R ". Materials/" > /dev/null 2>&1;


----------------------------------------------


Quelques remarques:

-Évidemment, l'interpréteur et le fureteur doivent être installés pour que le script fonctionne. J'ai choisi gargoyle-free et midori par préférence personnelle; ça peut être modifié sans problème.

- Le compilateur i7, cependant, est complètement nécessaire. Il est disponible sur le site du projet.

- Il y a techniquement moyen d'afficher le message d'erreur directement dans la console de Gedit, mais si je me souviens bien, cela produisait une certaine quantité d'informations indésirables.

- J'ai hardcodé l'utilisation du format z* un peu par paresse. On peut aisément modifier le script pour changer le format, mais c'est certain qu'il serait préférable de rendre ça plus flexible.

- Comme je l'ai mentionné plus haut, ce script ne supporte pas la publication finale des fictions. Il faut soit utiliser l'IDE ou i7, en ligne de commande.


Donc voilà, c'est ce que j'utilise pour écrire des fictions interactives. Maintenant, si je pouvais seulement trouver le temps d'en terminer une...

3/19/2014

Période de nomination pour le prix Boréal/Aurora

La période de nomination pour le prix Boréal/Aurora est commencée et se terminera le 4 avril 2014. La liste (pas nécessairement complète) d'éligibilité est disponible ici, tandis que le bulletin de nomination est .

Notez que cette année, Brins d'éternité se trouve dans la catégorie Meilleurs ouvrages connexes: comme la revue rémunère ses auteurs et illustrateurs, elle est considérée comme semi-pro et n'est plus éligible à la catégorie Fanédition.

Je remarque qu'à part quelques critiques dans Brins d'éternité, je n'ai rien publié en 2013. Bon sang qu'il est temps que je m'y remette.

3/12/2014

Un peu de fatigue

Ouf.

Depuis le lancement du dernier Brins d'éternité, ça n'arrête pas.

En fait, depuis janvier, j'ai un horaire de fou. Sans entrer dans les détails, j'accumule temporairement un peu (pas mal) trop de tâches/projets, et je suis plus en mode survie qu'autre chose. Ça devrait se calmer pour début mai. Mais comme je suis déjà au bord de l'épuisement, j'ai déjà décidé que je passerais mon tour pour Boréal cette année. Il faut choisir ses combats.

Cela dit, le fait d'arriver à ma limite m'amène à me questionner sur cette tendance à accumuler les tâches. J'ai écris très peu ces dernières années, et c'est quelque chose que je veux ramener dans ma vie de façon plus régulière. J'ai commencé à me délester de certaines obligations, mais ce n'est pas encore suffisant. Je vais devoir apprendre à déléguer, je crois.