Let's have a dream

Vincent Demeester personal weblog.

To content | To menu | To search

Keyword - docutils

Entries feed - Comments feed

Sunday 13 April 2008

Future organisation de shortbrain.org

Ce jour de dimanche 13 avril, j'ai arrêté ma décision sur la gestion de mon carnet. Cela n'a pas été sans mal, mais il faut bien se décider un jour sinon, on ne fait rien.

Dans le concept c'est assez proche de ce que karl fait probablement. Je me suis même essayé à l'organisation de mes documents par date (autrement dit tous mes documents sont stocker dans des répertoires du type YYYY/MM/DD, mais j'y reviendrais un autre jour, ou une autre fois). Je vais tenter d'expliquer le façon dont cet espace (shortbrain) est généré.

Billets

Les billets (entrée du carnet), comme les entrées de la base de connaissances, sont classés de la même façon que le reste des documents. Le seul élément qui les distingue est leur extension, de la forme {nom}.log.rst.

short2web parcourt le dossiers contenant les documents (classés par date). Si un fichier ayant l'extension .log.rst est rencontré, un document html de la forme {YYYY}-{MM}-{DD}-{titre|nom}.html est généré.

Base de connaissances

Pour la base de connaissances, les fichiers sont de la forme {nom}.kb.rst. short2web procède de la même façon, avec cependant une subtilité : une entrée dans la base de connaissances n'est pas figée dans le temps.

Ma première approche (et je l'espère pas trop naïve) est de gérer ça par liens symboliques (je profite du fait que mon environnement est un UNIX(-like) et qu'il offre ces possibilités). De façon assez général, le fichier {nom}.kb.rst est créé à une date fixe. A chaque fois qu'il est de nouveau éditer, on créer un lien symbolique vers l'édition précédent. Ainsi on édite toujours le même fichier, et short2web peut construire un historique des éditions.

Il me reste à définir la forme et l'endroit où le fichier est généré pour la base de connaissances.

Publication

Tout ce qui est expliqué plus haut, est pour l'instant généré en local, sur l'une de mes machines de développement. Il faut se poser la question de la publication. Et la, j'hésite entre deux probables solutions :

  • Générer le tout en local, et l'uploader ensuite, de façon journalière, d'une manière ou d'une autre (rsync, scp, ..)
  • Utiliser le fait que me documents sont synchronisés (enfin, vont l'etre) et suivante le solutions de synchronisation, exécuter, de façon journalière, ou à la réception (par l'utilisation des hooks, disponible dans la plupart de scm actuel) pour exécuter les scripts de génération sur le serveur hébergeant les Documents..

J'hésite fortement. Et vous, qu'en pensez-vous ?

Mise en place

Il ne me reste maintenant plus qu'à mettre ceci en place, ainsi que d'intégrer le design et docutils. Enfin, je n'ai pas parlé ici de flux ATOM, d'index, d'archives, etc..

A noter au passage, l'utilisation des modules Python suivant : docutils, Jinja, Pygments, et.. c'est à peu près tout (ah si.. BeautifulSoup dans un avenir plus/moins proche)

Monday 31 March 2008

Facteur et news

Le facteur est passé ce matin, et je suis plutôt content.. Faudra que je fasse quelques reviews après avoir lu ces bouquins, mais la c'est l'excitation qui prends le pas sur tout ! Et sinon.. quelques nouvelles :

  • ça m'étonne que beaucoup de gens le suive, mais l'information a été diffusée.. J'ai envie d'un Mac.. un Mac mini pour être précis (et Aperture qui est pour beaucoup).
  • Un article sur docutils et reStructuredText dans le Linux Magazine du mois.. Sweet !
  • shortbrain.org est bientôt sur les rails.. Je ne vais pas me voiler la fasse, l'inspiration est de karl (pas le design, qui reste comme l'actuel, mais l'espace carnet.. je suis complètement fan au passage :D). Au départ je m'étais dit que j'allais le faire avec Django, mais ça imposait de développer un bout d'APP, et tout et tout.. alors que l'utilisation de git, python et de petit script cron le tout sur mon dédié et mes différents ordinateurs est plus simple (et terriblement plus geek).