Parmi les divers PADs comme le Newton, les Pocket-computers sous Windows CE ou les Psion, l'un d'entre eux se place un peu à part : le Palm Pilot de 3Com/US Robotics. Sa grande popularité est dûe entre autre à son prix moins élevé, sa petite taille (4,7x3,2x0,7 pouces) et surtout au nombre important de logiciels fonctionnant avec. Il n'est donc pas étonnant que le PalmPilot bénéficie de l'intérêt des utilisateurs/développeurs Linux.
LE MATERIEL
Un PalmPilot se présente sous la forme d'un écran tactile monochrome à cristaux liquides rétro-éclairé. Il est équipé en plus, de huit boutons permettant de l'allumer, d'appeler des applications favorites et de faire défiler les choix à l'écran. Dans sa configuration d'origine, il intègre diverses applications, un carnet d'adresses, un gestionnaire de rendez-vous, un bloc note, une calculatrice, etc... Mais par le biais d'InterNet, il est possible de lui adjoindre tout un tas d'utilitaires divers. A l'heure où nous écrivons ses lignes, il se décline en deux versions. La première, le PalmPilot Personnel, possède 512 Ko de mémoire et la version Professionnelle en possède 1Mo. C'est là, la seule différence entre les deux versions. A l'achat, le PalmPilot est livré avec un socle permettant l'échange de données avec un ordinateur de bureau via un port série. Ce socle n'est, en fait, qu'un simple câble nul modem modifié. De ce fait, il n'est pas inexacte de dire que le connecteur présent en bas du PalmPilot est un port série puisqu'en outre, il permet la connexion d'un modem standard via un câble spécial. Les logiciels fournis dans la boîte par le constructeur sont exclusivement pour un environnement MS Windows. Les utilisateurs d'autres systèmes devront télécharger les programmes sur InterNet.
La variété d'applications pour PalmPilot disponibles sur le Net est énorme. Ces applications couvrent des domaines comme les mathématiques, l'électronique, la gestion, l'informatique, etc...
Les informations sur le produit et la manière de développer des applications sont également très présentes. On peut facilement trouver un grand nombre de documentations techniques sur le PalmPilot dans divers formats (DVI, PDF, PS, Text, etc...). Par là même, on peut dire que le PalmPilot, et en particulier PalmOS, est un système ouvert.
LOGICIELS LINUX
La personne possédant à la fois un PalmPilot et une machine de bureau sous Linux, cherchera en premier lieu un utilitaire de transfert. Ce logiciel, existe bien sûr et il se nomme Pilot-link. Il vous permettra, entre autre, de transférer des données entre PC et PalmPilot. Après compilation du package, vous trouverez une douzaine de programmes. Mais le plus utilisé est sans doute pilot-xfer pour ajouter et supprimer des "fichiers" dans la mémoire du PalmPilot. Le périphérique par défaut de ce package est /dev/pilot. Il est donc fortement conseillé de créer un lien symbolique entre /dev/cua1 (COM2) et /dev/pilot. Ceci vous évitera de définir systématiquement /dev/cua1 comme paramètre pour chaque programme. L'option -l de pilot-xfer vous permettra de lister les "fichiers" présents sur le PalmPilot. Les options -i et -d suivies du nom du fichier vous permettrons respectivement d'installer et de supprimer un "fichier".
PROBLEME DE PORT
Qu'arrive-t-il lorsqu'une souris est présente sur cua0 et un modem sur cua1 ? Une telle configuration oblige une gymnastique incessante entre les câbles. La meilleure solution est donc d'ajouter un port série à la machine. On peut trouver ce genre de chose sous la forme d'une carte ISA pour une centaine de francs. Une fois la carte enfichée dans son slot, il vous faudra la configurer sous Linux à l'aide de la commande setserial. Exemple :
setserial /dev/cua2 port 0x2E8 irq 10
Ceci paramétrera le device cua2 (COM3) avec une adresse en hexadécimale de 2E8 et une irq 10. Attention cependant à bien utiliser les mêmes paramètres que ceux définis à l'aide des cavaliers sur la carte ISA. Dans le cas contraire, votre nouveau port ne fonctionnera pas.
DEVELOPPEMENT
Le PalmPilot, dans sa boîte d'origine, est fourni avec une petite publicité pour des accessoires. Parmi eux, on pourra trouver un kit de développement en... Visual C++ (MS) et Metrowerks CodeWarrior pour Mac.
Heureusement, les gourous de la programmation libre se sont penchés sur le Palm OS et ont crée un cross-compilateur gcc. L'équipe de Jeff Dionne a crée un package nommé prc-tools. Nous avons testé la version 0.5.0. Celle-ci nécessite les packages GNU binutils-2.7.tar.gz, gcc-2.7.2.2.tar.gz et gdb-4.16.tar.gz. Le langage Perl et la bibliothèque libiberty.a sont également nécessaires pour un parfait fonctionnement des fichiers Make. Les packages cités plus haut seront décompactés par le Makefile, patchés, compilés et enfin, installés. De ce fait, il vous faudra quelques dizaines de mégaoctets disponibles.
Après compilation et installation par un make doeverything, vous trouverez, entre autre, les programmes suivants :
- obj-res prendra
un exécutable mk68k-palmos-coff et créera le code, les données
et les préférences qui seront inclus au fichier .prc
- pilrc convertit un fichier texte et produit une ressource binaire
- build-prc permettra de concaténer les différents fichiers
de ressource binaire dans un fichier exécutable par le PalmPilot
- txt2bitm utilise une description d'un bitmap et en fera une ressource
binaire de type icône
- libc.a et libc.sa. Des bibliothèques C standards (en version
statique et partagée).
- libm.a est la bibliothèque mathématique en simple précision.
- libGlib.a est la bibliothèque de chargement dynamique
Nous avons fait sommairement le tour du package. Pour plus de renseignements sur le développement d'applications, vous trouverez un formidable tutorial sur le GNU Pilot SDK écrit par Andrew Howlett (voir référence InterNet).
EMULATEUR
Tout le monde n'est
pas susceptible de vouloir dépenser les quelques 1500 francs nécessaires
à l'acquisition d'un PalmPilot. Pour régler ce problème
sans se priver de Palm OS, Ivan Curtis à créé Xcopilot.
Il s'agit d'un émulateur PalmPilot pour Xwindow. Attention cependant,
à l'heure où nous écrivons ces lignes l'émulateur
(v0.4) est encore en version Alpha et ne doit donc pas être considéré
comme une application stable (voir README inclus au tar.gz).
Il vous permettra d'utiliser un PalmPilot virtuel à condition de
se procurer une image binaire de la ROM d'un véritable PalmPilot.
Xcopilot sert également au test du package le plus étonnant
:
µCLINUX
Sous ce nom se cache ni plus, ni moins un système Linux pour PalmPilot
! Il vous faudra les sources d'un kernel (ici 2.0.33), ainsi qu'une version
du cross-compilateur gcc décrit plus haut.
Une fois les sources du kernel décompactées, il faudra les
patcher avec le fichier diff fourni dans le package (attention : utilisez
l'option -p0). Enfin, compilez les trois éléments du package
(uC-libc, genromfs-kja-0.2 et xcopilot-v0.4-gdb) et vous pourrez tester
µClinux avec xcopilot. Si, lors de la compilation vous rencontrez
des erreurs, vérifiez les chemins dans les fichiers Makefile (nous
avons eu le problème).
Si les travaux vont bon train, peut être que le PalmPilot sera le
premier PAD sous Linux...
CONCLUSION
La preuve est faite
qu'un produit intéressant pour l'utilisateur est immédiatement
supporté par Linux. Les constructeurs comme 3Com semblent avoir
compris que ce n'est pas en entourant leurs produits d'un flou commercial
qu'ils deviennent populaires... a bon entendeur...
Online
ftp://ryeham.ee.ryerson.ca/pub/PalmOS/
ftp://ns1.pfnet.com/pub/PalmOS/
http://www.inforamp.nety/~adam/pilot/
http://member.aol.com/aslan/index.html
http://www.iosphere.net/~howlett/pilot/GNU_Pilot.html