❌

Vue normale

Éditer de la littérature libre : les Éditions du Renard Spatial

J’aime le logiciel libre. J’aime la littérature. Alors, un jour, je me suis demandé s’il était possible d’éditer de la littérature libre.
Les premiers essais ont eu lieu au début de l’été 2020, le covid laissait le temps libre à des expérimentations.

Six ans plus tard, les Éditions du Renard Spatial existent, éditent des littératures de l’imaginaire libres, et viennent de publier « Ça ne peut pas être pire qu’ici » par Lisa Refur (une amie), un roman court de fantasy/apprentissage, au format papier.
C’est l’aboutissement d’une aventure que je vais vous raconter ici.

Couverture du livre « Ça ne peut pas être pire qu’ici », de Lisa Refur, aux Éditions du Renard Spatial

Sommaire

L’art libre, une discipline très différente du logiciel libre

On parle assez peu d’art libre, que ce soit sur LinuxFR.org ou ailleurs (il n’y a même pas de catégorie dédiée !) ; on peut même considérer que le sujet est ignoré, y compris des personnes qui baignent dans le logiciel libre depuis des décennies. C’est que l’art libre et le logiciel libre sont différents sur beaucoup d’aspects, y compris des points fondamentaux. On pourrait disserter longtemps sur ce point, mais ça n’est pas le sujet ; je vais plutôt me concentrer sur quatre points qui sont utiles à comprendre pour la suite.

Le premier, c’est que la personne qui développe un logiciel développe d’abord un outil.
D’accord, elle peut y tenir énormément, avoir une vision forte ; mais l’implication personnelle reste beaucoup moins forte que celle d’un·e auteur·ice dans son œuvre artistique. Les créateur·ices de logiciels libres acceptent donc beaucoup plus facilement la réappropriation et la modification de leur production ; au contraire des artistes qui ont tendance à vouloir conserver le contrôle sur des œuvres qui peuvent être très personnelles.

Le second, c’est que mis à part quelques exceptions comme le cinéma, beaucoup d’arts sont profondément solitaires ou se pratiquent en tout petit comité, là où le développement logiciel est généralement un travail d’équipe. Les notions de partage, d’amélioration mutuelle sont beaucoup plus fréquents dans le développement logiciel que dans l’art.

Le troisième, c’est que la réutilisation d’éléments – la réutilisation directe, au contraire de l’inspiration – est infiniment plus fréquente dans le développement logiciel que dans l’art.
Tous les logiciels ou presque réutilisent du code, via des bibliothèques, des API, des ABI, ou directement. Au contraire, la réutilisation directe en art est rare, hors quelques cas précis, et souvent mal vue.

Le quatrième et le plus important, c’est l’argent, la thune, le fric, la moula.
Les développeurs informatiques sont généralement bien, voire très bien payés, même avec les changements introduits par les IAs génératives. Au contraire, rares sont les artistes qui peuvent vivre de leur art ; celles et ceux qui peuvent en vivre décemment sont encore plus rares.

Les trois premiers points expliquent pourquoi la notion de « Liberté » (dans le sens de l’expression « art libre ») est moins importante pour les artistes que pour les développeurs et développeuses de logiciels. Le dernier explique pourquoi les artistes ont une énorme difficulté matérielle à contribuer à de l’art libre, quand bien même ils et elles en auraient envie ; parce que pour offrir de son temps, ou trouver un modèle de financement compatible avec l’art libre, il faut d’abord pouvoir manger à sa faim.

Mais cette longue digression introductive ne nous apprend toujours rien sur le sujet d’origine !

Le projet des Éditions du Renard Spatial

Dès le début, mon projet était clair : je voulais éditer de la littérature libre, et pas n’importe comment.

La direction éditoriale

Tout éditeur a besoin d’une direction éditoriale, pour que les client·es ne soient pas perdu·es. Quel sens ça aurait d’éditer en vrac des livres de cuisine, des polars, des livres sur l’informatique et des albums photo ?

Je lis principalement des littératures de l’imaginaire – science-fiction, fantasy, fantastique, le tout pris au sens large. C’est pour cela que les Éditions du Renard Spatial éditent des littératures de l’imaginaire. J’ai aussi décidé de partir sur des formats courts : on trouve beaucoup de sagas et œuvres à rallonge dans ces univers ; mais j’aime bien lire des histoires percutantes et efficaces. En prime, c’est plus rapide à éditer (je n’ai pas écrit « plus facile »).

De la littérature libre

