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! 🙂