Stage Erasmus. Année Universitaire : , Semestre 4. DUT Informatique de gestion IUT A Lille1, France

Dimension: px
Commencer à balayer dès la page:

Download "Stage Erasmus. Année Universitaire : 2012-2013, Semestre 4. DUT Informatique de gestion IUT A Lille1, France"

Transcription

1 DUT Informatique de gestion IUT A Lille1, France Client de VOIP & Application Web de Flashcards Stage Erasmus Hochschule Rheinmain - Wiesbaden Alexandre Rupp, Jordan Piorun Année Universitaire : , Semestre 4

2 i

3 Aknowledgements First of all, we would like to thank Prof. Dr. Martin Gergeleit our supervisor and teacher in the Advanced-Networking Course at Hochschule Rheinmain. We thank him for the help he could gave us during the internship and the time he spent to organise our coming in the university. We would also like to thank Prof. Dr.-Ing. Ludger Martin, our teacher during the course of "Web-Engineering", for the very nice lectures he gave and the help he provided to us during the praktical work. Then we would like to thank Mr. Lebègue who helped us to organise the internship and to take contact with the right persons in Germany. We would also like to thank Ms. Leuschner and the German Internationnal Ressources Oce for the help they provided to us to organise our internship and to nd a room in Wiesbaden. Finally we would like to thank the Internationnal Ressources Oce of the IUT A from Lille for their help to nd an internship in Germany. ii

4 Abstract At the end of our studies in the "IUT A of Lille 1" in the computer science department, we have been given the opportunity to do an internship in Germany. During our stay there, we took 2 courses named "Advanced-Networking" and "Web- Engineering" respectively taught by Prof. Dr. Martin Gergeleit and Prof. Dr.-Ing. Ludger Martin. Both of these courses were accompanied by a project and a nal presentation. And in the case of Web-Engineering we had to complete weekly programming assignments. Our rst project was to developp a Voice over IP Client, and the second one was to developp a web-application of ashcards. This internship enabled us to improve both our technical knowledges, and our language knowledges in German. iii

5 Table des matières Aknowledgements Abstract ii iii I Présentation de l'environnement 1 I. I Présentation de Wiesbaden I. II Présentation de l'université d'accueil II Travaux réalisés 3 II. I Une semaine ordinaire II. IICours et projet de Web-Engineering II. II. 1Les cours II. II. 2Les travaux pratiques II. II. 3Le projet II. II. 4Communication entre Client et serveur II. II. 5L'interface utilisateur II. IIICours et projet d'advanced-networking II. III. 1Les cours II. III. 2Le projet III Apports techniques et humains 18 III. IApports techniques III. I. 1Technologies du Web III. I. 2Réseau III. IIApports humains Conclusion 20 Annexes 22 iv

6 Table des gures I.1 Carte d'allemagne I.2 "Martkirche" : église évangélique du centre ville de Wiesbaden I.3 Photo du batiment, où nous avons suivi nos cours II.1 Tableau des verbes HTTP employés par l'architecture REST II.2 Hiérarchie des chiers de Card'it II.3 Processus de traitement des URL II.4 Fonctionnement du protocole SIP en architecture Point à Point II.5 Fonctionnement du protocole SIP lors de l'utilisation de proxys II.6 Exemple de contenu SDP II.7 Modèle de JAIN SIP II.8 Fonctionnement des classes RTP_Receiver et RTP_Transmitter v

7 I Présentation de l'environnement I. I Présentation de Wiesbaden Wiesbaden est la capitale du Länder (région) de la Hesse situé dans le centre-ouest de l'allemagne. Figure I.1 Carte d'allemagne C'est également la deuxième ville la plus grande ( habitants) et la plus riche (PIB par habitant de euros) du Länder. Celle-ci se trouve sur la rive droite du Rhein et est l'une des plus anciennes villes thermale d'europe avec 26 sources d'eau chaude et 1 source d'eau froide. Figure I.2 "Martkirche" : église évangélique du centre ville de Wiesbaden 1

8 I. II Présentation de l'université d'accueil 2 I. II Présentation de l'université d'accueil Nous avons réalisé notre stage dans l'université Horschule RheinMain. Fondée en 1971, l'université RheinMain s'est spécialisée dans les sciences appliquées telles que l'informatique, l'architecture ou l'ingénierie. Elle se divise en trois sites possédant chacun leurs spécialités : Le premier site est destiné au management, avec plus de 2400 étudiants, c'est la partie la plus importante de l'université. Le second site est consacré au design, à l'architecture, ainsi qu'aux mathématiques et à la physique. Quant au troisième site, qui se trouve être celui où nous avons eectué notre stage, il couvre à la fois l'informatique et les médias. Moderne et entouré de végétation, on y reçoit des cours en accord avec les technologies actuelles, illustrés par des TP ainsi que des projets personnels qui nous orent la possibilité de mettre en pratique les notions apprises. Figure I.3 Photo du batiment, où nous avons suivi nos cours

9 II Travaux réalisés Au cours de notre séjour à Wiesbaden, nous avons eu à suivre deux cours : "Web- Engineering" et "Advanced-Networking". Tous deux étaient dispensés en Allemand et avaient une valeur de 10 crédits ECTS chacun. II. I Une semaine ordinaire Une semaine ordinaire se déroule de la façon suivante : le mardi matin nous avons cours puis TP de Web-Engineering, et le mercredi matin, nous avons cours puis TP d'advanced Networking. Ces séances permettent à la fois d'acquérir de nouvelles notions susceptibles d'être utiles pour le projet, mais également de faire le point de façon hebdomadaire sur l'avancée des travaux. Dans le cas des cours de Web-Engineering, les connaissances vues en cours sont systématiquement mises en application lors des séances de travaux pratiques qui suivent. En ce qui concerne l'advanced-networking, les séances de TP sont réservées dans le but de faire le point sur l'avancée du projet avec l'enseignant et d'évoquer les problèmes rencontrés. II. II Cours et projet de Web-Engineering Le cours de Web-Engineering est constitué de 2h de cours et 4h de TP hebdomadaires. Il est sanctionné par un contrôle continu (un TP à rendre chaque semaine, par groupe), ainsi que par une remise de projet, et une présentation orale en Allemand. II. II. 1 Les cours La matière Web-Engineering a pour objectif : "La Compréhension des concepts actuels, des méthodes, des techniques, des outils et de l'expérience nécessaires au développement d'applications web et la mise à prot ces connaissances au cours d'un projet réalisé en groupe." Pour cela diérents thèmes / sujets ont été abordés au l des séances. Notamment : Le langage Javascript L'utilisation du framework jquery La technologie AJAX L'utilisation de JSON L'architecture RESTful Le HTML5 (canvas) 3

