Let's have a dream

Vincent Demeester personal weblog.

To content | To menu | To search

Keyword - linux

Entries feed - Comments feed

Tuesday 15 April 2008

Documents : organisation en espace daté

Je reviens sur l'organisation de mes documents (ainsi que de mes mails par la même occasion), inspiré par un billet de karl, pointé par David il y a quelques temps. Ma technique personnelle est, de façon certaine, à améliorer, on peut même presque dire que j'expérimente, pendant que je le peux encore.

En petite introduction, très très rapide (au pire, lire le billet de karl), organiser ces documents dans un espace daté, c'est les organiser dans un architecture dossier reflétant des dates, soit : {YYYY}/{MM}/{DD}/. Aujourd'hui, les documents que j'ai enregistrer ou produit sont conserver dans le répertoire 2008/04/15.

Pourquoi l'espace daté ?

La première question qui vient à l'esprit est, pourquoi utiliser un espace daté ?. Quel est l'apport et en quoi cela va-t-il me servir ? Attention, je ne vous dis pas que cela va vous apporter quelque chose ;  si vous vous débrouillez très bien avec votre système actuel, ne changer pas, no soucis, ce n'est qu'un "retour d'expérience".. Pour ma part, mes photos sont déjà classées par date (f-spot), le passage pour tout mes documents a été un peu facilité.

Je vais donc d'abord citer Karl, sur l'utilisation normal du système de fichier.

Le problème de l'organisation des fichiers actuelle est qu'elle est principalement mono thématique. Si je crée le répertoire Documents/Photos/Normandie/Cotentin/ où je mets les photos du cotentin, ce n'est qu'une possibilité de rangement. Je pourrais très bien mettre certaines de ces photos dans Documents/Architecture/Eglise/ car elles sont des images de vieilles églises.

C'est complètement le problème que je rencontrais. L'utilisation d'un espace daté, c'est la solution de simplicité, en l'absence d'un système de fichier sémantique (qui.. n'existe pas encore). On ne réfléchis pas, on sauvegarde le document à la date now(). Ensuite, on profite du fait que certain fichier supporte les meta-données (ou on ruse dans le cas contraire) et on les remplis correctement. Ici il y a aussi quelques progrès à faire, plus ou moins à tous les niveaux (les outils, au niveau du système de fichier, ..). C'est assez dépendant des fichiers et de l'éditeur ou de l'application utiliser, donc ne nous éparpillons pas.

Comment s'y retrouver ?

C'est bien beau de ranger, mais ensuite il faut retrouver ce que l'on a rangé. Le fait de classer ces documents par date peut faciliter la recherche, si l'on se rappel de la date et/ou de l'évènement attaché au document. Par contre, il n'y a plus de notion de classement dans une catégorie, et chercher tous les fichiers traitant des champignons d'Ardennes du sud, on a un peu plus de mal.

La plupart des système d'exploitation digne de ce nom (et des environnements graphiques) possède des indexeurs de contenu, ou moteur de recherche (local), pour faire plus français. On a Spotlight sous Mac OS X, tracker et beagle entre autre sous Linux, et je ne sais pas sous Windows. S'ils ont bien été fait, ceux-ci connaissent les meta-données, et pour peu que vous les renseignées bien au moment de la sauvegarde de vos fichiers, ils les indexeront de la bonnes manière. Ensuite, les fichiers traitant des champignons d'Ardennes du sud vont seront restitués lors de votre recherche. J'ai longtemps été refractaire à ce genre d'outil, les indexeurs. Je trouvais qu'ils avaient tendance à manger du temps CPU et de la mémoire, alors que je les trouvais inutile. Au fil du temps, j'ai commencé à en trouver l'utilité, puisque toutes les solutions de rangements que j'ai envisagé, n'ont jamais aboutie à quelques chose de correct et homogène.

En fait, ci-dessus, c'est le cas idéal, et ce cas.. n'existe pas. Prenons l'exemple de Linux, et plus particulière de beagle, distribué de base avec openSUSE 10.x et plus (au contraire d'Ubuntu qui intègre tracker, mais je n'ai pas cherché de ce côté là). Bealge donc, supporte un certain nombre de fichier, mais pas tous, et pour plein de raison (il y a tellement de type de fichier qu'il est quasi impossible de tous les supporter.. sans compter les formats propriétaires). On se retrouve avec, dans les mains, une application incomplète, ce qui peut paraitre normal, quand on sait que la version actuelle de beagle est 0.3.5. Cependant, beagle permet l'ajout de nouveau filtre (externe, ou pas je crois) ainsi que de nouveau backend. En gros, si le fichier n'est pas supporté, il est possible, via configuration xml ou autre, de l'ajouter. C'est ma solution à moi, passer un peu de temps à configurer mes filtres, et développer des backend s'il le faut, pour ensuite profiter au maximum de l'outil.

