Pourquoi darktable n’est pas plein de fonctionnalités incroyables

À l’heure actuelle, le meilleur éditeur de photos brutes de capteur, c’est à mon avis Capture One. Développé depuis environ 2005 par Phase One, fabricant d’appareils moyen-format numériques, il est remarquable par son interface particulièrement intuitive et son excellente gestion de la couleur, avec des contrôles qui peuvent être poussés très fort sans jamais donner de résultats excessifs. Depuis 5 ans, il s’est taillé une part de marché croissante chez les portraitistes, qui sont friands des teintes de peau naturelles et riches qu’ils peuvent en tirer. Plus important : Capture One n’a jamais cherché à copier Lightroom, pourtant leader sur ce marché. Par contre, à 180 $ US la licence annuelle, ça calme.

Pourquoi darktable n’est ni Lightroom, ni Capture One ?

Les profils couleur

Votre capteur d’appareil photo mesure l’intensité lumineuse reçue sur 3 canaux (rouge, vert, bleu : on est dans un espace RGB). Comme n’importe quel capteur, il se plante : il commet une erreur, autrement dit les valeurs RGB qu’il mesure sont plus ou moins fausses par rapport à la réalité. L’erreur se calcule en mesurant des valeurs RGB de mires d’étalonnages  dont on connaît la valeur théorique. erreur² = (théorie – mesure)².

Une mire IT8 standard – CC Wikimedia / Hugo Rodriguez

Vous me direz : il suffit d’ajouter (ou de retrancher) l’erreur ainsi enregistrée par dessus la mesure pour retomber sur la valeur attendue. Oui, ça marche exactement pour toutes les couleurs qui sont sur la mire d’étalonnage. C’est même le principe d’un profil ICC : caractériser l’erreur pour un jeu de couleur défini, et la corriger mathématiquement après mesure. Mais pour les couleurs qui ne sont pas sur la mire ? On interpole, c’est à dire qu’on vise entre les 2, 3, 4… couleurs voisines les plus proches. Et devinez quoi… L’erreur de mesure d’un capteur ainsi étalonné n’est toujours pas nulle. Le calcul numérique est une plaie, on n’est jamais exact.

Donc on ne s’en sortira pas, la technique est limitée et il va falloir vivre avec une erreur dans la colorimétrie de l’appareil photo, et faire des compromis. Les équipes d’ingénieurs de Lightroom et de Capture One font alors des compromis basés sur l’esthétique : on privilégie des couleurs saturées chez Adobe, et la précisions des teintes de peau chez Phase One. C’est faisable parce qu’ils ont le budget pour étalonner un grand nombre d’appareils photos en interne, donc corriger les profils d’étalonnages imparfaits de façon cohérente et systématique.

Pour darktable, c’est chaque utilisateur motivé qui fournit son profil d’appareil photo aux développeurs. Et là, ça coince… Déjà que ce ne sont pas toujours les mêmes mires qui sont utilisées pour l’étalonnage, ce ne sont pas les mêmes conditions d’éclairage non plus, et il n’y a pas de post-traitement humain, a fortiori homogène, ni de contrôle qualité, après la réalisation du profil. En gros : soit vous faites votre propre profil, soit vous faites entièrement confiance au contributeur de votre profil capteur, sans moyen de vérifier. Et il n’y a aucune homogénéité d’un capteur à l’autre, d’un contributeur à l’autre. À tel point que les développeurs de darktable se demandent depuis plusieurs années s’il ne vaudrait pas mieux ne plus intégrer les profils couleur par défaut, et laisser les utilisateurs se débrouiller avec leur matériel. D’autant plus que ça peut varier d’un exemplaire à l’autre, même si le modèle est le même. Et ça varie au cours de la vie du capteur aussi.

Solution : financer un laboratoire de métrologie qui étalonne tous les capteurs connus de façon rigoureuse, systématique et reproductible, et publie les résultats sous licence GPL v3.0.

La cohérence de l’interface

La structure de Lightroom ou de Capture One est probablement décidée en réunion des équipes et gérée de façon pyramidale : on décide alors quel algorithme va sous quelle fonctionnalité, comment on organise l’interface, etc.

Chez darktable, on développe chacun dans son coin, et les contributions externes sont intégrées par les développeurs principaux à l’ensemble si elles paraissent robustes et intelligentes. Il faut dire que l’architecture du logiciel y est favorable : chaque pixel traverse un long tuyau virtuel composé de plusieurs étages de filtres. Les filtres sont des algorithmes qui sont reliés aux modules, ces derniers étant les interfaces de pilotage des algorithmes. C’est ainsi qu’on peut ajouter ou retrancher des instances de modules à volonté : on ne fait que rajouter ou supprimer un filtre dans la pile, et il n’y a qu’à se brancher au tuyau (le pixelpipe, en anglais). Idem, si un contributeur extérieur arrive avec un module, on peut facilement le raccorder à l’ensemble. Tout ceci parce que les modules sont indépendants les uns des autres, ce qui implique que certains modules sont redondants (ils effectuent la même fonctionnalité, par exemple : débruitage) mais différents sur le plan algorithmique. Ça implique aussi que les modules ne communiquent pas entre eux, ce qui les rend plus faciles à maintenir, chose importante dans un contexte de développement bénévole où les développeurs travaillent dans leur temps libre. C’est donc une architecture modulaire facilement extensible.

