Liens connexes

Dépêche modérée par

Dépêche éditée par

: GNOME Scan 0.6 : vulgariser la numérisation

Posté par Étienne Bersac (Jabber id, page perso, ). Modéré le 11 mars 2008.
0
Alors que GNOME print et maintenant GtkPrint offrent une solution efficace pour l'impression, simple tant pour le développeur que pour l'utilisateur, GNOME manque toujours cruellement d'une solution de numérisation en phase avec ses impératifs d'ergonomie, de simplicité, d'accessibilité et de modularité. Gnome Scan ambitionne de combler ce besoin et je vous propose d'en savoir (beaucoup) plus en lisant la suite de cet article.

> Lire la suite (66 commentaires, moyenne: 2,8).   [dépêche : 13830 caractères]

Contrairement à l'impression, la numérisation reste un domaine utilisé principalement par les professionnels et les passionnés, certains utilisateurs la fuient tout simplement. On s'épargnera la description de la situation sous les systèmes d'exploitations propriétaires. Sous GNU/Linux, la décision a été prise il y a de nombreuses année de décharger le noyau du support des scanners, il sera géré en espace utilisateur. Le projet SANE est l'API et l'implémentation de référence pour le support des scanners sous GNU/Linux et plus. SANE est indépendant de l'interface. De nombreuses interfaces sont apparues : un exemple en GTK+ fourni avec SANE, un fork de ce dernier baptisé XSane et développé par Oliver Rauch, OpenOffice dispose d'une interface rudimentaire au dessus de SANE, Kooka pour KDE 3, Eikazo en py/gtk, etc. GNOME est le grand absent de cette liste, et les distributions orientées GNOME se sont rabattues sur XSane. Ce logiciel reproduit certaines erreurs de conception de plusieurs logiciels fournis avec les scanners : un logiciel tiers qui veut s'intégrer partout et centraliser tous les accès au scanner.

Mark Finlay avait commencé le projet GNOME Scan en 2004, mais il mourut avant de pouvoir donner vie aux maquettes d'un logiciel de numérisation. Ross Burton at Alan Horkan s'étaient jurés d'accomplir ce projet en sa mémoire. Finalement en mars 2006, après des pérégrinations autour de la numérisation, je lance la discussion sur la conception d'une bibliothèque proposant la numérisation clef en main pour les développeurs et une interface facile pour les utilisateurs. Martin Schön m'aida beaucoup dans les discussions sur l'architecture du projet. Le projet démarre, prend forme dans le cadre du Google Summer of Code 2006 sous la houlette de Vincent Untz (aussi connu sous le nom de « Dieu »). Un long cycle de développement aboutit, vers Noël 2006 à Gnome Scan 0.4. La 0.4 reste une preuve de principe : la numérisation dans une bibliothèque, ça a du sens. Les premiers problèmes se posent : le logiciel n'est pas assez flexible face à la diversité des scanners, de l'utilisation de la numérisation et de la disparité des pilotes de scanner SANE.

Le printemps 2007 est l'occasion de repenser GNOME Scan pour qu'il soit plus modulaire et plus flexible. Après quelques semaines de brouillonnage et de diagramme, je me lance dans la réécriture du projet. Une fois de plus, Google apporte son soutien financier et Vincent Untz son soutien psychologique. Août 2007, une ébauche de greffon AbiWord intègre la numérisation et la ROC directement dans AbiWord. Ryan Paul gratifie cette nouvelle d'un article sur Ars Technica. Moment de gloire. AbiScan reste cependant une preuve de principe s'appuyant sur des technologies très fraîches : OCRopus, GEGL et GNOME Scan. Après le GSoC, la décision est prise de suivre le cycle de GNOME et de calquer la numérotation de version sur celle de GNOME. La branche 0.5 est donc une branche instable qui aboutira sur la 0.6, stable (en terme d'utilisation, pas d'API).

