GIMP 2.9.4 et le futur de GIMP

Nous avons récemment sorti une version de développement de GIMP, version 2.9.4 (ainsi qu’une version de correction de bug, 2.8.18, mais forcément c’est moins excitant).

GIMP 2.9.4

Je ne vais pas réécrire toute la news que vous pouvez lire (en anglais) sur gimp.org. Et ça tombe bien, comme j’ai participé à son écriture, c’est un peu comme me lire. Si vous préférez absolument une news en français, j’en ai écrite une sur linuxfr, mais elle n’est pas aussi complète que celle officielle.

Je vais juste illustrer avec cette capture vachement cool de la prévisualisation en direct des opérations (ici un flou gaussien) directement sur le canevas, avec comparaison (live aussi) gauche-droite, implémentée par Mitch, notre dictateur bénévole (ou est-ce l’inverse? Sommes-nous ses dictateurs?). L’image affichée est dessinée par Aryeom, réalisatrice de ZeMarmot.

GIMP 2.9.4 screenshot. Image on canvas is by Aryeom Han under Creative Commons by-sa.
Capture de GIMP 2.9.4. Image de canevas: Aryeom Han (Creative Commons by-sa).

La fonctionnalité est cool, hein?

GIMP & projet ZeMarmot

Comme vous pouvez le lire sur gimp.org, ZeMarmot est un projet contributeur de GIMP à travers mes propres contributions (environ 14% des commits de cette sortie. Les nombre de commit n’est pas une métrique parfaite bien sûr, mais pas pire qu’une autre).

Peinture numérique

Donc qu’avons-nous fait? Bien sûr, déjà ce qu’on aime: le dessin. J’ai implémenté le dessin en symétrie l’an dernier. Voici par exemple quelques gribouillis dessinés par Aryeom en juste quelques secondes grâce aux modes de peinture symétrique:

Symmetrical doodles by Aryeom Han (Creative Commons by-sa).
Symmetrical doodles by Aryeom (Creative Commons by-sa).

J’ai aussi aidé à l’intégration des brosses de MyPaint et en particulier en améliorant le système de compilation de libmypaint, ce qui a eu l’effet de bord d’améliorer aussi MyPaint (citation du blog de MyPaint):

Development of MyPaint will continue of course; in fact making this split happen has improved a lot of things in the codebases of both projects ☺ Big thanks to @Jehan for making this all work so well!

Internationalisation

Le fait qu’Aryeom soit coréenne, que nous ayons tous deux vécu dans des pays d’Europe, d’Asie et d’Océanie, que nous parlions anglais, coréen (bon mon coréen est très faible), français et japonais, et que j’adore les langues et suis un geek pour la grammaire, tout cela fait de nous des candidats idéaux pour détecter les problèmes d’internationalisation de GIMP. Donc j’ai corrigé des bugs, et même des crashs, sur les méthodes d’entrée pour caractères non-occidentaux, faisant notamment l’outil texte se comporter convenablement et afficher les caractères saisis avec ces méthodes d’entrée comme attendu:

Writing Korean (left) or Japanese (right) in GIMP 2.9.4's text tool.
Écrire Coréen (gauche) et Japonais (droite) dans l’outil texte.

Bien sûr, depuis que je contribue, j’ai fait quelques autres corrections, comme la liste des langues dans les préférences, avec chaque langue traduite en elle-même, ou la correction de bugs d’interface avec les langues écrites de droite à gauche, comme l’arabe. J’adore les langues et leurs spécificités/différences!
Avec Aryeom, nous essayons aussi d’essaimer la communauté hors de l’Europe, en dialoguant avec des enthousiastes de GIMP et autres logiciels libres au Japon, en Corée du Sud (même avec des tutoriels vidéo en Coréen) et ailleurs. C’est un travail de longue haleine.

Revue et maintenance de code

