Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

G’MIC 4.0 : La quadrature du pixel, plus facile que jamais !

Dix-huit ans après ses débuts, G’MIC, cadriciel libre pour le traitement des images numériques, franchit une étape importante avec la sortie d'une nouvelle version majeure, numérotée 4.0, la version de la maturité !

L'occasion, comme chaque année, de faire le point sur les évolutions récentes de ce projet, depuis notre dernière dépêche publiée en août 2025.

G´MIC 4.0 Teaser

N. D. A. : Cliquez sur les images pour en obtenir une version en pleine résolution, ou une vidéo correspondante lorsque les images contiennent l’icône Icône 'Play Video'

Sommaire

1. G’MIC : Un cadriciel libre pour l'image numérique

Le projet G'MIC (GREYC's Magic for Image Computing) est né en juillet 2008, et a grandi au sein de l'équipe IMAGE du laboratoire GREYC de Caen (Unité Mixte de Recherche placée sous la triple tutelle du CNRS, de l'ENSICAEN et de l'Université de Caen).

Sa vocation : offrir un cadriciel libre, ouvert et extensible pour la manipulation, le traitement et la création d'images numériques. Pour ce faire, il s'appuie sur les fonctionnalités de la bibliothèque libre C++ de traitement d'images CImg, développée depuis 1999 d'abord au sein de l'INRIA, puis de l'équipe IMAGE du GREYC (également par votre serviteur).

Au cœur du projet se trouve un interpréteur de langage de script dédié, le « langage G'MIC », spécialement conçu pour prototyper rapidement de nouveaux algorithmes de traitement d'images, et les enchaîner au sein de pipelines (ou filtres) personnalisés. Autour de ce noyau viennent se greffer plusieurs interfaces, donnant à l'utilisateur accès à des centaines d'opérateurs de traitement d'images prédéfinis, comme par exemple l'outil en ligne de commande gmic ; le service Web G'MIC Online ; et le greffon G'MIC-Qt, qu'il est possible d'intégrer dans plusieurs logiciels de création et d'édition d'images, tels que GIMP, Krita, digiKam, Paint.net, Adobe Photoshop ou Affinity Photo. C'est aujourd'hui ce greffon qui est l'interface du projet la plus utilisée, avec plus de 1200 téléchargements quotidiens, en progression depuis un an. Il propose plus de 640 filtres variés pour triturer vos images et enrichir les possibilités des logiciels de retouche, et semble particulièrement apprécié des artistes numériques.

Cette version majeure 4.0 marque un tournant dans la vie du projet : la syntaxe du langage G'MIC, le code de l'interpréteur et des algorithmes de traitement d'images associés sont maintenant éprouvés. Nous souhaitons donc ralentir un peu le rythme des nouvelles releases et de l'ajout de nouvelles fonctionnalités, pour nous concentrer sur la stabilité, la robustesse, et les performances du cadriciel.

Aperçu du greffon G'MIC-Qt Fig. 1.1. Aperçu de quelques-unes des interfaces proposées par le projet G'MIC : Greffon G'MIC-Qt pour GIMP (en haut à gauche), Outil CLI gmic (en haut à droite), Service web G'MIC Online (en bas).

2. Nouveaux filtres du greffon G'MIC-Qt

Côté greffon G'MIC-Qt, l'essentiel des nouveautés se concentre sur l'apparition de nouveaux filtres de traitement d'images. La version 4.0 porte leur nombre à 644, tous accessibles directement depuis l'interface graphique. Je liste ci-dessous les derniers filtres ajoutés.

2.1. Filtre « Rendering / Pixel Stretch »

Le filtre « Rendering / Pixel Stretch » permet de sélectionner une « bande de pixels », et la duplique dans l'image en lui faisant suivre une trajectoire personnalisable, définie par deux courbes splines (une pour chaque bord de la bande).

Filtre 'Rendering/Pixel Stretch' (G'MIC-Qt) Fig. 2.1.1. Le filtre « Rendering / Pixel Stretch » tel qu'il apparait dans le greffon G'MIC-Qt.

Filtre 'Rendering/Pixel Stretch' (rendu 1) Fig. 2.1.2. Exemple de rendu du filtre « Rendering / Pixel Stretch », ici avec deux traînées de pixels ajoutées par le filtre.

Cet effet donne l'impression que l'image a été étirée localement, un peu comme une pâte élastique. Il peut servir à suggèrer ou styliser un mouvement dans une image, comme sur l'exemple ci-dessous (extrait de la vidéo tutorielle que Miguel Pineau a spécialement dédiée à ce filtre).
On peut également imaginer son utilisation pour du Glitch art ou de la création de textures abstraites.

Filtre 'Rendering/Pixel Stretch' (rendu 2) Fig. 2.1.3. Le filtre « Rendering / Pixel Stretch » appliqué pour styliser le mouvement d'une danseuse (Crédits : Miguel Pineau).

2.2. Filtre « Rendering / Gradients [Poles] »

Toujours dans cette section « Rendering », notons l'arrivée de « Rendering / Gradients [Poles] », un filtre générant des dégradés de couleurs en interpolant spatialement des points-clés colorés, dont les positions et les couleurs sont laissées au choix de l'utilisateur. Ici, l'interpolation fait usage des fonctions de base radiale qui produisent des dégradés de couleurs lisses et harmonieux. L'utilisateur a également le choix de l'espace de couleurs dans lequel l'interpolation s'effectue. L'animation ci-dessous illustre le fonctionnement de ce filtre au sein du greffon.

Filtre 'Rendering/Gradient (Poles)' (G'MIC-Qt) Fig. 2.2.1. Le filtre « Rendering / Gradient [Poles] » crée des gradients spatiaux de couleurs possiblement complexes, à partir de quelques points de contrôle.

2.3. Filtre « Artistic / Marker Drawing »

Passons maintenant au filtre « Artistic / Marker Drawing », qui comme son nom l'indique, essaye de redessiner une image d'entrée sous la forme de traits de stylos feutres colorés. L'algorithme sous-jacent trace effectivement des splines colorées aléatoires sur une feuille blanche, le long des contours des structures géométriques présentes dans l'image à reproduire.

Filtre 'Artistic/Marker Drawing' (G'MIC-Qt) Fig. 2.3.1. Le filtre « Artistic / Marker Drawing » redessine une image en simulant l'utilisation de stylos feutres colorés.

Les nombreux paramètres réglables de ce filtre permettent d'obtenir des rendus potentiellement variés, plus ou moins abstraits, comme l'illustre la figure comparative suivante :

Filtre 'Artistic/Marker Drawing' (rendus) Fig. 2.3.2. Trois types de rendus du filtre « Artistic / Marker Drawing », utilisant trois jeux de paramètres différents.

2.4. Filtre « Deformations / Heightfield Warp »

Changeons maintenant de thématique avec le filtre « Deformations / Heightfield Warp » qui crée un effet 3D, en déformant une image d'entrée comme si elle était plaquée sur une carte d'élévation (définie de manière paramétrique). Un effet d'éclairage additionnel, de type ombrage de Phong, peut être activé pour accentuer davantage l'effet de volume 3D produit par ce filtre.

Filtre 'Deformations/Heightfield Warp (G'MIC-Qt) Fig. 2.4.1. Le filtre « Deformations / Heightfield Warp », tel qu'il apparait dans le greffon G'MIC-Qt, ici avec une élévation correspondant à une demi-sphère bombée vers la caméra.

Ce filtre est particulièrement flexible : il laisse la possibilité à l'utilisateur de définir explicitement des formules mathématiques personnalisées pour les cartes d'élévations. Les mathématiciens en herbe peuvent ainsi laisser libre cours à leur imagination pour déformer leurs images !

Filtre 'Deformations/Heightfield Warp (rendus) Fig. 2.4.2. Application de trois formules personnalisés de cartes d'élévations 3D, avec le filtre « Deformations / Heightfield Warp ».

2.5. Filtre « Degradations / Offset Stripes »

Les amateurs de Glitch art pourront être séduits par le nouveau filtre « Degradations / Offset Stripes », qui crée un effet de décalage de bandes d'images, horizontales et/ou verticales, avec des amplitudes de décalage aléatoires.

Filtre 'Degradations/Offset Stripes (G'MIC-Qt) Fig. 2.5.1. Le filtre « Degradations / Offset Stripes » applique des décalages aléatoires sur des bandes d'images horizontales et/ou verticales.

Ce principe de base est tout simple, mais là encore, les nombreux paramètres du filtre donnent accès à des décalages décorrélés sur chaque canal, pour des espaces couleurs variés, en pouvant itérer ces décalages aléatoires, et autorisent ainsi une grande variété de dégradations d'images de type « Glitch », comme illustré sur la figure ci-dessous.

Filtre 'Degradations/Offset Stripes (rendus) Fig. 2.5.2. Résultats de différents jeux de paramètres du filtre « Degradations / Offset Stripes », appliqués sur une même image de portrait.

2.6. Filtre « Colors / Transfer Colors [Multi] »

Et pour terminer ce résumé des nouveaux filtres du greffon G'MIC-Qt, j'ai gardé le plus intéressant pour la fin : le filtre « Colors / Transfer Colors [Multi] » est un nouveau filtre de transfert de couleurs entre deux images.

Le transfert de couleur consiste à appliquer une transformation couleur à une image « Source », en prenant comme référence une deuxième image (image dite de « Style ») dont on veut reproduire le style ou l'ambiance colorimétrique, et ceci bien sûr en préservant autant que possible les structures importantes (contours, objets, contenu sémantique) présentes dans l'image « Source » d'origine.

Principe du transfert couleur entre images Fig. 2.6.1. Principe du transfert de couleur entre images: une image « _Source » (à gauche) est modifiée (à droite) de telle façon qu'elle « emprunte » les couleurs d'une image de « Style » (au centre)._

D'un point de vue algorithmique, il y a de nombreuses façons d'aborder ce type de transfert. Le filtre « Colors / Transfer Colors [Multi] », comme son nom le suggère, implémente trois méthodes différentes pour ce faire : une méthode ACP ; une méthode de transfert d'histogrammes ; et enfin une méthode variationnelle. Pour utiliser ce filtre dans le greffon G'MIC-Qt, il suffit de l'appeler sur une image contenant deux calques superposés : un calque contenant l'image « Source » à modifier, et un calque avec l'image « Style » contenant les couleurs de référence à transférer.

Filtre 'Colors/Transfer Colors (Multi) Fig. 2.6.2. Le filtre « Colors / Transfer Colors [Multi] » tel qu'il se présente dans le greffon G'MIC-Qt.

L'algorithme variationnel de transfert de couleur implémenté dans ce filtre est une production totalement originale : il est le fruit d'une collaboration de recherche entre deux membres de l'équipe IMAGE du laboratoire GREYC de Caen (D. Tschumperlé et J. Rabin), et d'une professeure du laboratoire de mathématiques LMI de l'INSA de Rouen (C. Le Guyader).

Bref, un algorithme 100 % normand, qui fonctionne forcément « vachement 🐄 bien » 😉, et que vous ne trouverez nulle part ailleurs !
On remercie chaleureusement la Fédération Normande de Recherche en Sciences et Technologies de l’Information et de la Communication (NormaSTIC) pour son aide financière qui a accéléré la mise en contact et le démarrage de cette collaboration fructueuse !

Notre méthode a plusieurs caractéristiques propres permettant de calculer des transferts de couleurs souvent pertinents, et de bonne qualité comparativement à ses concurrentes, et ce, de manière rapide et complètement automatique. La figure ci-dessous illustre des exemples de transferts de couleurs qu'il est possible d'obtenir pour une même image « Source », en choisissant des images de « Style » différentes (et en laissant les paramètres par défaut du filtre).

Filtre 'Colors/Transfer Colors (Multi) (rendus) Fig. 2.6.3. Exemples de transferts de couleurs réalisés par le filtre « Colors / Transfer Colors [Multi] » sur une même image « Source », avec plusieurs images « Style » différentes.

La technique que nous proposons autorise également un mode « semi-supervisé » qui permet à l'utilisateur de forcer certaines correspondances de couleurs, et donc de « guider » l'algorithme pour calculer une solution de transfert plus contrainte et personnalisée.
Les deux exemples ci-dessous illustrent ce mode de contrôle de manière assez parlante :

Filtre 'Colors/Transfer Colors (Multi) (rendu guidé 1) Fig. 2.6.4. Guidage de l'algorithme de transfert de couleurs par mise en correspondance forcée de couleurs (Perruche → Mésange).

Ici, les plumes vertes du corps de la perruche (a) sont perceptuellement plus proches de la couleur jaune du corps de la mésange (b), et c'est donc cette mise en correspondance qui est réalisée par défaut par l'algorithme de transfert (résultat (c)). En explicitant des correspondances de couleurs souhaitées (liens symbolisés entre les images (a) et (b)), on peut modifier ce comportement et contraindre le transfert à assigner la couleur bleue de la mésange aux plumes de la perruche (résultat (d)).

Filtre 'Colors/Transfer Colors (Multi) (rendu guidé 2) Fig. 2.6.5. Guidage de l'algorithme de transfert de couleurs par mise en correspondance forcée de couleurs (Coccinelle → Formule 1).

Dans ce deuxième exemple, on note que la couleur rouge de la Coccinelle (a) se retrouve ailleurs dans l'image « Style » de la Formule 1 (b) : au bord de la route, sur les coquelicots… L'algorithme décide donc naturellement de conserver cette couleur quasiment telle quelle lors du transfert automatique (résultat (c)). Forcer des correspondances de couleurs explicites permet de guider l'algorithme pour lui faire changer la couleur de la Coccinelle en vert (résultat (d)).

Vous l'aurez compris, ce filtre représente l'aboutissement d'un travail de recherche de longue haleine en algorithmique du traitement d'images. Pour des chercheurs comme nous, il est réjouissant d'être arrivé au bout du processus complet : élaborer un nouvel algorithme complexe sur un bout de papier, le développer, l'implémenter, le peaufiner, en obtenir des résultats encourageants, le peaufiner encore et encore, en écrire une description détaillée dans un article scientifique (en cours de finalisation), l'intégrer proprement et le rendre utilisable par tout un chacun dans un logiciel libre, en sachant qu'il pourra être testé et utilisé potentiellement des milliers de fois !

Notons que ce n'est pas la première fois qu'une méthode de traitement d'images développée au sein de notre laboratoire de recherche se retrouve valorisée dans G'MIC. Cette page recense plusieurs publications scientifiques décrivant des algorithmes élaborés au sein de l'équipe IMAGE du GREYC, et qui sont accessibles comme filtres du greffon G'MIC-Qt.

3. Nouveautés et améliorations du cœur du logiciel et de sa bibliothèque standard

Comme évoqué précédemment, le terme G'MIC peut faire référence au langage de script du même nom. Ce langage est doté de son propre interpréteur et de sa bibliothèque standard de fonctions. Il est utilisé pour implémenter tous les filtres et opérateurs de traitement d'images mis à disposition des utilisateurs des différentes interfaces du projet.

Durant l'année écoulée, un grand nombre de petites améliorations ont été implémentées conjointement sur ce langage et sa bibliothèque standard.
En réalité, l'ensemble de ces contributions représente même la majorité du travail de développement réalisé, et en même temps ce sont des choses qu'il est difficile de valoriser dans une dépêche grand public : elles concernent principalement des points très précis et techniques du projet, comme par exemple des optimisations du parsing ou des algorithmes, du nettoyage de code, de nouvelles fonctions ou options pour l'évaluateur d'expressions mathématiques, etc.
Ce sont bien sûr des ajouts utiles pour les développeurs de nouveaux filtres dans ce langage, mais il est difficile de les mettre en valeur de manière réellement plaisante.

J'ai donc pris le parti de lister ci-dessous uniquement les quelques nouveautés facilement « illustrables » :

  • La nouvelle commande random_patches réalise un rendu procédural d'images carrées contenant des formes géométriques et des textures synthétiques aléatoires. À quoi cela peut-il bien servir, me direz-vous ? Eh bien par exemple, à générer des ensembles d'images pour l'entrainement de réseaux de neurones convolutionnels, pour des tâches de débruitage et de super-résolution (ces réseaux sont ceux utilisés par les commandes denoise_cnn et scale2x_cnn).

Commande 'random_patches' (rendus) Fig. 3.1. La commande random_patches synthétise des images carrées contenant des formes géométriques et des textures aléatoires.

Ces images sont en réalité suffisamment complexes pour qu'un réseau de neurones puisse apprendre des filtres convolutionnels pertinents pour l'analyse semi-locale de la géométrie des structures présentes dans des images plus naturelles. Ces filtres appris peuvent ensuite être utilisés dans des tâches de débruitage ou de super-résolution, qui sont des problèmes très géométriques et qui ne nécessitent pas vraiment une analyse sémantique du contenu des images. Utiliser ces données synthétiques pour entrainer des réseaux simples est donc largement suffisant pour ce type d'applications. D'une part, cela évite de stocker de grandes bases d'images volumineuses lors de l'entrainement (les images synthétiques étant générées à la volée). Et d'autre part, on évite automatiquement d'enfreindre le copyright éventuel des images présentes dans les ensembles d'apprentissage prédéfinis (dont la provenance n'est pas toujours clairement citée, avouons-le).

Commande 'shape_hilbert (rendus) Fig. 3.2. La commande shape_hilbert trace une courbe de Hilbert dans une image, commande illustrée ici avec des niveaux croissants de récursions.

  • La nouvelle commande pca calcule une analyse en composantes principales (ACP) d'un ensemble de vecteurs. Ce type d'analyse permet à la fois de déterminer la dimensionnalité représentative de données vectorielles, ainsi que leurs orientations principales dans l'espace. L'ACP a de nombreuses applications en traitement d'images et plus généralement en analyse de données : débruitage, compression, reconnaissance de visages, analyse de textures, recalage géométrique, etc. L'exemple ci-dessous illustre son utilisation pour déterminer l'orientation des axes principaux (dessinés en pointillés) d'une silhouette de libellule.

Commande 'pca') Fig. 3.3. La commande pca est utilisée ici pour calculer les orientations des axes principaux d'une silhouette binaire 2D.

  • Les nouvelles commandes depthmap3d et normalmap3d viennent enrichir les possibilités de rendus d'objets 3D maillés de G'MIC, en synthésisant des rendus d'un objet respectivement sous la forme de cartes de profondeurs et de normales 3D.

Commandes 'depthmap3d' et 'normalmap3d') Fig. 3.4. Les commandes depthmap3d et normalmap3d appliquées sur un modèle 3D en rotation.

  • Mentionnons enfin le travail d'amélioration général ciblé sur les algorithmes d'opérations matricielles présents dans G'MIC : arrivée de la décomposition QR (avec pivot), amélioration de la précision de calcul pour l'inversion de matrices et la résolution de systèmes linéaires… Et même s'il est difficile de rendre ça visuel, je vous propose cette petite ligne de commande qui crée une matrice carrée 40×40 aléatoire, qui l'inverse et qui calcule le produit des deux pour vérifier que l'on retrouve bien la matrice identité.
$ gmic 40,40 rand -1,1 +invert +mmul name A,invA,'A*invA'

Commande 'invert') Fig. 3.5. Exemple de l'utilisation de gmic en ligne de commande pour l'inversion d'une matrice aléatoire.

Tout ceci n'est bien sûr qu'un aperçu succinct de ce qui a été réalisé sur le cœur de G'MIC cette année. Pour plus de détails techniques, la consultation des Changelog est recommandée.

4. Nouveau dépôt de codes sources: gmic-interactive-demos

En tant que membre d'un laboratoire public de recherche, j'ai l'occasion de participer ponctuellement à des évènements de vulgarisation scientifique (tels que la Fête de la science, le FÉNO, etc.), où l'on présente certaines de nos activités de recherche au grand public (en algorithmique du traitement d'images en ce qui me concerne). Pour rendre ces présentations plus attractives et ludiques, j'ai élaboré au fil des ans, différents programmes et bornes de démonstration interactifs, en me reposant sur les possibilités offertes par le langage G'MIC.

Ces applications libres (sous licence CeCILL) sont maintenant accessibles sur ce dépôt logiciel : github.com/GreycLab/gmic-interactive-demos

Elles pourront intéresser des enseignants et/ou chercheurs souhaitant illustrer différents concepts du traitement d'images à des publics de néophytes. Ces codes illustrent aussi les capacités du langage G'MIC pour la création de programmes interactifs, et ceci indépendamment du greffon G'MIC-Qt.

Pour le moment, trois démonstrateurs sont présents dans ce dépôt logiciel. Ils sont détaillés ci-dessous.

4.1. The SteamFace Machine

« The SteamFace Machine » est le démonstrateur le plus récent. Il montre le fonctionnement des réseaux de neurones convolutionnels pour la détection d'un visage dans une image, et l'analyse de caractéristiques propres à ce visage, le tout enrobé dans un style SteamPunk du plus bel effet !

The SteamFace Machine (intro) Fig. 4.1.1. Écran de lancement du démonstrateur « The SteamFace Machine ».

Le flux vidéo capturé par la webcam s'affiche à l'écran, et lorsqu'un visage est placé au centre de l'image, la jauge de détection faciale s'active. En bas à droite, on peut apercevoir la sortie de différentes couches intermédiaires du réseau de neurones réalisant la détection (classifieur binaire avec une architecture de type LeNet-5).

The SteamFace Machine (main) Fig. 4.1.2. Détection du visage par un réseau de neurones convolutionnel dans le démonstrateur « _The SteamFace Machine »._

Une fois la détection opérée, un deuxième réseau est inféré pour en extraire différentes caractéristiques faciales : genre, âge, type de cheveux, port de lunettes ou de chapeau, taille du nez…

The SteamFace Machine (caractéristiques) Fig. 4.1.3. Analyse de quelques caractéristiques liées au visage détecté.

C'est une manière visuellement amusante de présenter le fonctionnement de classifieurs neuronaux au grand public, leurs capacités mais aussi leurs limites et les biais inhérents aux bases d'apprentissage utilisées pour les entrainer (dans le cas de ce démonstrateur, la base CelebA, qui contient des images assez éloignées de celles que l'on acquiert via la webcam dans un environnement non-contrôlé tel qu'un parc des expositions).

Mentionnons également la belle contribution de notre cher collègue Philippe Bernard, du service Administration système et réseaux du GREYC, qui a réalisé une borne physique de démonstration intégrant « The SteamFace Machine », facilement transportable à des évènements de médiation scientifique !

The SteamFace Machine (borne) Fig. 4.1.4. Vidéo de démonstration de la borne « The SteamFace Machine » quand elle était en cours d'élaboration.

4.2. Virtual Artist

« Virtual Artist » est un deuxième démonstrateur interactif, qui cherche à illustrer le principe du « transfert de style » entre deux images.
Nous avons précédemment évoqué le transfert de couleurs (en section 2.6). Le transfert de style en est une extension naturelle : au lieu de transférer uniquement les couleurs, on cherche à transférer tout le style graphique d'une image « Style » vers l'image « Source ».
C'est bien sûr un problème autrement plus complexe, et les méthodes les plus performantes du domaine utilisent généralement de gros réseaux de neurones.

« Virtual Artist » n'a pas la prétention d'être à la pointe de l'état de l'art : c'est avant tout un démonstrateur pédagogique pour expliquer le principe général du transfert de style en traitement d'images. L'utilisateur peut jouer avec différentes images de « Source » et de « Style » prédéfinies. La figure ci-dessous illustre quelques-uns des écrans principaux de l'application.

Virtual Artist Fig. 4.2.1. L'application « Virtual Artist » illustre le principe du transfert de style entre deux images.

Ce démonstrateur a été utilisé de nombreuses fois sur une grande table tactile, dans des évènements grand public, et fait toujours son petit effet !

Virtual Artist (FÉNO) Fig. 4.2.2. L'application « Virtual Artist » utilisée comme démonstrateur, ici au Festival de l'Excellence Normande (FÉNO) en 2021.

4.3. GREYC Warp

« GREYC Warp », le dernier démonstrateur de ce nouveau dépôt logiciel, implémente un miroir déformant interactif. L'utilisateur voit en direct le flux de la webcam et peut créer, déplacer ou supprimer des points clés qui définissent une déformation appliquée en temps réel. Une dizaine de transformations pré-définies sont également proposées.

GREYC Warp Fig. 4.3.1. L'application « GREYC Warp » vous laisse déformer le flux vidéo de votre webcam, de manière interactive, et non sans humour !

Pour avoir testé ce démonstrateur en situation réelle lors d'expositions, ça fait beaucoup rire les enfants (mais pas les plus jeunes qui pensent que ça reflète vraiment l'apparence de leur tête et qui peuvent se mettre à pleurer). Une application toute simple mais néanmoins amusante !

5 G'MIC et le code créatif

Ces quelques démonstrateurs esquissent déjà l'image d'un langage G'MIC adapté au code créatif, qui consiste, selon Wikipedia, à « utiliser la programmation informatique comme un moyen d'expression artistique (visuel, musical, littéraire, interactif, performatif…) à part entière ».

5.1. Codes créatifs courts

En tant qu'ancien demomaker, le code créatif est forcément un domaine qui me tient à cœur, et j'écris et partage régulièrement des scripts courts sur le forum de G'MIC pour expérimenter de nouvelles idées d'effets graphiques, ou en reproduire certains sur lesquels je suis tombé et que je trouve captivants.
Quelques-uns de ces effets récents sont décrits ci-dessous, avec à chaque fois, un accès vers le code source correspondant (script .gmic).

  • Agrégation limitée par diffusion tournoyante : Cet effet est une variante de l'agrégation limitée par diffusion, implémentant un système de particules en mouvement qui sont stoppées dès lors qu'elles rencontrent une masse d'éléments plus anciens, déjà immobiles. On ajoute à tout ça une rotation, un zoom inverse, une palette de couleurs, et le tour est joué ! Le code source de cet effet atteint difficilement les 36 lignes, commentaires inclus !

Diffusion-Limited-Aggregation (animation) Fig. 5.1.1. L'effet animé « Agrégation limitée par diffusion tournoyante », rendu par G'MIC.

  • Courbe de Hilbert néon : Cette animation stylise le dessin d'une courbe de Hilbert par un tracé incrémental faisant songer à un néon. Ici, le code source est beaucoup plus conséquent (52 lignes 😉).

Hilbert-Curve (animation) Fig. 5.1.2. L'effet animé « Courbe de Hilbert néon », rendu par G'MIC.

  • Morphing de formes : Ici, deux silhouettes se transforment l'une vers l'autre via un morphing continu. On utilise des edgels pour l'extraction et la paramétrisation du contour des deux silhouettes à transformer. Le code source de cet effet revient à un nombre de lignes de code quand même plus raisonnable que précédemment (36 lignes).

Morph Shape (animation) Fig. 5.1.3. L'effet animé « Morphing de formes », rendu par G'MIC.

  • Tunnel 3D : Celui-ci est l'un de mes préférés. C'est certes un effet ultra-classique dans le monde de la scène démo, mais le rendu est sympa. Et avec ses 68 lignes, le code source pour générer cette animation de 256 frames (qui cyclent parfaitement) reste dans les limites du raisonnable !

Tunnel 3D (animation) Fig. 5.1.4. L'effet animé « Tunnel 3D », rendu par G'MIC.

  • One-liner géométrique : Le langage G'MIC, grâce à sa syntaxe délibérément concise, est un candidat idéal pour la création de one-liners. Une section entière de la documentation de référence est d'ailleurs dédiée à quelques one-liners amusants. Étant tombé par hasard sur cette belle image créée avec GeoGebra par Georg Wengler, j'ai souhaité la retranscrire en langage G'MIC sous la forme d'une unique ligne de commande affichant une animation, et voici le résultat (et heureusement qu'une ligne de code ne se limite pas à 80 caractères !)
$ gmic 12,12,256,2,"a = 1 + x; b = 1 + y; t = lerp(0,2*pi*b,z/d); cos(a/b*t)*cexp([0,t])" 12,12,1,2,"S = crop(#-1,x,y,0,c,1,1,d#0,1); S = round(45*(S - avg(S)) + 50); draw(#-1,S,x,y,0,c,1,1,d#0,1)" rm. 1200,1200,1,3,255 repeat 256 { 12,12,1,1,"repeat (16,l, X = 100*[x,y] + round(I(#0,x,y,$> + l/16,2,2)); ellipse(#-1,X,1,1,0,1,0))" rm. +rs. 600 w. rm. wait 20 } rm

cos(ab) (animation) Fig. 5.1.5. L'effet animé « cos(ab) », rendu par G'MIC.

L'ensemble de ces nouvelles animations se retrouve dans la section Gallery du site web de G'MIC.

5.2. Continuation de la série « G'MIC Adventures »

De temps en temps, j'essaie aussi de partager l'ensemble du processus permettant d'arriver (en partant de zéro) à un résultat de code créatif.
Et cela, rédigé sous la forme d'un petit article partagé sur le forum de G'MIC. Cette série d'articles est nommée « G'MIC Adventures ». Je l'avais évoquée dans notre dernière dépêche. Deux nouveaux épisodes de cette série sont parus depuis :

  • Apprentissage d'un perceptron multi-couches pour la reproduction d'une image couleur (G'MIC Adventure #5) :

Dans ce cinquième épisode, on cherche à entrainer un réseau de neurones simple (un perceptron multi-couches) capable d'apprendre une fonction image entière (x,y)\to(R,G,B), c'est-à-dire un réseau capable de prédire une couleur (R,G,B) correcte à partir d'un vecteur de coordonnées (x,y) donné en entrée. Il est particulièrement intéressant de visualiser l'image couleur que le réseau est capable de reproduire à chaque itération de son apprentissage (figure ci-dessous), et ce, jusqu'à convergence.

MLP (animation) Fig. 5.2.1. Reconstruction itérative d'une image couleur obtenue par l'apprentissage d'un perceptron multi-couches.

Dans ce sixième épisode, on s'intéresse à l'implémentation en G'MIC de l'équation d'ondes et ses possibilités pour appliquer des effets de déformations amusants sur des images, comme l'illustre la figure suivante qui correspond au résultat obtenu à la toute fin de l'article.

Wave equation (animation) Fig. 5.2.2. Application d'une équation d'ondes anisotrope pour la déformation d'une image le long de ses contours.

Les exemples présentés dans cette section montrent que G'MIC a du potentiel pour le code créatif, notamment pour l'expérimentation rapide de codes d'effets graphiques. Le fait qu'il soit utilisable en ligne de commande (via la commande gmic) en fait un allié précieux pour générer des animations ou pour modifier des lots d'images de manière automatisée.

6. Autres nouvelles liées au projet

Pour finir cette longue dépêche, voici en vrac quelques autres nouvelles notables liées au projet :

  • Diffusion de G'MIC : Avec le temps, la diffusion de G'MIC s'accélère et son installation se simplifie. Notons tout d'abord que G'MIC-Qt a été parmi les premiers greffons disponibles lors de la sortie de la version majeure 3.2 de GIMP. L'installation de ce greffon est maintenant aussi largement simplifiée pour les utilisateurs de macOS, grâce au travail remarquable des empaqueteurs de MacPorts, qui en proposent une version toujours très à jour.

Nous avons également appris que G'MIC suscite l'intérêt des projets suivants :

  1. Le projet G'MIC-GEGL a pour objectif d'exposer les différents filtres du greffon G'MIC-Qt directement sous forme de nœuds GEGL, qui est la bibliothèque de traitement utilisée en interne dans GIMP. Cela voudrait dire que les effets de G'MIC-Qt pourraient à terme être utilisés dans des calques d'effets non-destructifs de GIMP.
  2. Le projet PhotoFlare est un nouvel éditeur d'images numériques multi-plateformes, et son développeur a annoncé y avoir intégré le greffon G'MIC-Qt afin de profiter de ses centaines de filtres proposés.
  3. Le projet gmic-affinity se propose de développer un greffon en Rust pour Affinity Photo, pour exposer le greffon G'MIC-Qt aux utilisateurs. Ce dernier est normalement déjà fonctionnel pour ce logiciel, via l'API 8bf (comme le montre cette vidéo), mais malheureusement pas encore pour les utilisateurs de macOS.
  4. Enfin, notons l'arrivée de G'MIC-Qt sur le Snap Store, proposant ainsi une façon alternative d'installer notre greffon pour GIMP.
  • Exposé : Début mai 2026, j'ai eu l'occasion de faire un bref passage au laboratoire LRDE de l'EPITA, sympathiquement invité par Marc Espie (enseignant et l'un des développeurs du projet OpenBSD), où j'ai donné une présentation intitulée « 25 ans de développement libre pour le traitement des images numériques ». Une vidéo de cette présentation a été captée et mise sur YouTube.

