Home
Plateforme de diffusion audio Net-jukeboxe
Contents
1. 62 C 8 3 Liaison Tomcat l annuaire LDAP 62 C 8 4 Authentification HTTP d une application Web 63 C 9 Documentation sur l volution vers Hibernate 65 C91 Introduction ege ss ar add a Ke a eRs 65 C92 Architecture l g re 224 ns p de be sure de de ns te Hu 65 C 9 3 Avantages et inconv nients 66 COA Bila ire bare din Rae NII F VR AAS de da ENS Lie 67 C 10 Mise en place d une servlet avec Tomcat 67 C 10 1 Cr ation de la Servlet Java 67 C 10 2 Lier la servlet dans Tomcat 68 EJLTSubrersiO a cortes ds 0b ar dew ot ween du Hana a os 68 C111 Introduction mistral ad e e vas a e a 68 CALZ Installation 2 445 22 8 tua os an a a oe ee ee 68 CATS Utilisation se decree ea 4 use Pet ew Eden ae ue ee ee eee BES 70 C114 Subversion et Eclipse lt i possa ros ER E A we pie sas eee 71 C 12 Le webcasting et la l gislation fran aise 76 CALAS Web astines La a ak i a See de uma lier Sd 76 C 12 2 Loi fran aise autour du Webcasting La SACEM 76 E 12 3 Notre CHOIX so 245 2 a 8 Rae ina Re dal hu de A Ru pa Z7 Annexe A Gestion de projet A 1 Plan qualit A 2 Environnement technique du projet La premi re tape du projet a t d finir l e
2. Pour la m me taille de fichier la qualit d un morceau en Ogg Vorbis est sup rieure un fichier MP3 et pour la m me qualit un fichier MP3 est plus grand Nous nous reposons sur le s te http txtman free fr free fr article 002 mp3 _vs_ogg htm qui comparent les ratios taille qualit d Ogg Vorbis et MP3 et quelques autres formats Au niveau compatibilt logiciel et plateforme le MP3 a un niveau plus lev que le Ogg vorbis c est dire que le MP3 est lus sur plus de logiciels multim dia M me si actuellement le Ogg Vorbis est compatible dans les plateformes Windows Linux et Mac il n est pas comprit par Windows Me dia Player qui est le player de Microsoft En effet Microsoft a choisi la voie de la lecture contr l e de fichiers audio vid o Apr s cette petite pr sentation des avantages du Ogg Vorbis sur le MP3 nous poursuivons par la probl matique que nous pose la diffusion exclusive du Ogg Vorbis C 4 2 Probl matique La premi re version de notre Jukeboxe est limit la diffusion du seul format Ogg Vorbis Ce qui signifie qu actuellement seul les fichiers Ogg Vorbis ne peuvent tre post s dans notre application ce qui limite consid rablement ses possibilit es Dans cette version aucun syst me n est mit en place pour r pondre ce manque vident d accepter d autres formats de compression audio C 4 3 Solution Dans la prochaine version du Jukeboxe une nouvelle fonctionnalit va faire son appari
3. 0 remuneration float NOT NULL default 0 donnees longblob duree time NOT NULL default 00 00 00 diffusable tinyint 1 NOT NULL default 0 PRIMARY KEY id_doc_audio ENGINE InnoDB Cr ation de la table Historique_diffusion DROP TABLE IF EXISTS Historique_diffusion CREATE TABLE IF NOT EXISTS Historique_diffusion id historique diffusion int 11 NOT NULL default 0 date datetime NOT NULL default 0000 00 00 00 00 00 id_doc_audio int 11 unsigned default NULL id_canal int 3 unsigned default NULL PRIMARY KEY id_historique diffusion 23 ENGINE InnoDB Cr ation de la table Historique_ecouteur DROP TABLE IF EXISTS Historique_ecouteur CREATE TABLE IF NOT EXISTS Historique_ecouteur id_Historique_ecouteur int 11 NOT NULL auto_increment id_utilisateur int 11 default NULL id_historique_diffusion int 11 default NULL PRIMARY KEY id_Historique_ecouteur ENGINE InnoDB Cr ation de la table Remuneration DROP TABLE IF EXISTS Remuneration CREATE TABLE IF NOT EXISTS Remuneration id_remuneration int 3 NOT NULL auto_increment description varchar 64 default NULL PRIMARY KEY id_remuneration ENGINE InnoDB B 2 3 Sauvegarde manuelle de la base JukeBoxe B 2 3 1 Par le WEB Pour effectuer une sauvegarde
4. Cerner les points faciles et difficiles du projet Premi res pr visions et fixation des premi res ch ances Janvier 2006 Etude du temps r el et des protocoles de transports RTP RSTP f vrier 2006 Etude d taill e des existants IceCast mise en place simple d un protocole simple de connection et de transport d finition des changes de messages entre 1 serveur et 1 client Connection TCP UDP entre client Serveur Etude du package 8220 javax sound8221 pour le d coupage d un fichier audio Mars 2006 Choix du type d encodage pour le transport Ogg Vorbis du flux audio Sp cification Ogg et sp cification Vorbis D but Sp cification du JukeBoxe diagramme classe diagramme s quence Avril 2006 Fin Sp cification du JukeBoxe diagramme classe diagramme s quence Prototype de l ordonnanceur d coupage paquets op rationnelle mi mai Prototype IHM en HTML Mai 2006 Prise en main de linterface Base de donn es Interface base de donn es finalis des fonctions arrivent maintenant au compte goute Juin 2006 D veloppement IHM en JSP pour toute la partie historique du JukeBoxe Le module est pr s pour une int gration dans l application final Finalisation Interface Base de donn es Evolution JukeBoxe Log4J Evolution JukeBoxe Mp320gg A 5 3 Johan Blaix Mai 2006 Bibliographie sur JNDI et LDAP et authentification LDAP
5. Compte rendu Nous avons d cid de rajouter certaines tables dans la BD pour pallier des probl mes de requ tages Liste des actions Aujourd hui D finition des tables suppl mentaires Semaine prochaine Cr ation des tables Prochaine r union 1 Juin 2006 A 5 Calendrier du projet gt A 5 1 Beytullah Gunduz Janvier 2005 Prise de connaissance du sujet premi re tude pour d gager les diff rents points Premiers planning pr visionnels Choix g n ral de la plateforme Java D cembre 2006 Etude des diff rente solution audio connue telle que le Vorbis MP3 et les solution de transport Matrsoka et OGG Exploitation du son avec Java et Tony nous montre jsressources org un site tr s interressant sur l exploitation du son avec Java F vrier 2006 Etude de l xistant IceCast Savonet Netjuke Ecriture des algorithmes principaux et prototypage rapide d un client serveur pour la faisabilit D couverte de la librairie OGG et j Vorbis tude de ces librairies et prise en main Arriv de deux nouveaux membres dans le projet Mars 2006 Participation la r criture du cahier des charge Travail sur les cas d utilisation Prototype d un syst me de diffusion simple pour tester diff rentes architecture Prototype de diffusion audio op rationnel avec le OGG Prototype de connexion n gociation entre client et serveur op ration
6. A bak bat class El com O dll dylib elc a cal exe gz jnilib In amp Al log X Add Pattern Restore Defaults Apply Cancel e FIG C 8 Configuration des ressources ignorer par Eclipse NOTE Typiquement vous pourrez ajouter les fichiers nomm s project qui sont les fi chiers employ s par Eclipse pour sauvegarder des informations relatifs au dos sier consid r R solution de conflits Un des aspects pratique de cet outil est sans contest une gestion des conflits avanc Si un conflit apparait apr s la synchronisation ce fichier aura un embl me rouge indiquant une fl che bidirectionnel Il suffit de faire un clique droit sur ce fichier puis s lectionner Open in compare editor Un editor avec double panneau appara tre Sur la droite on aura le fichier distant et sur la gauche le fichier local L diteur nous indique toutes les diff rences trouv t nous invite r soudre le probl me 75 Il suffit alors de constituer gauche le fichier final en r cuperant du fichier de droite tous le n cessaire Une fois l operation ffectu et le travail sauvegard on peut fermer l diteur Il faut pr sent cliquer de nouveau sur le fichier posant probl me et s l ctionner Marked as mer ged Enfin il faut faire un commit du fichier pour que les modif
7. ation de sa base de donn e relationnelle ou ob jet et suppose de disposer de suffisamment de temps pour apprendre l utiliser et choisir la bonne architecture parmi toutes celles propos es par Hibernate C 10 Mise en place d une servlet avec Tomcat C 10 1 Cr ation de la Servlet Java Une servlet Java est une Classe qui d rive de la classe m re HttpServlet Cette classe doit surcharger deux m thodes de la classe m re dont les prototypes sont protected void doGet HttpServletRequest request HttpServletResponse response throws Servle tException protected void doPost HttpServletRequest request HttpServletResponse response throws Serv letException Les objets en param tre repr sente les requetes et r ponses HTTP Ceci permet d obtenir des param tres depuis la requete et de renvoyer une r ponse texte ou HTML via la r ponse On pourra faire tout le traitement que l on veut dans une servlet comme aller chercher des informa tions dans une base de donn e ou dans un annuaire LDAP ou envoyer des fichiers sur le serveur ou simplement r pondre bonjour Voici un exemple d impl mentation de servlet simple package org test servlet import javax servlet ServletException import java io IOException import jJavax servlet http public class BonjourServlet extends HttpServlet public BonjourServlet super protected void doGet HttpServletRequest request HttpServletResp
8. matique esris 2 see eee a aus depend e eS 43 C43 Solunon ricas e MANS LS ek ee dire LA Sr ae a as 43 C44 Tout avec MP320GG 4444400000 0 0 2 43 CA45 Fonctionnement 44 C 4 6 Int gration de Mp320gg dans le JukeBoxe 45 CA7 Conclusion s 24 540 OP EA eons 5 Le ERROR A ie 45 Eb RIP RISP coros dai a he Re a is mt Rien Me 45 CSL A Se DR NE teres A a do Schl ee te ae cu 45 C 5 2 RTP Control Protocol RTCP 48 C 5 3 RTSP Realtime Transport Streaming Protocole 51 C 6 LOG4J pour la journalisation 52 G 6 1 Introduction ss smag Lace eR Manu ea Ow Re Oe aoa Se 2 52 C 6 2 Concepts fondamentaux 52 C 63 Installation m siccare 444 4448 6 van a a s a etes 53 C64 Configuration 4 4 42 5 sas a sa ead sa see mes pda rue der sde 53 C65 Utilisation e 44 8 08e 8 ie ave td Mie lent de Oe ee a a AS 54 C66 Conclusion as 44 4 anus e ue do da se Seer ee ee di 55 C 7 Pr sentation de LDAP ociosas 88689 24044448 e E 55 C71 Les ann aires s 2 44 4 4 4 d a des e e de 55 C 7 2 Leprotocole Ldap 54 4 us a a e a e et a a E 4 56 C73 SOUICES 2 ce A ROR er a A Oe Re A de Se te 61 C 8 Authentification LDAP dans Tomcat 62 C 8 1 Relation Tomcat LDAP e 62 C 8 2 Cr ation de l annuaire LDAP
9. mentales vous devez sauver les modifications incr mentales Le serveur MySQL doit tre lanc avec l option log bin pour qu il puisse stocker ces modifications au fur et mesure des modifications des donn es Cette option active le log binaire Voici la commande taper shell gt mysqldump single transaction flush logs master data 2 all databases gt backup_day_date_ AMorPM sql Nous recommandons vivement une automatisation des sauvegardes avec une sauvegarde complete une fois par semaine a une heure de faible utilisation de votre base et une sauvegarde incr mentale une fois par jour Il vous appartient d utiliser l utilitaire de programmation de t che qui vous convient mais nous recommandons l utilitaire CRON pour l environnement linux 24 B 2 4 Restauration manuelle de la base de donn e Pour effectuer une restauration de la base de donn e il faut proc der comme suit Ouvrir une page web Taper l adresse suivante lt https 195 220 26 5 phpmyadmin gt Une authentification au serveur va tre demand e Une fois celle ci saisie il faut s authentifier aupr s de la base en tant qu administrateur q PF D bP Une fois l authentification faite cliquer sur le lien SQL en haut de page et y coller le texte export lors de la derni re proc dure de sauvegarde 6 Cliquer sur le bouton Executer B 2 4 1 Par acc s au serveur de Base de donn e il faut commencer par utiliser la premi
10. re sauvegarde compl te de la mani re suivante shell gt mysql lt backup_sunday_1_PM sql Apr s cela il faut utiliser les sauvegardes incr mentales c est a dire les fichiers de log binaire shell gt mysqlbinlog fichier bin 00000x fichier bin 00000x mysql B 3 Mise en production du serveur de diffusion Le lancement du serveur de diffusion se fait en plusieurs tape Il vous faut au pr alable un annuaire RMI disponible sur un serveur B 3 1 Configuration La configuration se fait l aide d un fichier de configuration pr sent dans le r pertoire de l applicatif et est nomm config _serveur ini Visualisons son contenue serveur ayant le service RMI disponible rmi localhost serveur ou est pr sent 1 allocateur allocateur localhost serveur qui g re la s curit securite localhost fle type de chiffrage d sir pour le moment DES et Blowfish chiffrage DES tOu sont les donn e musicale interfaceDonnee systemeDeFichier Uniquement si l interfac t le systeme de fichier systemeDeFichier home beytu Documents Musiques ogg votre adresse public adresse 127 0 0 1 rmi ce param tre permet d indiqu o est localis votre annuaire RMI allocateur ce param tre permet d indiqu o est localis votre allocateur securite ce param tre permet d indiqu o est localis votre centre de securite chiffrage Param tre indiquant le chiffrage utilis pour le syst m
11. taire vers un format libre M me s il y a priori des risques th oriques de perdre en qualit par rapport un fichier source au format WAV la conversion des MP3 en OGG peut tre tr s int ressante La perte de qualit l oreille humaine est peu flagrante voire inexistante la perte est bien inaudible C 4 4 Tout avec MP320GG Mp32Og est un script Perl en 8220 license artistic8221 http www opensource org licenses artistic license html qui permet de convertir des fichiers MP3 au format Ogg en reprenant les ID3 Tag du fichier MP3 Il reconstruit correctement le fichier MP3 en fichier Ogg Il permet aussi de renommer le fichier avec l extension ogg et de supprimer la vol e l original fichier mp3 et bien d autres options L auteur de ce script est Nathan Walp qui ne le maintient plus faute de temps Nous allons montrer une simple d monstration de Mp32Ogg sans l avoir int grer dans notre JukeBoxe Installation sous Debian o autre syst me d exploitation s en inspirant Ubuntu Recherche du nom du paquet root zeus home ilies apt cache search mp3209g mp32ogg Converts MP3 file to Ogg Vorbis 43 Installation de Mp320gg root zeus home ilies apt get install mp32ogg Pr requis pour l installation de Mp320gg il faut aussi installer les paquets suivants libmp3 info perl liboggflac3 libstring shellquote perl mpg321 vorbis tools C 4 5 Fonctionnement Par exemple se placer sous un r per
12. te de page sont TOUJOURS OggS cod en UTE 8 En hexad cimal cela donne 4F 67 67 53 Cela permet de rechercher les ent te de pages Note il y a une chance sur 2 32 7 4 milliard que la suite 0x4F676753 apparaissent al atoirement dans le flux de donn es donc il faut s assurer que ce qu on a trouv EST bien un ent te de page 0x4f O 0x67 g 0x67 g 0x53 8 Ces 4 octets signifient le d but de page ll aide le d codeur trouver la fronti re entre les pages et permet de le resynchroniser si le flux est corrompu Version Stream Structure Version Cet octet signifie le num ro de version du format du fichier Ogg utilis dans ce flux Pour le moment cet octet est mis 0 Il semblerait que ce nombre fasse r f rence la structure ogg Type Header Type Bit 0x01 La page contient des donn es d un paquet qui continuait depuis la page pr c dente Bit 0x02 C est la premi re page du flux logique logical Bitstream gt bos Bit 0x04 C est la derni re page du flux logique gt eos Il y a trois flags contenus dans cet octet un flag est une variable qui peut prendre seulement 1 ou 2 valeurs Premier bit 0 si vous commencez avec un nouveau paquet dans cette page 1 si vous continuez un paquet de la page pr c dente Deuxi me bit 1 si c est le d but d un flux binaire 0 sinon Troisi me bit 1 si c est la fin d un flux binaire 0 sinon Comme il n y a qu
13. tre virtuelle Elle est g r e par la ligne rootdn La solution la plus simple consiste utiliser une forme en fonction du choix du suffixe rootdn cn admin dc cuefa dc inpg dc fr Le gestionnaire de la base doit se connecter l aide d un mot de passe celui ci est d crit par la ligne suivante rootpw motdepasse Le r pertoire de stockage des donn es de l annuaire est indiqu par la ligne suivante directory var lib ldap B 1 3 6 Gestion des contr les d acc s L acc s aux entr es et attributs slapd est contr l par la directive de configuration d acc s La forme g n rale d une ligne d acc s est la suivante lt access directive access to lt what gt by lt who gt lt access gt lt control gt lt what gt dn lt target style gt lt regex gt filter lt Idapfilter gt attrs lt attrlist gt lt who gt anonymous users self dn lt subject style gt lt what gt d finit les entr es et ou les attributs sur lesquelles les r gles s appliquent lt who gt d finit quelles identit s ont acc s lt access gt d finit le type d acc s Dans notre cas access to attrs user Password by dn cn admin dc cuefa dc inpg dc fr write by anonymous auth by self write by none Cette acl permet l administrateur de modifier n importe quel mot de passe l anonyme de s au thentifier l utilisateur authentifi de changer son mot de passe ac
14. 2 padding P Si le bit de padding est mis 1 le paquet contient un ou plusieurs octets de rembourrage la fin qui ne font pas partie des donn es extension X Si le bit d extension est mis 1 l ent te est suivie par une seule ent te d extension CSRC count CC Le compteur des CSRC contient le nombre des identificateurs CSRC qui suivent l ent te de taille fixe c est dire qui suivent les trois premiers mots de 32 bits de l ent te RTP marker M L interpr tation du bit M est d finie par l application travers un profile sp cifique cette application Il existe un profile pour l audio et la vid o L ent te RTP se compose de 4 champs essentiels tels que le payload type le sequence numberle ti mestamp et le source identifier RTP Header Payload type Il est compos de 7 bits Il y a donc 128 type de payload diff rent support par RTP Pour un flux audio le payload type est utilis pour indiquer le type d encodage PCM MPEG8230 Ce champ identifie le type du payload audio vid o image texte html etc Si un metteur d cide de changer l encodage au milieu de la session l metteur informe le r cepteur du changement d encodage par le champ payload type L metteur peut changer cette valeur pour augmenter ou diminuer la qualit du bit rate d bit binaire du flux Voici les diff rents type de payload pour le flux audio Paylo
15. Control Protocol RTCP La partie contr le du protocole RTP est sp cifi e dans RTCP Real time Transport Control Protocol Il assure un trafic de contr le c est un feedback pour l metteur sur la qualit de transmission et d autres informations L objectif de RTCP est de fournir diff rents types d informations et un retour quant la qualit de r ception Le protocole RTCP est bas sur des transmissions p riodiques de paquets de contr le par tous les participants dans la session Quatre fonctions 1 Fournir des informations sur la qualit de la session a information en retour pour une source feedback permet une source de changer de poli tique met en vidence des d fauts de distribution individuels collectifs 2 Garder une trace de tous les participants une session 48 a CNAME Canonical Name identifiant unique et permanent pour un participant SSRC Syn chronisation Source identifier 3 Contr ler le d bit auquel les participants une session RTP transmettent leurs paquets RTCP a Plus il y a de participants moins la fr quence d envoi de paquets RTCP par participant est grande Il faut garder le trafic RTCP en dessous de 5 du trafic de la session 4 Transmettre des informations de contr le sur la session optionnel a exemple identifier un participant sur les crans des participants Les paquets RTCP n encapsulent pas les morceau audio ou video A la place les paquets
16. Dimanche 26 F vrier A4 6 Dimanche 5Mars AAT Jeudi9 Mars se ema 64 260 4b buts sn bee eH en Re ENG oH A 4 8 Mardi21Mars AJO Samedi 15 Avril aaa aaa ee A410 Mardi 18 Aval AATL Jeudi 20 Avril cs cee ewe neue gas eee dE 8 a web Belew Eo A412 Jeudi25mai ea ee A 5 Calendrier du projet se 2 42 2 ota eee e e passes Soe ee Dee ee eS A 5 1 Beytullah Gunduz ss 2 ee A52 Wh s Selmi is ses ca ss sua web d s Das aesebrmedsess t ie Aba Johan Bl i sece nosaci canepa a a e te ares A 5 4 Maurice Zarka ee Avo TONY GEO es cut e a atk ae Be Bae e Bee a on ee ea a Exploitation de la plateforme Net jukeboxe B 1 Impl mentation du serveur OpenLDAP Bl Introduction 22 22 essa a ue gta a a aa 4 B12 Installation 5454 2 404 6 464 me ew ote ee a blew Sk Ba a aes A B13 Configuration sss 2240008502 dara 4594 eme p hrpa dessu BAA Lancement a sosy 6 lt 0 a E han Male MAUR ee ew Be e B 15 Ajout du sch ma 44 4444 sia oe aa ee nw Re na ee a 4 B 2 Maintenance de la base de donn e B2 1 Introduction vs eass daneen a aw dent ER amp 6 uma Had 4 B 2 2 Script de cr ation de table B2 3 Sauvegarde manuelle de la base JukeBoxe B 2 4 Restauration manuelle de la base de donn e B
17. Gunduz Participants Beytullah Gunduz Ili s Selmi Points abord s Protocole de connection et de transport Traitement des fichiers audio avec le package JAVA javax sound Compte rendu Cette r union nous a permit de d impl menter des petites maquettes sur certains domaines du projet comme le protocole de transport et de connection sans exploiter le temps r el ainsi que d impl menter la partie traitement d un fichier audio afin qu il soit envoy au client Liste des actions Aujourd hui Impl mentation des 2 maquettes La premi re maquette pour le protocole compos de la connection entre un client et un ser veur Ici l utilisation des sockets et des protocoles TCP et UDP ont t utilis s On a un change d information comme la n gociation de ports l envoi de login password puis transfert d un fichier audio sans la prise en compte du temps r els La seconde maquette impl mente la gestion d un fichier audio c est dire qu elle s appuyait sur le package javax sound pour donner des informations sur le fichier audio comme le titre auteur mais aussi l encodage la taille du fichier la dur e Plusieurs fonctions ont t impl ment es en JAVA comme lire un fichier audio et le stocker dans un byteArray crire les donn es au dio d un byteArray dans un fichier audio de d terminer la dur e d un fichier Ogg Vorbis de transf rer des donn es audio travers un r sea
18. Il s agit de d finir les droits d acc s des utilisateurs sur les ressources de l annuaire objets et attributs 60 Pr ciser qui appartiennent chaque attribut et chaque classe d objet ainsi que les droits d acc s des acteurs sp cifi s Ces droits comprennent essentiellement la lecture la modification la cr ation la suppression et la recherche Pour d finir ces droits il faut commencer par lister les actions possibles Rechercher et lister des donn es Comparer des donn es Modifier un objet Supprimer un objet Ajouter un objet Renommer le DN d un objet Protection r seau Toute la panoplie d outils de s curit est la disposition de l administrateur pour s curiser les acc s r seau au service et la confidentialit des transactions LD AP supporte les protocoles SSL et TLS pour chiffrer les donn es qui transitent sur le r seau Le mod le de r plication La r plication est tr s importante pour plusieurs raisons La premi re est la volont d assurer une disponibilit maximale des donn es g r es par l annuaire La seconde est l optimisation des performances Cette optimisation d acc s l annuaire peut se faire de la fa on suivante plusieurs serveurs d di s la lecture et un seul d di l criture De plus la r plication d un serveur sur plusieurs serveurs peut pallier Une coupure du r seau Surcharge du service Une panne de l un des serveurs Une strat gi
19. LOGGER un niveau minimum de LOG etil n enverra l Appender que les logs qui correspondent ce niveau ou un niveau 52 sup rieur Il y a au moins un logger par application le RootLogger de niveau Debug par d faut mais il peut aussi y en avoir plusieurs selon un principe p re fils Log4 g re les Logger de fa on hi rarchique C est dire qu un Logger peut avoir des enfants et des parents La hi rarchie est g r e par le nom des Logger Les niveaux sont d finis par des points un peu comme la structure des packages de classes en JAVA La classe APPENDER Elle est responsable de diriger les logs vers un flux de sortie Il existe donc des appenders sp cialis s pour les fichiers FileAppender la console ConsoleAppender les bases de donn es JDBCAppen der Elle a le r le de filtrer les messages et de d terminer le mode de sortie des messages selon l impl mentation La classe LAYOUT Cette classe est charg e de mettre en forme l affichage des logs Les Layout d finissent le format du message Je peux par exemple avoir la date l heure le nom de la classe qui envoie le message et le niveau de logging au d but de chaque message C est le r le du Layout de faire a et non celui du d veloppeur qui envoie le message Les diff rents niveaux des messages envoy s par un LOGGER La notion de niveau de journalisation ou de priorit d un message est souvent un fonctionnement commun plusieurs outil de journalisati
20. accessoire Les recettes entrant dans l assiette de la r mun ration sont les recettes publicitaires de sponsoring d change d affiliation de partenariat etc du site web du player et du programme audio Lorsque le programme en flux Continu est exploit par une Soci t qui ne g n re aucune recette via son site Internet WebRadio WebTV institutionnelles Intranet d entreprise c est l un de ces deux minima garantis qui a vocation s appliquer en fonction de l option choisie par l exploitant Fin de l extrait C 12 3 Notre Choix D apr s le cahier des charges ce site internet a un but non lucratif dont l activit principale est la diffusion de musique sur internet Des recettes seront g n r s par la publicit L int gralit des abonne ments la radio seront vers s aux artistes Les recettes de la publicit pourront servir payer un peu plus les artistes ou payer la sacem Nous entrons donc dans le cas 1 but non lucratif activit principale et recettes g n r es par la publicit Nous r mun rerons la Sacem hauteur de 6 des recettes publicitaires percues 145 euros HT par mois 5 35 euros HT par tranche de 100000 pages vu par mois PAVM Donc au minimum ce site internet doit rapporter pour couvrir le co t de la sacem 145 1 196 173 42 euros TTC on devra ajouter 5 35 1 196 6 3986 euros TTC par tranche de 100000 PAVM 77
21. album le genre son stock ici de la forme NOM DU_CHAMPS VALEUR Configuration contient les l ments permettant de configurer tous les couche d abstraction du d codeur telles que l interpreteur de codebook l interpreteur de Noise block Ces paquets sont marqu s comment tant de type lt 0 gt Une fois ces paquets r ceptionn s nous ne devons plus recevoir ce type de paquet L arriv de ce type de paquet signie le comencement d un nouveau fl t Pour d coder le son nous devons absolument avoir l ent te d identification afin de confirmer la pr sence de donn es Vorbis ainsi que la configuration utilis lors de l encodage Les ent tes contenant les commentaires peuvent tre corrompu Nous n aurons tous simplement pas d informations sur l artiste l album le genre C 1 3 Un format d encapsultation le OGG C 1 3 1 section Ce format est avant tous utilis pour le transport Il peut tre utilis aussi bien pour du son que pour de la vid o des sous titres Il impl mente des m chanismes de v rification du fl t ainsi que de synchronisation Sa structure simple comprendre en fait un choix id al pour le transport de media G n ralement un fl t Vorbis est encapsul l aide du OGG pour le transport Nous avons opter pour ce couple dans ce projet Nous abordons ce format plus en d tail dans les annexes suivantes C 2 Sp cification du format OGG C 2 1 Definition Pour d crire le processus d en
22. de connexions JDBC du fichier hibernate cfg xml qui incluent des l ments lt property gt Une fois cette approche suivie il ne reste plus qu ouvrir une session et la retourner la classe qui souhaite effectuer des acc s aux donn es Voici le bout de code permettant ainsi d obtenir une session SessionFactory sessionFactory sessionFactory new Configuration configure buildSessionFactory this session sessionFactory openSession return this session C 9 3 Avantages et inconv nients C 9 3 1 Avantages 1 Gain de temps si on utilise des outils pour g n rer automatiquement la base de donn es et le code Mais ce n est pas la seule possibilit et il devient assez rapide de le faire manuellement une fois 66 que l habitude est prise 2 Les objets m tiers sont plus faciles manipuler 3 Peu de d pendance envers une base de donn es pr cise Th oriquement il n y a que le fichier de configuration changer si on passe d une base de donn es une autre condition que Hibernate sache la mapper 4 Hibernate est OpenSource 5 Efficace et fiable C 9 3 2 Inconv nients 1 N cessite d apprendre l utiliser C 9 4 Bilan Le mapping objet relationnel permet de b n ficier des avantages de la programmation objet pour l utilisation de donn es stock es en base et l API Hibernate permet de faciliter ce type de programma tion Toutefois il n cessite une grande rigueur la cr
23. dente la configuration pour le travail en quipe sera tr s simple Il faut commencer par choisir une perspective de travaille la perspective Java peut faire l affaire Ensuite il faut utiliser la combinaison de touche CTRL N pour la cr ation d un nouveau projet Une fen tre vous invite selectionner un type de projet comme le montre l image ci dessous 73 Select a wizard gt Create a new project by checking out an existing project from a SVN repository Wizards V eyryuev a b Server D simple Y SVN D Vex gt Web b Web Services gt XML X e ci Cee FIG C 6 Cr ation d un projet Subversion avec Eclipse Vous choisirez Checkout Projects From SVN puis une fen tre vous invitera s lectionner un d p t distant Selectionner celui que vous avez cr e pr cedement avec l explorateur de d p t Rien ne vous emp che bien videmment d en cr er un nouveau ic Enfin une derni re question vous est pos e concer nant les dossiers utiliser s lectionn les tous Il reste une derni re tape avant de pouvoir travailler facilement avec Subversion Il faut s lectionner la perspective Team synchronisation puis cliquer sur le petit bouton Synchronize mis en vidance sur l image ci dessous Den 10 noie Due image eg Papo he A eee 009 A t gt FIG C 7 Synchronisation d un d pot distant avec Ecli
24. dont la taille est indiqu e dans le dernier octet Le champ reception report count 5 bits nombre de compte rendus dans le paquet Le champ packet type 8 bits 200 pour SR Le champ length 16 bits longueur du paquet en mots de 32 bits Le champ SSRC 32 bits identification de la source sp cifique l metteur Le champ NTP timestamp 64 bits Le champ RTP timestamp 32 bits Le champ sender s packet count 32 bits Le champ sender s octet count 32 bits statistiques Le champ SSRC n 32 bits num ro de la source dont le flux est analys Le champ fraction lost 8 bits Le champ cumulative number of packets lost 24 bits Le champ extended highest sequence number received 32 bits Le champ interarrival jitter 32 bits C est une estimation de l intervalle de temps d un packet de donn s RTP qui est mesur avec le timestamp et qui est sous forme d un entier C est en fait le temps relatif de transit entre deux paquets de donn s La formule pour le calculer est J J D 1 i J 16 Linterarrival jitter est calcul chaque packet de donn e re u par la source SSRC_n i gt Premier paquet i 1 gt paquet pr c dent D gt diff rence J gt Second paquet Le champ last SR timestamp 32 bits Le champ delay since last SR 32 bits C 5 2 2 Conclusion RTCP est un protocole de contr le associ RTP il mesure les performances par contre il
25. es Des pages sont de tailles variables et contiennent un ent te de page contenant les informations d encapsulation et de reouvrement d erreur Chaque logical bitstream dans un flux ogg commence avec une page de d but bos beginning of stream et finit avec une page sp cial eos end of stream La page bos contient des informations unique qui identifie le type de codec et doit contenir des informations sur le processus de d codage La page bos doit aussi aussi contenir des infos sur le type de m dia encod par exemple pour l audio il doit y avoir le sample rate et le nombre de canaux par exemple Par convention le premier octet de la page bos contient des donn es qui identifie le codec requis En r sum un physical bitstream commence avec les pages bos de tous les logical bitstream contenant un paquet d ent te initial par page suivit par un autre paquet d ent te subsidiaire de tous les flux suivit par des pages contenant les paquets de donn es La sp cification d encapsulation pour un ou plusieurs flux logiques est appell le media mapping Un exemple pour un media mapping est le Ogg Vorbis qui utilise le framework OGG pour encapsuler les donn es audio Vorbis d un fichier par exemple et le transporte comme un flux TCP Le Ogg Vorbis fournit dans la page bos le nom et le type de codec Vorbis le rate et la qualit de celui ci Il fournit aussi deux autres en t te par flux logique La page bos commence avec l octet 0x01 sui
26. est donn e par Taille _ ent te nombre de segments 27 La taille totale de la page est Taille _page Taille_ent te somme lacing_values 1 nombre de segments C 2 6 SECURITE DE L OGG Le format de l encapsulation Ogg est un conteneur et encapsule un flux comme le Vorbis Il ne permet pas de faire de l encryptage de lui m me ou de son contenu Cependant il encapsule tous les genres de flux autant qu il y a un codec pour cela et donc il est capable de contenir un contenu de donn es encrypt Il est aussi possible d ajouter un m canisme de s curit suppl mentaire qui encrypte et signe un flux physique Ogg et fournit donc un contenu confidentiel et authentique authenticit 36 Comme l Ogg encapsule des donn es binaire il est possible d inclure un ex cutable dans le flux Ogg cela est une solution avec les applications qu ils l impl mentent en utilisant le format Ogg sp cialement quand quand l Ogg est utilis pour le streamng ou le transfert de fichier dans un r seau C 2 7 GLOSSAIRE Bos page C est la page initiale d butant le flux d un flux logique qui contient des informations pour identifier le type de codec et des informations sur le d codage Chaining ou multiplexage s quentiel C est la concat nation de 2 ou plus de flux Ogg physique Eos page C est la derni re page fin du flux d un flux logique Granule position C8216 est un num ro de position qui augmente pour un flux logique sp cifique
27. groupOfUniqueNames Cette derni re permet d associer elle m me des utilisateur et les r f ren ant par plusieurs attributs groupOfUniqueNames Ces attributs contiendront le DN des utilisateurs concern s par ce r le Voici une repr sentation de l annuaire o la branche contenant les r les est nomm e groups et celle contenant les utilisateurs people World E e fr E 6 inpg E 6e cuefa Ej NetJukeAdmin 3 NetJukeT v By NetJukeT vOtt Eh NetJukeT Tempo Eh NetJukeUser Ej NetJukeUserUtt people En administrateur Eh batman Eh bernie Eh eddy jic it momo Eh nonane Eh plin Eh rocky Eh televerseur Eh tonyty2 amp tonyty tony Ep tt ty Eh zizou Eh zoro EE geo EEE D Hg Gl e e PAAA HE E E E C 8 3 Liaison Tomcat l annuaire LDAP Pour lier Tomcat afin qu il utilise un annuaire LDAP avec une Application Web il faut cr er un Royaume REALM dans le fichier XML du contexte de l application Pour Tomcat 4 le contexte se d fini dans le fichier g n ral de configuration server xml et pour Tomcat 5 le fichier se nomme context xml et il se trouve dans le r pertoire META INF de l application web Voici un exemple du fichier context xml lt Context path NetJuke docBase NetJuke crossContext false debug 99 reloadable true trusted false gt 62 lt configuration du realm
28. ici puisque bon nombre de param tre entre jeux De plus l introduction du principe de variation dynamique de d bit ajouter de la complication De mani re g n ral l utilisateur d finira un d bit cible L utilisateur moyen ne trouve aucune diff rence entre un fichier MP3 encod en utilisant d bit cible de 192 kilo bits par seconde Pendant longtemps ce d bit tait de 128 kilo octes par secondes Ce debit permettait d avoir une musique avec une qualit raisonnable avec un temps de transfert d environ trente minutes Les utilisateurs arrivait approxim une taille de fichier en partant du principe qu une minute de musique prendrait 1 m ga octets d space disque Aujourd hui avec l Internet haut d bit le standart tend tre 320 kilo bits par seconde pour ce format Bien qu il existe des formats de nouvelle g n ration permettant d avoir une meilleur qualit sonore pour un d bit moindre ce format est encore tr s utilis Il reste dans l sprit de l internaute moyen le format de fichier audio de r ference Enfin il existe trois familles d utilisation 384 kbit s compression 4 1 appell Layer I 160 256 kbit s compression 6 1 10 1 appell Layer 11 112 128 kbit s compression 12 1 14 1Layer III Structure d un fichier Un fichier MP3 est fait d une succ ssion d unit sonore appell Frame Nous appellerons s quence cette unit sonore dans la suite du document Chaque s q
29. le cas d utilisation Visiteur Validation des cas d utilisations pour passer la suite documentation des cas d utilisations D crire sp cifier et impl menter les diff rents diagramme de classe faire Semaine prochaine Architecture du load balancing Architecture de r cup ration des pages perdu R union pour mettre a plat la suite des t che effectuer Prochaine r union Mardi 28 Mars au CUEFA A 4 9 Samedi 15 Avril Objet base de donn e Date Samedi 15 Avril 2006 Lieu Domicile de Beytullah Auteur Beytullah Gunduz Participants Maurice Zarka Beytullah Gunduz Points abord s Architecture de la base de donn e et interface Compte rendus Cette r union a permit d avanc l architecture de la base de donn e et mieux comprendre les services qui vont tre rendu au diff rentes unit s du projet partie vue avec Tomcat et le serveur de diffusion Prochaine r union le 18 Avril au domicile de Beytullah A 4 10 Mardi 18 Avril Objet base de donn e Date Mardi 18 Avril 2006 Lieu 12 domicile de Beytullah Auteur Beytullah Gunduz Participants Maurice Zarka Beytullah Gunduz Points abord s Architecture de la base de donn e et interface Compte rendu Dans le m me esprit que la reunion pr cedente nous avons av
30. les fr quences cod es dans le son original on va donc les supprimer De plus aujourd hui quasiment toutes les musiques utilisent du st r o Ces formats de compression vont garder qu une seul fois les informations identiques sur les deux canaux C est ainsi qu en d compressant nous n obtenons pas une information identique la source C 1 2 3 Le MP3 Introduction Le MP3 est l abbr viation MPEG Audio Layer 3 C est un algorithme de compres sion audio qui s attaque aux sons inaudible l oreille humaine Bien que la perte soit significative dat l algorithme de compression l oreille d un humain n est pas capable d entendre la diff rence avec le son original Bien s r ce n est pas le seul principe qui est utilis dans ces algorithmes mais c est celui qui marqu le plus les professionnels du son La r duction drastique de la taille du fichier apres compression a cr un engouement pour ce format et est rapidement devenu l ic ne du piratage musical sur Internet En effet le succ s est d un contexte particulier Dans les d buts d Internet la bande passante disponible pour l utilisateur tait de cing kilo octets par seconde Une musique au format WAV prennait un temps de transfert fou Le MP3 r duisit ce temps environs trente minute Cette r volution notamment permis le succ s et surtout l exemple judiciaire Napster 29 Taux de compression Le taux de compression est un concept difficile cerner
31. packet_2 data 1H PEA 1H ID seg_l seg_2 seg_3 Dlseg_4 s_5 Dllseg_1 seg_2 seg_3 IR Rils 5 IR pages of other Llogical S bitstreams MUX V page _1 page 2 page_3 physical Ogg bitstream Dans cet exemple nous avons prit une partie du processus d encapsulation d un flux logique Nous pouvons voire une partie de la division du flux en paquets par le codec Le processus d encapsulation Ogg coupe les paquets en segments Les paquets dans cet exemple sont plut t large comme le paquet 1 d coup en 5 segments 4 segments de 255 bytes et un dernier plus petit Le paquet 2 est d coup en 4 segments 3 segments de 255 bytes et un dernier tr s petit Enfin le paquet 3 est d coup en 2 segments Le processus d encapsulation cr e ensuite les pages La pagel et la page 2 contiennent les 5 segments du paquet 1 et la page 3 contientles 3 segments du paquet 2 Enfin le flux logique est multiplex en flux physique Ogg avec des pages d autres flux logiques C 2 5 ENTETE DE PAGE OGG Le sch ma suivant est une description concise de ce qu est un ent te de page dans le format ogg 34 252627 N 26 8 Bytes 4 Bytes 4 Bytes 4 Bytes 4 Bytes 0x4F 0x67 0x67 Absolute Stream Granule Position Serial Number 0x53 OggS 1 Byte Version 1 Byte Type of Bytes in Seg 1 Byte of Seg of Bytes in Seg 1 OggS Les quatre premiers octets de l ent
32. partir de 1995 LDAP est devenu un annuaire natif standalone LDAP afin de ne plus servir uniquement de passerelle d acces des annuaires X500 Standalone LDAP va g rer son propre m canisme de sauvegarde de donn es qui va tre incorpor au d mon de LDAP il s agit de slapd standalone ldap daemon LDAPv3 L tape suivante dans le d veloppement de LDAP tait LDAPv3 cette version enti rement compatible avec LDAPv2 vise combler les limitatins de LDAPv2 Ces principaux ajouts sont La prise en compte des caract res internationaux via le standard UTF 8 La standardisation du m canisme de cha nage des requ tes par renvoie de r f rence refferals lorsque l infiormation est r partie sur plusieurs serveurs LDAP La gestion de la s curit poir l authentification SASL Authentification and Security Layer et le transport des donn es confidentielles TLS Transport Layer Security La norme inclut maintenant des m canismes d extension Il est possible de r aliser des op rationssuppl mentait celles d crites dans la norme tout en s appuyant sur le protocole existant Il est possible par le biais de contr le de modifier le comprtement des op rations de base Un annuaire peut tre interrog pour acc der son sch ma et pour conna tre les extensions qu il impl mente Int gration dans la norme LDAP du sch ma X500 Certaines classes d objets et attributs d finis dans la norme X500 doiven
33. pour authentifier via LDAP gt lt Realm className org apache catalina realm JNDIRealm debug 99 connectionURL ldap 195 220 26 5 389 userPattern uid 0 ou people o net juke dc cuefa dc inpg dc fr roleBase ou groups o net juke dc cuefa dc inpg dc fr roleName cn roleSubtree false roleSearch uniqueMember 0 gt lt Context gt On remarque la d finition d une classe utilis e pour acc der au royaume ici c est la classe JNDI Realm qui est utilis e pour se connecter un annuaire LDAP On aurait pu utiliser un royaume de type MemoryReal classe org apache catalina realm MemoryRealm permettant d authentifier les utilisateur via un fichier XML dont le format est impos par Tomcat Ensuite on trouve l url de connection au royaume qui permet de trouver le serveur sur lequel est l annuaire Puis le userPatern d fini une chaine d acc s dans l annuaire pour trouver les noms d utilisateur login le 0 repr sente donc le login Enfin arrive la d finition des r les qui commence par dire o se trouvent les feuilles d finissant les r les Ensuite RoleName explicite quel attribut de la feuille groupOfUniqueNames informe sur le nom du r le puis on indique si on recherche les r le dans une sous arborescence de la branche d fini plus haut Enfin on d finit quel attribut doit contenir le login de l utilisateur auquel est associ ce r le C 8 4 Authentification HTTP d u
34. qui est stock dans la page d ent te Ce champ est d pendant du codec pour ce flux logique et sp cifi dans un sp cifique media mapping Grouping multiplexage concurrent Intercalage de pages de plusieurs flux logiques dans un flux physique Ogg complet avec la restriction que toutes les pages bos de tous les flux logiques doivent appara tre avant les pages de donn es Lacing value une entr e dans la table des segment d une page d ent te repr sentant la taille du segment relat Logical bitstream Une s quence de bits tant le r sultat d un encodage d un flux Media mapping une utilisation sp cifique d un ensemble de format d encapsulation Ogg avec un codec sp cifique ogg packet une sous partie du flux logique qui est cr e par l encodeur et repr sente une entit a part enti re pour celui ci mais seulement une s quence de bits de l encapsulation Ogg ogg page Un flux physique compos d une s quence de pages ogg contenant des donn es d un seule flux logique ll contient habituellement un groupe de segment contigue d un seul paquet mais quelquefois des paquets sont trop large et on besoin d tre d coup en plusieurs pages Physical bitstream ogg Une s quence de bits r sultant d une encapsulation d un ou de plu sieurs flux logique il est compos de d une sequence de pages de flux logiques avec la restriction que les pages d un flux logique doivent tre dans l ordre Ogg segment Le processus d encapsu
35. s Les attaques de type denial of service Les droits d acc s aux donn es La t che primordiale r side dans l tablissement des r gles d acces aux donn es Il faut d terminer pour chaque attribut quel est son niveau de confidentialit et quel utilisateur ou quelle application pourra y acc der en lecture ou en criture Les m canismes qui peuvent tre mis en oeuvre sont les suivants L authentification Les signatures lectroniques La cryptographie Le filtrage r seau Les r gles d acces aux donn es ACL ou access control list L audit des journaux Les ACL permettent de d crire les habilitations de tout utilisateur r f renc dans l annuaire sur les autres objets de l annuaire Authentification LDAP propose plusieurs choix d authentification Anonymous authentification correspond un acc s au serveur sans authentification qui permet uniquement de consulter les donn es accessibles en lecture pour tous Root DN Authentification Utilisateur privil gi Il a acc s en modification toutes les donn es Mot de passe SSL La session entre le serveur et le client est chiffr e et le mot de passe ne transite plus en clair Simple Authentification and Security Layer permet de faire des m canismes d authentification plus labor s base de cl s Certificats sur SSL Echange de certificats clefs publiques priv es D finition des droits d acc s
36. si la mise disposition d oeuvres n est pas l activit principale du site consiste percevoir une r mun ration gale 12 x Recettes Publicitaires et assimil es x PAVMO PAVM assortie d un minimum garanti gal 200 euros HT par mois par tranche de 500 000 PAVMO et une majoration gale 20 euros HT par tranche de 250 000 PAVMO La notion de pages vues avec oeuvres PAVMO inclut non seulement les pages o se trouvent les players permettant l acc s aux flux et les pages g n r es sur ces players mais surtout l ensemble des pages o sont mises disposition des oeuvres et notamment celles qui permettent d acc der aux pages o se trouvent lesdits players Cet ensemble de pages est g n ralement regroup sous forme de 76 Rubrique ex Cin ma Musique etc qui ont pour objet principal de mettre disposition des contenus prot g s par opposition d autres rubriques ex Forum Horoscope Bourse votre compte vos e mail etc qui n ont pas pour objet principal de mettre disposition des Internautes des contenus prot g s La notion de PAVMO permet ainsi de d terminer la part des contenus prot g s par rapport a l en semble des contenus mis disposition Cette seconde option peut convenir aux exploitants de site In ternet dont la mise disposition d oeuvres des r pertoires des Soci t s d Auteurs ne constitue qu une activit
37. src annexes compte_rendu_ _20060114 xml documentation src annexes compte_rendu_ _20060107 xml D documentation src annexes minidoc_docbook xml M documentation src annexes svn xml 70 beytu proteus Documents DEST jukeboxes svnmove Commande permettant de d placer un fichier d un r pertoire un autre au sein de notre d p t svn commit Cette commande permet d appliquer tous les changements ffectu s l aide des com mandes d crites ci dessous Les fain ants auront le droit d utilis la commande svn ci Nous pouvons voir ci dessous un d roulement normal d une synchronisation beytulproteus Documents DEST jJukeboxe documentation svn ci Log message unchanged or not specified a bort c ontinue e dit c Sending documentation src annexes svn xml Sending documentation src uml xmi Transmitting f data Committed revision 31 C 11 4 Subversion et Eclipse C 11 4 1 Introduction Eclipse est un EDI environement de d velopement integr qui ne cesse de gagner en popularit gr ce a son architecture flexible Ce logiciel est d velopp par IBM afin de faire de l ombre d o son nom Eclipse au tr s dominant SUN dans le monde JAVA Son syst me d extensions permet de se servire d Eclipse comme un socle sur lequel on peut greff des fonctionnalit Aujourd hui nous trouvons des extensions ou plugins en anglais d acc s aux base de donn es d autres pour d velopper en C C Python PHP Ces ex
38. tre l tat actuel du d p t local Nous pouvons ainsi conna tre la liste des fichiers modifi s ajout s ou supprim s La commande svn commit permet d appliquer les modifications Cette derni re commande sera vu plus loin Ci dessous un exemple beytulproteus Documents DEST jukeboxes svn status tmp archive documentation src annexes compte_rendu_ _20060114 xml documentation src annexes compte_rendu_ _20060107 xml M documentation src annexes svn xml beytulproteus Documents DEST jJukeboxe Dans ce cas nous pouvons voir qu un document a t modifi le troisi me et qu aucune action n a t entrepris pour deux document visible avec le point d interrogation pr sent Les diff rentes actions possibles sont d crites cidessous svn add svn add permet d ajouter un document local au d p t Le point d int rrogation pr sent pour le document se transformera en A beytu proteus Documents DEST jukeboxe svn add documentation src annexes compte_rendu_ _20060114 xml tmp archive A documentation src annexes compte_rendu_ _20060114 xml documentation src annexes compte_rendu_ _20060107 xml M documentation src annexes svn xml beytu proteus Documents DEST jukeboxe svn del Cette commande nous permet de supprimer un document pr sent dans le d pot beytu proteus Documents DEST jukeboxe svn del documentation src annexes minidoc_docbook xml tmp archive A documentation
39. veloppent un logiciel internet t l phonique et si tous les deux incorpores le protocole RTP dans leurs produits il est possible pour un client de communiquer avec un autre client m me s il utilise des r seaux t l phoniques et des sytemes diff rents RTP permet pour chaque source camera microphone8230 d assigner son propre flux de paquet avec le protocole RTP Par exmple pour une videoconference entre 2 participants quatre flux RTP peuvent tre ouverts 2 flux pour la transmission audio 1 pour chaque direction 2 pour la transmission video 1 pour chaque direction Cependant des technologies comme le MPEG1 et MPEG2 permettent d empaqueter le flux audio et video dans un m me flux durant le processus d encodage Une fois que cet encodage est fait on peut envoyer qu un seul flux RTP dans chaque direction Les paquets RTP ne sont pas limit s par les applications unicast Ils peuvent tre envoy travers 1 plusieurs et de plusieurs plusieurs arbres Pour plusieurs plusieurs session multicast tous les 46 m tteur et sources dans la session envoient leurs flux RTP vers le m me arbre multicast avec la m me adresse multicast Les flux RTP multicast comme les flux audios et videos venant de plusieurs m tteur dans une videoconf rence par exemple appartiennet tous la m me session RTP Ent te RTP 0 2 3 4 8 9 16 32 version V Ce champ identifie la version de RTP la version actuelle est la version
40. x packet long bytes long b_o_s long e_o_s ogg_int64_t granulepos ogg_int64_t packetno ogg_packet D finition des champs Packet Indique les paquets de donn es Cela est trait comme une couche opaque par la couche ogg Bytes Indique la taille du paquet de donn e en octet Des packets peuvent tre de taille arbitraire BOS Drapeau indiquant si ce paquet commence un flux logique 1 indique que c est le premier paquet 0 indique une autre position dans le flux EOS Drapeau indiquant si le paquet termine un flux 1 indique la fin du packet 0 indique une autre posi tion dans le flux Granulepos Un num ro indiquant la position de ce paquet dans les donn es d cod s C est le dernier chantillon frame ou tout auttre unit d information 8216 granule qui peut tre compl tement d cod e de ce paquet Packetno Num ro de s quence de ce paquet dans le flux ogg C 3 1 4 OGG SYNC STATE Pr sentation Cette structure contient les informations de synchronisation du flux Structure typedef struct unsigned char data nt storage nt Filly nt returned nt unsynced nt headerbytes nt bodybytes ogg_sync_state H H H H H H 40 D finition des champs Data Pointe les donn es des corps du paquet Storage pointe les donn es des corps du paquet C 3 2 Les fonctions essentielles Pr sentation Libogg contient plusieurs fonctions qui sont g n ralement utilis q
41. 3 Mise en production du serveur de diffusion B 3 1 Configuration sss se s 44e aus passa saine ges eds B32 Lancement o 24 244444 ha de aa de RA pue ad et ul HARA Quelques recherches personnelles El Du son au Ogg Vorbis 43 cake ee pass Ree SP eee des eme CAL Lesson ario as Baba ewes es Rate A a A A a x C 1 2 M thodes de compression audio et pr sentation du Vorbis C 1 3 Un format d encapsultation le OGG C2 Sp cification du format OGG Cal Denion escritora aa see de set A pie AA C 2 2 FORMAT ENCAPSULATION DU OGG C 2 3 FORMAT DU FLUX OGG 4 4 C 24 LE PROCESSUS D ENCAPSULATION C 2 5 ENTETE DE PAGEOGG 4 4 C 2 6 SECURITE DE L OGG 5 04 song eee eK eee he d s o eee ea a C2 7 GLOSSAIRE m me henni 2 bou Gh Eee re was near dents C 3 La librairi e C LIBOGG sesta ke a ee ra a pps ess N O0 9 J ON ON O1 O1 O1 01 C31 Les typesdedonn e n jeu es ccs 24444 44 48 ga a a ae ee 37 C 3 2 Les fonctions essentielles 41 C 3 3 Fonctions d encodages 41 C 34 Fonction de d codage ee 41 C4 MP320GG tend notre JukeBoxe aux musiques mp3 42 CAT N tiechoix sa esa aca doy 04046 de Bae oe e disk seb od 42 C 2 Probl
42. 5000 5001 CS PLAY rtsp serveur exemple com twister fichier_audio RTSP 1 0 Session 4231 Range npt 0 SC RTSP 1 0 200 2 OK Session 4231 CS PAUSE rtsp serveur exemple com twister fichier_audio RTSP 1 0 Session 4231 Range npt 37 SC RTSP 1 0 200 3 OK Session 4231 CS JEARDOWN rtsp serveur exemple com twister fichier_audio RTSP 1 0 Session 4231 SC RTSP 1 0 200 4 OK Session 4231 Parmi les m thodes ci dessus seulement 5 contribuent d finir l tat de la session SETUP Le client demande au serveur l allocation des ressources pour un flux et commence une session RTSP 51 PLAY Le client demande la transmission des donn es d un flux allou selon SETUP RECORD Le client initie l enrgistrement selon les param tres de la description de la pr sentation PAUSE Le client arr te temporairement le flux sans lib rer les ressources du serveur TEARDOWN Le client demande de lib rer les ressources associ es au flux La session RTSP cess d exister sur le serveur C 5 3 4 Fonctionnement HTTP GET e a Web Session Description Web SETUP PLAY RTP audio Lecteur RICPaudio ____ multim dia RTP video AAA TR AE PAUSE TEARDOWN C 6 LOG4J pour la journalisation C 6 1 Introduction Dans la prochaine version de notre JukeBoxe nous allons g n raliser l impl mentation d un syst me de journalisation pour deux raisons essentielles Journaliser l ap
43. 7 2 Z a O ANA A ry O Z IZ O OO HHH MH H H HA her nceurServeur D marrage du superviseur nceurServeur Le superviseur est pr t ntationSuperviseur Balayage des canaux ntationSuperviseur Le canal n existe pas je 1 ajout CoucheReseau Mon port d ecoute 4000 CoucheReseau Mon port d envoie 5000 nceurServeur Cr ation de l ordonnanceur pour P O BOX nceurServeur Lancement de 1 ordonnanceur pour P O BOX ntationSystemeFichier Canal interface P O BOX Rock ntationSystemeFichier Fichier home beytu Documents M Vous pouvez pr sent profiter du syst me en vous connectant au portail Web 26 Annexe C Quelques recherches personnelles C 1 Du son au Ogg Vorbis C 1 1 Leson C 1 1 1 Introduction La num risation sonore a tr s vite t une pr occupation des informaticiens Aujourd hui son utili sation et son transport et devenu banal mais avant d en arriver l le traitement sonore est pass par bien des tapes Afin de r pondre aux difficult s rencontr es ainsi qu aux d sires des utilisateurs Essayons de voir au fil de ce document cette volution C 1 1 2 Pr sentation du son Le son est une onde v hicul gr ce l air ambiant Par exemple lorsque nous jouons d un instrument ou que nous parlons tous simplement du son est produit une certaine fr quence sous forme d onde puis transport gr ce l air Bien entendu les mol cules c
44. D ploiement de LDAP D but du d velopement de l interface LDAP Juin 2006 D velopement de l interface LDAP R daction de la documentation client A 5 4 Maurice Zarka Mars 2006 Recherche personnelle sur la base de donn e R criture du cahier des charges Ecriture de cas d utilisation Avril 2006 Finalisation de la r ecriture du cahier des charges et cas d utilisation D veloppement sur la base de donn e 15 Prototype IHM en HTML Mai 2006 Recherche personnelle pour la r alisation d une interface en Java avec la base de donn e Recherche personnelle sur Hibernate ajustement base de donn e D but d implementation d Hibernate Juin 2006 Impl mentation Hibernate et test unitaire R daction documentation client A 5 5 Tony George D cembre 2005 r flection sur l architecture globale du serveur propositions d utiliser Java Tomcat Janvier 2006 criture d un client Java lisant un flux audio sur le syst me audio de la machine divers tests de conversion audio Fevrier 2006 recherches sur OGG pour faire de l encodage via une api Java Mars 2006 Travail sur les cas d utilisation Travail sur les diagrammes de classe du client et du serveur Avril 2006 Travail sur les diagrammes de classe du client et du serveur Mai 2006 recherches perso sur HTML et CSS2 choix frame tableaux interraction Applet IHM
45. Entry conte nant la description de l arbre La d signation des entr es La norme LDAPv3 permet de d signer un objet de deux fa ons gr ce son nom relatif RDN Relative Distinguished Name gr ce son nom absolu DN Distinguished Name Le nom relatif RDN est compos d une ou plusieurs paire s cl valeur attribut Ainsi un RDN sera de la forme cn inpg ou bien c fr Un RDN doit respecter certains crit res Un objet ne doit poss der qu un et un seul RDN Le RDN doit tre un nom unique dans la branche de l objet un m me niveau Un RDN peut tre compos d un ensemble d attributs Le RDN est alors dit multivalu par exemple cn inpg sn uilisateursJukeBox Ainsi il est conseill de faire en sorte que l attribut servant de RDN soit obligatoire Le DN Distin guished Name d un objet est un moyen d identifier de facon unique un objet dans la hi rarchie Un DN se construit en prenant le nom relatif de l l ment RDN Relative Distinguished Name et en lui ajou tant l ensemble des noms relatifs des entr es parentes Le DN d un l ment est donc la concat nation de l ensemble des RDN de ses ascendants hi rarchiques Ainsi une entr e index e par un nom absolu DN distinguished name peut tre identifi e de mani re unique dans l arborescence Le nom absolu DN d un objet ne comportant aucune information relative la localisation de l annuaire lui m me la norme LDAPv3 re
46. HTML D but de l IHM JSP int gration BD et LDAP Juin 2006 Fin de l IHM JSP int gration BD et LDAP IHM en classe Java int gration LDAP int rraction AJAH int gration Applet doc architecture IHM manuel utilisateur R daction du manuel utilisateur 16 Annexe B Exploitation de la plateforme Net jukeboxe B 1 Impl mentation du serveur OpenLDAP B 1 1 Introduction OpenLDAP est un projet libre de serveur d annuaire conforme la norme LDAP 3 il d rive de l impl mentation mis au point par l universit de Michigan Il est compos des l ments suivants Le serveur LDAP slapd La passerelle LDAP vers X500 lapd Le serveur de r plication slurp Des outils d administration B 1 2 Installation B 1 2 1 Paquets installer Le serveur mis en place est une distribution Ubuntu Server avec un noyau 2 6 xxx par cons quent openLdap est packag Il suffit donc de taper les lignes suivantes apt get install ldap server ldap clientpara Ce qui execut n r alit para apt get install slapd ldap utilspara Enter your DNS domain cuefa inpg frpara Enter the name of organisation cuefa inpg compara Admin password xxxxpara B 1 2 2 R pertoires install s L installation g n re un certain nombre de scripts de configuration et va cr er les r pertoires sui vants etc ldap r pertoire des fichiers de configuration var lib ldap r pertoi
47. Plateforme de diffusion audio Net jukeboxe Annexes de la plateforme Beytullah Gunduz Ili s Selmi Johan Blaix Maurice Zarka et Tony Georges 21 juin 2006 A propos de ce document Ce document pr sente les annexes pour notre plateforme de diffusion audio sur internet Net jukeboxe Ces documents ont leur importance et montrent bien souvent le travail de fond que nous avons r alis pour ce projet Nous avons ici uniquement une s l ction de document que nous pensons judicieux de pr senter Vous trouverez notamment des documents sur les diff rentes recherches que nous avons pu ffectu durant ce projet Des pr sentations de technologie accompagn de petits tutoriaux pour une prise en main rapide Nous avons aussi d cid d y glisser des manuels techniques concernant notre plateforme tel que le lancement du diffuseur ou encore la maintenance de la base de donn es Table des mati res A Gestion de projet AA Plan qualit conecci n RE de ses eee ps ed A2 Environnement technique du projet A 3 Documents de qualit produits A A Comptes rendues de r union A 4 1 Samedi Janvier A 4 2 Samedi 14 Janvier A 4 3 Samedi 28 et Dimanche 29 Janvier A 4 4 Samedi 11 et Dimanche 12 F vrier A 4 5 Samedi 25 et
48. RTCP sont envoy s p riodiquement et contiennent les rapports de l m tteur ou du r cepteur qui d crivent les statistiques qui peuvent tre utiles l application Ces statistiques incluent le nombre de paquets transmit le nombre de paquets perdu Les sp cifications RTP RFC 1889 ne dicte pas ce que doit faire l application avec ces informa tions C est la personne d veloppant l application qui d cide de ce qu il veut faire la r ception de ces informations Par exemple l metteur peut utiliser ces informations pour modifier le d bit de trans mission De plus ces informations dites informations de feedback peuvent permettre d mettre des diagnostiques par exemple le r cepteur peut d terminer si les probl mes sont local r gional ou global C 5 2 1 Les types de paquets RTCP Les paquets re us par le r cepteur Pour chaque flux RTP que re oit le r cepteur en tant qu l ment de session le r cepteur g n re un rapport de r ception Le r cepteur empacte ce rapport dans un simple paquet RTP Le paquet est envoy en multicast pour atteindre touts les participants connect s ensemble dans la session Ce rapport inclu plusieurs champs les plus importants sont list s ci 8211 dessous Le SSRC du flux RTP pour lequel le rapport de r ception a t g n r La quantit de paquets perdu dans le flux Cette quantit est donn e sous forme de fraction Chaque r cepteur calcule le nombre de paquets RTP perdu divis
49. Si aucun paquet ne se termine dans la page cette valeur est mise 1 remplie avec des FF puisque 1 en est le compl ment 2 NdT granulaire est une traduction brutale de granular L id e qui est derri re c est qu on compte la position absolue dans une unit qui est indivisible par exemple la frame en vid o ou l chantillon en audio Ce champ de 8 octets contient l infomation de position Par exemple pour un flux audio il doit conte nir le nombre total de samples encod s PCM apr s avoir inclus toutes les frames finis sur cette page Pour un flux video il doit contenir le nombre total de frames video encod s apr s cette page Si la valeur est 8211 1 cela signifie qu il n y a pas de paquets termin s dans cette page Num ro de s rie du flux Stream Serial Number Ce nombre est l une des caract ristiques les plus importantes de l ogg A chaque flux binaire contenu dans un ogg on associe un identifiant unique le num ro de s rie de flux Pour 1 Ogg Vorbis il n y a qu un seul flux binaire Pour 1 Ogg Media il y en a au moins deux vorbis et DivX XviD par exemple et parfois plus si on rajoute des sous titres Comme vous pouvez le constater 1 Ogg supporte jusqu 2 32 flux diff rents Et chaque flux peut tre mixer comme on veut La seule limitation est qu un flux doit tre ordonner dans le fichier et donc que la page n 33 d un flux sp ficique ne doit pas se retrouver avant la page n 32 de ce m me flu
50. TTP Il utilise les URLs et les m canismes compl mentaires de HTTP peuvent tre utilis s Mais il y a deux diff rences essentielles RTSP est un protocole tats n cessaire pour pouvoir corr ler les demandes RTSP avec un flux et dans RTSP le client et le serveur peuvent exprimer des requ tes Il n y a pas de notion de connexion dans RTSP bien que le serveur maintient une session ayant un identificateur Une session RTSP ne correspond pas une connexion de transport comme TCP Durant une session RTSP peut ouvrir et fermer plusieurs connexions de transport chaque requ te Il est aussi possible d utiliser un protocole de transport tel qu UDP C 5 3 2 Comment fonctionne RTSP Chaque pr sentation et chaque flux m dia est identifi par une URL RTSP Une pr sentation peut contenir plus d un flux m dia Le fichier de description de la pr sentation contient les codages langage et d autres param tres qui permettent au client de choisir la combinaison la plus ad quate de m dias lt session gt lt group gt lt track src rtsp audio example com twister audio en gt lt track src rtsp video example com video gt lt group gt lt session gt C 5 3 3 Exemple d un change Client Serveur CS SETUP rtsp serveur exemple com twister fichier_audio RTSP 1 0 Transport RTP UDP unicast client port 3056 3057 SC RTSP 1 0 200 1 OK Session 4231 Transport RTP UDP unicast client port 3056 3057 server port
51. ad Type Number Audio Format Sampling Rate Throughput 0 PCM mu law 8 KHz 64 Kbps 1 1016 8 KHz 4 8 Kbps 3 GSM 8 KHz 13 Kbps 7 LPC 8 KHz 2 4 Kbps 9 G 722 8 KHz 48 64 Kbps 14 MPEG Audio 90 KHz 15 G 728 8 KHz 16 Kbps Voici les diff rents type de payload pour le flux vid o Payload Type Number Video Format 26 Motion JPEG 31 H 261 32 MPEG1 video 33 MPEG video 47 S quence number Ce champ est compos de 16 bits Le s quence number est incr menter de 1 chaque envoi d un paquet RTP par l metteur et peut tre utilis par le r cepteur pour d tecter si un paquet est perdu ou pour redemander un paquet RTP Par exemple si du c t r cepteur on re oit un flux audio avec un espace entre le s quence number 86 et 89 cela signifie qu on a perdu le paquet 87 et 88 A ce moment l Je r cepteur peut essayer de cacher les donn es perdu Timestamp field Ce champ est compos de 32 bits Il refl te l instant o le premier octet du paquet RTP t chantillonn Cet instant doit tre d riv d une horloge qui augmente de facon monotone et lin aire dans le temps pour permettre la synchronisation et le calcul de la gigue les variations de d lai a la destination Synchronisation Source Identifier SSRC Il est compos de 32 bits Il identifie la source du flux RTP Chaque flux dans une session RTP poss de un SSRC distinct Le SSRC n est pas l adresse IP de l metteur mais la place un nombre que la sour
52. anc l architecture de la base ainsi que discut sur la probl matique de l interface Prochaine r union Le 20 au domicile de Beytullah A4 11 Jeudi 20 Avril Objet tat d avancement et pr vision des t ches Date Jeudi 20 Avril 2006 Lieu domicile de Beytullah Auteur Beytullah Gunduz Participants Beytullah Gunduz Ili s Selmi Johan Blaix Points abord s Base de donn e Interface LDAP Diagramme de s quences Compte rendu Nous avons longuement discuter de l etat des lieux du projet surtout concernant les interfaces MySQL et LDAP qui deviennent bloquantes Tony ne peut pas avanc du cot de Tomcat sans ces interfaces cruciales Nous avons essay de comprendre les raison du retard et prendre des mesures si n cessaire Liste des actions Johan s engage r aliser la sp cification d LDAP Beytullah finalisera les diagrammes de s quence cette m me semaine Ilies va soutenir Maurice dans l avancement de l interface MySQL A4 12 Jeudi 25 mai Objet Discution autour de la BD Date Jeudi 25 mai 2006 Lieu Domicile de Beytullah Auteur Maurice Zarka Mise en forme Maurice Zarka Participants Beytullah Gunduz Ili s Selmi Johan Blaix Maurice Zarka 13 Tony Georges Points abord s R soudre des probl mes de requ tages
53. arder dessus ici Nous allons rappeler seulement que le Ogg Vorbis est un format de compression audio avec ses codecs qui fait partie du projet Ogg de la fondation Xiph org dont le but est de proposer la communaut des formats et codecs multim dias ouverts libres et d gag s de tout brevet Nous allons rappeler succintement les avantages du Ogg vorbis sur le MP3 en incluant le point que nous avons cit ci dessus Les avantages du Ogg Vorbis sur le MP3 sont Format libre qui permet le d veloppement actif et continu une gratuit totale aussi bien pour l ar tiste que pour l auditeur Rappelons que le MP3 n est ni libre ni gratuit et il appartient l Institut Fraunhofer et Thomson Multim dia qui en 1998 ont d cid de facturer l utilisation de leur for mat pour chaque encodeur et en 2002 de faire payer pour chaque d codeur Les tarifs officiel se trouve sur le site http www mp3licensing com royalty index html Le Ogg Vorbis permet d encoder jusqu 255 canaux alors que le MP3 quand lui permet d en coder que 2 canaux c est dire qu on peut encoder et d coder de la musique st r o mais rien de plus Un exemple concret si vous voulez encoder de la musique provenant d un DVD avec du son au format 5 1 cinq canaux plus un canal pour les basses fr quences Ogg Vorbis vous permet de le faire sans probl me tandis que le MP3 r duira votre superbe son surround un morceau st r o banal 42
54. ass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top cn tvOffl mployeeNumber 2 givenName tvTempNam 1 grenoble mail tvTempOff tvTemp com postalAddress 1 rue des fruits postalCode 38900 21 sn tvTempOffFisrtName st france telephoneNumber 12345678 uid userl userPassword xxxxx dn ou groups o net juke dc cuefa dc inpg dc fr objectClass organizationalUnit objectClass top ou groups dn cn NetJukeAdmin ou groups o net juke dc cuefa dc inpg dc fr objectClass groupOfUniqueNames objectClass top cn NetJukeAdmin uniqueMember uid administrateur ou people o net juke dc cuefa dc inpg dc fr dn cn NetJukeTv ou groups o net juke dc cuefa dc inpg dc fr objectClass groupOfUniqueNames objectClass top cn NetJukeTv uniqueMember uid tv1 ou people o net juke dc cuefa dc inpg dc fr dn cn NetJukeUser ou groups o net juke dc cuefa dc inpg dc fr objectClass groupOfUniqueNames objectClass top cn NetJukeUser uniqueMember uid userl ou people o net juke dc cuefa dc inpg dc fr dn cn NetJukeTvTempo ou groups o net juke dc cuefa dc inpg dc fr objectClass groupOfUniqueNames objectClass top cn NetJukeTvTempo uniqueMember uid tvTempl ou people o net juke dc cuefa dc inpg dc fr dn cn NetJukeUserOff ou groups o net juke dc cuefa dc inpg dc fr objec
55. ationnelle bas e sur un sch ma SQL Non seulement Hibernate s occupe du transfert des classes Java dans les tables de la base de donn es et des types de donn es Java dans les types de donn es SQL mais il permet d ex cuter des requ tes sur les donn es et propose des moyens de les r cup rer Il r duit ainsi de mani re significative le temps de d veloppement qui aurait t d pens autrement dans une manipulation manuelle des donn es via SQL et JDBC Le but de Hibernate est de lib rer le d veloppeur de 95 des t ches de programmation li es la persistance des donn es communes Hibernate est tr s utile dans les mod les m tier orient s objets dont la logique m tier est impl ment e dans la couche Java dite interm diaire Hibernate aide suppri mer et encapsuler le code SQL sp cifique d une base de donn es aide sur la t che commune qu est la transformation des donn es d une repr sentation tabulaire une repr sentation sous forme de graphe d objets Voici une vue haut niveau de l architecture de Hibernate Application Persistent Objects Hibernate hibernate properties XML Mapping Database Ce diagramme montre Hibernate utilisant une base de donn es Il pr sente aussi des donn es de configuration qui fournissent un service de persistance l application La flexibilit de Hibernate et toutes les approches qu il accepte nous pose probl me pour donner une repr sentation p
56. capsulation du Ogg je vais donner un certain nombre de d finitions Le resultat d une encapsulation Ogg est apell Physical Bitstream Il encapsule un ou plusieurs flux encod s qui sont apell s Logical Bitstream Un Logical Bitstream fournit au processus d encapsula tion Ogg a une structure qui consiste a le d coup en s quence apell s Packets Les packets cr es par l encodeur du logical bitstream repr sentent une entit a part enti re pour cet encodeur Ogg Segments et pages L Ogg poss de deux structures basiques le segment et la page Quand les paquets sont envoy s pour former un ogg ils se pr sentent souvent sous la forme de petits paquets appel s segments Les r gles r gissant les segments sont les suivantes Chaque segment a une longueur de 255 octets except le segment de fin Le segment de fin DOIT avoir une longueur inf rieure 255 octets Pour les paquets ayant exactement 255 octets ou un multiple de 255 le segment de fin est zero la raison de cela sera expliqu e par la suite Les paquets ayant moins de 255 octets ne sont pas fragment s Ils sont simplement d clar s comme tant le segment de fin La raison d tre de ces r gles concernant le segment de fin est la suivante quand vous avez un segment de longueur inf rieure 255 cela signifie que vous tes arriv la fin du paquet Les pages sont l ossature de l ogg et fournissent une structure qui permet le support de
57. ce assigne al atoirement quand le nouveau flux a commenc La probabilit que 2 flux poss dent le m me SSRC est tr s faible C 5 1 3 Conclusion RTP fournit des fonctions de transport de bout en bout pour les applications temps r el sur des services r seaux multicast ou unicast conf rence audio vid o interactive diffusion vid o audio simulation Mais il n interfere pas dans la transmission Il permet de reconstituer la base de temps des diff rents flux multim dia audio vid o d tecter les pertes de paquets identifier le contenu des paquets pour leur transmission s curis e Il ne permet pas de r server des ressources dans le r seau apporter une fiabilit dans le r seau garantir le d lai de livraison RTP peut s appuyer sur diff rents protocoles Dans l architecture TCP IP il s appuie sur UDP Il fait partie int grante de l application contrairement d autres protocoles de transport comme TCP Dans une session mutim dia chaque m dia est transport dans des sessions RTP distinctes Cela permet de s adapter la bande passante des destinataires certains ne peuvent recevoir que l audio C est gr ce l identificateur de la source et l horodatage des chantillons que la synchronisation peut tre assur e Enfin RTP peut tre vehicul par des paquets multicast afin d acheminer des conversations vers des destinataires multiples C 5 2 RTP
58. cess to by dn cn admin dc cuefa dc inpg dc fr write by dn cn admin dc cuefa dc inpg dc fr read by users read by none Acc s en ecriture et en lecture pour tout l annuaire pour l administrateur Acc s en lecture pour les utilisateurs authentifi s 19 B 1 4 Lancement Pour d marrer le serveur il suffit de taper la commande suivante etc init d slapd start B 1 5 Ajout du sch ma Pour ajouter des donn es au serveur LDAP il faut fournir un fichier au format Idif le format est un format texte facilement lisible au contraire du format interne de l annuaire Voici notre fichier de base dn dc cuefa dc inpg dc fr objectClass top dn o net juke dc cuefa dc inpg dc fr objectClass organization objectClass top o netjuke dn ou people o net juke dc cuefa dc inpg dc fr objectClass organizationalUnit objectClass top ou people dn uid administrateur ou people o net juke dc cuefa dc inpg dc fr objectClass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top cn administrateur mployeeNumber 1 sn admin uid administrateur userPassword XXXXXXXX dn uid userl ou people o net juke dc cuefa dc inpg dc fr objectClass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top cn userl mployeeNumber 2 givenName userNam 1 grenoble mail user user com postalAddress 1 rue des fruits po
59. commande de le compl ter par l adresse DNS de l annuaire Le mod le fonctionnel LDAP fournit travers le mod le fonctionnel un ensemble de neuf fonc tions appel es parfois proc dures ou op rations de base pour effectuer des requ tes sur les donn es afin de rechercher modifier effacer des entr es dans les r pertoires Les op rations sont g n ralement class es en trois cat gories les fonctions d interrogation il s agit des op rations permettant de rechercher ou comparer des entr es de l annuaire recherche comparaison les fonctions de mise jour il s agit des op rations permettant de modifier des entr es de l an nuaire ajout suppression modification renommage les fonctions de session il s agit des op rations permettant d ouvrir une session s identifier de la fermer ainsi que d annuler une requ te Voici la liste des principales op rations que LDAP peut effectuer Les commandes search et compare se font sous la forme d une requ te compos e de 8 param tres Le scope d finit la profondeur de la recherche dans le DIT Il peut prendre diff rentes valeurs selon la port e de la recherche souhait e base recherche dans le niveau courant one level recherche uniquement dans le niveau inf rieur au niveau courant subtree recherche dans tout le sous arbre partir du niveau courant Il n existe pas de fonction read dans LDAP Cette fonction est simul e pa
60. de la base de donn e il faut proc der comme suit Ouvrir une page web Taper l adresse suivante lt https 195 220 26 5 phpmyadmin gt Une authentification au serveur va tre demand e Une fois celle ci saisie il faut s authentifier aupr s de la base en tant qu administrateur Une fois l authentification faite Cliquer sur le lien EXPORTER de la page principale DD oF ND S lectionner la table JUKEBOXE le langage SQL cocher structure Inclure des nonc s DROP TABLE Inclure la valeur courante de ll AUTO_INCREMENT Donn es et Inser tions compl tes 7 Cliquer sur le bouton EXECUTER Le r sultat permet de reconstruire les tables et de r ins rer les donn es qu elles contenaient au moment de cette sauvegarde Il est judicieux de la sauvegarder dans un fichier texte B 2 3 2 Par acc s au serveur de Base de donn e Sauvegarde complete Comme les tables MySQL sont stock es sous forme de fichiers il est facile d en faire une sauvegarde Par un acc s au shell il faut crire la commande suivante shell gt mysqldump all databases host localhost user administrateur password motdepasseadmin gt backup_day_houre_AMorPM sql Le fichier sql r sultant produit par mysqldump contient les commandes SQL INSERT qui peuvent tre utilis es pour recharger les tables ult rieurement Sauvegarde incr mentale Pour r aliser des sauvegardes incr
61. dmin create home svn root lise chown R apache home svn root lise chgrp R apache home svn Configurons pr sent apache Il faut dans un premier temps activer les modules n cessaires root lise etc apache2 mods enableds ln s mods available davx Modifions pr sent le fichier etc apache2 mods enabled dav_svn conf afin d indiquer le r pertoire d accueil de subversion lt Location svn gt DAV svn SVNPath home svn lt Location gt Relan ons notre serveur apache root lise etc init d apache2 reload x Reloading web server config ok root lise C 11 2 2 Cot client Il faut installer au pr alable subversion beytu poseidon sudo apt get install subversion Ensuite il faut r aliser notre premi re importation beytu poseidon svn import Documents jukeboxe http 195 220 26 5 svn m initial import 69 C 113 Utilisation C 11 3 1 Premi re utilisation Avant de pouvoir profiter pleinement de subversion il faut commancer par taper la commande qui suit afin de synchroniser un d p t subversion distant avec un r pertoire local beytulposeidon Documents svn checkout https serveur svn destinationn C 11 3 2 Les commandes de base svn update Commande essentiel permettant de synchroniser le d p t distant avec le d p t local Nous rapatrions donc la derni re revision des fichier concern s svn status Cette commande permet tout moment de conna
62. e hibernate connection password gt admin 23 lt property gt lt property name hibernate connection url gt jdbc mysql 195 220 26 5 jukeboxe lt property gt lt property name hibernate connection username gt administrateur lt property gt lt property name hibernate dialect gt org hibernate dialect MySOLDialect lt property gt lt property name show_sql gt true lt property gt lt mapping resource mapping Remuneration hbm xml gt lt mapping resource mapping Canal hbm xml gt lt mapping resource mapping DescripteurListe hbm xml gt lt mapping resource mapping DetailListe hbm xml gt lt mapping resource mapping DocumentAudio hbm xml gt lt session factory gt lt hibernate configuration gt G n ralement il n y a qu placer ce fichier dans la classpath du projet et l adapter Pour ce connecter a la base il faut d abord obtenir une SessionFactory Pour cela il faut d abord fournir l application une fabrique d instance de Session qui est partag par tous les threads de l application Cependant Hibernate permet l application d instancier plus d une SessionFactory C est utile si plusieurs bases de donn es sont utilis es Nous avons choisi que la connexions JDBC soit fournie par Hibernate et pour cela nous laissons la SessionFactory ouvrir les connexions La SessionFactory re oit les propri t s
63. e la num risation et l exploitation informatique du son trouv ses d buts pendant la seconde guerre mondial A cette poque des recherches taient effectu pour convertir cette onde sonore en une suite de valeur num rique facilement transportable exploitable Cette conversion c est faite en utilisant la notion d chantillonnage on rel ve l amplitude de l onde sonore intervalle r gulier plusieurs fois par seconde Cependant il faut que le nombre d chantillon par seconde soit au minimum deux fois plus lev que la fr quence de son la plus lev afin d viter une illusion acoustique en r f rence l illusion d optique per u lorsqu on film une roue qui tourne plus ou moins vite Pour de plus ample explications nous pouvons faire r f rence au th or me de Nyquist Cette sp cificit explique entre autre le choix de 44 100 chantillon par seconde adopt pour les CD audio Le nombre d illon par seconde d termi lEchantillonage 6 5 16 45 20 FIG C 2 Une onde sonore num ris C 1 1 4 Le probl me du transport Chaque chantillon est repr sent par un nombre cod en m moire sur 16 bits ce qui nous donne une plage de nombre compris entre 32 768 et 32 767 Un son qui passe de 32 768 32 767 sera per u 28 comme tant tr s fort tandis que des 0 nous sig
64. e 3 bits je vais donner les diff rentes combinaisons possibles 0x00 On est au milieu d un flux binaire et on commence un nouveau paquet avec cette page 0x01 On est au milieu d un flux binaire et on continue un paquet de la page pr c dente 0x02 On commence un flux binaire et on d marre avec un nouveau paquet 0x03 On commence un flux binaire en continuant un paquet de la page pr c dente NOTE cela pourrait tre impossible par d finition 0x04 On termine un flux binaire mais on commence cette page avec un nouveau paquet 0x05 On termine un flux binaire en continuant un paquet de la page pr c dente 0x06 On commence ET termine un flux binaire cela se produit quand le flux rentre enti rement dans une seule page 0x07 M me chose mais en prolongeant un paquet de la page pr c dente NOTE cela pourrait tre impossible par d finition Position granulaire absolue Absolute Granular Position NOTE Tous les nombres partir d ici sont stock s dans le header en Little Endian ce qui signifie que 44100 qui devrait normalement tre crit OxAC44 sera crit 44 AC 35 Ce nombre est utilis par une impl mentation sp ciale Il r pr sente une r f rence un temps En audio cela serait par exemple le num ro de l chantillon En vid o ce serait un num ro de frame Il fait r f rence la position granulaire absolue la fin d un paquet de la page
65. e consiste avoir un seul serveur ma tre sur le site principal qui centralise toutes les mises jour Cette strat gie est simple de mise en place Le serveur ma tre va se charger des r pliquer ses informations de mani re r guli re sur les serveurs d di s la lecture Toutefois si ce type de strat gie est simple mettre en oeuvre il y a deux inconv nients Si le serveur maitre tombe en panne les mises jour ne peuvent plus s effectuer Solution ventuelle mise en place d un doublon non accessible pour pallier une ventuelle panne du serveur ma tre Si le serveur ma tre est situ sur un site distant qui n est pas reli en permanence avec les postes clients la mise jour ne pourra pas se faire tout moment Ce point n aura pas de r percussion tant donn que le serveur ma tre est proximit et en r seau avec les postes clients Les possibilit s de r plication L arbre entier ou seulement un sous arbre Une partie des entr es et de leurs attributs qu on aura sp cifi s via un filtre La synchronisation des serveurs peut se faire de fa on totale ou incr mentale La r plication se fait en temps r el ou heure fixe C 7 2 3 Communication LDAP Client Serveur Le dialogue entre un client et un serveur LDAP est bas sur un protocole de type client serveur Sa particularit est de reposer sur un m canisme de questions et de r ponses sous forme de messages trait s par le se
66. e de signature client serveur Vous avez le choix entre Blowfish et DES pour le moment 25 interfaceDonnee le type d interface de donn e d sir Pour le moment les interface suport sont systemeDeFichier et MySQL systemeDeFichier si vous utilisez l interface systemeDeFichier il faut indiquer ici le r pertoire o se trouve vos musiques Les sous r pertoire de ce r pertoire seront consid r comme des ca naux diffuser adresse adresse public du serveur de diffusion B 3 2 Lancement Il faut dans un premier temps vous placer dans le r pertoire de l application et lancer les services d allocation de ressource et de s curit comme suit L allocateur beytu proteus workspace 2006 06 20 13 27 13 INFO 2006 06 20 13 27 13 INFO Le centre de s curit beytu proteus workspace 2006 06 20 13 27 58 INFO 2006 06 20 13 27 59 INFO allocateur locateur D marrage de 1 allocateur locateur L allocateur est pr t securit CentreSecurite Le centre de securit se lanc CentreSecurite Le centre de securit est pr t Enfin le lancement du serveur peut se faire beytu proteus 13 L3 1373 13 1 33 13 13 3 13 T3 13 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 2006 06 20 workspace 30 30 30 30 30 30 30 30 3 0 30 57 57 IT 57 5 7 ch 57 57 57 5
67. e getRuntime Process p r exec cmd p waitFor catch Exception e System out printin erreur d execution cmd e toString C 6 6 Conclusion Avec Log4J notre JukeBoxe aura la technologie n cessaire pour contr ler le fonctionnement correcte de celui ci mais il permettra aussi de tenir des rapports format s de logs C 7 Pr sentation de LDAP C 7 1 Les annuaires C 7 1 1 Les annuaires lectroniques Un annuaire lectronique est un catalogue de donn es dont le but premier est de proposer gr ce des fonctions de recherche un acc s rapide ses ressources aux diff rents clients qui les consulte D finition de Laboratoire supinfo Sun Les annuaires lectoniques stockent donc des donn es sur lesquelles il est possible d effectuer des op rations de comparaison cr ation modification suppression L objectif d un annuaire est de faciliter la localisation de tous types d objets tels des personnes organisations ressources informatiques applications Ils ont trois caract ristiques principales ils sont Dynamique Tout changement sur les annuaires lectroniques s effectuent en temps r els La responsabilit de la mise jour de l annuaire est d l gu des administrateurs et si le droit de modification leur est donn aux propri taires des informations Les co ts de mise jour sont par cons quent tr s faibles Flexibles Dans un annuaire lectron
68. e l espace Lacing_vals chaine de valeurs de lacage des segments dans la page courante Chaque valeurs est un octet indiquant la longuer du segment Granule vals indique les valeurs de lacage des segments de paquets dans une page courante Lacing storage Quantit total de stockage en octet allou s pour stocker les valeurs de lacage Lacing fill marqueur de remplissage de l allocation de stockage courant contre l allocation de stockage totale de la valeur de lacage pour la page Lacing_packet valeur de lacage du segment courant Lacing_returned nombre de valeur de lacage retourn du lacing storage Header zone de stockage temporaire pour un ent te de page durant le processus d encodage pendant que l ent te est en train d tre cr e Header fill marqueur de remplissage de l espace allou pour l ent te Utilis durant le processus de creation de l ent te EOS marqueur plac quand le dernier paquet du flux logique a t bufferis BOS marqueur plac apr s que nous avons crit la premi re page dans le flux logique Serialno num ro de s rie du flux logique Pageno num ro de la page courante dans le flux Packetno num ro du packet courant Granulepos position exact du processus d encodage d codage 39 C 3 13 OGG_PACKET Pr sentation La structure ogg_packet encapsule les donn es pour un simple packet OGG VORBIS Structure typedef struct unsigned char
69. e production qualit A4 Comptes rendues de r union A 4 1 Samedi 7 Janvier Objet Mise en place de la gestion de projet pour le JukeBoxe Date Samedi 07 janvier 2006 Lieu domicile de Beytullah Auteur Ili s Selmi Mise en forme Beytullah Gunduz Participants Beytullah Gunduz Ili s Selmi Points abord s Plan d tude pour d buter le Projet Compte rendu Cette r union nous a permit de cibler les points difficiles du projet Cela nous a permit de 8220 mesurer8221 le travail effectuer durant les six prochain mois Lors de cette r union nous avons commenc monter un plan d action pour le projet c est dire que nous avons d clar s les premiers points tudier et impl menter pour le projet Streaming Temps r el Protocole de transport Liste des actions Aujourd hui Mise en place de la gestion de projet avec MRPROJECT et autre D finition des t ches Estimation des facteurs critiques D finition des ressources Semaine prochaine Temps r el Protocole de transport Prochaine r union 14 janvier chez Beytullah A 4 2 Samedi 14 Janvier Objet Premi re tude des diff rents points critiques du projet Date Samedi 14 Janvier 2006 Lieu domicile de Beytullah Auteur Ili s Selmi Mise en forme Beytullah Gunduz Participants Beytullah Gu
70. eprise dans laquelle la personne travaille mail adresse de courrier lectronique de la personne Le mod le de nommage Le mod le de nommage aussi appel mod le de d signation a pour but de d finir la fa on selon laquelle les objets de l annuaire sont nomm s et class s Ainsi les objets LDAP sont class s hi rarchiquement et poss dent un espace de nom homog ne Cela signifie que d un an nuaire un autre un objet de la m me classe poss dera le m me nom afin de garantir une compatibilit on parle d interop rabilit entre les annuaires L arborescence d information DIT LDAP pr sente les informations sous forme d une arbores cence d informations hi rarchiques appel e DIT Directory Information Tree dans laquelle les infor mations appel es entr es ou encore DSE Directory Service Entry sont repr sent es sous forme de branches 58 Une branche situ e la racine d une ramification est appel e racine ou suffixe root entry Chaque entr e de l annuaire LDAP contient un objet abstrait ou r el par exemple une personne un objet mat riel des param tres Ceci signifie que chaque noeud de l arbre correspond un objet pouvant appartenir n importe quelle classe d objets Les classes d objets peuvent donc tre utilis es comme n importe quel niveau de la hi rarchie et m me la racine de l arbre Il existe une entr e particuli re de l annuaire appel e rootDSE root Directory Specific
71. erspective gt new et choisir SVN repository exploring cliquez avec le bouton droit dans SVN Repository et cliquez sur New gt Repository location Une fen tre apparait vous invitant ajouter l adresse de votre serveur Subversion 72 Add SYN Repository x Add a new SVN Repository Add a new SVN Repository to the SVN Repositories view Location Url https 195 220 26 5 svn Can cane FIG C 4 Ajout d un serveur Subversion Ajout d un serveur SVN Eclipse vous invite pr sent d entr votre login et mot de passe Vous pouvez pr sent visualiser le d p t SA file Edit Refactor Navigate Search Project Bun Window Help re a B SVN Repository SVN Annotate 0 8 snamisa 2 o Y Microle i l gt beytul lah gunduz 33 25 04 06 0906 beytu 32 25 04 06 09 01 beytu an 25 04060859 beytu 28 24 04 06 22 10 beytu 2 21 04 06 00 33 beytu 16 20 04 06 21 16 beytu Act Affected paths Description M documentation src annexes svn 12Mof17M E FIG C 5 Visualisation d un d pot Exlploration d un serveur SVN Travailler en quipe Introduction L utilit de Subversion est tout de m me le travail en quipe Je vais d crire ici comme y arriver avec Eclipse en s appuyant sur Subversion Utilisation de SVN Eclipse Si vous avez configur votre explorateur de d p t comme expliqu dans la partie pr c
72. es informations et audio par exemple dans un ou plusieurs flux intercal s ind pendant de tout format de codage Un tel format de codage doit fournit Encadrement pour des Logical Bitstream Intercallage de diff rent Logical BitStream D tection des erreurs Possibilit de reprendre apr s une erreur d analyse Capable de transmettre un flux Petit ent te qui n utilise pas beaucoup de bande passante utilis par le flux 1 2 de la bande passante utilis pour le flux Possibilit d analyser le flux rapidement M canisme de concat nation de plusieurs Physical BitStream Tous ces consid rations ont t prise pour l Ogg C 2 3 FORMAT DU FLUX OGG Un flux physique OGG est constitu de multiple Logical Bitstream intercall s appell s Pages Un logical BitStream est identifi par un num ro de s rie unique dans l ent te de chaque page d un Physical Bitstream Ce num ro unique est cr e al atoirement et n a aucun lien avec le contenu et l encodage du logical bitstream qu il repr sente Des pages de tous les logicals bitstream sont intercall es la suite des autres mais n ont pas un ordre r gulier ils sont seulement xig s pour tre cons cutifs dans le bitstream logique Le d multiplexeur Ogg reconstruit le logical bitstream original du physical bitstream en prenant les pages dans l ordre et les redirige vers l entit de d codage logique Chaque page contient un type de donn
73. essus de d codage Le d codage est bas autour de la couche de synchronisation ogg La structure ogg_sync state coordonne les donn es entrantes et le d codeur Nous lisons les donn es dans la couche de synchronisation soumission des 41 donn es au flux et production d un paquet pour le d codeur Le d codage travers la couche ogg suit une s quence logique Les tapes logiques du d codage Expose un buffer utilisant ogg sync _buffer Lecture des donn es du buffer utilisant fread ou une fonction similaire Appel la fonction ogg sync_wrote pour dire la couche synchronisation combien d octets vous devez crire dans le buffer Ecrit des donn es en utilisant ogg_sync_pageout Soumet une page compl t la couche de flux avec ogg stream pagein Produit un paquet de donn es au d codeur utilisant ogg_stream packetout En r sumer les flux sont assez complexe et OGG aussi manipule les ent tes les pages inachev es et autres erreurs en entr e OGG SYNC_INIT Initialise le flux ogg OGG SYNC_CLEAR Nettoie les informations d tats de la structure de synchronisation OGG_SYNC_RESET Remet z ro l tat de synchronisation aux valeurs initiales OGG_SYNC_DESTROY Libere la structure de synchronisation OGG_SYNC_BUFFER Fournit une taille propre au buffer pour l criture OGG SYNC WROTE Demande la couche de synchronisation combien d octets ont t crit dans le buffer OGG SYNC_PAGESEEK Tro
74. et utilisation avec JAVA Ilies Selmi technologie de streaming Prochaine r union 11 03 2006 au domicile de Tony Georges A 4 8 Mardi 21 Mars Objet tat d avancement et pr vision des t ches Date Mardi 21 Mars 2006 Lieu CUEFA Auteur Maurice Zarka Mise en forme Beytullah Gunduz Participants Maurice Zarka Beytullah Gunduz Ili s Selmi Johan Blaix Tony Georges Points abord s R criture du cahier des charges Maquette IHM Manuel d utilisation Cas d utilisation 11 diagramme de classe Architecture volutive encodage OGG VORBIS Load balancing Compte rendu Cette r union a eu lieu apr s une intervention de Monsieur Aouane Il nous demand explici tement un retour sur diff rents travaux chose que nous aurions du mettre en place d j pour la pr sentation de la semaine derni re face nos clients Cas d utilisation Diagramme de classe Diagramme de s quence Diagramme de contrainte Au cour de cette r union nous avons donc fait le point sur l tat d avancement de ses t ches et planifi comment lui rendre un travail complet pour le lundi 12 avril Liste des actions Aujourd hui Finir la r criture du cahier des charges Faire une Maquette IHM qqc de tr s simple sous word par exemple Faire un manuelle d utilisation en relation avec IHM Rajouter
75. ettoie la structure OGG_PACKET OGG PAGE_CHECKSUL_SET Fait un checksum de la page ogg ogg page C 3 3 Fonctions d encodages Pr sentation Libogg contient un ensemble de fonctions utilis dans le processus d encodage Pendant l enco dage l encodeur produira des paquets qui seront plac s dans le flux ogg Les paquets sont ins r s dans le flux et une page ogg ogg_page est produite quand assez de paquets ont t crit pour cr er une page compl te Les pages produitent sont des indicateurs pour bufferiser des paquets de segment et peuvent ensuite tre crit et sauvegard comme flux ogg Il y a plusieurs tapes de bases pour l encodage Utilisation d un encodeur pour produire un paquet de donn es Appel de la m thode ogg stream _packetin pour fournir le paquet au flux Utilisation de la fonction ogg_stream_pageout pour produire une page s il y a assez de donn e soumettre Sinon on continue de soumettre des donn es OGG_STREAM_PACKETIN Soumet un paquet la couche de flux de sorte qu il puisse tre form en une page OGG_STREAM_PAGEOUT Produit une page complete si le flux contient assez de paquets pour former une page pleine OGG_STREAM_FLUSH Force tous les paquets restants dans le flux tre retourn comme une page de n importe quelle taille C 3 4 Fonction de d codage Pr sentation Libogg contient un ensemble de fonctions utilis dans le proc
76. flux logique chain doit avoir un num ro de s rie unique C est possible de chain des groupes de flux multiplex s Les groupes quand ils ne sont cha n s doivent attendre d tre un flux multiplex valide Le diagramme suivant montre un exemple d un flux physique qui ob is au r gles de groupage et de cha nage de flux multiplex s Flux physique avec des pages de diff rents flux logiques group s et chain s xAx xBx 4xCx A A CIBIA B A C B C B C xDx D D bos bos bos eos eos eos bos eos Dans cet exemple il y a deux flux physiques chain s le premier est un flux group s de 3 flux logiques 1 B et C Le second est chain apr s la fin du flux group qui finit apr s la derni re page eos de tous les flux logique group Comme on la vue des flux group s commence ensemble toutes les pages bos se trouvent avant les pages de donn es Ogg ne conna t pas toutes les sp cificit s du codec except le fa te qu il peut savoir que chaque flux logique peut provenir d un codec diff rents les donn es du codec viennent dans l ordre et a un marqueur de position appell granule position Ogg n a pas de concept de temps il conna t la notion d incr mentation s quentielle avec le marqueur de position Une application peut aussi avoir une information temporelle travers les couches hautes qui ont acc s au codec de l API et qui convertissent le granular position en temps Une d finition sp cifiq
77. fois Eclipse lanc il faut aller dans le menu Help gt Software updates gt Find and Install selection Search for new features puis Next selection New remote site pour ajouter l adresse http subclipse tigris org update lt http subclipse tigris org update gt 71 t 4 a Install x Update sites to visit al Select update sites to visit while looking for new features 5E Sites to include in search LJ Eclipse org update site New Remote Site Eclipse org update site Sa A P ae New Local Site Eclipse C C EMF Archived Site oA New Update Site O J EMF SDO Ml PyDev Name Subversion ODA Pydev Ext URL http subclipse tigris org update OA umI2 cancel M Ignore features not applicable to this environment lt Back Einish Cancel FIG C 3 Ajout de l extension SVN Eclipse Ajout d un serveur apr s avoir s l ctionner l extension Subversion vous pouvez continuer ensuite le processus nor mal d ajout de fonctionnalit C 11 4 3 Utilisation Gr ce l extension installer vous avez droit de nouvelles perspectives sous Eclipse et notamment deux d entre elles qui vous permet de visualiser le contenue du d p t et de synchroniser votre dep t local avec le dep t distant Explorer le d p t Il faut commencer par aller dans Go to Window gt open P
78. format sans rentr trop dans les d tails Pour commencer nous pouvons dire que ce format ne se contente pas de supprimer les sons inau dibles Il met en jeu un algorithme appell MCDT Modified Discrete Cosine Transforme ou Transform de Consinus discret modifi Cette algorithme transpose les donn es audio de l chelle du temps sur l chelle des fr quences Le r sultat est ensuite divis en Noise block et residue Les donn es sont quantis en utilisant ce qu ils appellent un Codebook Le d codage est fait en utilisant ces op rations dans l autre sens Ce qu il faut retenir ici c est la s paration du codage est du d codage en couche d abstraction La configuration de ces couches se trouve dans l ent te du flux que nous d crivons ci dessous Structure du fl t Le fl t Vorbis est constitu en paquets Ces paquets peuvent tre des ent tes de configuration ou des donn es audios Chaque paquet est marqu pour conna tre son contenue ent te ou donn e audio Les ent tes de configuration permet de conna tre les configurations adopt es pour l en codage et permettre ainsi le d codage Ici le risque est que si l ent te est corrompu toutes les donn es audio deviennent illisible 30 Ent te de configuration Identification permet d identifi le fl t de donn e comme tant du Vorbis Commentaires ce champs contient tous ce qui est consid r comme tant un commentaire Le nom de l artiste le nom de l
79. gned default NULL port_envoi int 10 unsigned default NULL ip server varchar 15 default NULL PRIMARY KEY id_canal ENGINE InnoDB Cr ation de la table DescripteurListe DROP TABLE IF EXISTS DescripteurListe CREATE TABLE IF NOT EXISTS DescripteurListe id_descripteurliste int 10 unsigned NOT NULL auto_increment id_detailliste int 11 unsigned NOT NULL default 0 nom liste varchar 50 NOT NULL default PRIMARY KEY id_descripteurliste ENGINE MyISAM Cr ation de la table DetailListe DROP TABLE IF EXISTS DetailListe CREATE TABLE IF NOT EXISTS DetailListe id_detailliste int 11 unsigned NOT NULL default 0 id_detailliste_2 int 11 unsigned default NULL id_doc_audio int 11 unsigned default NULL ordre passage tinyint 4 unsigned default NULL heure passage time default 00 00 00 ENGINE InnoDB Cr ation de la table DocumentAudio DROP TABLE IF EXISTS DocumentAudio CREATE TABLE IF NOT EXISTS DocumentAudio id_doc_audio int 11 unsigned NOT NULL auto_increment id ldap _proprietaire int 10 unsigned default NULL titre varchar 255 NOT NULL default artiste varchar 50 NOT NULL default genre varchar 50 NOT NULL default album varchar 50 NOT NULL default id_remuneration int 3 unsigned NOT NULL default
80. i seront convertient en fichier Ogg afin de profiter eux aussi d un format de compression libre et ouvert C 5 RTP RTSP C 5 1 RTP C 5 1 1 Introduction RTP veut dire Real time Transport Protocol Le r seau de test de l ARPA DARTNET qui regroupait plusieurs sites fut l origine des exp riences autour des outils MBONE et RTP au d but des ann es 90 Depuis 1993 le MBONE permit d exp rimenter des applications de transmission audio et vid o temps r el Van Jacobson au Network Research Group du LBNL Lawrence Berkeley National Laboratory d veloppa l outil VAT Visual Audio Tool Ce sont les protocoles utilis s au sein de cet outil qui furent l origine de RTP 45 VAT ne traitant que la partie audio VIC adapt de I IVS INRIA Videoconferencing System fut d velopp pour la vid o ainsi que d autres outils tels que le WB White Board pour le partage des donn es et le r pertoire de session SD RTP devient un standard en 1996 par le groupe de travail AVT WG Audio Video Transport de l IETE Internet Engineering Steering Group Plusieurs constructeurs et diteurs se rallient Intel Microsoft Netscape L ITU l integre dans H 323 C 5 1 2 Les bases RTP se situe au dessus de la couche UDP Les donn es audio ou vid o sont encapsul es dans un packet RTP et chaque paquet RTP est a son tour encapsul dans un paquet UDP Comme RTP fournit des services informations num ro de s quence le nombre de paquet
81. ications soient ffectivent C 12 Le webcasting et la l gislation fran aise C 12 1 Le Webcasting C 12 1 1 De facon g n rale Diffusion personnalis e et rafra chie d informations sur Internet pouss es par l entreprise en di rection de l internaute suite la mention par ses soins de ses centres d int r t T l obs compagnies a rienne qui envoie par mail la liste des places libre sur ses vols du lendemain Synonyme Singlecas ting C 12 1 2 De fa on plus centr e sur notre sujet Programmation musicale semblable la radiodiffusion mais r alis e sur l Internet Plusieurs soci t s offrent des sites de radiodiffusion sur le Web permettant d couter un vaste ventail de musique Des concerts en direct peuvent galement tre diffus s en audio et en vid o sur l Internet C 12 2 Loi fran aise autour du Webcasting La SACEM Extrait du site internet de la sacem http www sacem fr Si vous cr ez une WebRadio et ou une WebTV vous utiliserez des oeuvres musicales litt raires dramatiques des sketches de l habillage graphique Pour diffuser ces oeuvres prot g es par le droit d auteur vous devez obtenir une autorisation des soci t s d auteurs assurant la gestion de ces droits SESAM est charg e de g rer le contrat qui permet la diffusion et la reproduction des oeuvres des soci t s de gestion de droits d auteurs Sacem SDRM SACD SCAM ADAGP Le Contrat d autorisation flux continu programmes desti
82. iff rencier minuscules et majuscules Voici les principales syntaxes d attributs d finies dans le protocole LDAPv3 Voici les principales r gles de comparaison d attributs d finies par le standard LDAPv3 Les attributs pr d finis LDAP d finit un ensemble de classes et d attributs par d faut convenant pour la grande majorit des applications Ces attributs doivent imp rativement tre impl ment s par les serveurs d annuaires LDAPv3 Cela permet de garantir une certaine homog n it entre les diff rents annuaires Voici une petite liste non exhaustive des principaux attributs utilisateurs d finis par le standard LDAPv3 Voici une petite liste non exhaustive des principaux attributs op rationnels d finis par le standard LDAPv3 Les classes d objets Par analogie avec la terminologie objet on parle de classe d objet pour d signer la structure d un objet c est dire l ensemble des attributs qu il doit comporter De cette fa on on dira qu un objet est une instanciation de la classe d objet c est dire un ensemble d attributs avec des valeurs particuli res Une classe d objet est ainsi compos e d un ensemble d attributs obligatoires devant obligatoirement tre renseign s dans les objets qui en d coulent et ventuellement des attributs facultatifs On distingue plusieurs types de classes d objets Les classes abstraites sont des classes non instanciables Il s agit de classes pouvant tre d
83. ion audio et pr sentation du Vorbis C 1 2 1 Compression sans perte Je ne vais pas beaucoup m attarder sur ce type de compression Mais ceux ci reste tr s int ressant et attire surtout les amoureux du son qui ne supporte pas les distorsions ou la d gradation du son in rant aux algorithme de compression audio avec perte Avec ce type de compression il est possible de retrouver le son original non compresser partir du fichier compresser Tout comme le ZIP le RAR ou encore le ARJ vous permettent de compresser un fichier puis le retrouver ensuite intact pour le r utiliser ce type de compression agit de facon analogue Ceci dit tandis que le ZIP vous permettrait de gagn environ 5 d espace disque des algorithmes de compression sans perte telle que le FLAC permettent de gagner jusqu 50 d espace disque ce qui reste non n gligeable mais insuffisant pour la portabilit C 1 2 2 Compression avec perte Tres vite pour des soucis de portabilit et de transfert des formats de compression plus agressifs ont fait leur apparition dont notamment le tr s c l bre MP3 ou encore le Vorbis Contrairement au format sans perte il n est pas possible d obtenir la fichier source partir du fichier compress En effet ce type de compresseur supprimer les informations non utile pour notre compr hension du son afin de gagner de l espace disque Comme je l ai mentionn plus haut il est commun ment admit que l oreille ne peut entendre toute
84. ique sa structure n est jamais fig e elle peut tre modifi e facilement la vol e sans n cessiter de reconstruire tout l annuaire ll est toujours possible d ajouter de nouveux champs ou de nouvelles familles d objets S curis Le contr le des informations affich es se font en fonction de l identit de l utililisateur C 7 1 2 Organisation d un annuaire Contrairement aux bases de donn es conventionnelles un annuaire lectronique est une base de donn es sp cialis e elle diff re par le fait que 55 elle est con ue pour recevoir beaucoup plus de requ te en lecture qu en criture Les donn es sont stock es de mani re hi rarchique et non relationnelles on pourrait faire l analo gie de la structure d un annuaire la structure d un syst me de fichiers sous linux Voici un exemple de repr sentation qui s adapte notre projet Par cons quent la recherche d informations dans un annuaire Ldap ne comporte pas de requ tes compliqu es l inverse des bases de donn es Sql jointures de plus les annuaires peuvent communi quer entre eux C 7 13 Utililisation des annuaires Les annuaires peuvent tre utilis pour plusieurs fonctionnalit s Recherche de personnes Recherche de ressources constitution de carnets d adresses d finition de droits d acc s des utilisateurs recensement des informations sur un parc mat riel description des applications
85. la recherche al atoire et de la d tection d erreurs dans l ogg Une page peut contenir jusqu 255 segments de 255 octets chacuns ce qui donne une taille maximale de 65025 octets sans compter l ent te Mais il n y a pas du tout obligation de faire rentrer totalement un segment dans une page donc un segment peut chevaucher plusieurs pages C est le r le de l impl mentation de d finir si une page doit se terminer ou non avec une paquet et Vorbis ne fait cela que dans une seule situation par exemple C 2 2 FORMAT ENCAPSULATION DU OGG Je vais vous pr senter le format d encaspulation du OGG Le OGG est capable d encapsuler tout les genres de format video ou audio ou informations encod s un simple flux 31 Le r sultat de l encapsulation OGG est appell le Physical BitStream Il encapsule un ou plusieus flux encod s qui sont appell e Logical Bitstream Un logical Bitstream fournit au processus d encap sulation Ogg a une strutcture qui est d compos d coup en s quence appell e Packets Les packets sont cr e par l encodeur du Logical BitStream et repr sente les entit s significatives pour celui ci Ils ne contiennent pas d informations de fronti res ficel s ensemble ils semblent tre des flux de bits al atoires sans bornes de limite L id e de conception derri re l Ogg tait de fournir un format g n rique et lin aire de transport de m dias pour permettre de stocker ensemble des donn
86. lation Ogg d coupe chaque paquet en morceau de 255 octets plus un dernier morceau de moins de 255 octets Ces morceaux sont apell s des segments C 3 La librairie C LIBOGG C 3 1 Les types de donn e en jeu Libogg utilise plusieurs structures de donn es pour les donn es et les informations d tats C 3 11 OGG_PAGE Pr sentation Cette structure encapsule des donn es dans une page de flux ogg La structure ogg_page encapsule des donn es pour une page ogg Des pages ogg sont l unit fondammentale d encadrement et d entre lacement dans un flux ogg Elles sont constitu es chacune de segment de 255 octets Chaque page peut contenir jusqu 255 segments ce qui ram ne une taille max de 64kB Mais il n y a pas du tout obliga tion de faire rentrer totalement un segment dans une page donc un segment peut chevaucher plusieurs pages Structure typedef struct unsigned char x header long header_len unsigned char xbody long body_len ogg_page 37 D finition des ch Header amps Pointe sur l ent te de la page Le contenu exact de cet ent te est contenu dans la specification de OGG partie encadrement Framing Header len Longueur de l ent te en octet Body Pointe sur les donn es de la page Body_len Longueur des donn es en octet C 3 12 OGG STREAM STATE Pr sentation La structure ogg_stream_state donne piste l tat courant de l encodage d codage du flux logi
87. lus d taill e de son fonctionnement c est pour cela que nous allons pr senter celle utilis e C 9 2 Architecture l g re L architecture l g re laisse l application fournir ses propres connexions JDBC et g rer ses propres transactions Cette approche utilise le minimum des APIs Hibernate 65 Transient Objects Application Persistent Objects SessionFactory Session JDBC JNDI JTA Database Parce que Hibernate est con u pour fonctionner dans diff rents environnements il existe beaucoup de param tres de configuration Heureusement la plupart ont des valeurs par d faut appropri es et la distribution de Hibernate contient un exemple de fichier hibernate properties ou hiber nate hbm xml gt qui montrent les diff rentes options Les options minimums renseigner sont les pa ram tres de connexion et les noms des diff rents fichiers de mapping charger Voici le contenu de notre fichier hibernate hbm xml lt xml version 1 0 encoding utf 8 gt lt IDOCTYPE hibernate configuration PUBLIC Hibernate Hibernate Configuration DTD 3 0 EN http hibernate sourceforge net hibernate configuration 3 0 dtd gt lt hibernate configuration gt lt session factory gt lt property name hibernate cglib use_reflection_optimizer gt false lt property gt lt property name hibernate connection driver_class gt com mysql jdbc Driver lt property gt lt property nam
88. n human readable je dois voir le prof pour lui d taill notre methode pour transporter le flux histoire d avoir une validation de ce point j ai fait une maquette fonctionnelle permettant d illustrer ces deux points base de donn e sch ma de base de donn e et definition d une interface fournir aux autre services notamment la partie vue visuel tomcat et le serveur de diffusion Maurice ldap schema et definition de l interface pour que d autre services puisse utiliser LDAP de fa on transparente Johan Tony devait s interesser Tomcat installation mise en oeuvre exploitation et comment faire un transcodage du son Probl me identifi Le probl me majeur identifi ce soir la est que beaucoup d rivent de leurs objectifs pour al ler fleurter avec d autres aspects du projet moi y compris Il faut donc cadrer les objectifs de chacun et s y tenir Liste des actions tat d avancement du projet pr sentation des objectifs atteints mise au clair de ceux atteindre pour lundi dans l immediat Mise au propre de mes brouillons Beytullah et rediger de fa on clair non confu comme j ai l habitude de faire les spec Ogg Vorbis ainsi que AlgorithmeUtilise qui devrait plut t s appeller principe de fonctionnement global en y ajoutant la notion d identification de l uti lisateur Je vais ecrire aussi quelque lignes sur la petite tude de code que j ai faite concer
89. n s exclusivement l coute en streaming l exclusion de toute facult d coute oeuvre par oeuvre la demande et de t l chargement a vocation autoriser l coute d oeuvres WebRadio Mix de DJ la visualisation d oeuvres WebTV etc la pr coute d oeuvres extraits la pr visualisation d oeuvres Bandes Annonces etc Pour la diffusion d un programme en flux continu exploit e par un Particulier ou un organisme but non lucratif Association fondations collectivit s locales administration etc ne g n rant pas de recette via son site Internet les conditions financi res pr voient l application d un forfait de 72 5 euros HT par mois avec une majoration gale 2 7 euros HT par tranche de 100 000 pages vues par mois PAVM Pour la diffusion d un programme en flux continu exploit e par une Soci t ou un Particulier et un organisme but non lucratif g n rant des recettes via son site Internet les conditions financi res pr voient une option laiss e au choix du diffuseur a l option 1 conseill e si l activit principale de votre site Internet consiste la mise disposition d oeuvres pr voit de percevoir une r mun ration gale 6 sur l ensemble des Recettes publicitaires et assimil es assortie d un minimum garanti de 145 euros HT par mois avec une majoration gale 5 35 euros HT par tranche de 100 000 pages vues par mois PAVM b l option 2 conseill e
90. n offre pas de garantie Pour cela il faut employer un protocole de r servation du type RSVP ou bien s assurer que les liens de communications utilis s sont correctement dimensionn s par rapport l utilisation qui en est faite 50 C 5 3 RTSP Realtime Transport Streaming Protocole RTSP Real Time Streaming Protocol permet de contr ler la distribution de flux multim dias strea ming sur un r seau IP C est un protocole de niveau applicatif pr vu pour fonctionner sur des protocoles tels que RTP RTCP et RSVP Les flux peuvent provenir soit de clips stock s soit d une source temps r el cam ra micro RTSP a t d velopp par Real Networks Netscape et l Universit de Columbia Il est implant sur les produits de ces soci t s C 5 3 1 Quelles sont les fonctions de RTSP RTSP offre des fonctions de type magn toscope distance lecture pause avance rapide rembobi nage rapide arr t Il peut tre utilis pour rechercher un m dia sur un serveur de m dias inviter un serveur de m dias rejoindre une conf rence dans le e learning par ex ou ajouter un m dia une pr sentation existante RTSP peut tre utilis aussi bien dans des applications unicast que multicast RTSP peut contr ler et synchroniser plusieurs flux audio ou vid o Il ne fournit pas lui m me le flux qui est la charge d autres protocoles comme RTP RTSP est similaire au niveau de la syntaxe et des fonctionnalit s H
91. nalerons du silence Cette m thode d acquisition et de restitution sonore nous rend un son fid le au son original Seule ment un probl me fait vite voir le boue de son nez le poids En effet l espace disque n cessaire pour stocker une musique sauvegard de telle mani re et non n gligeable Si nous prenons une musique de trois minute raison de 44 100 chantillons par seconde et avec un son mono nous arrivons 16 bits x 44 100 chantillons x 60 3 secondes 127 m gabits Et 10 morceaux de trois minutes n cessitent 127 m gabits 10 1 27 gigabits Il faudrait encore multiplier par deux ces r sultat pour avoir une id e de l espace disque n cessaire pour les morceaux stock en st r o Il ne faut pas oubli aussi que certain artiste diffuse des DVD audio dont les pistes contiennes jusqu six canaux diff rents Il faudrait donc multiplier ces r sultats non pas par deux mais par six pour avoir une id e de l espace disque n cessaire Si aujourd hui nous avons des disques durs de grandes capacit s et des connections haut d bits transf rer de la musique resterais tr s longs et cher stocker De plus les appareils nomades permettant d couter de la musique attire surtout pour le nombre de morceaux qu ils peuvent transporter Nous pouvons donc dire qu il est n cessaire de compresser le son afin d avoir des morceaux plus facilement transportable diffusable stockable C 1 2 M thodes de compress
92. nant IceCast Je vais mettre au propore le schema global que j avais fais pour pr senter l articula tion des diff rentes t chnologies utilis llies va rediger une pr sentation de RTP RTSP et JMF sp cification de l interface de base de donn e Maurice devrais poster le 2006 03 09 de quoi satisfaire ce probl me si mes souvenir son bons le schema de base de donn e doit tre en phase 10 final sp cification de l interface LDAP manquante Johan a travaill sur l installation LDAP et de son interfacage avec JAVA Mais aucun sch ma de stockage n a t pr sent Tony travail sur la partie Tomcat Mise en oeuvre et exploitation Il devait aussi permettre le transcodage du son anything20gg Vorbis en gros A 4 7 Jeudi 9 Mars Objet R partition des t ches en vue de la pr sentation de la maquette Date Jeudi 09 Mars 2006 Lieu Domicile de Beytullah Auteur Johan Blaix Beytullah Gunduz Mise en forme Beytullah Gunduz Participants Maurice Zarka Beytullah Gunduz Ili s Selmi Johan Blaix Points abord s Bilan des t ches d j ffectu s Compte rendu La r union a permi d attribuer des missions aux collaborateurs du projet Liste des actions Johan Blaix Interface LDAP plan qualit Maurice Zarka sch ma de la base interface pour la base Beytullah Gunduz technologie de streaming format OGG Vorbis
93. nduz Ili s Selmi Points abord s Plan d tude pour d buter le Projet Compte rendu Cette r union nous a permit de cibler les points difficiles du projet Cela nous a permit de 8220 mesurer8221 le travail effectuer durant les six prochain mois Lors de cette r union nous avons commenc monter un plan d action pour le projet c est dire que nous avons d clar s les premiers points tudier et impl menter pour le projet Streaming Temps r el Protocole de transport Liste des actions Aujourd hui Mise en place de la gestion de projet avec MRPROJECT et autre D finition des t ches Estimation des facteurs critiques D finition des ressources Semaine prochaine Temps r el Protocole de transport Prochaine r union 14 Janvier chez Beytullah A 4 3 Samedi 28 et Dimanche 29 Janvier Objet Technologie utilis pour le projet tude d taill des existants mise en place d un premier pro tocole transport connection Date gt Samedi 28 et Dimanche 29 Janvier 2006 Lieu domicile de Beytullah Auteur Ili s Selmi Mise en forme Beytullah Gunduz Participants Beytullah Gunduz Ili s Selmi Points abord s Etude des existants IceCeast NetJuke Premi re mise en place du protocole sur papier connection transport Compte rendu Compte rendu Cette r union nous a
94. ne application Web Apr s ces tapes reste donner l application Web le type d authentification balise login config et des contraintes d identification qui permettrant d accepter ou refuser des personnes sur certaines pages de l application balises security constraint Cela se fait dans le descripteur de d ploiement le fichier web xml contenu dans le r pertoire WEB INF de l application concern e Voici un exemple de contraintes d acc s dans lequel la premi re balise security constraint est comment e pour expliquer le fonctionnement lt xml version 1 0 encoding ISO 8859 1 gt lt DOCTYPE web app PUBLIC Sun Microsystems Inc DTD Web Application 2 3 EN http java sun com dtd web app_2_3 dtd gt lt web app gt lt display name gt NetJukeBox lt display name gt lt l D finit la zone r serv e aux Membres en d finissant une Security Constraint sur cette Application et en la redirigeant vers le sous r pertoire URL que nous souhaitons prot ger gt lt Contrainte d acces pour les administrateurs gt lt security constraint gt lt on d clare une contrainte de s curit pour les demandeurs lt web resource collection gt lt on d clare une ressource laquelle va s appliquer li lt web resource name gt lt le nom de la ressource gt NetJukeAdmin lt web resource name gt lt url pattern gt connected administ
95. nel Fin de la phase de recherche d but de sp cifications avec r alisation des diagrammes de classes pour les soumettres au groupe Mise en place de notre serveur Subversion fin Mars Avril 2006 Fin de la phase de sp cification D finition des algorithmes utilis Syst me d ordonnanceur diffusion op rationnel Travail sur la base de donn e pour d bloquer la situation Mai 2006 Apparition de la notion d allocateur et de centre de s curit Phase de d veloppement du client serveur D couverte de Log4j gr ce Tony et impl mentation dans le client et le serveur R alisation d un connecteur simulant la base de donn e en utilisant un syst me de fichier Travail avec Ili s pour savoir si il manquait des fonction dans l interface MySQL vis vis des besoins du serveur Proposition d utiliser mp320gg ou soundconvertor avec Java pour convertir les fichier MP3 en OGG 14 Juin 2006 Finalisation du client serveur D veloppement d une servlet pour controler le serveur et pour montrer le fonctionnement de l applet Travail avec Tony sur l int gration du l applet avec Javascript en utilisant de l AJAH Prise en charge de la documentation du projet au format Docbook Mon travail a t de f d rer toute les documentations qui taient dans des formats et encodages diff rents A 5 2 Tli s Selmi D cembre 2006 Mise en place de la gestion de projet pour le JukeBoxe
96. nnected televerseurTemp jsp lt url pattern gt lt web resource collection gt lt auth constraint gt lt role name gt NetJukeTvTempo lt role name gt lt auth constraint gt lt security constraint gt lt Contrainte d acces pour tous les membres identifi s ayant un r le quelconque gt lt security constraint gt lt web resource collection gt lt web resource name gt NetJukeConnecteur lt web resource name gt lt url pattern gt connected redirector jsp lt url pattern gt lt web resource collection gt lt auth constraint gt lt role name gt NetJukeTv lt role name gt lt role name gt NetJukeUser lt role name gt lt role name gt NetJukeAdmin lt role name gt lt role name gt NetJukeTvTempo lt role name gt lt auth constraint gt lt security constraint gt lt Authentification HTTP simple gt 64 lt login config gt lt auth method gt BASIC lt auth method gt lt login config gt lt web app gt C 9 Documentation sur l volution vers Hibernate C 9 1 Introduction Hibernate est un outil de mapping objet relationnel pour le monde Java qui permet de soulager les d veloppeurs lorsqu ils sont amen s travailler avec l orient objet et la base de donn e relationnelle Le terme mapping objet relationnel d crit la technique consistant faire le lien entre la repr sentation objet des donn es et sa repr sentation rel
97. nvironnement du projet c est dire d finir les diff rentes activit s reli es au projet Le tableau suivant num re ces diff rentes activit s Livrable Revue de lancement Sp cification des besoins CR de r union Fiche Besoin Revue de Sp cification Sp cifications fonctionnelles documentation technique Y Revue de conception Conception Technique documentation technique Revue de test R alisation et test unitaire Fiche Reporting Revue de cl ture Int gration CR de r union Manuels d utilisation A 3 Documents de qualit produits Compte rendus de r union num re les participants de la r union rappelle les points abord s puis synth se de ceux ci est r dig e sous une forme de liste d actions et enfin une date de prochaine r union est convenue Fiche besoin Nous pouvons assimiler cela comme une interpr tation du cahier des charges apr s segmentation du projet en plusieurs parties un responsable est d sign pour chacunes d entre elles des livrables lui sont attribu s la technologie de conception est fix e une date de d but et de fin de r alisation de sa partie sont convenues Fiche de reporting Elle est produite lors de l ach vement d une partie elle rapelle les objectifs fix es num re les points blocants ou sensibles ventuellement rencontr s ainsi que les plans d actions correctifs mis en place Ceci est r sum par ce plan d
98. omposant l air ne se d place pas durant ce processus Nous avons affaire un ph nom ne de variation de pression qui est transmis de proche en proche travers les mol cules d air C est ainsi qu on peut expliquer l absence de vent devant un haut parleur par exemple Pour comprendre ce ph nom ne nous pouvons faire une analogie avec une pierre jet dans l eau les vagues se d place mais pas les mol cules d eau nous pouvons le v rifier en posant au pr alable un objet flottant sur l eau Cette onde sonore est caract ris par bon nombres de sp cificit avec entre autre sa fr quence ou son amplitude La fr quence d un son est exprim en Hertz et il nous indique le nombre de variation d am plitude en une seconde Typiquement une faible fr quence correspond un son grave et une fr quence lev correspond un son aigu Il est commun ment admis que l oreille humaine percois les son se trouvant entre 30 Hertz et 15 000 Hertz Bien entendu cette plage varie en fonction de l ge la culture et d autre facteurs environementaux L amplitude quant elle d termine le son per u Elle correspond la moiti de la distance existante entre le point le plus haut de l onde et le point le plus bas Ci dessous un sch ma pour expliquer ces diff rents point cl du son 27 Frequence Amplitude FIG C 1 Une onde sonore C 1 1 3 La num risation sonore Comme beaucoup de technologie informatiqu
99. on L importance du message journaliser est repr sent e par la classe org apache log4j Level Un message n est journalis que si sa priorit est sup rieure ou gale la priorit du Logger effectuant la journalisation L API Log4j d finit 5 niveaux de logging pr sent s ici par gravit d croissante FATAL utilis pour journaliser une erreur grave pouvant mener l arr t pr matur de l applica tion ERROR utilis pour journaliser une erreur qui n emp che cependant pas l application de fonc tionner WARN utilis pour journaliser un avertissement il peut s agir par exemple d une incoh rence dans la configuration l application peut continuer fonctionner mais pas forc ment de la fa on attendue INFO utilis pour journaliser des messages caract re informatif nom des fichiers etc DEBUG utilis pour g n rer des messages pouvant tre utiles au d bogage C 6 3 Installation Il faut tout d abord aller sur le site de la fondation Apache pour t l charger log4j http log ging apache org log4j docs download html T l charger la derni re version stable Ensuite extraire l archive dans n importe quel r pertoire de votre disque dur L archive devrait avoir la structure de r pertoires suivante logging log4j x x x build contribs dist docs exemples src Le r pertoire dist devrait contenir un sous r pertoire lib Ce dernier devrait c
100. onse respons response setContentType text html PrintWriter writer response getWriter writer println Bonjour throw protected void doPost HttpServletRequest arg0 HttpServletResponse argl throws Serv On fait la m me chose pour les m thodes http GET et POST 67 this doGet arg0 argl Apr s a on compile et on obtient le fichier Java compil un class C 10 2 Lier la servlet dans Tomcat Il s agit de cr er un application Web dans Tomcat puis de lier la servlet gr ce au fichier web xml situ dans le r pertoire WEB INF de l application Web Voici un aper u du fichier web xml avec la liaison sur la servlet lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE web app PUBLIC Sun Microsystems Inc DTD Web Application 2 3 EN http lt web app gt lt display name gt BonjourServletApplication lt display name gt lt servlet gt lt servlet name gt BonjourServlet lt servlet name gt lt servlet class gt org test servlet BonjourServlet lt servlet class gt lt servlet gt lt servlet mapping gt lt servlet name gt BonjourServlet lt servlet name gt lt url pattern gt BonjourServlet lt url pattern gt lt servlet mapping gt lt web app gt Il faudra ensuite placer la fichier java compil java dans le r pertoire WEB INF classes le cr er si n cessaire apr s quoi il ne reste plus q
101. ontenir le fichier log4j x x x jar remplacez x x x par le num ro de version Pour installer log4j il suffit d inclure le fichier log4j x x x jar dans le classpath Dans le cas d une application web avec Tomcat c est dans le r pertoire WEB INF lib C 6 4 Configuration Nous pr sentons la configuration de Log4J dans notre prochaine version du JukeBoxe 53 La configuration peut se faire de diff rentes mani res mais pour notre JukeBoxe nous allons utiliser un fichier externe de configuration qui nous permettra d tre modifi pour configurer les traitements des logging sans avoir toucher le code source de notre JukeBoxe On cr er un fichier Log4 properties qui est sauvegarder dans le classpath de notre application Comme nous utilisons le conteneur de servlet Tomcat pour notre application nous sauvegardons le fichier sous TOMCAT_HOME WEB INF classes Voici un extrait de notre fichier de configuration d finition du niveau et des Appender du rootLogger log4j rootLogger DEBUG monAppender configuration de monAppender nous allons envoyer les messages dans la console de Tomcat log4j appender monAppender org apache log4j ConsoleAppender d finition du Layout pour monAppender log4j appender monAppender layout org apache log4j PatternLayout d finition du pattern d affichage pour monAppender voici un exemple de sortie que l on va obtenir 2005 06 18 14 53 37 DEBUG log4j appender monAppender layo
102. permit de d crire d une fa con assez pr cise du fonctionnement des existants pour le streaming audio et des diff rentes technologies permettant de mettre en place une radio Web Elle nous a aussi permit de d finir et de mettre en place sur papier le protocole entre un client et un serveur Notre protocole c est traduit par la connection entre un serveur et un client nous avons d finit quelles sont les informations n cessaires qu a besoin les 2 interlocuteurs pour communiquer comme les ports le login password les droits Liste des actions Aujourd hui Pr sentation des existants D finition mise en place du protocole Technologie utiliser pour la partie traitement des fichiers audio comme le d coupage d un fi chier audio en petit paquet pour la transmission exploitation des m ta donn es du fichier au dio pour d finir l encodage la dur e et tout cela avec la techno JAVA package javax sound Semaine prochaine Impl mentation du protocole Connection et transport Impl mentation du traitement d un fichier audio pour le streaming avec javax sound Prochaine r union 11 F vrier chez Beytullah AAA Samedi 11 et Dimanche 12 F vrier gt Objet Premi res maquettes pour le protocole et le traitement fichier audio Date Samedi 11 et Dimanche 12 F vrier 2006 Lieu domicile de Beytullah Auteur Ili s Selmi Mise en forme Beytullah
103. plication c est dire donner des informations sur le d roulement et l tat de notre application en temps r els Aide pour debugger notre application Dans cette version de notre JukeBoxe nous avons mit en place un syst me d Exception JAVA permettant de r pondre qu une partie de nos exigences avec le syst me d exception on ne pouvait avoir que des retours lors d un probl me dans notre application De plus pour le debuggage il est plus difficile et plus long avec le syst me d exception qu avec un outil de journalisation car les messages envoy s par les exceptions Java sont souvent difficiles comprendre et ne donne pas directement l endroit exacte o a eu lieu le probl me Nous avons choisit l API Application Programming Interface de journalisation Log4J pour plu sieurs raisons Outil Open Source et gratuit ce qui respecte bien la politique adopt pour notre JukeBoxe qui n utilise que des technologies OpenSource G n ration de logs partir de notre code Configuration par niveau par degr la sortie et le formattage des logs l aide de fichiers de configuration externes l application Log4J est un syst me de journalisation pour java de Jakarta C 6 2 Concepts fondamentaux Cette API utilise 3 classes JAVA le Logger qui envoie les logs un Appender qui les affiche selon un Layout La classe LOGGER Elle est responsable de la majorit des op rations de logs On associe un
104. prochaine Pr sentation du prototype pour le DEST Prochaine r union 05 mars chez Beytullah A 4 6 Dimanche 5 Mars Objet R partition des t ches en vue de la pr sentation de la maquette Date Dimanche 05 Mars 2006 Lieu domicile de Beytullah Auteur Beytullah Gunduz Participants Beytullah Gunduz Ili s Selmi Excus s Maurice Zarka probl me de voiture Johan Blaix n a donc pas pu passer Points abord s Documentation qualit Cahier des charges Problematique technique Gestion des donn es Partie vue de la plateforme Compte rendu R ecriture du cahier des charges nous avions fix nos objectifs globals definition d un ca nal systeme d abonnement lors d une r union chez moi Maurice avait dit qu il mettrait au propre J ai relu ce qu il y a sur le wiki et il semble subsister des zones d ombres Maurice passe chez moi samedi j en profiterais pour qu on fige ce document Documentation qualit Johan m avait dis qu il connaissait bien sans que nous y prettions plus d attention nous devons focaliser plus d energie sur ce point pour lundi comprehension du format OggVorbis et m chanisme de transport du flux avec pourquoi pas un petit bou de code pour l illustrer beytu ilies nous considerons la comprehension du format OggVorbis acquis Il faut pr sent mettre ca sur papier de fa o
105. pse Vous tes ensuite invit a s l ctionner le type de synchronisation CVS ou Subversion il faut bien videmment s l ctionner Subversion SVN dans notre cas puis s l ctionner les r pertoires synchro niser Une fois ceux ci s lectionner vous pouvez cliquer sur Finish A pr sent toutes les modifications que vous apporterez vos fichiers apparaitrons dans cette pers pective Un clique droit puis la s lection de l action Commit permettra de de mettre jour le document concern 74 NOTE Certains fichiers propres votre space de travail ne devraient pas tre mis disposition de vos collaborateurs L extension de collaboration d Eclipse inclut dans ses options la possibilit de configurer une liste de type de fichier ignorer Cette fonctionnalit est accessible via le menu Window gt Preferences puis sur la droite s lectionner Team et enfin Ignored ressources L image ci dessous pourra vous aider AT TV VV VV Vv VY General Ant C C Data Help Install Update Internet Java Plug in Development Pydev Run Debug Server Team b cvs File Content Ignored Resources D SVN Validation Web and XML Web Services XDoclet Preferences Ignored Resources Use this page to specify a list of resource name patterns to exclude from version control Ignore Patterns Y ex Y g N BAK M z a
106. que Structure typedef struc unsigned ch long long long int ogg_int64_t long long long long unsigned ch int int int long int ogg_int64_t ogg_int64_t t ar xbody_data body_storage body_fill body_returned xlacing_vals The values that this way lacing_storage lacing_fill lacing_packet lacing_returned ar header 282 1 header_fill e_o_s set when w b Ss e e ytes from packet bodies x torage elements allocated lements stored fill mark x lements of fill returned will go to the segment table granule_vals granulepos values for headers Not compact h but it is simple coupled to the lacing fifo x working space for header encode ave buffered the last packet in the logical bitstream b_o_s x set after we ve written the initial page of a logical bitstream x serialno pageno packetno x sequence number for decode the framing knows where there s a hole in the data but we need coupling so that the codec which is in a seperate abstraction layer also knows about the gap granulepos ogg_stream_state D finition des champs Body_data Indique les donn es du corps du paquet 38 Body storage espace allou pour le corps en octets Body fill Quantit d espace utilis e par le corps du paquet stock Body returned nombre d l ments retoun du stockage d
107. r des documents MP3 dans notre JukeBoxe la conversion au format Ogg se fera au moment ot le document sera post et avant qu il soit stock dans la base de donn es Le script fait appel des outils externes qu on a install en m me temps que Mp32Ogg 44 pour le codage oggenc ogg qui se trouve dans le package mpg321 vorbis tools pour la lecture des tags des fichiers sources on fait appel la biblioth que PERL Audio File libmp3 info perl C 4 6 Int gration de Mp320gg dans le JukeBoxe Nous allons int grer la commande Mp32Ogg notre Jukeboxe gr ce JAVA qui nous permet de lancer une commande Linux ou autre travers un programme JAVA Exemple simple de ce qui vient d tre dit import java applet x import java awt x import java io x public class Mp320gg public static void main String args String cmd conversion du fichier MP3 music mp3 en fichier Ogg cmd mp32o0gg quality 10 rename t music mp3 try Runtime r Runtime getRuntime Process p r exec cmd p waitFor catch Exception e System out printin erreur d execution cmd e toString L int gration de Mp32Ogg dans notre JukeBoxe se fera de cette fa on simple C 4 7 Conclusion Nous pr voyons donc pour la prochaine version du JukeBoxe l int gration d un plugin permettant d accepter de la part des auteurs de chansons et des distributeurs des fichiers MP3 qu
108. r la fonction search avec un search scope gal base Le filtre de recherche s exprime suivant une syntaxe sp cifique dont la forme g n rale est lt ope rator lt search operation lt search operation Ce filtre d crit une ou plusieurs conditions exprim es sous forme d expressions r guli res sens es d signer un ou plusieurs objets de l annuaire sur lesquels on veut appliquer l op ration voulue Lors de la connexion au serveur bind ce dernier demande une authentification Le client doit alors fournir un DN et le mot de passe correspondant celui ci transitant en clair Pour s curiser les tran sactions LD APv3 fournit la possibilit d utiliser du chiffrement SSL ou TLS et le m canisme Simple Authentification and Security Layer SASL procurant des outils d authentification plus labor s base de cl s Une fois connect le client peut envoyer autant de commandes qu il souhaite jusqu ce qu il ferme la session unbind 59 Chaque commande se voit attribuer un num ro de s quence qui permet au client de reconna tre les r ponses lorsque celles ci sont multiples ce qui peut parfois arriver lors d une recherche simple qui peut renvoyer jusqu plusieurs milliers d entr es A chaque op ration le serveur renvoie galement un acquittement pour indiquer que sa t che est termin e ou qu il y a une erreur Le format d change de donn es LDIF LDAP fournit un format d change LDIF Lightweight Da
109. rateur jsp lt url pattern gt lt la page ou les pages lt on pourrait utilise lt web resource collection gt lt auth constraint gt lt d claration des r les authoris s acc der la page gt lt role name gt NetJukeAdmin lt role name gt lt le nom d un r le gt 63 lt auth constraint gt lt security constraint gt lt Contrainte d acc s pour les utilisateurs gt lt security constraint gt lt web resource collection gt lt web resource name gt NetJukeUser lt web resource name gt lt url pattern gt connected utilisateur jsp lt url pattern gt lt web resource collection gt lt auth constraint gt lt role name gt NetJukeUser lt role name gt lt auth constraint gt lt security constraint gt lt Contrainte d acc s pour les televerseurs valid s gt lt security constraint gt lt web resource collection gt lt web resource name gt NetJukeTeleverseur lt web resource name gt lt url pattern gt connected televerseur jsp lt url pattern gt lt web resource collection gt lt auth constraint gt lt role name gt Net JukeTv lt role name gt lt auth constraint gt lt security constraint gt lt Contrainte d acc s pour les televerseurs non valid s gt lt security constraint gt lt web resource collection gt lt web resource name gt NetJukeTeleverseurTemp lt web resource name gt lt url pattern gt co
110. re par d faut o va tre stock l annuaire l aide de la base de donn es de LDAP la bdb Berkeley DataBase usr share ldap r pertoire contenant les documentations et les outils pour migrer par exemple un syst me NIS yellow page existant dans l annuaire LDAP 17 Les traditionnelles pages de manuel et les commandes LDAP sont respectivement install es dans usr man et usr bin B 13 Configuration La configuration d un serveur LDAP est la phase pr liminaire toute mise en oeuvre de celui ci Pour OpenLDAP cela consiste a diter un fichier etc Idap slapd conf Afin de pallier a toute erreur de manipulation et pouvoir revenir la configuration de base il est vivement recommand de faire une copie de ce fichier cp etc ldap slapd conf etc ldap slapd conf old Le fichier slapd conf est constitu de trois types d informations de configuration global sp cifique au backend sp cifique la base de donn es L information globale est sp cifi e en premier suivie par l information associ e un type de backend particulier qui est elle m me suivie par l information associ e avec une instance de base de donn es particuli re Les lignes blanches et les commentaires commen ant par le caract re sont ignor s Si une ligne commence avec un espace elle est consid r e comme la continuation de la ligne pr c dente B 1 3 1 Gestion des sch mas Un objet LDAP est d crit par de
111. riv es c est dire dont d autres classes peuvent h riter La classe d objet de plus haut niveau tant la classe top dont toute classe d objet d rive Les classes structurelles sont des classes instanciables Il est donc possible d avoir des objets Les classes auxiliaires sont des classes permettant d ajouter des attributs facultatifs des classes structurelles Une des caract ristiques int ressantes des classes d objets LDAP est la possibilit d utiliser l h ritage Ainsi la classe de plus haut niveau est la classe top dont toutes les classes d objets d rivent Avec LDAP seul l h ritage simple est autoris donc pas d h ritage multiple c est dire qu une classe ne peut d river que d une seule classe mais qu une classe peut avoir plusieurs filles Les attributs sont caract ris s par leur nom unique un Object Identifier OID qui permet de les identifier de fa on unique une syntaxe et des r gles de comparaison un indicateur d usage un format ou une limite de taille Il s agit d utiliser une s rie de paires cl valeur permettant de rep rer une entr e de mani re unique Voici une s rie de cl s g n ralement utilis es uid userid identifiant unique obligatoire cn common name nom de la personne givenname pr nom de la personne sn surname nom usuel de la personne o organization entreprise de la personne ou organization unit service de l entr
112. rveur de facon synchrone ou asynchrone Dans le cas de communication synchrone le client attend la r ponse avant de transmettre une nou velle requ te Dans le cas de communications asynchrones un num ro de contexte est associ chaque requ te permettant au serveur d envoyer ses r ponses sans contrainte d ordre Dans ce cas on observe que la r ponse 2 arrive avant la r ponse 1 Ceci permet donc d optimiser le serveur si la r ponse 2 est plus rapide obtenir que la r ponse 1 C 7 3 Sources Labo sun com Universit CFAI Comment a marche 61 C 8 Authentification LDAP dans Tomcat gt C 8 1 Relation Tomcat LDAP Tomcat utilise un mode d authentification assez simple il est compos d un nom d utilisateur d un mot de passe et le filtrage des diff rents types d utilisateur est ensuite r alis dans l application gr ce a des r les Ces r les portent de simples nom que l on teste pour voir si l utilisateur dispose du r le ou non Un utilisateur repr sent par un nom peut disposer de plusieurs r les C 8 2 Cr ation de l annuaire LDAP Pour r pondre au sch ma mi par Tomcat nous allons cr er une branche qui contiendra les utilisa teurs et une branche qui contiendra les r les On cr donc une branche de type OrganisationalUnit pour les utilisateurs et une pour les groupes Ensuite chaque utilisateur sera une feuille de type inetOrgPer son et chaque r le une feuille de type
113. s attributs et des classes d objets Un sch ma regroupe des attributs et des classes d objet que pourront poss der les objets de l annuaire Il pr cise pour chaque attribut et chaque classe les contraintes les h ritages les syntaxes les r gles de comparaison Les sch mas sont des fichiers textes se situant dans etc ldap schema Les sch mas n cessaires au bon fonctionnement du serveur sont inclus dans le fichier slapd conf La ligne suivante Schema and objectClass definitions include etc Idap schema core schema va permettre de sp cifier quel sh ma l annuaire doit mettre en ouevre Ici ce fichier d crit la base de tous les annuaires LDAP Il contient les d finitions des attributs et classes d objets standards Ce sch ma est obligatoir c est le minimum attendu par un serveur LDAP Voici un extrait du fichier core schema avec la class person objectclass 2 5 6 6 NAME person DESC RFC2256 a person SUP top STRUCTURAL MUST sn cn MAY userPassword telephoneNumber seeAlso description Explication MUST correspond aux attributs obligatoires et MAY ceux facultatifs ObjectClass est le nom de la classe qui descend elle m me de la classe top sn correspond dans notre cas au pr nom g n ralement sn surname correspond au nom cn correspond dans cas au login g n ralement cn common name correspond au nom pr nom Pour cr er notre annuaire avec les attributs n cessaire il a fallu rajou
114. s les besoins La distribution rendant capable de r partir ou de r pliquer les donn es sur plusieurs serveurs Composition de l annuaire X 500 Lexique DUA Directory User Agent client qui interroge l annuaire DAP Protocol DAP Directory Access Protocol protocole de communication entre client et serveur X 500 Ce protocole s appuie sur deux standards OSI qui sont ROSE Remote Operations Service et ACSE Association Control Service DSA Directory System Agent serveur d annuaire qui comprend la base de donn es DIB Directory Information Base Ce composant peut soit dialoguer avec des clients soit avec d autre DSA DSP Directory Systme Protocol protocole de communication entre deux serveur X 500 Similaire a DAP DISP Directory Information Shadowing Protocol protocole permettant la r plication d un serveur DSA ma tre vers un autre serveur miroir De X500 LDAP DAP est un protocole heavyweight lourd car il n cessite que le client et le serveur communique en utilisant le mod le OSI Ce mod le de sept couches est beaucoup plus lourd que le mod le TCP IP qui n en comporte que quatre En 1993 l universit du Michigan a adapt le protocole DAP de la norme X 500 au protocole TCP IP et mis au point LDAP 56 Il est l origine une passerelle d acc s des bases d annuaires X 500 La premi re impl mentation de LDAP contient le d moin de LDAP Idapd qui est une passerelle entre LDAP et DAP A
115. s par le nombre de paquets envoy s fai sant partie du flux Si un metteur re oit ce rapport indiquant que le r cepteur a recu seulement une petite fraction des paquets transimt par l metteur alors l metteur ce moment l peut chan ger le niveau d encodage pour diminuer la congestion dans le r seau et ainsi augmenter le taux de r ception Le dernier nombre de s quence re u dans le flux des paquets RTP L interval calcul entre les paquets re u dans le flux RTP Le rapport de l metteur Pour chaque flux RTP que l metteur envoie il cr e un rapport et l envoie Ce rapport inclus des informations sur le flux RTP Le SSRC du flux RTP L horodateur et le wall clock du paquet le plus r cent mis dans le flux RTP Le nombre de paquets envoy s dans le flux Le nombre de bits envoy s dans le flux Le rapport de l metteur peut tre utilis pour synchroniser diff rent flux dans la session RTP 49 RTCP d finit les paquets suivants sender report SR Le rapport envoy par la les source s receiver report RR Lerapport envoy par la les destination s Source description SDES La description d une source Goodbye BYE Le paquet envoy quand une source quitte la session L en t te d un paquet RTCP en t te en t te IP UDP L en t te RTCP comportera les informations suivantes Le champ version 2 bits Le champ padding 1 bits indique qu il y a du bourrage
116. s8230 l application multimedia il peut tre vu comme une sous couche de la couche transport comme dans la figure ci dessous Application RTP Data Link Physical Donnons un exemple de l utilisation de RTP dans le transport de la voie Supposons que l applica tion serveur envoie des flux audio partir d une source fichier micro ou autre une application cliente Selon le codage utilis par exemple PCM l application serveur d coupe le flux source en petit mor ceau puis ajoute pour chaque morceau un ent te RTP qui inclut le type du codage audio le num ro de s quence et un compteur Le morceau audio plus l ent te RTP forme le paquet RTP Ensuite le paquet RTP est envoy l interface socket ou il sera encapsul dans un paquet UDP puis envoy au client Du c t client l interface socket r ception recevra le paquet UDP puis extrairera le paquet RTP pour l en voyer l application cliente Quand l application cliente recevra ce paquet RTP il extraira son tour le morceau audio du paquet RTP tout en tenant compte de l ent te RTP pour pouvoir d coder proprement le morceau audio et l utiliser jouer convenablement Format du paquet envoy au client en t te en t te en t te Donn es IP UDP RTP audio ou vid o En conclusion si une application utilise RTP la place d autre solution propi taire elle peut facile ment coop rer avec d autres applications r seaux diff rentes Par exemple si deux entreprises d
117. stalCode 38900 sn userFisrtName st france telephoneNumber 12345678 uid userl userPassword XXXXXX dn uid user0ff1 ou people o net juke dc cuefa dc inpg dc fr objectClass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top cn userOffl mployeeNumber 2 20 givenName userNam 1 grenoble mail userOff userOff com postalAddress 1 rue des fruits postalCode 38900 sn userOffFisrtName st france telephoneNumber 12345678 uid userOff1 userPassword XXXXXX dn uid tv1 ou people o net juke de cuefa dc inpg dc fr objectClass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top cn tvl mployeeNumber 2 givenName tvName 1 grenoble mail tv tv com postalAddress 1 rue des fruits postalCode 38900 sn tvFisrtName st france telephoneNumber 12345678 uid userl userPassword XXXXX dn uid tvTempl ou people o net juke dc cuefa dc inpg dc fr objectClass inetOrgPerson objectClass organizationalPerson objectClass person objectClass top ens tvi mployeeNumber 2 givenName tvTempNam 1 grenoble mail tvTemp tvTemp com postalAddress 1 rue des fruits postalCode 38900 sn tvTempFisrtName st france telephoneNumber 12345678 uid userl userPassword XXXXX dn uid tvoff1 ou people o net juke dc cuefa dc inpg dc fr objectCl
118. stockage et diffusion des certificats dans une infrastructure de cl publique PKI C 7 2 Le protocole Ldap C 7 2 1 Introduction LDAP Lightweight Directory Access Protocol est un protocole standard permettant de g rer des annuaire Il a t d velopp en 1993 par l universit du Michigan son objectif tait de remplacer le protocole DAP en l int grant la suite TCP IP Le protocole DAP servait acc der au service d annuaire X 500 de OSI Actuellement le protocole Ldap en est la version 3 LDAPv3 il a t normalis par l IETF LDAPv3 est d f fini par neuf RFC de 2251 2256 et 2829 2830 ainsi que 3377 X500 Le standard X 500 a t tabli pour normaliser les annuaires lectroniques quel que soit leur domaine d apllication L objectif tant de mettre disposition de l industrie des t l communication un standard capable de faire fonctionner ensemble une multitude d annuaires l chelle mondiale afoin de constituer un annuaire Pages Blanches et Pages Jaunes virtuel unique Elle doit permettre chaque pays de mettre jour son propre annuaire et d interroger les autres de la m me mani re Les caract ristiques exig es et impl ment es sont les suivantes l ouverture assurant une interconnexion des annuaires l extensibilit permettant de modifier simplement la structure des donn es tout en conservant la compatibilit avec la structure d origine et d tre ainsi adaptable tou
119. t tre reconnus par les serveurs LDAP C 7 2 2 Les mod les LDAP est d fini par 5 mod les qui permettent de d crire diff rents aspects de l annuaire nommage structure de stockage et structure hi rarchique s curisation et change de donn es Certains de ces mod les sont d finis dans la norme comme le mod le d chande de donn es ou de nommage D autres doivent tre d finis dans chaque annuaire comme le mod le d authentification et le mod le d informa tion Le mod le d information Le mod le d information du protocole LDAP d finit le type de donn es pouvant tre stock dans l annuaire LDAP On appelle entr e entry l l ment de base de l annuaire Chaque entr e de l annuaire LDAP corres pond un objet abstrait ou r el par exemple une personne un objet mat riel des param tres Une entr e est constitu e de plusieurs objets L ensemble des param tres qui d finissent le type des donn es ainsi que leurs syntaxes forment ce qu on appelle le sch ma de l annuaire Le sch ma de l annuaire Ainsi on appelle sch ma Directory Schema l ensemble des d finitions d objets et d attributs qu un serveur LDAP peut g rer ainsi que leur syntaxe On peut donc d finir des contraintes sur les entr es pour s assurer de la validit des donn es ins r es De cette fa on un annuaire peut uniquement comporter des entr es correspondant une classe d objet d finie dans le sch ma Le sch ma est en effet l
120. t seulement une construction logique et n ont pas d ent te pour eux memes Un groupe contigue de segments sont encapsuler dans une page de longueur variable pr c d par un ent te Une table de segment dans l ent te de page sp cifie la taille Lacing values des segments inclus dans la page Un flag dans l ent te de page dit si une page contient la continuit du paquet d une page pr c dente Notez qu un Lacing Value de 255 implique qu un second Lacing Value suit dans le paquet et que la valeur est inf rieur 255 pour marquer la fin du paquet Un paquet de 255 bytes ou un multiple de 255 bytes est termin par un lacing value de 0 Notez aussi qu un paquet de longueur 0 n est pas une erreur cela am ne un lacing value de 0 dans l ent te L encodage est optimis pour la vitesse et dans le cas ou la majorit des paquets font entre 50 et 200 bytes de larges Cet encodage vite d impos une taille max de paquets aussi bien qu une taille min Le diagramme suivant montre un exemple de media mapping utilisant le Ogg et groupant des flux logiques 33 logical bitstream with packet boundaries gt packet_1 packet_2 packet_3 lt segmentation logically only V packet_1 5 segments packet_2 4 segs p_3 2 segs seg_1 seg_2 seg_3 seg_4 s_5 seg_1 seg_2 seg_3 seg_l s_2 page encapsulation V page _1 packet_1 data page_2 pket_1 data page_3
121. tClass groupOfUniqueNames objectClass top cn NetJukeUserOff uniqueMember uid user0ff1 ou people o net juke dc cuefa dc inpg dc fr dn cn NetJukeTvOff ocu groups o net juke dc cuefa dc inpg dc fr objectClass groupOfUniqueNames objectClass top cn NetJukeTvOff uniqueMember uid tvOffl1 ou people o net juke dc cuefa dc inpg dc fr Cela nous permet de cr er l organisation netjuke les deux unit s organisationnelles groups et people les six r les et tats NetJukeAdmin NetJukeUser NetJukeUserOff NetJukeTv NetJukeTvTemp et Net JukeTempOff ainsi qu une personne pour chacun de ses r les B 2 Maintenance de la base de donn e B 2 1 Introduction Les instructions suivantes vous permettront de restaurer votre base de donn es en cas de probl me Vous trouverez pour cela une premi re partie contenant les scripts de cr ations de tables une seconde 22 pr sentant diff rents moyens de sauvegardes de vos donn es et une troisi me la restauration de ces donn es B 2 2 Script de cr ation de table Cr ation de la base CREATE DATABASE jukeboxe Cr ation de la table canal DROP TABLE IF EXISTS Canal CREATE TABLE IF NOT EXISTS Canal id_canal int 3 unsigned NOT NULL auto_increment id_descripteurliste int 10 unsigned NOT NULL default 0 date_debut datetime NOT NULL default 0000 00 00 00 00 00 port_ecoute int 10 unsi
122. ta Interchange Format permettant d im porter et d exporter les donn es d un annuaire avec un simple fichier texte La majorit des serveurs LDAP supportent ce format ce qui permet une grande interop rabilit entre eux La syntaxe de LDIF est la suivante lt id gt dn lt distinguished name gt lt attribut gt lt valeur gt lt attribut gt lt valeur gt Dans ce fichier id est facultatif il s agit d un entier positif permettant d identifier l entr e dans la base de donn es chaque nouvelle entr e doit tre s par e de la d finition de l entr e pr c dente l aide d un saut de ligne ligne vide Il est possible de d finir un attribut sur plusieurs lignes en commen ant les lignes suivantes par un espace ou une tabulation Il est possible de d finir plusieurs valeurs pour un attribut en r p tant la cha ne nom valeur sur des lignes s par es lorsque la valeur contient un caract re sp cial non imprimable un espace ou l attribut doit tre suivi de puis de la valeur encod e en base64 Le mod le s curit L annuaire doit pouvoir tre prot g contre des intrusions intempestives et ce de mani re efficace De plus chaque acteur suivant ses droits ne doit pouvoir effectuer que certaines actions Les aspects de s curit et confidentialit doivent tre pris en compte d s la phase de conception Les aspects tudier sont les suivants Les acc s non autoris
123. tensions donnes acc s de nouvelles perspectives Une perspective sous Eclipse permet de donner au developpeur une vision particuli re et surtout diff rentes en fonction de la perspective s lectionn Plus pr cisement la perspective r gis l articulation r alis entre les diff rentes couche d Eclipse les donn es g r es dans l space de travail workspace qu on peut nommer ressources et les interfaces graphiques qui nous permettent de visualiser ces ressources Je vais tenter de vous indiquer comment utiliser Eclipse avec Subversion par l intermediaire de la perspective SVN C 11 4 2 Installation Je ne vais pas m attarder sur l installation d Eclipse qui est plut t simple en utilisant l outil APT ou en utilisant l archive directement du site d Eclipse lt http www eclipse org downloads gt Eclipse ne supportant pas Subversion par defaut il faut installer l extenstion partir du site http sub clipse tigris org update Il faut donc lancer Eclipse et choisir un r pertoire de travail Workspace Un nouveau r pertoire vide est pr ferable pour un premier essai J spere que vous allez pouvoir com prendre pourquoi Subversion est un outil tr s puissant tr s ces quelques explicatifs Par exemple j ai Vhabitude de travailler sur differents post cole travail maison ordinateur portable Je n ai plus me trimbaler avec une cl USB me demander si c est bien la derni re version Une
124. ter des sch mas suppl mentaires tels que Schema and objectClass definitions include etc ldap schema core schema include etc ldap schema cosine schema include etc Idap schema inetorgperson schema Ces sh mas permettent d avoir une description beaucoup plus toff e pour les objets de l annuaire B 1 3 2 Gestion du serveur Le serveur lors de son d marrage essaye d crire dans deux fichiers en particuliers s il choue dans l criture ceci n emp che pas son fonctionnement mais il vaut mieux que ces fichiers soient pr sents en cas de probl mes ult rieurs Les deux fichiers sont les suivants 18 var run slapd slapd pid il contient le num ro du premier processus UNIX sous lequel le ser veur tourne var run slapd args il contient la liste des arguments avec lesquels a t lanc le serveur B 1 3 3 Gestion de la base de donn es La gestion de la base de donn es va permettre de pr ciser plusieurs choses Le nom suffixe de la base de donn es L identit DN du gestionnaire de base L endroit o seront stock s les diff rents fichiers repr sentant les donn es de l annuaire B 1 3 4 Le suffixe de la base de donn es C est en quelque sorte l identifiant g n ral de la base de donn es Toutes les entr es de la base contiendront ce suffixe Il est d fini ainsi dc cuefa dc inpg dc fr B 1 3 5 Le gestionnaire de la base C est une entr e sp ciale de la base Elle peut
125. tion et qui va r pondre a cette contrainte En effet il sera possible aux personnes le d sirant de poster des musiques au format mp3 Notre Jukeboxe sera capable d accepter des fichiers mp3 pour les encoder au format Ogg Vorbis et ainsi permettre la diffusion de ces fichiers travers le r seau De plus il tend l utilisation de notre syst me d autres propri taires de musiques artiste maison de disque qui souhaitent pour certaines raisons qui peuvent tre financi res de diffuser des documents audios au format Ogg Vorbis Nous revenons rapidement sur l avantage que peut proposer la diffusion du Ogg Vorbis au point de vue financier aux auteurs de chansons et distributeurs par exemple Nous savons que le format mp3 est payant Bien sur les entreprises qui d tiennent le brevet mp3 ne demandent pas de subsides l utilisateur par contre elles imposent aux soci t s qui souhaitent utiliser le format une r mun ration Or le mp3 est tr s utilis aujourd hui notamment pour les jeux vous payez donc indirectement la redevance d mand e par les possesseurs du brevet Rien n interdit Thomson Multimedia c d tentrice du brevet de rendre du jour au lendemain cette technologie payante Au final notre JukeBoxe va permettre de convertir les fichiers MP3 des auteurs de chansons et dis tributeurs au format Ogg Vorbis pour ceux qui n ont pas la possibilit de le faire Notre JukeBoxe va permettre de passer d un format propri
126. toire contenant des fichiers MP3 et affichons les options de Mp320gg root zeus home ilies mp32o0gg help mp32ogg v0 11 c 2000 2002 Nathan Walp Released without warranty under the terms of the Artistic License Usage usr bin mp32ogg options dirl dir2 filel file2 Options quality 1 10 Set Ogg Vorbis quality level Defaults to bitrate of original mp3 delete Delete files after converting rename format Instead of simply replacing the mp3 with ogg for the output file produce output filenames in this format replacing Sa t and 1 with artist title and album name for the track lowercase Force lowercase filenames when using rename verbose Verbose output preserve timestamp Preserve file timestamp help Display this help message Conversion d un fichier Mp3 en Ogg root zeus home ilies Document Music gravure mp32ogg quality 10 rename t SCA mp32o0gg v0 11 c 2000 2002 Nathan Walp Released without warranty under the terms of the Artistic License Converting SCARFACE FUNK Track 12 1 mp3 to OGG Track_07 ogg done Nous obtenons apr s cette manipulation un fichier Ogg coutable qui au niveau qualit audio est quivalent au fichier MP3 original Cette conversion au format Ogg am ne a penser directement que notre d codeur prend en entr e que le format Ogg pour avoir en sortit le m me format de fichier Afin de permettre aux utilisateurs de poste
127. u Semaine prochaine Finaliser les 2 maquettes Choix d finitif des technologies utiliser format unique des fichiers audio transf rer choix de la base de donn es pour la partie vue Prochaine r union 25 F vrier chez Beytullah A 4 5 Samedi 25 et Dimanche 26 F vrier Objet Pr sentation des maquettes et choix d finitif des technologies utiliser pour le projet Date Samedi 25 et Dimanche 26 F vrier 2006 Lieu Domicile de Beytullah Auteur Ili s Selmi Mise en forme Beytullah Gunduz Participants Beytullah Gunduz Ili s Selmi Points abord s Pr sentation des 2 maquettes et tests Choix des technologies pour la partie streaming serveur client pour la partie vue pour le SGBD Compte rendu Cette r union nous a permit de d finir toutes les technologies utiliser dans les diff rents do maines du projet De plus on a avec nos maquettes finalis es ma tris des parties importantes et critiques du projet comme le protocole le streaming audio et en partie le temps r el Liste des actions Aujourd hui Technologie utiliser pour le protocole de connection serveur client on utilise JAVA pour le format audio unique envoy c est le OGG Vorbis pour le traitement du fichier audio le streaming le temps r els et le protocole de transport on utilise les librairies LibOgg et LibVorbis Semaine
128. u lancer Tomcat et int roger la Servlet depuis un navigateur avec l URL http localhost BonjourServletApplication BonjourServlet C 11 Subversion C 11 1 Introduction Afin de mener bien un projet nous nous devons en tant que meneur de projet et d veloppeur d utiliser des outils ad quates afin de gagner en productivit et de rendre le cycle de d veloppement bien plus agr able Selon la version fran aise de Wikipedia La gestion de version en anglais revision control est une activit qui consiste maintenir l ensemble des versions d un logiciel Essentiellement utilis e dans le domaine de la cr ation de logiciels elle est surtout concern e par le code source mais elle peut tre utilis e pour tout type de document informatique Toute les commandes et proc dures pr sentes dans ce document concerne les syst mes de type De bian C 11 2 Installation Il faut savoir que nous comptons utiliser subversion au travers d apache pour nous faciliter l utilisa tion la prise en main et uniformiser notre politique de s curit sur notre serveur C 11 2 1 Cot serveur Dans un premier temps il faut installer les paquets ad quates sur le serveur Je pars du principe qu Apache 2 est install et configurer correctement 68 beytullise sudo apt get install subversion libapache2 svn Il faut ensuite cr et configurer notre d p t root lise mkdir home svn root lise svna
129. uand vous utilisez le flux ogg m me encod ou d cod Ces fonctions peuvent tre utilis es pour manipuler des l ments basiques de lOGG flux et pages Des flux et pages sont importants durant les processus d encodage et de d codage OGG STREAM INIT Initialise le flux OGG OGG_STREAMCLEAR D gage le stockage du flux ogg mais ne le lib re pas OGG_STREAM_RESET Remise z ro de l tat du flux dans sa position initiale OGG_STREAM_DESTROY Lib re compl tement le flux ogg OGG STREAM EOS Indique que nous sommes la fin du flux OGG PAGE VERSION Retourne la version de la page ogg que ce flux ou cette page utilise OGG_PAGE_CONTINUED Indique que si la page courante contient un paquet de donn es qui est la suite du paquet qui a commenc dans la page pr c dente OGG_PAGE PACKETS Indique le nombre de paquet contenu dans une page OGG PAGE_BOS Indique si la page courante est le d but du flux OGG PAGE EOS Indique si la page courante est la fin du flux OGG PAGE GRANULEPOS Retourne la position granulaire exacte du paquet de donn es contenu la fin de cette page OGG PAGE SERIALNO Retourne un num ro de s rie unique pour le flux logique de cette page Chaque page contient le num ro de s rie du flux logique qui elle appartient OGG PAGE PAGENO Retourne le num ro de page s quentiel de cette page OGG_PACKET CLEAR N
130. ue du media mapping utilisant Ogg peut apporter d autres contraintes dans son utilisation du format du flux Ogg Par exemple un media mapping specifique peut avoir besoin que toutes les pages eos de tous les flux group s doivent appara tre dans une s quence directe On a vu le media mapping ogg Vorbis mais il y a aussi le Ogg Theora qui encapsule des donn es vid os et audio dans un flux ogg Comme le Ogg ne sp cifie pas la relation de temps entre des flux multiplex s concurrents la syn chronisation entre le flux audio et video est sp cifi dans ce media mapping Pour permettre de faire du streaming les pages de flux logiques vari s vont tre intercall s dans un ordre chronolique C 2 4 LE PROCESSUS D ENCAPSULATION Le processus de multiplexage des diff rents flux logiques interviennent au niveau des pages d crites ci dessus Les flux fournit par l encodeur sont cependant manipul s par le Ogg et sont appell es paquets Le processus d encapsulations des paquets en pages va tre d crit Pour l Ogg les paquets peuvent tre de n importe quelle taille Le media mapping d finit le faite de regrouper ou de d couper des paquets en fonction de l encodage Comme des pages Ogg ont une taille max de 64 kBytes quelques fois le paquet peut tre r partie sur plusieurs pages Pour simplifier le processus le Ogg divise chaque paquet en segment de 255 byte plus un segment plus court Ces segments sont appell es segments Ogg I on
131. uence peut tre d compress et cout independamment du reste du flux Ceci est premi re vu une bonne nouvelle puisqu il serait possible de se connecter un fl t audio MP3 tout moment et tre capable de d compresser ce fl t Ceci dit sur une longue diffusion la perte de bande passante est notable En effet nous transmettons avec chaque s quence les informations de d codage Hors bien souvent ces informations sont identique Nous pensons donc que ce format tr s bien adapt pour une diffusion via Internet L id al serait de transmettre cette donn e une seul fois Licence Beaucoup pense que ce format est libre d utilisation et que les l utilisation des algorithmes pr sents dans la documentation d pos aupr s de l ISO l est aussi Ceci dit bon nombre de d veloppeurs ont re u en Septembre 1998 une lettre leur demandant des droits d utilisation des algorithmes par l ins titut Fraunhofer qui detient bon nombre de brevet concernant ce format C 1 2 4 Vorbis Introduction Comme beaucoup de format de compression audio utilis aujourd hui le vorbis est un format de compression perte Concretement un fichier son compress puis d compress ne sera pas identique bit bit au fichier original A l origine ce format de compression a t fait pour concurrenc r et apporter une alternative libre au MP3 ou encore au WMV Technologie utilis Le Vorbis est un encodage tr s complexe Je vais tent de survoler ici ce
132. ui m me stock dans l annuaire un emplacement sp cifique il s agit pour tre exact d une instance de la classe subschema Gr ce au sch ma l annuaire peut garantir de fa on autonome la validit des enregistrements et de leur syntaxe Lorsqu une entr e est cr e dans l annuaire celui ci v rifie sa conformit la classe d objet on parle alors de schema checking Les attributs des entr es Chaque entr e est constitu e d un ensemble d attributs paires cl valeur permettant de caract riser l objet que l entr e d finit On distingue habituellement deux types d attri buts Les attributs utilisateurs user attributes sont les attributs caract risant l objet manipul par les utilisateurs de l annuaire nom pr nom Les attributs op rationnels system attributes sont des attributs auxquels seul le serveur peut acc der afin de manipuler les donn es de l annuaire dates de modification LDAP permet de d finir des types d attributs c est dire des caract ristiques permettant de le d finir de fa on pr cise Chaque attribut poss de de cette fa on une syntaxe qui lui est propre la fa on selon laquelle l attribut doit tre renseign c est dire le format des donn es mais aussi la 57 mani re selon laquelle la comparaison doit s effectuer lors d une recherche de l annuaire par exemple d finir si la recherche sera sensible la casse c est dire si la recherche devra d
133. ut ConversionPattern d yyyy MM dd HH mm ss Main Hello 5p c 1 A Explication du fichier de configuration Il faut savoir qu au niveau du fichier de configuration chaque Appender doit avoir un nom afin de pouvoir y faire r f rence lors de la configuration des Loggers Les param tres de configuration concer nant les Appenders sont pr fix s par log4j appender La d claration d un Appender d un nom donn se fait de la fa on suivante log4j appender monAppender org apache log43 ConsoleAppender Ici l Appender n cessite des param tres comme un Layout il faut les lui passer en utilisant la syntaxe suivante log4j appender monAppender layout org apache log4j PatternLayout C 6 5 Utilisation Utilisation de Log4J dans la classe exemple Mp32Ogg qui convertie un fichier MP3 en fichier Ogg import java applet x import java awt import java io x package n cessaire pour apeller le Logger import org apache log4j Logger public class Mp320gg Vx xd claration et cr ation du Logger xobtention d une instance de Logger se fait en appelant la m thode statique x private final static Logger logger Logger getLogger Mp320gg class public static void main String args String cmd conversion du fichier MP3 music mp3 en fichier Ogg 54 cmd mp320gg quality 10 rename t music mp3 try logger debug La conversion a commenc Runtime r Runtim
134. uve les bords de pages et resynchronise le flux OGG_SYNC_PAGEOUT Produit une page de la couche de synchronisation OGG_STREAM_PAGEIN Ajoute une page compl te au flux OGG STREAM PACKETOUT Produit un paquet au d codeur OGG_STREAM_PACKETPEEK Assemble des paquets de donn es et les retourne sans d codage C4 MP320GG tend notre JukeBoxe aux musiques mp3 C 4 1 Notre choix Nous avons fait le choix de concevoir notre JukeBoxe avec des technologies qui soutiennent ou qui poussent le logiciel libre M me si une grande partie de l application est faite en JAVA qui n est pas officiellement un logiciel libre mais tout de m me une licence assez ouverte qui a permit l closion de nombreux logiciel libre Des exemples de technologies utilis es pour le d veloppement de notre application prouve que l on privil gie les logiciels et technologies libres comme Eclipse Environnement de d veloppement Ant Outil de construction d application Jakarta Tomcat Serveur web et conteneur de servlets Log4j Biblioth que de journalisation de l x cution d une application Cette politique s exprime m me jusqu la diffusion des documents audios travers le r seau et pour cela nous utilisons le format Ogg Vorbis et uniquement ce format pour la diffusion Une pr sentation du Ogg Vorbis est faite ailleurs dans la documentation donc nous allons pas nous at
135. vit par vorbis un total de 7 octet d identification L Ogg conna t 2 type de multiplexage le multiplexage concurrant appell Grouping et le multi plexage s quentiel appell chaining Le grouping d finit comment intercall es plusieurs flux logiques logical bistream dans le m me flux physique physical bitstream Par exemple il permet de grouper un flux audio avec plusieurs pistes audio utilisant des codecs diff rents Le chaining d un autre c t est d finit pour fournir un simple mecanisme de concat nation de flux physique Ogg comme dans le plus souvent pour les applications de streaming Dans le grouping toutes les page ogg de tous les flux logiques doivent appara tre ensemble au d but du flux OGG Le media mapping sp cifie l ordre des pages initiales Par exemple le grouping d un flux Ogg video et audio doit sp cifier que le flux physique doit commencer avec la page bos du flux logique video suivit par la page bos du flux audio A la diff rence des pages bos les pages eos des flux logiques 32 n ont pas besoin de se suivre Les pages eos peuvent tre vides mais peuvent contenir une simple page d ent te contenant la position et un flag eos Chaque flux logique group s doivent avoir un num ro de s rie unique Dans le chaining les flux logique sont concat n et ne doivent pas se chevaucher par contre les pages eos d un flux logique donn est suivit immediatement par une page bos Chaque
136. x Mais elle peut se retrouver avant la page n 32 d un autre flux sans aucun probl me Pour plus de d tail allez regarder la description du flux binaire de Xiph Ce champ contient un num ro de s rie unique par lequel le flux logique est identifi Num ro de page dans la s quence Page Sequence Number C est le compteur de pages Il permet d identifier la page dans un flux binaire Dans un Ogg l int rieur d un flux binaire les num ro de pages DOIVENT tre ordonn s Il permet au d codeur de d tecter si une page est perdu Somme de contr le valeur CRC sur 32 bits Checksum Cette valeur est calcul e pour la page enti re en incluant l ent te et peut tre utilis e pour v rifer qu aucun bit n a t modifi Nombre de segments Number of segments Cela dit combien de segments sont contenus dans la page Souvenez vous qu un paquet est long de 255 octets il occupe deux segments Nombre d octets dans le segment 1 n C est la table appel e table des segments de l ent te Header segment table dans les sp cifications Xiph nomme ces valeurs valeurs de lacage Lacing value mais il me semble que cela repr sente le nombre d octets dans chaque segments Souvenez vous que la fin d un paquet est identifi e quand un segment contient moins de 255 octets Souvenez vous aussi que les paquets ayant une taille multiple de 255 ont un segment additionnel vide Le taille totale en octet de l ent te
Download Pdf Manuals
Related Search
Related Contents
Renesas Starter Kit+ for RX63N Tutorial Manual user manual - 1080dots Digital Signage 平成26事業年度業務実績報告書 Manual Usuario V.1 35 Universités à distance rangehood - Hibbards Service and Maintenance OWNER`S MANUAL INTERNATIONAL Type 6027 Mastic scellant à base d`eau A/D FIREBARRIER SEAL NS Copyright © All rights reserved.
Failed to retrieve file