Redécouverte d’une caméra numérique vintage

À la fin des années 1990, on m’a donné un appareil en plastique gris avec un logo Apple et une étiquette « QuickTake 100 ».

Sans manuel ni câble ni logiciel, cet appareil ressemblait vaguement à des jumelles futuristes et semblait être une caméra.

Dépourvu d’informations, je l’ai mis de côté avec l’intention de l’explorer plus tard.

Quelques années plus tard, grâce à Internet, j’ai découvert qu’il s’agissait de l’une des premières expériences d’Apple dans le domaine des caméras numériques au milieu des années 90.

J’ai trouvé des instructions en ligne pour construire un câble et télécharger le logiciel QuickTake pour Windows.

Avec le câble fait maison et le logiciel fonctionnant sur un ordinateur sous Windows XP, j’ai pu utiliser la caméra pour un temps limité avant de la remettre sur l’étagère.

Le réveil d’un ancien projet

Il y a quelques années, j’ai redécouvert ma QuickTake 100.

Malgré les plus de 20 ans écoulés, l’installation de nouvelles piles l’a ressuscitée.

Cependant, le logiciel QuickTake original ne fonctionnait plus sous Windows 10 et les ports série étaient devenus obsolètes sur les nouvelles cartes mères.

Déterminé, j’ai utilisé un adaptateur USB-Série, installé Windows XP dans une VM VirtualBox, et j’ai pu gérer des images 640×480 via le logiciel QuickTake.

Au lieu de remettre la caméra sur l’étagère pour une autre décennie, j’ai décidé d’écrire mon propre logiciel pour utiliser la caméra nativement sur un PC moderne.

Avec ma retraite, j’avais le temps de me consacrer à ce projet.

Le résultat est JQuickTake, un logiciel en Java Swing/AWT qui se connecte à un port série pour communiquer avec une caméra QuickTake.

Ce logiciel reproduit les fonctionnalités du logiciel original d’Apple.

Pourquoi Java ?

Bien que je sois un vieux de la vieille en informatique, je n’avais pas développé d’application de bureau substantielle depuis longtemps.

J’ai choisi Java car j’avais une familiarité passée avec cette technologie et elle me permettait de créer une application fonctionnant sur Windows, Linux, et MacOS.

J’ai aussi trouvé la bibliothèque jSerialComm très utile pour la communication série, ce qui a renforcé mon choix.

Le développement n’a pas été simple car Apple n’a jamais publié de documentation technique sur QuickTake.

Analyser la communication du logiciel original sur une VM XP a été une tâche laborieuse, mais par chance, j’ai rencontré Colin sur Reddit, qui avait déjà décodé une grande partie du protocole QuickTake.

Grâce à lui, j’ai pu éviter des semaines de travail et poursuivre mon projet.

Fonctionnalités et limitations de JQuickTake

Le logiciel JQuickTake permet de connecter une caméra QuickTake 100 ou 150 et d’afficher ses métadonnées, telles que le nom de la caméra, le nombre de photos prises, le mode Flash et le mode Qualité.

Il est possible de sauvegarder les images sur un stockage local sous forme de fichier image Apple QTK, ainsi que de contrôler à distance la caméra (changer le mode Flash, prendre une photo avec un délai de 5 secondes, etc.).

Cependant, JQuickTake ne dispose pas encore d’aperçu des images et ne fonctionne pas avec la QuickTake 200.

Pour convertir les fichiers QTK en images JPEG, j’utilise l’utilitaire RawDrop qui fonctionne avec le logiciel dcraw, capable de traiter les fichiers image anciens.

Pour installer JQuickTake sur un PC Windows, il existe deux options : un installateur tout-en-un ou un fichier ZIP à décompresser.

Bien que conçu pour Windows, le logiciel peut théoriquement fonctionner sous Linux et MacOS, bien que je n’aie pas eu le temps de tester ces versions.

Un hommage au passé

Mon projet ne serait pas arrivé à terme sans l’aide de plusieurs personnes, notamment Colin Leroy-Mira pour son travail sur le protocole QuickTake, Dave Coffin pour dcraw, et Frank Siegert pour RawDrop.

J’espère que JQuickTake apportera autant de plaisir à ses utilisateurs qu’il m’en a donné lors de son développement.

Pour toute question ou simplement pour discuter, vous pouvez me trouver sur Reddit ou par e-mail.

Kevin Godin – London, Ontario, Canada – Mai 2024

Quand l’Ancien Peut Renfermer des Nouveaux Risques

Bien que JQuickTake apporte une solution innovante pour les amateurs de caméras vintage, il présente aussi certains risques potentiels en cybersécurité.

En utilisant d’anciennes caméras comme la QuickTake 100 ou 150, il est essentiel de se rappeler que ces dispositifs n’ont pas été conçus avec les normes modernes de sécurisation des données.

Le logiciel créé pourrait être une porte dérobée si des failles existent dans le code, surtout si celui-ci s’exécute sur des systèmes d’exploitation anciens, comme Windows XP, connus pour leurs vulnérabilités.

Si un attaquant parvient à compromettre le JQuickTake ou ses composants, il pourrait potentiellement accéder sans autorisation aux images et données connectées, ou utiliser la connexion série pour accéder à d’autres systèmes du réseau.

Se Préserver des Risques Potentiels

Pour minimiser les risques, il est crucial d’appliquer plusieurs mesures de sécurité.

Tout d’abord, assurez-vous d’exécuter JQuickTake et tout logiciel associé sur des systèmes modernes avec des correctifs de sécurité à jour.

Utilisez une machine virtuelle isolée pour éviter que des vulnérabilités ne compromettent tout le réseau.

En second lieu, lorsque possible, effectuez des vérifications de code ou utilisez des solutions de sécurité pour surveiller les activités réseau.

Enfin, désactivez et déconnectez les appareils série lorsqu’ils ne sont pas utilisés pour réduire les points d’entrée potentiels pour les attaquants.