Par contre, côté utilisateur, on reproche un manque d’unité et une interface à tiroirs plutôt repoussante, loin de la mode actuelle qui fait la part belle au design intuitif. Une fois qu’on a compris la logique de l’empilement de filtres dans le tuyau et de l’équivalence module = algorithme, ça va mieux, et les possibilités de combinaisons de modules sont sans fin. Et, pour un logiciel libre développé de façon informelle, c’est un choix très astucieux, garant d’une certaine pérennité tout en conservant une facilité et une souplesse de développement qui encourage et favorise les contributions de code.

Solution : utiliser Rawtherapee, qui a une interface non modulaire, et donc une gouvernance plus rigide au niveau du projet (50 contributeurs, contre 237 pour darktable). Donc potentiellement moins de contributions à long terme, donc moins d’innovations. Tout se paye.

Et l’intelligence artificielle ?

Les dernières innovations, chez Adobe et les autres, reposent surtout sur l’apprentissage machine et l’intelligence artificielle, appliquées à la détection de contours (pour faire des masques précis), pour modifier des portions de l’image (remplacement/copie d’éléments, agrandissement du cadre, génération automatique de texture), ou pour faire du débruitage et de la reconstruction avancés. Il existe des articles de recherches, publiques, qui permettraient d’intégrer des technologies similaires dans darktable, sous réserve d’avoir quelqu’un pour les coder. Et pourtant, les core devs sont souvent réticents. Pourquoi ?

L’intelligence artificielle a l’inconvénient de consommer beaucoup de puissance de calcul. Il ne s’agit pas de simples filtres, mais de solveurs qui résolvent ou minimisent des équations. Quand vous êtes Adobe, vous pouvez simplement décider autoritairement que votre prochaine version ne fonctionnera pas sur des ordinateurs ayant moins de 8 Go de RAM, dépourvus de carte graphique, etc. Mais les développeurs de darktable essaient de préserver une expérience d’utilisation assez fluide, même pour des utilisateurs avec un matériel modeste. Du coup, il ne s’agit pas d’introduire des usines à gaz qui ne fonctionneront que sur des ordinateurs à 3000 €.

Ensuite, il faut des matheux. Les mathématiques sous-jacentes, en intelligence artificielle, font appel à des notions très poussées de probabilités, à des solveurs numériques parfois exotiques, à des transformations bizarres, à des représentations multidimensionnelles et multi-échelles de phénomènes abstraits, sans parler des moyens techniques d’accélérer les calculs sur le processeur… Bref, ce sont des compétences spécialisées que tous les matheux n’ont pas forcément, et le projet darktable manque de scientifiques de haut niveau (en gros, il y a Johannes Hannika, fondateur, docteur en informatique fondamentale, spécialisé en synthèse 3 D, et Heiko Bauke, docteur en physique quantique, spécialisé en simulation numérique de processus quantiques). Bon, en fait, on manque de scientifiques de haut niveau partout, parce qu’il faudrait que les matheux arrêtent de s’enfuir systématiquement dans la banque et dans la finance…

Mais… encore une fois, la nature modulaire et cloisonnée de darktable rend les contributions plus simples que certains autres logiciels. Donc tout est possible dans un futur proche.

Solution : attendre un peu, reprendre vos études et vous y coller, payer Adobe, ou payer des bons ingénieurs à coder pour darktable à temps plein.

Conclusion

Le développement logiciel est plein de compromis en permanence : privilégier les fonctionnalités innovantes ou la stabilité, offrir plus de contrôle ou plus de simplicité, privilégier le design de l’interface ou la maintenabilité du code, tout ça dans un contexte où les ressources financières sont nulles, les compétences inégalement réparties et pas toujours disponibles, et le temps disponible très limité. À la fin, darktable s’en tire de façon exemplaire, avec des choix souvents intelligents à long terme. C’est une base très saine pour aller loin, mais il va falloir que les utilisateurs jouent le jeu et comprennent ce dans quoi ils s’engagent.

Ce qui manque vraiment à darktable, en fait, c’est surtout quelques développeurs à temps plein, donc payés par la communauté, pour effectuer les tâches ingrates qui n’amusent personne (et qu’aucun bénévole ne veut effectuer), et pour accélerer le développement des requêtes utilisateurs.

