Application généalogique sous Maemo 5/N900

Le N900 est un vieux smartphone qui ne bénéficie plus de l’attention de la communauté Maemo comme à ses débuts fin 2009. Il n’en reste pas moins à mon sens la machine improbable que tous les développeurs du libre et de l’open-source n’avaient osé espérer même si les puristes bouderont leur plaisir en arguant que certains composants du N900 sont propriétaires. Les alternatives comme openmoko ne sont pas au niveau technique ni d’ergonomie du N900.

Même si il s’agit d’une plateforme appelée à mourir, il y a encore des utilisateurs qui comme moi n’hésitent pas à se retrousser la chemise pour développer l’application manquante répondant à leur besoin. En l’occurrence il s’agit d’une application de saisie de relevés généalogique que j’ai appelé sans grande originalité Maegen.

Maegen permet la saisie des informations en mobilité puis de faire leur exportation au format GEDCOM pour les integrer dans tout autre logiciel final. L’interface de Maegen est spécifique au N900 ce qui lui permet d’être plus pratique qu’une application pure GTK de PC que le N900 peut exécuter. La contrepartie est que Maegen se concentre sur les données essentielles permettant de crééer des individus et leur relations.

L’application est disponible sur l’index des paquet python Pypi et dispose d’un Blog. L’installation se fait facilement pourvu que l’on dipose de easy_install sur le terminal. Il suffit alors de faire en temps que root

easy_install maegen

Actuellement l’application est utilisable pour des saisies basiques, l’export GEDCOM fonctionne, le tracé de l’arbre également. Une évolution possible serait l’utilisation du cœur de GRAMPS afin de bénéficier de l’expérience de ce projet et de mutualiser les efforts.

Bug Geneweb sous Ubuntu 10.04

Geneweb est une application de généalogie écrite en OCaml. Sous Ubuntu 9.10, l’application fonctionne parfaitement mais dans la version actuelle de Ubuntu 10.04 il y a un bug: on ne peut pas naviguer et rechercher les membres de l’arbre généalogique bien que l’on puisse créer les éléments de l’arbre.

La version de geneweb présente dans le dépôt de Lucid est une 5.02-exp et sans doute que le “exp” signifie expérimental…. Quoi qu’il en soit une recherche sur le net montre que le bug est connu depuis novembre 2009 mais uniquement dans le milieu des testeurs. Puis au fur-et-à mesure que les distributions Linux intégrèrent la branche 5.02 de geneweb, le commun des mortels commença à être impacté.

La lecture de l’historique du bug est très intéressante et montre la bonne volonté du mainteneur du paquet. Ce rôle est d’ailleurs très noble car il consiste à prendre un programme écrit par quelqu’un pour l’intégrer dans une distribution. Il est vrai que geneweb ne fait pas partie des programmes mis en avant par Ubuntu, ce qui est un signe de la limite des tests qui ont pu être fait sur cette application, mais il est agréable de constater que dès que le problème touche le grand public, les choses vont très vite même pour une application somme toute confidentielle telle que geneweb. Ainsi dès que Ubuntu 10.04 sort en avril, au fil des mises à jour des systèmes, les utilisateurs de geneweb sont confrontés au bug, se plaignent et la communauté se met en branle.

Finalement avant même que la distribution officielle d’Ubuntu ne mettent à jour le paquet, un patch est mis en ligne dès le 14 juillet. Pas mal pour une application qui ne s’appelle pas Firefox !

Application de généalogie: Geneweb

J’étais à la recherche d’une application pour tracer un arbre généalogique pour mon fils et je pensais utiliser un simple logiciel de dessin vectoriel mais je me décida de rechercher une vrai application dédiée. Je suis alors tombé sur geneweb issue de l’INRIA (Institut National de Recherche en Informatique et Automatique). De doux souvenirs de mes études sur le langage Caml issu de cet institut remontèrent à ma mémoire. Geneweb est écrit en OCaml (Objective Caml).

Sous Ubuntu 9.04 geneweb s’installe depuis le synaptic et la documentation Ubuntu permet d’initialiser rapidement une base de données. Geneweb peut gérer plusieurs base de données généalogique. Geneweb est un serveur http qui écoute sur le port 2317. L’interface graphique est plutôt vieillotte mais la prise en main est aisée. Le plus long est d’entrer les informations c’est alors que l’on peut appliquer la parallélisation du travail. Laissez donc toute votre famille participer au renseignement de la base de donnée.

Geneweb n’écoutant pas sur le port standard du web, le port 80 il est judicieux de configurer un serveur Apache en reverse proxy pour rendre geneweb accessible depuis internet. Nous allons voir comment procéder.