10 II. II Cours et projet de Web-Engineering 4 Le SVG La compression/optimisation des données pour le Web La préoccupation de la qualité, les tests (PHPUnit et Sélénium IDE) Les techniques de référencement Les méthodes de statistique etc... Ces diérents enseignements représentants une part importante de notre stage, et ayants servi de base théorique pour réaliser notre projet, nous nous proposons ici de présenter certains points plus en détails. II. II. 1.1 Le langage Javascript Le langage Javascript a été créé en 1995 pour le compte de Netscape Communications Corporation. C'est un langage orienté objet à prototype. Il peut être utilisé à la fois côté client et côté serveur, bien qu'on le trouve plus souvent côté client. Lorsqu'il est employé côté client, il est interprété par le navigateur. On l'emploie pour diérents usages, par exemple pour rendre l'interface utilisateur plus agréable, plus uide ou plus dynamique. Mais aussi pour faire de la vérication de formulaires côté client, ou encore an d'envoyer des requêtes dynamiquement vers un serveur (comme c'est le cas en AJAX, cf II. II. 1.3). Voici un exemple simple de vérication de formulaire en Javascript : 1 function checkformularentries () { 2 // verifie que la valeur entree pour le pseudo ne soit pas vide. 3 if ( document. getelementbyid (" pseudo "). value!= "") { 4 document. formsaisie. submit () ; 5 } 6 else { 7 return false ; 8 } 9 } Listing II.1 Exemple de validation d'un formulaire en Javascript II. II. 1.2 Le framework jquery JQuery est une bibliothèque javascript créé en Elle permet d'eectuer les mêmes opérations qu'avec du Javascript standard (parcours du DOM 1, modication de propriétés CSS, AJAX, évènements etc.... ), mais de façon plus simple, plus rapide, et en ayant la garantie de la compatibilité entre les diérents navigateurs. Voici un exmple d'utilisation du langage, comparé avec une utilisation de Javascript classique : 1. DOM : Document Object Model

11 II. II Cours et projet de Web-Engineering 5 1 // Manipulation du DOM : 2 document. getelementbyid (" pseudo "); // Javascript 3 $("# pseudo "); // jquery 4 5 document. getelementsbyclassname (" links "); 6 $(". links "); 7 8 // Modification des proprietes CSS : 9 document. getelementbyid (" pseudo "). style. backgroundcolor = " blue "; // Javascript 10 $("# pseudo "). css ( ' background - color ','blue '); // jquery Listing II.2 Exemples d'utilisation de jquery, mis en comparaison avec du Javascript II. II. 1.3 La technologie AJAX AJAX 2 est une technologie qui utilise du JavaScript, les CSS, XML, le DOM et le XMLHttpRequest an d'envoyer dynamiquement des requêtes vers le serveur et de traiter les informations reçues. Cela permet notamment de créer des applications web et des sites web dynamiques, où il n'y a plus nécessairement besoin de recharger la page entièrement pour avoir du contenu nouveau. On emploie les XMLHttpRequest an de dialoguer de façon asynchrone avec le serveur, le Javascript sert à manipuler le DOM an d'y insérer les informations reçues. Enn le XML (de plus en plus souvent remplacé par du JSON 3 ) sert à structurer l'information envoyée et reçue. Voici un exemple de requête AJAX eectuée en jquery (l'emploi de l'xmlhttprequest est dès lors masqué par le framework) : 1 // Exemple de requete POST envoyee en AJAX, avec jquery et utilisant du JSON 2 3 $. ajax ({ 4 type : " POST ", 5 url : " monsiteweb. com ", 6 data : { pseudo : moi, 7 password : MonPassword 8 }, 9 success : function () { alert (" Tout est Ok!") }, 10 datatype : " json " 11 }) ; Listing II.3 Exemple d'envoie d'une requête POST avec Jquery 2. AJAX : Asynchronous JavaScript and XML 3. JSON : JavaScript Object Notation

12 II. II Cours et projet de Web-Engineering 6 II. II. 1.4 L'architecture REST REST 4 a été créé par Roy Fielding en 2000 dans le cadre de sa thèse de doctorat [2]. Il s'agit d'un style d'architecture permettant de modéliser les échanges entre client et serveur au sein d'une appliaction web. En utilisant l'architecture REST, les pages webs et les données qu'elles contiennent sont considérées comme des ressources. An d'identier une ressource et de pouvoir y accéder, on utilise des URIs 5. Par exemple : pour obtenir une liste de livres : http ://monsite.com/livres pour obtenir un livre en particulier : http ://monsite.com/livres/2 pour obtenir la liste des livres de Maxime : http ://monsite.com/users/maxime/livres/ pour obtenir les avis sur un livre : http ://monsite.com/livres/2/avis Ensuite pour identier les opérations à eectuer avec la ressource on utilise les verbes HTTP : Opérations Créer un ressource Acher une ressource Mettre à jour une ressource Supprimer une ressource Verbes HTTP CREATE GET PUT DELETE Figure II.1 Tableau des verbes HTTP employés par l'architecture REST. Pour supprimer un livre on utilisera donc par exemple une requête de ce genre : DELETE http ://monsite.com/livres/2 Enn, les requêtes contiennent une représentation de la ressource envoyée ou reçue. Cette représentation est le plus souvent faite en XML ou en JSON. Le client spécie dans sa requête le format qu'il désire pour la réponse. Lorsque le client reçoit une réponse, il choisit de mettre en forme comme il le souhaite les informations brutes contenues dans la réponse du serveur. D'autres aspect de REST sont importants, le serveur doit notamment renvoyer des codes de statut HTTP en fonction du traitement qu'il a eectué. Par exemple : 200 Ok 4. REST : REpresentational State Transfer 5. URI : Uniform Resource Identier

13 II. II Cours et projet de Web-Engineering 7 qui signie que le traitement a été eectué avec succès, 401 Unauthorized : l'utilisateur a tenté d'accéder à une ressource sans être authentié, 404 Not found : la ressource n'a pas été trouvée etc..... Il est aussi important que des informations sur la date de création de la ressource soient envoyées an de permettre la mise en cache de celle-ci. L'avantage des architectures de type REST est qu'elles permettent une bonne séparation du client et du serveur, facilitant ainsi la maintenance de l'un et de l'autre. D'autre part, le web-service peut être utilisé par n'importe quel autre client. II. II. 1.5 Canvas et SVG SVG et Canvas sont actuellement deux technologies concurrentes qui permettent de réaliser des rendus dynamiques d'image. SVG étant toutefois une technologie plus anciennes, puisque développée depuis Cette dernière technologie permet également de créer des animations. Canvas est une des nouvelles fonctionnalités d'html5. Pour créer un canvas on utilise la balise éponyme. Cette balise lorsqu'elle est utilisée, crée un nouvel objet dans le DOM, qui peut ensuite être modié en Javascript comme les autres éléments. II. II. 1.6 Optimisation L'optimisation des ressources sur le web est importante, car elle permet de garantir (entre autre) l'accès à l'application depuis diérents types de terminaux. En eet, bien souvent les terminaux mobiles disposent d'une connexion limitée. Il est donc nécessaire de réduire le poids des ressources transférées et le nombre de requêtes eectuées. Pour cela plusieurs possibilités : Compresser les chiers HTML, CSS, Javascript en enlevant tous les espaces et passages à la ligne. Raccourcir les noms employés pour les classes et id en HTML et CSS. Enlever les commentaires dans les chiers HTML, CSS et javascript. Raccourcir au maximum les noms de variables en Javascript. Raccourcir au maximum les noms de fonctions en Javascript. Grouper les diérents chiers Javascript en un seul an de réduire le nombre de requêtes HTTP. Grouper les diérents chiers CSS en un seul an de réduire le nombre de requêtes HTTP. Lors de l'emploi de librairies telles que jquery, utiliser un lien vers l'api jquery hébergée chez Google an de pouvoir bénécier d'une éventuelle précédente mise en cache. Utiliser des algorithmes de compression pour comprimer les codes (par exemple en gzip). Optimiser le poids des images avec des logiciels spécialisés.

14 II. II Cours et projet de Web-Engineering 8 D'autres optimisations peuvent être réalisées du côté Javascript, non plus pour réduire la taille des chiers ou le nombre de requêtes, mais pour accroître la rapidité d'exécution du code. Par exemple, remplacer les i++ par des ++i lorsque celà est nécessaire. Ou encore préférer une boucle do{ }while(i) à une boucle for (var i = 0 ;i<iter ; i++).... On préfèrera également un nommage complet à un nommage partiel (ex : window.location.href est mieux que location.href ). On peut également éviter de faire appel à une fonction dans la condition d'arrêt d'une boucle. De nombreuses autres optimisations locales permettent de rendre le code javascript plus rapide à s'exécuter. II. II. 1.7 Préocupation de la qualité En ce qui concerne la qualité, on peut eectuer diérents types de tests. Notamment des tests de boite blanche ou de boite noire. Voir même des tests de boite grise (i.e. développement dirigé par les tests). Pour cela on dispose en PHP de la librairie PHPUnit. On peut dans un second temps tester les interactions avec l'interface utilisateur de l'application web. Et même les automatiser, avec des logiciels comme Sélénium IDE. II. II. 2 Les travaux pratiques Chaque cours de Web-Engineering était suivi d'une séance de 4h de TP, avec la plupart du temps un travail à rendre pour la n de la semaine. Il y eut donc diérents travaux sur : La manipulation de Javascript Le traitement du XML avec PHP JQuery L'AJAX avec Javacript (réalisation d'un jeu de mastermind) L'AJAX avec jquery Création d'une mini API REST (système de messagerie) Authentication avec HTTP Optimisation de notre projet (crunching et optimisation locales) Tests unitiares avec PHP Unit II. II. 3 Le projet Le sujet du projet de Web-Engineering était au libre choix des étudiants. Lors de la première séance de travaux pratiques, nous avions à dénir notre projet, avec un inventaire sommaire des principales fonctionnalités. Le but était de réaliser une application web qui ferait intervenir du PHP, ainsi que les diérentes technologies que nous allions voir (i.e. javascript, jquery, AJAX, JSON, REST). II. II. 3.1 Concept En ce qui nous concerne, nous avons opté pour une application web de "Flashcards". Les ashcards étant des cartes mémoires, utilisées par les étudiants pour apprendre un

