Catégories
Open-source Systeme

Accélérer Firefox sous GNU/Linux

Depuis la migration de mon navigateur Internet favori vers la version 3.5, j’ai constaté un temps de latence assez important lors de l’ouverture d’un nouvel onglet. La cause de ce délais est l’augmentation de la taille de la base de données interne utilisé par Firefox pour gérer vos préférences (c’est une base MySQL Sqlite). Voici donc un petit plugin bien pratique fonctionnant sous GNU/Linux, Windows et Mac OS OS qui a pour fonction de « nettoyer » régulièrement cette base de données.

Ce plugin s’appelle Vacuum Places Improved. Une fois installé, il fera le travail automatiquement si vous le configurez de la manière suivante:

Un bon petit plugin de plus à installer sur votre système !
Catégories
Open-source Systeme

Un cache pour accélérer la mise à jour de vos machines Ubuntu

Si vous avez à mettre à jour un nombre important de machines GNU/Linux, il y a de forte chance pour que votre liaison Internet soit vite saturée. Dans le contexte d’une entreprise, cette saturation peut rapidement poser des problèmes pour les utilisateurs. Nous allons donc dans ce billet mettre en place un cache local pour les dépôts Ubuntu. Les avantages sont les suivants:

  • diminuer le temps des mises à jour
  • réduire la consommation de bande passante sur votre liaison Internet
  • contrôler plus finement la mise à jour des machines

Principe de fonctionnement

Un bon diagramme valant mieux qu’un long discours:

Comme on peut le voir sur le deuxième diagramme, il faut installer une machine (« label ») qui va servir de cache entre votre réseau local et le dépôt distant.

Installation du cache

Nous allons utiliser une machine GNU/Linux Ubuntu pour faire office de cache. Attention, celle-ci devra disposer d’un espace disque important car tout les paquets mis à jours y seront stockés. Personnellement, j’utilise un point de montage SMB (/media/depots) vers un serveur NAS.

Le cœur de notre système se base sur l’utilisation du logiciel apt-cacher. Nous allons commencer par l’installer sur notre système:

sudo aptitude install apt-cacher

Le fichier de configuration se trouve à l’emplacement /etc/apt-cacher/apt-cacher.conf. Il faut y modifier (selon votre configuration) les paramètres suivants:

# cache_dir configure le répertoire ou le cache stockera ses données
cache_dir=/media/depots/ubuntu

# Configuration du groupe et de l’utilisateur avec lequel apt-cacher va être lancé
# Il faut que le répertoire cache_dir est les bon droits en lecture/écriture
user=www-data
group=www-data

# allowed_hosts défini la liste des machines autorisées à utiliser ce cache
allowed_hosts=192.168.29.0/24

Remarque: Il est également possible de demander à apt-cache d’utiliser un proxy pour sortir vers Internet (utilisation des options: http_proxy, use_proxy, http_proxy_auth, use_proxy_auth).

Pour automatiser le lancement de apt-cacher lors du démarrage de la machine, il faut modifier le fichier /etc/default/apt-cacher:

AUTOSTART=1

Ensuite on lance le cache:

sudo /etc/init.d/apt-cacher start

Configuration des machines clientes

Votre cache est maintenant opérationnel, il ne reste plus qu’a configurer vos machine GNU/Linux Ubuntu pour l’utiliser. Le plus simple est de créer un fichier nommé 90-apt-cacher.conf dans le répertoire /etc/apt/apt.conf.d/ (remplacer l’adresse IP 192.168.29.254 par l’adresse IP de votre machine hébergeant apt-cacher):

# vi /etc/apt/apt.conf.d/90-apt-cacher.conf
Acquire::http::Proxy « http://192.168.29.254:3142 »

En cas d’indisponibilité du cache, vos machines pourront se mettre à jour comme elle le faisait auparavant.

Catégories
Open-source

Une nouvelle maison pour Planet-Libre

