{{tag>Xenial programmation}}
----
====== Gource ======
Gource permet réaliser une animation de l'évolution de votre dépôt ([[:git|git]] / [[:subversion|svn]] / [[:bzr|bzr]] /...) à travers le temps.
{{::kernel_gource_youtube_preview.jpg|5 ans de développement du kernel}}
[[https://www.youtube.com/watch?v=AhDiYPLo3p4|Youtube: Exemple avec le kernel de linux]]
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]].
* Disposer d'une connexion à Internet configurée et activée.
===== Installation =====
Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] [[apt>gource]].
Seule la dernière version d'Ubuntu permet d'avoir la dernière version de ce programme. Certaines fonctionnalités décrites ci-dessous pourrons ne pas être disponibles si vous utilisez une ancienne version. Dans ce cas, vous pouvez toujours installer la dernière version en utilisant les sources.
==== Depuis les sources ====
Il est nécessaire d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] [[apt>libsdl1.2-dev,libsdl-image1.2-dev,libpcre3-dev,libfreetype6-dev,libglew-dev,autoconf,automake,libgl1-mesa-dev,libglu1-mesa-dev|libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libfreetype6-dev libglew-dev autoconf automake libgl1-mesa-dev libglu1-mesa-dev]] pour avoir l'environnement de compilation complet.
Ou en une ligne de commande :
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libfreetype6-dev libglew-dev autoconf automake libgl1-mesa-dev libglu1-mesa-dev
Maintenant récupérez la dernière version du code source sur le [[http://code.google.com/p/gource/downloads/list?q=label:Type-Source|site officiel]].
Exemple pour la version 0.37 :
wget http://gource.googlecode.com/files/gource-0.37.tar.gz -O gource.tar.gz
On extrait:
tar xvfz gource.tar.gz
On va maintenant compiler:
cd gource-0.37 && autoreconf -f -i && ./configure && make
Une fois la compilation terminée, on obtient le fichier gource. Ce fichier et le dossier data sont essentiels.
Si vous désirez tester gource sans l'installer: copiez le fichier gource et le dossier data dans le dossier contenant votre dépôt.
Pour ceux qui veulent installer gource:
sudo make install
Suppression de l'environnement de compilation si vous n'en avez plus besoin :
sudo apt-get --purge autoremove libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libfreetype6-dev libglew-dev autoconf automake libgl1-mesa-dev libglu1-mesa-dev
===== Utilisation =====
Attention ! Gource requiert OpenGL et une carte graphique correcte.
Vous pouvez naviguer avec la souris et bien plus encore ( roulette / flèches directives / click droit / click gauche ).
Pour quitter: Echap
==== Une simple visualisation ====
Pour voir une vidéo sans l'enregistrer.
Placez vous dans votre répertoire dépôt puis lancez:
gource
==== Faire une vidéo ====
Gource ne conçoit pas directement la vidéo. Gource génère un flux au format ppm avec l'option **-o -**. Pour avoir une vidéo il va falloir passer par **[[apt>ffmpeg]]**
sudo apt-get install ffmpeg
**Pour chaque commande, placez vous dans votre répertoire dépôt.**
=== Codec Webm ===
Pour afficher une vidéo à 60ips (images par secondes) avec le codec **webm**:
gource -1280x720 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libvpx -b 10000K gource.webm
=== Codec x264 / mp4 ===
Voir la page sur les [[formats non-libres]].
Pour afficher une vidéo à 60ips (images par secondes) d'une taille de 1280x720 avec le codec **x264 dans un conteneur mp4**:
gource -1280x720 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -crf 1 -threads 0 -bf 0 gource.mp4
==== Plus de commandes ====
Il y a de nombreuses commandes permettant de changer, la couleur de fond, d'ajouter un titre, ...
[[https://github.com/acaudwell/Gource/wiki/Controls|Liste des commandes]] (en)
===== Liens Externes =====
* [[https://gource.io/|Site web officiel]] (en)
* [[https://github.com/acaudwell/Gource|Dépôt officiel]] (en)
* [[https://korben.info/gource-realisez-une-animation-a-partir-de-votre-code-source.html|Article sur Korben]] (fr)
* [[https://logstalgia.io/|Visualisez vos log de connection façon Gource avec Logstalgia]] (en)