Sur la mailing-list des développeurs, j’ai proposé l’ouverture de primes offertes à des développeurs freelance pour développer des fonctionnalités demandées par la communauté. Ceci est possible sur Bounty Source et permet aux utilisateurs de choisir spécifiquement combien ils veulent donner et sur quel projet. Les développeurs soumettent alors des propositions de code qui, si elles sont validées par l’équipe, sont alors payées et intégrées. Le code source reste ouvert et libre, ce sont juste les heures de travail qui sont ainsi payées aux développeurs, leur permettant d’y consacrer plus de temps.

Je vous propose de répondre à ce court sondage (4 questions) pour évaluer la faisabilité de la chose. Merci !

Récupérer la plage dynamique sous darktable

Si vous avez déjà essayé de traiter une photo prise en contre-jour ou en plein soleil, vous avez déjà rencontré ce problème : le contraste est tellement violent que :

  • soit vous sacrifiez les hautes lumières,
  • soit vous sacrifiez les basses lumières,
  • soit vous essayez de récupérer les tonalités extrêmes, et là vous avez des couleurs délavées ou sursaturées, ou des pertes de texture.

Comprendre le problème

Vous êtes en voiture sur une route de campagne, de nuit. Tout à coup, une voiture surgit dans le sens inverse, pleins-phares. Éblouit, vous ne voyez plus le bord de la route, trop sombre. Pourquoi ? Vous avez un problème de plage dynamique : la différence de luminosité entre les phares et le bord de la route est trop importante, et donc tout ce qui n’est pas sur la route vous semble indistinctement noir.

L’œil humain a une plage dynamique estimée à 20 EV. L’EV (exposure value, en français : IL, indice de lumination) est une unité logarithmique (en base 2) de mesure de la luminance : ajouter 1 EV revient à multiplier l’intensité lumineuse par 2.

Dans un bureau, on conseille généralement une luminosité de 300 lux. Si votre plage dynamique oculaire est de 20 EV, cela signifie que vous pouvez distinguer des objets dont l’éclairement minimal est de 300/2/2/2/2/2/2… = 0,0003 lux. Si vous avez un objet éclairé à 0,0003 lux posé sur un fond éclairé à 0,00001 lux, vous ne verrez que du noir, et aucune démarcation. En gros, tout ce qui sort de la plage dynamique est indiscernable.

Un appareil photo fonctionne à peu près pareil… si ce n’est que sa plage dynamique est de 10-15 EV. Là ou ça se corse, c’est qu’un écran photo étalonné, n’a qu’une plage dynamique de 8 EV (soit un contraste d’environ 300:1), et un tirage papier moins de 7.5 EV (ce qui correspond à un Dmax de 2.3, valeur typique d’un papier baryté photochimique). On a alors un gros problème : faire rentrer la grande plage dynamique de l’appareil, au chausse-pied, dans celle de l’écran ou du tirage, sans perdre trop de détails ni de contraste. Pour ce faire, on dispose de plusieurs stratégies, et vous vous doutez bien que ce ne sont pas les plus simples qui sont les plus efficaces. Tout se paie.

La difficulté est d’assombrir les hautes lumières, d’éclaircir les basses lumières, tout ça sans perdre de contraste global ni de contraste local, et en conservant des couleurs correctement saturées. Parce que, en RGB, on ne peut pas modifier séparément les couleurs et la luminosité, et les couleurs peuvent finer soit délavées soit trop saturées.

La fausse bonne idée

darktable dispose d’un module ombres et hautes lumières qui permet de faire ceci facilement. Mais voilà, ce que fait ce module est une correction spatiale : il identifie des zones sombres et des zones claires, et corrige les pixels suivant qu’ils appartiennent ou non à une zone claire ou sombre, et pas en fonction de leur luminanc individuelle. C’est un fait un filtre passe-bas dont le contraste est inversé et fusionné en incrustation dans l’image :

Original
Carte de luminance inversée utilisée pour corriger le contraste par le module ombres et hautes lumières (simulée avec le module passe-bas).
Contraste inversé avec le module passe-bas en appliquant la carte de luminance ci-dessus en fusion incrustation — notez que le module ombres et hautes lumières donne un meilleur résultat puisqu’il offre des contrôles plus précis.

En paysage, où vous avez des zones bien séparées (ciel, mer, terrain), ça marche bien. C’est alors l’équivalent d’un dodge & burn à la Ansel Adams :

En portrait, vous le voyez dans l’exemple ci-dessus, le résultat a tendance à avaler du contraste local et donc à aplatir le modelé du visage et du corps. En effet, on n’a pas, sur un visage, des démarcations aussi franches qu’en paysage entre les zones claires et les zones sombres. Par contre, ce module fait des merveilles, bien réglé, pour supprimer des zones brillantes sur un visage (arrête du nez, front huileux), précisément parce que, dans ce cas là, vous voulez retirer du contraste.

Mode d’emploi

Note : j’ai créé un style contenant l’essentiel des modules utilisés dans la suite pour vous permettre de gagner du temps. Évidemment, ce style est un point de départ pour vos réglages, pas une formule magique qui marche tout le temps. Téléchargez le.

