SVN se transforme en oeuvre d’art avec Gource

gource

Nous sommes tombés récemment sur un projet plutôt sympa. Il s’agit de Gource, un outil pour voir l’évolution d’un projet sous contrôle de version GIT, MercurialSVN ou ou encore CVS de façon très artistique. Qui a dit que le développement ne pouvait pas rejoindre les arts graphiques ? Certainement pas nous, et cet outil en est une des preuves ! Pour tester, nous avons généré une vidéo Gource d’un projet Symfony sous contrôle SVN que nous avions réalisé l’année dernière. Nous vous laissons jeter un oeil sur le rendu.

Visualisation SVN avec Gource from Magetys on Vimeo.

Maintenant que vous avez vu un peu de quoi retourne Gource, nous allons vous expliquez comment l’utiliser avec SVN sous Linux Ubuntu ! Tout d’abord, rendez-vous dans la section téléchargement du projet chez Google Code Project Hosting pour télécharger et installer le deb.

Rendez-vous ensuite dans votre projet SVN local :

cd my-svn-project

A l’aide de la commande SVN, générez un fichier de log complet :

svn log --verbose --xml > my-project.log

A partir de maintenant, il va falloir transformer votre fichier de log SVN en un fichier de log compréhensible par Gource. Pour cela, un script Python a été développé. Allez télécharger SVN Gource Script sur la page téléchargement du projet. Collez ensuite le script python à la racine de votre projet SVN. Executez la commande ci-dessous pour générer le bon fichier de log. Bien entendu, vous devrez préalablement avoir installer python sur votre machine si ce n’est pas déjà fait.

python svn-gource.py --filter-dirs my-project.log > my-project-gource.log

Il ne vous reste plus qu’à lancer la visualisation à l’aide de la commande :

gource --log-format custom my-project-gource.log

Il existe des paramètres intéressants que nous vous laissons découvrir par vous-même pour changer la date, les avatars, les couleurs, etc… Pour aller plus loin, il est carrément possible de faire une vidéo à partir de la visualisation Gource à l’aide de la commande suivant (il vous faudra ffmeg d’installé) :

gource --log-format custom my-project-gource.log --stop-at-end --output-ppm-stream - | ffmpeg -y -b
3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 gource.mp4

Dans cet exemple, la vidéo est encodé à l’aide du codec mpeg4 puisqu’il est présent dans la paquet ffmpeg d’Ubuntu par défaut. Par contre, vous allez sans doute vous rendre compte que la compression n’est pas terrible… Pour palier à ce problème, il existe le codec H264, cependant, celui-ci n’est pas présent dans le paquet par défaut de ffmpeg d’Ubuntu… Il ne vous reste donc plus qu’à compiler ffmpeg avec x264, il existe un très bon tutorial sur ubuntuforums pour faire ça ! Une fois fait, vous pourrez encoder en H264 avec le preset High Quality pour avoir un rendu optimal à l’aide de cette commande :

gource --log-format custom my-project-gource.log --stop-at-end --output-ppm-stream - | ffmpeg -y -b
3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre hq -crf 22 -threads 0 output.mp4

Voilà, Amusez-vous bien avec Gource !

Une réflexion au sujet de « SVN se transforme en oeuvre d’art avec Gource »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>