7. Conclusion

Cette version 4.0 marque un jalon important pour G'MIC : dix-huit ans après la première ligne de code, le projet a montré qu'un logiciel open-source né au sein d'un laboratoire de recherche public, et aux ressources modestes, peut s'installer durablement dans le paysage du graphisme numérique libre, et continuer à innover grâce à son écosystème ouvert et extensible.

Cette dépêche a cherché a montrer la maturité et la polyvalence de G'MIC. C'est un cadriciel multi-usages dont les interfaces variées peuvent toucher des publics différents, de l'artiste numérique au bidouilleur de la ligne de commande, en passant par le chercheur en traitement d'images, à partir du moment où une image numérique entre en jeu !

C'est aussi l'occasion de rappeler que rien de tout cela n'aurait été possible sans l'écosystème bienveillant qui gravite autour du projet. Nous tenons à remercier chaleureusement nos partenaires académiques (le CNRS, l'ENSICAEN, l'Université de Caen, la direction du GREYC), ainsi que l'ensemble de la communauté (testeurs, empaqueteurs, vidéastes et utilisateurs du quotidien). Votre soutien est très apprécié.

Les idées fourmillent, l'envie de triturer des pixels est toujours aussi présente, et on espère donc pouvoir continuer à développer et valoriser ce cadriciel libre comme il se doit dans le futur.

Y aura-t-il une nouvelle dépêche l'année prochaine ? L'avenir nous le dira !

Commentaires : voir le flux Atom ouvrir dans le navigateur

GPX2Video - GPS & Vidéo

Je vous ai fait part il y a quelque temps de mon petit projet de réaliser un logiciel sous Linux pour effectuer mes petits montages vidéos et y insérer les données de télémétrie (issues du GPS de la caméra ou d’un GPS externe).

Le journal publié à l’époque que vous pouvez consulter ici.

Où le projet en est-il ?

Le projet est réalisé en trois temps :

  1. Tout d’abord un outil en ligne de commande. L’utilisateur effectue la mise en page via un fichier XML, puis lance l’outil en fournissant en paramètre : la vidéo, le fichier de XML et un fichier GPX.
  2. Puis dans un deuxième temps une interface graphique pour effectuer la mise en page et exporter le résultat au format XML afin d’être utilisé par l’outil en ligne de commandes.
  3. Et enfin de tout réaliser directement via l’interface.

Bien sûr il y a encore beaucoup de travail et d’optimisation à faire ; mais c’est utilisable. Les sources sont maintenant disponibles.

L’interface est en cours de développement. Le projet étant en C++, l’interface est basée GTK4++. La visualisation du rendu peut être faite en temps réel.

Interface utilisateur en GTK4++

Les testeurs et testeuses sont les bienvenus.

Commentaires : voir le flux Atom ouvrir dans le navigateur

GIMP 3.2.0 est sorti

Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 3.2 du 14 mars 2026 (en anglais).

Nous sommes heureux de vous présenter la première version de GIMP 3.2 ! (NdM: et même la 3.2.2 depuis)
Cette version est le fruit d'une année de conception, de développement et de tests réalisés par des bénévoles et la communauté, conformément à notre plan visant à simplifier le rythme des mises à jour après GIMP 3.0.
Nous avons hâte de vous faire découvrir les nouvelles fonctionnalités de la version 3.2 !

Image de démarrage de GIMP 3.2, par Mark McCaughrean (CC by-sa 4.0)
Image de démarrage de GIMP 3.2, par Mark McCaughrean (CC by-sa 4.0)

Changements majeurs

Voici quelques-unes des nombreuses nouveautés à découvrir lors de la première utilisation de GIMP 3.2 :

  • Nouveaux calques non destructifs !

    • Vous pouvez désormais utiliser les calques liés pour intégrer des images externes à vos compositions. Redimensionnez, faites pivoter et transformez-les facilement sans perte de qualité ni de netteté. Le contenu du calque lié est mis à jour lorsque le fichier source est modifié.
    • L'outil Tracé peut maintenant créer des calques vectoriels, vous permettant de dessiner des formes avec des paramètres de remplissage et de contour ajustables.
  • L'outil Pinceaux de MyPaint a été mis à jour : 20 nouveaux pinceaux sont disponibles et il s'adapte automatiquement au zoom et à la rotation de votre zone de travail pour une peinture plus dynamique.

Pinceaux de MyPaint

  • Un nouveau mode de peinture « Écraser » vous permet de dessiner par-dessus les couleurs existantes sans mélanger leur transparence.

  • L'éditeur de texte intégré à la zone de travail bénéficie de plusieurs améliorations de flux de travail. Vous pouvez désormais déplacer l'élément à votre guise sur la zone de travail et utiliser de nombreux raccourcis courants, tels que Ctrl + B pour le texte en gras et Maj + Ctrl + V pour coller du texte non formaté. La fonction Contour du texte inclut également davantage d'options pour contrôler la direction du contour.

  • Prise en charge de nouveaux formats de fichiers et améliorations des formats existants, comme l'exportation DDS BC7 et l'importation de davantage de styles de calques pour les fichiers PSD. Grâce aux calques vectoriels, nous prenons désormais en charge l'exportation SVG et proposons des options vectorielles étendues pour l'exportation PDF.

  • Diverses améliorations de l'expérience utilisateur (UX) et de l'interface utilisateur (UI), basées sur vos commentaires et le travail de notre équipe de conception. En voici quelques exemples :

    • Possibilité d'utiliser les couleurs du thème pour les vignettes des pinceaux lors des aperçus, pour une meilleure expérience avec les thèmes sombres.
    • Possibilité de glisser-déposer des images sur l'onglet Image pour les ouvrir dans GIMP.
    • Prise en charge des raccourcis clavier pour les outils Cisaillement et Retournement.
    • Nouveau thème de couleurs « Système » qui adapte automatiquement les couleurs du thème de GIMP à celui défini pour votre système d'exploitation.
  • Le sélecteur de couleurs CMJN affiche désormais la « Couverture d'encre totale » de votre couleur, facilitant ainsi les ajustements lors de l'épreuvage écran, en fonction de la limite de couverture d'encre de votre imprimante.

Couverture d'encre totale

  • Pour les développeurs de scripts et de modules complémentaires, un nouveau explorateur de filtres GEGL a été ajouté afin de simplifier la recherche de filtres non destructifs.

En savoir plus

Nous avons préparé les notes de version qui détaillent toutes les modifications, améliorations, nouvelles fonctionnalités et bien plus encore. Pour encore plus d'informations, consultez le journal des modifications des versions de développement 3.1 et 3.2.

Mais pour le découvrir par vous-même, téléchargez GIMP 3.2 directement depuis notre page de téléchargements et testez-le !

Autres versions connexes

Pour accompagner la sortie de GIMP 3.2, les responsables de paquets doivent savoir que nous avons également publié :

Nous ne disposons pas encore d'une documentation prête à être diffusée pour cette version 3.2.

Nous vous recommandons de continuer à utiliser la documentation en ligne de la version 3.0 pour le moment.
Nos contributeurs travaillent activement à l'amélioration de la documentation.
Toute contribution est la bienvenue sur notre projet gimp-help afin d'accélérer le processus !

Profitez de GIMP 3.2 !

GIMP 3.2 s'appuie sur les bases posées par GIMP 3.0, offrant de nouvelles fonctionnalités exceptionnelles et préparant le terrain pour des nouveautés encore plus impressionnantes dans les versions futures !

Télécharger GIMP 3.2

Remarque : la livraison des paquets sur les plateformes de téléchargement peut prendre un peu plus de temps, car ils sont peut-être en cours de vérification.

Soutenez le développement de GIMP

N'oubliez pas que vous pouvez faire un don et soutenir financièrement les développeurs de GIMP, afin de
contribuer et d'accélérer le développement de GIMP. L'engagement de la communauté est essentiel à la réussite du projet !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Grafik Labor 2026 – Appel à conférenciers et à stands

Création graphique, artistique et outils libres

GrafikLabor revient le samedi 4 avril 2026 à Rennes, dans les locaux d’Activdesign, pour sa huitième édition dédiée aux logiciels libres, aux pratiques créatives ouvertes et aux artistes, designers et développeurs qui les utilisent au quotidien. Issu du LibreGraphicsMeeting, l’esprit se veut ouvert aux diverses pratiques créatives, aux différents secteurs de création graphique pourvu qu’ils mettent en avant les outils, les licences ou du contenu libre.

À cette occasion, l’équipe d’organisation de l’AFGRAL lance un appel à conférenciers et à stands.

Pour rappel, GrafikLabor est un événement communautaire associatif. Il s’adresse aux personnes qui utilisent, développent ou promeuvent des logiciels libres dans leurs pratiques créatives : graphisme, illustration, jeux vidéos, édition, UX/UI, web, motion, 3D, typographie, etc.

L’événement met l’accent sur :

  • les retours d’expérience concrets
  • les choix d’outils et de workflows
  • la transmission de savoirs
  • les enjeux culturels et politiques du logiciel libre dans la création

Appel à conférenciers

Nous recherchons des propositions de conférences ou de présentations autour de, par exemple :

  • création graphique et artistique avec des outils libres (GIMP, Inkscape, Krita, Scribus, Blender etc.)
  • UX/UI, design web ou produit avec des stacks open-source
  • typographie, édition, illustration ou motion en environnement libre
  • jeux vidéo réalisés avec outils libres comme Godot
  • automatisation, scripts, bidouille et détournement d’outils
  • retours d’expérience d’artistes, studios, collectifs ou associations
  • réflexions sur l’autonomie, la pérennité et l’éthique des outils

Les formats peuvent être variés : talk, démo, étude de cas, retour d’expérience, atelier.

Modalités de participation

L’appel est ouvert, mais la programmation se fait sur sélection afin de garantir la cohérence de l’événement.

Les propositions se font en deux étapes :

  • un formulaire de prise de contact (nom, email, motivation)
  • après validation, l’envoi d’un lien vers le formulaire de proposition détaillée

L’événement est aussi ouverts aux sponsors ou aux associations qui aimeraient avoir un stand faire connaitre leur activité.

Informations pratiques

Date : vendredi 4 avril
Lieu : Activdesign, Rennes
Public : artistes, designers, développeurs, étudiants et personnes intéressées par le libre

Commentaires : voir le flux Atom ouvrir dans le navigateur

Blender 5.0 est de sortie

La version 5.0 de Blender vient de sortir ce 18 novembre 2025. Blender est un logiciel de modélisation, animation, montage, et de rendu en 3D. Il est distribué sous licence GPL depuis 2002.

Sommaire

Même si la rétrocompatibilité est cassée sur certaines fonctionnalités, cette sortie est plus — en dehors de la correction de bugs — une amélioration de « qualité de vie » pour les usagers, car elle combine et utilise des concepts déjà implémentés dans la version 4.5 LTS.
C’est pourquoi cette dépêche couvrira aussi certains aspects de la version précédente (plus certaines notes personnelles).

Vu que Blender est une sorte de monstre à tout faire (et à rien faire aussi…), bourré de termes internes à sa logique, j’ai préparé un petit lexique qui vous évitera de vous endormir (j’espère !) pendant la lecture.

Note 1: Les nouveautés sont classées de façon subjective, et donc certaines sont passées à la trappe, pour plus de détails, voir ici.

Note 2: Suite a une question dans la zone de rédaction sur la compatibilité des Addons (greffons) et des Extensions, la responsabilité incombe aux développeurs des Addons d’assurer la compatibilité entre versions, ce qui redescend sur les utilisateurs évidemment… Les développeurs peuvent consulter cette page et les utilisateurs (des extensions) peuvent se référer à ce site dans les changelogs.

Lexique préliminaire

Shaders ou pour les anglophobes, des nuanceurs permettent de donner une apparence à une surface dans un environnement 3D. Sur Wikipédia en plus exhaustif.
Exemple:
shader metal

Les Modificateurs sont des fonctions internes qui modifient un objet de façon non destructive et peuvent être empilés de façon logique (ex : suivre une courbe, lisser, cloner en pavage, etc.) en s’appliquant les uns à la suite des autres.

Les Geonodes sont un langage de programmation visuel dont l’interface est héritée de celle des shaders. Ils permettent de manipuler la géométrie d’un objet de façon non destructive en accédant à l’API de Blender via des entrées/sorties appelés nœuds. On peut les animer et en configurer l’entrée / sortie (menus, curseurs, boîte de saisie, interface graphique) pour une utilisation plus facile. Ils sont considérés en interne comme des Modificateurs.
Exemple (cônes instanciés sur sphères instanciées sur plan):
geonode exemple

Les Assets sont des bibliothèques d’objets Blender qu’on peut créer et enregistrer pour une utilisation future. Ils s’intègrent à une « scène » par simple cliquer-glisser.

Le VSE est un éditeur de séquence vidéo, comme Kdenlive (mais avec beaucoup moins de fonctionnalités). L’avantage de l’utiliser dans Blender est son intégration au système de « scènes » du logiciel.

Le Compositeur permet de modifier un rendu en direct dans la scène 3D, avec des effets que l’on trouve dans la plupart des logiciels de retouche d’image (GIMP, ImageMagick, etc.). Évidemment cela ne s’applique que sur un rendu Blender et donc ne remplace pas les logiciels précédemment cités.
Exemple : simple passe Hue Saturation Value (HSV)
compositor passe hsv

Le Grease Pencil, ou crayon gras, permet de dessiner en vectoriel directement dans la fenêtre de visualisation sur des objets ou des surfaces. Ces tracés sont également des objets 3D manipulables, mais sont « plaqués » dans la perspective de la caméra.
Exemple (ceci n’est pas un shader avec une image mais un objet Grease Pencil):
grease pencil exemple


Assets

La possibilité de faire ses propres bibliothèques (objets, nœuds, shaders, etc.) a été facilitée : Une scène peut être marquée comme « asset » avec une prévisualisation à créer à partir de la vue caméra et automatiquement importée.
Les assets peuvent être partagés en tant que fichier .blend en suivant un certain protocole.


Compositeur et gestion des couleurs

Déjà présent dans la 4.5
Ajout des textures procédurales issues de l’éditeur de shader (Briques, Damier, Bruit, etc.).
D'autres nœuds du compositeur deviennent obsolètes, le compositeur se rapprochant de plus en plus de l’éditeur de shader dans ses fonctionnalités, ce qui amène à…
Nouveau dans 5.0
Le compositeur possède maintenant ses propres blocs de données ; ce qui veut dire que les compositions peuvent être portées d’un fichier à l’autre et également être enregistrées en tant qu’assets.
Plusieurs assets sont fournis à titre d’exemple dans cette sortie (vignette, grain, aberration chromatique, etc.)

Plus

  • Le nœud « distorsion de lentille » gère maintenant la transparence.
  • Nouveau nœud « Pavage Radial »
  • Ajout de la gestion de couleur ACES 2.0

L’éditeur de séquence vidéo (VSE)

Le chapitre précédent implique également qu’on puisse maintenant travailler directement avec le compositeur dans le VSE, ce qui ouvre la voie pour de la post-production en « temps réel ».
Ainsi, le nouveau modificateur « Compositeur » permet à une grande partie des nœuds du compositeur de s’appliquer aux séquences individuelles du VSE.
Un exemple vidéo: disponible ici.
Note perso :
J’avais l’habitude d’exporter des séquences images rendues avec Blender, puis pré-travaillées avec G'MIC ou GIMP pour les superposer en alpha sur un autre canal du VSE. Maintenant je peux m’en passer, tout du moins pour les opérations simples ; pour les autres, plus complexes ces deux outils me restent indispensables (faut pas abuser, le Compositeur n’est pas la panacée pour moi et à vrai dire, ça a tendance à faire exploser les temps de calcul sur certaines opérations).


GeoNodes (nœuds de géométrie)

Des nœuds déjà disponibles dans la 4.5 sont :

  • « Repeat Zone » permet de répéter un groupe de nœuds X fois dans la zone concernée.
  • « Simulation Zone » permet de répéter un groupe de nœuds pour chaque frame dans la zone concernée.

Nouveau dans la 5.0 :
Ajout du nœud « Bunddles » qui permet de stocker des valeurs dans un dictionnaire, de combiner des dictionnaires et de les séparer. Très utile pour rendre ses compositions plus lisibles et réutilisables.
Les GeoNodes deviennent également plus modulaires avec la notion de « Closures », en fait « juste » des groupes de nœuds que l’on peut transformer en fonctions génériques réutilisables.
Une explication plus détaillée est dispo dans le blog des développeurs.

Plus

  • Toute une nouvelle série de nœuds pouvant manipuler les volumes.
  • Nouveau nœud « Pavage Radial ».

Certains GeoNodes font leur apparition dans les modificateurs (et vont en remplacer certains à terme ?)

  • Modificateur « Géométrie comme source » (prend aussi une collection) qui peut se cumuler avec les 3 modificateurs qui suivent
  • Itération d’objet (array) : Circulaire, sur courbe et avec les GUI qui vont bien.
  • Distribution d’objets sur surface
  • Instanciation d’objets sur faces/arêtes/points
  • Courbe comme tube
  • Déformation par lattice (treillis) disponible par menu contextuel

Note perso :
L’API ouverte aux GeoNodes s’étoffe de plus en plus, et ça devient très vite très complexe. L’avantage d’avoir une barre de recherche pour les nœuds aide beaucoup, et créer des choses simples pour bricoler des effets reste faisable; mais je pense que la « création de Nodes » va devenir un domaine en soi dans Blender, tout comme le scripting.


En vrac

Animation et Rigs

  • Attention : Les données d’animation de la version 5 sont incompatibles avec les versions inférieures à la 4.5.
  • Le greffon « Copy Global transform » a été intégré à Blender.

Note: Le système d’animation est en train d’être revu assez profondément depuis 2023, et n’étant ni animateur ni rigger je ne peux pas en dire plus. Je vous invite donc à suivre ce lien pour plus d’informations sur les bases de cette refonte.

Crayon gras (Grease pencil)

  • Ajout du « motion-blur » (flou lié au mouvement)
  • Ajout de deux nouveaux styles de coins

Note perso :
Il y a eu beaucoup de mouvements sur cette fonctionnalité, qui est le seul moyen (avec freestyle) de faire du contour direct pour avoir un rendu BD sur des objets 3D. Mais en partant d’une scène, c’est loin d’être magique et il faut vraiment une topologie très propre pour éviter des heures de paramétrage, ou dessiner directement sur les objets (mais vu que je sais pas dessiner !).

Cycles (Moteur de rendu)

  • Texture de ciel améliorée, avec diffusion multiple de la lumière.
  • La sortie du shader « Déplacement » sur une « Surface de subdivision » est intégrée par défaut.

EEVEE et fenêtre de visualisation

  • Prise en compte de Vulkan (déjà dans la 4.5)
  • Traitement amélioré du HDR
  • Nouveaux MatCaps
  • Ajout de la surcharge des matériaux sur les calques

Shaders

  • Nouveau nœud « Pavage Radial ».
  • Nœuds « Closure », « Bundle », « Repeat Zones » disponibles (voir la section GeoNodes).

Jeu « Dog walk »

jeu dogwalk
Le studio blender, une équipe affiliée à la fondation chargée de tester les dernières versions du logiciel au sein de projets concrets, a sorti en juillet 2025 un jeu vidéo nommé « Dog Walk ».
Une « simulation » de promenade de chien hivernale. Le but initial était de créer/renforcer les outils d’intégration entre Blender et le moteur de jeu Godot.

 Comment débuter ?

Arrrg, question difficile. Il y a beaucoup trop de ressources, et chaque utilisation est particulière (créer des rendus, animer des séquences d’images, faire de la composition vidéo, faire de l’intégration dans un moteur de jeu) ; donc chaque cas d’usage doit faire l’objet d’une recherche propre (une chose est sure, si vous voulez faire de la CAD, utilisez d’autres logiciels libres !).

Pour la base de la base et en français, il y a ce lien, c’est daté, mais il y a plein de trucs encore utiles. Sinon il y a le forum Blendertribu, qui semble assez actif.

Il y a aussi le manuel officiel… pour les barbu/es.

Pour les impatients, il y a BlenderGuru sur YouTube. Oui « ToiTube » saimal; mais en revanche, le type est là depuis longtemps, explique très bien et a un chouette accent australien pour les anglophones, de plus ses vidéos sont traduites en français.

Si vous avez d’autres liens à partager n’hésitez pas à commenter ou wikifier.

Commentaires : voir le flux Atom ouvrir dans le navigateur

G'MIC 3.6 : L’art de soigner ses images !

G’MIC, cadriciel libre pour le traitement des images numériques, vient de proposer une mise à jour significative, avec la sortie de sa nouvelle version 3.6.

Une bonne occasion pour nous de vous résumer les activités récentes autour de ce projet, et plus précisément, ce qu’il s’est passé depuis notre précédente dépêche, publiée il y a un peu plus d’un an (juin 2024).

G´MIC 3.6.0 Teaser

N. D. A. : Cliquez sur les images pour en obtenir une version en pleine résolution, ou une vidéo correspondante lorsque les images contiennent l’icône Icône 'Play Video'

Sommaire

1. G’MIC : Un cadriciel pour le traitement des images numériques