La phrase maîtresse de GNOME Scan est : « Rendre la numérisation aussi simple que l'impression tant pour les utilisateurs que pour les développeurs. »

Comme prévu, en parallèle avec GNOME 2.22, GNOME Scan 0.6 sort, traduit en 15 langues dont 6 à 100%. Cette version apporte un jeu de fonctionnalités très pertinent :Le futur est prometteur, plein de choses sont à améliorer, à tous les niveaux. La 0.8 prévue pour GNOME 2.24 en septembre prochain devrait recevoir beaucoup de consolidation de l'API, amélioration du support des scanners (options évoluées, disparité des scanners, branchement à chaud, boutons matériels et optimisations de l'interface comme la possibilité de revenir en arrière, la réduction du nombre de popup, etc.)

GNOME Scan utilise désormais l'infrastructure de gnome.org pour les sources, le téléchargement, la page web, le suivi des bug, le blog, etc. Des paquets deb sont disponibles pour Ubuntu dans ma PPA pour gutsy. Je migre désormais en Hardy pour la suite du développement.

Un travail collaboratif

GNOME Scan est vraiment au cœur de la pile de numérisation du bureau. En amont, il y a SANE, HAL, OCRopus et GEGL ; en aval il y a Gimp, AbiWord, Evolution, OpenOffice, F-Spot et tant d'autres applications qui gagneraient à intégrer la numérisation. En théorie, toute application qui imprime devrait numériser.

GNOME Scan fut le premier projet à s'appuyer sur GEGL, ce qui lui donna un coup de pouce non négligeable. Aujourd'hui, GIMP tire aussi partie de GEGL. Cela prouve que l'intuition des développeurs de GIMP de créer un GStreamer de l'image était juste. KDE traîne toujours des tableaux interminables d'octets pour faire transiter les images dans libkscan !

Le cas SANE

SANE a de nombreux mérite, mais pose également quelques soucis. Le standard de SANE est très minimal et n'évolue quasiment pas. De sorte que l'idée d'une version 1.2 avant la 2.0 a eu du mal à faire son chemin. L'évolution de SANE depuis 10 ans a été d'implémenter de nouveaux pilotes et de corriger les bugs. Or il y a clairement des manques dans SANE voire des erreurs conceptuelles qu'il faut résoudre, tant du point de vue du développeur de pilote que du développeur d'interface.

En tant qu'interface, GNOME Scan est en butte à quelques problèmes :
Au final, les pilotes n'exposent pas toutes les capacités du matériel, plus ou moins selon la volonté du développeur, et de manière incohérente. C'est très pénible lorsque l'on veut maîtriser un minimum l'interface pour offrir à l'utilisateur un logiciel intelligent et non un simple configurateur de pilote.

HAL

Actuellement je développe le support des scanners dans HAL grâce au travail effectué dans SANE pour publier un fdi depuis la 1.0.19. C'est encore dans un git local et j'ai l'intention de publier ça rapidement sur HAL et être hébergé sur freedesktop.org. Ça se présente sous la forme d'un greffon au démon hald, qui est exécuté sur chaque scanner branché et reconnu. Il détermine le nom de scanner SANE, observe les capteurs et publie un signal au besoin. Il implémente l'interface org.freedesktop.Hal.Device.Scanner qui permet simplement à l'interface de prendre possession du scanner pour l'utiliser. C'est assez pénible de se dire qu'il faut dupliquer le code de gestion des évènements si on veut en tirer partie dans l'interface elle-même.

Reconnaissance optique de caractères

GNOME n'a rien pour la ROC. J'ai timidement lancé le projet libaccroc dont le but est de produire une API GObject simpliste qui permet de faire abstraction du moteur de ROC (OCRopus, tesseract, gocr, ocrad, claraocr, hocr, etc.) et de choisir globalement le moteur de son choix. GNOME Scan proposera une sous-classe depuis la chaîne de traitement intégrant directement la ROC. Il y a du boulot également au niveau de l'intégration d'unpaper ou de greycstoration qui permettent d'apprêter une image pour la ROC.

