En dehors de traverser toute la ville à la recherche d'un boulot, aller à cinq cours de danois étalés sur quatre jours différents, et aller au tir à l'arc, je fais aussi un peu de programmation informatique.
D'abord, je suis l'auteur du plugin ldap_login pour piwigo, et j'espère sortir une nouvelle version bientôt, soit en même temps, ou presque, que la version 2.6 de piwigo !

Je travaille également à d'autres logiciels, avec le framework python flask. J'ai beaucoup appris sur ce framework avec le blog de Miguel Grinberg et surtout son super mega tutoriel. Je tiens à le remercier ! D'ailleurs comme lui, je démontre une absence totale d'imagination pour les noms de logiciels. Si vous avez des idées, n'hésitez pas, les commentaires sont fait pour ça !

Bib'lib

Bib'lib est un logiciel dont le but est d'afficher le contenu de ma bibliothèque sur une page web. Tous les livres enregistrés ont un lien vers la page de l'auteur, si je l'ai, lui aussi, enregistré. Et bien sûr, la page de l'auteur référence tous ses livres que j'ai enregistrés aussi.
J'inclus aussi des détails rigolos et inutiles (donc rigoureusement indispensables) tels que le poids des livres (le poids de l'auteur, enfin, de ses livres… oh, l'idée m'est venue là, maintenant !).

Le but de cette dernière partie, outre de flatter l’ego du propriétaire de la bibliothèque (t'as vu, c'est moi qu'a la plus grosse !) c'est aussi de pouvoir faire un dimensionnement correct ! Avec la hauteur moyenne de vos livres, et leur épaisseur cumulée, vous pouvez en déduire la longueur de votre étagère…
Bref, soyez imaginatifs !

Dans l'état actuel, je peux enregistrer des livres avec leur code barre, en récupérant les informations de la base de données d'Amazon, ce qui est assez rapide. Et on peut bien sûr rentrer ces infos à la main, ce qui est alors très fastidieux !
Chaque page d'un livre contient normalement le nom de l'auteur, la photo de la couverture et la quatrième de couverture. Mais bien sûr, rien n'est obligatoire ! De même pour les auteurs.

Je voudrais aussi concevoir un système de commentaires et de préférences sous formes d'étoiles, de points… pour indiquer vers qui vont mes préférences en matière d'auteurs/de livres. De cette façon, vous pouvez savoir ce qui me ferait plaisir à Noël (ceci était d'ailleurs un des buts cachés du programme).

Vous pouvez jeter un coup d’œil ici. Le code est disponible sur mon serveur git, sous licence CeCill.

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

Flask-torrents

Flask torrents est une interface web simple pour le démon transmission torrent d'un serveur unix. Elle est basée sur la bibliothèque python rpc transmission.

Le but est simplement de permettre aux utilisateurs du serveur d'ajouter et contrôler leurs torrents, puis de les recevoir dans leur dossier personnel sur le serveur. À la fin du torrent, le démon avertit l'utilisateur en lui envoyant un courriel.

De cette façon, les torrents peuvent tourner 24/7, no problem ! Voire, vous pouvez décider de les laisser en partage ad vitam-æternam !

Je vais sûrement aussi utiliser html5 et/ou vlc plugin pour permettre la lecture des vidéos directement sur la page du torrent. Je ne pense pas que ce soit compliqué à faire.

J'aimerais pouvoir rester aussi près que possible de la philosophie unix : tout tourne sur le serveur, ce sont les utilisateurs du serveur qui ont la main et qui récupèrent leurs fichiers via nfs ou les lisent/utilisent/travaillent dessus sur leur partage nfs.

Pour faire ça simplement, j'utilise ldap pour authentifier et envoyer des courriels sur l'adresse de l'utilisateur. Mais dans l'absolu, c'est quasiment inutile de part cette même philosophie unix : l'authentification peut/doit se faire avec pam et le courriel est envoyé dans le système de messagerie interne du serveur (qui est un service mail en fait, si vous saviez pas !)
Donc si quelqu'un est intéresse, qu'il n'hésite pas à concevoir une auth via pam (ou autre) pour flask, et je l’inclurais avec plaisir au logiciel.

Voici les captures d'écran. Alors euh… c'est assez moche ! Mais le design web/html/css, c'est vraiment la moindre de mes compétences !

La page d'accueil de l'application, où chaque utilisateur peut contrôler et ajouter ses torrents.
La page d'accueil de l'application, où chaque utilisateur peut contrôler et ajouter ses torrents.

Une page de torrent, où l'utilisateur peut régler finement les priorités dans les fichiers et le ratio.
Une page de torrent, où l'utilisateur peut régler finement les priorités dans les fichiers et le ratio.

Je suis actuellement en train d'essayer de trouver un beau framework web/html. Si quelqu'un est intéressé par le projet, contactez-moi : stephane AROBASE 22decembre POINT eu.

Le code est dispo dans mon serveur git, comme auparavant sous licence CeCill :

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

Lum

Ldap Users Manager est supposé êter une interface web simple pour gérer vos utilisateurs ldap. Le but c'est d'être simple et customisable ! Actuellement, j'utilise Phpldapadmin, mais je ne trouve pas cela pratique ni confortable, ni pour l'administrateur, ni pour les utilisateurs qui doivent renouveler leur mot de passe.

Fonctions :

  • ajouter, enlever, gérer vos utilisateurs
  • ajouter, enlever, gérer vos groupes et leurs utilisateurs
  • réaliser des tâches lorsque les utilisateurs/groupes sont ajoutés/enlevés
  • permettre aux utilisateurs de mettre à jour leur mot de passe et leur profil (avec une photo par exemple)
  • une page publique par utilisateur où tout est affiché - de ce qu'il autorise bien sûr ! - (photo, clé gpg). Cette dernière fonction doit permettre à l'utilisateur de maintenir facilement son profil public et social avec une compatibilité openid, pavatar et havatar.

Pour l'instant, je n'ai encore rien fait, ou presque, mais vous pouvez toujours jeter un coup d'œil :

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