Ce n'est pas parfait, loin de là, mais c'est en essayant, et en participant, qu'on fait avancer les choses. Enfin, j'aimerais encore une fois citer karl, qui établie une liste sur pour un système de fichier organisé.

  • Toute création nouvelle de fichiers est sauvegardé dans le répertoire du jour dans l'espace daté.
  • Chaque création est renseignée automatiquement par un minimum d'information telle que la date, le nom de l'auteur, la localisation géographique, adresse email de l'auteur, etc grâce à un système de préférences générales pour toutes les applications.
  • Si le fichier contient lui même des informations, elles sont ajoutées à cette base (exemple données EXIF et IPTC d'une image numérique)
  • Si l'auteur veut modifier ou ajouter des paramètres il peut le faire au moment de la sauvegarde ou après cette sauvegarde par un mécanisme de sélection et une fonction, ajout de données.
  • Si au moment de la sauvegarde les informations entrées par l'auteur ou les informations trouvées dans le document contiennent des liens possibles vers d'autres documents déjà stockés, le système doit proposer d'associer et d'établir des liens entre ces documents quelque soit leur nature (email, photo, document texte, applications).
  • L'information peut être stockée dans une base de donnée RDF.
  • Votre système de fichier fonctionne par notion de vue thématique en recherchant dans la base de donnée.

Et pour les mails ?

Pour finir, j'ai encore une fois suivi karl (décidément XD), et j'utilise également un espace daté pour mes mails. J'ai aussi la chance d'avoir mon propre serveur mail (installé avec mes petites mains de geek), et utilisant Maildir plutôt que mbox pour le format de stockage des mails, j'ai adapter le .procmailrc que karl fournit comme suit.

# Definition du repertoire de messagerie
MAILDIR=$HOME/Maildir
# calcul des variables mois et annees
MONTH=`date +%m`
YEAR=`date +%Y`
# Creation du repertoire annee s'il n'exsite pas
:0 ic
 * ? test ! -d $MAILDIR/.$YEAR
 | maildirmake -f $YEAR $MAILDIR
# Creation du repertoire mois s'il n'existe pas
:0 ic
 * ? test ! -d $MAILDIR/.$YEAR.$MONTH
 | maildirmake -f $YEAR.$MONTH $MAILDIR
# Transfert du message dans le dossier du mois
:0:
  *
  $MAILDIR/.$YEAR.$MONTH/

Et de la même façon, j'utilise ensuite les dossiers intelligents (appelé Saved search sous Thunderbird). Une amélioration, serait de pouvoir stocker ces dossiers intelligents directement sur le serveur (sous un format compréhensible par +/- n'importe quel client mail), car pour l'instant, pour chaque machine, je dois recréer ces dossiers localement.

Je suis bien entendu ouvert à tout commentaire, amélioration, réaction.

ps : hum.. il y aurait quelques amélioration à effectuées sur cette mise en page au passage...

Saturday 5 April 2008

openSUSE counter

loading

Saturday 1 March 2008

Lenovo Thinkpad x60s : Ubuntu 7.10, premières impressions

Je le fais en français, puisque je suppose qu'il y a déjà eu des retours en anglais.. Et puis parce que ce soir j'ai un peu la flemme d'écrire en anglais.

Au départ, j'étais partit pour installé la version 8.04 alpha 5, histoire de tester les derniers ajouts (que je connaissais déjà quand mon ACER tournait sous Gentoo). Le retour est simple : c'est très prometteur, l'installeur voit mon windows, me le resize, etc.. il fait tout bien du premier coup. Par contre le alpha se sent, c'est très instable, l'écran s'éteint de temps en temps, vraiment pas pratique. J'ai donc décidé d'installer la version 7.10, version, normalement stable.

Tout est effectivement stable, et marche bien.. Pardon, je vais trop vite, tout est un peu exagéré :

  1. Le portable chauffe plus que sous Windows. Ce serait apparemment du à la non utilisation des possibilités d'undervoltage du processeur dans la machine, à creuser.
  2. La battery life n'est pas indiqué par gnome-power-management, pourtant un petit cat /proc/acpi/battery/BAT0/state nous renvoie bien ce que l'on attend.
  3. Et bien entendu, comme on aurait pu le supposer grâce au deux point précédent, la batterie ne tiens pas vraiment les 4h30/5h qu'elle tient sous Windows, dommage.. Je pense qu'il y a à creuser du côté de laptop-mode, car les fichiers de configuration par défaut me paraissent un poil light..

Voilà, j'ai encore beaucoup de boulot, notamment avec mon petit NSLU2 tout beauc (mais pas tout neuf), et pour d'autres choses encore..

Je ferais probablement un billet plus complet, récapitulatif et suivis dans le temps (en tout cas pour la version en cours d'ubuntu et/ou Linux, car je n'exclus pas d'installer une opensuse 11 un jour).

edition du 2 mars : je reviens sur la batterie life qui marche, mais mets du temps.. Et le temps de batterie que j'ai est de l'ordre de 2h/2h30 ce qui reste mi figure mi raisin, mais sans le laptop-mode enabled.. C'est ce que je regarde en ce moment.

Friday 29 February 2008

Hardware & website update

These days, I decide a lot of the future of each of my domain name and by the way all website I own or host. I also had some new event that allow me to play with hardware once again.

First of all, I'm writing this entry from a Thinkpad x60s (by lenovo). I'm happy I have this laptop at work because it's exactly the kind of laptop I would have bought. In the next few hours, I'm going to try Ubuntu 8.04 on it, or 7.10 if too unstable. I'll share my experience of this hardware running under Linux here.

Next, I am re-installing my Linksys NSLU2, in order to make a quick & dirty home backup solution. The operating system will run on a 4Go usb key and is Debian. As always, an entry is on the road about it.

Finally, my dreamhost subscription will come to a end in the next few weeks. That's basically why I'm using Gandi blog for this weblog and why I'm reorganizing my two dedicated server.. I'm currently working on the design of my online identity page, as well as the new shortbrain design. The current shortbrain.org design will be use for letshaveadream.com which is basically my personal static website (generated by short2web).

See you soon ;)