Je code plein d’autres petits trucs, comme des petites fonctionnalités (par exemple le plugin email de GIMP 2.9.4, qui utilise xdg-email, implémenté il y a quelques semaines) et des corrections de bug, puisque j’aime GIMP solide comme de la pierre et stable comme une montagne. Bien sûr, ce type de changements sont moins visibles. J’essaie aussi de m’engager davantage dans des revues de code et dans la maintenance de petites parties du code, afin de soulager Mitch d’un peu de travail (apparemment le fouet ne suffit pas pour l’aider! Allez comprendre…). C’est encore à améliorer et j’aimerais pouvoir créer le temps pour intégrer encore plus de patchs cool dans GIMP. L’une des fonctionnalités vraiment bien que j’ai ainsi intégrée est la recherche d’action (équivalent au menu “espace” de Blender, pour ceux qui connaissent), qui rend vraiment les menus ringards. Originellement contribué par Srihari, j’en ai fait la revue, ai réécrit ou corrigé des parties afin d’améliorer la qualité du code, puis l’ai intégré. Eh bien même sans en être l’auteur, c’est l’une des fonctionnalités dont je suis le plus fier en tant que “critique et correcteur”. C’est aussi très gratifiant, d’une autre façon, de travailler avec d’autres développeurs, surtout quand ils sont talentueux et apportent des idées intéressantes.

Searching an operation in GIMP with the action search.
Searching an operation in GIMP with the action search.

Il y a pas mal d’autres bout de code dont j’ai fait la revue, comme la macro pour le traitement d’images en batch ou encore la refonte de l’interface (nouveaux thèmes et icônes). Bien sûr, c’est moins “utile”. Quoique… selon les personnes, certains me disent que cela va changer leur vie, alors que d’autres disent détester le nouveau design (notons tout de même que les vieilles icônes et le vieux thème sont toujours disponibles). Soit. Quoiqu’il en soit, ce renouveau du thème était dans l’air sur les listes de diffusion depuis des années. Alors j’ai pris sur moi d’encadrer les nouveaux contributeurs qui souhaitaient aider sur le sujet (Klaus Staedtler pour les icônes et Benoit Touchette pour les thèmes). Intéressante aventure, également.

New themes by Benoit Touchette and icons originally by Barbara Muraus and Jakub Steiner, heavily updated and completed by Klaus Staedtler.
New themes by Benoit Touchette and icons originally by Barbara Muraus and Jakub Steiner, heavily updated and completed by Klaus Staedtler.

Quoiqu’il en soit, travailler sur tous ces fronts à la fois est éreintant mais j’adore. Si tout se passe bien, plus on avancera, plus je pourrai contribuer à GIMP. 🙂

Futur de GIMP

GEGL partout?

Plein de choses avancent bien autour de GIMP. Notamment le projet GEGL est vraiment cool. Je rêve d’un futur où les gros programmes graphiques intègrent tous GEGL d’une façon ou d’une autre, où Blender par exemple implémenterait ses nodes avec GEGL, où les graphes de traitement d’image pourraient être échangés entre programmes, où darktable pourrait partager des buffers avec GIMP pour qu’une image puisse être éditée dans un programme et le changement visualisé en temps réel dans l’autre.

Bon en attendant, ça nous apportera l’édition non-destructive avec prévisualisation en direct sur des images à haute précision de couleur. C’est déjà pas si mal, non? 😉

Plus de peinture, une meilleure interface, export amélioré et bien plus…

Bien sûr, nous souhaitons aller plus loin quant aux fonctionnalités de dessin et amélioration du flux de travail. L’interface aussi a clairement besoin d’amélioration ici et là (aussi l’une de mes raisons de créer la liste de diffusion gimp-gui pour discuter tout sujet d’interface et d’expérience utilisateur). Bien sûr, nous souhaitons aussi améliorer la prise en charge des tablettes graphiques quand nécessaire.
J’ai aussi plein d’idées, dont certaines pourraient être implémentées sous une forme ou une autre, ou pas (l’amélioration sur le  processus d’export par exemple est toujours dans un état de travail et de spécification). Bien sûr, tout ne se passe pas toujours comme on le pense d’abord: c’est aussi cela, le Logiciel Libre, on discute, on n’est pas toujours d’accord, on découvre d’autres manières de travailler, on apprend, et parfois on doit même faire des compromis voire carrément revenir sur une idée et réaliser qu’elle était mauvaise. Je dirais que ça forge le (bon) caractère. 🙂
Dans tous les cas, on fait ce qu’il faut pour améliorer GIMP pour tous!