G’MIC (GREYC's Magic for Image Computing) est un projet libre dédié au traitement, la manipulation et la création d'images numériques. Il est développé principalement au sein de l’équipe IMAGE du laboratoire de recherche GREYC de Caen (laboratoire UMR, sous triple tutelle du CNRS, de l'ENSICAEN et de l'Université de Caen).

La base du projet repose sur un interpréteur de langage de script spécifique, le « langage G’MIC », pensé pour faciliter le prototypage rapide et l’implémentation d’algorithmes de traitement d’images. Autour de ce noyau viennent se greffer plusieurs interfaces utilisateur, qui donnent accès à des centaines d’opérateurs de traitement d’images, mais qui permettent également d’intégrer des pipelines de traitement personnalisés. G’MIC est donc conçu comme un cadriciel ouvert et extensible.

Parmi ses déclinaisons les plus utilisées, on retrouve : gmic, un outil en ligne de commande comparable et complémentaire à ImageMagick ou GraphicsMagick ; le service Web G’MIC Online ; et surtout le greffon G’MIC-Qt, intégrable dans de nombreux logiciels de création et d’édition d’images tels que GIMP, Krita, DigiKam, Paint.net, Adobe Photoshop ou Affinity Photo. Ce greffon est l’interface de G’MIC la plus populaire. Il donne aujourd’hui un accès rapide à plus de 640 filtres différents, élargissant considérablement les possibilités de filtres et d’effets offertes par ces logiciels de retouche d’images.

Aperçu du greffon G’MIC-Qt Fig. 1.1. Le greffon G’MIC-Qt en version 3.6, ici utilisé au sein de GIMP 2.10, avec le filtre « Paint With Brush » activé.

2. Les nouveautés du greffon G’MIC-Qt

2.1. Hommage à Sébastien Fourey, développeur de G’MIC-Qt

Avant de décrire la liste des nouveautés de cette version 3.6, nous souhaitons avant tout rendre hommage à notre collègue et ami, Sébastien Fourey, qui était maître de conférence à l’ENSICAEN et qui était le développeur principal du greffon G’MIC-Qt. Le 6 octobre 2024, Sébastien nous a quittés. Tous ceux qui le connaissaient vous le diront : Sébastien était avant tout une personne profondément humaine, généreuse et particulièrement attentive à tous ceux qui l’entouraient. Il était aussi discret et modeste qu’il était doué avec un clavier entre les mains (et c’était quelqu’un de très discret !).

Et même s’il n’a jamais voulu être mis au-devant de la scène, nous voulons ici faire une exception pour mettre en lumière son travail et le rôle majeur qu’il a eu dans le développement du projet G’MIC : c’est grâce à lui que G’MIC-Qt est aujourd’hui un greffon utilisé et apprécié par des milliers de personnes à travers le monde.

Il s’avère qu’il était un lecteur assidu de LinuxFr.org, et nous nous devions donc de lui rendre un hommage sur ce site. Sébastien nous manque profondément. Nous ferons notre possible pour que son œuvre perdure. Repose en paix, Sébastien ! Nous pensons à toi et à ta famille.

Hommage à Sébastien Fourey Fig. 2.1. Texte hommage à Sébastien Fourey, auteur de G’MIC-Qt, visible dans la section « About » du greffon.

2.2. Améliorations générales du greffon

Comme vous vous en doutez, le développement spécifique du greffon G’MIC-Qt a été à l’arrêt depuis octobre dernier. Néanmoins, les derniers ajouts de code réalisés sur le greffon ont rendu possible les choses suivantes :

  • Son code source est désormais compatible avec l’API de plug-in de la nouvelle version majeure de GIMP (la 3.0). Cela a permis d’offrir aux utilisateurs de GIMP un greffon G’MIC-Qt fonctionnel dès la sortie de GIMP 3. Notons qu’assez peu de greffons ont proposé une mise à jour à temps (Resynthesizer, greffon populaire, étant une autre exception). On remercie donc chaleureusement Nils Philippsen et Daniel Berrangé qui ont soumis les patchs activant cette compatibilité avec GIMP 3. Nous continuons en parallèle à maintenir notre greffon pour l’ancienne version (2.10) de GIMP, qui est encore beaucoup utilisée.

  • Le code de G’MIC-Qt devient également compatible avec l’API de la bibliothèque Qt6, la dernière version majeure en date de ce toolkit graphique.

  • L’interface du greffon propose maintenant un outil de prévisualisation des filtres avec séparateur intégré, de manière native. Cette fonctionnalité, accessible via le raccourci clavier CTRL + SHIFT + P, permet de comparer directement l’image avant et après l’application d’un filtre, en affichant les deux versions côte à côte dans la fenêtre de prévisualisation. Cette fonctionnalité existait déjà, mais elle est dorénavant utilisable de manière plus fluide, puisqu’auparavant elle était implémentée indépendamment par chaque filtre (le séparateur de prévisualisation était en fait vu comme un paramètre du filtre, ce qui impliquait un recalcul complet du résultat du filtre même lorsque l’on souhaitait seulement déplacer le séparateur).

Prévisualisation avec séparateur Fig. 2.2.1. Prévisualisation native de filtres avec séparateur intégré dans G’MIC-Qt.

La vidéo suivante montre comment cette fonctionnalité améliorée se présente dans le greffon :

Prévisualisation avec séparateur - vidéo Fig. 2.2.2. Prévisualisation native de filtres avec séparateur intégré dans G’MIC-Qt (vidéo).

2.3. Nouveaux filtres d’images

Les nouveautés principales du greffon G’MIC-Qt se matérialisent donc plutôt sous la forme de nouveaux filtres et effets accessibles pour les utilisateurs. À la sortie de cette version 3.6, c’est 640 filtres/effets différents qui sont proposés dans l’interface du greffon. En ce qui concerne le filtrage d’images, les dernières entrées ajoutées sont les suivantes :

  • Le filtre « Déformations / Warp [RBF] » propose de déformer localement une image en définissant dans un premier temps des points d’ancrage dans la fenêtre de prévisualisation. Puis, en repositionnant ces points de contrôle, on déforme l’image de manière intuitive et interactive, directement dans la fenêtre de prévisualisation. Idéal pour réaliser des retouches rapides ou créer des caricatures amusantes !

Filtre « Warp RBF » Fig. 2.3.1. Le filtre « Deformations / Warp [RBF] » en action dans G’MIC-Qt.

La vidéo suivante montre son utilisation en pratique au sein du greffon G’MIC-Qt pour la déformation d’un visage :

Filtre « Warp RBF » - vidéo Fig. 2.3.2. Le filtre « Deformations / Warp [RBF] » en action dans G’MIC-Qt (vidéo).

  • Le filtre « Repair / Upscale [CNN2x] » a pour but de doubler la résolution d’une image à l’aide d’un réseau de neurones convolutifs léger (CNN), qui a été entrainé pour préserver les détails et les textures des images lors de l’agrandissement. Ce module offre une alternative simple et relativement efficace aux méthodes d’agrandissement plus classiques (en particulier celles qui sont implémentées nativement dans GIMP).

Filtre « Upscale CNN2X » Fig. 2.3.3. Le filtre « Repair / Upscale [CNN2X] » en action dans G’MIC-Qt.

La figure suivante montre justement une comparaison des méthodes classiques d’agrandissement d’images, avec ce nouvel algorithme disponible dans G’MIC-Qt (résultat obtenu en bas à droite) :

Filtre « Upscale CNN2X » - Comparaisons Fig. 2.3.4. Comparaisons des méthodes d’agrandissement d’images avec notre nouvelle méthode « Upscale [CNN2X] ».

Notons que ce filtre illustre à lui seul quelques avancées récentes réalisées pour la nn_lib, qui est la petite bibliothèque interne d’apprentissage machine intégrée à G’MIC : Clipping des gradients, régularisation L2 des poids des réseaux, planificateur Cosine Annealing LR pour le taux d’apprentissage, module de Pixel Shuffling, sont quelques-unes des nouvelles fonctionnalités qui y ont été ajoutées. Cette bibliothèque de gestion de réseaux de neurones n’est pas très puissante (elle n’utilise que le calcul CPU, pas GPU), mais elle offre néanmoins la possibilité de créer des filtres intéressants basés sur des techniques d’apprentissage statistique.

  • Le filtre « Degradations / VHS Filter », est un filtre créé par Hazel Stagner. Comme son nom l’indique, il cherche à recréer l’esthétique caractéristique des vieilles cassettes vidéo VHS : légères distorsions, bruit coloré, lignes parasites et saturation altérée. Ce filtre est idéal pour donner aux images un aspect rétro, évoquant le rendu des vidéos analogiques des années 80–90.

Filtre « VHS Filter » Fig. 2.3.5. Le filtre « Degradations / VHS Filter » en action.

Ce filtre génère un bruit aléatoire, donc l’appliquer plusieurs fois sur une même image donne à chaque fois un rendu différent. On peut donc ainsi synthétiser de petites animations avec un look « analogique - années 90 » du plus bel effet. Les amateurs de Glitch Art apprécieront ! (voyez l’image originale à titre de comparaison).

Filtre « VHS Filter » - vidéo Fig. 2.3.6. Le filtre « Degradations / VHS Filter » appliqué plusieurs fois sur une même image, pour en faire une séquence vidéo de type VHS.

2.4. Nouveaux effets de rendu

De nouveaux effets font également leur apparition dans le greffon, non pas dans le but de modifier une image existante, mais pour créer une nouvelle image ou un motif à partir de zéro :

  • Le filtre « Patterns / Organic Fibers » synthétise des textures évoquant des entrelacements de fibres organiques, en s’appuyant sur l’algorithme de simulation du Physarum polycephalum proposé par Jeff Jones en 2010, et décrit de manière remarquable sur cette page d’Etienne Jacob (allez voir, ça vaut vraiment le détour !). Nous reparlerons de cet algorithme un peu plus loin dans la dépêche (en section 4.2).

Filtre « Organic Fibers » - 1
Filtre « Organic Fibers » - 2 Fig. 2.4.1. Le filtre « Patterns / Organic Fibers » en action, avec deux jeux de paramètres différents.

  • Le filtre « Rendering / Speech Bubble » insère une bulle de bande dessinée sur un calque d’image additionnel, avec une personnalisation possible de la forme de la bulle (rondeur, forme du pied de bulle, etc.), grâce à la présence de différents points de contrôle. Ce filtre offre un moyen rapide d’intégrer des éléments graphiques typiques de la BD dans une image quelconque, comme illustré ci-dessous avec, dans un premier temps, la vue du filtre tel qu’il se présente dans le greffon, suivi d’une vue du résultat dans GIMP où un texte a été inséré dans la dite bulle.

Filtre « Speech Bubble » - 1
Filtre « Speech Bubble » - 2 Fig. 2.4.2. Le filtre « Rendering / Speech Bubble » permet d’ajouter des bulles de dialogue dans vos images.

La vidéo ci-dessous présente ce filtre en action dans le greffon G’MIC-Qt sur une photographie :

Filtre « Speech Bubble » - vidéo Fig. 2.4.3. Le filtre « Rendering / Speech Bubble » en action dans le greffon (vidéo).

  • Le filtre « Rendering / 2.5D Extrusion » simule, à partir d’une forme binaire en entrée, un effet d’extrusion 3D. Il transforme donc rapidement des silhouettes ou des masques en objets visuellement plus consistants, avec un rendu qui évoque du relief, sans devoir passer par un véritable logiciel de modélisation 3D. Les figures suivantes illustrent son utilisation : On crée tout d’abord une forme opaque sur un fond transparent (ici un texte), puis on lui applique le filtre « Rendering / 2.5D Extrusion » de G’MIC-Qt pour créer un rendu façon 3D extrudée. L’angle de rotation, la profondeur de l’extrusion, l’amplitude de l’effet perspective, ainsi que les couleurs des différentes faces sont réglables dans ce filtre.

Filtre « 2.5D Extrusion » - 1
Filtre « 2.5D Extrusion » - 2 Fig. 2.4.4. Le filtre « Rendering / 2.5D Extrusion » en action.

  • Le filtre « Rendering / Fluffy Cloud » génére automatiquement de jolis nuages cotonneux dans vos images. Idéal pour créer des ciels synthétiques, du brouillard, des effets de vapeur éthérée, etc. Ce filtre a été créé par Prawnsushi, contributeur régulier de filtres G’MIC, dont certains filtres avaient été déjà présentés dans notre dépêche précédente. Voici comment ce nouveau filtre se présente lors son ouverture dans le greffon :

Filtre « Fluffly Cloud » - 1 Fig. 2.4.5. Le filtre « Rendering / Fluffy Cloud » dans le greffon _G’MIC-Qt._

En jouant avec les différents paramètres du filtre, on peut obtenir des rendus variés et intéressants :

Filtre « Fluffly Cloud » - 2
Filtre « Fluffly Cloud » - 3 Fig. 2.4.6. Différents rendus de « Rendering / Fluffy Cloud » en faisant varier les paramètres du filtre.

  • Le filtre « Patterns / Stripes » facilite la création de motifs à rayures simples ou complexes. Ce filtre offre de nombreux paramètres pour régler la géométrie des motifs synthétisés, en faisant varier le type de rayures (linéaires, radiales, concentriques), la taille, la couleur ainsi que l’opacité de chaque rayure indépendamment.

Filtre « Stripes » - 1
Filtre « Stripes » - 2
Filtre « Stripes » - 3 Fig. 2.4.7. Trois exemples de motifs à rayures générés par le filtre « Patterns / Stripes ».

  • Le filtre « Patterns / Gradient [from Curve] » n’est pas à proprement parler un nouveau filtre, mais une évolution d’un filtre précédent « Patterns / Gradient [from Line] ». Cette version étendue extrait un dégradé de couleur en parcourant les pixels de l’image, non plus seulement le long d’un segment, mais le long d’une courbe spline cubique par morceau, définie avec jusqu’à 6 points de contrôle, ce qui autorise le suivi de structures très incurvées dans les images, comme l’illustre la figure suivante :

Filtre « Gradient From Curve » Fig. 2.4.8. Le filtre « Patterns / Gradient [from Curve] » extrait les couleurs d’une image localisées le long d’une courbe spline.

  • Et pour en finir avec les nouveautés du greffon, mentionnons le filtre « Rendering / Neon Carpet », un filtre original réalisé par Claude (alias Cli345), contributeur régulier de G’MIC qui avait été interviewé en septembre dernier sur Linuxfr. Ce filtre un peu psychédélique synthétise des motifs lumineux et colorés faisant penser à des tapis fluorescents, comme illustré sur la figure ci-dessous :

Filtre « Neon Carpet » Fig. 2.4.9. Le filtre « Rendering / Neon Carpet », une contribution de Cli435.

Voilà pour ce qui concerne les nouveautés spécifiques au greffon G’MIC-Qt.

3. Améliorations du cœur du logiciel et de sa bibliothèque standard

Passons maintenant à la description du travail réalisé cette année pour l’amélioration du cœur du projet, à savoir l’interpréteur G’MIC et sa bibliothèque standard d’opérateurs. Ce sont forcément des améliorations un peu moins visibles pour l’utilisateur final, mais elles sont toutes aussi importantes, car elles consolident ou améliorent des fonctionnalités qui peuvent ouvrir plus tard la porte au développement de nouveaux filtres originaux.

3.1. Optimisation de l’interpréteur

Le moteur interne de G’MIC a bénéficié d’une série d’optimisations notables. Plusieurs améliorations internes, concernant l’analyse, la détection et la concaténation de chaînes de caractères ou encore la recherche de valeurs min/max dans de grandes images (désormais parallélisée avec OpenMP), ont permis d’augmenter légèrement les performances (gain moyen d’environ 2,5% sur le temps d’exécution de scripts G’MIC). Ce n’est pas un gain spectaculaire, mais ça se prend (et après 17 ans à écrire du code pour cet interpréteur, il aurait été presque inquiétant d’obtenir un gain beaucoup plus important ! 😊).

Sous Windows, la compilation de l’interpréteur utilise désormais Clang et sa libc associée, ce qui produit des exécutables légèrement plus optimisés.

3.2. Améliorations du moteur de rendu 3D

Le moteur de rendu 3D intégré de G’MIC a également été amélioré, avec l’ajout du z-clipping pour les primitives hors champ, un calcul d’éclairage affiné, la correction du rendu de normales 3D avec le mode d’éclairage Phong, et l’ajustement des paramètres de réflexion spéculaire.

Une nouvelle commande multithreaded3d (raccourcie en mt3d) permet désormais d’activer ou désactiver le rendu 3D multi-threadé (là encore par OpenMP). Cela permet d’accélérer considérablement l’affichage de gros maillages.

Mentionnons au passage l’apparition de la commande normals3d dans la bibliothèque standard, dont le rôle est d’estimer les vecteurs normaux unitaires d’un maillage 3D, que ce soit au niveau des sommets ou des primitives. La figure suivante illustre par exemple l’utilisation de cette commande pour la visualisation de vecteurs normaux à la surface d’un tore 3D :

Commande 'normals3d' Fig. 3.2.1. La commande normals3d permet d’estimer les vecteurs normaux 3D aux sommets ou aux faces d’un maillage 3D.

3.3. Améliorations de l’évaluateur d’expressions mathématiques

L’évaluateur d’expressions mathématiques intégré à G’MIC est l’une des pièces maîtresses du projet (en traitement d’images, on doit souvent réaliser beaucoup de calculs…). Il continue lui aussi de s’enrichir et de gagner en efficacité.

Sans rentrer dans trop de détails techniques, notons que l’analyse syntaxique des expressions a été optimisée grâce à une première passe dédiée à la détection de certains opérateurs, afin d’accélérer leur traitement ultérieur. De nombreuses fonctions font leur apparition, parmi elles, epoch() pour convertir une date en temps Unix, frac() pour extraire la partie fractionnaire d’un nombre, ou encore wave() qui permet de générer différentes fonctions ou images périodiques (sinusoïdales, triangulaires, etc.), comme illustré sur la figure ci-dessous :

Fonction 'waves()' - 1
Fonction 'waves()' - 2 Fig. 3.3.1. La nouvelle fonction waves() permet de générer facilement des fonctions d’ondes, fonctions dont la fréquence d’apparition (hoho ! calembour de traiteur de signal !) est assez élevée dans les opérateurs de traitement d’images.

3.4. Amélioration des entrées-sorties

Quelques améliorations sont également à signaler au niveau de la gestion des entrées-sorties :

  • Le format TIFF bénéficie désormais d’une sauvegarde plus rapide pour les grosses images (par exemple, les images médicales volumiques). Un choix élargi de modes de compression de sortie est également disponible pour ce format d’images.
  • G’MIC prend désormais en charge de manière native la lecture et l’écriture des fichiers au format WebP (cette fonctionnalité étant activée par défaut sur les paquets binaires que l’on propose pour Linux).
  • Notons enfin qu’un travail de portage du code pour l’affichage des fenêtres de G’MIC, vers la bibliothèque SDL3, a été amorcé. Cela devrait permettre à terme une meilleure compatibilité de G’MIC avec le système d’affichage natif de chaque distribution Linux (en particulier celles tournant sous Wayland).

3.5. Sprite Packing

En ce qui concerne l’évolution de la bibliothèque standard de G'MIC, la nouveauté la plus significative concerne la réécriture de la commande pack_sprites, qui implémente un algorithme d’«empaquetage» d’objets. Pour rappel, ce type d’algorithmes permet de générer des visuels composés d’ensemble d’imagettes disjointes placées de telle façon à reproduire une forme binaire (un masque) de géométrie quelconque.

Cette ré-implémentation est à la fois plus rapide et plus efficace (utilisant de meilleures heuristiques de placement), et permet d’optimiser l’agencement des imagettes à différentes échelles et orientations tout en réduisant le temps de génération. Une illustration valant mieux qu’un long discours, voici le genre d’images amusantes que cet algorithme est capable de produire facilement :

Commande 'pack_sprites' - 1
Commande 'pack_sprites' - 2 Fig. 3.5.1. Deux exemples de génération possibles utilisant la commande « pack_sprites ».

Les sprites à empaqueter peuvent être de formes quelconques, comme des lettres (image du haut de la figure précédente), des mots entiers (image du bas), etc.

Et quoi de mieux qu’un exemple concret pour montrer la facilité déconcertante 😉 d’utilisation de cette commande pack_sprites ? Le but ici est d’écrire le texte « ♥LinuxFR♥ » de telle sorte que chaque lettre soit générée comme un empaquetage d’elle-même ! (idée suffisamment saugrenue pour qu’un filtre « clé en main » réalisant ceci n’existe pas déjà !).
Le script G’MIC suivant (fichier test_pack_sprites.gmic), une fois rendu exécutable, réalise cette tâche :

#!/usr/bin/env gmic

str="\20LinuxFR\20"
repeat size(['$str']) {
  l:=['$str'][$>]
  0 text. {`$l`},0,0,${"font titanone,480"},1,1 ==. 0 channels. -3,0
  0 text. {`$l`},0,0,${"font titanone,64"},1,${"-RGB"},255
  pack_sprites.. .,5,25,3,1 remove.
}
append x to_rgb
output out.png
display

La génération prend quelques secondes, et aboutit à une image de ce type :

Commande 'pack_sprites' - 3 Fig. 3.5.2. Résultat du lancement du script test_pack_sprites.gmic.

Amusant, n’est-ce pas ? Comment feriez-vous pour réaliser la même chose dans un autre langage (et combien de lignes de code cela prendrait-il ? 😉).

4. Utilisation de G’MIC pour le « Creative Coding »

L’exemple précédent est réellement représentatif des possibilités d’écriture de scripts personnalisés permis par G'MIC. Saviez-vous, par exemple, que l’ensemble des 640 filtres disponibles dans le greffon G’MIC-Qt sont justement écrits dans ce langage ?

G’MIC peut ainsi être considéré comme une boite à outils étoffée pour les personnes souhaitant se frotter au code créatif et à l'art génératif. Nous vous proposons ci-dessous quelques autres exemples simples de génération d’images par scripts G’MIC, afin de donner un aperçu rapide des possibilités et de la concision de ce langage.

4.1. Exemples de génération d’images

  • Inversion d’un damier coloré : On s’inspire ici de cette excellente vidéo récente, réalisée par le vulgarisateur mathématicien Mickaël Launay (Micmaths). En G’MIC, la fonction suivante permet de synthétiser une image équivalente à celle montrée dans la vidéo (mais en quatre couleurs au lieu de deux).
invert_checkerboard :
  4096,4096,1,1,"
    L = clog(20*([x,y]/w - 0.5));
    P = cexp([log(40/exp(L[0])),L[1]]);
    85*xor(P[0]%4,P[1]%4)"
  map 6 rescale2d 50%

Inversion d’un damier coloré Fig. 4.1.1. Génération d’un damier inversé, avec la commande personnalisée invert_checkerboard.

  • Cercles d’Apollonius : Dans cet exemple, il s’agit d’empaqueter des cercles de plus en plus petits dans un cercle de base, pour générer des images fractales. La fonction G’MIC réalisant cette tâche est la suivante :
apollonian_gasket :

  # Init.
  siz=1280 rad:=$siz/2.2
  $siz,$siz,1,2
  circle {[$siz,$siz]/2},$rad,1,1
  repeat 5 { circle {[$siz,$siz]/2+0.537*$rad*cexp([0,90°+$>*72°])},{0.316*$rad},1,0,{2+$>} }

  # Iterate.
  ind=4 e "  > Computing"
  do {
    sh 0 +distance. 0 x,y,r:="x = xM; y = yM; [ x,y,i(x,y) - 1 ]" rm[-2,-1]
    circle $x,$y,$r,1,0,$ind ind+=1
    e "\r  > Computing "{`c=arg0(int($>/10)%4,124,47,45,92);[c,c==92?92:0]`}
  } while $r>3

  # Decorate.
  k. channels 100%
  +n. 0,255 map. hot
  l[0] { g xy,1 a c norm != 0 * 255 to_rgb }

  max rs 80%

Et voici le résultat :

Cercles d’Apollonius Fig. 4.1.2. Génération de cercles d’Apollonius, avec la commande personnalisée apollonian_gasket.

  • Gaussiennes 3D : On cherche ici à dessiner de petites fonctions gaussiennes anisotropes 3D de différentes tailles, orientations et couleurs dans un volume 3D discret, en s’arrangeant pour garantir une périodicité de l’image suivant l’axe z (l’axe de la profondeur). Puis, on transforme les coupes de ce volume en frames d’une vidéo, pour obtenir l’animation qui suit.
gaussians3d :
  180,180,160,3
  2000,1,1,1,":
    draw_gauss3d(ind,xc,yc,zc,u,v,w,siz,anisotropy,R,G,B,A) = (
      unref(dg3d_mask,dg3d_one,dg3d_rgb,dg3d_isiz2);
      dg3d_vU = unitnorm([ u,v,w ]);
      dg3d_vUvUt = mul(dg3d_vU,dg3d_vU,3);
      dg3d_T = invert(dg3d_vUvUt + max(0.025,1 - sqrt(anisotropy))*(eye(3) - dg3d_vUvUt));
      dg3d_expr = string('T = [',v2s(dg3d_T),']; X = ([ x,y,z ] - siz/2)/siz; exp(-12*dot(X,T*X))');
      dg3d_mask = expr(dg3d_expr,siz,siz,siz);
      dg3d_rgb = [ vector(##siz^3,R),vector(##siz^3,G),vector(##siz^3,B) ];
      const dg3d_isiz2 = int(siz/2);
      draw(#ind,dg3d_rgb,xc - dg3d_isiz2,yc - dg3d_isiz2,zc - dg3d_isiz2,0,siz,siz,siz,3,A/255,dg3d_mask);

      # Trick: These two lines allow to generate a perfectly looping animation.
      draw(#ind,dg3d_rgb,xc - dg3d_isiz2,yc - dg3d_isiz2,zc - dg3d_isiz2 + d#0/2,0,siz,siz,siz,3,A/255,dg3d_mask);
      draw(#ind,dg3d_rgb,xc - dg3d_isiz2,yc - dg3d_isiz2,zc - dg3d_isiz2 - d#0/2,0,siz,siz,siz,3,A/255,dg3d_mask);
    );

    X = [ u([w#0,h#0] - 1),u(d#0/4,3*d#0/4) ];
    U = unitnorm([g,g,g]);
    siz = v(5);
    anisotropy = u(0.6,1);
    R = u(20,255);
    G = u(20,255);
    B = u(20,255);
    A = u(20,255)/(1 + siz)^0.75;

    siz==0?draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],11,anisotropy,R,G,B,A):
    siz==1?draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],21,anisotropy,R,G,B,A):
    siz==2?draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],31,anisotropy,R,G,B,A):
    siz==3?draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],41,anisotropy,R,G,B,A):
    siz==4?draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],51,anisotropy,R,G,B,A):
           draw_gauss3d(#0,X[0],X[1],X[2],U[0],U[1],U[2],61,anisotropy,R,G,B,A)"
  rm.
  rs 250%,250%,6 c 0,255 normalize_local , n 0,255
  slices {[d/4,3*d/4-1]}

Gaussiennes 3D - vidéo Fig. 4.1.3. Volume de gaussiennes 3D anisotropes, vues comme une séquence vidéo.

Regardez ça en plein écran pendant 20 minutes avant d’aller vous coucher, en écoutant du Pink Floyd, et je vous garantis une bonne nuit de sommeil !

  • Cube roulant : Comme mentionné en section 3.2, G’MIC possède son propre moteur de rendu 3D, que nous utilisons donc ici pour générer cette animation simple et qui boucle parfaitement :

Cube roulant - vidéo Fig. 4.1.3. Animation d’un cube 3D roulant.

Le code source de cet effet est un peu plus long que pour les exemples précédents, et nous ne l’intégrons donc pas directement dans cette dépêche. Mais en 47 lignes seulement, cela reste tout à fait raisonnable 😊 !

Et si comme moi, vous prenez plaisir à regarder ou réaliser des images ou animations amusantes/étranges qui sont générées en quelques lignes de code seulement, alors n’hésitez pas à aller jeter un œil au fil de discussion dédié, sur le forum officiel de G’MIC : Creative Coding with G’MIC.

4.2. La série « G’MIC Adventures ».

Les possibilités offertes par G’MIC pour le code créatif nous ont récemment décidé à initier une petite série de dépêches, intitulées « G’MIC Adventures ». L’idée de cette série est d’expliquer et d’illustrer les différentes étapes qui vont du concept à l’implémentation d’un effet de code créatif sous forme d’un script G’MIC. Aujourd’hui, cette série comporte seulement 4 épisodes, mais nous espérons l’enrichir dans le futur. Ces épisodes sont les suivants :

Arbre fractal 3D Fig. 4.2.1. Génération d’un arbre fractal 3D par G’MIC, réimporté ensuite sous Blender.

Arbre fractal 3D - vidéo Fig. 4.2.2. Exemple d’arbre fractal 3D généré par G’MIC (vidéo).

Mousse de forêt Fig. 4.2.3. Espèce de mousse de forêt synthétique, générée par agrégation de particules en 3D. L’inhalation volontaire de vapeurs provenant de cette mousse est fortement déconseillée !

  • G’MIC Adventures #4: Physarum Transport Networks : Cet épisode explore la réalisation d’un autre système particulaire, l’algorithme Physarum imaginé dans ce papier de Jeff Jones, en 2010. Ici, on lance des millions de particules qui s’auto-organisent pour suivre un chemin qui devient commun à toutes les particules au bout d’un certain nombre d’itérations, ce qui permet de générer des animations 2D tout à fait étonnantes, comme celles-ci par exemple :

Danse du feu - 1
Danse du feu - 2 Fig. 4.2.4. Danses de filaments enflammés, générées par l’algorithme Physarum en 2D.

Dans cet épisode, nous proposons également une extension 3D de cet algorithme, ce qui permet de générer ce type d’animation :

Physarum 3D
Fig. 4.2.4. Évolution de l’algorithme Physarum étendu en 3D.

Tous ces épisodes cherchent à montrer que G’MIC est une boite à outils générique, plutôt sympa à utiliser, pour le prototypage créatif destiné à la génération d’images et d’animations !

5. Ressources additionnelles

Nous voilà déjà arrivés à la cinquième section de cette dépêche, signe qu’il est probablement temps de la terminer au plus vite 😉. Pour finir, voici donc quelques informations et liens supplémentaires pour approfondir la découverte du projet G’MIC :

  • Mentionnons tout d’abord la parution de la publication « G’MIC: An Open-Source Self-Extending Framework », de D. Tschumperlé, S. Fourey et G. Osgood, en janvier 2025 dans le journal JOSS (The Journal of Open Source Software). Dans cet article sont décrites les motivations générales du projet et une vue d’ensemble de son architecture globale et de quelques-unes de ses possibilités. Cela permet aussi au projet G'MIC d’avoir son article « de référence » dans une revue scientifique (donc pouvoir être cité plus facilement).

Article JOSS

6. Conclusions et perspectives

La sortie de cette version 3.6 (et plus généralement l’année 2025) représente une étape importante dans la vie du projet G'MIC.

Tout d’abord parce qu’on se rend bien compte qu’après 17 ans de développement, G’MIC est maintenant stable, et qu’il est peut-être plus temps d’en valoriser les facettes existantes, plutôt que de chercher à implémenter à tout prix de nouvelles fonctionnalités. D’autre part, car la disparition de l’ami Sébastien, en plus d’avoir été un choc émotionnel majeur, risque de rendre difficile la maintenance et l’évolution future du greffon G’MIC-Qt. Et enfin, car avec la démocratisation de l’IA générative, les domaines de l’analyse, du traitement et de la génération d’images (notamment à des fins créatives) sont en profonde mutation, et que les fonctionnalités de G’MIC pourraient très bien être considérées comme obsolètes d’ici quelques années (ou pas 😊).

Au final, que d’incertitudes et de questionnements ! Cela rend floues les directions à prendre pour l’évolution de G’MIC, d’autant que s’occuper d’un tel projet requiert beaucoup d’investissements en temps, et qu’en même temps, sa valorisation financière est aujourd’hui inexistante.

Actuellement, G’MIC est téléchargé un peu plus de 1000 fois par jour depuis la page web principale du projet (donc sans compter les installations tierces : via l’installation de Krita, via les paquets officiels des distributions, etc.). C’est un chiffre très honorable pour un logiciel libre de ce type, développé au sein d’un laboratoire public de recherche tel que le GREYC, et qui plus est, qui n’est plus maintenu que par une seule personne.

À court terme, on se focalisera probablement sur la promotion et la visibilité du cadriciel, la maintenance du code et l’animation de la communauté, par exemple en écrivant quelques tutoriels illustrant ses nombreuses applications potentielles dans les domaines variés liés à l’imagerie numérique : retouche photographique, illustration, peinture numérique, imagerie scientifique (médical, astronomie, biologie, matériaux), création graphique, art génératif, etc.

À long terme, peut-on raisonnablement espérer faire plus de G’MIC avec ce peu de ressources ?
L’avenir nous le dira !

Commentaires : voir le flux Atom ouvrir dans le navigateur

GIMP 3.0 RC3 est sorti

Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 3.0 RC3 du 10 février 2025 (en anglais).

Nous sommes ravis de partager la troisième version candidate de GIMP 3.0 pour ce qui (nous l'espérons) sera la dernière série de tests communautaires avant la version stable ! Cette version fait suite à la récente conférence GIMP 3 and Beyond de Jehan au FOSDEM 2025.

    Sommaire

    Corrections de bogues et changements importants

    Alors que nous réduisions les quelques derniers bogues majeurs à néant, nous avons effectué un certain nombre de modifications qui selon nous nécessitent un sérieux coup d’œil de la communauté.
    Jetez-en donc un, d’œil, sur les points suivants lorsque vous essayerez la Release Candidate:

    Nouvelle version de GTK3

    Juste à temps pour GIMP 3.0, une nouvelle version de GTK3 est sortie !
    Entre autres changements, GTK 3.24.48 inclut des correctifs pour plusieurs bugs affectant GIMP avec des patchs initialement fournis par Jehan, comme un crash dans Wayland lors du déplacement de calques et des problèmes de texte dans certains widgets avec des langues de droite à gauche. Nous tenons à remercier Carlos Garnacho et Matthias Clasen pour leur aide sur ces patchs respectifs.

    GTK 3.24.48 ajoute également la prise en charge de la version 2 de xdg_foreign pour Wayland (la v1 reste prise en charge en tant que solution de secours). Plus précisément, l'absence de cette prise en charge provoquait le blocage de GIMP avec certaines actions sur KDE/Wayland, ce qui est désormais corrigé.

    En raison de ces problèmes (certains d'entre eux rendant GIMP vraiment instable sur Wayland), nous recommandons aux empaqueteurs de mettre à jour vers la dernière version de GTK3 lors de l'empaquetage de notre RC3. Cependant, veuillez nous informer si vous remarquez des régressions ou d'autres problèmes résultant de la nouvelle version de GTK3.

    Améliorations du graphe d'images

    Grâce à l'édition non destructive dans GIMP, les utilisateurs peuvent désormais empiler plusieurs filtres les uns sur les autres. Ces filtres fonctionnent généralement dans un format à haute résolution de bits, de sorte que les informations de l'image ne sont pas perdues. Cependant, la sortie de chaque filtre était convertie vers et depuis la résolution de l'image d'origine lors de l'empilement. Ainsi, si l'image n'était que de 8 bits, une grande quantité d'informations était perdue dans ces conversions constantes. Jehan a résolu ce problème en convertissant uniquement au format de l'image lorsque le filtre est censé être fusionné, plutôt que dans des piles non destructives. Comme il s'agit d'un changement important dans le fonctionnement des filtres, nous souhaitons que davantage d'utilisateurs testent ce changement pour détecter d'éventuelles régressions.

    Changements dans Projection Thread-safe

    Lorsque des modifications sont apportées à une image (comme une peinture), la projection de l'image doit être « vidée » pour afficher les nouvelles modifications à l'écran. Certains aspects de ce processus n'étaient pas « thread-safe », ce qui signifie que lorsque votre ordinateur utilisait plusieurs threads pour accélérer le travail, ils pouvaient entrer en conflit les uns avec les autres et provoquer un plantage. Cela a été observé dans notre fonctionnalité d'expansion automatique de calques. Jehan a corrigé la fonction pour qu'elle soit entièrement thread-safe. Cependant, les modifications apportées au multithreading peuvent laisser des bugs bien cachés, donc des tests communautaires supplémentaires seraient utiles.

    Procédures privées

    Le navigateur de base de données procédurale de GIMP montre aux développeurs de greffons et de scripts toutes les fonctions auxquelles ils peuvent accéder. Jusqu'à présent, il affichait également les fonctions « privées » qui ne sont utilisées qu'en interne. Jehan a ajouté un indicateur pour masquer ces fonctions. Dans un premier temps, nous avons ratissé trop large et caché certaines fonctions publiques importantes. Bien que nous ayons corrigé ces cas, nous aimerions que la communauté nous donne plus de détails pour nous assurer que nous n'avons oublié aucune fonction publique mal étiquetée.

    Améliorations

    Bien que nous soyons toujours en phase de gel des fonctionnalités majeures jusqu'à la version stable de GIMP 3.0, quelques améliorations mineures et autonomes ont été apportées aux greffons.

    Script-fu

    API Filtre

    Le nouvel appel PDB (gimp-drawable-merge-filter) permet aux auteurs de Script-fu d'utiliser des étiquettes pour spécifier les propriétés des filtres. Cela donnera aux utilisateurs de Script-fu la même flexibilité pour appeler et mettre à jour les filtres que les développeurs de greffons C et Python ont dans l'API GIMP 3.0. À titre d'exemple, voici un appel au filtre Emboss :

    (gimp-drawable-merge-new-filter mask-emboss "gegl:emboss" 0 LAYER-MODE-REPLACE 1.0 "azimuth" 315.0 "elevation" 45.0 "depth" 7 "type" "emboss")
    

    Vous pouvez voir plus d'exemples dans notre dépôt de scripts.

    Nouvelle syntaxe de passage des arguments par noms

    Dans Script-Fu, toutes les fonctions générées à partir de la procédure PDB des greffons doivent désormais être appelées avec une toute nouvelle syntaxe d'argument nommé, inspirée de la variante Racket de Scheme.

    Par exemple, disons que votre greffon souhaite appeler le greffon Foggify, au lieu d'appeler :

    (python-fu-foggify RUN-NONINTERACTIVE 1 (car (gimp-image-get-layers 1)) "Clouds" '(50 4 4) 1.0 50.0)

    Vous devez maintenant appeler :

    (python-fu-foggify #:image 1 #:drawables (car (gimp-image-get-layers 1)) #:opacity 50.0 #:color '(50 4 4))

    Cela présente quelques avantages :

    • des appels beaucoup plus auto-documentés, d'autant plus que certains greffons ont beaucoup d'arguments (on pouvait donc se retrouver avec des fonctions avec une douzaine d'entiers ou de flottants et c'était très déroutant) ;
    • l'ordre des arguments n'a plus d'importance ;
    • vous pouvez ignorer les arguments lorsque vous les appelez avec des valeurs par défaut ;
    • cela permet d'améliorer les procédures des greffons dans le futur en ajoutant de nouveaux arguments sans casser les scripts existants.

    Ce dernier point en particulier est important, et l'ordre des arguments n'avait plus d'importance lors de l'appel de procédures PDB depuis l'API C, ainsi que toutes les liaisons introspectées. Script-Fu était la seule interface restante dont nous disposions qui se souciait encore de l'ordre et du nombre d'arguments. Ce n'est plus le cas et c'est donc un grand pas vers une API beaucoup plus robuste pour GIMP 3 !

    Formats de fichiers

    Toutes les modifications apportées aux greffons de chargement d'images sont vérifiées avec le cadriciel de tests automatisés créé par Jacob Boerema pour éviter les régressions.

    PSD

    En plus des corrections de bogues telles que l'enregistrement correct des images fusionnées CMJN, Jacob Boerema a ajouté la prise en charge du chargement des fichiers PSD LAB 16 bits par canal. Il a également mis à jour la boîte de dialogue d'exportation PSD pour utiliser les fonctions d'exportation de métadonnées intégrées de GIMP.

    DDS

    CMYK Student a implémenté la prise en charge très demandée du chargement d'images DDS avec prise en charge BC7. Jacob Boerema a travaillé pour corriger la compatibilité avec les fichiers DDS exportés à partir d'anciennes versions de GIMP.

    AppImage: c'est officiel !

    Après neuf mois d'incubation (le nombre est une simple coïncidence 🙂), nous présentons un « nouveau » format de distribution pour les utilisateurs Linux : .AppImage. Au départ, nous l'utilisions comme format interne pour les tests, comme déjà évoqué dans des articles précédents. Les efforts de Bruno Lopes nous ont permis d'améliorer le processus de construction. Nous sommes maintenant confiants avec l'AppImage générée et nous avons donc pour objectif de la rendre officielle.

    En tant que package officiel en amont, aucun greffon tiers sophistiqué ou autre binaire arbitraire qui ne soit pas une dépendance de GIMP n'est ajouté pour ne pas le « surcharger ». C'est ce que certains appellent GIMP « vanilla », un GIMP propre mais complet pour la production (c'est-à-dire pour une utilisation générale).

    Comme tout format d'empaquetage, il a ses propres caractéristiques et limites. Dans le cas de l'AppImage de GIMP, les outils inclus tels que gimp-console* et gimp-debug-tool* nécessitent une extraction préalable du fichier .AppImage avec la commande --appimage-extract. De plus, en partie à cause de la conception d'AppImage, les commandes qui pointent vers $PWD ne fonctionneront pas. Ces deux limitations de fonctionnalités sont les seules connues à ce jour. Donc, si vous en trouvez d'autres ou même des bogues, veuillez les signaler sur notre outil de suivi.

    Divers

    • Il est maintenant plus facile de charger des images depuis Google Drive ainsi que d'autres plateformes distantes ou dans le cloud, sans avoir a sélectionner un format de fichier pour essayer de l'ouvrir.

    • Notre processus de création génère désormais des icônes supplémentaires avec l'extension -rtl, qui sont automatiquement utilisées avec les langues s'écrivant de droite à gauche. Les icônes de flèches gauche et droite en sont un exemple : elles sont désormais orientées dans la bonne direction dans les deux types de langues.

    • Les développeurs de greffons n'ont plus besoin de créer des boutons de sélection de fichiers personnalisés - GimpProcedureDialog les crée désormais automatiquement lorsqu'un paramètre de type de fichier est utilisé. Vous pouvez également spécifier si le bouton sert à ouvrir ou à enregistrer des fichiers et des dossiers.

    • Rupert Weber a continué ses efforts pour nettoyer notre greffon BMP. De plus, il travaille actuellement à ajouter la prise en charge de l'importation de profils de couleurs dans les BMP, qui, espérons-le, sera prête dans une future version.

    • CMYK Student a mis à jour le greffon ICNS avec une nouvelle prise en charge des types d'icônes « ic05 » et des formats d'icônes ARGB. Ils ont également corrigé un bogue lors du chargement d'anciens formats ICNS sans masque de transparence. Lukas Oberhuber a aidé à diagnostiquer et à résoudre un bogue connu dans le format ICNS qui faisait que notre icône macOS affichait des pixels brouillés dans les petites tailles.

    GEGL

    La version 0.4.54 de GEGL contient également quelques améliorations et corrections de bogues. Thomas Manni a mis à jour le filtre Noise Spread pour éviter les bogues lorsqu'il est appliqué à des groupes de calques vides. Jonny Robbie a ajouté de nouvelles options et de nouveaux types de papier au filtre Negative Darkroom, et a optimisé certaines opérations en virgule flottante dans GEGL dans son ensemble.

    Statistiques

    Depuis GIMP 3.0 RC2, dans le dépôt principal de GIMP :

    • 85 rapports ont été fermés comme RÉPARÉS ;
    • 56 demandes de fusion ont été acceptées ;
    • 335 commits ont été poussés ;
    • 19 traductions ont été mises à jour : basque, bulgare, catalan, chinois (Chine), danois, néerlandais, finnois, géorgien, italien, norvégien nynorsk, persan, portugais, slovaque, slovène, espagnol, suédois, turc, ukrainien, vietnamien.

    33 personnes ont contribué à des modifications ou des correctifs à la base de code de GIMP 3.0.0 RC3 (l'ordre est déterminé par le nombre de commits ; certaines personnes sont dans plusieurs groupes) :

    • 13 développeurs pour le code principal : Jehan, Alx Sa, Jacob Boerema, Lloyd Konneker, Anders Jonsson, Thomas Manni, Bruno, Daniele Forsi, Lloyd Konneker, Lukas Oberhuber, Rupert, cheesequake, Øyvind Kolås ;
    • 10 développeurs de greffons ou modules : Alx Sa, Jacob Boerema, Jehan, Rupert, Lloyd Konneker, Anders Jonsson, Bruno, Daniel Novomeský, Daniele Forsi, lillolollo ;
    • 19 traducteurs : Alan Mortensen, Alexander Shopov, Nathan Follens, Kolbjørn Stuestøl, Hugo Carvalho, Asier Sarasua Garmendia, Ngọc Quân Trần, Jordi Mas, Marco Ciampa, Sabri Ünal, Anders Jonsson, Danial Behzadi, Ekaterine Papava, Jiri Grönroos, Jose Riha, Luming Zh, Martin, Rodrigo Lledó, Yuri Chornoivan ;
    • 1 Concepteur de thème : Alx Sa ;
    • 6 contributeurs pour la compilation, l’empaquetage ou l’intégration continue : Bruno, Jehan, Lloyd Konneker, Alx Sa, Rupert, Jacob Boerema.

    Contributions sur d'autres dépôts dans GIMPverse (l'ordre est déterminé par le nombre de commits) :

    • GEGL 0.4.54 est composé de 11 commits de 16 contributeurs : Øyvind Kolås, Alexander Shopov, Hugo Carvalho, JonnyRobbie, Alan Mortensen, Anders Jonsson, Asier Sarasua Garmendia, Bartłomiej Piotrowski, Jehan, Martin, Nathan Follens, Nils Philippsen, Rodrigo Lledó, Sam L, Thomas Manni, Yuri Chornoivan ;
    • ctx a enregistré 233 commits depuis la sortie de RC2 par 1 contributeur : Øyvind Kolås ;
    • gimp-data a enregistré 6 commits de 4 contributeurs : Bruno, Jehan, Alx Sa, Andre Klapper ;
    • gimp-test-images (nouveau référentiel pour les tests de prise en charge des images) a enregistré 5 commits de 2 contributeurs : Jacob Boerema, Alx Sa ;
    • la version gimp-macos-build (scripts de packaging macOS) a eu 6 commits par 2 contributeurs : Lukas Oberhuber, Bruno ;
    • la version flatpak a eu 12 commits par 3 contributeurs après la version RC2 : Bruno Lopes, Jehan, Hubert Figuière ;
    • notre site web principal a eu 42 commits par 6 contributeurs : Jehan, Alx Sa, Bruno, Jacob Boerema, Andre Klapper, Petr Vorel ;
    • notre site web de développement a eu 18 commits par 5 contributeurs : Jehan, Bruno, Lukas Oberhuber, Alx Sa, Anders Jonsson ;
    • notre documentation 3.0 comptait 373 commits de 13 contributeurs : Andre Klapper, Kolbjørn Stuestøl, Nathan Follens, Jacob Boerema, Alan Mortensen, Yuri Chornoivan, Dick Groskamp, ​​Jordi Mas, Alevtina Karashokova, Alx Sa, Anders Jonsson, Daniele Forsi, Hugo Carvalho.

    N'oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, à signaler les bugs et à discuter des améliorations possibles avec nous.
    Notre communauté est également profondément reconnaissante envers les guerriers d'Internet qui gèrent nos divers canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Remarque : compte tenu du nombre de parties dans GIMP et de la façon dont nous obtenons des statistiques via les scripts « git », des erreurs peuvent se glisser dans ces statistiques. N'hésitez pas à nous dire si nous avons oublié ou mal classé certains contributeurs ou contributions.

    Autour de GIMP

    Miroirs de téléchargement

    Depuis la publication de la nouvelle version 3.0RC2, deux nouveaux miroirs ont été ajoutés :

    • Saswata Sarkar, Gurugram, Inde ;
    • Hoobly Classifieds, États-Unis.

    Les miroirs sont importants car ils aident le projet en répartissant la charge pour des dizaines de milliers de téléchargements quotidiens. De plus, en ayant des miroirs répartis dans le monde entier, nous garantissons que tout le monde peut avoir un accès rapide au téléchargement de GIMP.

    Comment citer GIMP dans la recherche

    GIMP est souvent utilisé dans la recherche et est donc cité dans diverses publications scientifiques. Un chercheur utilisant GIMP pour le traitement d'images astronomiques nous a contactés pour savoir comment citer GIMP correctement, d'autant plus qu'il est utilisé pour effectuer une étape importante de son algorithme.

    Comme cela semble être une question intéressante, nous avons mis à jour notre page « Citing GIMP and Linking to Us » avec une nouvelle sous-section « Citing GIMP in research » contenant la conclusion de cette discussion.

    En particulier, une entrée BibTex, destinée aux chercheurs utilisant LaTeX pour gérer leur bibliographie, est disponible sur ce lien pour simplifier votre travail. Par exemple, disons que vous utilisez ce RC3 pour vos recherches, vous pouvez citer GIMP avec cette entrée :

    @software{GIMP,
        author = {{The GIMP Development Team}},
        title = {GNU Image Manipulation Program (GIMP), Version 3.0.0-RC3. Community, Free Software (license GPLv3)},
        year = {2025},
        url = {https://gimp.org/},
        note = {Version 3.0.0-RC3, Free Software}
    }

    Merci à Cameron Leahy pour ce morceau de code BibTex !

    Télécharger GIMP 3.0 RC3

    Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

    • Linux AppImages pour x86 et ARM (64 bits) ;
    • Linux Flatpaks pour x86 et ARM (64 bits) ;
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits) ;
    • Paquet MSIX (GIMP Preview) pour x86 et ARM (64 bits) ;
    • Paquets macOS DMG pour le matériel Intel ;
    • Paquets macOS DMG pour le matériel Apple Silicon.

    D'autres paquets réalisés par des tiers devraient évidemment suivre (paquets de distributions Linux ou *BSD, etc.).

    Et ensuite ?

    Nous apprécions vraiment tous les tests et commentaires de la communauté que nous avons reçus au cours des deux dernières versions candidates !
    Nous espérons que ce sera la dernière version candidate avant la version stable 3.0. Notre objectif est maintenant de terminer la résolution des quelques bugs restants dans notre liste de jalons 3.0, tout en gardant un œil sur les nouveaux rapports résultant des changements dans RC3.

    N’oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, afin de contribuer et d’accélérer le développement de GIMP. L’engagement de la communauté aide le projet à se renforcer !

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Appel à conférence et participations au Grafik Labor 2025

    Après une pause d’un an suite à l’organisation du Libre Graphics Meeting 2024, l’équipe de l’AFGRAL relance le Grafik Labor. Cet événement aura lieu les 5 et 6 avril 2025 à Rennes et vise à rassembler les personnes investies autour des logiciels et de projets de création visuelle libre, pour engager des dynamiques techniques, créatives et communautaires.

    L’AFGRAL est une association qui promeut les logiciels libres dans les réseaux professionnels de la création visuelle. Elle organise depuis des années des ateliers de sensibilisation et de formation et contribue à l’évolution des logiciels. Le Grafik Labor est un moment important de cette sensibilisation plus nécessaire que jamais avec la concurrence des applications et outils en lignes privateurs qui ne disent pas leur nom.

    Pour organiser au mieux cet événement, nous proposons un appel aux participations jusqu’au vendredi 1 mars 2025. Tous les domaines de la création graphique et visuelle peuvent être abordés pourvu qu’ils promeuvent les logiciels et ou les licences libres. Les participations peuvent être des conférences, des ateliers, des démos. Si vous souhaitez un stand pour présenter votre travail, ou celui de votre structure un formulaire dédié vous est proposé.

    Vous pouvez envoyer vos propositions en passant par le site de l’événement.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GIMP 3.0 RC2 est sorti

    Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 3.0 RC2 du 27 décembre 2024 (en anglais).

    Après la première série de retours de la communauté, nous sommes heureux de partager la deuxième version candidate de GIMP 3.0 ! Les gens nous ont donné des commentaires très utiles sur la première version candidate et nous avons pu corriger de nombreux bugs.

    C’est notre petit cadeau sous le sapin 🎄 pour vous tous ! (NdM: disons fourré dans la galette/le gâteau des rois désormais ?)

    GIMP 3.0 RC2: écran de démarrage

    Écran de démarrage de la nouvelle version candidate, par Sevenix (CC by-sa 4.0) - GIMP 3.0 RC2

    Sommaire

    Corrections de bugs importantes

    Plusieurs correctifs ont été apportés depuis la version RC1. Nous souhaitons mettre en évidence les bugs les plus importants afin que les utilisateurs en soient informés et puissent effectuer des tests supplémentaires. Pour plus de détails sur les autres correctifs de bugs, veuillez consulter notre page NEWS sur GitLab.

    Migration des paramètres de la 2.10

    Lors des tests communautaires, nous avons découvert que les paramètres des utilisateurs de la 2.10 n’étaient pas migrés vers GIMP 3.0 en raison de certaines hypothèses incorrectes dans le code d’importation. Étant donné que la plupart des développeurs utilisent exclusivement GIMP 3.0 depuis un certain temps, nous n’avions pas remarqué ce problème. Le bug devrait maintenant être corrigé, nous demandons donc des rapports de bugs si des préférences 2.10 ne sont pas importées correctement dans RC2. Notez que si vous avez déjà utilisé 3.0 RC1, vous devrez d’abord supprimer ces configurations, sinon RC2 n’essaiera pas d’importer les préférences 2.10 (assurez-vous de sauvegarder vos paramètres bien sûr !).

    Console Windows

    Dans les versions de développement 2.99, les versions Windows lançaient automatiquement un affichage de console en plus de GIMP lui-même. C’est très utile pour les développeurs Windows pour voir les messages de débogage, mais la console n’était pas destinée à être affichée pendant les versions stables. Comme nous avons modifié notre processus de construction pour utiliser Meson au lieu d’Autotools, nous avons appris que nous devions apporter des modifications supplémentaires pour empêcher l’affichage de la console. Cela devrait être corrigé maintenant grâce à Jehan - si vous voyez toujours la console sous Windows, veuillez remplir un nouveau rapport de bogue !

    Problèmes de polices d’interface utilisateur manquantes sur macOS

    Il y a un problème de longue date où certains utilisateurs de macOS ne voyaient que des symboles « Unicode manquants » au lieu des textes d’interface dans GIMP (à la fois dans la version 2.10 et dans la version 3.0). Cela était dû à un bug dans Pango, la bibliothèque que nous utilisons pour les mises en page de texte. Ce problème a été résolu avec la récente version Pango 1.55.0, nous encourageons donc tous les empaqueteurs macOS tiers à mettre à jour vers cette version lorsqu’ils construisent GIMP pour le distribuer.

    GIMP 3.0.0 RC2 : le package officiel de macOS contient désormais Pango sans polices cassées

    Si vous aviez ce problème de polices cassées sur macOS (à gauche), il est désormais résolu (à droite) - captures d’écran de rapporteurs de bug - GIMP 3.0.0 RC2

    Intégration de darktable

    Après la sortie de la version 3.0 RC1, nous avons reçu des rapports de certains utilisateurs indiquant qu’ils ne pouvaient toujours pas importer et exporter d’images entre GIMP et darktable. Nous avons travaillé avec les développeurs de darktable pour éliminer les bugs restants, de sorte que l’intégration entre darktable 5.0.0 et GIMP 3.0 RC2 devrait désormais fonctionner pour tout le monde. Cependant, veuillez déposer un nouveau rapport de bogue si vous continuez à rencontrer des problèmes pour connecter les deux !

    Améliorations

    Bien que l’objectif principal du développement de la version 3.0 RC2 ait été la correction de bugs et le peaufinage, certaines nouvelles fonctionnalités ont également été implémentées.

    API de filtre GEGL

    De nombreux anciens wrappers d’API pour les opérations GEGL ont été supprimés dans la version RC1. Bien que cela ait réduit la dette technique, cela a également causé des problèmes à de nombreux développeurs de greffons et de scripts tiers qui souhaitaient porter leurs greffons vers la version 3.0. Alors que notre plan initial était d’implémenter la nouvelle API publique de filtre après la sortie de la version 3.0, les commentaires de la communauté nous ont convaincu de l’ajouter pour la version 3.0 RC2.

    Applying filters through libgimp 3.0.0 API (Script-fu et al.) - GIMP 3.0.0 RC2

    Application de filtres via l’API libgimp 3.0.0 (Script-fu et al.) - GIMP 3.0.0 RC2

    Le travail de Jehan permet aux développeurs d’appliquer des effets de filtre soit immédiatement, soit de manière non destructrice. Vous pouvez voir des exemples de la manière de procéder en C, Python et Script-Fu dans la requête de fusion, ou en recherchant gimp-drawable-filter dans le navigateur de procédures de GIMP. Nous avons également commencé à utiliser l’API de filtre dans nos scripts Python pour créer automatiquement des effets d’arrière-plan flou pour le programme d’installation Windows, et avec cette même API en C, Alx Sa a ajouté la prise en charge de l’importation de l’ancien style de calque Color Overlay de Photoshop.

    Nous sommes preneurs des retours et des rapports de bugs d’auteurs de greffons et de scripts qui utilisent la nouvelle API de filtrage dans leur travail ! Nous avons également prévu d’autres mises à jour pour GIMP 3.0.

    Espaces de fusion de calques et composition dans les fichiers XCF

    Les discussions entre les experts en science des couleurs Elle Stone et Øyvind Kolås ont révélé un autre domaine nécessitant des améliorations dans le cadre de notre projet Color Space Invasion. Plus précisément, les images avec des profils de couleurs qui ont des courbes de reproduction des tons non perceptives peuvent ne pas être rendues correctement lorsqu’elles sont définies sur certains modes de calque.

    Øyvind a implémenté une correction pour ce problème en ajoutant un espace perceptuel approprié par défaut à des modes de calque spécifiques. Bien que nous pensions que cette amélioration ne devrait pas avoir d’impact sur les fichiers XCF plus anciens, n’hésitez pas à rapporter tous problèmes de compatibilité avec la version 3.0 RC2 !

    Paquets

    AppImage

    Grâce aux efforts continus de Bruno Lopes et avec l’aide de Samueru et de la communauté AppImage, notre AppImage expérimentale fonctionne désormais sur la plupart des distributions Linux. Nous souhaitons encourager davantage de tests, dans l’espoir de pouvoir la proposer comme une autre version Linux en plus de notre Flatpak. Vous pouvez consulter les instructions pour installer les paquets expérimentaux AppImage sur notre page de téléchargement des versions de développement.

    Flatpak

    Notre flatpak journalier a maintenant un App-ID dédié org.gimp.GIMP.Nightly. Cela signifie principalement qu’il peut être installé côte à côte avec le flatpak stable tandis que les deux sont visibles dans vos menus (plus besoin de sélectionner quelle version doit être affichée avec flatpak make-current).

    Mais cela signifie également que tous ceux qui avaient le flatpak journalier jusqu’à présent ne verront pas de mise à jour arriver de sitôt. Afin de continuer à utiliser le flatpak journalier, désinstallez celui existant et installez le nouveau avec ces commandes :

    flatpak uninstall org.gimp.GIMP//master
    flatpak install https://nightly.gnome.org/repo/appstream/org.gimp.GIMP.Nightly.flatpakref

    ⚠️ Rappel : le flatpak journalier contient le code de développement actuel tel qu’il se présente dans le dépôt source. Parfois, il peut même être très cassé ou rendre vos fichiers de projet invalides. Nous ne le recommandons pas pour la production ! Utilisez cette version pour nous aider à déboguer en signalant les problèmes ou si vous aimez vraiment les risques pour tester les dernières fonctionnalités.

    Améliorations du greffon BMP

    Le nouveau contributeur Rupert Weber a été très occupé depuis la dernière mise à jour avec de nouvelles mises à jour de notre greffon BMP. Quelques points de son travail à mettre en avant :

    • Les fichiers BMP sont désormais importés sans perte dans leur précision d’origine, plutôt que d’être convertis en précision entière de 8 bits.
    • Le greffon prend désormais en charge le chargement de fichiers BMP avec compression RLE24 et Huffman.
    • Nous chargeons désormais les fichiers BMP par morceaux plutôt que d’essayer de charger l’image entière en une seule fois. Des travaux connexes nous permettent également de charger des fichiers BMP beaucoup plus volumineux.
    • Rupert a également effectué beaucoup de nettoyage et de maintenance du code, afin de rendre le greffon plus facile à maintenir à l’avenir.

    Mises à jour diverses

    • Jehan a apporté quelques améliorations d’usage de la console Python. Vous pouvez désormais utiliser les raccourcis Ctrl+R et Ctrl+S pour parcourir votre historique de commandes, et Page précédente et Page suivante vous permettent désormais de faire défiler l’historique en plus des touches fléchées Haut et Bas.

    History search in Python Console - GIMP 3.0.0 RC2
    Recherche dans l’historique de commande (console Python) - GIMP 3.0.0 RC2

    • Alx Sa a implémenté le chargement des fichiers CMJN PAM dans le greffon PNM.

    • Sous Windows, nous avons également ajouté la possibilité d’ouvrir des images via des raccourcis Windows (fichiers .lnk) directement depuis la boîte de dialogue de sélection de fichiers. Ce travail est également réalisé par Alx Sa.

    • D’autres modifications et améliorations ont été apportées au thème. En particulier, le style du « curseur compact » a été considérablement amélioré après les commentaires et le travail de Denis Rangelov. Denis a également créé de nouvelles icônes pour la boîte de dialogue de navigation ancrable, remplaçant les doublons par des symboles distincts. Anders Jonsson a également révisé le thème et supprimé certaines solutions de contournement qui étaient nécessaires dans GIMP 2.10, mais qui ne sont plus nécessaires avec nos nouveaux thèmes 3.0.

    • Idriss Fekir a apporté des améliorations à notre code de chargement de polices XCF, pour améliorer la compatibilité lors de l’importation d’anciens fichiers XCF.

    Aperçu des changements depuis la version 2.10

    Pour ceux qui n’ont pas suivi de près le développement de GIMP, cet article ne couvre que les changements progressifs depuis la dernière version. Ils ne répertorient pas tous les changements ou améliorations apportés à GIMP 3.0 - ce serait un article très long !

    Bien que nous aurons des notes de version complètes pour la version finale 3.0, nous avons pensé qu’il serait utile de résumer quelques-uns des changements majeurs apportés au cours du processus de développement de la version 2.99 :

    • Le travail initial de portage de GIMP vers GTK3 a eu lieu dans 2.99.2. Cette version a également introduit la sélection multi-calque, ainsi que des modifications initiales de l’API et des améliorations de la gestion de l’espace colorimétrique.
    • D’autres mises à jour de l’API ont été effectuées dans 2.99.4, notamment la possibilité de générer automatiquement des interfaces utilisateur de greffon en fonction des entrées de l’utilisateur. Diverses améliorations de convivialité ont également été apportées, ainsi que l’introduction de l’outil expérimental Paint Select.
    • 2.99.6 a apporté davantage de mises à jour de l’API et de travaux internes. D’autres fonctionnalités destinées à l’utilisateur incluent la possibilité de placer des guides en dehors du canevas, une meilleure prise en charge du pavé tactile et une meilleure prise en charge des différentes métadonnées de couleur PNG.
    • Le pipeline de développement a été considérablement amélioré dans 2.99.8, permettant des temps de construction et une automatisation plus rapides. La prise en charge de nouveaux formats de fichiers tels que PSB et JPEGXL a été ajoutée dans cette version, ainsi que la prise en charge des pilotes Windows Ink de tablette graphique.
    • 2.99.10 a introduit des « ensembles de calques », remplaçant l’ancien concept de calques liés. La dynamique de peinture a été rationalisée dans cette version, ainsi que la première version de la boîte de dialogue de bienvenue.
    • La prise en charge de la liaison anticipée CMJN a été implémentée dans 2.99.12. Les thèmes de l’interface graphique CSS ont également fait l’objet d’une refonte majeure dans cette version, ainsi que davantage de prise en charge de formats de fichiers et d’améliorations majeures de Script-Fu.
    • 2.99.14 a vu l’introduction de contours non destructifs pour l’outil de texte. L’outil d’alignement a également été révisé, la mise à l’échelle des thèmes et des icônes a été améliorée et les sélections flottantes ont été largement remplacées dans le flux de travail.
    • Le portage GTK3 a finalement été achevé dans 2.99.16. La fenêtre contextuelle de recherche / a été mise à jour pour afficher le chemin du menu pour toutes les entrées, ainsi que pour permettre de chercher parmi les filtres.
    • Les filtres non destructifs ont été introduits pour la première fois dans 2.99.18. Des améliorations majeures de la gestion des couleurs ont également été apportées, et de nouvelles options d’extension automatique des limites de calque et d’accrochage ont également été implémentées.

    GEGL

    Tout comme pour GIMP, la version 0.4.52 de GEGL a été corrigée. Øyvind Kolås a corrigé certaines étiquettes génériques « Entrée auxiliaire » pour qu’elles soient plus significatives. Elles seront également visibles dans les filtres de GIMP. Il a également amélioré la précision du traitement des couleurs de certains filtres. Thomas Manni, contributeur de longue date, a également corrigé les plantages lorsque certains filtres étaient exécutés sur de très petits calques.

    Statistiques de sortie

    Depuis GIMP 3.0 RC1, dans le dépôt principal de GIMP :

    • 73 rapports ont été fermés comme CORRIGÉS.
    • 71 demandes de fusion ont été acceptées.
    • 277 commits ont été poussés.
    • 18 traductions ont été mises à jour : bulgare, catalan, chinois (Chine), chinois (Taïwan), danois, finnois, géorgien, islandais, italien, letton, lituanien, norvégien nynorsk, persan, portugais, russe, slovène, suédois, ukrainien.

    35 personnes ont contribué à des modifications ou des correctifs à la base de code de GIMP 3.0.0 RC2 (l’ordre est déterminé par le nombre de commits ; certaines personnes sont dans plusieurs groupes) :

    • 12 développeurs pour le code principal : Jehan, Alx Sa, Michael Schumacher, Anders Jonsson, Lloyd Konneker, Øyvind Kolås, Idriss Fekir, Andre Klapper, Jacob Boerema, Michael Natterer, Rupert Weber, Thomas Manni.
    • 11 développeurs de plug-ins ou modules : Jehan, Lloyd Konneker, Alx Sa, Rupert Weber, Daniel Novomeský, Jacob Boerema, Aki, Bruno, Ryan Sims, Simon Munton.
    • 19 traducteurs : Alan Mortensen, Cheng-Chia Tseng, Kolbjørn Stuestøl, Rūdolfs Mazurs, Jiri Grönroos, Sveinn í Felli, Alexander Shopov, Aurimas Černius, Marco Ciampa, Danial Behzadi, Hugo Carvalho, Jordi Mas, Anders Jonsson, Ekaterine Papava, Julia Dronova, Luming Zh, Martin, Michael Schumacher, Youri Chornoivan.
    • 2 concepteurs de thèmes : Alx Sa, Anders Jonnson.
    • 2 contributeurs à la documentation : Jehan, Bruno.
    • 5 contributeurs pour la compilation, l’empaquetage ou l’intégration continue : Bruno, Jehan, Lloyd Konneker, Alx Sa, Jacob Boerema, Rupert Weber.

    Contributions sur d’autres dépôts du GIMPverse (l’ordre est déterminé par le nombre de commits) :

    • GEGL 0.4.52 est composé de 31 commits de 16 contributeurs : Øyvind Kolås, Sam L, Thomas Manni, lillolollo, Alan Mortensen, Anders Jonsson, Ekaterine Papava, Hugo Carvalho, Jordi Mas, Juliano de Souza Camargo, Kolbjørn Stuestøl, Lukas Oberhuber, Luming Zh, Marco Ciampa, Martin, Yuri Chornoivan.
    • ctx a enregistré 48 commits depuis la sortie de la RC1 par 1 contributeur : Øyvind Kolås.
    • gimp-data a enregistré 6 commits de 5 contributeurs : Anders Jonsson, Jehan, Sevenix, Alx Sa et Denis Rangelov.
    • gimp-test-images (nouveau référentiel pour les tests de prise en charge des images) a enregistré 2 commits de 1 contributeur : Rupert.
    • La version gimp-macos-build (scripts d’empaquetage pour macOS) a reçu 5 commits de 1 contributeur : Lukas Oberhuber.
    • La version flatpak a reçu 4 commits de 2 contributeurs : Bruno Lopes, Jehan.
    • Notre site Web principal a reçu 29 commits de 3 contributeurs : Jehan, Alx Sa, Andrea Veri.
    • Notre site Web de développement a reçu 16 commits de 2 contributeurs : Jehan, Bruno Lopes.
    • Notre documentation pour GIMP 3.0 a reçu 157 commits de 10 contributeurs : Andre Klapper, Kolbjørn Stuestøl, Jacob Boerema, Alan Mortensen, Anders Jonsson, Marco Ciampa, Jordi Mas, Yuri Chornoivan, Alx Sa, Jiri Grönroos.

    N’oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, à signaler les bugs et à discuter des améliorations possibles avec nous. Notre communauté est également profondément reconnaissante envers les guerriers d’Internet qui gèrent nos différents canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Remarque : compte tenu du nombre de parties dans GIMP et de la façon dont nous obtenons des statistiques via les scripts git, des erreurs peuvent se glisser dans ces statistiques. N’hésitez pas à nous dire si nous avons oublié ou mal classé certains contributeurs ou contributions.

    Autour de GIMP

    Miroirs de téléchargement

    GNOME a abandonné l’utilisation de miroirs lors de sa dernière mise à jour d’infrastructure. Comme nos miroirs de téléchargement sont hébergés par eux, on nous a demandé si nous voulions également faire la même chose. En tant que projet communautaire, nous apprécions tous ceux qui contribuent un miroir pour rendre GIMP plus accessible dans leur région. Par conséquent, nous avons décidé de continuer à utiliser des miroirs pour distribuer GIMP.

    Si vous souhaiter contribuer à un miroir pour votre région, voici la nouvelle procédure :

    Comment devenir un miroir officiel (mise à jour de la procédure)

    1. Créez une demande de miroir sur le tracker gimp-web
    2. Dites-nous pourquoi vous souhaitez créer un miroir de GIMP, pour quels autres logiciels libres vous en contribuez déjà un, quelle est votre configuration, l’emplacement du serveur…
    3. Parlez-nous de vous : êtes-vous une organisation ou un particulier ? Donnez-nous le nom et l’URL spécifiques à afficher dans la liste des sponsors de miroir.
    4. Une fois que nous aurons terminé de vérifier votre organisation, les identifiants rsync seront échangés de manière sécurisée, vous permettant de synchroniser votre miroir avec le serveur source
    5. Il n’y a rien de particulier à faire pour apparaître sur la page des sponsors qui sera mise à jour régulièrement via des scripts. Pourtant, cela peut prendre quelques jours, voire quelques semaines parfois. Ne vous inquiétez donc pas si le nom de votre organisation n’apparaît pas immédiatement !

    🛈 Nous vérifions automatiquement à intervalles aléatoires que les miroirs sont mis à jour suffisamment rapidement et que les données correspondent pour des raisons de sécurité évidentes.

    Changements dans les miroirs

    De plus, depuis la publication de la nouvelle 3.0RC1, un nouveau miroir a été ajouté :

    • Sahil Dhiman, Mumbai, Inde

    Les miroirs sont importants, car ils aident le projet en répartissant la charge des dizaines de milliers de téléchargements quotidiens. De plus, en ayant des miroirs répartis dans le monde entier, nous garantissons que tout le monde peut avoir un accès rapide au téléchargement de GIMP.

    Financer des exécuteurs ("runner") GitLab

    Le dépôt de code de GIMP est également hébergé sur la plateforme GitLab de GNOME. Andrea Veri a demandé si nous pouvions financer un exécuteur [NDA: un "runner" est une sorte de serveur dédié à la compilation ou à l’intégration continue de manière générale] sur la plateforme, ce qui permet à tout projet sur la plateforme de tester la construction de son logiciel avant, pendant et après les modifications de code. Après un vote du comité de GIMP, nous avons accepté et sommes désormais les sponsors d’un exécuteur CI/CD x86 !

    Télécharger GIMP 3.0 RC2

    Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

    • Paquets Linux flatpaks pour x86 et ARM (64 bits)
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
    • Paquet MSIX (aperçu GIMP) pour x86 et ARM (64 bits)
    • Paquets macOS DMG pour le matériel Intel
    • Paquets macOS DMG pour le matériel Apple Silicon

    D’autres paquets réalisés par des tiers devraient évidemment suivre (paquets de distributions Linux ou *BSD, etc.).

    🛈 Notes:

    • Les 2 paquets DMG macOS seront probablement en retard, car nous attendons la validation de la mise à jour Apple par la Fondation GNOME avant de pouvoir signer nos paquets.
    • Le paquet MSIX prend généralement quelques jours ouvrables de validation par Microsoft. (le paquet MSIX est disponible)

    Et ensuite ?

    Grâce au grand nombre de retours que nous avons reçus pour notre premier candidat à la version finale, nous sommes en mesure de vous présenter cette deuxième version qui en est d’autant plus robuste. Comme vous l’avez vu, quelques surprises supplémentaires 🎁 sont arrivées avec les corrections de bugs, notamment la nouvelle API de filtre, qui a déclenché la prise en charge de l’importation de l’ancien effet Color Overlay de PSD, des modes de fusion et de composition améliorés, et plus encore. Nous avons pensé que cela valait la peine de rompre le gel des fonctionnalités pour ces changements et que cela fera toute la différence !

    Avec cette deuxième version candidate, nous sommes plus proches que jamais de la version 3.0.0 de GIMP. Comme d’habitude, nous attendons avec impatience les nouveaux rapports de problèmes de la communauté qui nous permettront de finaliser la version 3.0.0 ! 🤗

    N’oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, afin de donner en retour et d’accélérer le développement de GIMP. L’engagement de la communauté aide le projet à se renforcer ! 💪🥳

    🎅🎄🎉 Et bien sûr, toute l’équipe vous souhaite de joyeuses fêtes de fin d’année (MAJ de Jehan) nos meilleurs vœux pour la nouvelle année ! 🥳🥂🎆

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GIMP 3.0 RC1 est sorti

    Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 3.0 RC1 du 6 novembre 2024 (en anglais).

    Nous sommes très heureux de partager la première version candidate de la très attendue GIMP 3.0 ! Nous avons travaillé dur depuis notre dernière mise à jour de développement pour la préparer, et nous avons hâte que tout le monde puisse enfin voir le résultat.

    GIMP 3.0 RC1: écran de démarrage

    Nouvel écran de démarrage de la version candidate, par Sevenix (CC by-sa 4.0) - GIMP 3.0 RC1

    Alors, qu’est-ce qu’une « version candidate » (release candidate, RC, en anglais) exactement ? Une version candidate est quelque chose qui pourrait être prêt à être GIMP 3.0, mais nous voulons que la communauté la plus large la teste en premier et rapporte les problèmes qu’elle trouve. Si les retours des utilisateurs ne révèlent que des bugs mineurs et faciles à corriger, nous résoudrons ces problèmes et publierons le résultat sous la forme de GIMP 3.0. Cependant, nous espérons et nous nous attendons à ce qu’un public beaucoup plus large essaie la 3.0 RC1 — y compris de nombreuses personnes qui n’ont utilisé que la 2.10 jusqu’à présent. Si des bugs et des régressions importants sont découverts et nécessitent des modifications de code substantielles, nous devrons peut-être publier une deuxième version candidate pour des tests plus approfondis.

    Sommaire

    Nouveaux graphismes

    Icônes de Wilber

    Le logo actuel de Wilber a été créé par Jakub Steiner pour GIMP 2.6 en 2008 ! Bien qu’il s’agisse toujours d’un logo fantastique, les tendances en matière de design ont quelque peu changé au cours des seize dernières années et l’apparence plus détaillée de Wilber détonne sur les ordinateurs de bureau modernes.

    C’est pourquoi, en collaboration avec d’autres contributeurs, Aryeom a développé notre nouveau logo pour GIMP 3.0 !

    New Wilber Icon

    Nouvelle icône de Wilber, par Aryeom (CC by-sa 4.0)

    Si vous souhaitez en savoir plus sur les choix de conception, d’utilisation et les variantes de conception, veuillez consulter notre guide du logo. Nous avons également documenté l’histoire du logo Wilber.

    Écran de démarrage (Splash Screen)

    Notre magnifique nouvel écran d’accueil (présenté en haut de cet article) a été créé par le contributeur et artiste de longue date Sevenix ! Vous pouvez voir plus de ses réalisations sur sa page d’art personnelle.

    À l’avenir, nous prévoyons de changer plus souvent l’image de démarrage pour mettre en valeur toutes sortes d’œuvres créées avec GIMP (photographie, illustration, design…).
    À ce sujet, nous avons aussi créé une page d’archive des écrans de démarrage pour garder en mémoire les œuvres présentes et passées contribuées par des artistes au projet.

    Améliorations du thème d’icônes Legacy

    L’une des principales améliorations apportées par le portage GTK3 est que les icônes vectorielles de l’interface utilisateur s’adaptent désormais plus proprement à vos préférences. Cependant, notre thème d’icônes Legacy était principalement constitué d’images raster (PNG), il ne pouvait donc pas tirer parti du système de mise à l’échelle de GTK3. Le contributeur Denis Rangelov a relevé le défi de taille de recréer les icônes d’outils Legacy en SVG. Désormais, les deux thèmes d’icônes de GIMP sont superbes sur les écrans HiDPI !

    Vectorized Legacy Icon theme

    Icônes d’outils du thème Legacy Icon à l’échelle par Denis Rangelov (CC by-sa 4.0)

    Le travail n’est pas terminé, car de nombreuses icônes ne sont toujours pas adaptatives et certaines icônes sont toujours manquantes. Denis a exprimé son intérêt à continuer d’améliorer le thème d’icônes Legacy, nous espérons donc le renommer Classic lorsque ce projet sera terminé, pour montrer qu’il est désormais bien maintenu.

    Invasion de l’espace colorimétrique

    L’un des changements clés de la version 2.99.18 a été l’amélioration massive de la gestion des couleurs dans GIMP. Comme ce travail n’était pas entièrement terminé dans la version 2.99.18, il a constitué un obstacle majeur à la sortie de la version 3.0 RC1.

    Depuis cette version, nous avons trouvé et corrigé un certain nombre de bugs et de zones manquantes qui devaient être compatibles avec l’espace colorimétrique. Nous avons également examiné les rapports de l’experte en couleurs Elle Stone pour nous assurer que les valeurs de couleur affichées par GIMP sont aussi précises que possible. En même temps, il est très important de garantir que les fichiers de projet XCF créés dans GIMP 2.10 et avant s’afficheront de la même manière lorsqu’ils sont ouverts dans 3.0. Par exemple, l’un des premiers logos Google a été créé dans GIMP — et si vous ouvrez le fichier de projet XCF d’origine dans GIMP 3.0 RC1, il apparaît toujours de la même manière qu’à sa création en 1998 !
    Par conséquent, nous avons examiné en profondeur les différents modes de calque pour garantir que l’engagement en matière de compatibilité soit conservé pour cette version.

    L’invasion de l’espace colorimétrique est un projet de longue haleine, qui se poursuivra après la sortie de GIMP 3.0.

    Finalisation de l’API publique

    Une autre tâche qui devait être terminée avant la sortie de la version 3.0 est de finaliser l’API publique. Depuis notre dernier article, nous avons terminé les changements majeurs restants — le remplacement de toutes les instances de nos structures de couleurs personnalisées GimpRGB par la GeglColor mieux gérée en termes de couleurs et l’amélioration de nos formats de tableau afin que le nombre d’éléments n’ait pas à être spécifié séparément. Ce travail a été un long processus de la part de Jehan et Lloyd Konneker, avec beaucoup de tests de bon fonctionnement et de retours de la part d'Anders Jonsson.

    En outre, un certain nombre de fonctions ont été ajoutées, renommées ou supprimées de l’API publique par rapport à la version 2.10. Par exemple, un ancien patch de Massimo Valentini ajoute gimp-context-get-emulate-brush-dynamics et gimp-context-set-emulate-brush-dynamics, qui permettent aux développeurs de scripts et de greffons d’utiliser le paramètre Émuler la dynamique du pinceau lors de la peinture. D’autre part, les différentes fonctions gauss ont toutes été regroupées en une seule fonction, plug-in-gauss. Bien que ce changement nécessite quelques mises à jour dans les scripts existants, les développeurs ont désormais un contrôle plus direct sur l’effet de flou gaussien plutôt que de s’appuyer sur des valeurs prédéfinies cachées.

    L’API étant désormais stable, les développeurs de greffons et de scripts peuvent commencer à porter leurs scripts 2.10 basés sur cette version. Vous pouvez trouver la documentation initiale de l’API sur notre site de développement. Nous avons l’intention d’ajouter davantage de tutoriels et de guides de portage sur le site pendant la phase de publication. Nous vous encourageons également à consulter les greffons Script-fu et Python dans notre référentiel pour voir des exemples fonctionnels de la nouvelle API.

    Mises à jour de l’édition non destructive

    Depuis notre dernière mise à jour, nous avons continué à apporter des améliorations et des corrections de bugs à notre code de filtre non destructif. Bon nombre de ces problèmes ont été signalés par Sam Lester lors du développement et des tests de ses filtres GEGL tiers.

    Bien que les filtres non destructifs aient été un ajout très populaire à GIMP 3.0, certains des premiers utilisateurs ont demandé que nous fournissions un moyen de revenir au flux de travail destructif d’origine. Par conséquent, nous avons ajouté une case à cocher facultative « Fusionner les filtres » au bas des filtres NDE. Si cette case est cochée, le filtre sera immédiatement fusionné après sa validation. Notez que les filtres ne peuvent pas être appliqués de manière destructive sur des groupes de calques — dans ces cas, l’option de fusion des filtres n’est pas disponible.

    Example of Merge Filter checkbox

    Exemple de filtre avec la case à cocher « Merge Filter » (Fusionner les filtres) - GIMP 3.0 RC1

    Dans le même ordre d’idées, Jehan a également implémenté le stockage de la version des filtres dans les fichiers de projet XCF de GIMP. Cela nous permettra de mettre à jour les filtres à l’avenir sans affecter l’apparence des anciens fichiers de projet lorsqu’ils sont ouverts. Des travaux supplémentaires seront nécessaires dans GEGL pour implémenter complètement cette fonctionnalité, mais cela peut être fait après la version 3.0 sans affecter les fichiers de projets existants.

    Interface utilisateur

    GIMP 3.0 RC1 contient plusieurs mises à jour de l’interface utilisateur. Par exemple, davantage d’aspects du GUI peuvent désormais tirer parti des fonctionnalités de sélection multiple implémentées par Jehan dans les versions antérieures de 2.99.

    Nous avons également restauré la possibilité d’utiliser la molette de défilement de la souris pour parcourir les différents onglets de dialogue ancrables. Cette fonctionnalité existait dans GTK2 mais supprimée dans GTK3. À la demande d’un utilisateur, nous avons réimplémenté cette fonctionnalité dans GIMP lui-même sur la base d’une implémentation similaire dans geany.

    Au cours du développement, nous avons reçu un rapport indiquant que le défilement des crédits dans notre boîte de dialogue À Propos pouvait provoquer une gêne en raison de son mouvement. Par conséquent, nous avons ajouté un code pour vérifier le paramètre « Animation réduite » de votre système d’exploitation et désactiver ces animations dans GIMP selon vos paramètres de préférence.

    Greffons

    Comme nous sommes en période de gel des fonctionnalités depuis la dernière version 2.99, la plupart des modifications apportées aux greffons ont été des mises à jour d’API et des corrections de bugs (certaines d’entre elles pour des problèmes qui étaient assez anciens). Cependant, quelques améliorations plus petites ont été implémentées.

    BMP

    Le format BMP prend désormais en charge les images 64 bits par pixel. Le nouveau contributeur Rupert Weber nous a aidé à ajouter la prise en charge de l’importation correcte de ce format BMP. Il a également soumis des correctifs avec plus de corrections pour notre greffon BMP et notre pipeline de test.

    TIFF

    Depuis GIMP 2.99.16, nous pouvons importer des fichiers TIFF avec des calques au format Photoshop. Cependant, le programme Alias/Autodesk Sketchbook a créé sa propre norme pour enregistrer les calques, ce qui n’était pas compatible. Comme cela a été signalé comme un bug dans notre outil de suivi des problèmes, nous avons également ajouté la prise en charge du chargement de calques à partir de fichiers TIFF enregistrés au format Sketchbook.

    GEGL et babl

    GEGL et babl ont tous deux connu un certain nombre de mises à jour depuis leurs dernières versions en février.

    GEGL 0.4.50 introduit plusieurs nouveaux filtres créés par Sam Lester.

    • Lueur intérieure (Inner Glow)

    • Biseau (Bevel)

    • Styles GEGL (GEGL Styles)

    "GEGL Styles" effect in GIMP 3.0 RC1

    Vous pouvez y accéder via l’outil Opérations GEGL ou en les recherchant avec le raccourci d’action de recherche /.

    Øyvind Kolås a apporté un certain nombre de corrections de bugs et d’améliorations à la stabilité de GEGL. Plusieurs modifications ont également été apportées en rapport avec l’invasion de l’espace colorimétrique dans GIMP, comme l’ajout de méthodes pratiques pour obtenir et définir les GeglColor dans les modèles de couleurs HSV(A) et HSL(A), implémentées par Alx Sa. Jacob Boerema et son étudiant du Google Summer of Code (GSoC) Varun Samaga B L ont fusionné un certain nombre d’améliorations à la version OpenCL des filtres. Bien que GIMP n’active toujours pas OpenCL par défaut, leur travail nous rapproche beaucoup de la possibilité de le faire. Nous discuterons de ces améliorations dans un prochain article.

    babl 0.1.110 a également reçu quelques contributions au cours de ce cycle. Jehan a implémenté de nouveaux processus de conversion entre les modèles de couleurs RVB et HSL, ce qui améliore les performances d’un certain nombre de filtres par rapport à GIMP 2.99.18. Il a également corrigé certaines parties du code qui se comportaient différemment selon que votre processeur prenait en charge SSE2 ou non. Øyvind Kolås a amélioré la précision de plusieurs sections de code lors de la conversion de valeurs à virgule flottante en valeurs entières. De plus, Lukas Oberhuber a trouvé et corrigé une fuite de mémoire et Jacob Boerema a corrigé un problème où les images avec Not a Number/NaN pouvaient provoquer un plantage.

    Statistiques de sortie

    Depuis GIMP 2.99.18, dans le dépôt principal de GIMP :

    • 384 rapports ont été fermés comme CORRIGÉS.
    • 442 demandes de fusion ont été acceptées.
    • 1892 commits ont été poussés.
    • 31 traductions ont été mises à jour : basque, biélorusse, brésilien portugais, anglais britannique, bulgare, catalan, chinois (Chine), chinois (Taïwan), danois, néerlandais, galicien, géorgien, allemand, grec, hongrois, islandais, italien, coréen, letton, norvégien nynorsk, polonais, portugais, russe, serbe, serbe (latin), slovène, espagnol, suédois, turc, ukrainien, vietnamien.

    72 personnes ont contribué à des modifications ou des correctifs au code de base de GIMP 3.0.0 RC1 (l’ordre
    est déterminé par le nombre de commits ; certaines personnes sont dans plusieurs groupes) :

    • 27 développeurs pour coder le code principal : Jehan, Alx Sa, Jacob Boerema, bootchk, Anders Jonsson, Øyvind Kolås, Cheesequake, cheesequake, Niels De Graef, Idriss Fekir, Simon Budig, lillolollo, lloyd konneker, Andre Klapper, Andrzej Hunt, Bruno, Joachim Priesner, Nils Philippsen, Alfred Wingate, Bruno Lopes, Elle Stone, Kamil Burda, Luca Bacci, Mark Sweeney, Massimo Valentini, Oleg Kapitonov, Stanislav Grinkov, megakite.
    • 15 développeurs de greffons ou modules : Alx Sa, Jehan, Lloyd Konneker, bootchk, Jacob Boerema, Anders Jonsson, Nils Philippsen, Andrzej Hunt, Andre Klapper, Rupert, Bruno Lopes, Daniel Novomeský, Mark Sweeney, Stanislav Grinkov, lillolollo .
    • 42 traducteurs : Martin, Yuri Chornoivan, Luming Zh, Rodrigo Lledó, Kolbjørn Stuestøl, Ekaterine Papava, Cheng-Chia Tseng, Sabri Ünal, Marco Ciampa, Tim Sabsch, Jordi Mas, Alexander Shopov, Anders Jonsson, Alan Mortensen, Asier Sarasua Garmendia, Sveinn í Felli, Andi Chandler, Balázs Úr, dimspingos, Juliano de Souza Camargo, Ngọc Quân Trần, Vasil Pupkin, Alexandre Prokoudine, Bruce Cowan, Jürgen Benvenuti, Nathan Follens, Милош Поповић, Balázs Meskó, Christian Kirbach, Daniel, Emin Tufan Cetin, Fran Dieguez, Guntupalli Karunakar, Hugo Carvalho, Jehan, Philipp Kiemle, Piotr Drąg, Robin Mehdee, Rūdolfs Mazurs, Seong-ho Cho, Víttor Paulo Vieira da Costa, Ayesha Akhtar.
    • 7 créateurs de ressources (icônes, thèmes, curseurs, écran de démarrage, métadonnées… même si une bonne partie d’entre eux ont été déplacés vers le référentiel gimp-data) : Alx Sa, Jehan, Bruno Lopes, Anders Jonsson, Jacob Boerema, bootchk, nb1 .
    • 10 contributeurs à la documentation : Jehan, Bruno, Lloyd Konneker, Alx Sa, Bruno Lopes, Anders Jonsson, bootchk, Lukas Oberhuber, Andre Klapper, Jacob Boerema.
    • 11 contributeurs pour la compilation, l’empaquetage ou l’intégration continue : Bruno Lopes, Jehan, bootchk, Alx Sa, Lloyd Konneker, Jacob Boerema, Niels De Graef, Alfred Wingate, Lukas Oberhuber, Michael Schumacher, Anders Jonsson.

    Contributions sur d’autres dépôts dans GIMPverse  :

    • babl 0.1.110 est composé de 22 commits par 7 contributeurs : Øyvind Kolås, Jehan, Bruno Lopes, Anders Jonsson, Biswapriyo Nath, Jacob Boerema, Lukas Oberhuber.
    • GEGL 0.4.50 est composé de 204 commits par 33 contributeurs : Øyvind Kolås, Sam Lester, Martin, Varun Samaga B L, Yuri Chornoivan, Luming Zh, Rodrigo Lledó, Jehan, Jordi Mas, Anders Jonsson, Kolbjørn Stuestøl, Marco Ciampa, Sabri Ünal, Bruno Lopes, Alan Mortensen, Asier Sarasua Garmendia, Ekaterine Papava, Bruce Cowan, Lukas Oberhuber, Tim Sabsch, psykose, Alexandre Prokoudine, Alx Sa, Andi Chandler, Andre Klapper, ArtSin, Daniel Șerbănescu, Jacob Boerema, Joe Locash, Morgane Glidic, Niels De Graef, dimspingos, lillolollo.
    • ctx a enregistré 616 commits depuis la sortie de la version 2.99.18 par 2 contributeurs : Øyvind Kolås, Ian Geiser.
    • gimp-data (nouveau référentiel contenant des images, des splashes, des icônes et d’autres données binaires pour le logiciel) ont eu 76 commits par 7 contributeurs : Jehan, Aryeom, Bruno, Alx Sa, Denis Rangelov, Anders Jonsson, Bruno Lopes.
    • La version gimp-macos-build (scripts d’empaquetage pour macOS) a eu 41 commits par 3 contributeurs : Lukas Oberhuber, Bruno Lopes, Jehan.
    • La version flatpak a compté 38 commits de 4 contributeurs : Bruno Lopes, Jehan, Hubert Figuière, Will Thompson.
    • Notre site Web principal a enregistré 60 commits depuis la sortie de la version 2.10.38 par 5 contributeurs : Jehan, Alx Sa, Andre Klapper, Bruno Lopes et Denis Rangelov.
    • Notre site Web de développeur a enregistré 33 commits depuis la sortie de la version 2.10.38 par 5 contributeurs : Bruno Lopes, Jehan, Lloyd Konneker, Alx Sa, Lukas Oberhuber.
    • Notre documentation 3.0 a enregistré 928 commits depuis la version 2.99.18 par 14 contributeurs : Andre Klapper, Kolbjørn Stuestøl, Jacob Boerema, Alan Mortensen, Yuri Chornoivan, Jordi Mas, Marco Ciampa, Anders Jonsson, Sabri Ünal, dimspingos, Alx Sa, Andi Chandler, Daniel, Nathan Follens.

    N’oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, à signaler les bugs et à discuter des améliorations possibles avec nous.
    Notre communauté est également profondément reconnaissante envers les guerriers d’Internet qui gèrent nos divers canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Note : compte tenu du nombre de parties dans GIMP et de la façon dont nous obtenons des statistiques via le script git, des erreurs peuvent se glisser dans ces statistiques. N’hésitez pas à nous dire si nous avons oublié ou mal classé des contributeurs ou des contributions.

    Modifications futures du processus de publication

    Nous sommes bien conscients que le chemin vers GIMP 3.0 a été long et que les utilisateurs de GIMP 2.10 n’ont pas eu accès à toutes les nouvelles fonctionnalités sur lesquelles nous avons travaillé au fil des ans. À l’avenir, nous restructurerons notre processus de développement pour réduire le temps entre les versions. Comme mentionné brièvement dans notre feuille de route 3.0, nous voulons nous concentrer sur des versions plus petites et axées sur les fonctionnalités. Cela signifie que nous visons la sortie de GIMP 3.2 dans l’année qui suit la sortie finale de 3.0, plutôt qu’en 2050 comme on le dit souvent en plaisantant ! Des micro-versions avec des corrections de bugs peuvent survenir entre-temps.

    Des versions plus petites avec quelques « grosses » fonctionnalités nous permettront également de tester plus en profondeur chaque changement, améliorant encore la stabilité de chaque version. Au cours du processus de développement de la version 3.0, des développeurs comme Jacob Boerema, Lloyd Konneker, Bruno Lopes et Jehan ont créé et amélioré nos processus de tests automatisés pour détecter et identifier les bugs plus tôt. Nous parlerons plus en détail de ces améliorations dans de futurs articles.

    Autour de GIMP

    Miroirs de téléchargement

    Depuis notre dernière actualité, 8 nouveaux miroirs ont été proposés à GIMP par :

    • Sahil Dhiman, Inde
    • FCIX, en République Dominicaine, en Australie et 2 aux USA.
    • Taiwan Digital Streaming Co., Taïwan
    • OSSPlanet, Taïwan
    • Shrirang Kahale, Inde

    Cela nous amène à un total de 56 miroirs du monde entier !

    World Map of GIMP Mirror locations

    Carte des miroirs GIMP dans le monde, générée à partir de MirrorBits

    Les miroirs sont importants, car ils aident le projet en répartissant la charge des dizaines de milliers de téléchargements quotidiens. De plus, en ayant des miroirs répartis dans le monde entier, nous faisons en sorte que tout le monde puisse avoir un accès rapide au téléchargement de GIMP.

    Modifications de l’infrastructure

    Bruno Lopes a véritablement pris des initiatives pour améliorer notre processus de construction et d’empaquetage sur plusieurs plateformes.

    Au cours de l’été, il a créé une version expérimentale d’AppImage (comme détaillé dans un article d’actualité précédent). Si vous souhaitez l’améliorer davantage et, espérons-le, le rendre disponible en téléchargement standard, veuillez nous contacter ! Bruno a également créé des scripts de construction flatpak pour rendre le processus de création de votre propre flatpak GIMP beaucoup plus facile.

    Beaucoup de travail a été fait pour améliorer notre présence sur le Microsoft Store pour la version 3.0. Notre application GIMP 2.10 n’était pas entièrement intégrée à la plateforme du store en raison de certaines limitations — il s’agit en réalité simplement d’un wrapper pour notre installateur GIMP existant. Par conséquent, elle ne se mettait pas automatiquement à jour pour les utilisateurs et il n’était pas possible d’automatiser les installations avec des outils comme Microsoft Intune. Grâce aux nombreux efforts de Bruno, nous aurons une nouvelle application GIMP dans le Microsoft Store qui résout ces problèmes (et bien d’autres) pour la version finale de GIMP 3.0. À partir de maintenant, nous disposons également d’une version séparée de GIMP (Preview) qui vous permet d’installer des versions de développement de manière similaire au flatpak Bêta sur Linux. Vous pouvez l’essayer sur ce lien vers le Microsoft Store pour GIMP (Preview).

    (Pour des raisons techniques et de maintenance décrites ici, les binaires 32 bits ne seront pas disponibles dans les nouveaux paquets MSIX de GIMP, ce qui supprime malheureusement la prise en charge du greffon TWAIN hérité dans les paquets x64 et arm64 utilisés pour la numérisation rapide. Si vous dépendez de ceux-ci, le programme d’installation .exe prend toujours en charge les processeurs 32 bits. Cependant, la prise en charge de cette architecture devrait être abandonnée à l’avenir)

    En outre, l’installateur Windows standard a été mis à jour pour une conception plus moderne. Il vous permet également d’installer des paquets de langue individuels et de démarrer GIMP immédiatement après la fin de l’installation. Pour les plus férus de technologie, les scripts de build Windows ont également été portés pour utiliser PowerShell, et les scripts de build croisés peuvent désormais s’exécuter localement.

    En raison des changements et des mises à jour de notre infrastructure de création de logiciels, nous avons dû augmenter la configuration minimale requise pour le système d’exploitation MacOS à Big Sur (MacOS 11).

    Accord d’hébergement fiscal de la Fondation GNOME

    Plus tôt cette année, la Fondation GNOME a annoncé un accord de parrainage fiscal avec GIMP. Tout cela est dû au travail acharné de Jehan pendant de nombreux mois. Nos objectifs avec cet accord sont de pouvoir proposer un financement stable pour les développeurs intéressés par un travail à long terme sur GIMP par le biais de bourses, et de fournir des moyens plus faciles pour les gens de contribuer au développement de GIMP. Ce travail est toujours en cours, nous ferons donc une annonce plus détaillée une fois que tout sera stabilisé.

    Traductions

    Grâce à des traducteurs bénévoles, nous disposons désormais d’une traduction de GIMP en bengali ! Si vous souhaitez traduire GIMP dans votre propre langue ou participer à une traduction existante, vous pouvez découvrir comment ici.

    Télécharger GIMP 3.0 RC1

    Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

    • Paquets Linux flatpaks pour x86 et ARM (64 bits) avec des nightly-builds permettant de suivre l’avancement des développements
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
    • Paquet MSIX (aperçu GIMP) pour x86 (64 bits uniquement) et ARM (64 bits)
    • Paquets macOS DMG pour le matériel Intel
    • Paquets macOS DMG pour le matériel Apple Silicon

    D’autres paquets réalisés par des tiers sont évidemment attendus (paquets de distributions Linux ou *BSD, etc.).

    Et ensuite ?

    Nous entrons maintenant dans la dernière étape de cette version majeure : les candidats à la version finale ! Bien qu’il soit toujours possible d’espérer obtenir une Release Candidate correcte du premier coup, l’expérience nous dit que cette RC1 — qui est le résultat de plus de 6 ans de travail — comportera possiblement des problèmes, des bugs, probablement des plantages désagréables. C’est là que nous avons besoin de vous tous ! Nous comptons sur tout le monde pour trouver et signaler les problèmes afin que la version 3.0.0 puisse vraiment être considérée comme stable. 🤗

    Certains petits bugs peuvent être considérés comme secondaires (bien que nous acceptions toujours les rapports pour tous les bugs, même les plus petits !), car la perfection n’existe pas vraiment dans les logiciels. Il y a d’autres choses en particulier que nous voulons vraiment détecter, comme :

    • toute incohérence ou problème dans l’API (elle restera stable pour toute la série v3, donc s’il y a des problèmes à trouver, c’est maintenant ; nous voulons un framework de greffon robuste) ;
    • bugs lors de la lecture ou du rendu de fichiers XCF existants créés par d’anciennes versions stables de GIMP ;
    • plantages ;
    • régressions ;
    • migration correcte de la configuration à partir des versions stables précédentes.

    Nous ne donnons pas d’estimation de date pour la sortie de la version 3.0.0, tout d’abord parce que nous ne pouvons pas le savoir avec certitude, ensuite parce qu’à chaque fois que nous le faisons, les médias semblent simplement survoler chaque avertissement de notre texte et transformer nos mots en promesses indéfectibles. Sachez simplement que nous voulons également que cela se produise le plus tôt possible, c’est-à-dire lorsque nous pourrons considérer que notre logiciel est suffisamment stable.

    N’oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, afin de donner en retour et d’accélérer le développement de GIMP. L’engagement de la communauté aide le projet à se renforcer ! 💪🥳

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Interview de Cli345, créateur de filtres pour G’MIC

    En novembre 2023, cli345 nous gratifiait d’une excellente dépêche-tutoriel sur le filtre Comicbook de G’MIC. Un filtre qu’il a développé parce qu’il voulait transformer des photos en BD. Pour reprendre le commentaire de David Ttschumperlé, responsable de l’équipe Image du GREYC (Laboratoire de recherche en sciences du numérique) qui développe G’MIC : « Le code de ce filtre est arrivé de manière tout à fait inattendue, et ça a été une sacrée bonne surprise pour nous. Ce n’est pas souvent qu’on reçoit des contributions sympas comme ça, qui ont l’air de tomber du ciel :) »

    Et ce n’est pas sa seule contribution, mais on vous laisse le plaisir de la découverte.

    Parcours

    Quelle formation (ou pas) as-tu reçu ? Quel est ton parcours ?

    J’ai une formation en mathématiques et en informatique mais pas spécialement en modélisation des données ni en graphisme. Ma découverte de l’informatique commence avec des algorithmes sur papier. À ce moment-là, tout était séquentiel, pas question de concurrence ni de parallélisme. Dans notre apprentissage, la seule façon d’interagir avec l’utilisateur était une instruction qui permettait d’attendre que l’utilisateur écrive quelque chose à la console. Plus tard, j’ai appris la programmation événementielle, de nouveau, sans allusion à la concurrence ni au parallélisme.

    Du côté graphisme, j’ai appris à faire des filtres GIMP grâce aux nombreux tutoriels disponibles sur internet et grâce à la console « Python-Fu ». Plus tard, j’ai connu G'MIC grâce au site. C’est aussi grâce aux tutoriels que j’ai pu écrire des filtres pour G'MIC. Pour GEGL, c’est un peu la même chose, j’ai beaucoup tâtonné et je ne connais que les bases.

    Est-ce que ton investissement dans G’MIC te motive pour participer à d’autres logiciels libres ? Lesquels ?

    Quelques projets passés :

    Quelques projets en vue :

    • programme pour transformer un schéma Dia convenable en graphe GEGL,
    • greffon “ColoringBook” pour Inkscape,
    • tutoriel sur la vision des couleurs.

    Projet en cours :

    • filtre G'MIC -> Rendering -> Color Wheels,
    • le langage de programmation FuncSug. Son but est de faciliter la programmation événementielle. Pour cela, FuncSug supprime le recours aux fonctions de rappel (callback) et ajoute des structures de contrôle pour exprimer le parallélisme logique. Il peut être bien utile pour développer des petits jeux (cf G'MIC Memory) et je pense qu’il permettra de donner plus de liberté de développements dans des jeux de vie ou des histoires interactives.

    Où trouves-tu le temps d’avoir toutes ces activités en parallèle, et comment gères-tu ton temps pour chaque projet ?

    Je n’essaie pas d’avoir un résultat parfait. Par exemple, le filtre « tangential circle » est plutôt lent, mais je l’ai quand même proposé. De même, je n’avais pas testé le filtre « Frame [Relief] » partout. De fait, il y avait un gros bug qui m’a été signalé et que j’ai pu corriger.

    Implication dans G’MIC

    Qu’est-ce qui t’as amené à t’investir dans le projet ?

    Je voulais transformer des photos en BD et je ne trouvais pas ce que je souhaitais dans ce qui existait déjà. J’ai donc commencé à expérimenter. Par exemple, pour l’aplatissement des couleurs, j’ai essayé le flou gaussien sélectif, la segmentation, le filtre bilatéral ; pour les traits, j’ai essayé Laplace, la norme du gradient, la différence erode-dilate, la différence gaussienne ; ces essais se faisaient tantôt sur l’image tantôt sur des décompositions TSL, LAB, LCH.

    J’ai donc beaucoup expérimenté avec GIMP et G'MIC. Ensuite, j’ai fait un filtre dans GIMP pour automatiser tout cela. J’ai voulu en faire profiter les autres. J’en ai donc parlé sur gimpchat.com. Comme ce filtre faisait appel à de nombreuses fonctions G'MIC, je l’ai ensuite traduit en G'MIC pour lui donner une plus grande disponibilité.

    Qu’est-ce qui t’as poussé à développer des filtres particuliers ?

    Le Comicbook est venu d’un désir personnel. Deux autres sont tirés de discussions sur les forums (Lineart, Tangential Circles).

    Peux-tu nous donner une idée du temps que cela t’a pris ?

    Je n’en ai aucune idée.

    As-tu eu des retours d’utilisation de tes filtres ?

    Oui. En fait, je les présente sur le site gimpchat.com. Les utilisateurs m’y indiquent les bugs qu’ils rencontrent et si ça leur plaît.

    Qu’est ce qui s’est avéré le plus satisfaisant dans le fait d’avoir contribué à G'MIC ?

    Que plein de monde puisse profiter de mes filtres.

    Merci beaucoup.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    G´MIC 3.4.0 : Le traitement d’images à la fleur de l’âge

    Une nouvelle version 3.4.0 de G’MIC (GREYC’s Magic for Image Computing) vient de sortir !

    À cette occasion, nous vous proposons une description des fonctionnalités récentes ajoutées à ce cadriciel libre pour le traitement des images numériques, faisant suite à notre précédente dépêche sur ce sujet (publiée en mai 2023).

    G´MIC 3.4.0 Teaser

    N. D. A. : Cliquez sur les images pour en obtenir une version en pleine résolution, ou une vidéo correspondante lorsque les images contiennent l’icône Icône 'Play Video'

    Sommaire

    1. G’MIC en quelques mots

    G’MIC est un cadriciel (framework) libre pour la manipulation et le traitement des images numériques, développé au sein de l’équipe IMAGE du laboratoire de recherche GREYC de Caen (UMR CNRS 6072).

    Il définit différentes interfaces utilisateur permettant l’application d’algorithmes variés sur des images et des signaux, variés eux aussi. L’élément moteur du projet est un interpréteur d’un langage de script, le «  langage G’MIC  », élaboré spécifiquement pour faciliter le prototypage et l’implémentation de nouveaux algorithmes et opérateurs de traitement d’images. Les utilisateurs peuvent ainsi appliquer des opérateurs parmi plusieurs centaines déjà implémentés, ou écrire leurs propres pipelines de traitement et les rendre accessibles dans les différentes interfaces utilisateur du projet. C’est donc, par essence, un cadriciel ouvert, extensible et en évolution constante.

    Les interfaces de G’MIC les plus populaires sont : gmic, outil en ligne de commande (complément indispensable à ImageMagick ou GraphicsMagick pour traiter/générer/analyser des images à partir du shell), le service Web G’MIC Online, et surtout, le greffon G’MIC-Qt, utilisable dans de nombreux logiciels d’édition d’images numériques tels que GIMP, Krita, DigiKam, Paint.net, Adobe Photoshop, Affinity Photo… Ce greffon propose aujourd’hui plus de 620 filtres divers, pour élargir les possibilités de ces logiciels de manipulation d’images.

    Aperçu du greffon G’MIC-QtFig. 1.1. Aperçu du greffon G’MIC-Qt en version 3.4.0, ici lancé depuis GIMP 2.10, avec le filtre « Comicbook » sélectionné.

    2. Quoi de neuf dans cette version 3.4.0 ?

    La version 3.4.0 de G’MIC_ se focalise sur la stabilité et le support long-terme : Après plus de 15 ans de développement continu du projet, les concepts et codes qui constituent G’MIC ont eu le temps d’être éprouvés, et nous voulons maintenant assurer la stabilisation des API des différents composants du projet : l’API de la libgmic (pour intégrer les fonctionnalités de G’MIC dans un code C ou C++), celle du greffon G’MIC-Qt (pour implémenter une version du greffon au sein d’un nouveau logiciel hôte), celle des fonctions de base définissant la bibliothèque standard de G’MIC (stdlib), ainsi que la syntaxe du langage G’MIC lui-même.

    Ainsi, toutes les versions de cette branche 3.4.x seront consacrées à la correction de bugs et le développement de fonctionnalités ne nécessitant pas de modification de ces fondations du projet (par exemple, le développement de nouveaux filtres ou d’opérateurs de traitement d’images), avec le souhait d’assurer au maximum une rétro-compatibilité entre ces versions. En ce sens, on considère que la version 3.4.0 représente un jalon dans l’histoire du projet.

    En ce qui concerne les améliorations générales apportées aux différentes interfaces utilisateurs, on peut citer principalement :

    G’MIC Online (G’MICol)

    Ce service, qui permet d’appliquer les filtres de G’MIC sur des images, directement à partir d’un navigateur web, existe depuis plusieurs années. En 2024, les membres du service DDA (Développement et Déploiement d’Applications) du laboratoire GREYC ont initié une refonte totale de ce service, avec à la clé un nouveau look, une amélioration nette de l’interface utilisateur (widgets plus intuitifs, amélioration de la fenêtre de prévisualisation, apparition de thèmes clair/sombre, gestion des filtres favoris…) et une automatisation des mises à jour de G’MIC et des filtres associés. La liste des améliorations réalisées serait trop longue à énumérer, et une figure valant mille mots, voici à quoi ressemble aujourd’hui la nouvelle version de ce service web :

    Aperçu du service _G’MIC Online_
    Fig.2.1. Aperçu du service web G´MIC Online, remis au goût du jour à l’occasion de la sortie de la version 3.4.0 de G’MIC (ici, avec le thème clair).

    Si vous souhaitez l’essayer, foncez voir G’MIC Online, ça sera pour nous l’occasion d’avoir un test grandeur nature 😱 ! Et n’hésitez pas à nous faire remonter des soucis éventuels. Dans tous les cas, un grand bravo à nos collègues de l’équipe DDA pour ce travail important de refonte !

    Greffon G’MIC-Qt

    En l’espace d’une année, ce sont plus de 40 nouveaux filtres de traitement d’images qui ont fait leur apparition dans le greffon. La plupart seront détaillés dans la suite de cette dépêche. Mentionnons également l’apparition dans l’interface, d’un nouveau bouton « Paramètres aléatoires », qui assigne des valeurs aléatoires aux paramètres d’un filtre sélectionné, ce qui permet d’obtenir un aperçu rapide de la variété de rendus possibles pour un filtre donné.

    Bouton « Paramètres Aléatoires » dans le greffon G´MIC-Qt
    Fig.2.2. Greffon G´MIC-Qt : Le nouveau bouton « Paramètres aléatoires » assigne des valeurs aléatoires aux paramètres du filtre sélectionné.

    Outil CLI gmic

    L’ensemble des filtres réalisés par la communauté des développeurs est maintenant inclus dans l’exécutable dédié à la ligne de commande, ce qui fait qu’il n’y a plus de différences concernant le nombre de filtres disponibles par défaut entre le greffon G’MIC-Qt et l’outil CLI gmic (il fallait auparavant forcer la mise à jour des filtres avec $ gmic update). Aujourd´hui, gmic dispose d’un arsenal de plus de 4000 fonctions pour traiter vos images en ligne de commande. Notons que des efforts particuliers ont été faits pour améliorer le visualiseur intégré d’images (commande display). On peut dorénavant visualiser plus aisément des collections d’images 2D, des images volumiques 3D ou même des maillages 3D, dans une unique interface, comme illustré sur la figure ci-dessous :

    Commande 'display'
    Fig.2.3. Outil CLI gmic : Le visualiseur d’images de G’MIC a été entièrement ré-implémenté et permet de visualiser des types d’images différents au sein d’une même interface.

    C’est également le cas pour le visualiseur de fonctions mathématiques ou de signaux 1D (commande plot), qui a été refait à neuf :

    Commande 'plot'
    Fig.2.4. Commande plot: Le visualiseur de fonctions/signaux 1D a été entièrement repensé.

    Tout ceci fait de gmic un outil bien pratique, même si on ne se limite qu’à la visualisation d’images en ligne de commande.

    Autres améliorations

    • L’évaluateur intégré d’expressions mathématiques a encore bien évolué : c’est l’une des briques essentielle du langage G’MIC, puisqu’il est en charge d’évaluer le résultat des opérations mathématiques dont on a besoin dans les scripts (autant dire qu’en traitement d’images, on fait tout le temps des calculs). Cet évaluateur s’est enrichi de nombreuses fonctions, en particulier pour le calcul et le traitement de vecteurs, de matrices, et la manipulation native de tas.
    • De nombreuses fonctions natives (C++) de la bibliothèque ont pu être ré-écrites intégralement en langage G’MIC. Ceci va faciliter l’évolution et la maintenance de ces fonctionnalités, puisque leur modification/amélioration future ne nécessitera plus de mise à jour obligatoire des binaires du projet.
    • Les commandes de chargement/sauvegarde de maillages 3D en format .obj (Wavefront) ont été améliorées, et de nouvelles commandes de traitement/création de maillages 3D ont vu le jour (par exemple pour visualiser les vecteurs normaux aux sommets d’un maillage, comme illustré sur la vidéo ci-dessous). Et, non, ceci n’est pas une pomme pourrie :

    Exemple de rendu 3D
    Fig.2.5. La gestion des maillages 3D au sein de G´MIC a été enrichie de nouvelles commandes.

    Voilà pour ce qui concerne les améliorations générales des différentes interfaces proposées par le cadriciel.
    Passons maintenant au détail des nouveaux filtres et traitements d’images apparus dans G’MIC ces douze derniers mois.

    3. Détails des nouveaux filtres

    Dans cette (longue) section, nous catégorisons et décrivons les filtres récents, par type d’utilisation : Retouche photographique, Filtres de déformations, Filtres de dégradations, Filtres de rendu et de textures, et enfin Effets artistiques.

    3.1. Retouche photographique

    Trois filtres intéressants ont fait leur apparition dans le greffon G’MIC-Qt pour aider les photographes à retoucher leurs clichés numériques.

    Tout d’abord, le filtre Colors / Mixer [Generic], un filtre de mixage de canaux couleur qui offre la possibilité de choisir parmi pas moins de 16 espaces/représentations de couleurs différents pour le mixage (CMY, CMYK, HCY, HSI, HSL, HSV, Jzazbz, Lab, Lch, OKlab, RGB, RYB, XYZ, YCbCr, YIQ et YUV_). Cela constitue une bonne alternative aux outils traditionnels de rehaussement de contrastes ou de couleurs, pour retoucher les photographies qui pourraient être un peu palôtes.

    Filtre 'Colors / Mixer (Generic)'
    Fig.3.1.1. Le filtre Colors / Mixer [Generic] vient enrichir l’arsenal de filtres déjà disponibles pour la retouche des contrastes et des couleurs.

    Parlons également du filtre Details / Sharpen [Alpha], qui comme son nom l’indique, permet de rehausser les détails fins dans des photographies. Il est basé sur une technique originale de décomposition pyramidale de l’image relativement à un opérateur d´Alpha blending. Cette technique cherche en particulier à minimiser l’apparition de « halos » près des contours, qui est un artefact classique rencontré avec les filtres usuels de rehaussement de détails.

    Filtre 'Details / Sharpen (Alpha)'
    Fig.3.1.2. Le filtre Details / Sharpen [Alpha] permet de rehausser assez finement les détails dans les photographies, en minimisant l’apparition de « halos ».

    Filtre 'Details / Sharpen (Alpha)'
    Fig.3.1.3. Détails « Avant/Après » illustrant l’intérêt du filtre Details / Sharpen [Alpha].

    Enfin, le filtre Layers / Spatial Blend Multi-Layers permet de fusionner plusieurs prises d’un même point de vue en une seule image, avec la possibilité de générer un gradient linéaire spatial entre ces différentes vues. On peut par exemple photographier une même scène à plusieurs moments de la journée (et de la nuit), et utiliser ce filtre de fusion spatiale pour créer une image telle que celle illustrée ci-dessous, en un ou deux clics de souris :

    Filtre 'Layers / Spatial Blend Multi-Layers'
    Fig.3.1.4. Le filtre Layers / Spatial Blend Multi-Layers permet de fusionner plusieurs photographies avec un gradient spatial linéaire, réglable par l’utilisateur.

    (Crédits : les images utilisées dans la figure ci-dessus proviennent de la vidéo « Stunning New York City skyline timelapse: Day to night » de la chaîne Youtube « Rumble Viral »).

    La vidéo suivante illustre le processus complet, en utilisant le greffon G´MIC-Qt sous GIMP 2.10 :

    Filtre 'Layers / Spatial Blend Multi-Layers'

    3.2. Filtres de déformations

    Passons maintenant à un ensemble de nouveaux effets disponibles pour déformer vos images un peu dans tous les sens.

    Avec tout d’abord un premier filtre Deformations / Distort [RBF], qui déforme une image à partir de points clés définis par l’utilisateur et d’une fonction d’interpolation de type RBF (Fonction de base radiale) dont la formule mathématique est spécifiable par l’utilisateur.

    Filtre 'Deformations / Distort (RBF)'
    Fig.3.2.1. Le filtre Deformations / Distort [RBF] permet d’appliquer des déformations variées, basées sur des RBFs. Ici, en spécifiant la fonction de base radiale phi(r) = log(0.1+r).

    Mentionnons ensuite l’apparition d’une nouvelle catégorie Map Projection, qui contient 14 filtres différents dédiés à la transformation de cartes initialement sous la forme de projection cylindrique équidistante (cartes équirectangulaires), pour les convertir sous la forme d’autres types de projections. Cette série de filtre est une contribution de Kristian Järventaus, un membre du Cartographers Guild forum, forum spécialisé dans la cartographie.

    Filtres de la catégorie 'Map Projection'
    Filtres de la catégorie 'Map Projection'
    Fig.3.2.2. La nouvelle catégorie de filtres Map Projection propose plusieurs algorithmes de projection de cartes géographiques.

    Notons également l’arrivée du filtre Deformations / Square to Circle [alt], dont le but est de transformer tout rectangle (ou carré) centré dans une image, en une ellipse (ou un cercle), et vice-versa. Un filtre certes très spécialisé, avec évidemment peu d’applications évidentes au premier abord, mais le jour où on en a besoin, on est bien content de l’avoir sous la main ! Nous l’avons par exemple utilisé ci-dessous pour transformer un cadre de peinture initialement rond, en un cadre carré :

    Filtre 'Deformations / Square to Circle (alt)'
    Filtre 'Deformations / Square to Circle (alt)'
    Fig.3.2.3. Le filtre Deformations / Square to Circle [alt] permet de convertir des objets carrés ou rectangulaires en objets ronds ou elliptiques, et inversement.

    Enfin, terminons cette revue des nouveaux filtres de déformations d’images, avec le filtre Deformations / Poincarré Disk. Celui-ci permet d’une part de générer des disques de Poincaré, une famille de figures géométriques basées sur des géométries hyperboliques, comme illustrée sur la figure suivante :

    Filtre 'Deformations / Poincaré Disk'
    Fig.3.2.4. Quelques exemples de disques de Poincaré, générés par le filtre Deformations / Poincaré Disk.

    Mais là où ça devient intéressant, c’est que ce filtre permet aussi de déformer des images en les projetant sur ces géométries si particulières :

    Filtre 'Deformations / Poincaré Disk'
    Fig.3.2.5. Projection d’une image sur un disque de Poincaré.

    Par exemple, nous avons utilisé ce filtre (avec quelques modifications maison) pour générer la courte animation suivante, « Survol de la planète Poincaré », qui illustre les étonnantes propriétés fractales de ces bizarreries géométriques :

    Filtre 'Deformations / Poincaré Disk'

    3.3. Filtres de dégradations

    Il arrive que l’on cherche volontairement à dégrader des images, soit pour simuler une altération réelle (par exemple un flou de bougé, du bruit de capteurs…), soit dans la recherche d’un effet purement esthétique (Glitch Art). Dans ces buts, les nouveaux effets suivants ont été ajoutés à G’MIC :

    • Les filtres Rendering / CRT Scanlines et Degradations / CRT Phosphors cherchent à imiter la restitution d’images sur des écrans à tube cathodique (CRT), en simulant deux effets caratéristiques de ces types d’afficheurs, à savoir l’effet Scanline et l’affichage par phosphores. Ces deux filtres ont été réalisés en collaboration avec Romain Hérault, nouveau contributeur (qui a rejoint le GREYC récemment).

    Filtre 'Rendering / CRT Scanlines'
    Fig.3.3.1. Le filtre Rendering / CRT Scanlines imite l’effet « Scanline » typique des afficheurs CRT.

    Filtre 'Degradations / CRT Phosphors'
    Fig.3.3.2. Le filtre Degradations / CRT Phosphors quant à lui simule la technique d’affichage par phosphore lumineux des afficheurs CRT.

    • Le filtre Degradations / Blur [Motion] permet, lui, de synthétiser un flou de bougé, avec des trajectoires de type splines possiblement complexes, réglables par l’utilisateur directement en modifiant des points clés dans la fenêtre de prévisualisation de G’MIC-Qt, comme illustré sur la figure ci-dessous :

    Filtre 'Degradations / Blur (Motion)'
    Fig.3.3.3. Le filtre Degradations / Blur [Motion] simule un flou de bougé.

    • Le filtre Degradations / Sloppy Mess est quant à lui plutôt destiné aux amateurs de Glitch Art. C’est l’un des premiers filtres d’un nouveau contributeur, Prawnsushi, qui s’est récemment intéressé au langage G’MIC pour la création de filtres. C’est un effet un peu long à calculer, mais qui possède de nombreux paramètres et une grande palette de rendus différents.

    Filtre 'Degradations / Sloppy Mess'
    Fig.3.3.4. Le filtre Degradations / Sloppy Mess crée volontairement des artefacts numériques artistiques sur vos images.

    3.4. Filtres de rendu et de textures

    Les filtres de rendu ont cette particularité de ne pas nécessiter d’images d’entrée pour fonctionner, puisqu’ils créent de nouvelles images (ou de nouveaux calques) en partant de zéro, par génération procédurale.

    • Le filtre Rendering / Underwoods, un deuxième filtre réalisé par Prawnsushi, n’est rien de moins qu’un générateur de sous-bois ! On pourra nous dire que ça ne sert pas forcément à grand-chose, et évidemment ce n’est pas un filtre qui va être indispensable aux traiteurs d’images, photographes ou illustrateurs pour leur travail de tous les jours.

    Mais en quelque sorte, ce filtre illustre pourtant toute la philosophie du projet G’MIC : Produire un logiciel qui favorise la créativité algorithmique, facilite l’implémentation de toutes sortes de filtres (utiles ou moins utiles), et permet le libre partage avec des utilisateurs. En pratique, ce filtre a le mérite d’exister, chacun peut l’essayer, et il n’utilise que peu de ressources mémoire (quelques dizaines d’octets, grâce à la compacité du langage G’MIC par construction). Et en plus, les résultats sont plutôt cool ! Et soyez assurés qu’il servira immanquablement, un jour ou l’autre, à un artiste voulant synthétiser une image de sous-bois en deux clics de souris !

    Filtre 'Rendering / Underwoods'
    Filtre 'Rendering / Underwoods'
    Fig.3.4.2. Exemples de rendus d’images de sous-bois par le filtre Rendering / Underwoods.

    • Le filtre Patterns / Reaction-Diffusion synthétise des textures du type de celles qu’on rencontre dans la modélisation des systèmes de Réaction-Diffusion.

    Filtre 'Patterns / Reaction-Diffusion'
    Fig.3.4.3. Le filtre Patterns / Reaction-Diffusion dans le greffon G’MIC-Qt.

    Là encore, l’intérêt de ce type de filtres peut paraître assez limité. Pourtant c’est l’exemple même de texture qui peut servir de base à la création d’œuvres d’art génératif. Prenez une texture créée par ce filtre, appliquez-lui quelques-uns des autres effets disponibles dans G’MIC (au hasard, le filtre Deformations / Drop Water), et vous voilà prêt à produire des animations amusantes, telles que celle ci-dessous :

    Filtre 'Patterns / Reaction-Diffusion'

    • Le filtre Rendering / Spline Spirograph s’inspire du jeu du Spirographe pour le processus de génération de courbes paramétriques, créant des effets de texture et de couleurs intrigants. La présence du bouton Paramètres aléatoires dans le greffon G’MIC-Qt est ici plus que bienvenue, pour obtenir rapidement un panorama varié des résultats possibles de ce filtre !

    Filtre 'Rendering / Spline Spirograph'
    Filtre 'Rendering / Spline Spirograph'
    Fig.3.4.1. Le filtre Rendering / Spline Spirograph et quelques exemples de rendus possibles.

    Ce filtre propose également un mode de sortie animé, produisant plusieurs calques consécutifs qui représentent différentes frames d’une animation, ce qui permet de synthétiser de courtes vidéos comme celle-ci :

    Filtre 'Rendering / Spline Spirograph'

    • Le filtre Rendering / ABN Filigrees sait lui aussi tracer des courbes paramétriques intéressantes, en s’inspirant cette fois des filigranes que l’on trouve sur les certificats d’actions ou de papier-monnaie. Ce filtre rend hommage à l’American Bank Note Company, un graveur de papier financier ayant été actif à Wall Street du milieu du XIXᵉ siècle jusqu’à il y a une soixantaine d’années.

    Filtre 'Rendering / ABN Filigrees'
    Fig.3.4.4. Le filtre Rendering / ABN Filigrees en action.

    Ce filtre a été réalisé par Garry Osgood, contributeur de longue date et rédacteur des pages de tutoriels du projet. Garry a détaillé tous les aspects techniques de ce filtre-là en particulier, sur cette page.

    • Le filtre Rendering / Random Signature est lui aussi un générateur de courbes amusant : il se propose de dessiner des signatures aléatoires, comme l’illustre la vidéo ci-dessous :

    Filtre 'Rendering / Random Signature'
    Fig.3.4.4. Le filtre Rendering / Random Signature permet de créer des signatures aléatoires.

    Là encore, un filtre dont l’utilité ne peut pas faire débat : « C’est complètement inutile, donc rigoureusement indispensable ! ».

    • Et pour finir cette section, citons le filtre Rendering / Twisted Rays qui génère, comme son nom l’indique, un effet de rayons torsadés. Là encore, l’utilisation de ce filtre restera probablement assez confidentielle. Mais qui sait si dans les milliers d’utilisateurs de G’MIC, il n’y a pas justement quelqu’un qui cherchait à réaliser cet effet en particulier ? Et bien maintenant, il peut ! ☺

    Filtre 'Rendering / Twisted Rays'
    Fig.3.4.5. Le filtre Rendering / Twisted Rays crée un tourbillon de rayons sur vos images.

    Ce filtre peut par exemple être utilisé pour créer ce genre d’effets animés psychédéliques :

    Filtre 'Rendering / Twisted Rays'

    3.5. Effets artistiques

    Et pour finir avec cette énumération des nouveaux filtres de G’MIC, voici quelques filtres en vrac, que l’on va regrouper sous la dénomination « Artistique » (c’est généralement le terme employé dans les logiciels de traitement d’images, pour qualifier des filtres qu’on ne sait pas trop catégoriser…).

    • Le filtre Artistic / Stringify décompose une image d’entrée en blobs de couleurs quantifiés, et relie les points (sous-échantillonnés) localisés sur les contours de ces blobs par des segments de couleur. Là encore, le rendu peut faire penser aux courbes que l’on obtient avec le jeu du Spirographe.

    Filtre 'Artistic / Stringify'
    Fig.3.5.1. Le filtre Artistic / Stringify crée des abstractions d’images à partir de segments de couleur.

    • Le filtre Black & White / Filaments est lui, basé sur le lancer de milliers de particules à partir d’un ou plusieurs bords de l’image, avec des trajectoires qui sont déformées par la géométrie des contours de l’image. Le tracé de ces milliers de trajectoires avec des couleurs semi-transparentes permet de produire ce genre d’images :

    Filtre 'Black & White / Filaments'
    Filtre 'Black & White / Filaments'
    Fig.3.5.2. Le filtre Black & White / Filaments transforme vos images en ensembles de filaments qui se déforment.

    • Le filtre Arrays & Tiles / Loose Photos simule un effet de lancer de photos en vrac sur une table, de telle manière que le contenu des photos recrée une image globale, spécifiée comme entrée du filtre. Beaucoup de paramètres sont réglables (densité, taille et ratio des photographies, paramètres d’ombrage, etc.), afin de laisser à l’utilisateur une grande liberté sur le choix du rendu final.

    Filtre 'Arrays & Tiles / Loose Photos'
    Fig.3.5.3. Exemple de rendu par le filtre Arrays & Tiles / Loose Photos.

    • Le filtre Rendering / Quick Copyright, qui existait déjà dans les versions précédentes, a été ré-implémenté à partir de zéro. Il s’agit d’un filtre facilitant l’insertion d’un texte de copyright (ou d’une signature texte) sur une image numérique. Il possède maintenant de nombreux paramètres permettant de régler finement la position du texte, sa taille, sa fonte, etc. Combiné avec les possibilités d’automatisation du langage G’MIC, c’est un filtre avantageux pour insérer facilement du texte, de manière normalisée, sur des milliers de photographies.

    Filtre 'Rendering / Quick Copyright'
    Fig.3.5.4. Le filtre Rendering / Quick Copyright en action pour l’insertion de texte de copyright sur une image.

    • Et enfin, le filtre Patterns / Random Rectangles transforme une image en une partition aléatoire de rectangles colorés, pour donner un effet d’abstraction d’image, s’inspirant vaguement du style de certains tableaux de Piet Mondrian.

    Filtre 'Patterns / Random Rectangles'
    Fig.3.5.5. Le filtre Patterns / Random Rectangles crée une partition colorée de rectangles aléatoirement placés sur l’image.

    Là encore, on peut imaginer utiliser ce filtre pour générer des textures qui pourront par exemple servir à décorer des objets, comme cela a été fait dans l’animation ci-dessous (en partant d’une image de bruit pur) :

    Filtre 'Patterns / Random Rectangles'

    4. Un logiciel aux utilisations variées

    Comme nous avons essayé de vous le montrer, G’MIC possède de multiples facettes, avec une vaste palette d’applications. La communauté des utilisateurs ne se limite d’ailleurs pas aux artistes numériques, mais comporte également des chercheurs, des programmeurs, des algorithmiciens… Nous montrons ci-dessous quelques autres utilisations variées du logiciel.

    • Débruitage d’images du JWST :

    En octobre 2023, nous avons appris par l’intermédiaire de M.J. McCaughrean, chercheur senior à l´ESA (European Spatial Agency) (parti à la retraite en 2024), que G´MIC était utilisé par certaines personnes au sein de l’ESA pour traiter des images provenant du James Webb Space Telescope (JWST), en particulier pour l’atténuation du bruit fréquentiel apparaissant sur certaines images acquises par le télescope (via le filtre Repair / Banding Denoise notamment).

    G’MIC a par exemple été utilisé (entre autres logiciels) pour la réalisation de l’image de couverture du magazine Nature, vol. 622, issue 7981 du 5 octobre 2023, comme confirmé par M.J. McGaughrean, et indiqué d’ailleurs dans la publication associée, dont il est le co-auteur.

    Utilisation de G’MIC par l’ESA
    Fig.4.1. Utilisation de G´MIC dans le cadre du débruitage d’images de la proto-étoile Herbig-Haro 211, acquises par le JWST.

    Pour nous les développeurs, ça a vraiment été une bonne surprise d’apprendre ça, et de nous rendre compte que G´MIC était utilisé dans le domaine de l’astrophysique.

    • Code créatif :

    G’MIC se révèle être un allié précieux lorsque l’on cherche à faire du code créatif, de par sa capacité à générer/manipuler facilement des images, et de par sa bibliothèque standard d’opérateurs fournie. Durant cette année écoulée, nous nous sommes amusés à explorer ses possibilités pour la création algorithmique d’images et d’animations, dont voici un petit florilège :

    Commençons tout d’abord par cette petite animation de flocons de neige tourbillonnants (code source, 30 lignes) :

    Animation de flocons de neige
    Fig.4.2. Animation de flocons de neige, générée par un script G´MIC.

    Puis enchaînons avec cette variante amusante du jeu de Pierre-Feuille-Ciseaux, où l’on fait d’abord jouer consécutivement chaque pixel d’une image (dont les valeurs initialement aléatoires représentent soit 0 : une pierre, 1 : une feuille, ou 2 : des ciseaux) avec ses 8 voisins, en gardant à chaque fois l’élément qui a été gagnant le plus souvent. Dans un deuxième temps, on stylise la séquence de ces différentes images de labels, là encore, avec le filtre Drop Water, pour aboutir à l’animation suivante, que l’on pourrait intituler « La soupe de l’enfer » (code source, 30 lignes),

    Animation du jeu Pierre-Feuille-Ciseaux
    Fig.4.3. Animation du jeu de Pierre-Feuille-Ciseaux, où tous les pixels d’une image jouent simultanément.

    Et enfin, (re-)plongeons dans le monde merveilleux des fractales de Mandelbrot, tout d’abord avec ce rendu de l’ensemble de Mandelbrot utilisant la technique du Orbit Trap permettant de faire un rendu en y plaquant une image couleur :

    Rendu de l’ensemble de Mandelbrot par la méthode de l’« Orbit Trap »
    Fig.4.4. Rendu de l’ensemble de Mandelbrot par la méthode du Orbit Trap.

    Puis, avec un autre type de rendu, connu sous le nom de Buddhabrot, mais ici en considérant des séries complexes de type zn+1 = zn^p + c, et en faisant varier linéairement l’exposant réel p entre 0 et 6 (plutôt qu’en gardant p=2 comme pour l’ensemble de Mandelbrot classique), pour générer chaque image de l’animation ci-dessous (code source et détails sur cette page) :

    Rendu de type 'Buddhabrot' pour des séries complexes avec exposant
    Fig.4.5. Variations fractales autour du Buddhabrot.

    À noter que pour générer ces images du Buddhabrot modifié à bonne résolution, cela requiert déjà un temps de calcul important (quelques minutes par image). Je trouve cette animation intrigante : il est assez facile d’y retrouver/halluciner des formes familières quand on regarde en détail certaines frames de l’animation, un peu comme quand on regarde les nuages dans le ciel (si vous croyez apercevoir dans cette animation, une tête d’ours, un vieux monsieur assis, une silhouette de personnage, une tête de dragon… alors vous n’êtes pas les seuls à être un peu rêveurs ☺).

    • Conversion d’images pour le String Art :

    Le String Art est une forme de création artistique caractérisée par l’utilisation de fils de couleurs reliés entre des points (le plus souvent des clous) pour former un motif ou reproduire une photographie (classiquement des portraits). Dans un but d’expérimentation, nous avons écrit un script G’MIC qui cherche à transformer une image d’entrée en niveaux de gris choisie par l’utilisateur, sous la forme d’une série d’instructions à suivre pour relier des clous numérotés avec un fil monochrome, afin de reproduire l’image le plus fidèlement possible (en considérant les contraintes propres à ce mode de création) :

    Tentative d’utilisation de G´MIC pour le 'String Art'
    Fig.4.6. Tentative plus ou moins réussie d’utilisation de G´MIC pour le String Art.

    Saurez-vous reconnaitre qui est censé être représenté sur la photo ci-dessous (il n’y a rien de spécial à gagner…) ? Une tentative pas forcément couronnée de succès, qui mériterait d’être approfondie (notamment en gérant des fils de différentes couleurs), mais qui illustre cependant les possibilités multiples d’expérimentations que permet le cadriciel G’MIC !

    • Autres liens connexes :

    Pour finir, citons ces quelques liens en vrac, qui permettent d’apprécier la polyvalence de G’MIC :

    1. Stéganographie : Ou comment cacher des données dans une image de bruit ? La commande rand est capable de générer des valeurs aléatoires à densité, c’est-à-dire dont la densité de probabilité est une fonction spécifiée par l’utilisateur. Cela a par exemple comme application de cacher des images de taille 256x256 dans des histogrammes d’images de bruit à 16bits/canal, comme détaillé sur cette page.
    2. Galeries artistiques : Ivelieu et Gannjondal sont deux artistes fréquentant le site Deviant Art qui utilisent parfois G´MIC dans leur processus de création artistique. Allez faire un tour sur leurs galeries respectives, ça vaut le coup d’œil !

    Images de la galerie d’Ivelieu
    Fig.4.7. Quelques réalisations de Ivelieu / Devian Art.

    Images de la galerie de Gannjondal
    Fig.4.8. Quelques réalisations de Gannjondal / Devian Art.

    1. Nous avons appris que la prochaine version du programme de gestion de photos digiKam 8.4.0 inclura un outil de traitement G’MIC au sein du Batch Queue Manager, ce qui permettra aux utilisateurs de digiKam d’intégrer les filtres G’MIC dans les flux de travail de post-traitement.
    2. Thiojoe est un Youtubeur produisant des vidéos autour de la technologie, et programmeur à ses heures. Il a commencé à développer un outil libre basé sur G´MIC pour générer facilement des animations, outil que vous pouvez retrouver ici. Ne fonctionne que sous Windows pour le moment, mais nous garderons un œil dessus.
    3. Enfin, mentionnons la chaîne Youtube de JustCallMeInsane, illustratrice numérique utilisant Krita. Elle a récemment réalisé une série de vidéos qui explore les différentes catégories de filtres du greffon G´MIC-Qt pour Krita. On espère en passant que l’équipe de développement de Krita, qui gère sa propre version du greffon, pourra le mettre à jour assez rapidement.

    5. Conclusion

    On pourrait résumer cette dépêche en disant que le projet G’MIC « continue son petit bonhomme de chemin ».

    G’MIC reste bien sûr un projet modeste, développé et maintenu par une petite équipe (de passionnés), mais avec un nombre d’utilisateurs croissant et des retours d’utilisation de plus en plus variés. Ce cadriciel a la chance de pouvoir être développé au sein du GREYC, un laboratoire de recherche publique assurant au projet un contexte de développement favorable, d’être soutenu par les tutelles du laboratoire (l’institut « Sciences Informatiques » du CNRS, l’Université de Caen et l’ENSICAEN) et même encouragé par la direction dudit laboratoire.

    Et même si le plus gros du développement sur ce projet a probablement déjà été réalisé (plus de 15 ans de développement quand même), nous sommes confiants dans le fait que nous allons continuer à faire évoluer G’MIC, en tout cas, tant qu’on verra qu’il peut s’avérer utile aux traiteurs et traiteuses d’images de tout poil ! Et nous en reparlerons certainement dans une prochaine dépêche.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GIMP 2.10.38 est sorti

    Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 2.10.38 du 3 mai 2024 (en anglais).

    Cette (peut-être dernière) version stable de GIMP 2 apporte des rétroportages très demandés de GTK3, y compris une prise en charge améliorée des tablettes sous Windows. Un certain nombre de corrections de bugs et d’améliorations mineures sont également incluses dans cette version.

    Sommaire

    Cette actualité répertorie les changements les plus notables et visibles. En particulier, nous ne répertorions pas toutes les corrections de bogues ou améliorations mineures. Pour obtenir une liste plus complète des modifications, vous devez vous référer au fichier NEWS ou consulter l'historique des commits.

    Nouvelles fonctionnalités et améliorations

    Prise en charge améliorée des tablettes sous Windows

    Avant cette version, GIMP prenait uniquement en charge la connexion de tablettes sous Windows via les pilotes WinTab plutôt que les nouveaux pilotes Windows Ink. Pour cette raison, nous avons reçu un certain nombre de rapports concernant des tablettes présentant des problèmes avec des boutons qui ne répondent pas, une sensibilité à la pression incorrecte, un mouvement de brosse retardé et des changements de position à mi-course.

    Ces problèmes étaient dus à une limitation de GTK2, car la prise en charge de Windows Ink a été implémentée dans GTK3 par Luca Bacci, contributeur de longue date. Pour cette version, Luca a eu la gentillesse de rétroporter ce support vers GTK2. Vous pouvez désormais basculer entre les pilotes WinTab et Windows Ink (s’ils sont pris en charge par votre ordinateur) dans la boîte de dialogue Préférences sous les paramètres du périphérique d’entrée.

    Windows Pointer Input API option in GIMP 2.10.38
    Windows Pointer Input API peut être changé maintenant - GIMP 2.10.38

    Rétroportages d’autres fonctionnalités de GTK3

    Luca a également contribué à plusieurs autres fonctionnalités portées de GTK3 à GTK2. Certaines des améliorations rétroportées incluent la mise à jour de la taille de la boîte de dialogue d’impression afin que les boutons ne soient pas coupés, la résolution de problèmes avec les boîtes de dialogue contextuelles apparaissant derrière les précédentes et plusieurs correctifs concernant la saisie au clavier.

    Ces améliorations concernent principalement Windows et sont déjà incluses dans la version de développement 2.99. Cependant, nous sommes très heureux que ces améliorations de la qualité de vie soient désormais disponibles dans cette version stable de GIMP 2.10 !

    Corrections de bogues

    Crashs récents

    Deux crashs fréquemment signalés ont été corrigés. Un changement dans GLib 2.80 a exposé un bogue dans notre processus de fermeture et provoqué un crash à la sortie. Luca Bacci a une fois de plus conçu un correctif pour la version 2.10.38 et la prochaine version candidate 3.0. Un autre crash que certains utilisateurs rencontraient lors de très petites sélections a également été corrigé.

    Autres correctifs

    Un certain nombre d’autres petits bugs ont été corrigés dans cette version. Parmi eux :

    • Les PNG indexés avec transparence sont désormais exportés avec les bonnes couleurs
    • Anders Jonsson a corrigé les plages d’entrée de plusieurs filtres tels que Waves et Distort
    • Le champ de personnalisation de la barre de titre prend désormais en charge les caractères UTF-8
    • Les commentaires d’images existants ne « fuient » plus dans les images nouvellement créées

    Statistiques de sortie

    Depuis GIMP 2.10.36 :

    • 16 rapports ont été clos comme CORRIGÉS dans la version 2.10.38
    • 9 demandes de fusion ont été exécutées
    • 81 commits ont été poussés
    • 1 nouvelle traduction a été ajoutée : kabyle
    • 16 traductions ont été mises à jour : biélorusse, portugais brésilien, anglais britannique, danois, géorgien, allemand, grec, hongrois, islandais, italien, norvégien nynorsk, slovène, espagnol, suédois, turc, espagnol

    25 personnes ont apporté des modifications ou des correctifs à la base de code de GIMP 2.10.36 (l’ordre est déterminé par le nombre de commits) :

    • 7 développeurs : Alx Sa, Jehan, Luca Bacci, Jacob Boerema, Lukas Oberhuber, lillolollo, Øyvind Kolås
    • 19 traducteurs : Kolbjørn Stuestøl, Sabri Ünal, Bruce Cowan, Yuri Chornoivan, Vasil Pupkin, Anders Jonsson, Rodrigo Lledó, Jürgen Benvenuti, Sveinn í Felli, Andi Chandler, Juliano de Souza Camargo, Ekaterine Papava, Balázs Úr, Martin, Philipp Kiemle, Alan Mortensen, Dimitris Spingos, Marco Ciampa, Yacine Bouklif

    Contributions sur d’autres dépôts du GIMPverse (l’ordre est déterminé par le nombre de commits) :

    • La branche gimp-2-10 de gimp-macos-build (scripts de build macOS) a eu 30 commits depuis la version 2.10.36 par 2 contributeurs : Lukas Oberhuber, Bruno Lopes.
    • La version flatpak est composée de 11 commits par 3 contributeurs : Jehan, Hubert Figuière et Bruno Lopes.
    • Notre site Web principal a eu 42 commits depuis la sortie du 2.99.18 par 4 contributeurs : Jehan, Alx Sa, Andre Klapper et Lukas Oberhuber.
    • Notre site Web du développeur a enregistré 34 commits depuis la version 2.99.18 par 6 contributeurs : Bruno Lopes, Jehan, Alx Sa, bootchk, Alpesh Jamgade et Robin Swift.
    • Notre documentation 2.10 a eu 35 commits depuis la version 2.10.36 par 8 contributeurs : Alan Mortensen, Anders Jonsson, Rodrigo Lledó, Jacob Boerema, Kolbjørn Stuestøl, Marco Ciampa, Andi Chandler et Vittor Paulo Vieira da Costa.

    N’oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, rapportent des bugs et discutent avec nous d’éventuelles améliorations. Notre communauté est également profondément reconnaissante envers les guerriers d’Internet qui gèrent nos différents canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

    Remarque : compte tenu du nombre de composants dans GIMP et son univers, et de la manière dont nous obtenons des statistiques via les scripts git, des erreurs peuvent se glisser dans ces statistiques. N’hésitez pas à nous dire si nous avons manqué ou mal catégorisé certains contributeurs ou contributions.

    Nouvelles de l’équipe et processus de publication

    Idriss, contributeur du GSoC 2023, a récemment obtenu un accès « développeur » sur le référentiel source principal, pour le travail formidable qu’il a continué depuis lors.

    Ville Pätsi, contributeur de très longue date (plus de 20 ans !), sur divers sujets (design, thématisation et plus) a obtenu l’accès « reporter » à Gitlab pour aider au tri et à l’organisation directement dans le tracker.

    Autour de GIMP

    Des nouvelles des miroirs

    Depuis nos dernières nouvelles, 3 nouveaux miroirs accueillent GIMP :

    • Clarkson Open Source Institute, États-Unis
    • FCIX, Suisse
    • Tomás Leite de Castro, Portugal

    Cela nous amène à un total de 49 miroirs répartis dans le monde.

    Les miroirs sont importants, car ils aident le projet en partageant la charge de dizaines de milliers de téléchargements quotidiens. De plus, en disposant de miroirs répartis à travers le monde, nous garantissons que tous aient un accès rapide au téléchargement de GIMP.

    Sponsors d’infrastructure et de matériel

    Nous avons amélioré la page sponsor avec 2 sections :

    • "Infrastructure Sponsors" répertorie les sponsors qui aident GIMP au niveau de l’infrastructure :

      • CircleCI et MacStadium rendent possible notre plateforme d’intégration continue macOS.
      • Arm Ltd. sponsorise et administre plusieurs exécuteurs « Aarch64 » sur Windows pour notre version ARM 64 bits pour Windows ; et Microsoft avait offert des frais uniques pour leur Microsoft Store.
    • "Hardware Sponsors" répertorie les sponsors qui ont fait don de matériel aux contributeurs pour les aider dans leur travail de développement :

      • Arm Ltd. a récemment fait don d’un kit de développement Windows 2023 pour prendre en charge notre récent support Aarch64/Windows.
      • Purism a fait don d’un Librem Mini en 2021.

    Télécharger GIMP 2.10.38

    Vous trouverez toutes nos builds officielles sur le site officiel de GIMP (gimp.org) :

    • Flatpaks Linux pour x86 et ARM (64 bits)
    • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
    • Paquets macOS DMG pour le matériel Intel
    • Paquets macOS DMG pour le matériel Apple Silicon

    D’autres paquets réalisés par des tiers devraient évidemment suivre (paquets des distributions Linux ou *BSD, etc.).

    Et ensuite ?

    C’est clairement l’une des plus petites versions de la série 2.10, et elle pourrait être notre dernière. Nous verrons, même si nous savons aussi que certaines personnes restent bloquées plus longtemps que d’autres sur des séries plus anciennes (en particulier lors de l’utilisation des distributions Long Term Support (LTS) de systèmes d’exploitation de logiciels libres), si nous pourrions donc faire (si nous pensons que c’est nécessaire), une version 2.10.40 avec des corrections de bogues juste avant ou juste après la sortie de GIMP 3.0.0, en guise de conclusion.

    Dans tous les cas, nous arrêtons désormais le rétroportage des fonctionnalités de la série 2.10. Ces améliorations de la prise en charge des tablettes graphiques pour Windows sont suffisamment importantes pour qu’elles aient dû être intégrées ; mais à partir de maintenant, nous voulons nous concentrer uniquement sur la sortie de GIMP 3.0.0.

    Maintenant, vous vous demandez peut-être quand cela se produira-t-il ? Très bientôt ! Nous sommes sur le dernier sprint vers la release candidate. Cela inclut de nombreuses corrections de bugs, mais également des modifications de l’API en cours. Nous vous tiendrons au courant !

    N’oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, comme moyen de redonner et accélérer le développement de GIMP. L’engagement communautaire permet au projet de se renforcer ! 💪🥳

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Libre Graphics Meeting 2024, les 9-11 mai, à Rennes, France

    Le Libre Graphics Meeting (LGM) est la plus grande rencontre mondiale des logiciels libres de graphisme. Née en 2006 de la proposition de l’équipe du logiciel de graphisme GIMP, l’évènement s’est répété sans faillir sous l’impulsion de plusieurs projets phares (notamment GIMP, Blender, Inkscape, Scribus)… jusqu’à 2019, à cause d’une pandémie que nous avons tous vécue ici!

    Et donc après 2 années où l’évènement s’est passé en ligne, puis 2 années sans rien, LGM revient en fanfare et se produit cette année en France, à Rennes, du jeudi 9 mai (férié) au samedi 11 mai 2024 !

    Logo Libre Graphics Meeting 2024, les 9-11 mai, à Rennes, France

    Sommaire

    Où?

    Le Libre Graphics Meeting change chaque année d’organisateur local. Cette année, il est organisé par Activdesign, Activstudio (représenté par Elisa de Castro Guerra et Cédric Gémy : Scribus, Inkscape, Peril en Daiza, Upstage, Webtoonize…) et Timothée et Aish Giet (GCompris, Krita).

    ActivDesign prête ses locaux pour l’occasion:

    Activdesign
    4A rue du Bignon
    35000 Rennes
    FRANCE

    Voir aussi la carte sur OpenStreetMap

    Design location LGM 2024

    Pour la petite histoire, cette équipe locale était celle de 2021 puisque ce sont eux aussi qui ont géré les deux versions en ligne de 2020 et 2021 [Note de l’auteur: d’ailleurs pardon si la liste des organisateurs n’est pas à jour, j’ai repris celle de 2021! Mais de ce que je crois savoir, il n’y a pas de gros changements]. Initialement, ils devaient s’occuper de l’évènement 2020, repoussé à cause de la pandémie. Puis LGM 2021 aurait dû se passer au Sri Lanka (organisé par le projet Hanthana Linux et l’université de Moratuwa), ce qui est de toutes façons compromis dans un futur proche à cause de crises économique et politique ne permettant pas d’y héberger un tel évènement.

    Quand

    Du 9 au 11 mai 2024, ouverture des portes à 9H puis toute la journée!

    Les 8 et 9 mai étant fériés (oui c’est rare d’avoir ainsi 2 jours fériés à la suite!), on peut s’attendre à ce que ce week-end du 11-12 mai soit un très gros week-end pour les Français faisant le pont. Si vous n’avez encore rien prévu ces jours là et que vous n’êtes pas trop loin, LGM vous accueillera à bras grands ouverts!

    L’évènement est gratuit pour tous, donc venez nombreux!

    Le seul hic est que les trains semblent pris d’assaut (probablement pour la même raison de gros week-end). J’espère tout de même que vous trouverez des places.

    Programme

    La rencontre se passe sur 3 jours de conférences.

    Ce n’est clairement pas le programme le plus dense que j’ai connu (parmi les 7 autres LGM auxquels j’ai participé!) mais il y a tout de même de quoi être comblé:

    • Côté équipes de développement de logiciels de graphisme, on y retrouvera Krita et GIMP, bien que j’espère que les contributeurs des autres logiciels habituellement présents (Inkscape, Scribus, darktable, RawTherapee, MyPaint…) seront dans l’audience, comme tous les ans. On notera avec intérêt une conférence de quelqu’un présentant Penpot, un nouveau venu dont on entend du bien et qui essaie de combler un manque (le design d’interfaces graphiques en particulier). Espérons qu’ils n’abandonnent pas (ce n’est pas le premier à s’y essayer ces dernières années avant de tomber dans l’oubli…).
    • Pour les linuxiens, la présence d’un des développeurs principaux de Wayland est aussi un très bon signe, car cela nous permettra de travailler au futur de la colorimétrie sur Linux (l’absence totale de prise en charge actuellement rend Wayland absolument non-utilisable par tous les professionnels du graphisme, mais ils y travaillent et on en discute avec eux)!
    • Au milieu des développeurs purs, vous trouverez toujours ceux qui présentent leurs expérimentations artistiques, et ce dès l’ouverture (Tom Lechner est un habitué du LGM; je pense l’y avoir vu presque chaque année, à chaque fois avec des projets différents!), puis tout du long… Je ne vais pas lister chacune des conférences, mais la dernière, sous forme de démo de création de moules culinaires en impression 3D me plaît. Ils disent même que tous les participants repartiront avec un moule conçu autour du design du logo LGM! 🤩
    • Étonnamment cette année, il y a beaucoup moins de conférences liées au design de fontes de caractères (les années précédentes, il y a même eu parfois une journée entière sur le sujet!), mais il y en a quelques unes, tels qu’une proposition d’un service de sélection de fontes générique (au lieu de toujours ré-implémenter la même chose, chacun avec ses défauts, dans chaque logiciel), par Liam Quin (contributeur GIMP de longue date, du logiciel libre de manière générale, ancien du W3C…). Sans oublier une conférence sur les fontes inclusives, ce qui ne manquera pas de réveiller tous les trolls en sommeil!
    • Et plus…

    Au milieu de tout cela, j’animerai personnellement la conférence sur GIMP 3 avec le reste des membres de l’équipe de GIMP présents, samedi après le déjeuner, pour parler de cette version majeure qui devrait sortir incessamment sous peu!

    Puis avec Aryeom (réalisatrice du film "ZeMarmot") et ORL (compositeur du film), nous enchaînerons sur une présentation de ZeMarmot, court-métrage libre dont la production aussi approche de la fin. Cette présentation prendra la forme d’un ciné concert, 📽️🪕🎹🎶 avec 3 musiciens (dont ORL lui-même) du collectif AMMD, suivi d’une conférence plus classique!
    L’AMMD est un collectif de musiciens qui font de la musique Libre avec des logiciels libres depuis une vingtaine d’années. Ils font partie de ces gens qui sont à l’origine de la réflexion et du mouvement Art Libre en France (avant même l’arrivée de Creative Commons), tout en restant dans une démarche professionnelle, ce qui les rapproche d’autant plus de la démarche de notre production de films associative LILA. En outre, il est pour nous bien plus intéressant de travailler avec des musiciens et des instruments physiques (on n’a rien contre le sampling, mais on aime le live et la musique instrumentale).
    Notez que le film n’est pas fini, mais l’animation l’est. Il reste encore de la colorisation et des fonds à dessiner.
    Ce sera une première projection publique, et expérimentale, en plus en ciné-concert! Venez, venez! 🤗

    Et à côté…

    LGM n’est pas qu’une série de conférences et d’ateliers. Depuis ces débuts, il s’agit d’une rencontre de développeurs, d’artistes et de créateurs graphiques. Pour les développeurs, déjà cela permet de se voir physiquement (et non seulement en ligne) de temps en temps. Je peux assurer que cela aide énormément et booste aussi le moral d’avoir un vrai contact humain avec ceux avec qui on discute à distance sans arrêt tout au long de l’année. Peut-être ne serais-je pas resté ni devenu mainteneur de GIMP sans cela.

    Cela permet aussi de faire des réunions physiques pour décider de l’évolution du projet. Je ne sais ce que les autres projets font, mais pour GIMP, par exemple, nous arrivons toujours quelques jours avant l’évènement, ce qui nous permet de nous rencontrer, hacker ensemble dans un salon, discuter et prendre des décisions importantes.
    Et ce, même si nous avons commencé à re-créer un évènement propre et irrégulier (Wilber Week).

    Mais aussi cela permet aux projets divers de se rencontrer et de discuter aussi de sujets connexes, par exemple l'atelier proposé par Liam à 16H, membre de GIMP, fait suite à sa conférence de 14H30 proposant de travailler ensemble sur la gestion des fontes de caractères pour les programmes de bureaux. La présence de Wayland est aussi un très bel atoût et je m’attend à ce que cela amène des discussions et réunions impromptues, puisque c’est aussi là un des grands à-côtés positifs de LGM.

    Tout cela sont les raisons pour laquelle LGM fut créé et reste un évènement important (même s’il ne l’est pas toujours « en taille » comparé à des évènements plus mainstream tels que les RMLL ou le FOSDEM). Pour la petite histoire, de ce que j’ai glané de plus anciens contributeurs et de vieux articles, Libre Graphics Meeting est en effet né pour remplacer la GIMPCon qui était initialement hébergée par le Chaos Computer Club de Berlin, puis lors d’un Chaos Communication Camp, puis au GUADEC avant de décider de pousser l’expérimentation en discutant avec plus de projets libres de graphisme. C’est cet esprit communautaire qui anime cet évènement.

    À bientôt!

    Une fois tout cela posé sur clavier et écran, j’espère donc vous voir nombreux, linuxiens ou non, utilisateurs de logiciels libres ou seulement intéressés, vous tous. Venez, LGM 🖼️🎨📷🎥, c’est génial! 🤗

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Sortie de GIMP 2.99.18 (version de développement)

    Note : cette dépêche est une traduction de l'annonce officielle de la sortie de GIMP 2.99.18 du 21 février 2024 (en anglais).

    Voici enfin la dernière version de développement avant GIMP 3 ! Bien que la sortie de la version 2.99.18 soit un peu en retard par rapport au planning espéré, celle-ci contient un certain nombre de fonctionnalités et d'améliorations que nous sommes ravis de pouvoir partager avec vous.

    ⚠️ ☢️ Nous vous rappelons qu'une version de développement sert à présenter les travaux en cours, mais vous permet aussi de détecter et signaler les problèmes au plus tôt. En d'autres termes, cette version est instable et nous ne recommandons pas son usage en production. Utilisez-là parce que vous voulez aider à améliorer GIMP en signalant des bogues.

    En particulier, cette version 2.99.18 est peut-être l'une des versions les plus instables de la série 2.99 à cause du projet « space invasion » (NDT : « invasion venue de l'espace », un jeu de mots avec l'anglais colorspace signifiant espace de couleurs). Cela est parfaitement attendu et normal. ⚠️ ☢️

      Sommaire

      Cette dépêche présente les changements les plus notables et les plus visibles. En particulier, elle ne contient pas de liste exhaustive des correctifs de bogues ou des améliorations un peu moins importantes. Pour une liste plus complète des changements, nous vous invitons à consulter le fichier NEWS ou à jeter un coup d’œil à l'historique du dépôt Git.

      L'invasion de l'espace (des couleurs) !

      Nous avons travaillé dur sur le projet Space Invasion, qui est — comme vous vous en rappelez peut-être — le nom de code que nous avons donné au projet visant à rendre GIMP plus correct en ce qui concerne les couleurs.

      Ces derniers temps, nous avons réalisé le portage des anciennes structures de couleurs utilisées en interne (GimpRGB, GimpCMYK, GimpHSV…) dont nous nous servions pour stocker les informations de couleurs vers GeglColor. Cet objet générique peut contenir n'importe quelle donnée de couleur, quel que soit le modèle colorimétrique, la précision ou l'espace, du moment que ceux-ci sont pris en charge par babl, notre moteur pour l'encodage des pixels.

      En ce qui concerne la justesse des couleurs, cela signifie que nous ferons maintenant les conversions de couleurs uniquement si cela est nécessaire (conversions à la dernière minute), ce qui permettra de ne pas perdre d'information lorsque cela peut être évité. Par exemple, imaginons que vous utilisiez la pipette à couleurs sur une image : si nous convertissions cette couleur vers un format intermédiaire avant de l'utiliser sur une autre image (qui peut avoir le même format de couleurs ou un format différent), deux conversions auraient lieu. Cela augmente les possibilités de perte de précision. Ce problème est encore plus flagrant si les formats d'entrée et de sortie sont les mêmes (autrement dit, lorsqu'aucune conversion n'est nécessaire). Et cela sera encore plus problématique lorsque le modèle CMJN sera pris en charge nativement (nous voulons éviter à tout prix de faire un aller-retour entre un format intermédiaire et le CMJN, qui n'a pas de relation bijective avec la plupart des autres modèles de couleurs, même en travaillant sans bornes et en ignorant les problèmes de précision).

      Définition d'un espace non borné (ajout par rapport à la dépêche originelle) : lorsque la précision est entière, l'espace est toujours borné (par exemple [0-255] en 8-bit). Par contre, en flottant, où l'espace de travail standard est [0, 1], on peut décider d'accepter les valeurs négatives et supérieures à 1. Cela rend les conversions entre beaucoup d'espaces de couleurs bijectives, aux erreurs de précisions près. Notamment, les conversions entre deux espaces RVB, ou même un espace RVB et divers autres modèles, deviennent bijectives. Ce n'est pas le cas entre RVB et CMJN, même en espace de couleurs infini.

      Nous sommes également en train de migrer le stockage des données de couleur vers ce type d'objet générique. Cela signifie entre autres que les palettes de couleurs pourront comporter des couleurs au format CMJN, CIELAB ou bien encore dans tout autre modèle pris en charge (et pas seulement ces couleurs après une étape de conversion vers le sRVB non borné - « unbounded sRGB »).

      Une conséquence pour la maintenance logicielle est qu'il sera beaucoup plus facile de gérer les conversions de couleurs au sein de notre code, étant donné que cette structure comprend à la fois les données et leur « signification ». Cela rend la gestion des couleurs beaucoup moins susceptible d'introduire des bogues par rapport à l'approche précédente, qui consistait à faire suivre les deux types d'information séparément.

      Finalement, nous travaillons à faire apparaître l'information concernant l'espace de couleurs à plusieurs endroits de l'interface où cela est pertinent, par exemple lorsque des données RVB, CMJN, TSL ou TSV sont affichées ou peuvent être choisies. Les valeurs brutes dans ces modèles de couleurs en l'absence de la connaissance de l'espace de couleurs associé n'ont pratiquement aucun sens. L'affichage dans l'interface de valeurs RVB sans autre précision est un reliquat du passé, lorsque cela signifait le plus souvent sRVB. Cela n'est plus vrai dans un contexte graphique moderne et l'interface devrait être claire à ce sujet.

      La vidéo ci-dessous montre quelques aspects de ce travail sur l'interface, par exemple le fait que les modèles RVB, TSV ou CMJN affichent à tout instant l'espace de couleurs dans lequel les valeurs sont considérées (ce qui très souvent correspond au nom du profil ICC). Cela est déjà fait pour la pipette à couleurs, les échantillons de couleurs, l'ancrable des couleurs de premier/d'arrière plan, la boîte de dialogue « Changer la couleur de premier/d'arrière plan », ainsi qu'à d'autres endroits.

      Non seulement cela, mais lorsque les gens sélectionnent un profil d’épreuve sur écran et activent l'épreuve sur écran (par exemple grâce à la nouvelle bascule de simulation qui a été ajoutée dans GIMP 2.99.12), nous afficherons également non seulement la zone hors gamme de l'espace colorimétrique de l'image, mais également celle de l'espace d’épreuve.

      Invasion de l'espace dans l'interface - GIMP 2.99.18
      Invasion de l'espace dans l'interface - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

      Avertissement très important : il s'agit encore une fois d'un portage énorme dans notre base de code, ce qui a impacté littéralement des milliers de lignes de code. Ce travail est inachevé mais il devra être terminé avant la première version candidate. Des instabilités ou des bugs sont à prévoir dans cette mise à jour donc si vous rencontrez un problème, nous recommandons de le rapporter.

      Amélioration des algorithmes de couleur

      Øyvind Kolås a amélioré quelques algorithmes internes :

      • Les pixels achromatiques de l'outil Teinte-Saturation sont désormais un cas spécial afin que les pixels en niveaux de gris (saturation de 0) ne soient modifiés que par le réglage principal, pas par le réglage rouge.
      • Les dégradés en niveaux de gris restent désormais achromatiques même avec "Tramage" coché dans l'outil Dégradé.

      Au fur et à mesure que le projet space invasion avance, obtenir des résultats cohérents devient plus facile dans divers algorithmes liés aux couleurs, nous permettant ainsi de découvrir rapidement les problèmes et de les résoudre.

      Édition non-destructive, première mouture

      Un domaine dans lequel nous sommes « en avance sur le planning » est l'édition non destructive, qui était très demandée ! Les fondations de ces fonctionnalités ont été mises en place par de nombreux développeurs au cours de nombreuses années, depuis l'introduction de GEGL dans GIMP. Bien qu'initialement prévue pour la feuille de route de la version 3.2, une première implémentation a vu le jour en tant que continuation d'un projet Google Summer of Code. Si vous n'êtes pas familier avec ce terme, « édition non destructive » implique notamment que des effets de filtres tels qu'un effet de flou sont stockés séparément des pixels du calque. Cela signifie que si vous désirez plus tard modifier un réglage, réarranger ou même retirer le filtre, vous pouvez le faire très facilement sans affecter le reste de l'image. Jusqu'à présent, GIMP utilisait une procédure d'édition destructive où les effets étaient immédiatement appliqués sur le calque, c'est donc un changement majeur !

      Toute opération GEGL munie d'une interface graphique est désormais appliquée aux calques de manière non destructive. (Les effets non destructifs pour les masques de calques et les canaux sont prévus pour les versions ultérieures.) Cela inclut les greffons GEGL tiers et les opérations personnalisées créées avec notre outil GEGL Graph. Ces effets peuvent être sauvegardés et chargés via les fichiers de projet .xcf, bien que toutes les propriétés GEGL ne soient pas encore prises en charge dans la version actuelle.

      Une fois qu'un filtre a été appliqué, vous pouvez continuer à interagir avec lui en cliquant sur l'icône de filtre dans l'ancrable des calques. Cela ouvrira une boîte de dialogue montrant tous les filtres actuellement appliqués au calque. À partir de là, vous pouvez alterner l'état de visibilité du filtre, modifier ses réglages, réordonner les filtres et retirer les effets un à un. Vous pouvez aussi fusionner tous les filtres et les appliquer à l'image pour retrouver une procédure d'édition destructive.

      Effets non destructifs - GIMP 2.99.18
      Effets non destructifs - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

      Notez bien que tout cela est seulement une première implémentation, et beaucoup de travail reste à faire pour disposer d'une édition non destructive complète et riche. Nous allons continuer à affiner les fonctionnalités existantes pour la sortie de la version 3.0 en nous basant sur les tests et les retours des utilisateurs, et nous les développerons davantage par la suite. L'interface elle-même ne correspond pas à notre vision idéale de cette fonctionnalité, et un premier jet de spécifications a été écrit pour définir un processus d'édition bien plus intégré.

      La capture d'écran ci-dessous est une maquette réalisée à partir de ces premières spécifications. Elle montre les effets de calque placés au sein de la liste principale des calques, partageant les mêmes boutons « œil » et « cadenas », mais également avec leurs propres masques faciles à éditer :

      Maquette des spécifications pour l'application non-destructive d'effets de calque

      Maquette des spécifications : les effets de calque sont visibles directement dans la liste des calques, avec leur propres masques

      Néanmoins, l'implémentation de cette nouvelle interface sera un défi en elle-même et nous avons donc décidé de la remettre à après la sortie de GIMP 3 et de proposer cette première mouture en premier lieu.

      N'hésitez pas à partager vos opinions dans les forums de discussion et dans le suivi des incidents !

      Amélioration de la prise en charge des polices de caractères

      Idriss Fekir, un autre étudiant du GSoC 2023, a travaillé avec Liam Quinn, un développeur de longue date, sur l'amélioration de la prise en charge des polices de caractères par GIMP. Une grande partie de ce travail concerne le code interne de GIMP afin d'améliorer sa capacité à gérer les futures mises à jour de polices et de texte. Certains changements plus visibles sont par exemple :

      • GIMP n'a plus besoin que les noms des polices de caractères soient uniques pour pouvoir les distinguer les unes des autres. Cela signifie qu'il n'ajoutera plus « #1 », « #2 » et ainsi de suite, mais gardera à présent les noms originaux dans la liste de sélection des polices. Malgré des noms apparemment identiques, deux polices avec le même nom fonctionneront désormais correctement.
      • GIMP peut maintenant charger des polices avec des styles personnalisés (en contournant l'utilisation de Pango qui n'est pas capable de les charger).
      • Nous pouvons à présent charger davantage de types de polices qu'auparavant. Si jamais nous ne prenons pas encore en charge une police donnée (ou si elle est inexistante), nous sommes mieux à même de le détecter et nous pouvons nous replier sur une police par défaut. Cela permet d'améliorer la prise en charge d'un fichier .xcf créé sur un autre ordinateur avec différentes polices disponibles.
      • Sous Windows, nous forçons le moteur Pango à toujours utiliser l'anticrénelage. Cela augmente la lisibilité du texte des menus sous ce système d'exploitation, en particulier lorsqu'un thème sombre est utilisé.
      • Le code pour la sauvegarde au format XCF stocke désormais les informations concernant les polices de manière bien plus précise, ce qui aide à éviter de charger une police incorrecte lors de la réouverture d'un fichier XCF.
      • L'alignement du texte dans les calques de texte pour les langues écrites de la droite vers la gauche est maintenant plus cohérent avec la manière dont cela fonctionne dans d'autres programmes (par exemple LibreOffice et Scribus).

      Ces changements sont beaucoup moins voyants que certaines autres fonctionnalités et pourraient sembler moins importants, mais ils constituent en fait les fondations qui permettront d'avoir une gestion du texte bien plus fiable dans GIMP. Notre vision pour le futur est d'avoir une édition de texte plus simple tout en étant plus puissante et plus riche en fonctionnalités (en particulier les fonctionnalités OpenType qui sont quelques-unes des améliorations majeures que nous espérons ajouter un jour ou l'autre).

      Expansion automatique des calques

      Le troisième projet GSoC de l'été dernier par l'étudiant Shubham Daule a apporté une fonctionnalité demandée depuis longtemps : l'expansion automatique de calques ! Les outils de peinture ont désormais une option supplémentaire « Étendre les calques ». Lorsque cette case est cochée, peindre au-delà des limites des calques les fera s'étendre automatiquement afin que vous n'ayez pas à gérer vous-même la taille du calque. Si vous souhaitez étendre le calque au-delà de la taille actuelle du canevas, vous devrez également cocher l'option « Afficher tout » dans le menu Affichage.

      Calques à expansion automatique - démonstration de GIMP 2.99.18
      Calques à expansion automatique - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

      L'option d'expansion des calques comporte également des paramètres supplémentaires lorsqu'elle est sélectionnée. Vous pouvez décider dans quelle mesure vous souhaitez que les limites du calque s'étendent chaque fois que le pinceau les atteint. Il existe également des options pour spécifier comment les nouvelles zones du calque et du masque de calque doivent être remplies une fois étendues.

      Nouvelles options d'alignement

      Le nouveau contributeur mr. fantastic a développé deux nouvelles options pour aligner les calques sur le canevas. Avec « Snap to Bounding Boxes » (« Aligner sur les boîtes englobantes ») activé, des guides dynamiques s'afficheront désormais pour vous montrer quand le calque que vous déplacez est aligné avec le centre ou les côtés des autres. Le calque actif s'alignera également sur ces bordures pour vous aider à les organiser correctement. La deuxième option, « Snap to Equidistance » (« Aligner à équidistance »), vous permet un alignement entre trois calques équidistants les uns des autres.

      Aligner sur les boîtes englobantes et Aligner à équidistance - démonstration de GIMP 2.99.18
      Nouvelles options d'alignement automatique - GIMP 2.99.18 (cliquez sur l'image pour voir la vidéo sur le compte Peertube de GIMP)

      Thèmes

      Nous avons continué à améliorer l'interface utilisateur et le style de cette version. L’une des améliorations les plus importantes concernait la gestion des « fuites de thèmes système ». Il existe des styles qui n'ont pas été spécifiquement définis dans nos thèmes, donnant ainsi l'opportunité aux règles de style du thème système de "fuiter" de manière conflictuelle dans notre interface. Avec l’aide et les retours de plusieurs contributeurs et utilisateurs, nous avons beaucoup progressé dans la définition de ces styles afin que tous aient une expérience cohérente !

      Récemment, Jehan a travaillé sur la réorganisation et la simplification de notre système de thèmes. Dans les versions de développement précédentes, nous avions cinq thèmes différents : Par Défaut, Gris, Système, Plus Sombre et Compact (chacun avec des options claires et sombres). Ceux-ci ont été simplifiés dans le thème Système et un seul thème par défaut avec trois états possibles : clair, foncé et gris. De même, nos quatre thèmes d'icônes distincts ont été condensés dans l'ensemble Legacy et un thème d'icôns par défaut avec des variantes couleur et symbolique. Nous pensons que ces changements réduiront la confusion des utilisateurs et leur permettront de trouver plus facilement leur apparence d'interface préférée.

      De plus, sous Windows, la barre de titre principale (et la plupart des barres de titre des boîtes de dialogue) s'ajuste désormais au mode clair ou sombre en fonction du thème sélectionné.

      Boîte de dialogue de bienvenue

      La boîte de dialogue de bienvenue a été étendue pour fournir un accès rapide à un certain nombre de fonctionnalités et d'options utiles. Elle comporte ainsi quatre nouvelles sections :

      • Personnaliser : Plusieurs options de personnalisation nécessitent de fouiller dans la boîte de dialogue des Préférences pour être modifiées. À présent, vous pouvez facilement modifier les thèmes de couleurs et d'icônes, la langue et la taille de la police de l'interface utilisateur, ainsi que certains réglages en fonction du système d'exploitation.
      • Créer : Cette section affiche les huit images que vous avez ouvertes en dernier et vous permet de les rouvrir rapidement. Des boutons pour créer une nouvelle image ou pour en charger une existante sont également présents. À l'instar d'autres programmes, vous pouvez demander à ce que cet écran apparaisse automatiquement au démarrage de GIMP pour un accès direct à ces fonctionnalités.
      • Contribuer : Nous avons réuni ici quelques-unes des nombreuses façons dont vous pouvez participer au développement de GIMP. Cette section comporte des liens pour le signalement de bogues, pour écrire du code, pour aider aux traductions ou pour faire un don.
      • Notes de version : Précédemment, le lien vers ces notes étaient affichées dans la moitié inférieure de la boîte de dialogue de bienvenue. À présent, nous avons un onglet entier dédié à ces notes pour une lecture plus aisée.

      Formats de fichiers

      Comme cela était déjà le cas avec les versions précédentes, nous avons amélioré la prise en charge de formats de fichiers déjà existants et nous avons ajouté la prise en charge de l'importation et de l'exportation pour de nouveaux formats.

      DDS

      Stayd, un nouveau contributeur, a travaillé avec notre développeur Jacob Boerema pour apporter de nombreuses améliorations au greffon DDS. Pour commencer, les fonctions d'importation ont été écrites afin d'être plus simples et plus faciles à étendre dans le futur. Les mises à jour supplémentaires incluent également :

      • Le chargement d'images DDS RVBA 16 et 32 bits/canal est maintenant possible.
      • Le filtre cubique Catmull-Rom a été ajouté pour la génération de mipmaps, et tous les calculs pour générer les mipmaps sont effectués avec une précision de 32 bits.
      • Les images DDS aux formats R8G8, R16 et R16G16 peuvent maintenant également être chargées.
      • Une option pour renverser verticalement les images DDS lors de l'importation a été ajoutée pour faire écho à l'option d'exportation correspondante, étant donné que certaines images de jeux stockent leurs données de cette manière.

      GIF

      Par le passé, écraser un fichier GIF à la sauvegarde (plutôt que de l'exporter) le convertissait systématiquement en un fichier avec une seule image. Désormais nous vérifions lors du chargement si le fichier GIF est une animation, de manière à également sauvegarder une animation lors de l'écrasement.

      HEIF et JPEG-XL

      Les deux greffons utilisent maintenant leurs bibliothèques respectives (libheif et libjxl) pour le chargement des métadonnées. Cela nous a permis de retirer notre code maison chargé d'interpréter l'orientation des images et d'utiliser à la place les informations fournies par ces bibliothèques.

      OpenEXR

      Le format OpenEXR permet aux canaux d'avoir des noms personnalisés, outre le type de couleur. Dans ce cas, nous considérons maintenant toute image à un seul canal avec un nom non conventionnel comme étant en niveaux de gris. Lors de l'importation, nous affichons une notification afin que les utilisateurs soient prévenus de cette conversion.

      PDF

      L'option d'exportation « Calques en tant que pages » fonctionne maintenant même s'il y a un seul groupe de calques. Auparavant, cette option n'était pas disponible car le greffon vérifiait seulement s'il y avait plus d'un « calque » sans examiner s'il s'agissait d'un groupe de calques avec de multiples sous-calques.

      PNG

      Les fragments de fichiers PNG qui sont « copiables sans risque » (« safe-to-copy chunks ») sont maintenant préservés lors de l'importation et inclus dans l'image exportée. Un autre souci qui existait lors de l'exportation de PNGs indexés avec transparence (et qui nous avait été souvent signalé) a été résolu. Désormais les couleurs indexées devraient être affichées correctement après exportation.

      PSD

      Jacob Boerema a poursuivi son travail d'amélioration du greffon PSD. En plus d'avoir résolu des bogues, par exemple dans l'ordre des calques lors de l'importation, il a aussi clarifié l'avertissement présenté lors de l'exportation et concernant la compatibilité des modes de calques entre GIMP et Photoshop.

      PSP

      Le greffon Paintshop Pro peut maintenant importer davantage de caractéristiques depuis un fichier projet, comme par exemple le profil de couleurs ICC, les guides, les grilles, et la sélection active lors de la sauvegarde. Les failles de sécurité ZDI-CAN-22096 et ZDI-CAN-22097 ont également été corrigées dans cette version.

      Nouveaux formats d'image pris en charge : Farbfeld, Esm Software PIX, HEJ2

      Nous avons récemment ajouté la prise en charge de l'importation et de l'exportation pour le format Farbfeld, un format d'image sRVB conçu pour être facile à lire, à envoyer dans des pipes et à compresser avec des outils tiers.

      Nous avons aussi ajouté la prise en charge de l'importation seule pour les nouveaux formats suivants :

      • Esm Software PIX : Un format JPEG modifié utilisé exclusivement par l'entreprise Esm Software pour stocker leurs images propres. Cela a été implementé en réponse à un signalement de bogue qui avait confondu ce format avec le format Alias PIX que nous prenions déjà en charge.
      • HEJ2 : Un ajout à notre greffon HEIF déjà existant fourni par Daniel Novomeský qui permet d'importer des images JPEG 2000 compressées.

      Nouveau format de palette pris en charge : Swatchbooker

      Swatchbooker est un programme libre de création et de conversion de palettes de couleurs qui prend en charge de nombreux formats. Bien que le programme lui-même n'ait pas été mis à jour depuis de nombreuses années, son format de palette propre .sbz est le plus complet de tous ceux que nous prenons en charge actuellement. Parmi ses nombreuses fonctionnalités, on peut citer la possibilité de définir des couleurs dans plusieurs modèles de couleurs pour chaque entrée d'une palette, des noms et des descriptions régionalisables, et la prise en charge de profils de couleurs ICC différents pour chaque entrée.

      Via notre travail sur la prise en charge de son importation, nous avons pu fournir des informations qui ont conduit à un correctif de bogue dans la prise en charge de Swatchbooker par Krita. C'est toujours sympa quand des projets peuvent collaborer et s'entraider !

      Interactions avec les pads de tablettes graphiques sous Wayland

      Carlos Garnacho, un contributeur GNOME de longue date, a ajouté la prise en charge de l'interaction directe des boutons de tablettes graphiques (pad) avec GIMP. Quand une tablette est branchée, vous pouvez désormais assigner différentes actions aux contrôles de la tablette depuis la boîte de dialogue « Périphériques d'entrée » dans le menu Édition.

      Assigner des actions aux boutons d'une tablette graphique
      Assigner des actions aux boutons d'une tablette graphique - GIMP 2.99.18

      Ce travail a aussi impliqué le portage de fonctionnalités vers GTK 3, la boîte à outils utilisée par GIMP pour son interface graphique. Notez que cette fonctionnalité est seulement disponible sous Wayland pour le moment.

      Mise à jour de l'API

      L'interface de programmation d'application (API), destinée aux créateurs de greffons, est régulièrement retravaillée dans le cadre de la refonte de GIMP 3. Une partie de ce travail est de migrer l'API vers l'utilisation de GeglColor lorsque les couleurs sont impliquées, ce qui entre dans le cadre plus général du projet Space Invasion. Malgré tout, ce n’est qu’une petite partie de l’ensemble des améliorations de l’API.

      Nous nous orientons également vers plus de classes pour représenter les différentes ressources gérées par GIMP (pinceaux, polices, motifs, etc.) au lieu de les représenter uniquement par des noms (ce qui était une limitation historique alors qu'il est tout à fait possible à 2 créateurs de ressources de choisir le même nom et le fait est que nous voyons de tels cas dans la nature — par exemple, 2 polices créées indépendamment peuvent avoir le même nom).

      Un autre grand pas consiste à remplacer le GimpValueArray représentant les arguments ordonnés d'une procédure d'un greffon par un GimpProcedureConfig qui contient les arguments par nom plutôt que par ordre. Cela permet une utilisation beaucoup plus sémantique des procédures de greffon (surtout lorsqu'elles ont une longue liste d'arguments) et facilitera également l'amélioration des greffons à l'avenir, avec des arguments nouveaux ou réorganisés sans créer de nouvelles procédures, car l'ordre et le nombre des arguments comptent beaucoup moins. Cela signifie que l'ajout de nouveaux arguments dans le futur ne brisera plus les scripts déjà existants qui dépendaient des versions antérieures de ces greffons (les auteurs de greffons devront toujours choisir des valeurs par défaut appropriées pour les nouveaux arguments afin que cela soit vrai, bien sûr).

      En parallèle, nous continuons d'améliorer la capacité de création automatique d'interfaces graphiques offerte aux greffons, rendant la création de boîtes de dialogue plus simple que jamais. Cela inclut (parmi de nombreuses autres améliorations) un nouveau type d'argument de procédure nommé GimpChoice qui est une liste de choix sous forme de chaînes de caractères qui peut être présentée aux créateurs sous forme de widgets de liste déroulante dans la boîte de dialogue de votre greffon.

      Nous prévoyons d'écrire et de publier un didacticiel pour les rédacteurs de greffons dans la section Développement de ressources de notre site Web pour développeur en même temps que la sortie de GIMP 3, ou peu de temps après.

      GEGL et babl

      Cette version de GIMP est accompagnée de nouvelles versions de GEGL et babl, qui contribuent toutes deux au projet (Color) Space Invasion.

      babl 0.1.108 apporte une nouvelle fonction babl_space_is_rgb pour nous aider à confirmer directement qu'un espace colorimétrique est RVB (plutôt que de faire plusieurs tests pour voir s'il n'est pas CMJN ou niveaux de gris). Plusieurs améliorations ont également été apportées au processus de compilation et à l'outil d'interface de ligne de commande de babl.

      GEGL 0.4.48 fournit plusieurs mises à jour de l'objet GeglColor qui prend désormais en charge une grande partie des opérations de couleur de GIMP. Les améliorations spécifiques incluent la possibilité d'obtenir et de définir directement les valeurs de couleur CMJN, ainsi que l'attribution de l'espace colorimétrique lors de la définition des couleurs RVB(A).

      Un crash dans le filtre gegl:voroni existant a été corrigé, et un bogue de longue date avec le filtre gegl:dropshadow qui empêchait l'effet de rétrécir a également été corrigé.

      Enfin, un nouveau filtre gegl:shuffle-search a été ajouté à l'atelier. Il mélange les pixels voisins pour créer un effet de tramage plus optimisé.

      Statistiques de sortie

      Hormis la première version de la série (2.99.2), GIMP 2.99.18 est clairement la plus grosse mise à jour à bien des égards. Depuis la version 2.99.16 :

      • 238 rapports ont été clôturés comme CORRIGÉS.
      • 201 demandes de fusion ont été acceptées.
      • 1358 commits ont été poussés.
      • 26 traductions ont été mises à jour : allemand, basque, biélorusse, portugais brésilien, bulgare, catalan, chinois (Chine), danois, espagnol, espéranto, finnois, géorgien, grec, hongrois, islandais, italien, lituanien, norvégien nynorsk, persan, polonais, russe , slovène, suédois, turc, ukrainien, vietnamien.

      60 personnes ont apporté des modifications ou des correctifs à la base de code de GIMP 2.99.18 (l'ordre est déterminé par le nombre de commits; certaines personnes apparaissent dans plusieurs groupes) :

      • 23 développeurs pour le code principal : Jehan, Alx Sa, Shubham, Jacob Boerema, Idriss Fekir, bootchk, Anders Jonsson, Carlos Garnacho, mr.fantastic, Stanislav Grinkov, lillolollo, Øyvind Kolås, Sabri Ünal, programmer_ceds, Lukas Oberhuber, programmer-ceds, James Golden, Luca Bacci, Massimo Valentini, Niels De Graef, Zander Brown, psykose, sonia.
      • 17 développeurs de greffons ou de modules : Jehan, Alx Sa, Jacob Boerema, bootchk, Anders Jonsson, Stayd, Zander Brown, Bruno Lopes, Daniel Novomeský, Sabri Ünal, programmer_ceds, Kamil Burda, Mark, Michael Schumacher, Stanislav Grinkov, programmer-ceds, sonia.
      • 31 traducteurs : Yuri Chornoivan, Martin, Ekaterine Papava, Luming Zh, Sabri Ünal, Anders Jonsson, Rodrigo Lledó, Jordi Mas, Alan Mortensen, Vasil Pupkin, Asier Sarasua Garmendia, Kolbjørn Stuestøl, Boyuan Yang, Víttor Paulo Vieira da Costa, dimspingos, Alexander Shopov, Alexandre Prokoudine, Aurimas Černius, Balázs Úr, Marco Ciampa, Sveinn í Felli, Danial Behzadi, Ngọc Quân Trần, Jürgen Benvenuti, Piotr Drąg, Timo Jyrinki, Andre Klapper, Kristjan SCHMIDT, MohammadSaleh Kamyab, Rafael Fontenelle, Tim Sabsch.
      • 9 créateurs de ressources (icônes, thèmes, curseurs, splash screen, métadonnées…) : Alx Sa, Jehan, Ferry Jérémie, Stanislav Grinkov, Anders Jonsson, Bruno Lopes, Jacob Boerema, Sabri Ünal, mr.fantastic.
      • 5 contributeurs à la documentation : Jehan, Bruno Lopes, Jacob Boerema, Alx Sa, Anders Jonsson.
      • 14 contributeurs pour la compilation, l'empaquetage ou l'intégration continue : Jehan, Bruno Lopes, bootchk, Alx Sa, Zander Brown, Jacob Boerema, Jacob Boerema, Stayd, Carlos Garnacho, Heiko Becker, mr.fantastic, Daniel Novomeský, U-YGGDRASIL\ender, lillolollo.

      Contributions à d'autres dépôts du GIMPverse (l'ordre est déterminé par le nombre de commits) :

      • babl 0.1.108 est composé de 17 commits par 6 contributeurs : Jehan, Øyvind Kolås, John Marshall, Andre Klapper, John, sid.
      • GEGL 0.4.48 est composé de 77 commits par 20 contributeurs : Øyvind Kolås, Jehan, Anders Jonsson, Jacob Boerema, Yuri Chornoivan, Alan Mortensen, Sabri Ünal, Andre Klapper, Ekaterine Papava, Jan Tojnar, Jordi Mas, Luming Zh, Martin , Piotr Drąg, Víttor Paulo Vieira da Costa, Asier Sarasua Garmendia, Marco Ciampa, Rodrigo Lledó, dimspingos, woob.
      • ctx a eu 308 commits depuis la version 2.99.14 par 1 contributeur : Øyvind Kolås.
      • La version gimp-macos-build (scripts d'empaquetage macOS) est composée de 32 commits par 1 contributeur : Lukas Oberhuber.
      • La version flatpak est composée de 15 commits par 3 contributeurs : Jehan, Daniel Novomeský et Hubert Figuière.
      • Notre site Web principal a eu 31 commits depuis la sortie du 2.10.36 par 6 contributeurs : Jehan, Alx Sa, Sabri Ünal, Anders Jonsson, Bruno Lopes, Jonathan Demeyer.
      • Notre site Web des développeurs a eu 30 commits depuis la version 2.10.36 par 5 contributeurs : Bruno Lopes, Jehan, Alx Sa, bootchk, Robin Swift.
      • Notre documentation 3.0 a enregistré 247 commits depuis la version 2.99.16 par 17 contributeurs : Andre Klapper, Jacob Boerema, Yuri Chornoivan, Alx Sa, Jordi Mas, Alan Mortensen, Dimspingos, Anders Jonsson, Boyuan Yang, Sabri Ünal, Víttor Paulo Vieira da Costa, Juliano de Souza Camargo, Rodrigo Lledó, Kolbjørn Stuestøl, Marco Ciampa, Danial Behzadi, Emin Tufan Çetin.

      N'oublions pas de remercier toutes les personnes qui nous aident à faire le tri dans Gitlab, rapportent des bogues et discutent avec nous d'éventuelles améliorations. Notre communauté est également profondément reconnaissante envers les guerriers d'Internet qui gèrent nos différents canaux de discussion ou comptes de réseaux sociaux tels que Ville Pätsi, Liam Quin, Michael Schumacher et Sevenix !

      Remarque : compte tenu du nombre de pièces qui composent GIMP et son environnement, et de la manière dont nous obtenons des statistiques via des scripts git, des erreurs peuvent se glisser dans ces statistiques. N'hésitez pas à nous dire si nous avons manqué ou mal catégorisé certains contributeurs ou contributions.

      Nouvelles de l'équipe et procédure de sortie

      Les droits d'accès au dépôt git ont été récemment accordés à Bruno Lopes (qui a été très actif dans l'amélioration de notre processus de compilation et de l'empaquetage pour Windows).

      Plusieurs développeurs ou empaqueteurs de longue date ou plus récents qui ont commencé à contribuer au nouveau site Web des développeurs ont également reçu l'accès au dépôt git associé.

      De plus en plus de contributeurs participent désormais activement aux tests des versions et du processus d'empaquetage, et c'est la première dépêche depuis des années (NDT : cela désigne la news originale sur le site de GIMP) que Jehan n'a pas écrite presque entièrement ! Merci beaucoup à Alx Sa (alias Nikc ou CmykStudent) d'avoir entamé la rédaction collaborative de la nouvelle !

      Il est clair que nous consolidons jour après jour une solide équipe de contributeurs et cela se voit dans notre processus de publication, avec de plus en plus de retours à chaque version.

      Nous sommes également particulièrement heureux et fiers que les 4 projets GSoC que nous avons eus, depuis que nous avons recommencé à souscrire à ce programme de mentorat, aient tous été couronnés de succès et ont fini par être fusionnés avec la branche principale du code au plus tard six mois après la fin du stage.

      Autour de GIMP

      Des nouvelles des miroirs

      Depuis la dernière dépêche, un nouveau miroir a été apporté à GIMP par :

      • Sahil Dhiman, à Nuremberg, en Allemagne, comme projet personnel.

      Cela nous amène à un total de 46 miroirs répartis dans le monde.

      Les miroirs sont importants car ils aident le projet en partageant la charge de dizaines de milliers de téléchargements quotidiens. De plus, en disposant de miroirs répartis à travers le monde, nous garantissons que tout le monde puisse avoir un accès rapide au téléchargement de GIMP.

      GIMP sous Windows/ARM

      Depuis notre annonce d'une version expérimentale sur Windows pour l'architecture ARM 64 bits (en anglais), nous avons reçu l'aide de Hernan Martinez, contributeur bien connu du projet MSYS2, qui a hébergé notre tout premier runner pour l'intégration continue (CI) pour Windows sur l'architecture Aarch64. Bien que cela n'ait été qu'une configuration temporaire (littéralement une machine de compilation dans le salon de quelqu'un) en attendant une situation plus stable, nous sommes extrêmement reconnaissants envers Hernan qui nous a aidés à faire notre deuxième pas sur cette plateforme (la première étape a été effectuée par Jernej, qui a créé notre premier installateur expérimental), s'est assuré que notre processus de compilation automatique fonctionne sur cette machine, et plus encore.

      Depuis lors, la situation plus stable est arrivée : Arm Ltd. eux-mêmes se sont mobilisés et ont officiellement contribué trois runners pour notre processus d'intégration continue dans Gitlab ! Arm Ltd. a également sponsorisé un kit de développement Windows pour l'un de nos développeurs.

      Bien que nous considérions toujours cette version comme expérimentale, en raison du manque de tests et du fait que seuls 2 contributeurs disposent actuellement d'une machine capable de l'exécuter, le plus gros facteur bloquant a été supprimé et nous sommes heureux d'annoncer que notre programme d'installation Windows universel pour GIMP 2.99.18 contient GIMP pour les 3 plates-formes (x86 32 et 64 bits, et maintenant ARM 64 bits) !

      Télécharger GIMP 2.99.18

      Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

      • Flatpaks Linux pour x86 et ARM (64 bits)
      • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits)
      • Paquets macOS DMG pour le matériel Intel
      • Paquets macOS DMG pour le matériel Apple Silicon

      D'autres paquets réalisés par des tiers devraient évidemment suivre (paquets des distributions Linux ou *BSD, etc.).

      Et ensuite ?

      Alors que nous sommes maintenant entrés dans un gel des fonctionnalités, notre attention s'est déplacée vers la correction des bogues, le nettoyage et la préparation de la première version candidate 3.0.

      Nous pensons en effet qu'il s'agit de la dernière version de développement puisqu'aucune nouvelle fonctionnalité ne sera introduite désormais, du moins au niveau de l'interface utilisateur (l'API est encore en évolution jusqu'à la première version candidate). Donc, ce que vous voyez maintenant est essentiellement ce que vous devriez obtenir dans GIMP 3.0.0, en termes de fonctionnalités.

      C'est pourquoi nous avons sorti cette version même si nous savons qu'elle est assez instable. C'est l'heure des commentaires de dernière minute ! C'est aussi le moment de signaler et de corriger les bogues comme si demain n'existait pas. Nous espérons pouvoir bientôt livrer une RC1 et elle devrait être aussi dépourvue de bogue que possible.

      Nous espérons actuellement pouvoir publier GIMP pour le prochain Libre Graphics Meeting du 9 au 12 mai. Pour être honnête, ce n’est pas un objectif facile et nous ne sommes donc pas sûrs de pouvoir l’atteindre. Ce qui est sûr, c'est que même si nous n'y parvenons pas à temps, cela ne devrait pas arriver trop longtemps après. En particulier, nous ne publierons pas simplement parce que nous avons fixé une date limite. Nous voulons offrir la meilleure expérience possible, ce qui signifie que si nous découvrons des bogues bloquants de dernière minute, nous retarderons la sortie jusqu'à ce qu'ils soient corrigés.

      N'oubliez pas que vous pouvez faire un don et financer personnellement les développeurs de GIMP, c'est un moyen de donner en retour et d'accélérer le développement de GIMP. L’engagement communautaire permet au projet de se renforcer ! 💪🥳

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Appel à présentation pour le LibreGraphicsMeeting 2024

      Depuis 2006, le LibreGraphicsMeeting réuni une fois par an divers équipes et utilisateurs avancés des logiciels de créations graphiques. Nous parlons ici de Gimp, Krita, Inkscape, Scribus pour les équipes les plus régulières mais d’autres projets viennent régulièrement contribuer au groupe ou se faire connaître, présenter des projets moins visibles, plus ciblés voire des bibliothèques d’outils. Le but de ces rencontres est multiple : permettre aux contributeurs de se retrouver une fois l’an pour définir des objectifs annuels, définir des stratégies interlogicielles afin de favoriser l’interopérabilité comme cela a pu être le cas avec la création de format comme le OpenRaster…

      Les effets du LibreGraphicsMeeting ont été importants dans le workflow de la création graphique mais cela n’est pas fini car le domaine évolue beaucoup en termes de besoin mais aussi en termes d’application avec de nouvelles pratiques et de nouvelles priorités.

      2024 signe le retour du LibreGraphicsMeeting en présentiel, ce qui était l’objectif initial. Il se déroulera à Rennes du 9 au 12 mai dans les locaux d’Activdesign et sera organisé cette année par l’Association francophone des graphistes libres (AFGRAL) en remplacement du Grafik Labor avant de reprendre éventuellement sa mobilité internationale.

      S’agissant d’une édition de reprise, l’objectif est de pouvoir faire un point sur les évolutions et nouveautés de ces dernières années par des conférences, et de permettre les rencontres lors d’atelier ou réunions de travail. Si vous souhaitez participer au LGM, n’hésitez pas à proposer une conférence avant le 2 février 2024, après quoi le comité de programmation se réunira.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      ❌