Je veux dire : vraiment libre ; donc sous des licences qui respectent les quatre libertés habituelles (même si on peut se poser la question de savoir ce qu’est le « code source » d’un texte si ce n’est le texte lui-même). J’ai donc choisi de partir, par défaut, sur les licences Creative Commons, qui ont le bon gout d’être adaptées à ce genre de projet et connues. Je me limite aux licences libres, ce qui exclut les clauses -NC et -ND, qui en font des licences « de libre diffusion ».

Ça a été l’occasion de se poser sérieusement la question de l’intérêt de licences libres appliquées à la littérature. J’en vois deux assez immédiats.

Le premier, c’est la diffusion de l’œuvre.
Une œuvre, une fois publiée, va circuler, qu’on le veuille ou non. Elle sera « piratée », que l’éditeur ait protégé son œuvre ou non ; d’ailleurs, saviez-vous que beaucoup de fuites de livres sur les sites de partage illégaux proviennent de sources internes à la chaine du livre ? C’est un point d’autant plus important pour moi que je veux que les textes que je publie, vivent, même si ma maison d’édition doit disparaitre.

Le second, c’est le fandom de l’œuvre.
Si une œuvre plait, alors il va se créer tout un tas d’œuvre dérivées – que l’auteur·ice et l’éditeur·ice le veuillent ou non – à base de fanfictions, de dessins, et j’en passe. Aujourd’hui tout ça existe sans aucun cadre légal, et les licences libres permettent de créer ce cadre.

De la littérature pour tout le monde

La culture, c’est vite cher, et je refuse la position d’une culture réservée à une élite.

Les livres que j’édite sont donc les moins chers possibles, dans la limite du raisonnable. Ça implique que les livres papier sont d’office des formats « poche » – 11 x 18 cm – et que les livres électroniques sont sensiblement moins chers que les versions imprimées.

En bonus, ça m’arrange parce que je n’ai jamais aimé les grands formats. Alors, c’est joli dans une bibliothèque et ça fait un bel objet à offrir – et, soyons honnêtes, à revendre – mais en ce qui concerne la fonction livre, je trouve ça nul, parce qu’un grand format, c’est encombrant, c’est lourd, c’est pénible à transporter (et je lis souvent dans les transports) ou même à tenir quand on est vautré dans un canapé.

Un vrai éditeur, pas un éditeur-Amazon

Je voulais que les livres des Éditions du Renard Spatial soient de « vrais » livres, que l’on peut acheter dans n’importe quelle librairie, avec un ISBN, un référencement qui va bien, et tout. L’idée du livre qui existe, mais qui ne peut être acheté que sur le site du vendeur, ou en ligne chez un seul libraire – en général Amazon – me gonfle.

C’est sans doute parce que j’aime beaucoup mes libraires (qui sont d’excellent conseil). En prime, ça m’évite d’avoir à gérer toute la logistique, le stockage, les factures individuelles, l’envoi de commandes… tout ce que je déteste.

De tous mes choix, c’est – de loin – celui qui m’a le plus cassé les pieds.

Production locale et raisonnée

Faire imprimer des livres en Chine pour les vendre principalement en France me semble absurde ; donc l’idée de base était de trouver un imprimeur en France, ou à défaut quelque part dans l’UE.

D’autre part, la chaine du livre repose beaucoup sur une notion de stock qui voyage. En très résumé, l’imprimeur imprime un tas de livre, qui est en partie stocké, en partie envoyé aux libraires, qui vendent ce qu’ils peuvent et qui – chose exceptionnelle dans le monde de la vente – renvoient les exemplaires invendus… qui finissent au pilon s’ils ne se vendent pas pendant un peu trop longtemps (ou sont trop abimés à cause des voyages), parce que le stockage, ça coute cher. Donc, si je peux éviter de faire imprimer des livres pour les stocker et finir par les détruire, ça m’arrange, parce que tout ça c’est une perte sèche.

Le difficile problème des couvertures

Pour commencer, une illustration de couverture, c’est un budget important pour une petite structure, surtout en refusant l’usage d’IA générative (ah oui, il y a la question de l’IA générative qui est venue s’inviter au milieu du projet).