Si j’ouvre une photo prise en plein soleil, avec les courbe de base par défaut (ici, similaire Nikon), voici ce qu’on obtient :

À l’ouverture de la photo, exposition et balance des blancs ajustées

Le nez est aplati dans le visage, la peau est jaune trop saturée (même pour une asiatique), les ombres sont très marquées : on ne voit pas grand chose. Première chose à faire : changer la courbe de base.

On applique une courbe de base spéciale, tirée du profil Tassinflat créé pour enregistrer des vidéos sans perte de détail, pour faciliter le post-traitement. Ces profils neutres et plats (N-log, S-log, etc.) sont très populaires chez les vidéastes qui filment au réflex car les encodages et compressions vidéos appliquées évacuent complètement les zones sans détails. Il est donc important, à l’enregistrement, d’avoir un profil très neutre, peu contrasté, pour avoir un enregistrement complet qui permettent ensuite, en post-production, de jouer avec une image entière (la vidéo sur réflex n’est pas en raw). Ici, c’est un autre objectif que nous visons : il s’agit de récupérer les détails le plus bas possible dans la pile des modules (le module courbe de base est l’un des premiers à s’appliquer, juste après l’exposition).

 

On voit que cette courbe va atténuer les hautes lumières et éclaircir dramatiquement les ombres, sans toucher aux extrêmes.

On ajoute ensuite la correction du profil d’entrée, avec le gamma à 0.45 (ce qui correspond à un gamma réel de 2.2 = 1/0.45) et le linéaire à 0.5. Le linéaire indique en dessous de quelle valeur de luminance la correction du profil ne s’applique pas. Ceci réalise une correction du gamma, et va à nouveau donner un peu plus de présence aux tons moyens, au risque toutefois de cramer les hautes lumières (augmentez de préférence le linéaire, dans ce cas).

On a alors ce résultat :

Application du profil neutre

C’est déjà beaucoup plus lisible. On a donc une base saine, il va falloir ensuite ajuster l’exposition de façon à caler l’histogramme bien à droite mais sans avoir de zone brûlée. Ici, c’est l’arrête du nez qui nous fournit la référence d’exposition. On s’arrête juste avant de perdre la texture de peau.

Pour protéger les hautes lumières, on a dû assombrir, ce qui est mal car ce n’est pas ce qu’on cherche. On a alors deux options :

  1. diminuer le linéaire, dans la correction du profil, pour éclaircir les tons moyens,
  2. utiliser la fusion d’exposition, dans la courbe de base.

La première méthode donne de bons résultat en contre-jour, quand le sujet ne reçoit pas directement la lumière du soleil. Ici, le sujet est éclairé directement, et cette méthode va provoquer la perte des détails sur le visage. On va donc préférer la deuxième méthode qui, en revanche, va donner des effets de bords dans les photos en contre-jour.

Le résultat est alors :

Avec fusion d’exposition

Tout ceci est très fade, mais c’était le but : récupérer la plage dynamique. À présent, on va rajouter du contraste en passant par la courbe des tonalités en mode manuel. Il s’agit de remettre une très légère courbe en S en luminance.

Et, pour ajuster les couleurs, on procède de même sur les canaux a et b.

Après ajout de contraste

Dernière étape : on se rend compte que les hautes lumières sont étrangement saturées, ce qui arrive très souvent quand on manipule trop les valeurs RGB. En effet, la charte de couleurs utilisée pour réaliser de profil de couleur d’entrée a une plage dynamique de 8 EV environ, on a donc dilaté ce profil et ajouté des erreurs. Pour compenser cette dérive, on va désaturer sélectivement les hautes lumières avec le module zones de couleurs.

Après la correction de saturation des hautes lumières.

Restent alors les petits détails, suivant votre goût personnel : j’ai retiré 0.5 EV sur le visage en utilisant le module exposition et un masque dessiné oval, ajouté 0.33 EV d’exposition sur les fleurs avec un masque dessiné pinceau et une légère vignette.

Optionnellement, le modules zones permet, en utilisant le zone system d’Ansel Adams, de fignoler délicatement le contraste local. Ici, on veut remettre du contraste sur la robe, qui est dans la 2e zone de luminance (depuis la gauche), c’est pourquoi on étire ses limites haute et basse :

Le résultat n’est pas la photo du siècle (l’expression de la modèle, la lumière, etc. laissent à désirer), mais un exemple assez parlant de ce type de retouche. Notez que l’augmentation du constraste local sur la robe se fait au détriment du modelé des jambes, qui sont dans la 3e zone, qui est du coup réduite. C’est le défaut principal de ce module, où l’on est obligé de déshabiller Paul pour habiller Jean…

Final

Autre exemple

Je vais reprendre la photo du début, issue d’un concours RAW de Jared Polin dont j’ai déjà parlé dans mon précédent article.

Retouche Jared Polin – Lightroom

