Backlit
Scanner à distance (2015 – 2025)
Vous avez un scanner USB ? Vous avez un NAS, un Raspberry Pi ou un ordi toujours allumé ? Vous avez du temps libre pour installer un serveur SANE dessus et rendre votre scanner accessible en Wi-Fi ? Vous avez encore plus de temps libre pour recompiler SANE entièrement parce que la version fournie par Debian est trop vieille pour votre scanner ?
Alors bingo ! Cette app est faite pour vous ! *
* offre sans obligation d’achat, ne prévient pas la chute de cheveux, est potentiellement inutile, pour plus de questions, parlez en à un magasin de journaux près de chez vous
Quésséksé
Backlit te permet de te connecter sans fil à ton scanner en utilisant SANE, faire les réglages nécessaires à ton scan et sauvegarder ton document directement sur ton iPhone ou iPad ! Les documents scannés peuvent ensuite être exportés dans les photos de ton téléphone, ou partagés dans n’importe quelle autre app de ton téléphone !
Et sous tes grands yeux ébahis, voici un aperçu de l’app sur iOS :
L’histoire derrière l’app
Tu veux en savoir plus sur l’origine de cette appli ? Read on !
Acte I: La belle époque
Il était une fois, je vivais dans un appartement dans lequel mon imprimante multi-fonction devait rester sur mon étagère, pour libérer de l’espace sur mon bureau déjà bien rempli, loin de mon ordinateur.
Dès que je voulais scanner quelque chose, il fallait :
- déplacer mon ordi portable jusqu’à l’imprimante
- trouver le câble USB branché à l’arrière de mon NAS
- le brancher sur mon ordi sans faire tomber le NAS
- scanner mon papier tout en tenant mon ordi à une main et la page suivante dans l’autre
- débrancher le câble de mon ordi
- le remettre dans mon NAS, en essayant tous les sens possibles de la prise USB jusqu’à trouver le bon, tout en débranchant une fois sur deux le câble réseau abimé ou l’alimentation.
Photo d'archive de la scène
Si cette installation m’aura appris à faire des acrobaties niveau cirque dans le noir, chose pour laquelle je lui resterai éternellement reconnaissant, elle aura éveillé quelque chose en moi.
Une étincelle. Une lumière. Un espoir.
L’espoir que la technologie pourrait tout régler. Même la technologie mal fichue. Après tout, je pouvais déjà imprimer à distance, comment osez-vous me dire que je ne pourrais pas aussi scanner à distance ?!
Acte II: Et si..?
Des bribes de souvenirs me sont passées par le cerveau, alors que je me souvenais de mon père dans les années 2000 s’essayant à la même tâche après qu’un ami lui ai parlé de SANE, avant d’abandonner quelques mois plus tard, enroulé dans un plaid sur le sol, une unique larme coulant sur sa joue.
Allais-je vraiment essayer aussi ? Pourrais-je réellement réussir là où il avait échoué ? Etait-ce une bonne idée ou simplement de l’égo mal placé ? Non. Ça devait être plus. Je me devais d’essayer. Ça ne serait pas pareil. Ça ne pouvait pas. J’étais prêt. C’était mon tour d’attraper le bâton.
C’est ainsi qu’un beau matin de mai 2015, j’ai entrepris de faire une application iOS qui pourrait se connecter à un serveur SANE, accéder à ses périphériques, et échanger des pensées numériques contre des jolis pixels.
Il m’aura fallu à peu près 6 mois pour être capable de compiler SANE pour iOS, navigant à l’aveugle sur les multiples chemins de sombres problèmes de compilateur, pour créer un script de compilation qui télécharge automatiquement la dernière archive, ajuste quelques fichiers, définisse des variables d’environnement avec les bonnes incantations, chante les bons sorts sous un soir de pleine lune et recrache une librairie bien moulée. Avec un peu plus d’huile de coude j’ai pu lancer un simple scan et entendre mon scanner ronronner (pendant que l’appli crashait, certainement pour des raisons de magie noir d’ordinateur).
Quel fun!
Acte III: Règle n°1 des projets persos
J’ai fini par arriver à un stade d’application utilisable (presque) que j’utilisais tous les jours. Moche, mais fonctionnelle™.
Peut-être que ce n’était qu’un rêve, mais je suis presque sûr d’avoir réussi à compiler SANE avec les pilotes de scanner USB, en utilisant libusb et les en-têtes IOKit interdites, faire tourner l’appli en root sur mon iPhone jailbreaké, avec mon scanner branché par l’adaptateur 30 broches de mon iPhone 4S, et obtenir une image. Ah lala. C’était la belle époque.
Mais comme tout projet perso, il était condamné à une vague d’épisodes sans aucun contrôle sur sa propre vie. L’ajout de fonctionnalité a pris du temps, mon âme se brisant un peu plus à chaque fois que je devais relire mon code, une nouvelle version d’iOS s’amusait à casser mes précieux appels d’API privées, m’amenant peu à peu à abandonner le projet, avant de le prendre à nouveau et d’ajouter des fonctionnalités à gogo pendant de longues insomnies, pour mieux l’abandonner à nouveau.
Il aura fallu attendre 2022 pour que je reprenne le travail. Mon plan était simple :
- convertir tout en Swift 5
- supprimer les dépendances inutiles et utiliser plus de composants UI natifs, maintenant qu’iOS avait de jolis menus et alertes et autres machins choses
la publier !- faire de beaux screenshots
la publier !- faire une version Catalyst !
- ajouter le support de l’application Fichiers !
- support des formats d’images plus vieux que le fax !
- refaire l’icône
- refaire les icônes de toutes mes apps pour être cohérents, évidemment
- choisir un nom
- …
- …
- choisir un nom
la publier !- refaire toutes les captures et automatiser l’enregistrement de vidéos de démonstration
la publier !- refaire mon portfolio pour y ajouter une page produit
- la publier ! *
* presque, ‘faut que je finisse d’écrire ça d’abord
Acte IV: C’eeeeest parti !
Et nous voilà enfin à l’étape 3 (non) de mon plan, publier !
Je vous présente sans plus attendre… Backlit !
Après des années de travail, elle est maintenant disponible sur l’AppStore. J’ai aussi décidé de garder le code source accessible pour l’instant, alors n’hésite pas à aller le voir sur GitHub !
Et puisque j’ai aussi pris un détour de trois mois pour jouer avec Marzipan Catalyst, l’app est aussi dispo pour macOS !
Acte V: Pi quoi encore ?
Merci de poser la question !
Évidemment j’ai une liste longue comme le bras d’améliorations et de fonctionnalités splendides, tu me prends pour qui ? Certaines risquent de prendre un touuut petit peu de temps pour les finir cependant. Voici un rapide aperçu :
- supporter le scan d’image en très haute qualité, en traitant les données images sur disque et non pas en mémoire
- supporter les scanners portatifs, parce que honnêtement ? pourquoi pas !
- quelque chose comme des préréglages de scan, qui pourraient permettre par exemple de se souvenir des derniers réglages utilisés pour chaque scanner
- les raccourcis Siri, Activités en direct, et tout le tintouin
- reconnaître les scanners Wi-Fi, sans besoin d’un serveur
SANEintermédiaire, pour rendre l’application utilisable et utile par plus de gens que… moi
La dernière est la plus compliquée des améliorations à venir et implique de modifier AirScan pour fonctionner sur macOS et iOS. Donc bien sûr j’ai déjà commencé, pleuré une ou deux fois, et arrêté, à en juger par mon planning de TDAH usuel, je pense avoir fini d’ici à 6 mois à 10 ans :) Souhaite-moi bonne chance !