15 II. II Cours et projet de Web-Engineering 9 cours. On y marque d'un côté une question, et de l'autre la réponse. II. II. 3.2 Les fonctionnalités de l'application Au départ, nous avions posé diérentes fonctionnalités : Des fonctionnalités sociales : - Prol utilisateur - Système de messagerie privée - Groupes d'utilisateurs - Système déchange de cartes Les fonctionnalités liées au coeur de l'application (aux cartes) : - Gérer un deck (i.e. le créer, le voir, le modier, le supprimer). - Jouer à un deck. - Visualiser le résultat / la progression. - Gérer une carte. II. II. 3.3 La base de données Dés le deuxième TP, il nous était demandé de modéliser les principales entités de la base de données à l'aide d'un schéma de type ER-Diagram 6. En Allemagne les étudiants n'utilisaient pas Merise, mais plutôt la notation de Chen, nous avons donc fait de même. Le modèle de notre base de données est constitué de cinq entités principales : Benutzer (= Utilisateur) Gruppe (= Groupe) Deck Karte (= Carte) Nachricht (= Message) L'ER-Diagram ayant servi de base à la conception de la base de données se trouve en annexe (cf Annexe, gure 1). II. II. 3.4 Architecture et choix techniques Le projet de Web-Engineering, nommé CARD'IT se base sur les technologies PHP, Javascript, jquery, JSON, AJAX. Le projet Card'it est constitué de deux principaux dossiers : un dossier pour l'application côté serveur (dossier application) et le dossier Web qui contient les chiers HTML, CSS et Javascript qui vont être utilisés du côté client. Nous avons conçu l'application comme une API RESTful, ce qui veut dire qu'elle suit les précepts REST (i.e. tout est ressource, et l'accés à celles-ci se fait grâce aux verbes HTTP). L'API pourrait donc très bien être utilisée par autre que nous. 6. ER-Diagram : Entity Relationship Diagram

16 II. II Cours et projet de Web-Engineering 10 Figure II.2 Hiérarchie des chiers de Card'it L'architecture interne de l'application, est quant à elle organisée selon un modèle MVC 7 pour plus de clarté. Chaque ressource (dans notre cas : Users, Decks, Cards, Groups, Messages) possède donc un modèle, un controleur et si besoin une vue. An de pouvoir réaliser un API RESTful nous avons mis en place un système d'url rewritting. Ainsi chaque lien du type http ://cardit.fr/users/alex est ré-écrit de la façon suivante : http ://cardit.fr/index.php/users/alex. Le chier index.php sert de contrôleur principal / rooteur : il analyse l'url ainsi que la méthode HTTP employée et appel ensuite le contrôleur de la ressource appelée (ici le contrôleur de Users). Dans le cas présent, le contrôleur de User va ensuite appeler l'une des méthodes du modèle, en fonction des données que lui aura transmis le rooteur / contrôleur principal. Voici un schéma décrivant le processus de traitement des URLS : Le coeur de l'api se situe dans le modèle, car celui-ci contient l'ensemble des fonctions utilisées par l'application. Une vue globale des diérents chiers du modèle et des fonctions qu'ils contiennent est disponible en annexe (cf Annexes, gure 2). II. II. 4 Communication entre Client et serveur La communication entre l'api REST côté serveur et le client se fait grâce à des requêtes AJAX réalisées en jquery. Les données sont transmises au format JSON. Lorsque le client reçoit les données, il les met ensuite en forme avec du HTML. Sur CARD'IT, seulement trois pages sont issues de lien en dur, toutes les autres sont le fruit de requêtes AJAX (c'était le but de Web-Engineering). Le client ainsi que le code Javascript qu'il contient, jouent donc un rôle important. De nombreux évènements sont dénis en Javascript, ainsi que plusieurs requêtes AJAX qui s'y 7. MVC : Model View Controller

17 II. II Cours et projet de Web-Engineering 11 Figure II.3 Processus de traitement des URL rattachent. Le tout permet un rendu uide des informations, à la manière d'une application traditionnelle. II. II. 5 L'interface utilisateur L'interface utilisateur a été soignée an d'être agréable. Du Jquery a été employé an de permettre un enchainement uide des éléments graphiques. Des images de l'application web sont présentes en Annexe.

18 II. III Cours et projet d'advanced-networking 12 II. III Cours et projet d'advanced-networking Tout comme le cours de Web-Engineering, le cours d'advanced Networking est lui aussi constitué de 2h de cours et 4h de TP hebdomadaires. Cependant, le rôle des heures de TP dière. En eet, il s'agit d'heures réservées pour aborder avec l'enseignant l'avancement du projet et les dicultés rencontrées. Le cours est donc sanctionné par une remise de projet, et une présentation orale en Allemand. II. III. 1 Les cours Durant les cours, de nombreux thèmes ont été abordés : Qualité de service VOIP 8 WLAN (i.e. WIFI) Gestion de Réseaux IP Multicasting et Anycasting II. III. 2 Le projet Le thème du projet était laissé au libre choix des étudiants parmi une liste de proposition. Nous pouvions entre autre réaliser des "Proof Of Concept" 9, ou de montrer comment exploiter une faille réseau, ou alors d'utiliser des protocoles réseaux dans une application. Comme par exemple pour faire de la VOIP. C'est ce que nous avons décidé de faire. L'objectif qui nous était xé était de développer un client de VOIP. D'autre part, une contrainte nous était xée par l'enseignant sur place : notre client devait également pouvoir fonctionner avec d'autres clients déjà existants. Ceci an de prouver que nous avions bien respecté les protocoles. II. III. 2.1 Le principe de la VOIP Le principe de la VOIP est de transmettre un signal audio (la voix) au travers d'un réseau compatible IP, comme c'est le cas d'internet. La VOIP possède de nombreux avantages par rapport aux approches plus classiques (téléphonie standard) : Un avantage en termes de coûts Facile à installer et à congurer Implémenté par l'intermédiaire de logiciels Interopérabilité par l'intermédiaire du protocole SIP 10 Utilise les NGN 11, ce qui permet d'avoir une même plateforme pour tous les services. 8. VOIP : Voice Over IP 9. Proof Of Concept : Démonstration de faisabilité. 10. SIP : Session Initiation Protocol 11. NGN : Next Generation Network

19 II. III Cours et projet d'advanced-networking 13 Facile de développer de nouveaux services, ou d'améliorer le service existant (car tout est faisable par solution logicielles). II. III. 2.2 Concept La VOIP se base sur l'utilisation de diérentes technologies et protocoles. Nous avons en particulier eu recours à trois protocoles diérents : SIP, SDP et RTP (que nous allons détailler). Session Initialisation Protocol Le premier protocole est SIP (Session Initialisation Protocole). Il sert à établir le dialogue entre deux clients de VOIP, et à synchroniser les échanges. C'est également par son intermédiaire que vont transiter les informations nécessaires à l'établissement de la communication audio. Pour que les deux clients puissent initialiser une session, ils s'envoient deux types de messages : les requêtes (ex : INVITE, ACK, REGISTER, BYE etc... ) et les réponses (ex : 100 Trying, 180 Ringing, 200 OK etc... ). Le protocole est déni au travers de diérents RFC. Le principal est le RFC 3261 [1] qui détaille les diérentes étapes, les messages qui doivent être envoyés, ainsi que leur contenu. D'autre part le RFC 3665 [5] illustre les diérents scénarios que l'on peut rencontrer avc SIP. Le protocole SIP peut fonctionner selon deux types d'architecture : Point à Point (i.e. client à client directement) client-serveur-client Dans l'architecture point à point, l'un des deux clients contacte l'autre en utilisant directement son adresse IP et un port (ex : :5060). Voici le déroulement d'un appel classique, avec SIP, en point à point : Figure II.4 Fonctionnement du protocole SIP en architecture Point à Point Une autre architecture possible passe par l'utilisation de proxy et d'un serveur Registrar. Dans ce cas, les clients n'ont pas à connaitre les adresses IP l'un de l'autre mais simplement un identiant. De cette façon lorsqu'un client se connecte, il envoie automatiquement un message vers le serveur. Le serveur associe ensuite l'adresse IP actuelle du

20 II. III Cours et projet d'advanced-networking 14 client à son identiant. Ensuite les autres utilisateurs n'ont besoin de connaître que l'identiant. Le message envoyé au serveur est un message de type REGISTER. En réalité deux messages de ce type sont envoyés. Le premier sert à obtenir des informations de la part du serveur (sur l'algorithme et le salage à utiliser pour crypter l'identiant et le mot de passe par la suite). Puis le deuxième REGISTER envoyé contient en plus du premier l'identiant et le mot de passe cryptés de l'utilisateur. Voici un schéma décrivant les diérents messages envoyés lors d'un échange utilisant un proxy : Figure II.5 Fonctionnement du protocole SIP lors de l'utilisation de proxys Session Description Protocol Le protocole SDP est en fait contenu dans le corps des messages INVITE et 200 OK de SIP. Il sert en quelque sorte de négociation entre les deux parties. Dans un premier temps le client qui appelle, envoie un contenu SDP dans le corps du INVITE. Plusieurs informations nécessaires à l'établissement de la communication audio y sont décrites, par exemple la durée souhaitée de l'appel, le port réseau à utiliser, les codecs audio que le client est capable de supporter etc... Ensuite l'appelé renvoie lui aussi un contenu SDP, mais cette fois dans la réponse 200 OK qu'il fournit. Les informations envoyées sont en fait les mêmes que celles reçues, mais elles ont été modiées pour correspondre aux capacités de ce deuxième client.

21 II. III Cours et projet d'advanced-networking 15 Lorsque les deux paquets SDP ont été envoyés. Le dernier SDP envoyé/reçu sert de contrat pour l'établissement des ux audio. Le protocole SDP est déni dans le RFC 4566 [4]. Voici un exemple type de paquet SDP : Figure II.6 Exemple de contenu SDP Real-Time Transport Protocol Le protocole RTP (de la couche application) sert à transmettre des ux audio ou vidéo en continu (par exemple pour du streaming). Il est basé sur le protocole UDP 12, de la couche transport. Il permet l'envoie de ux multimédia et supporte diérents codecs. Ce protocole est déni au travers du RFC 3550 [3]. II. III. 2.3 Implémentation L'implémentation du client de VOIP que nous avons réalisé se base sur les protocoles cités ci-dessus. Pour développer le logiciel, nous avons utilisé JAVA, ainsi que deux librairies : JAIN SIP (qui fournit une pile pour le protocole SIP) JMF RTP (qui sert pour le protocole RTP) Les étapes de développement Le développement du projet s'est eectué par étapes. Nous avons dans un premier temps cherché à faire fonctionner le logiciel selon une architecture Point à Point. Pour celà nous avons d'abord mis en place les diérentes requêtes et réponses envoyées lors de l'utilisation du protocole SIP. Par la suite, nous avons travaillé sur le protocole SDP, plus particulièrement sur le traitement et l'envoie des messages qui en contennaient. Et enn nous avons mis en place la communication audio, grâce au protocole RTP, et la librairie JMF. 12. User Datagram Protocol

22 II. III Cours et projet d'advanced-networking 16 Une fois que ce travail était achevé, et que notre application fonctionnait parfaitement selon une architecture Point à Point, nous avons cherché à la faire fonctionner selon l'architecture client-serveur-client. Pour celà, nous avons ms en place l'envoit des messages REGISTER, et le traitement des requêtes et réponses qui y sont associées. Architecture du projet Le projet est organisé selon un modèle MVC et est constitué de plusieurs classes. C'està-dire, les classes du modèle : SIP_Model : centralise les diérentes classes du modèle SIP_Layer : qui sert à l'établissement du protocole SIP SDP_Parser : qui sert à parser le SDP RTP_Receiver : qui sert à recevoir les paquets RTP et à émettre le son reçu RTP_Transmitter : qui sert à capter le son provenant du micro et à l'envoyer via des paquets RTP. Diérentes classes pour les vues : VOIP_GUI : la vue principale Before_Call_Panel : Panel inséré dans la vue principale avant un appel During_Transmition_Panel : Panel inséré dans la vue principale durant un appel Register_Panel : Panel inséré dans la vue principale pour permettre à l'utilisateur de s'authentier. Receiving_Dialog : Boite de dialogue qui s'ouvre à la réception d'un appel. Ainsi que des controleurs présents en tant que classes internes. Utilisation des librairies La classe la plus importante du modèle est la classe SIP_Layer qui sert à mettre en place le protocole SIP. La classe SIP_Layer implémente l'interface SIPListener fournie par la librairie JAIN SIP. SIP_Layer sert donc à réceptionner puis traiter les diérentes requêtes et réponses SIP. D'autres classes et interfaces sont fournies par JAIN SIP, notamment les factories (SIPFactory, MessageFactory, HeaderFactory etc... ) qui aident à la création de la pile de messages SIP, ainsi qu'à la création des requêtes et réponses. Les autres classes importantes fournies par JAIN, sont le SIPProvider, utilisé pour envoyer les requêtes et réponses, ainsi que le ListenningPoint Pour écouter une source de donnée, et enn la Stack qui sert à empiler les messages reçus.

23 II. III Cours et projet d'advanced-networking 17 Figure II.7 Modèle de JAIN SIP Nous avons également utilisé la librairie JMF RTP qui nous sert à la fois à capter et encoder les signaux audio, mais aussi à transmettre ces ux audio par le biais de paquets RTP. La librairie nous a servi à créer les classes RTP_Receiver et RTP_Transmitter. Dans le Receiver, on réceptionne les paquets RTP puis on transmet les données reçues vers le haut parleur. Dans le transmetteur, on capte les signaux audio en provenance du micro, puis on les encrypte, avant de les envoyer sous forme de paquets RTP. Figure II.8 Fonctionnement des classes RTP_Receiver et RTP_Transmitter

SIP. 2007 A. Aoun - La Visioconférence SIP - 1

SIP. 2007 A. Aoun - La Visioconférence SIP - 1 Internet Multimédia Le Protocole SIP 2007 A. Aoun - La Visioconférence SIP - 1 Présentation (1) Session Initiation Protocol (dont le sigle est SIP) est un protocole récent (1999), normalisé et standardisé

Plus en détail

SIP. Sommaire. Internet Multimédia

SIP. Sommaire. Internet Multimédia Internet Multimédia Le Protocole SIP 2011 André Aoun - Internet Multimédia SIP - 1 Sommaire 1. Présentation 2. Entités SIP 3. Méthodes et réponses 4. User Agent 5. Registrar 6. Proxy 7. Redirect Server

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

La VOIP :Les protocoles H.323 et SIP

La VOIP :Les protocoles H.323 et SIP La VOIP :Les protocoles H.323 et SIP PLAN La VOIP 1 H.323 2 SIP 3 Comparaison SIP/H.323 4 2 La VOIP Qu appelle t on VOIP? VOIP = Voice Over Internet Protocol ou Voix sur IP La voix sur IP : Le transport

Plus en détail

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement SIP Nguyen Thi Mai Trang LIP6/PHARE Thi-Mai-Trang.Nguyen@lip6.fr UPMC - M2 Réseaux - UE PTEL 1 Plan Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement UPMC -

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants Master I Informatique parcours Ingénierie Logiciels Projet : E-Service Gestions des Enseignements Groupe 06 Cahier de Charge E-Service Système d information web «Gestion des services ensignants 2011-2012

Plus en détail

Leçon 0 : Introduction au développement web

Leçon 0 : Introduction au développement web Module : Atelier programmation n- tiers Atelier de TP : N 0 Durée : 6h Groupes : M31- M32 Leçon 0 : Introduction au développement web NB : Ce document est un support de cours (notes de cours) : ce n'est

Plus en détail

QoS et Multimédia SIR / RTS. Mécanismes et protocoles pour les applications multimédia communicantes

QoS et Multimédia SIR / RTS. Mécanismes et protocoles pour les applications multimédia communicantes QoS et Multimédia SIR / RTS Mécanismes et protocoles pour les applications multimédia communicantes Isabelle Guérin Lassous Isabelle.Guerin-Lassous@ens-lyon.fr http://perso.ens-lyon.fr/isabelle.guerin-lassous

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Introduction de la Voix sur IP

Introduction de la Voix sur IP Voix sur IP (VoIP) Introduction de la Voix sur IP La Voix sur IP, aussi connue sous le nom de téléphonie Internet, est une technologie qui vous permet de téléphoner via un réseau d ordinateurs basé sur

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

09/11/2011 COURS PROGRAMMATION WEB HTML CSS PHP - MYSQL

09/11/2011 COURS PROGRAMMATION WEB HTML CSS PHP - MYSQL COURS PROGRAMMATION WEB HTML CSS PHP - MYSQL Responsable : Niveau : 3 ème ESSAI Année Universitaire : 2011/2012 OBJECTIFS DU COURS Objectifs généraux : Ce cours est destiné aux étudiants disposant de quelques

Plus en détail

Programmation d applications pour le Web

Programmation d applications pour le Web Programmation d applications pour le Web Cours 2 ème année ING ISI-Tunis Elaboré par: Hela LIMAM Chapitre 1 Architectures et applications du Web Année universitaire 2011/2012 Semestre 2 1 Plan Internet,

Plus en détail

Le client/serveur dans le cas du Web

Le client/serveur dans le cas du Web Le client/serveur dans le cas du Web Olivier Flauzac & Cyril Rabat olivier.flauzac@univ-reims.fr cyril.rabat@univ-reims.fr Licence 3 Info - Info0503 - Introduction à la programmation client/serveur 2015-2016

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

//////////////////////////////////////////////////////////////////// Développement Web

//////////////////////////////////////////////////////////////////// Développement Web ////////////////////// Développement Web / INTRODUCTION Développement Web Le développement, également appelé programmation, désigne l'action de composer des programmes sous forme d'algorithme (codage).

Plus en détail

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

HTML5 et PHP 5 - Développez des applications web performantes Exploitez les dernières nouveautés des langages

HTML5 et PHP 5 - Développez des applications web performantes Exploitez les dernières nouveautés des langages Avant-propos 1. HTML5 11 2. PHP5 11 3. Démarche de cet ouvrage 12 4. Pré-requis 13 5. Compatibilité des navigateurs 14 Les apports d'html5 1. Introduction 15 2. Améliorer la structure de son contenu 16

Plus en détail

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

Plus en détail

Voix sur IP Étude d approfondissement Réseaux

Voix sur IP Étude d approfondissement Réseaux Voix sur IP Étude d approfondissement Réseaux Julien Vey Gil Noirot Introduction Ce dont nous allons parler L architecture VoIP Les protocoles Les limites de la VoIP Ce dont nous n allons pas parler Le

Plus en détail

Ajax et Accessibilité

Ajax et Accessibilité Ajax etaccessibilité Présentation Michel HOËL : Responsable Technique d'urbilog En 2001, création d'ocawa : Outil de validation automatique de "règles d'accessibilité" pour France Télécom. Les règles sont

Plus en détail

SOAP OU REST, QUE CHOISIR?

SOAP OU REST, QUE CHOISIR? SOAP OU REST, QUE CHOISIR? Eric van der Vlist (vdv@dyomedea.com) SOAP ou REST, que choisir? Web Services Convention Juin 2004 Eric van der Vlist (vdv@dyomedea.com) SOAP-- WS Convention 2004 -- Page 1 COMPARER

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

1. L'environnement. de travail. 420-283 Programmation. d'un serveur

1. L'environnement. de travail. 420-283 Programmation. d'un serveur 420-283 Programmation d'un serveur 1. L'environnement de travail L'objectif de ce cours est de développer des applications clients-serveur utilisant des bases de données. Le modèle selon lequel fonctionne

Plus en détail

Services Web SOAP & REST avec symfony

Services Web SOAP & REST avec symfony Services Web SOAP & REST avec symfony RMLL - 6 juillet 2010 Qui suis-je? Hugo HAMON Responsable des formations chez Sensio Labs Coauteur et contributeur d ouvrages Secrétaire Général de l AFUP Webmaster

Plus en détail

Catalogue Augmenté. Projet : Interfaces Multimodales

Catalogue Augmenté. Projet : Interfaces Multimodales Catalogue Augmenté Projet : Interfaces Multimodales Réalisé par Nicolas Martenet Patrick Terreaux Timothée Maret Semestre d'été 2006 Table des matières 1 Introduction... 3 2 Principe...3 2.1 Principe Global...

Plus en détail

La VoIP: Les protocoles SIP, SCCP et H323. Jonathan BRIFFAUT Alexandre MARTIN

La VoIP: Les protocoles SIP, SCCP et H323. Jonathan BRIFFAUT Alexandre MARTIN La VoIP: Les protocoles SIP, SCCP et H323 Jonathan BRIFFAUT Alexandre MARTIN Plan Rappel VOIP SIP H323 SCCP 2 Rappel Bref sur la VOIP Voix sur IP (1996) Le transport sur IP est moins cher que le RTC La

Plus en détail

Les 2 grands métiers. autour de la création Web. Mais où est passé l'intégrateur?

Les 2 grands métiers. autour de la création Web. Mais où est passé l'intégrateur? Les 2 grands métiers autour de la création Web Mais où est passé l'intégrateur? Langages et frameworks Outils spécifi ques dev mobile À voir dans le module multimédia... Langage : Java Objective C C#,...

Plus en détail

SeeTec 5. Glossaire - 1 -

SeeTec 5. Glossaire - 1 - SeeTec 5 Glossaire - 1 - Table des matières A...3 B...3 C...3 D...4 E...4 F...4 G...4 H...5 I...5 J...5 K...5 L...5 M...5 N...6 O...6 P...6 Q...7 R...7 S...7 T...7 U...7 V...8 W...8 X...8 Y...8 Z...8-2

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Les Réseaux Haut Débit. Dr. Tarek Nadour

Les Réseaux Haut Débit. Dr. Tarek Nadour Les Réseaux Haut Débit Dr. Tarek Nadour Les Services à valeurs ajoutées La Voix/Vidéo sur IP Plan Pourquoi la téléphonie sur IP? Evolution de la téléphonie classique vers la ToIP Architecture ToIP: H323

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE

Gestion du service des enseignements Analyse détaillée. Gestion du service des enseignements. Ce document est la propriété exclusive du groupe GSE 1 sur 54 Projet Émetteur du Document Groupe GSE Destinataire du Document J.L. Massat Titre Nom Du Fichier O_Analyse_Detaillee_v2.1.pdf Version v2.1 Historique Des Versions Version Date Création Date Validation

Plus en détail

Faculté Polytechnique de Mons

Faculté Polytechnique de Mons Faculté Polytechnique de Mons Génération d'un site Web automatiquement à partir d'une base de données relationnelle : Utilisation de XML Projet de 3 e Informatique et Gestion Année académique 2007-2008

Plus en détail

SIP Session Initiation Protocol

SIP Session Initiation Protocol SIP Session Initiation Protocol 1 Introduction...3 2 SIP (Session Initiation Protocol)...3 2.1 But...3 2.2 SIP URI (Uniform Resource Identifier)...3 2.3 Eléments réseaux du SIP...3 2.3.1 User Agents (UA)...3

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

TP : Le jeu de Bataille. 1 Le jeu de bataille. 2 Programmation du jeu. Algorithmes et Programmation Impérative 2

TP : Le jeu de Bataille. 1 Le jeu de bataille. 2 Programmation du jeu. Algorithmes et Programmation Impérative 2 Univ. Lille1 - Licence Informatique 2ème année 2012-2013 Algorithmes et Programmation Impérative 2 TP : Le jeu de Bataille Objectifs : Réaliser un programme utilisant les structures de piles et de les.

Plus en détail

Telecommunication Services Engineering (TSE) Lab

Telecommunication Services Engineering (TSE) Lab Chapitre 3: La toile Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Application Couche Application Transport Réseau Liaison de données Support

Plus en détail

Table des matières. TP JEE (3) Web Services et spécications JEE. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (3) Web Services et spécications JEE. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (3) Web Services et spécications JEE Un service web est un programme informatique permettant la communication et l'échange de données

Plus en détail

Rapport de PJI RAPPORT DE PJI. de suivi d alternants et stages. Réalisé par le binôme : Ayoub NEJMEDDINE & Sara EL ARBAOUI Sous la tutelle de :

Rapport de PJI RAPPORT DE PJI. de suivi d alternants et stages. Réalisé par le binôme : Ayoub NEJMEDDINE & Sara EL ARBAOUI Sous la tutelle de : RAPPORT DE PJI 78-Evolution de l application de suivi d alternants et stages Réalisé par le binôme : Ayoub NEJMEDDINE & Sara EL ARBAOUI Sous la tutelle de : M. Ioan Marius BILASCO Année universitaire :

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

Principe de fonctionnement du contrôleur de domaine

Principe de fonctionnement du contrôleur de domaine MODULE UTILISATION DES ESPACES DE STOCKAGE (source :prise en main du contrôleur de domaine Solaere) Préambule Vos stations sont configurées et intégrées dans le domaine. Principe de fonctionnement du contrôleur

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Architectures Java pour applications mobiles

Architectures Java pour applications mobiles Architectures Java pour applications mobiles L application mobile en phase de devenir incontournable. Début 2010, 200 000 applications mobiles. Fin 2011, le cap du million est franchi. Derrière cette croissance

Plus en détail

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL

TP n 2: Mise en place d'un serveur Web avec PHP et MySQL TP n 2: Mise en place d'un serveur Web avec PHP et MySQL Le but de ce TP est de vous apprendre comment installer et congurer un serveur Web avec PHP et MySQL sous Linux. Cela requiert plusieurs étapes

Plus en détail

Explication des statistiques

Explication des statistiques Explication des statistiques Sources : http://www.eolas.fr/8-conseil/65-interpreter-vos-statistiques-webalizer.htm http://support.sherweb.com/faqdetails.php?idarticle=68 Un site web est un ensemble de

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Chapitre 1. Présentation générale de l Internet

Chapitre 1. Présentation générale de l Internet Chapitre 1. Présentation générale de l Internet Sommaire Chapitre 1. Présentation générale de l Internet... 1 1. Vue d ensemble d Internet... 2 1.1. Introduction... 2 1.2. Définition de l Internet... 2

Plus en détail

AJAX est l'acronyme d'asynchronous JavaScript And XML, autrement dit JavaScript Et XML Asynchrones.

AJAX est l'acronyme d'asynchronous JavaScript And XML, autrement dit JavaScript Et XML Asynchrones. Le concept d'ajax Introduction AJAX est l'acronyme d'asynchronous JavaScript And XML, autrement dit JavaScript Et XML Asynchrones. AJAX n'est ni une technologie ni un langage de programmation ; AJAX est

Plus en détail

Réalisation d une plateforme Web de certification de documents XML

Réalisation d une plateforme Web de certification de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant Professeur responsable du projet : Mr Fabrice LEFEVRE Rapport de projet Réalisation d une plateforme Web de certification de documents XML Université

Plus en détail

Manuel de l'administrateur. OpenMeetings 2.0. Manuel de l'administrateur

Manuel de l'administrateur. OpenMeetings 2.0. Manuel de l'administrateur Manuel de l'administrateur OpenMeetings 2.0 Manuel de l'administrateur Juin 2012 Table des matières 1. Gérer les utilisateurs... 1 2. Gérer les connexions... 2 3. Gérer les organisations... 2 4. Gérer

Plus en détail

TP RESEAU : DEPLOIEMENT D UNE PLATE FORME IMS

TP RESEAU : DEPLOIEMENT D UNE PLATE FORME IMS TP RESEAU : DEPLOIEMENT D UNE PLATE FORME IMS I IP Multimedia Subsystem (IMS) : Théorie 1) Caractérisation du réseau NGN: NGN (Next Generation Network ) est une nouvelle architecture de réseau de communication