La photo date de 2011, et la retouche porte la trace de son époque : un goût prononcé pour les couleurs saturées et les contrastes marqués, alors même que les appareils photos de l’époque affichaient à peine plus de 10 EV de plage dynamique à 100 ISO, donc contrastaient naturellement plus. Ce style est passé de mode depuis quelques années, avec le renouveau de la pellicule couleur et un engouement pour les styles qui émulent ce rendu plus doux, plus pastel, et finalement plus poétique. Voici donc ma retouche personnelle, faite avec la méthode présentée ici :

Retouche Aurélien Pierre/darktable

Vous remarquez que, dans ma version, la  modèle est blonde des racines au pointes, alors que la version de Jared, au contraste renforcé, donne un rendu « fausse blonde » avec des racines foncées. La teinte de peau est aussi plus naturelle à mon avis. Je trouve mon image globalement moins dure.

Conclusion et commentaires

Ces deux photos ont un point commun : elles sont correctement exposées. Pas un seul pixel n’est brûlé (en tout cas pas sur les 3 canaux à la fois). Ceci rend les choses beaucoup plus simples, et on ne le répètera jamais assez : la retouche se prépare dès la prise de vue. En conditions de fort contraste, pensez à exposer pour protéger les hautes lumières, quitte à sous-exposer de 1 EV s’il le faut. Il y a encore des gens qui pensent qu’il faut exposer pour les basses lumières : c’était vrai en argentique, mais la physique d’un capteur photoélectronique n’est pas la même que la physico-chimie d’une émulsion d’halogénure d’argent. Une pellicule ne sature pas de la même manière qu’un capteur numérique.

Comme d’habitude, avoir un profil d’étalonnage de l’appareil photo va accélérer beaucoup l’ajustement des couleurs et limiter les chances de vous tromper. On y reviendra, mais utiliser de bons profils de couleur divise le temps de retouche par au moins 3.

En paysage, on aurait pu se reposer d’avantage sur le module ombres et hautes lumières, mais il est efficace jusqu’à un certain point et n’aurait pas suffit. Du reste, il n’est pas possible de l’utiliser à haute dose sans voir apparaître des pertes de contraste local et de texture.

N’oubliez pas qu’il est toujours possible, dans le cas de zones de luminance bien séparées, d’utiliser un simple masque dessiné avec le module exposition pour ajuster manuellement la luminosité où vous le souhaitez. Ça n’est pas toujours possible, et pas sur toute l’image, mais lorsque ça marche, c’est encore la méthode la plus simple.

De même, il aurait été possible d’utiliser les modules de mappage des tonalités, mais là encore, leur usage sur des fichers normaux (non HDR) est très délicat car la gestion des couleurs est un vrai casse-tête, et il faut alors passer un temps considérable à ajuster les saturations à la main. Dans ce cas, n’hésitez pas à utiliser le module contraste de couleur pour saturer rapidement les couleurs de façon naturelle, dans l’espace Lab.

Je déconseille fortement, en général mais surtout dans ces cas pénibles, l’utilisation du module contraste, luminosité et saturation car il ne permet pas un contrôle assez précis de la couleur et des tonalités. Pour ce faire, le module courbe des tonalités est beaucoup plus puissant. En général, il vaut mieux l’utiliser en mode manuel, en ajustant aussi les canaux a et b. Pour plus de simplicité et de rapidité, il est possible de le laisser en mode automatique, auquel cas il ajuste automatiquement la saturation en fonction de la luminance, dans l’espace Lab. Dernièrement, des modes automatiques XYZ et RGB ont été ajoutés (au moins dans la version de développement), et peuvent être utilisés pour ajouter plus de saturation. Le mode RGB est particulièrement utile lorsque votre appareil photo n’est pas profilé, ce qui génère souvent des images assez fades lorsque la courbe de base du boîtier est désactivée. Dans ce cas, le module courbe des tonalités (en mode RGB, donc) se comporte exactement comme le module courbe de base, si ce n’est qu’il est placé plus tard dans la pile, avec les mêmes problèmes de saturation excessive dans certains cas.

darktable, logiciel gratuit pour non-professionnel ?

Depuis la sortie de darktable sous Windows, en décembre 2017, les articles de test et de comparaison se sont multipliés dans la presse photo et sur divers blogs. Sur darktable.fr, on ne s’en réjouit pas tellement. Pourquoi ? Les erreurs, voire les idioties, qu’ils contribuent à colporter ne servent pas la communauté, bien au contraire.

J’avais déjà passé la première couche, justement en décembre 2017, il est plus que temps pour la deuxième.

darktable, le Lightroom gratuit

Dans la tête des journalistes photo, Lightroom est un tel must que tout logiciel de traitement de photos brutes ne peut être qu’une tentative de copie. Qu’on souhaite faire quelque chose d’autre qu’un clone n’est pas une possibilité. Un peu comme les psychanalystes, pour qui tout lapsus ne peut être qu’une manifestation d’un inconscient enfoui et refoulé, jamais un hasard linguistique (il faut trouver du sens partout). Donc, fatalement, dans tous les tests, darktable est un Lightroom en moins bien.