Une fois ce travail effectué, on pourra revenir à la charge sur AbiScan et avoir un truc stable et fonctionnel. On peut même se permettre de parler d'une fonctionnalité ultime. OpenOffice.org-gnome pourra en tirer parti également.

KDE

Kooka a longtemps été une très bonne alternative à XSane pour KDE, il a notamment été "bibliothèquisé" pour tenter de répondre au besoin des autres applications (DigiKam). KDE 4 propose libkscan qui reprend le concept de Kooka. À la différence de GNOME Scan, l'API de libkscan est très très simpliste. Un widget KScanDialog avec deux signaux "scan-terminé" et "roc-terminée" et deux appels de fonction pour récupérer l'image dans un tableau d'octets ou le texte reconnu. Je suis un peu déçu car KDE semble absent dans les discussions en amont pour SANE et HAL. Vos retours sont les bienvenus (captures d'écrans, commentaires, liens, etc.). J'espère qu'avec HAL-scanner, la collaboration fera jour.

Interface

J'ai à cœur de faire de GNOME Scan l'interface la plus optimisée, pour la numérisation la plus efficace et la plus accessible. Je tiens par exemple à permettre de se passer de l'aperçu avant et après numérisation, notamment en ce qui concerne les ROC. L'utilisateur doit pouvoir se contenter de sélectionner format de papier, orientation, résolution, couleur et peut-être rotation ainsi que les options de sortie (nom de fichier, de calque, d'album photo, etc.) et lancer directement la numérisation. Pas besoin d'assistant à 12 étapes. La numérisation de masse doit être extrêmement rapide : Appuyer sur Entrée déclenche la numérisation suivante. Il faut également pouvoir revenir en arrière aisément pour changer juste une option et continuer (ex: numériser d'abord les photos paysage puis les photos portrait, sans relancer toute la machinerie).

Il y a beaucoup de boulot à ce niveau, et les retours, rêves, idées concrètes, patchs sont les bienvenus.

API

Il faut également que la numérisation soit très accessible pour le développeur. Cela passe d'abord par une API flexible et simple. Écrire des greffons pour différentes applications aide à concevoir quelques choses d'efficace. L'optimisation de l'API (éviter d'exposer trop de fonctions qui amèneraient le développeur à la confusion), la documentation, le développement de passerelles, l'écriture de tutoriels sont impératifs pour la démocratisation de la numérisation dans GNOME.

Techniquement, GNOME Scan doit tirer toujours plus parti de GEGL, notamment de la nouvelle API d'opération qui permettra une gestion bien meilleure de la chaîne de traitement (multi processus, progression continue de bout en bout, etc.)

Contribuer

Depuis 2 ans, je travaille quasiment seul sur ce projet. Les traducteurs aident, Ross Burton m'a envoyé quelques patches et il est désormais contributeur de GNOME Scan. Philip Sadleder et quelques autres utilisateurs des premières heures m'ont bien aidé à corriger des anomalies ou retrouver de la motivation. Vincent Untz m'a toujours volontiers distribué des coups de fouets pour relancer le projet. Mais j'ai toujours cette crainte de concevoir un projet finalement clos, réduit à ma propre vision de la numérisation.

Aussi, n'hésitez pas à contribuer en envoyant vos idées sur le bugzilla. Telle fonctionnalité, tel comportement, tel traitement d'image, telle option, etc. Que chacun donne son avis, ça me permettra d'avoir une vision globale et d'offrir une solution vraiment adaptée à l'utilisateur.

Remerciements

Je tiens à remercier tout ceux qui m'ont apporté leur soutien, tout spécialement sur ce site, mais également sur Jabber, IRC, le bugzilla, par courriel ; en envoyant des idées, des rapports de bogue, parfois maladroits mais ô combien utiles et encourageants.

La route est encore longue, mais la voie est libre !

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Bravo !

Posté par patrick_g (page perso, ) le 11/03/2008 à 10:53. (lien). Évalué à 10.

Merci pour cette magnifique dépêche.
Je trouve ton boulot sur Gnome Scan particulièrement impressionnant et ça ajoute beaucoup que la news soit rédigée du point de vue du développeur principal du logiciel.

Chouette !

Posté par olivierweb (page perso, ) le 11/03/2008 à 11:05. (lien). Évalué à 3.

Je ne suis pas développeur, je ne connaissais pas, je n'ai pas personnellement de scanneur.

Mais j'abonde dans ton sens pour ce qui est de l'interface, on doit pouvoir numériser à la chaîne avec une seule action.

Bonne continuation, vivement une bonne interface pour scanner et se passer de Windows.

packaging

Posté par err747 () le 11/03/2008 à 11:34. (lien). Évalué à 2.

Bravo pour ce super boulot, je surveille Gnome Scan depuis un moment et je regrette souvent de ne pas être en mesure d'aider... mais ça devrait arriver un de ces jours :).

Plus sérieusement par contre, qu'en est-il de l'entrée dans debian ? Le bug ouvert dans wnpp date d'un an et demi oO alors que les paquets existent, donc je suppose qu'il manque un DD pour envoyer et maintenir le paquet ?

Reconnaissance de QCM

Posté par gayet () le 11/03/2008 à 12:29. (lien). Évalué à 1.

Je profite d'une discussion sur le scan pour savoir si vous connaissez des logiciels qui assurent les fonctions de correction de QCM ?

Des nouvelles

Posté par Olivier () le 11/03/2008 à 12:42. (lien). Évalué à 3.

Je me souviens avoir été très enthousiaste de voir la « naissance » de gnome-scan, il est vrai que le bureau gnome manque d’un vrai support pour les scanner et l’ocr (gscan2pdf ne fonctionne pas mal). Il avait été annoncé à la sortie de gutsy mais plus de nouvelles depuis…

Je ne suis pas développeur… mais je peux tester. Et donc je viens d’ajouter les dépôts à mon sources.list (je suis en hardy alpha) mais pas de « gnome-scan » dans synaptic. Il y a le « vieux » gnomescan-0.4.1-0ubuntu4 et c’est tout.
Les autres paquets du dépôt ne semblent pas présents non plus.

Merci pour le travail et pour cette superbe dépèche, il faudrait un billet sur planet-gnome et/ou planet-ubuntu (peut-être Vincent Untz ou Ross Burton ?).

O.

--
Message tapé sur un clavier bépo : http://www.clavier-dvorak.org

Boudage des scanners

Posté par seginus () le 11/03/2008 à 14:08. (lien). Évalué à 4.

Tout d'abord merci et bravo pour ce logiciel.

Ensuite, une chose m'étonne toujours, c'est que à notre époque ou le numérique est de plus en plus présent, les gens impriment beaucoup mais ne scannent pas.

Personnellement, c'est le contraire, je n'imprime presque jamais, mais je scan.
Cela permet d'archiver beaucoup de documents dans peu de place.

Le résultat est que aujourd'hui on ne trouve presque plus de scanner hormis dans les combinés scanner / imprimante.

Pourquoi pas plus de modèles ? Le modèles plat comme les canon lide 20 / 30 font défaut. Étrangement, vu que les portables on de plus en plus la côte, un scanner à plat fin tiens très bien dans le sac du portable.

Personnellement, j'ai scanner plat et j'espère qu'il ne va pas tomber en rade parce que je ne sais pas par quoi je vais pouvoir le remplacer.

Voilà, c'est tout, je faisais juste part de mon incompréhension de sortir des données de l'ordinateur plutôt que dans rentrer dedans.

SANE

Posté par Batchyx () le 11/03/2008 à 17:56. (lien). Évalué à 1.

C'est vrai que SANE à quelques manques et quelques problèmes architecturaux qui peuvent devenir gênants.

Récemment j'ai eu entre les main un scanner à diapo avec chargeur, et le driver (coolscan) exportait une foules d'option tout aussi incompréhensibles les unes que les autres. Pour scanner correctement il faut faire le focus et le réglage de la colorimétrie. J'ai jamais réussi à faire l'un des deux, donc j'avais des scans flous avec pas de vert.


Phocopieur

Posté par Matthieu C () le 11/03/2008 à 21:03. (lien). Évalué à 2.

Je sais pas si c'est prevu, mais un mode photocpieur serait assez pratique. Ca serait un mode ou l'on sélectionne le scanneur/l'imprimante(et éventuellement leur paramètres), puis on appuie sur un bouton ca scane et ca imprime.

C'est assez pratique pour "photocopier" des documents pour les personnes qui maîtrise pas trop l'informatique.

GNOME Scan 0.6 : vulgariser la numérisation

Posté par matthieu bollot (page perso, ) le 11/03/2008 à 22:07. (lien). Évalué à 9.

Enculé de scanners de merde de putain de conneries de scan.


Ça c'est fait, maintenant je m'en vais comme un prince --->[]

Dématérialisation

Posté par Pyscal () le 11/03/2008 à 22:31. (lien). Évalué à 7.

Hello everybody,

Félicitations, encouragements et tout plein de bonnes choses pour ton projet Étienne...

Une petite idée qui un jour m'a traversée l'esprit:
(peut être que ça existe déjà par ailleurs ou que ce n'est techniquement pas réalisable)

On est sur un formulaire "web",
un bouton "Parcourir",
je clique,
une boîte de dialogue qui souvre et dans la partie gauche,
oh my God,
en plus du "Home sweet home",
du "Desktop",
et patati et patata,
le scanner!
Je clique,
ça numérise,
bouton "Envoyer"
et c'est dématérialisé!

C'est à dire voir le scanner comme un dossier qui contient un fichier...

Car actuellement c'est je numérise, j'enregistre dans un fichier, le bouton "Parcourir", je sélectionne le fichier, j'envoie le fichier et je retourne supprimer le fichier...

Numeriser c'est bien, conserver c'est mieux

Posté par dragoonway () le 11/03/2008 à 22:42. (lien). Évalué à 2.

Juste une petite reflexion sur les temps de conservation des supports numériques.

Faut pas oublier que les galettes en plastoc se dégradent très vite (qques années), et qu'on retrouve encore des bouqins conservés dans le sable de nos jours.

Donc, scanner c'est bien, mais il ne faut pas oublier de stocker sur des supports durables, et quand on a pas de lecteur a bande magnétique (50 ans de conservation ?), je crois qu'un disque dur conserve a priori les données 20 ans, mais à vérifier.

En résumé, scanner c'est bien, graver c'est reculer.

--
o--weed-is-communism--o

Numérisation en masse....

Posté par Vanhu () le 12/03/2008 à 11:01. (lien). Évalué à 1.

Salut.

Juste un petit retour d'un "numérisateur en masse" (j'ai pas encore testé GNOME scan, si ca se trouve il fait déjà très bien ce que je veux).

Je scanne des négatifs, par planches de 24.

Dans l'idéal, je voudrais:

1) Preview de ma planche. Jusque la, la plupart des logiciels le permettent :-)

2) cliquer sur un bouton "autoselection de tous les négatifs". Ca doit etre faisable, puisque de nombreux logiciels proposent de calculer automatiquement la zone du prochain négatif.