Parmi les nombreuses autres fonctionnalités que nous voulons voir venir sont la possibilité de sélectionner de multiples calques (quand on travaille avec des dizaines de calques, notamment en animation, c’est vraiment ennuyeux), les macros, l’amélioration de l’API pour personnaliser l’interface (et pas juste pouvoir ajouter des éléments de menu), ainsi que le comportement de GIMP, et de manière générale avoir plus de communication entre GIMP et ses plugins, comme la réactions à des “hooks”. Et bien plus!
Il y a d’autres choses très demandées, comme la meilleure prise en charge d’écrans HiDPI, mais bon, on n’en a pas nous-même, alors c’est dur de tester et de voir l’étendue des dégâts.

Notez que j’aime la généricité de GIMP. D’autres programmes ont choisi de se spécialiser. C’est un choix compréhensible. Néanmoins au final, je constate que tous les logiciels graphiques finissent avec les mêmes fonctionnalités. Bien sûr, les brosses et autres outils de peinture furent surtout pensés pour les peintres, mais les photographes ont pris aussi l’habitude des les utiliser régulièrement dans leur process. De leur côté, les peintres utilisent aussi les filtres et autres outils de transformation. Les designers de même utilisent tout. Donc je pense que l’approche générique de tout faire bien est également un bon angle.

Comme vous voyez, nous avons beaucoup de projets pour GIMP. Cela paraît presque impossible, tout en étant super enthousiasmant. Et bien entendu, c’est sans compter le plugin pour animation sur lequel je travaille. Je devrais être capable de le présenter très bientôt d’ailleurs. Restez dans le coin! 🙂

Aidez nous en aidant ZeMarmot?

Comme souvent, je vais conclure en promouvant notre financement permanent pour ZeMarmot. Je sais: c’est chiant! Nous souhaitons faire une différence, quelque chose de sympa: un film d’animation Libre tout en libérant aussi du code. Le tout en essayant d’aller au delà du simple hobby. Mais à ce jour, on n’y est pas complètement.
Sur ce site, je parle assez régulièrement du côté plus “artistique” de ZeMarmot, mais pas assez sur la “technique” ou le code. Donc j’ai attrapé l’occasion de la sortie de GIMP 2.9.4 pour parler un peu de ce que j’ai fait dans GIMP ces derniers mois ainsi que de certains buts futurs dans l’aspect “logiciel” (notamment GIMP) du projet ZeMarmot. Si vous avez aimé ce que vous avez lu à ce sujet, alors vous aimez aussi ZeMarmot puisque tout est une partie du même projet. C’est pourquoi je fais un petit appel: si vous en avez les moyens, n’hésitez pas à nous aider financièrement pour la production du film d’animation et la participation au code de GIMP.

Nous sommes sur 2 plateformes permettant un abonnement mensuel à prix libre (que vous pouvez modifier ou arrêter à tout moment, aussitôt que vous cessez de nous aimer!): Tipeee où vous pouvez nous financer en EUR (€) et Patreon en USD ($).

ZeMarmot on Tipeee (EUR).
Soutenez ZeMarmot sur Tipeee (EUR) »
ZeMarmot on Patreon.
Soutenez nous sur Patreon »

C’est tout pour aujourd’hui. J’espère que vous avez apprécié mon rapport d’activité logicielle sur GIMP. Passez un bon dimanche! 🙂

Minuter votre film

La grande question à l’écriture d’un scénario: comment minuter le film qui en ressortira?

Montre au musée CIMA, par Rama (CC by-sa)
CIMA museum’s clock, by Rama (CC by-sa 2.0).

À partir du scénario

C’est déjà possible à partir du script. Une règle communément admise est qu’une page équivaut plus ou moins à 1 minute de film. Bien sûr, pour atteindre ce standard, vous voudrez formater votre fichier convenablement. Mes recherches m’ont donné ces quelques règles:

Format

  • Pages A4.
  • Police: 12-point Courier.
  • Marges de 2.5 cm sur tous les bords, sauf à gauche de 3.5 cm.
  • Ajoutez 5,5 cm de marge avant un nom de personnage dans un dialogue.
  • Ajoutez 2,5 cm de marge avant un texte de dialogue.
  • Pas de justification (aligner à gauche).
  • Pas d’indentation de début de paragraphe.