Ensuite, le caractère libre du logiciel est systématiquement résumé à sa gratuité et utilisé comme excuse pour faire passer darktable pour un parent pauvre de Lightroom. On a même vu darktable qualifié de « libre » avec des guillemets, pour bien faire comprendre qu’on n’y croit pas trop.

Donc il est temps de rectifier :

1. Et si Lightroom n’était en fait qu’un darktable payant et moins bien ? Oui, parce que des masques paramétriques ET dessinés, un module fluidité/liquéfier, la possibilité de dupliquer des instances pour faire, notamment, du débruitage en plusieurs passes, cherchez bien dans Lightroom : ça n’existe pas. En outre, darktable vous permet de réaliser et d’utiliser vos propres profils de correction des objectifs (via la librairie Lensfun), et vos propres profils de correction des couleurs (via ArgyllCMS ou l’outil darktable-chart). Ça veut dire que vous n’êtes pas dépendant des développeurs pour intégrer le support de votre appareil, vous êtes autonome.

2. darktable est libre, sans guillemets, et pas gratuit. Ça veut dire que des développeurs collaborent, partagent leur code source, que n’importe qui peut le modifier et collaborer, apporter ses idées ou le réviser pour s’assurer qu’il ne contienne pas de code malicieux. Ensuite, ils partagent leur outil, rédigent et traduisent des documentation, créent des tutoriaux, corrigent les bugs remontés par les utilisateurs, et les assistent dans leur problèmes. Ça veut dire que des chercheurs et étudiants peuvent y pousser le résultat de leurs recherches et favoriser le transfert de technologie au profit de la communauté. Tout ça sans rien demander en retour. darktable n’est pas gratuit, il est offert par ses développeurs à la communauté. En arrière, c’est un boulot constant depuis 2010.

3. darktable n’est pas un concurrent de Lightroom non plus, parce que votre usage de darktable n’enrichit personne, et que le logiciel que vous avez choisi d’utiliser ne change rien pour ses développeurs.

Ça énerve parce que, dès qu’on écrit « gratuit » quelque part, on rameute la république des radins, toujours à l’affût d’une bonne affaire sans rien donner en échange. Des mecs qui se mettent les pieds sur table et crachent dans la soupe quand ça ne va pas comme ils veulent. Le même genre d’individus qui marchandent tout et ne repartent satisfaits que lorsqu’ils ont l’impression d’avoir volé le vendeur. Drôle de satisfaction.

En réalité, l’ouverture du logiciel à Windows à juste ramené une quantité d’utilisateurs consommateurs, réticents à l’idée d’investir dans leur formation, prompts à demander des fonctionnalités et à se plaindre que ça ne marche pas sans avoir lu le mode d’emploi. Pour eux, il faut que ça marche tout de suite sans effort, et même qu’on fasse leur boulot à leur place. Et puis, surtout, ils veulent tout faire comme dans Lightroom.

Donc, si vous voulez un Lightroom gratuit, il y a le téléchargement illégal (donc le vol). Vous vous arrangez avec votre conscience et la loi, mais ça ne sert à rien de venir nous pourrir notre journée en déversant votre frustration.

Le mauvais ouvrier a toujours de mauvais outils

Beaucoup de tests de darktable finissent par quelque chose du genre

« c’est pas mal, mais il manque XYZ pour être au niveau de Lightroom ».

Qu’on soit clair : j’ai appris à utiliser darktable, en même temps que la retouche, en 2012-2013, en visionnant des tutoriaux Lightroom. Imaginez l’exercice : devoir transposer une fonctionnalité d’un logiciel que je n’avais pas vers un logiciel que je découvrais… Mais j’ai toujours été capable de reproduire le tutoriel. Manque-t-il quelque chose à darktable pour faire la même chose que Lightroom ? Je ne crois pas. Par contre, ce qui manque à beaucoup d’utilisateurs, c’est de la souplesse d’esprit.

Quand quelque chose se passe mal, on peut, soit blâmer l’outil, soit blâmer l’utilisateur. Et là, on a des journalistes photo qui, après 10 ans de Lightroom, testent darktable 2 jours et concluent :

  • qu’ils ont eu plus de mal à faire ceci,
  • que darktable ne sait pas faire cela (en général, c’est faux, mais ils n’ont pas cherché),
  • que darktable est plus lent (ce qui dépend des modules utilisés),
  • que l’ergonomie est déroutante.

Pour se rendre compte des possibilités d’un logiciel, la première chose serait peut-être de voir ce que les utilisateurs expérimentés sont capables d’en faire, non ?