Planet-Libre est le principale site Francophone sur l’actualité des logiciels libres. Il se base sur un moteur d’agrégation de blogs (« planet ») nommé BilboPlanet développé par une joyeuse équipe. Ce dernier vient de passer en version 0.2 avec son lot de nouveautés.

Je profite de cette nouvelle pour tirer un coup de chapeau à Tux Planet qui a réussi depuis plus de 2 ans à réunir plus de 220 blogueurs libres (229 actuellement) derrière ce projet.

Vive le libre et longue vie à Planet-Libre !

Edit: Skyzo vient de me faire remarquer que Sébastien a quitté le projet depuis maintenant 1 an et que la gestion de Planet-Libre est effectuée par la même équipe qui développe BilboPlanet !

Catégories
Web

Mes « marques ta-pages » de la semaine

Marques-pages
Catégories
Open-source Web

Le tag video dans HTML 5

La nouvelle révision du langage HTML apporte sont lot de nouvelles balises (voir le Wiki pour une liste exhaustive). Une de celles qui a fait couler le plus d’encre est la fonction permettant d’intégrer nativement des lecteurs vidéos dans les pages: <video>. Nous allons dans ce billet nous focaliser sur cette nouvelle balise et en détailler les options.

Introduction

Pour qu’un navigateur Web soit capable de lire directement une vidéo (c’est à dire un flux vidéo et audio), il faut qu’il possède les librairies de décodages (codecs) de ces flux. Dans sa grande sagesse, le W3C (l’organisme qui spécifie le langage HTML) avait décidé de normaliser ces codecs en choisissant les formats libres Theroa et Vorbis. Après un lobbying très actif d’Apple et de Nokia, le W3C a supprimer de ces spécifications le fait d’imposer un codec vidéo et audio commun. En clair on peut très bien se retrouver avec un Firefox qui permettra de lire des vidéos au format Theroa/Vorbis et un Safari qui décodera les vidéos au format H.264…

A l’heure actuelle, le navigateur Firefox est capable (dans sa version 3.5) de lire des vidéos utilisant le codec vidéo Theora et le format audio Vorbis. Bien lui en a pris… Nous allons donc utiliser ce Navigateur pour nos tests.

Hébergement des vidéos

Si vous souhaitez intégrer des vidéos dans votre site Web, la première chose à prendre en compte est l’hébergement des fichiers sources. En effet ces fichiers peuvent être volumineux et en cas de consultation simultanées le débit peut devenir très important. A moins de disposer d’une infrastructure d’hébergement professionnelle, je ne vous conseille pas d’héberger les fichiers vidéos sources sur votre serveur Web. De nombreux sites permettent un hébergement gratuit d’œuvres libres de droits. J’ai choisi Wikimedia pour héberger la vidéo qui va illustrer mes exemples.

Si vous souhaitez tout de même héberger vos vidéos sur votre serveur Web Apache, il faut vérifier que les type mime suivant sont pris en compte dans la configuration (fichier de configuration ou fichier .htaccess):

AddType video/ogg          .ogv
AddType application/ogg    .ogg

Exemples d’utilisation de la balise <video>

Affichage d’une vidéo

Nous allons dans ce premier exemple afficher sur une page Web une vidéo stocké sur le serveur Wikimedia à l’adresse suivante: http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg

La vidéo va être téléchargé (ce n’est donc pas du streaming). Quand le navigateur estimera que le téléchargement est assez avancé, il commencera à jouer la vidéo.

Pour lancer la vidéo, il faut faire un click droit / Play.

On utilise le code suivant:

<video src= »http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg »></video>

Voir l’exemple 01 en action.

Affichage d’une vidéo avec ses contrôleurs

On va améliorer l’exemple précédant en ajoutant des contrôleurs (Play/Pause, barre de progession et volume). On utilise pour cela le tag controls:

Voici le code:

<video src= »http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg » controls></video>

Voir l’exemple 02 en action.

Redimensionnement de la vidéo

