Palm et Linux I : Synchroniser son Palm sous Linux
v 1.0 - février 2001 v 1.1 - février
2001 v.1.2 - mars 2001 v 1.3 - juillet
2001
federico GONZALEZ
gonzalez.federico@free.fr
Où quoi faire pour synchroniser son palm sous GNU/Linux
Remarque préalable : Ce document s'intéresse à
la synchronisation d'une machine tournant sous Palm OS ( ie : palm III,
IIIe ,IIIx, IIIxe, V, Vx, m100, m50x* etc... )
et branchée sur un port SERIE. Pour les machines branchées
sur port USB, veuillez cliquer sur le lien suivant :
machines
sur port USB et Linux
Préalable.
Le système d'exploitation GNU/Linux est un système en plein
essor. Comme de plus en plus de gens l'utilsent, il est heureux de constater
que de nombreux outils permettent de synchroniser les machines sous PalmOS.
Mais pour un néophyte, le système d'exploitation est déjà
quelque peu déroutant ( surtout venant du monde windows ) en ce
qui concerne les commandes en mode texte, ou encore l'arborescence générale
du système.
Dans ce petit document, je me propose de vous montrer comment synchroniser
une machine sous PalmOS sous Linux. Je tiens à préciser que
la distribution que j'utilise est la Mandrake 7.2 pour plusieurs raisons
:
-
C'est une distribution prête à l'emploi assez facilement,
et simple d'emploi pour un néophyte ou pour quelqu'un qui comme
moi n'a pas trop de temps à passer à configurer la machine
-
C'est une des plus simple à configurer
-
C'est celle que j'utilise tous les jours.
La méthode d'installation est valable pour toutes les distributions
sauf celles équipées d'un noyau 2.4 avec le nouveau système
de fichiers sytèmes devfs car je n'utilise pas de noyau 2.4.x.
La première des choses consistera à récupérer
sur le net où sur les CDs de la Mandrake les différents paquetages
afin d'installer les programmes. Puis dans un second temps à configurer
le noyau, le système et à vérifier que tout marche.
Ensuite installer les nouveaux programmes, puis lancer et configurer l'interface
graphique.
1 - vérifier votre configuration
La première chose consiste à vérifier votre configuration
machine et des outils nécessaires.
Vous devez en théorie avoir un ordinateur équipé
de GNU/Linux, un port série 9/25 broches libre. Un craddle branché
dessus et un organiseur fonctionnant sous PalmOS ( Palm III, IIIe, IIIxe,
V, Vx, m100, 1000, IBM Workpad C3, TRG Pro ).
2 - installer les paquetages
Dans une distribution Mandrake/Red Hat, les programmes sont souvent livrés
par paquetages (*.rpm). Ici, il nous faudra au moins deux paquetages :
-
pilot-link****.rpm
-
jpilot-*****.rpm
**** peut changer d'une distribution à une autre.
Ces deux paquetages sont nécessaires afin de synchroniser les
quatre applications de base ( mémos, tâches, adresses, agenda
) et d'installer de nouveaux programmes (*.prc) ou bases de données
(*.pdb).
Cependant, il est possible d'installer d'autres paquetages qui sont
en fait des modules pour synchroniser votre courrier (jpilot-Mail) et même
vos pages AvantGo (jpilot-syncmal). Ils se comportent comme des plug-ins.
Avant de les installer, vérifions d'abord qu'ils ne sont pas
là :
Pour cela ouvrons une console - en mode graphique - ou passons en mode
texte.
Notre invite sera : linux$
linux$ rpm -q pilot-link
// doit vous répondre
pilot-link-0.9.3-15mdk
// s'il est installé puis nous vérifions jpilot :
linux$ rpm -q jpilot
// doit vous répondre
jpilot-0.98.1-5mdk
// s'il est installé.
Si la réponse est négative dans un cas ou les
deux, alors installons-les :
( PS : les commandes ici sont valables si vous êtes dans
le répertoire où sont les fichiers rpm, et qui est généralement
/mnt/cdrom/Mandrake/RPMS/
pour une distribution Mandrake, et /mnt/cdrom/Redhat/RPMS pour
une distribution Red Hat. S'ils n'y sont pas, vous pouvez les télécharger
à http://www.rpmfind.net
linux$ rpm -ivh pilot-link-0.9.3-15mdk.rpm
puis
linux$ rpm -ivh jpilot-0.98.1-5mdk.rpm
Normalement, une fois ceci installé, on peut passer à
la suite.
PS : si des dépendances ne sont pas satisfaites, il faut
les satisfaire, en installant en l'occurence la glibc et gtk+.
Pour les utilisateurs de distributions debian, les paquetages sont en
".deb"
linux$ apt-get install pilot-link
linux$ apt-get install jpilot
3 - vérification de la communication
La seconde étape consiste à vérifier le port de synchronisation
et à autoriser les différents utilisateurs à écrire
dessus. En effet, seul "root" a les droits d'écriture sur les ports
série.
Avant toute chose vérifions sur quel port de communication est
branché le palm :
Port série windows
3.X/9x/NT3.x/4 |
Port série sous Linux
2.2.x/2.4 sans devfs |
| COM 1 |
/dev/ttyS0 |
| COM 2 |
/dev/ttyS1 |
| COM 3 |
/dev/ttyS2 |
Ajout du 15/06 : Quelques pécisions sur devFS
Dans mon cas, le IIIxe est connecté au port COM 1, c'est
à dire /dev/ttyS0. Il faut bien sûr faire très
attention aux majuscules et aux minuscules.
En tant qu'utilisateur normal, on ne peut rien faire, il faut obligatoirement
passer en tant que "root" et effectuer les commandes suivantes :
linux$ su
puis entrer le mot de passe de "root"
Ensuite, il faut permettre à tous les utilisateurs d'écrire
sur le port série où est branché le palm.
linux# chmod 666 /dev/ttySx
// /dev/ttySx représente le port où est connecté
votre palm, puis quittons :
linux# exit
// là on quitte l'identité "root".
NB : D'autres utilisateurs vous conseillerons également de créer
un lien du type
/dev/pilot et de le relier au port série
en question, il suffira alors de suivre les commandes suivantes ( valables
où que vous soyez dans l'arborescence ):
linux$ su
linux# ln -s /dev/ttySx /dev/pilot // où ttySx est le
port COM où est le palm selon le tableau ci-dessus.
linux# exit
ce qui ne change pas grand chose finalement.
4 - configuration de l'interface graphique de synchronisation.
Avant de configurer l'interface graphique, profitons-en pour vérifier
que la connection se fait sans aucun problème, pour cela, utilisons
l'utilitaire "pilot-xfer". Nous allons en profiter dans un premier temps
pour faire une sauvegarde de la totalité des bases de données
du palm dans un répertoire
/home/MonLogin/MonPalm. Rappel : MonLogin est votre répertoire
par défaut sauf si vous êtes "root".
Commençons par revenir dans notre répertoire personnel
pour éviter de faire une bétise...
linux$ cd
Nous pouvons ensuite faire varier la vitesse de communication
avec le Palm en tapant la commande :
linux$ export PILOTRATE=57600 qui est la vitesse de transfert
que j'ai choisi.
puis créons le répertoire de backup :
linux$ mkdir /home/MonLogin/MonPalm
par exemple. Puis tapons la commande suivante :
pilot-xfer -p /dev/ttySx -b /home/MonLogin/MonPalm
Là une phrase vous indique que le sytème attend
la connexion du palm, et qu'il faut appuyer sur le bouton "hotsync" sur
le craddle. Appuyons, si la sauvegarde commence, alors c'est que la communication
est établie correctement. Sinon, il faut tout revérifier
pour chercher où se trouve l'erreur.
Arrivé(e) ici, il nous faut choisir et configurer notre interface
graphique. Je vous propose parmi les choix suivants :
-
kpilot
-
jpilot
-
gnome-pilot
-
pilot manager
d'installer jpilot pour plusieurs raisons :
-
il est très semblable à Palm Desktop.
-
Les plug-in mail et syncMAL pour la synchronisation AvantGo
-
il n'est lié qu'à GTk+ et la Glibc, mais en aucun cas à
gnome ou kde
-
bien qu'en version 0.98.1 sur ma machine, il n'a (presque) jamais planté
B^)
aussi regardons de près les autres paquetages à installer
puisque le fait d'installer sans que cela provoque d'erreurs les paquetages
pilot-link et jpilot prouve que déjà cela fonctionne.
En mode console :
linux$ su
linux# rpm -ivh jpilot-Mail-0.0.3-1mdk.rpm
linux# rpm -ivh jpilot-syncmal-0.52-2mdk.rpm
quittons :
linux# exit
linux$ exit
lançons ensuite l'interface graphique ( si elle ne l'est pas
déjà ).
là lançons jpilot
soit dans le menu : Programmes/Applications/Communication/jpilot
soit depuis une console en tapant : linux$ jpilot &
Voilà l'interface qui se lance. Commençons par la configurer.
(Menu File > Preferences )
là une fenêtre s'ouvre, elle laisse les choix suivants
:
( Notons que les dates et heures prises comme exemple sont les dates
et heures actuelles )
-
Short date format : format de date court, j'ai laissé 18/04/01
-
Long date format : format de date long, j'ai mis 19 avril 2001
-
Time format : format de l'heure, là c'est le choix 15:05
-
The first day of the week is : choix du 1er jour de semaine, moi
c'est Monday B^)
-
My GTK colors file is : choix de l'apparence ( gris = jpilotrc.default;
métal=jpilotrc.steel; pourpre=jpilotrc.purple; vert=jpilotrc.green;
bleu=jpilotrc.blue ) Notons aussi que ce changement de couleur ne s'applique
que lorsque l'on redémarre jpilot !
-
Serial Port : choix du port. Voir note plus haut, pour moi c'est
COM1 donc j'ai marqué /dev/ttyS0
-
Serial Rate : vitesse de communication, ici j'ai pris 57600 bps,
mais le choix varie en fonction du BIOS, sur mes machines cela va de 300
bps à 460800 bps.
-
Number of backups to be archived : nombre de backups archivés.
Jpilot lorsqu'on utilise le bouton "Backup" de l'interface commence par
faire une synchronisation puis un backup complet des bases de données
du palm en les stockant dans /home/MonLogin/.jpilot/XXXXXXX où XXXXXXX
est un numéro qui augmente au cours du temps. Le dernier backup
est quant à lui repéré par un lien backup qui se trouve
dans /home/MonLogin/.jpilot/backup
Puis viennent une série de cases à cocher ou non ( ils sont
assez clair à mon avis et en plus je n'y ai jamais touché
:
-
Show deleted records ( default NO )
-
Show modified deleted records ( default NO )
-
coché = Highlight calendar days with appointments, très pratique
dans l'agenda pour savoir si un jour contient ou non des rendez-vous.
-
Use DateBk3 note tags
-
Enfin la touche "Done" pour valider vos choix !
Nous sommes prêts à utiliser jpilot ! Vous avez ensuite la
liberté d'utiliser les différents plug-in qui sont accessible
dans le menu Plugins (qui apparaît si vous en installez. Celui que
j'utilise actuellemnt est le plugin syncMAL ( pour la synchronisation des
channels AvantGo ) mais il existe le plug-in mail et aussi le plug-in expense
si je ne me trompe.
5 - liens utiles et remerciements
Ce mini document est tiré de mon expérience personnelle,
il est librement redistribuable selon les termes de la licence
GNU. Je vous recommande également vivement la lecture des (mini-)HOWTO
concernant ce sujet. Si des erreurs sont présentes dans ce document,
vous êtes chaudement invité à me le faire savoir grâce
à ce
lien.
document créé sous linux.
Ce document est prêt à être imprimé, il est
composé d'une seule page html, ce qui peut expliquer son chargement
quelque peu long. Une autre version en multidocument sera probablement
écrite.
Ajout 001 - le Palm m505 sur port série
La grande surprise lorsque j'ai entamé ce document fut de me rendre
compte que les m50x ne se synchronisaient pas avec leur port USB. Quelques
entretiens sur les chats plus tard, j'appris que cela provenait d'un changement
dans les spécifications et la communication via le port USB.
Bien embêté ( car depuis début juillet, j'ai acquis
un m505 .... ) car ayant différents PDAs de marque Palm OS, j'apprécie
de pouvoir installer facilement les bases de données des quatre
applications de base en tapant les commandes en mode ligne ( ce qui permet
un contrôle total de ce que l'on fait ).
Bref, j'étais très enquiquiné.
Petit tour aujourd'hui ( 19/07 ) chez palmshop
à Paris, et hop investissement dans un craddle série.
Et ça marche ! Je viens ainsi de recopier intégralement les
bases de données des 4 applications du Palm depuis le IIIxe ( que
j'utilise quotidiennement ) vers le m505 sans aucun problème !
Ajout 002 - DevFS
Depuis l'arrrivé du noyau 2.4 une nouvelle façon de gérer
les entrées du répertoire /dev est utilisée, elle
port le nom de devfs. En ce qui concerne un palm "classique" cela ne change
pas grand chose, seul la nomenclature change : maintenant les ports séries
sont désignés par :
|
Port série sous Windows
|
Port série sous Linux
( avec devfs )
|
|
COM 1
|
/dev/tts/0
|
|
COM 2
|
/dev/tts/1
|
deux astuces : si vous utilisez aussi un visor, pensez à jeter un
oeil sur visor et devfs qui vous explique
comment faire en sorte de synchroniser le visor sur port USB même
en étant un simple utilisateur, du coup, vous devez savoir que dans
le cas où vous synchronisez un ( ou des ) appareil(s) sur port série
et un autre ( des autres ) sur port USB, des scripts génèrent
le lien /dev/pilot pointant sur un port USB et le détruit une fois
la synchronisation achevée. Donc je vous conseille de ne pas utiliser
le lien /dev/pilot pour y synchroniser une machine sur port série
du moment que vous utilisez un visor !