J’ai repris ce concours RAW par Jared Polin, daté de 2011, qui avait déjà fait l’objet d’un test comparatif avec darktable. J’y ai passé 25 min, essentiellement parce que l’appareil photo n’a pas de profil dans darktable : j’ai donc dû ajuster les couleurs à l’œil, par rapport à l’image de référence, et ça prend pas mal d’aller-retours. Ce qui est intéressant ici, c’est que l’appareil photo utilisé est un vieux Nikon D100, avec une plage dynamique franchement en-dessous de ce qu’on fait aujourd’hui, donc le traitement fait beaucoup dans la récupération du contraste et des détails. Voici l’historique :

Une des critiques habituelles de darktable est la moins bonne conservation des détails en haute lumière.

Gauche : retouche Aurélien/darktable | Droite : retouche Jared/Lightroom

Observez ce détail de la robe à 100 % et dites-moi si on a perdu des détails dans la texture. En fait, j’ai fait exprès d’atténuer les hautes lumières pour augmenter les détails dans la texture et le drapé. Donc darktable « sait » récupérer les hautes lumières, sous réserve que l’utilisateur sache le faire fonctionner.

Gauche : retouche Aurélien/darktable | Droite : retouche Jared/Lightroom

Donc, est-ce le logiciel qui est en cause, ou la maîtrise de celui qui prétend le tester ? Je vous laisse juge.

Parlons de l’ergonomie non intuitive

Souvent, les critiques qui reviennent sont :

« puissant mais déroutant ».

Moi j’ai envie de vous dire :

Le véhicule de gauche se déplace en 2D sur route balisée à vitesse inférieure à 295 km/h. En cas d’urgence, le pilote met un coup de frein et s’arrête au bord de la route. Le véhicule de droite se déplace en 3D sur itinéraire non balisé à une vitesse maximale de 1020 km/h et à une altitude maximale de 13 100 m. En cas d’urgence, le pilote ne peut pas s’arrêter car c’est sa vitesse qui fait voler l’avion (portance, décrochage, etc.).

Le véhicule de gauche requiert 30 h de formation pratique. Le véhicule de droite requiert un brevet de pilote privé (60 h de théorie, 45 h de vol), puis un brevet de pilote de ligne (80 h de théorie, 200 h de vol), puis une certification moyen-courrier (A340), puis une certification spéciale A380 long-courrier (après 1700 h de vol moyen-courrier).

Dans un registre plus proche de l’image, vous avez entendu parler du modeleur/animateur 3D Blender ?

Tracker VFX de Blender

Je suis désolé, mais on ne peut pas faire des opérations avancées avec des outils simples. À un moment donné, tout se paie. On ne peut pas avoir un logiciel puissant, riche, qui laisse une totale liberté d’action à l’utilisateur, et qui soit en même temps simple, intuitif, rapide à prendre en main. Tout ce qui est intuitif cache des chose à l’utilisateur. La facilité va se payer plus tard, en terme de limites dans les fonctionnalités.

darktable compte 4 modules différents de débruitage, chacun spécialisés dans un type de bruit particulier, qui offrent des compromis bruit/netteté différents. Il compte aussi 4 modules différents d’accentuation de la netteté, chacun avec des effets de bords différents et un rendu particulier.

Ce qu’il faut comprendre, c’est que chaque module est l’équivalent d’un calque de réglage, qu’on peut masquer, dupliquer, empiler, et qui ne réalise qu’une opération à la fois. La logique de darktable, c’est d’empiler les modules pour empiler les algorithmes. Pas de proposer une interface unifiée avec des réglages communs où l’on ne sait pas trop ce qui se passe en-dessous. La possibilité de relier chaque module avec un algorithme équivaut à la possibilité  de se renseigner sur les limites et les faiblesses de l’algorithme pour comprendre dans quel cas utiliser le module en question. Et pour les développeurs, c’est aussi un moyen propre de compartimenter le code de façon à encourager les contributions et simplifier la maintenance. Chaque module est autonome.

Vous voulez avoir le choix ou pas ? La vraie question est la suivante : pourquoi ça devrait marcher tout de suite, sans effort ? Je signale qu’il n’y a pas si longtemps, la retouche se faisait dans la chambre noire, au pinceau, avec des masques découpés dans du carton, et c’était une autre histoire :

Et, malgré toute cette complexité, les gens se mettaient au travail, sans pleurnicher. Mais ça c’était avant.

Avant de faire de la photo, il y a des gens qui passent par des écoles d’arts appliqués. Ça dure 3 à 4 ans, à raison de 25-30 h de cours par semaine. Dans quelle réalité alternative pensez-vous que la retouche va vous tomber tout cuit dans le bec en quelques tutoriaux vidéos ? Amateur ou pas, ce n’est pas mon problème. C’est un artisanat, vous ne pouvez pas gagner du temps et contourner les difficultés : il faut en chier pour apprendre.

Pas mûr pour un usage professionnel ?

Alors, ça, ça m’a fait bien rire. D’abord, un professionnel, c’est quoi ? Quelqu’un qui vit de la photo ? Quelqu’un qui a des compétences avancées ? Ou les deux ?

