Archive for the ‘open source’ Category

Cours du soir JRuby

Jeudi, octobre 30th, 2008

Ce Mardi 28 Octobre, dans le cadre des cours du soir de Valtech, j’ai présenté une démonstration de la librairie open source JRuby, implémentation 100% Java de Ruby.
A l’aide de travaux pratiques, avec les 7 participants présents, nous avons pu :

  • faire un bref rappel du langage Ruby (pendant 1H20 : définition de classe, héritage, module, mixin)
  • découvrir Jirb, shell permettant de découvrir les classes Ruby et Java (dans un jar)
  • utiliser des classes Java avec du code Ruby
  • découvrir Netbeans 6.1, notamment ses facultés “Ruby”
  • en 30 minutes, créer un projet Ruby On Rails, avec 2 modèles, création en scaffold des triplets MVC
  • déployer cette application Ruby on Rails, (grâce aux taches rake de Netbeans qui permettent de créer un war à partir d’un projet RoR) sur un conteneur de servlets, Tomcat en l’occurence

Vous pouvez télécharger, à condition de respecter la licence ci dessous, les tps zippés ainsi que la présentation, au format OpenDocument (à lire avec OpenOffice), ou pdf; vous pouvez aussi choisir de juste consulter la présentation avec l’applet flash ci dessous.



Prochain rendez vous Ruby/Rails à Paris On Rails !

Creative Commons License
Cours du soir JRuby by Anthony Dahanne est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d’Utilisation Commerciale-Partage des Conditions Initiales à l’Identique 2.0 France.
Basé(e) sur une oeuvre à
Les autorisations au-delà du champ de cette licence peuvent être obtenues à http://blog.dahanne.net.

Présentation en cours du soir de GWT : les docs !

Mardi, juin 17th, 2008

Il ya de celà un mois, j’ai présenté à mes camarades de Valtech le framework GWT (Google Web Toolikt); après avoir suivi une formation dessus chez Valtech Training (dispensée par Sami Jaber).
Je vous invite à télécharger cette présentation,(certes largement inspirée de celle de Sami) où vous découvrirez :
* présentation de GWT
* mise en place d’un environnement de développement GWT, création du workspace
* (TP) votre premier module GWT, “Salut Monde” !
* (TP) présentation d’une dizaine de widgets GWT (non exhaustif) à travers des manipulations (Label, TextBox, SuggestBox, etc…)
* (TP) les panels dans GWT
* présentation d’extensions GWT (GXT, GWT Ext, etc…)
* (TP) création d’un widget
* (TP) appels distants via RPC : notre application GWT se connecte à une servlet de services

Vous n’oublierez pas de télécharger aussi l’archive contenant les TPs en fin d’article !
Bon GWT !

Creative Commons License
Présentation GWT Valtech by Anthony Dahanne est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d’Utilisation Commerciale-Partage des Conditions Initiales à l’Identique 2.0 France.

workspace_gwt

cours_du_soir_gwt

Diffusez vos vidéos HD en H264 sur le web !

Jeudi, mars 20th, 2008

Depuis la version 9 (update 3) de flash, le plugin propriétaire présent sur 98% des navigateurs internet, il est possible de lire des fichiers vidéos non plus seulement au format maison .flv (un dérivé de h263) mais aussi au standard H264, codec vidéo très performant !
Je vous propose de vous même encoder vos vidéos au format H264, à l’aide d’outils libres, ffmpeg en l’occurrence, et d’ensuite les diffuser sur internet via un lecteur de vidéo au format flash, qu’il vous suffira d’insérer dans vos pages web !
(à vous de voir après si vous préférez laisser la diffusion de vos vidéos à une régie publicitaire comme youtube et consorts !)
Je me sers de cette procédure pour diffuser des vidéos issues de mon camescope Sony HDR-HC7E en haute définition (1440 PAR 1.33 x 1080 entrelacé) dans une résolution correcte : 960×540p
Dans tout ce tutorial, le ‘%’ correspond à l’invite de commande de mon shell.

Installation de FFMPEG du dépôt subversion sur Ubuntu Gutsy 7.10 : (aussi testé sur Ubuntu Feisty 7.04)

Dans un premier temps :
%sudo apt-get build-dep ffmpeg
Selon le man de “apt-get”, “Avec la commande build-dep, apt-get installe ou supprime des paquets dans le but de satisfaire les dépendances de construction d’un paquet source.”
Ensuite, installons les librairies multipmédias nécessaires et aussi Subversion, car nous allons avoir besoin de récupérer la toute dernière version de ffmpeg :
%sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall build-essential subversion
On récupèrele code source de ffmpeg par svn :
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
Il est temps de compiler ffmpeg, pour cela, rendons nous dans le répertoire du ffmpeg récemment récupéré :
%cd ffmpeg
Au cas où vous avez déjà compilé : (sinon çà fait pas de mal)
%make distclean
on configure :
%./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libtheora --enable-liba52 --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libxvid --enable-pthreads --enable-libx264
et on compile :
make
Ça prend un peu de temps, mais au bout, vous obtiendrez dans votre répertoire un ffmpeg compilé avec le support de h264 (entre autres encodeurs).
Vous pourriez l’installer avec sudo checkinstall et sudo make install, mais je préfère le garder à part de /usr/bin au cas où un jour je veuille utiliser le ffmpeg de ma distrib)
Tant que nous sommes à la compilation, compilons qt-faststart (j’explique peu après à quoi sert qt-faststart : déplacer les entêtes, les metadata, au début du fichier video):
Compiler qt-faststart.c

gcc -O3 -g -Wdeclaration-after-statement -Wall -Wno-switch -I -I$REP_SVN_FFMPEG/ffmpeg -I$REP_SVN_FFMPEG/ffmpeg/libavutil -I$REP_SVN_FFMPEG/ffmpeg/libavcodec -I$REP_SVN_FFMPEG/ffmpeg/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $REP_SVN_FFMPEG/ffmpeg/tools/qt-faststart.c -o qt-faststart

en remplaçant $REP_SVN_FFMPEG par le chemin complet du répertoire du ffmpeg récupéré par svn.
Et voilà, fini pour l’installation ! place à l’utilisation !

Encodage du fichier video en H264

En remplaçant $REP_SVN_FFMPEG par le chemin complet du répertoire du ffmpeg récupéré par svn,

$REP_SVN_FFMPEG/ffmpeg/ffmpeg -i ma_video.m2t -vcodec libx264 -b 800k -ab 128k -s 960×540 -deinterlace ma_video.mov

cà peut être (très, 5fps) long …

Déplacement de l’entête MOOV ATOM au début du fichier

Malheureusement, si vous laissez la vidéo obtenue telle quelle, avant de pouvoir la visionner, vous serez obligé de la télécharger en entier; car les métadata du fichier, MOOV ATOM, sont placées à la fin du fichier, et non au début.
C’est alors que qt-faststart rentre en scène :

$REP_SVN_FFMPEG/ffmpeg/tools/qt-faststart ma_video.mov ma_video_fast.mov

Pour diffuser votre vidéo sur le web, vous pouvez utiliser la dernière version de FlowPlayer, et consulter mon article à son sujet ! (j’essaierai de le mettre plus à jour prochainement !)

Bonne diffusion !

Références :
How to encode in H264 for web broadcasting
La mailing list du site officiel de FFMPEG
La communauté de FlowPLayer à propos de H264