Après avoir fait un rapide tour de la question, je crois qu'il y a trois solutions possibles.
1. Solution "lourde" : utiliser un
serveur groupware et
SyncML.
Je n'y connais pas grand-chose. J'avais testé
OpenGroupware il y a quelques années, ça m'avait l'air sérieux. Il y a certainement un client SyncML pour
Palm, mais je n'en connais pas de
libre. Quoiqu'il en soit, ça me parait largement disproportionné pour l'usage décrit.
Si quelqu'un de plus compétent que moi pouvait recommander une solution simple de groupware qui se synchronise proprement avec PalmOS...
2. Solution "propre" : Evolution + Gnome-Pilot ne suffisent pas, la faute à Gnome-Pilot qui ne synchronise pas le calendrier
Palm (je ne sais pas pourquoi, peut-être une question de formats de date). De plus, Evolution est encore (amha) largement buggé : par exemple, sur mon poste Ubuntu, un clic droit sur une liste détaillée suffit à planter Evolution.
Multisync offre l'avantage d'être beaucoup plus modulaire, et son plug-in Evolution permet d'extraire des fichiers iCalendar du
Palm. Le défaut, c'est que ça impose de fermer Evolution avant la synchro (pourquoi diable Evolution n'est-il pas capable de voir que les fichiers *.ics sont modifiés par une application externe ???). L'avantage, c'est que ça permet d'utiliser n'importe quel
logiciel de PIM, je pense notamment à Sunbird... dès qu'il sera enfin stable !
Comme ni Evolution, ni Sunbird ne savent imprimer les détails des RdV dans l'
agenda, il faudra recourir à un autre
logiciel pour imprimer l'
agenda. PhpIcalendar est simple à mettre en oeuvre, il suffit d'installer Apache + PHP sur le poste (aucune base de donnée n'est requise), mais il est un peu lourd : lors de mes tests il a fallu que je configure 64 MO de RAM pour PHP au lieu des 8 MO habituels. L'autre défaut, c'est que l'impression de l'
agenda n'est pas paramétrable, le code HTML produit étant un des pires que j'aie jamais vus (aucune feuille de style, tableaux imbriqués, etc). Il y a peut-être d'autres alternatives libres à phpicalendar...
3. Solution "rapide" : garder JPilot et bricoler un script pour imprimer les détails de l'
agenda.
L'interface de JPilot est un peu dépassée, mais reste fonctionnelle, et assez proche de
Palm Desktop. Et surtout, ça reste la meilleure solution de synchro PalmOS sous Linux (amha). Son gros défaut, c'est l'impression des calendriers qui est véritablement catastrophique.
Heureusement, il dispose d'une commande 'jpilot-dump' qui produit une sortie facilement adaptable. Voici un petit script Python qui utilise 'jpilot-dump' pour faire une sortie HTML des 15 prochains jours de l'
agenda :
- Code: Tout sélectionner
# Formatage en HTML de l'agenda PalmOS, en utilisant jpilot-dump.
# C'est mon tout premier script Python... ;-)
import os
import time
import datetime
import locale
filepath = 'tmp.html'
jour = ''
heure = ''
description = ''
output = []
locale.setlocale(locale.LC_ALL, "fr_FR.UTF-8")
# ouverture du fichier HTML
f = open(filepath, 'w')
f.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\n')
f.write('<html>\n')
f.write(' <head>\n')
f.write(' <meta content="text/html; charset=UTF-8" http-equiv="content-type">\n')
f.write(' <title>Agenda</title>\n')
f.write(' <style type="text/css" media="all">\n')
f.write(' h2 { font-size: 1.2em; border-bottom: 1px solid; width: 100%; margin-top: 2em; } \n')
f.write(' dt, dd { font-size: 0.8em; margin-bottom: 0.5em; } \n')
f.write(' </style>\n')
f.write(' <style type="text/css" media="print">\n')
f.write(' body { -moz-column-count: 2; -moz-column-gap: 2em; } \n')
f.write(' dl { -moz-column-break-inside : avoid; } /* unsupported */ \n')
f.write(' </style>\n')
f.write(' </head>\n')
f.write(' <body>\n')
# recuperation du planning des 15 prochains jours
i = 0
when = datetime.date.today()
while i < 15:
# recuperation des RdV pour la date courante
jour = when.strftime("%A %d %B %Y")
f.write(' <h2>' + jour + '</h2>\n')
jour = when.strftime("%Y/%m/%d")
child_stdin, child_stdout, child_stderr = os.popen3 ('jpilot-dump -D -N' + jour + ' | sort')
output = child_stdout.readlines()
# formatage des RdV
f.write(' <dl>\n')
for line in output:
heure = line[11:16] + ' - ' + line[28:33]
description = line[35:-2].strip()
if heure == "00:00 - 00:00":
f.write(' <dt>' + description + '</dt>\n')
f.write(' <dd> </dd>\n')
else:
f.write(' <dt>' + heure + '</dt>\n')
f.write(' <dd>' + description + '</dd>\n')
f.write(' </dl>\n')
# incrementation de la date
when = when + datetime.timedelta(days=1);
i = i + 1
# fermeture du fichier HTML
f.write(' </body>\n')
f.write('</html>')
f.close()
# affichage dans firefox
os.system('firefox ' + filepath)
La même chose peut être faite pour le carnet d'adresse et la liste des tâches. Ce type de script reste beaucoup plus rapide et simple à utiliser qu'une solution serveur. On peut facilement personnaliser l'affichage en bricolant la feuille de style.
Merci d'avance à celui qui pourra compléter ce sujet : je cherche encore la solution parfaite pour synchroniser n'importe quel terminal mobile !
[EDIT] ajout de liens et correction sur le script [/EDIT]