Alors, j’ai réfléchi. Le premier intérêt d’une couverture, c’est d’attirer l’œil, d’être facile à repérer dans un magasin ou sur un site, au milieu de beaucoup d’autres.
Autre chose : les livres que j’ai achetés à leur couverture se comptent sur un doigt d’une main ; quant aux couvertures que je suis capables de décrire sans aller les vérifier, il y en a très peu, la plupart d’entre elles sont sobres – et à l’exception de celle déjà nommée, aucune d’elle n’a été un critère d’achat. Inversement, beaucoup de littératures de l’imaginaire ont des couvertures illustrées, avec une typographie soignée, mais à cause des effets de mode, elles ont tendance à toutes se ressembler, ce qui fait qu’aucune ne se repère facilement dans la masse.

La solution s’est imposée d’elle-même : je peux me contenter de couvertures sobres, très lisibles, très faciles à reconnaitres, avec une harmonie dans la collection.

Le temps et l’énergie que je peux y consacrer

Ce projet n’est pas mon activité principale, et je n’ai pas pour projet d’en vivre.

L’avantage, c’est que ça me libère d’une contrainte financière extrêmement forte – rares sont les petites maisons d’édition rentables.

L’inconvénient, c’est que ça m’empêche de faire du volume, ce qui n’aide ni pour la reconnaissance, ni pour la publicité, ni pour les revenus.

Profils d’auteur·ices cible

Un tout petit éditeur, avec des conditions d’édition étranges (de l’art libre, des formats qui rapportent moins à l’unité), qui est-ce que ça va intéresser ?
C’est une vraie question.

Ma réponse, c’est : le même genre de profil que celui intéressé par le logiciel libre, mais dans le monde de la littérature.

Concrètement, c’est un·e auteur·ice qui écrit pour le plaisir, en loisir, et donc n’a pas besoin de ce revenu pour vivre.

Je vais être très clair sur un point : je paie mes auteur·ices, et il n’a jamais été question de ne pas le faire. Simplement, je ne peux pas me permettre d’avance sur droits ni promettre des ventes faramineuses, cf. le point précédent.

Ainsi donc, après une première publication-test sur l’un de mes textes, j’ai convaincu une amie, Lisa, de se lancer dans l’aventure avec moi…

Créer les Éditions du Renard Spatial, de façon légale et complète

À ce stade – en réalité, avant la dernière ligne du paragraphe précédent, j’ai toute la vision cible, il n'y a plus qu’à passer à la réalisaton !

D’abord, une entreprise

La France propose le système de « microentreprises » ou « autoentrepreneurs », un système légal qui est censé permettre à tout le monde de se créer facilement une entreprise pour se créer un complément de revenu, et qui correspond bien à mon projet.

Le mot-clé est « facilement ». Eh ben, si ça, c'est facile, je veux même pas imaginer la prise de tête que ça doit être de créer une entreprise « normale », même unipersonnelle. Je passe les détails – déjà parce que ça fait six ans donc ça a pu changer –, mais au cas où, sachez tout de même que :

  1. Une autoentreprise peut avoir un nom commercial, mais le nom réel, celui enregistré au SIREN, est impérativement votre identité réelle. Il y a bien une option qui permet de masquer ces informations personnelles – la base SIREN étant publique –, mais tous les systèmes d’interconnexion informatique dont vous allez avoir besoin partent du principe que cette information est disponible dans les données publiques. Donc, impossible d’activer la confidentialité tant que toute la paperasserie n’est pas terminée.
  2. En théorie, un compte bancaire séparé suffit, pas besoin d’avoir un compte bancaire professionnel ; donc on peut utiliser un compte personnel gratuit. En pratique, le site des impôts impose un IBAN professionnel… et toutes les banques ont bidouillé leurs règles commerciales pour limiter l’émission d’IBAN professionnels aux seuls comptes professionnels payants.
  3. Et, à partir de septembre 2026, il faut aussi un système de facture électronique.

OK, l’entreprise et ses dépendants (la banque, l’inscription au RCS via le Tribunal de Commerce, les impôts, l’URSSAF…), c’est fait.
Et ensuite ?

Éditer c’est vendre, et vendre c’est communiquer

Avant toute chose : déposer sa marque à l’INPI. C’est pas gratuit, mais ça évite les abus un peu trop faciles.

Il me faut donc des outils de communication. Ça passe par divers comptes sur les réseaux, pour communiquer avec les gens là où ils sont, même si ça ne m’enchante pas. Je décide de ratisser large : BlueSky, Instagram, Discord, LinkedIn, Facebook, et même à l’époque un compte Twitter qui a été abandonné. Je n’ai pas de compte Mastodon parce qu’il faut d’abord que je trouve une instance adaptée à ce genre de projet ; je prends les conseils.