L’intégration de la vidéo dans le design de votre site Web nécessitera surement une redimensionnement de celle-ci. Attention, ce n’est pas parce-que la vidéo est plus petite que le temps de chargement va être plus cours. En effet, c’est la même source qui est utilisée.

Voici le code:

<video src= »http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg » width= »427″ height= »240″ controls></video>

Voir l’exemple 03 en action.

Forcer la lecture de la vidéo

Une autre fonction intéressant est le fait de pouvoir forcer la lecture de la vidéo (sans aucune intervention de votre visiteur). On utilise le tag autoplay.

Voici le code:

<video src= »http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg » width= »427″ height= »240″ controls autoplay></video>

Voir l’exemple 04 en action.

Ajouter des contrôleurs en JavaScript

C’est bien beau d’avoir les contrôleurs disponible sur la vidéo mais pour une intégration aux petits oignons dans votre site, il peut être utile de déporter ces fonctions sur des liens/boutons externes. Pour cela, la balise vidéo permet de fixer un tag id. Ce dernier pourra être utilisé dans un JavaScript:

 <script>
                function play() {
			video = document.getElementById("myvideo");
			video.play();
		}
		function pause() {
			video = document.getElementById("myvideo");
			video.pause();
		}
</script>
...
<video id="myvideo" src="http://upload.wikimedia.org/wikipedia/commons/6/67/Bigbuckbunnyextract.ogg" width="427" height="240" controls></video>

Voir l’exemple 05 en action.

Conclusion

Pour aller plus loin je vous conseille une lecture attentive du document de spécification du W3C.

Catégories
Nagios Open-source Reseau Systeme

Un nouveau livre en Francais sur Nagios 3.0

Je viens d’apprendre (merci Sacha) la sortie d’un nouveau livre traitant de la supervision système et réseau et de Nagios en particulier. L’auteur est Jean Gabès, administrateur système de profession et qui a également écrit quelques bons articles dans le fameux Linux magazine. Le titre du livre est « Nagios 3 pour la supervision et la métrologie : Déploiement, configuration et optimisation » aux éditions Eyrolles.

Je viens de commander ce livre, je vous fait un retour dès que je l’aurai entre les mains.

Catégories
Image Open-source

Installation des OggVideoTools sous Ubuntu

Pour ceux qui ne connaissent pas, OggVideoTools est composé des logiciels suivants (en ligne de commande):

  • oggSplit: permet de séparer l’audio et la vidéo d’un fichier en deux fichiers distincts (un fichier par flux).
  • oggJoin: Prend en entré une liste de fichiers OGG (audio au format vorbis et/ou vidéo au format Theroa) et donne en sortie un seul fichier.
  • oggCut: permet de couper un fichier OGG.
  • oggCat: permet de coller les uns à la suite des autres des fichiers OGG.
  • oggDump: Affiche un fichier OGG sous la forme de paquets.
  • oggLength: Affiche la taille d’un fichier OGG (en ms).

Si vous voulez en plus disposer des deux autres utilitaires suivants, Il faut passer par une phase de compilation supplémentaire de la librairie Theora depuis les sources car le paquet Ubuntu (et aussi Debian) comporte un bug.:

  • oggResize: permet de changer les caractéristiques des flux audio/video d’un fichier OGG.
  • oggSilence: Permet de créer un fichier audio vide (silence) au format Vorbis d’une taille donnée.

En attendant que ces petits utilitaires pour manipuler les fichiers audio/video libre basés sur le format libre OGG soit disponibles dans les dépôts Ubuntu (ce qui ne devrait pas tarder…). Voici une petite procédure pour effectuer la compilation depuis les sources.

Compilation des OggVideoTools

Les sources sont hébergées sur le site Sourceforge.

On commence par récupérer les sources de la dernière version disponible (0.7b au moment de l’écriture de ce billet):

wget http://downloads.sourceforge.net/project/oggvideotools/oggvideotools/oggvideotools-0.7b/oggvideotools-0.7b.tar.gz

Puis on lance la compilation (il faut que votre machine dispose des outils de compilation standard: build-essential sous Ubuntu):