3) En zoomant sur l'appercu (qui doit donc etre assez "fin"), ajuster rapidement les zones des négas, parceque en partique, les calculs automatiques ne tombent pas toujours juste.

4) Cliquer sur "tout scanner"

5) Aller regarder la télé, coder un truc dans un coin, faire la bouffe, etc.... pendant que le scanner fait le gros du boulot.

6) Revenir plus tard dans l'interface, et pouvoir ajuster les réglages (contraste, luminosité, couleurs, etc...) image par image, et les sauvegarder.


Je ne connais aucun logiciel qui me permette actuellement de faire exactement cette démarche, qui présente les trois avantages principaux:

- Tous les scans sont enchainés, on peut donc faire autre chose pendant ce temps la, plutot que revenir toutes les 40 secondes sur le logiciel.

- Le réglage de contraste/luminosité/gamma/couleurs/etc... est fait APRES le scan, ca permet donc de scanner UNE FOIS et ensuite de tester les réglages en "soft" pour voir comment on veut enregistrer la photo.

- On peut ajuster une par une les zones de scan "a la main", et tout est correctement mémorisé avant la série de scans.



Si en plus le logiciel fournit une bonne analyse des couleurs, et permet un ajustement automatique correct de celles ci, c'est mieux.
Aujourd'hui, Xsane est assez mauvais sur cet exercice en couleurs, et la seule solution "acceptable" dans le monde UNIX n'est malheureusement pas OpenSource, puisqu'il s'agit de vuescan (qui sait faire une balance par défaut correcte voire bonne selon les photos, et qui fait automatiquement un "renforcement" des couleurs, pour éviter les photos ternes).