Puis, un site web ; et là, j’ai un gros avantage : je peux le créer et l’héberger moi-même.
C’est un site 100 % statique créé avec Hugo, sobre (sans JS ni framework CSS) et disponible ici : https://renardspatial.com/. J’y ai tenté des trucs d’un point de vue design – et je ne suis pas du tout designer. Mais je cherchais quelque chose d’un peu original, qu’on a pas l’impression d’avoir déjà vu partout, et qui soit utilisable sur mobile (ça reste la majorité des utilisateurs). Là aussi, je prends les retours (seulement les constructifs). Les polices d’écriture sont celles utilisées pour les livres et, bien évidemment, sont libres.

Un livre doit avoir un ISBN

L’ISBN (pour « International Standard Book Number ») c’est un numéro d’identification unique pour chaque livre dans le monde depuis les années 1980.

C’est la partie facile : pour une modique somme, l’AFNIL en fournit très largement assez pour des années, il suffit juste d’un peu de patience. Les numéros sont fournis sous la forme d’une liste, à l’éditeur de les attribuer à chaque ouvrage ; la version numérique et la version papier ne comptant que pour un que s’ils sont strictement identiques.

Ouf ! J’ai enfin toute la structure et tout le nécessaire pour que l’entreprise fonctionne ; maintenant, je peux enfin commencer à éditer !

Créer de la littérature libre… avec des logiciels libres ?

Éditer le texte lui-même

Pour l’instant, c’est la partie facile : mon amie Lisa – seule autrice tierce pour l’instant – et moi utilisons LibreOffice, dont le système de commentaires fait l’affaire. D’autre part, on se voit souvent en vrai, ce qui simplifie beaucoup le travail.

L’outil de PAO

La PAO, c’est la Pagination Assistée par Ordinateur, ce qui permet à l’ouvrage – livre, magasine, etc. – d’avoir une mise en page correcte.

Un fait peu connu du grand public : un logiciel de traitement de texte est incapable de faire une mise en page correcte, et j’entends par là d’avoir une qualité professionnelle, notamment en ce qui concerne la typographie. Un LibreOffice Writer – ou même un Microsoft Word – ne gèrent pas les alignements sur grilles, ont des options de césure, de lignes veuves et orphelines très réduites, ne gèrent pas les ligatures de manière fine, n’ont pas d’option pour activer (et encore moins paramétrer) l’alignement visuel, et j’en passe. Or, j’ai envie d’avoir une mise en page correcte, même si certains gros éditeurs, eux, ont décidé de s’en passer.

Le logiciel libre le plus connu pour ce faire, c’est LaTeX. Il est excellent sur la typographie, et… atroce sur le reste. Pour moi ça n’est pas un choix acceptable, il ne correspond tout simplement pas à ma façon de travailler (et, si vous êtes aficionados de LaTeX, pas la peine de venir le défendre en commentaires, je le connais depuis plus de 20 ans).

Le choix suivant, c’est Scribus. Donc je l’installe, l’essaie, l’essaie encore, l’essaie toujours ; et après beaucoup trop longtemps, je n’arrive toujours pas à faire le quart de ce que je veux avec. (Il semblerait que le logiciel se soit beaucoup amélioré depuis, il faudra que je réessaie).

La solution que je trouve n’est hélas pas libre et à l’époque elle n’était même pas gratuite, bien qu’infiniment moins chère que les mastodontes du genre. C’est Affinity Publisher ; et en une après-midi, j’ai une maquette qui est à 90 % ce que je veux, couverture comprise, donc je décide d’être pragmatique et de partir sur ce logiciel.

Créer les fichiers pour l’impression

C’est facile : tous les imprimeurs prennent des fichiers PDF (et indiquent la version exacte qu’ils attendent), donc en suivant les instructions, il ne devrait pas y avoir de surprise. Et de fait, j’en ai pas eu.

Créer les livres électroniques

Mon diffuseur (je reviendrai sur son rôle dans la section suivante) me dit que je peux me contenter de fournir un EPUB et un PDF, et qu’il transforme lui-même le livre aux éventuels autres formats, dont l’infâme Kindle.