./configure
make
sudo make install

Et voili:

# oggLength bigbuckbunny.ogv
596467

# oggSplit bigbuckbunny.ogv
# ls -alF
total 326172
-rw-r–r– 1 labo labo 166825767 2009-08-21 11:26 bigbuckbunny.ogv
-rw-r–r– 1 labo labo 153622630 2009-08-21 16:26 theora_f0678e1.ogg
-rw-r–r– 1 labo labo  13203137 2009-08-21 16:26 vorbis_1fa82364.ogg

Catégories
Image Open-source Systeme Web

Firefox: bug d’images noir&blanc

Après une mise à jour de mon système Ubuntu 9.04 (mais le problème a aussi été rencontré sur d’autres distributions GNU/Linux), je me suis retrouvé avec un bug assez bizarre sur mon navigateur Firefox. En effet, certaines images au format PNG étaient affichées en noir et blanc (quelque soit le site).

Un autre exemple du bug de rendu des couleur dans mon Firefox... on Twitpic

Après quelques recherches sur le woueb, j’ai trouvé la solution ici. Il suffit de modifier la configuration de Firefox (taper about:config comme URL dans votre navigateur) puis chercher la variable gfx.color_management.mode puis  luis mettre comme valeur 0

Catégories
Web

Mes « marques ta-pages » de la semaine

Marques-pages
Catégories
Developpement Open-source

Une petite introduction à GIT

Sous l’impulsion de la multiplication des projets open-source, la gestion en configuration de vos sources est devenue une brique essentielle dans le développement de logiciels informatiques. Nous allons dans ce billet parler de GIT (développé par Mr Linus Torvalds en personne) qui contrairement à CVS ou SVN se base sur une architecture décentralisée.

Architecture de notre tutoriel

Pour illustrer ce tutoriel, nous allons utiliser l’architecture suivante:

A: Dépôt GIT
B: Dépôt GIT (copie de A)
C: Dépôt SVN

Installation

On installe GIT:

# sudo aptitude install git-core git-svn

puis on le configure:

# git config –global user.name « Nicolas Hennion »
# git config –global user.email « contact_at_nicolargo_._com »

Création du dépot sur la machine A

Projet dont les sources sont stockées dans le répertoire ~/workspace/projet.

# cd  ~/workspace/projet
# ls -alF
total 92
-rw-r—– 1 nicolargo nicolargo  158 Jan 28 15:45 001-display-ogg-theora-file.sh
-rw-r—– 1 nicolargo nicolargo   89 Jan 28 15:49 002-display-webcam.sh
-rw-r—– 1 nicolargo nicolargo  242 Feb  2 17:02 003-display-webcam-320×200.sh
-rw-r—– 1 nicolargo nicolargo  153 Jan 28 16:55 004-display-effect-webcam.sh
-rw-r—– 1 nicolargo nicolargo  157 Jan 28 17:16 005-display-textoverlay-webcam.sh
-rw-r—– 1 nicolargo nicolargo   89 Feb  2 15:49 006-streaming-udp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  579 Feb  2 15:50 006-streaming-udp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo  224 Jan 30 14:46 007-streaming-to-icecast.sh
-rw-r—– 1 nicolargo nicolargo  116 Feb  2 15:40 008-streaming-tcp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  266 Feb  2 15:45 008-streaming-tcp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo 4192 Feb  3 11:56 009-streaming-rtp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  622 Feb  3 11:52 009-streaming-rtp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo  194 Feb  3 12:26 010-VLC.sdp
-rw-r—– 1 nicolargo nicolargo  534 Feb  3 12:15 010-streaming-rtp-client-x264.sh
-rw-r—– 1 nicolargo nicolargo  706 Feb  3 12:35 010-streaming-rtp-server-x264.sh
-rw-r—– 1 nicolargo nicolargo 1072 Feb  3 15:16 011-streaming-rtp-client-x264-speex.sh
-rw-r—– 1 nicolargo nicolargo  883 Feb  3 14:57 011-streaming-rtp-server-x264-speex.sh
-rw-r—– 1 nicolargo nicolargo 1041 Feb  3 15:13 012-streaming-rtp-client-x264-pcma.sh
-rw-r—– 1 nicolargo nicolargo  880 Feb  3 15:11 012-streaming-rtp-server-x264-pcma.sh
-rw-r—– 1 nicolargo nicolargo 1720 Feb  2 16:21 GStreamer – RTP client-server.txt
-rw-r—– 1 nicolargo nicolargo 1020 Feb  3 15:31 client.sh
-rw-r—– 1 nicolargo nicolargo  883 Feb  3 15:28 server.sh

