Les journées Réseaux

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.

search?q=espaces_comites%3Adivers%3Avie_du_wiki.flv%20640%2C480%20autoBuffering%20autoPlay%20scaling%3A%22fit%22&btnI=lucky

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 …
espaces_comites/divers/index.txt · Dernière modification: 2014/12/08 18:09 (modification externe)