Le PDF, c’est facile, j’ai déjà. Mais l’EPUB ? Je découvre trois choses :

  1. Un livre électronique au format EPUB, c’est juste un fichier ZIP renommé avec le texte au format XHTML (oui !), un fichier de styles CSS (qui sera largement ignoré par le logiciel de lecture…) et une poignée de métadonnées, en général du XML (parfois renommé).
  2. Malgré ça, personne ne semble savoir générer un EPUB correct. La plupart des logiciels et convertisseurs que j’essaie me génèrent une soupe de balises sans aucun sens ; d’ailleurs la plupart de ceux que j’ai sur ma liseuse ont des problèmes plus ou moins graves à l’usage.
  3. Le format EPUB semble être plus une vague indication qu’une norme, et les différentes liseuses et logiciels de lecture ont tous des interprétations, disons créatives de comment ce format doit être rendu.

Donc, je finis par décider de le générer à la main ; et en fait, c’est facile : en une journée, j’ai un fichier tout à fait valide qui passe bien sur ma liseuse physique, et sur diverses liseuses logicielles sur PC et smartphone. Mon seul échec, c’est la page de faux-titre qui n’est pas stylisée correctement. Il y avait un seul piège : les fichiers ZIP définissent l’ordre dans lequel sont stockés les fichiers, et le format EPUB attend un ordre précis qui doit être respecté (mimetype, puis META-INF/*, puis OEBPS/*). Il semblerait que les versions récentes de LibreOffice produisent un résultat correct, il faut que je réessaie.

Et donc maintenant, j’ai des livres qui contiennent de la littérature libre, qu’il me faut vendre.

Vendre de la littérature libre

Parce que si je parle de littérature libre depuis le début, je n’ai jamais parlé de littérature gratuite, et pour cause : mon but est bien de vendre cette littérature, même libre, ne serait-ce que parce qu’il faut bien que je paie les intermédiaires. Justement, parlons-en.

La chaine du livre

Le processus de création d’un livre implique tout ce petit monde :

  1. L’auteur·ice, qui écrit le livre.
  2. L’éditeur – ici moi-même, au nom des Éditions du Renard Spatial – qui édite le livre, et qui peut faire appel à :
    1. Une correctrice, qui s’assure qu’il ne reste pas de fautes d’orthographe et de grammaire ; et croyez-moi la langue française aurait bien besoin d’une simplification. Une grosse.
    2. Une graphiste, pour la couverture, les éléments de communication, etc.
    3. Un maquettiste, pour la mise en page.
    4. … et j’en passe, surtout dans les grands groupes (notamment le directeur de collection).
  3. L’imprimeur, qui, ben, imprime le livre.
  4. Le distributeur, qui assure la logistique, c’est-à-dire de stocker les livres imprimés et les envoyer aux libraires.
  5. Le diffuseur, qui va assurer la promotion des livres auprès des libraires et s’assurer de leur présence.
  6. La libraire, qui va vendre le livre.

Sachant que dans la liste principale, seul l’imprimeur travaille à tarif fixe ; tous les autres se rémunèrent au pourcentage du prix de vente final… et donc vont sans doute refuser les partenariats vus comme non rentables. Comme, par exemple, travailler avec un petit éditeur qui vend des livres pas chers, libres, et qui ne fait même pas ça à plein temps.

Pour l’instant, coté édition, je fais tout moi-même. Si jamais un jour, j'ai les moyens (je compte sur vous !), j’investirai d’abord dans une correction professionnelle.

Vendre des livres électroniques

Trouver un distributeur de livres électroniques, c’était facile ; et très vite, j’ai eu une nouvelle à mon pseudo disponible sur à peu près toutes les plateformes.
On a donc travaillé un premier livre avec mon amie Lisa, on l’a réalisé, vendu partout où on peut acheter un livre électronique, et on a découvert la triste vérité :

Les livres électroniques, ça n’intéresse personne.

C’était le plus beau « Vu et s’en tape » de toute notre vie. En fait, sans version papier, c’est comme si le livre n’existait même pas.

Mais il y a un problème…

Vendre des livres papier

Vous vous rappelez quand, plus haut, j’écrivais que j’avais créé l’entreprise en 2020 ? Eh bien, le covid avait mis un grand bazar dans le monde de l’impression, et les prix du papier s’étaient envolés.

Ça s’est ensuite calmé. Quelques semaines. Après quoi, la Russie a déclaré la guerre à l’Ukraine, grande fournisseuse européenne de bois et de papier, donc re-crise, retour des prix absurdes, priorité absolue aux clients de longue date, etc. (j’ai même quelques mangas de cette époque qui sont visiblement imprimés sur du papier machine, le même qu’on utilise dans nos imprimantes !)

Quand c’est de nouveau revenu à une certaine normale, j’ai cherché imprimeurs, distributeurs et diffuseurs. L’imprimeur, c’est facile, tous les imprimeurs de France et de Navarre veulent bien faire des livres de poche. Facile, pour eux, on paie un tarif fixe par livre et ça leur va bien. Le distributeur et le diffuseur, c’est beaucoup plus compliqué. Ce que je veux faire, c’est pas assez cher, y’a pas assez de volume, j’ai pas assez de poids dans un marché déjà saturé.

Alors, je me suis dirigé vers l’impression à la demande, qui finalement a beaucoup d’avantages pour une structure comme la mienne ; et on en trouve qui cumulent prix correct, bonne réputation, et qui impriment dans l’Union Européenne. En particulier, on peut avoir de l’impression à la demande qui est référencée sur Dilicom et Electre, donc commendable en libraire, ce dont je n’étais pas sûr à l’origine.

Encore un peu de paperasse, puis davantage de paperasse (notamment pour faire corriger une erreur d’attribution d’éditeur), et un envoi au dépôt légal, et enfin – enfin ! – on est en juillet 2026 on a une version papier de notre premier livre !

« Ça ne peut pas être pire qu’ici »

Couverture du livre

« Ça ne peut pas être pire qu’ici » est une novella (à mi-chemin entre une nouvelle et un roman) de fantasy et d’apprentissage de Lisa Refur, publié sous licence CC-BY 4.0 dont voici la quatrième de couverture :

Cette ligne de chemin de fer apparue par magie agit comme un déclencheur dans l’esprit des adolescents désœuvrés. Et s’il existait un monde au-delà de cette ville de banlieue décrépite ? Qu’est-ce qui interdit aux quatre amis de quitter Villeneuve ? Rien, en fait. C’est le début de l’aventure pour Ajax, Dro, Biénale et Zef ; l’abandon d’une cité cité sans avenir, la quête d’une vie meilleure. Mais pour aller où ? Suivre la ligne ? D’où vient-elle, et où va-t-elle ? Est-ce mieux ailleurs ?

La seule solution qu’ont les jeunes gens pour le découvrir : prendre la route, se confronter à ses difficultés, ses joies et ses peines, dans l’espoir que la destination soit bonne.

Il est disponible pour 6,99 € au format papier (11 x 18 cm, 84 pages, demandez l’ISBN 9782492575037 à votre libraire préféré) ; et pour 2,99 € au format électronique, sans DRM quand la librairie le permet, cherchez l’ISBN 9782492575013.

Éditer de la littérature libre : premier point d’étape

Le premier enseignement que j’en tire, c’est celui-ci : tout le monde s’en cogne.

Le sujet n’intéresse personne, en bien comme en mal : je n’ai eu aucune remarque sur le sujet. Les textes, le site, les couvertures ont généré beaucoup plus de commentaires. D’un côté, c’est un peu triste ; d’un autre ça n’a pas déclenché de rejet, et c’était le point que je craignais le plus dans cette expérience. Je croise les doigts.

La conclusion que j’en tire pour l’instant, c’est la suivante : pour l’instant, publier de la littérature sous licence libre ne m’a rien apporté directement, et c’était attendu : l’intérêt du libre, c’est d’abord pour les personnes qui utilisent plus que pour celles qui produisent, surtout dans un domaine où la création collaborative est minoritaire.

Mais surtout, publier de la littérature libre ne m’a pas handicapé, donc je n’ai aucune raison d’arrêter de le faire, et par conséquent, je vais continuer !

Et maintenant ?

Les Éditions du Renard Spatial vont continuer à publier des littératures de l’imaginaire libres.

Le prochain livre ne devrait pas attendre trois ans de plus, puisqu’on a un projet de recueil de nouvelles en cours avec Lisa. Si tout va bien, il devrait sortir quelque part entre cet automne et cet hiver – j’ai arrêté de croire à une date précise tant que tout n’est pas terminé.

Mais surtout, les soumissions sont maintenant ouvertes ! Si vous êtes intéressé·es, pouvez vous proposer votre projet en suivant la procédure détaillée ici. Attention ! Il ne s’agit pas d’envoyer un texte complet avec à peine un bonjour (j’en ai déjà eu !).

J’avais imaginé terminer par une sorte de FAQ, mais cette dépêche est déjà extrêmemement longue, donc je vous propose de lire celle du site, et de me poser toute question restante en commentaires.

Merci de m’avoir lu !

Commentaires : voir le flux Atom ouvrir dans le navigateur

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

❌