On initialise le dépôt GIT:

# git init
Initialized empty Git repository in .git/

Puis on ajoute l’ensemble des fichiers sources à ce dépôt GIT:

# git add *

On vérifie que la commande précédente à bien été prise en compte

# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use « git rm –cached <file>… » to unstage)
#
#    new file: 001-display-ogg-theora-file.sh
#    new file: 002-display-webcam.sh
#    new file: 003-display-webcam-320×200.sh
#    new file: 004-display-effect-webcam.sh
#    new file: 005-display-textoverlay-webcam.sh
#    new file: 006-streaming-udp-client-theora.sh
#    new file: 006-streaming-udp-server-theora.sh
#    new file: 007-streaming-to-icecast.sh
#    new file: 008-streaming-tcp-client-theora.sh
#    new file: 008-streaming-tcp-server-theora.sh
#    new file: 009-streaming-rtp-client-theora.sh
#    new file: 009-streaming-rtp-server-theora.sh
#    new file: 010-VLC.sdp
#    new file: 010-streaming-rtp-client-x264.sh
#    new file: 010-streaming-rtp-server-x264.sh
#    new file: 011-streaming-rtp-client-x264-speex.sh
#    new file: 011-streaming-rtp-server-x264-speex.sh
#    new file: 012-streaming-rtp-client-x264-pcma.sh
#    new file: 012-streaming-rtp-server-x264-pcma.sh
#    new file: GStreamer – RTP client-server.txt
#    new file: client.sh
#    new file: server.sh
#

Enfin on valide (commit) le dépôt:

# git commit -m « Premier commit »
Created initial commit 6a4ff29: Premier commit
 22 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 001-display-ogg-theora-file.sh
 create mode 100644 002-display-webcam.sh
 create mode 100644 003-display-webcam-320×200.sh
 create mode 100644 004-display-effect-webcam.sh
 create mode 100644 005-display-textoverlay-webcam.sh
 create mode 100644 006-streaming-udp-client-theora.sh
 create mode 100644 006-streaming-udp-server-theora.sh
 create mode 100644 007-streaming-to-icecast.sh
 create mode 100644 008-streaming-tcp-client-theora.sh
 create mode 100644 008-streaming-tcp-server-theora.sh
 create mode 100644 009-streaming-rtp-client-theora.sh
 create mode 100644 009-streaming-rtp-server-theora.sh
 create mode 100644 010-VLC.sdp
 create mode 100644 010-streaming-rtp-client-x264.sh
 create mode 100644 010-streaming-rtp-server-x264.sh
 create mode 100644 011-streaming-rtp-client-x264-speex.sh
 create mode 100644 011-streaming-rtp-server-x264-speex.sh
 create mode 100644 012-streaming-rtp-client-x264-pcma.sh
 create mode 100644 012-streaming-rtp-server-x264-pcma.sh
 create mode 100644 GStreamer – RTP client-server.txt
 create mode 100644 client.sh
 create mode 100644 server.sh

Import du dépôt sur la machine B

Nous allons utiliser la commande GIT « clone » permettant de faire une copie locale (dépôt local de la machine B) de son dépôt distant (machine A). C’est sur cette copie que nous allons ensuite travailler. On peut noter que j’utilise le protocole SSH pour récupérer les sources de la machine A, mais il est également possible d’utiliser le protocole « git » ou « http ».