Ensuite, le professionnel, c’est qui ?

  • Un photojournaliste qui part plusieurs semaines sur le terrain et se retrouve avec des montagnes de photos à trier et archiver à son retour, mais sans faire de retouche élaborée ?
  • Un photographe d’art qui retouche quelques photos par jour mais effectue une retouche complète et approfondie pour des tirages grands formats ?
  • Un photographe de mariage qui doit gérer plusieurs milliers de photos par semaine et retoucher vite, mais sans devoir revenir sur ses photos archivées plus tard ?
  • Un pigiste qui doit envoyer quelques photos basse résolution pour hier à sa rédaction ?
  • Un instagrameur-influenceur qui fait tout à l’iPhone et au MacBook, assis dans un café Starbuck’s, et qu’on aura oublié dans 20 ans ?

C’est d’autant plus ridicule que les journalistes qui écrivent ces idioties publient dans des revues (genre Compétence photo) qui sont clairement destinées à des amateurs. Et si elles ne le sont pas, j’aimerais qu’on m’explique pourquoi je n’y apprends jamais rien de nouveau.

La première chose que je fais, quand on me parle d’utilisation « professionnelle », c’est d’aller jeter un œil sur le portfolio de celui qui parle. Une photo professionnelle se reconnaît tout de suite : elle me rend jaloux. Autant vous dire que je ne suis pas jaloux souvent. Du coup, c’est mignon de fantasmer l’activité professionnelle, mais il y a encore des pros qui font de la chambre noire (8×11 pouces), donc vouloir résumer l’activité professionnelle à un asservissement permanent aux caprices d’une mariée hystérique, c’est un assez caricatural et un peu malhonnête.

Ce que je comprends de la remarque « darktable n’est pas mature (ou assez complet) pour une utilisation professionnelle », c’est que darktable n’est pas compatible avec un workflow Lightroom. Étonnant, non ? Si c’est ça que le « professionnel » veut, alors, soit, je m’incline.

darktable permet de classer et archiver ses photos de façon chronologique, thématique (par mot-clés et séries), et géographique. Il permet de faire des requêtes booléennes complexes dans la base de données. Il gère les profils de couleur en entrée et en sortie, au niveau de l’appareil photo, de l’écran, de l’imprimante, et permet de faire du soft-proofing (épreuvage écran) et de vérifier le gamut. Il lit tous les formats courants. Il autorise la création de copie virtuelles et la duplication des retouches d’une photo à l’autre par copier-coller. Il prend en charge OpenCL 2.0 pour tirer parti de la puissance de la carte graphique. Il permet de faire des styles et des réglages conditionnels appliqués automatiquement en fonction des EXIFS de l’image selon les consignes de l’utilisateur. Il permet de gérer des masques complexes, avec des opérations booléennes sur des masques dessinés, combinés avec des masques paramétriques, et de partager/réutiliser les masques entre plusieurs modules.

Je ne vois pas ce qu’il faut de plus pour un professionnel. Il peut travailler avec toute la rigueur dont il a besoin et se simplifier la vie lorsqu’il en a besoin, tout en ayant un processus de retouche entièrement non-destructif, réversible, et transposable d’une photo à l’autre.

Tout n’est pas rose

Je suis un heureux utilisateur de darktable depuis 2011. À l’époque, je bidouillais. darktable me permet aujourd’hui de faire ce dont j’ai besoin, et j’essaie d’apporter ma pierre (ahah) à l’édifice pour l’améliorer, lorsque je le peux. Mais je ne suis pas un fanboy darktable. Un certain nombre de choses m’agacent dans ce logiciel, en particulier que les développeurs contribuent à ce qui les intéresse sans vraiment tenir compte des autres utilisateurs, ce qui génère un ensemble de fonctionnalités pas complètement achevées, des détails mal finis, etc.

Parfois, j’aimerais qu’il y ait une fondation darktable, comme il y a une fondation Blender ou Mozilla, qui puisse lever des fonds pour payer des développeurs à se farcir le boulot pas marrant mais nécessaire d’arrondir les angles dans le logiciel, en tenant compte des besoins des utilisateurs. Mais les développeurs ne veulent pas s’embêter à ça, et on ne peut pas vraiment les en blâmer : ils donnent déjà beaucoup.

Reste que beaucoup de chose sont perfectibles. Mais beaucoup de choses fonctionnent déjà très bien. Et c’est un affront que de vouloir absolument opposer darktable et Lightroom.

De grâce, restez stupide et paresseux, continuez à utiliser Lightroom, et arrêtez de croire qu’on cherche à vous convertir : on se portait très bien avant que darktable ne s’ouvre à Windows. Vous voulez apprendre : on veut bien vous aider. Vous avez la flemme : restez dans votre indigence crasse, shootez en JPEG, on n’a pas besoin de vous. Au fond, c’est simple.

moi par moi, retouche 100 % darktable.
Fredau. retouche 100 % darktable.
Minh-Ly. retouche 100 % darktable.