JRES 2011
Les tutoJRES
L'activité du wiki en video
L'activité du wiki du 25 avril 2009 au 18 mai 2010 en 3 minutes 44 de vidéo.
Réalisation Etienne Méléard
Comment ça marche
Copiez le script suivant à la racine de votre wiki (là où est le répertoire “data”) puis lancez le avec :
perl doku2gource.pl > my_doku.gource
- doku2gource.pl
#!/usr/bin/perl
use Cwd;
use Data::Dumper;
sub crawl {
my ($p) = @_;
opendir(my $d, $p) or return;
my @items = grep(!/^\.\.?$/, readdir($d));
closedir $d;
foreach my $sf (grep(/\.changes$/, @items)) {
open(my $f, $p.'/'.$sf) or next;
while(my $l = <$f>) {
next unless($l =~ /^\s*([0-9]+)\s+([^\s]+)\s+([a-z]{1,3})\s+([^\s]+)\s+([^\s]+)/i);
my $tstp = $1;
my $ip = $2;
my $op = $3;
my $fid = $4;
my $user = $5;
if($op =~ /(C|cc|sc)/i) {
$op = 'A';
}elsif($op =~ /(D|dc|hc)/i) {
$op = 'D';
}else{
$op = 'M';
}
$fid =~ s/:/\//g;
$col{$fid} = color() unless($col{$fid});
push(@log, join('|', $tstp, $user, $op, $fid, $col{$fid}));
}
close $f;
}
foreach my $sd (grep(-d $p.'/'.$_, @items)) {
crawl($p.'/'.$sd);
}
}
sub color {
my ($p) = @_;
return sprintf('%02X%02X%02X', int(rand(256)), int(rand(256)), int(rand(256)));
}
my $path = getcwd();
$path .= '/data' if(-d $path.'/data' && $path !=~ /^(|\/)data(|\/)$/);
$path .= '/meta' if(-d $path.'/meta' && $path !=~ /^(|\/)meta(|\/)$/);
our @log = ();
our %col = {};
crawl($path);
print join("\n", sort @log);
0;
Installez gource http://code.google.com/p/gource/, il est impératif que la machine supporte OpenGL, il y a des dépots pour debian et FC12+, les binaires windows sont sur le site.
Pour FC11 ou moins il faut recompiler ftgl dans sa dernière version avec le prefix ”/usr” pour configure et faire de même avec gource.
Ensuite vous pouvez utiliser gource de 2 façons :
- En mode “live” où vous pouvez naviger dans le temps et avoir des infos en survolant les objets avec la souris :
gource --log-format custom my_doku.gource --stop-on-idle
- En mode création de vidéo avec ffmpeg (ici vidéo flash) :
gource --log-format custom my_doku.gource --disable-progress --stop-at-end --output-ppm-stream - | ffmpeg -y -b 3000k -r 60 -f image2pipe -vcodec ppm -i - -vcodec flv my_doku.flv
Quelques options intéressantes de gource :
- –seconds-per-day 0.1 : modifier l'échelle des temps, ici 10j/sec
- –date-format ”%m/%Y” : affichage de la date, au format strftime
- –file-idle-time 630720000 : nombre de seconde d'inactivité au bout duquel un fichier disparait de l'affichage
- –hide filenames : si c'est illisible
- man gource pour le reste ...