Plus en détail

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009

Java - TP3. Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet. Année 2008-2009 Java - TP3 Nicolas Baudru, Carine Guivier-Curien, Laurent Vallet Année 2008-2009 Le but de ce TD est d'écrire une application client/serveur de type msn : 1. Des clients se connectent à un serveur 2. Un

Plus en détail

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques Contenu Statique Le client envoie une requête avec un nom de fichier Le serveur répond en lui retournant

Plus en détail

La malédiction de Cassandre

La malédiction de Cassandre La malédiction de Cassandre Histoire d une plateforme distribuée d analyse qualitative de textes et d images Christophe Lejeune christophe.lejeune@ulg.ac.be Institut des sciences humaines et sociales Faculté

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

Plus en détail

TELEPHONIE IP SUR PDA (ipaq)

TELEPHONIE IP SUR PDA (ipaq) Abdelkader BELKHIR Kaderbelkhir@hotmail.com Lies KADDOURI lies_kaddouri@hotmail.com LSI-Département Informatique, Faculté Génie Electronique & Informatique, USTHB El Alia BP n 32, Bab Ezzouar, Alger, Algérie.

Plus en détail

Couches Session et Présentation de données

Couches Session et Présentation de données Couches Session et Présentation de données Master Informatique première année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr

Plus en détail