# git clone ssh://nicolargo@B/~/workspace/gstpipelinearea

Création d’une branche locale

Nous allons maintenant créer sur notre machine B une nouvelle version de nos sources (une branche). Pour voir la liste des branches on utilise la commande suivante:

# git branch
* master

Comme on peut le voir il existe une seule branche (master) dans notre dépôt. Nous allons en créer une nouvelle avec la commande suivante:

# git branch version-2.0 master

On vient de créer une nouvelle version de notre projet nommé version-2.0 à partir de la branche principale (master). Il est ainsi possible de travailler sur cette version-2.0 sans impacter la version principale.

# git branch
* master
  version-2.0

L’* à coté de master précise que pour l’instant toutes les actions GIT seront faites sur la branche master. Pour travailler sur la branche version-2.0, il faut sasir la commande:

# git checkout version-2.0
Switched to branch « version-2.0 »

On vérifie:

# git branch
  master
* version-2.0

Consolidation des branches

Si vous voulez fusionner (merge) la
version-2.0 à la branche principale (c’est à dire appliquer les
modifications faites dans la version-2.0 dans vos sources initiales),
il faut:

# git checkout master
# git merge version-2.0

Quelques manipulations de base de notre dépôt local

Nous allons voir quelques exemples de manipulations de nos sources, je vous conseille fortement la lecture de la documentation (RFM…)

Ajout d’un fichier source

Pour ajouter un nouveau fichier à notre dépôt local, on commence par créer le fichier en question:

# echo « Quelques exemples de pipelines GStreamer » >> README

Puis on l’ajoute et on met à jour notre dépôt local:

# git add README
# git commit -a -m « Ajout du fichier README »
Created commit 1072258: Ajout du fichier README
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 README

Modification d’un fichier source

On modifie le fichier source en question:

# echo « Merci d’ajouter une ligne de description par pipeline » >> README

On peut voir les différences entre notre dépôt actuel et le dépôt local en tapant la commande:

# git diff
diff –git a/README b/README
index 3040f44..a58b06d 100644
— a/README
+++ b/README
@@ -1 +1,2 @@
 Quelques exemples de pipelines GStreamer
+Merci d’ajouter une ligne de description par pipeline

Puis on valide nos modifications dans le dépôt local:

# git commit -a -m « Modification fichier README »
Created commit f3c0c49: Modification fichier README
 1 files changed, 1 insertions(+), 0 deletions(-)

En cas d’erreur il est possible de revenir facilement à une dernière version:

# git log
commit f3c0c49bfc181d9353d8536c49af55eb24a9318c
Author: Nicolas Hennion <contact@nicolargo.com>
Date:   Wed Jul 8 17:11:03 2009 +0200

    Modification fichier README

commit 1072258108f25865e1965deeff7e651e29fb8f75
Author: Labo <labo@linux-demo-laptop.(none)>
Date:   Wed Jul 8 16:56:56 2009 +0200

    Ajout du fichier README

commit 6a4ff298714032e8263f9425b50a86dcf8aa5888
Author: Nicolas Hennion <contact@nicolargo.com>
Date:   Wed Jul 8 16:43:30 2009 +0200

    Premier commit

Par exemple pour revenir à notre première version du fichier README:

# git revert 1072258108f25865e1965deeff7e651e29fb8f75

Suppression d’un fichier source

On supprime le/les fichiers sources en question:

# git rm client.sh
# git rm server.sh

Puis on valide:

# git commit -a -m « Supression des fichers de test »
Created commit dc78e6c: Supression des fichers de test
 2 files changed, 0 insertions(+), 32 deletions(-)
 delete mode 100644 client.sh
 delete mode 100644 server.sh

Mise à jour du dépôt distant (A)

Nous avons fait quelques manipulation sur notre dépôt local (machine B). Maintenant nous souhaitons proposer ces modifications au dépôt distant (machine A). Pour cela, nous allons dans un premier temps pousser les modifications de B vers A:

# git push
Counting objects: 9, done.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (8/8), 861 bytes, done.
Total 8 (delta 3), reused 0 (delta 0)
To ssh://nicolargo@B/~/workspace/gstpipelinearea
   6a4ff29..dc78e6c  master -> master

Par défaut, le push se fait sur la brance principale (master), pour spécifier le push d’une autre version, il faut la spécifier dans la ligne de commande (« git push version-2.0 » par exemple).

Si on fait a ce moment là un ls dans le répertoire du dépôt de la machine A, les modifications n’apparaissent pas (le fichier README est inexistant et les fichier client.sh et server.sh sont présents).

# ls -alF
-rw-r—– 1 nicolargo nicolargo  158 Jan 28 15:45 001-display-ogg-theora-file.sh
-rw-r—– 1 nicolargo nicolargo   89 Jan 28 15:49 002-display-webcam.sh
-rw-r—– 1 nicolargo nicolargo  242 Feb  2 17:02 003-display-webcam-320×200.sh
-rw-r—– 1 nicolargo nicolargo  153 Jan 28 16:55 004-display-effect-webcam.sh
-rw-r—– 1 nicolargo nicolargo  157 Jan 28 17:16 005-display-textoverlay-webcam.sh
-rw-r—– 1 nicolargo nicolargo   89 Feb  2 15:49 006-streaming-udp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  579 Feb  2 15:50 006-streaming-udp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo  224 Jan 30 14:46 007-streaming-to-icecast.sh
-rw-r—– 1 nicolargo nicolargo  116 Feb  2 15:40 008-streaming-tcp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  266 Feb  2 15:45 008-streaming-tcp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo 4192 Feb  3 11:56 009-streaming-rtp-client-theora.sh
-rw-r—– 1 nicolargo nicolargo  622 Feb  3 11:52 009-streaming-rtp-server-theora.sh
-rw-r—– 1 nicolargo nicolargo  194 Feb  3 12:26 010-VLC.sdp
-rw-r—– 1 nicolargo nicolargo  534 Feb  3 12:15 010-streaming-rtp-client-x264.sh
-rw-r—– 1 nicolargo nicolargo  706 Feb  3 12:35 010-streaming-rtp-server-x264.sh
-rw-r—– 1 nicolargo nicolargo 1072 Feb  3 15:16 011-streaming-rtp-client-x264-speex.sh
-rw-r—– 1 nicolargo nicolargo  883 Feb  3 14:57 011-streaming-rtp-server-x264-speex.sh
-rw-r—– 1 nicolargo nicolargo 1041 Feb  3 15:13 012-streaming-rtp-client-x264-pcma.sh
-rw-r—– 1 nicolargo nicolargo  880 Feb  3 15:11 012-streaming-rtp-server-x264-pcma.sh
-rw-r—– 1 nicolargo nicolargo 1720 Feb  2 16:21 GStreamer – RTP client-server.txt
-rw-r—– 1 nicolargo nicolargo 1020 Feb  3 15:31 client.sh
-rw-r—– 1 nicolargo nicolargo  883 Feb  3 15:28 server.sh

Pour consolider les sources sur la machine A, il faut utiliser la commande suivante:

# git reset –hard
HEAD is now at dc78e6c… Suppression des fichers de test

Et si mes sources viennent d’un serveur SVN ?

Pas de problème, GIT dispose d’un bundle permettant de récupérer et de committer vers un serveur SVN.

Pour récupérer les sources d’un serveur SVN C:

# git svn clone svn://nicolargo@C/svn/gstpipelinearea

On utilise les commandes classique pour gérer son dépôt GIT (voir les chapitres précédant).

Pour commiter les modifications sur le serveur SVN C:

# git svn rebase
# git svn dcommit

Pour les utilisateurs d’Eclipse

Vous pouvez suivre ce tuto pour configurer votre Eclipse pour utiliser un dépôts GIT.