Apart from running all the city in search of a job, going to 5 danish courses 4 days a week and to the archery club, I am also working a bit on few software projects I have. First, I am the writer of the piwigo ldap_login plugin, and I hope to make a new version soon, as the 2.6 release of piwigo is arriving !

Secondly, this other softwares are now written using the flask python framework. I have learned a lot reading Miguel Grinberg's blog and flask tutoriel. Thanks to him ! Like himself, I demonstrated totally lack of originality in my two last softwares' names, if you have better ideas, please indicate in comments !

Bib'lib

Bib'lib is a software that aim at showing my whole bookshelf on a web-page. All books are linked to their author's page, if I registered the author and way back (the author's page contains how many of his books I have). Some weird and funny metadatas are registered as well, like the weight and heigh of the books, when I know them.

The purpose of this specific useless thing is for fun, showing the weight of your bookshelf, but also sizing it correctly (You can guess the average heigh of your books, and their weight, so calculating the heigh of your furniture... Hack the thing !).

Currently, I can register books using their bare-code along Amazon database, which is quite fast, or of course by hand. Each book page should contains author name, photo of the front page and the text at the back of the book. But Actually nothing is mandatory. Same for the authors.

At the end, I want to implement a comments system, and stars showing which books and authors I like or not. That way, you can go there and see what you can buy me as a Christmas present or not (because I don't like the author, or already have the book !) Acually, this was one of the secret aims of the software !

You can have a look at the functioning software here. The code is available in my git server, under the french CeCill licence.

git clone git://blackblock.22decembre.eu/biblib-flask

Flask-torrents

Flask torrents is a simple web application aimed at control the transmission torrent daemon of an unix server. It is based on the python rpc transmission library. So, it's simply a web interface to transmission daemon !

The aim is to simply allow any user on the server to add and control his torrents, and receive them in his home repository. At the end, the daemon, under the control of the application, should mail the user to advertise it's finished.

That way, torrents could run all day and all night long on the server. You can even let them sharing infinitely (or so long…).

I think also of using html5 video abilities and/or vlc plugin to allow video watching when possible (that should be easy to do !).

As you see, I would like to make it like working by default on the unix server itself, using unix philosophy, and users can access their downloaded data within nfs (I think) or an other way.

To do that simply, I use ldap central user management to do authentication and send mail to the user address. But it's almost useless : authentication can be done by pam, and we could rely on the mail system itself. It's the user's job to fetch his mail in the system ! So if anyone want to implement a pam auth for flask, I would be glad to use it as well and allow both (ldap user management or pam/system).

Here are the screenshots. These are ugly, as webdesign is not my best ability !

Here, each user can control his torrents and add another.
Here, each user can control his torrents and add another.

a torrent page, where a user can fine tune his torrents, file priorities and ratio
a torrent page, where a user can fine tune his torrents, file priorities and ratio

I am currently trying to find a beautiful webdesign/framework. If someone is interested in the project, feel free to contact me on stephane AT 22decembre DOT eu.

The code is available in my git server, as the first project under the Cecill licence, clone it :

git clone git://blackblock.22decembre.eu/flask-torrent

Lum

Ldap Users Manager is supposed to be a simple web interface to add and remove users from a Ldap server. It aims at being simple and customizable ! I use Phpldapadmin now, and don't feel it so easy to manage, and totally uncomfortable for common users, so they don't want to update their password there !

Functions :

  • add, remove users
  • add, remove groups and manage their users
  • do things when users/groups are added/removed, such as gpg key creation (for exemple)
  • let users easily update their password and profile (such as photo)
  • there should be a public page per user where everything he agree is displayed (photo, gpg key). This last function aims at comply with havatar and pavatar schemes, so this could be reusable along other social networks (if the user wants) and he has one picture always updated on all the websites he is member or network he has a profile. This aims also to work along/as openid.

I have done pretty nothing in it, but you can still look there :

git clone git://blackblock.22decembre.eu/lum