CAHIER DES CHARGES. . Changements clés depuis la dernière version : - Mise en page et correction orthographique.

CAHIER DES CHARGES. . Changements clés depuis la dernière version : - Mise en page et correction orthographique. CAHIER DES CHARGES. Projet : TER Fractal TV. Date : 6 avril 2005. Version : 1.5. Encadrant : Philippe Collet. Auteurs : NICOLAS Yohann BARBIER Thomas CASTILLEJOS Nicolas SAUVAN Bastien SALAGEANU Emil.

Plus en détail

LA VoIP LES PRINCIPES

LA VoIP LES PRINCIPES LA VoIP LES PRINCIPES 1 PLAN La VoIP Définition VoIP & ToIP Concepts de la VoIP Les principaux protocoles de la VoIP Transport Signalisation La sécurité dans la VoIP 2 Définition VoIP est l abréviation

Plus en détail

Chapitre 4 Le framework et les API de Joomla

Chapitre 4 Le framework et les API de Joomla Chapitre 4 Le framework et les API de Joomla 1. Les bases du framework Le framework et les API de Joomla 1.1 Notions de framework «Framework» se traduit littéralement par «cadre de travail». C'est un ensemble

Plus en détail

Une mosaïque de photos

Une mosaïque de photos Département IMA / 3A (S5) Programmation Structurée 2011/2012 Sujet proposé par J. Dequidt http://laure.gonnord.org/pro/teaching/ Une mosaïque de photos Premier Projet de Développement Logiciel en C Lire

