Réifier le futur

6 mai 2008

Site d’hébergement de fichiers en un clic

Classé dans : Escabeau — Olivier Schwander @

Wikipedia appelle ça des “Site d’hébergement de fichiers en un clic” et le projet Jyraphe veut permettre à n’importe qui de monter ce genre de site.

Que faire si vous n’aimez pas les souris ? Il faudrait des sites d’hébergement en une seule commade, tapée dans un terminal:

Voici un script bash qui se propose de rendre ce service : si vous disposez d’un serveur web, accessible par ssh, il copiera les fichiers passés en argument dans un répertoire doté d’un nom aléatoire et visible à partir du web.


#! /bin/sh

SSH_HOST=
BASE_DIR=
BASE_URL=
HTTPD_GROUP=www-data

source ~/.poubellerc

if [ “$1″ = “-f” ]; then
shift;
source $1;
shift;
fi

rand=$(dd if=/dev/urandom count=64 bs=1 2>/dev/null | sha1sum | cut -c1-40)
dir=$BASE_DIR/$rand

echo $BASE_URL/$rand

ssh $SSH_HOST mkdir -p $dir &&
ssh $SSH_HOST touch $dir/../index.html &&
scp $* $SSH_HOST:$dir &&
ssh $SSH_HOST chgrp $HTTPD_GROUP -R $dir &&
ssh $SSH_HOST chmod g+rX -R $dir

La configuration sera placée dans le fichier .poubellerc ou dans un fichier dont le chemin sera donné grâce à l’option -f.

Par exemple, vous pouvez télécharger ce script à l’adresse suivante : http://chadok.info/~oschwand/poubelle/7fb4f3e0be5bcf623b641981c51f742d7b8bf21a/poubelle.sh

Vous pouvez envoyer plusieurs fichiers en même temps, qui seront tous placés dans le même répertoire.

L’url du répertoire sera affichée par le script : à vous de diffuser juste le chemin vers le répertoire, ou une url complète vers un fichier. Cette façon de faire permet d’avoir juste des pages statiques : pas besoin de mémoriser la correspondance hash/nom de fichier et ni d’un script qui fait la traduction au moment du téléchargement.

Comme la sécurité repose sur le secret du nom du répertoire, il faudrait désactiver l’affichage de la liste des fichiers dans le répertoire parent : ici, on se contente de faire un touch sur index.html pour que le serveur ne renvoie pas la liste, mais ce n’est pas vraiment sûr.

9 novembre 2007

Livres dans le domaine publique

Classé dans : Escabeau — Olivier Schwander @

Comment trouver des livres en texte intégral, qu’ils soient libres ou que les auteurs aient décidé de les publier sous une licence acceptable ?

Voici un liste non-exhaustive :

18 octobre 2007

Dokuwiki : un wiki simple

Classé dans : Escabeau — Olivier Schwander @

Vous êtes à la bourre (comme d’habitude quoi), il vous faut un site internet pour hier. Évidemment un site où plusieurs personnes vont contribuer. Vous pensez à un wiki ? Bien, mais lequel choisir ?

On peut déjà réduire pour le cas le plus classique : vous ne contrôlez pas le serveur, vous n’avez que du php à votre disposition.

Mais ça fait encore plein de choix ça. Si en plus vous n’avez pas envie de vous embêter avec une base de donnée, dokuwiki est fait pour vous.

Tous les articles sont stockés dans de simple fichiers (évidemment, il faut le droit d’écriture pour le serveur http) donc pas de base de données, il y a une gestion des ACL (bien mieux faite, ou du moins bien plus simple à utiliser que celle de mediawiki) ce qui est pratique pour mélanger site web publique et site pour développeurs.

Les plugins sont nombreux, on peut les installer directement par l’interface web (pratique si on ne veut pas subir encore un fois un client ftp) : par exemple pour afficher du latex ou du graphviz (même si il faut un latex sur la machine dans ce cas). Il peut être transformé en blog grâce au système de templates prodigieusement puissant.

Si on veut vraiment être un bourrin et utiliser ça à grande échelle on peut même utiliser un ldap pour la gestion des comptes
utilisateurs.

Toutes les pages sont mises en cache pour éviter de passer des plombes à les recompiler à chaque fois.

Des reproches ? Ça a quand même l’air un peut lent, mais c’est peut-être la faute free. Et je n’ai toujours pas réussi à lui faire afficher des images en svg.

Mais bon, c’est chouette quand même.

Quelques liens ?
http://wiki.splitbrain.org/wiki%3ADokuWiki pour la doc
http://www.splitbrain.org/projects/dokuwiki pour télécharger
http://wiki.splitbrain.org/wiki%3Aplugins pour la liste des plugins
http://wiki.splitbrain.org/wiki%3Atpl%3Atemplates pour les templates

En plus les sources sont gérées sous darcs :)

Propulsé par WordPress