Je ne listerai pas toutes les règles, car il y a plein de ressources sur le web qui le font mieux. Par exemple, cette page fut utile (en anglais) ou encore celle-ci (en français et avec le système métrique international), voire même Wikipedia.
Il semblerait que le but de ces règles soit d’avoir un texte avec le moins d’aléatoire possible. Un script n’est pas fait pour être un bel objet, mais pour être aussi carré que possible. Donc au revoir justifications (qui étirent ou compressent les espaces) et indentations (pas à toutes les lignes)… Ces règles typographiques sont faites pour rendre le document “joli”, ce qui est bien moins intéressant pour un scénariste que la capacité de minuter son scénario en comptant le nombre de pages.

Fontes libres

Vous aurez peut-être remarqué que 12-point Courier est une police de Microsoft. Pour les utilisateurs de GNU/Linux qui me lisent, récupérez le paquet msttcorefonts. Sur Debian, ou Ubuntu, il s’agit de “ttf-mscorefonts-installer“. Cela n’existe apparemment pas dans les dépôts Fedora. Mais c’est pas grave. J’utilise personnellement Liberation Mono (Liberation est famille de polices créée par RedHat en 2007, sous licence libre). FreeMono est aussi une alternative mais Liberation Mono me convient bien.

Ce sont toutes des polices “monospace”, à “chasse fixe”, c’est a dire que chaque caractère occupe le même espace horizontal: ainsi ‘i’ et ‘W’ ont la même largeur avec ces polices. Encore une fois, les polices proportionnelles (les plus communes) sont faites pour être plus jolies, alors que les monospaces pour avoir une largeur régulière. On en revient à la fiabilité de la conversion texte -> minutage.

Je ne sais pas pourquoi Courier semble être devenu le standard de fait dans le cinéma, mais je ne crois pas qu’utiliser une autre police puisse être un quelconque problème. Utilisez simplement une autre police à chasse fixe.

Note: l’année passée, j’ai lu 3 scenari (hors ZeMarmot) et en fait aucun n’utilisait Courier, ni la plupart des règles décrites ici. Je ne suis pas sûr à quel point ces règles sont réclamées par les productions, mais elles ne semblent pas si strictes en France.

Écrire avec LibreOffice

À ce jour, j’écris simplement dans LibreOffice. Je ne vais pas faire un tutoriel, mais juste donner un simple conseil: utilisez les styles! Ne formatez pas directement: pas de gras, ou de soulignement, notamment pour les titres…
À la place, créez des styles pour “Text body” (défaut), “Dialogue speaker”, “Dialogue”, “Scene title”… Puis sauvegardez un template que vous pourrez réutiliser à loisir.

Aparté: en cherchant des références, j’ai lu des remarques étrange du type “avec un traitement de texte, vous risquez d’avoir des titres en bas de page” pour finalement conseiller de se procurer un logiciel dédié. C’est une méconnaissance claire des logiciels de traitement de texte. Avec les styles, cela n’arrive pas (option “Keep with next paragraph” dans l’onglet “Text flow“, ce qui est la valeur par défaut de tout style de titre).

Note: bien sûr, les logiciels dédiés sont plus que cela et rendront la vie du scénariste plus simple. Je prévois aussi d’en développer un. Donc je ne vais pas vous dire que cela ne sert à rien! Je veux simplement dire qu’en attendant qu’un tel logiciel libre existe, et si vous n’avez pas les moyens pour payer une licence d’un logiciel propriétaire, les logiciels de traitement de texte font tout à fait l’affaire quand on sait s’en servir.

C’est tout? Je suis ces règles et j’ai un minutage?

Bien sûr, c’est là qu’on se réveille. Tout d’abord, les langues sont intrinsèquement plus ou moins verbeuse. Ainsi l’allemand ou le français sont plus verbeux que l’anglais, lui-même plus verbeux que le japonais. Avec le même formatage, une page de votre texte pourrait durer 1 minute en français alors que la traduction en japonais sera plus rapide.

Puis rentre en jeu le style du scénariste. Chacun a son style, certains concis, d’autres plus étalés. Vous écrivez très probablement la même histoire avec un timing différent que votre voisin.