Plus en détail

Présentation du périmètre technique

Présentation du périmètre technique Présentation du périmètre technique Kit d intégration des fonctions de réservation Open System au sein d un site d information Alliance Réseaux v09012014 1 KIT D INTEGRATION DES FONCTIONS DE RESERVATION

Plus en détail

Définitions. CSS Cascading Style Sheets Feuilles de style en cascade. FTP File Transfer Protocol Protocole de transfert de fichiers

Définitions. CSS Cascading Style Sheets Feuilles de style en cascade. FTP File Transfer Protocol Protocole de transfert de fichiers Introduction Ma première page Web (2/2) Ce document est l'étape 2 d'un didacticiel qui a pour but de donner un aperçu de la création d'une page Web. Une ou deux pages seront créées et présenteront leur

Plus en détail

«Spécialisé dans la conception et la réalisation de sites web, d'applicatifs web et autres produits multimédia.»

«Spécialisé dans la conception et la réalisation de sites web, d'applicatifs web et autres produits multimédia.» Trois ans et un mois en entreprise, onze mois de stages ainsi que des missions de consultant. FORMATIONS 2009 Master PSM (Produits et Services Multimédia) à l'université de Franche-Comté, Montbéliard.

Plus en détail

TP4-5 : Authentication Java

TP4-5 : Authentication Java TP4-5 : Authentication Java V. Danjean V. Marangozova-Martin Résumé Le but de ce TP est double : se familiariser avec le mécanisme classique d'authentication en Java ; apprendre à utiliser la documentation