Il faut que le module proxy soit activé. Pour cela aller voir dans /etc/apache2/mods-enabled/ pour y trouver proxy.conf et proxy.load. Si ces fichiers ne sont pas présents aller voir dans mods-available, si ils y sont il suffit de lancer une commande:

a2enmod proxy

Si les fichiers ne sont pas dans mods-available il faudra installer ces modules apaches depuis le dépot.

Une fois le module proxy installer nous allons le configurer pour faire le lien avec Geneweb. Modifier le fichier /etc/apache2/modds-enabled/proxy.conf comme suit:

<IfModule mod_proxy.c>
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

ProxyPass /geneweb/  //127.0.0.1:2317/
ProxyPassReverse /geneweb/ //127.0.0.1:2317/
 </IfModul mod_proxy.c>

Afin que toute votre famille puisse enrichir la base, nous n’utilisons pas la restriction d’accès offerte par genweb en interne mais une simple authentification par apache.

<Location "/geneweb">
AuthType Basic
AuthName "Restricted App"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /etc/apache2/passwords
Require valid-user
</Location>

La génération du fichier passwords se fait avec la commande suivante

htpasswd -c passwords bidochon

Cela va créer un nouveau fichier de mots de passe avec un utilisateur bidochon pour lequel la commande va demander le mot de passe. Pour ajouter de nouvelles personnes la commande est légèrement différente :

htpasswd passwords tintin

Cela va ajouter l’utilisateur tintin au fichier.

Enfin si l’hébergement de votre propre serveur geneweb vous rebute, vous pourrez toujours vous retourner vers un service gratuit en ligne comme Geneanet

Application de généalogie: Geneweb

J’étais à la recherche d’une application pour tracer un arbre généalogique pour mon fils et je pensais utiliser un simple logiciel de dessin vectoriel mais je me décida de rechercher une vrai application dédiée. Je suis alors tombé sur geneweb issue de l’INRIA (Institut National de Recherche en Informatique et Automatique). De doux souvenirs de mes études sur le langage Caml issu de cet institut remontèrent à ma mémoire. Geneweb est écrit en OCaml (Objective Caml).

Sous Ubuntu 9.04 geneweb s’installe depuis le synaptic et la documentation Ubuntu permet d’initialiser rapidement une base de données. Geneweb peut gérer plusieurs base de données généalogique. Geneweb est un serveur http qui écoute sur le port 2317. L’interface graphique est plutôt vieillotte mais la prise en main est aisée. Le plus long est d’entrer les informations c’est alors que l’on peut appliquer la parallélisation du travail. Laissez donc toute votre famille participer au renseignement de la base de donnée.

Geneweb n’écoutant pas sur le port standard du web, le port 80 il est judicieux de configurer un serveur Apache en reverse proxy pour rendre geneweb accessible depuis internet. Nous allons voir comment procéder.

Il faut que le module proxy soit activé. Pour cela aller voir dans /etc/apache2/mods-enabled/ pour y trouver proxy.conf et proxy.load. Si ces fichiers ne sont pas présents aller voir dans mods-available, si ils y sont il suffit de lancer une commande:

a2enmod proxy

Si les fichiers ne sont pas dans mods-available il faudra installer ces modules apaches depuis le dépot.

Une fois le module proxy installer nous allons le configurer pour faire le lien avec Geneweb. Modifier le fichier /etc/apache2/modds-enabled/proxy.conf comme suit:

<IfModule mod_proxy.c>
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

ProxyPass /geneweb/  //127.0.0.1:2317/
ProxyPassReverse /geneweb/ //127.0.0.1:2317/
 </IfModul mod_proxy.c>

Afin que toute votre famille puisse enrichir la base, nous n’utilisons pas la restriction d’accès offerte par genweb en interne mais une simple authentification par apache.

<Location "/geneweb">
AuthType Basic
AuthName "Restricted App"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /etc/apache2/passwords
Require valid-user
</Location>

La génération du fichier passwords se fait avec la commande suivante

htpasswd -c passwords bidochon

Cela va créer un nouveau fichier de mots de passe avec un utilisateur bidochon pour lequel la commande va demander le mot de passe. Pour ajouter de nouvelles personnes la commande est légèrement différente :

htpasswd passwords tintin

Cela va ajouter l’utilisateur tintin au fichier.

Enfin si l’hébergement de votre propre serveur geneweb vous rebute, vous pourrez toujours vous retourner vers un service gratuit en ligne comme Geneanet