En N&B, par contre, le Gamma/Luminosité/Contraste reste le plus efficace a mon gout....


Voila, si GNOME scan permet déjà de faire ca, il va gagner un nouvel utilisateur d'ici quelques jours, et si l'équipe de dev est motivée pour implémenter ca, je suis volontaire pour béta-tester !!!


A +

VANHU.

Détramage

Posté par Nim () le 12/03/2008 à 13:22. (lien). Évalué à 1.

Un grand merci pour ce programme qui comble un gros manque.

Je voulais savoir si il était prévu une option de détramage ? C'est un grand classique des interfaces propriétaires pour scanneur mais qui fait cruellement défaut pour l'utilisateur lambda sous linux.

En effet pour détramer à l'heure actuelle, c'est plutôt complexe (enfin je n'ai jamais rien trouvé de simple) au mieux il y a quelques filtres gimp mais ceux-ci ne donnent pas toujours des bons résultats. Certes l'option détramage des interfaces propriétaires est souvent grossière mais elle convient pour des scans de base.

Vulgariser la numérisation ...

Posté par seginus () le 12/03/2008 à 21:52. (lien). Évalué à 1.

... scanner du pr0n

--> [ ]

numérisation simple et applis existantes...

Posté par Francois Revol (page perso, ) le 13/03/2008 à 20:06. (lien). Évalué à 3.

Je ne suis pas sur du fonctionnement de Gnome pour les images, mais je suppose qu'il y a un système de chargement générique qui convertit automatiquement les fichiers...

En tous cas dans BeOS et donc Haiku, il y a le Translation Kit qui fait ça très bien.
Justement dans BeOS on utilisait SANE, avec un front end graphique natif, Sanity. Pour Zeta j'ai modifié Sanity pour qu'il soit utilisable comme plugin du Translation Kit.
Le résultat étant que n'importe quelle application sachant ouvrir une image avec le Translation Kit pouvait scanner aussi, il suffisait d'ouvrir un fichier ayant un type mime spécial (indiqué sur un attribut étendu), que Sanity reconnaissait.
Bien évidemment c'est un peu limitant comme modèle, sauf qu'on peut passer un BMessage au translateur pour ajouter ou demander des infos, donc des infos spécifiques à un scanner (résolution, ...).
Haiku va bien sur pouvoir utiliser ça sous peu.

(a noter que quelqu'un avait également porté gocr comme translateur aussi, donc les applis sachant lire du texte...)

Sanity :
http://philippe.houdoin.free.fr/phil/beos/sanity/index.html

Il y a surement moyen d'obtenir un fonctionnement similaire dans Gnome... ça éviterait d'avoir à changer toutes les applis existantes.

Revenir en haut de page