Plus en détail

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance

Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance Formation des enseignants universitaires à la conception d'un cours en ligne sur une plateforme d'enseignement à distance PARTIE2 : PRATIQUE Implémentation d'un cours en ligne sur une plateforme d'enseignement

Plus en détail

Initiation au Web et à l'html

Initiation au Web et à l'html Initiation au Web et à l'html Mathieu LACROIX, François RÉVERET, Antoine VACAVANT mathieu.lacroix@isima.fr françois.reveret@univ-bpclermont.fr antoine.vacavant@liris.cnrs.fr 2 et 3 Avril 2007 /1 Mathieu

Plus en détail

Créer des pages WEB à l aide de KompoZer.

Créer des pages WEB à l aide de KompoZer. Document élève 1/14 Créer des pages WEB à l aide de KompoZer. Document élève 2/14 INTERNET : CREATION D UN SITE PRESENTATION Un site web (aussi appelé site internet par abus de langage) est un ensemble

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Lycée Louis Vincent. Séance 1. Notions de base pour comprendre les échanges de fichiers, la publication sur le web. Lundi 17 mars 2 014 1

Lycée Louis Vincent. Séance 1. Notions de base pour comprendre les échanges de fichiers, la publication sur le web. Lundi 17 mars 2 014 1 Lycée Louis Vincent Séance 1 Notions de base pour comprendre les échanges de fichiers, la publication sur le web. 1 Contenu de la séance 1 : Le WEB: Comprendre les principes du WEB. Acquérir le vocabulaire

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