Et donc vous devez évaluer vos scripts différemment. Vous pouvez tenter de les jouer pour estimer votre timing. Vous pourrez alors créer votre propre conversion texte -> minutage, ou plutôt adapter votre format. Ainsi si vos pages vont trop vite, vous pourriez écrire plus petit, ou diminuer les marges.

Bien sûr, peut-être que votre style est simplement trop verbeux. Un scénario n’est pas une nouvelle. Vous n’essayez pas de faire un beau texte avec métaphores et figures de style. Vous écrivez un texte pour des acteurs (ou dans notre cas des peintres et animateurs).

Le cas ZeMarmot

En outre la règle 1 min = 1 page n’est pas fiable à l’intérieur d’un même document: une page sans dialogue pourra durer plusieurs minutes (les descriptions et actions sont plus condensées que des dialogues) alors qu’une page remplie uniquement de dialogues courts peut durer juste quelques secondes. Mais ce n’est pas grave: tout est question de moyenne. Cette règle de minutage n’est pas faite pour être exacte à la seconde, mais pour donner une approximation utile sur le document global.

ZeMarmot de son côté est particulier du fait qu’il n’y a aucun dialogue. Allait-on finir avec des pages de 5 minutes chacune? Grande question, en particulier car c’est mon premier scénario. Aryeom a aidé par son expérience, nous avons joué quelques scènes, avons essayé de les imaginer… Voici un exemple vivant montrant que peu de règles peuvent être universelles. Pour nous, ce fut donc plus dur de calibrer notre règle de minutage à partir du scénario.

Animatique

L’étape après le storyboarding est la création d’animatiques (en particulier pour le film d’animation). Cela nous permet de minuter plus précisément chaque scène, et même chaque plan. Cela nécessite un peu d’imagination puisque certaines images peuvent être affichées plusieurs seconde dans une animatique peu précise, mais cela donne tout de même une idée acceptable de ce qu’il se passe à l’écran. Au final, il s’agit du meilleur minutage que vous pourrez avoir d’un film avant la production elle-même. Pour de l’animation, c’est même très précis.

Le scénariste doit-il être esclave du minutage?

La grande question! En effet, vous pouvez obtenir un minutage différent de votre attente. Il y a 2 cas: trop long ou trop court.

Trop court, c’est assez facile, à moins que ce ne soit vraiment vraiment trop court (par exemple vous risquez de passer sous la barre long-métrage). Hormis cela, je pense qu’il est préférable d’avoir un film court et intense qu’un film long et ennuyeux.

Malheureusement trop long semble être la norme. Beaucoup de films sortent avec une durée de 2h30, voire 3h. J’en ai vu plusieurs ces dernières années qui étaient vraiment ennuyeux. Et je parle pas d’art et d’essai, mais bien de gros blockbusters remplis d’action. Non, décidément, 3h de superhéros qui se battent, c’est trop!
Donc mon conseil si votre script est beaucoup trop long: demandez vous si c’est vraiment nécessaire et si cela ne rendra pas le film chiant. Bien sûr, je ne fais pas les règles. Si vous bossez pour Hollywood, premièrement je doute que vous me lisiez; deuxièmement vous ferez bien ce que vous voudrez et les gens iront quand même voir le film. En tous cas, pour ZeMarmot, nous prévoyons de ne pas être trop ennuyeux (en tous cas par la durée du film).

Et voilà. Ce sont les résultats de mes expérimentations sur le minutage d’un film en pré-production. Bien entendu, je le répète: je suis débutant moi-même dans le domaine. Il s’agit ici d’un condensé de mes recherches, et de nos expériences communes. Donc ne prenez pas mes paroles pour argent comptant. N’hésitez pas à réagir en commentaire d’ailleurs si vous avez vous-même de l’expérience dans le domaine ou juste pour partager des opinions ou idées sur le sujet.

À propos: le pilote de ZeMarmot (pas le film final) est minuté à 8 minutes environ. 🙂

Rappel: pour aider notre film d'animation à voir le jour, lequel est
fait avec des logiciels libres — et pour lequel nous contribuons aussi
beaucoup de code — et qui sera sous licence Creative Commons by-sa 4.0
international, vous pouvez contribuer financièrement en USD sur
Patreon ou en EUR sur Tipeee.