Développement d'un logiciel VoIP BlackBerry

Développement d'un logiciel VoIP BlackBerry UNIVERSITE DES SCIENCES, DES TECHNIQUES ET DES TECHNOLOGIES DE BAMAKO (USTTB) Développement d'un logiciel VoIP BlackBerry Par Mlle Kadidiatou Djibo Encadreurs : Mme Sogoba Jacqueline Konate, Maître-Assistant,

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Architecture client/serveur

Architecture client/serveur Architecture client/serveur Table des matières 1. Principe du client/serveur...2 2. Communication client/serveur...3 2.1. Avantages...3 2.2. Inconvénients...3 3. HTTP (HyperText Transfer Protocol)...3

Plus en détail

Webisation. Webisation. Jean-Michel BRUEL Jean-Bernard CRAMPES Daniel VIELLE

Webisation. Webisation. Jean-Michel BRUEL Jean-Bernard CRAMPES Daniel VIELLE Webisation Jean-Michel BRUEL Jean-Bernard CRAMPES Daniel VIELLE 18 avril 2013 1 Objectif Application autonome ou client lourd Transformer une application autonome ou client lourd écrite dans un ou plusieurs

Plus en détail

Informations de l'unité d'enseignement Implantation. Cursus de. Intitulé. Code. Cycle 1. Bloc 2. Quadrimestre 1. Pondération 6. Nombre de crédits 6

Informations de l'unité d'enseignement Implantation. Cursus de. Intitulé. Code. Cycle 1. Bloc 2. Quadrimestre 1. Pondération 6. Nombre de crédits 6 Informations de l'unité d'enseignement Implantation Institut Paul Lambin Cursus de Intitulé Code Bachelier en informatique de gestion Programmation Web : Avancé I2050 Cycle 1 Bloc 2 Quadrimestre 1 Pondération

Plus en détail

Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité. Présenté par: BEN AMOR Akram

Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité. Présenté par: BEN AMOR Akram Exposé: Web sémantique. Web 2.0: impact Sur les IHM, Plasticité Présenté par: BEN AMOR Akram Plan Web Sémantique Définition et objectif Historique Principe général Quels sont les finalités et les objectifs

Plus en détail

CHAPITRE 1 : CONCEPTS DE BASE

CHAPITRE 1 : CONCEPTS DE BASE CHAPITRE 1 : CONCEPTS DE BASE 1.1 C est quoi l INTERNET? C est le plus grand réseau télématique au monde, créé par les Américains et issu du réseau ARPANET (Advanced Research Projects Agency ). Ce dernier

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

OpenTouch Conversation for iphone Release 2.0.x

OpenTouch Conversation for iphone Release 2.0.x OpenTouch Conversation for iphone Release 2.0.x Guide de l utilisateur OpenTouch Business Edition OpenTouch MultiMedia Services 8AL90884FRABed01 1412 1. INTRODUCTION 3 2. LANCER OPENTOUCH CONVERSATION

Plus en détail

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet Programmation orientée objet et événementielle en JavaScript Département SRC Pôle Universitaire de Vichy Bruno Bachelet PARTIE I JavaScript: script côté client Programmation objet et événementielle en

Plus en détail

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 % PFE Télécommunications Pré-rapport à l'issue des 6 premières semaines de stage!"!"#$%&' ()*()!")+")# (#),()-,)*)"-./0 1 ()*()!")+-)# % 23 &0 )14) 56 7$8797%77:7' '72 Page 1 sur 5 Contexte Les centres de

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail