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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

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

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

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

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B Protocole SIP 1 - La définition du protocole SIP, signifiant Session Initiation Protocole, vient du monde de l'informatique contrairement aux autres. SIP a été initié à l'origine par le groupe MMusic (Multiparty

Plus en détail

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU VOIP QoS SIP TOPOLOGIE DU RÉSEAU La voix sur réseau IP, parfois appelée téléphonie IP ou téléphonie sur Internet, et souvent abrégée en ''VoIP'' (abrégé de l'anglais Voice over IP), est une technique qui

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

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

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

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

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

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

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

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

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

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

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é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

Webmaster / Webdesigner / Wordpress

Webmaster / Webdesigner / Wordpress Webmaster / Webdesigner / Wordpress Pré-requis : Projet professionnel. Bonne maîtrise de l'ordinateur. Bases en infographie et / ou traitement de texte fortement recommandées. Objectifs : Concevoir un

Plus en détail

Appli et Services WEB: Architecture REST

Appli et Services WEB: Architecture REST Appli et : Erick Stattner LAMIA Laboratory University of the French West Indies and Guiana, France erick.stattner@univ-ag.fr Guadeloupe, 2013 Erick Stattner Appli et : 1 / 78 Description du cours Objectif:

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

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

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement

Plus en détail

Rapport d'architecture

Rapport d'architecture Romain Alexandre Cécile Camillieri Rapport d'architecture 1 / 12 Table des matières I) Description du projet p. 3 1) Canaux de communication p. 3 2) Diagrammes de cas d'utilisation p. 3 II) Gestion des

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

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

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

Stéphanie Lacerte. Document technique. Connextek. 31 mai 2013. Cloudtel

Stéphanie Lacerte. Document technique. Connextek. 31 mai 2013. Cloudtel Stéphanie Lacerte Document technique Connextek 31 mai 2013 Cloudtel Introduction Le logiciel Cloudtel a été conçu dans le langage de programmation Java. Ce logiciel utilisant la voix sur IP, communique

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Technologies Web. Technologies Web DHTML TCM-TWEB-01-001-13. Julien BEAUCOURT 2006 pour ETNA

Technologies Web. Technologies Web DHTML TCM-TWEB-01-001-13. Julien BEAUCOURT 2006 pour ETNA DHTML Sommaire Introduction Compatibilité du DHTML Les layers Les balises dynamiques Balise Balise et La balise Animer de éléments Le Document Object Model (DOM) Modifier une

Plus en détail

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia Olivier Togni Université de Bourgogne, IEM/LE2I Bureau G206 olivier.togni@u-bourgogne.fr 24 mars 2015 2 de 24 M1 Informatique, Réseaux Cours

Plus en détail

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise.

La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise. VOIX SUR IP - VoIP Comprendre la voix sur IP et ses enjeux La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise. Introduction La voix sur IP (Voice over IP) est une technologie

Plus en détail

Dispositif e-learning déployé sur les postes de travail

Dispositif e-learning déployé sur les postes de travail Résumé : Ce document fait l inventaire du matériel et des moyens nécessaires à la production de sessions de formation à distance à partir des postes de travail des salariés bénéficiant d une connexion

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

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

FORMATION WEBMASTER AVANCEE :

FORMATION WEBMASTER AVANCEE : FORMATION WEBMASTER AVANCEE : OBJECTIF : 300 HEU RE S - 4 MOIS Apprendre à créer des sites internet par diverses méthodes en apprenant les bases des différents langages que constituent la création de site

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures 3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet

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

Assistance à distance sous Windows

Assistance à distance sous Windows Bureau à distance Assistance à distance sous Windows Le bureau à distance est la meilleure solution pour prendre le contrôle à distance de son PC à la maison depuis son PC au bureau, ou inversement. Mais

Plus en détail

Partie 2 (Service de téléphonie simple) :

Partie 2 (Service de téléphonie simple) : TRAVAUX PRATIQUES Partie 1 (Prologue) : Afin de connaitre la topologie du réseau, nous avons utilisé les commandes suivantes dans le prompt (en ligne de commande) : - «ipconfig» afin de connaitre notre

Plus en détail

Projet : site web de gestion d itinéraires de voyage

Projet : site web de gestion d itinéraires de voyage Projet : site web de gestion d itinéraires de voyage Partie 1 (modélisation et architecture du site) UCBL - Département Informatique de Lyon 1 LIF4 - automne 2014 1 Description générale du projet Le projet

Plus en détail

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

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

Plus en détail

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS 1 Création et gestion de compte 2 Envoi par e-mail 3 Envoi par commande http 4 Publipostage SMS personnalisés 5 Autres fonctionnalités et options SMSvialeweb.com est une solution complète d envoi de SMS

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

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session Introduction à SIP (Session Initiation Protocol) M1 Info Cours de Réseaux Z. Mammeri Couche Session M1 Info Z. Mammeri - UPS 1 1. Introduction Concept de session Session : période pendant laquelle un groupe

Plus en détail

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte

WildCAT : un cadre générique pour la construction d'applications sensibles au contexte WildCAT : un cadre générique pour la construction d'applications sensibles au contexte Pierre-Charles David France Télécom, Recherche & Développement Réunion Adapt, Paris 2006-04-06 Plan 1 Introduction

Plus en détail

Architecture distribuée

Architecture distribuée Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin

Plus en détail

Scéance 1. 1 Présentation de l'ent. 1.1 Les sites de l'universités. 1.2 La documentation. ENT : Environnement numérique de travail

Scéance 1. 1 Présentation de l'ent. 1.1 Les sites de l'universités. 1.2 La documentation. ENT : Environnement numérique de travail Scéance 1 1 Présentation de l'ent ENT : Environnement numérique de travail Service en ligne : service accessible via une connexion au réseau. 1.1 Les sites de l'universités 1.1.1 Présentation Le portail

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

RCS : Rich Communication Suite. EFORT http://www.efort.com

RCS : Rich Communication Suite. EFORT http://www.efort.com 1 Introduction RCS : Rich Communication Suite EFORT http://www.efort.com Rich Communications Services (RCS) est une plate-forme offrant des services de communication incluant la messagerie instantanée

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet Projet ISN - dossier réalisé par Randrianarimanana Stéphanie Titre du projet : Site de rencontre le nom de notre site de rencontre : Linkymeet ( tout astérisque* signifie voir annexe) l'équipe : Randrianariamanana

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

Documentation pour l envoi de SMS

Documentation pour l envoi de SMS Documentation pour l envoi de SMS Mise à jour : Septembre 2010 Solution d envoi de SMS pour professionnels 1 Création et gestion de compte 2 Envoi par e-mail 3 Envoi par commande http 4 Publipostage SMS

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

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB Installation et administration d un serveur web Module 25793 TP A5 (1/2 valeur) Chapitre 1 Fonctionnalités d un serveur web, le protocole

Plus en détail

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP. Le système de transfert de fichiers d'internet Bernard Cousin Université de Rennes I laboratoire IRISA http://www.univ-rennes1.fr/ Plan Introduction aux systèmes de transfert de fichiers Le protocole FTP

Plus en détail

INTERNET, C'EST QUOI?

INTERNET, C'EST QUOI? INTERNET, C'EST QUOI? Internet, c'est quoi? «Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Calendrier des Formations

Calendrier des Formations Systèmes et Réseaux IPV6 980,00 HT Jan. Fév. Mar. Avr. Mai Juin Jui. Août Sept. Oct. Nov. Déc. Comprendre IPV6 et explorer les méthodes pour migrer 14-15 23-24 1-2 26-27 Configuration et Maintenance des

Plus en détail

Guide d utilisation. v 2.0

Guide d utilisation. v 2.0 Guide d utilisation v 2.0 Maj. le 23/10/2013 Inscription et Connexion à l'espace client 3 Installer le service de micropaiement PayPerPass 4 1. Ajouter un site! 5 2. Ajouter un produit! 6 3. Utiliser les

Plus en détail

Compréhension structurée de la Voix sur IP. Caractéristiques clés du cours VoIP

Compréhension structurée de la Voix sur IP. Caractéristiques clés du cours VoIP Le Cours Voix sur IP PDF est un cours de deux jours de formation complet sur la VoIP pour les non-ingénieurs professionnels qui ont besoin d'un aperçu et une mise à jour sur les fondamentaux VoIP, PBX

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

RTSP - Introduction (1/2)

RTSP - Introduction (1/2) RTSP - Introduction (1/2) Protocol suite: TCP/IP. Type: Application layer protocol. Working group: mmusic, Multiparty Multimedia, Session Control RFC 2326: «RTSP is an application-level protocol for control

Plus en détail

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET

Plus en détail

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, stage@isoft.fr ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Programmation de services en téléphonie sur IP

Programmation de services en téléphonie sur IP Programmation de services en téléphonie sur IP Présentation de projet mémoire Grégory Estienne Sous la supervision du Dr. Luigi Logrippo Introduction La téléphonie sur IP comme support à la programmation

Plus en détail

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk Voix sur IP Généralités Paramètres IPv4 H323 / SIP Matériel constructeur Asterisk 38 Généralités Voix sur IP, ou VoIP : technologie(s) de transport de la voix, en mode paquet, par le protocole IP. Téléphonie

Plus en détail

Introduction au développement d applications Web. 420-039-NC Groupe 1638. Plan de Cours. Durée : 35 heures 2-1-1

Introduction au développement d applications Web. 420-039-NC Groupe 1638. Plan de Cours. Durée : 35 heures 2-1-1 Introduction au développement d applications Web 420-039-NC Groupe 1638 Plan de Cours Durée : 35 heures 2-1-1 Professeur : Mathieu Viau mathieu.viau@gmail.com COLLÈGE DE MAISONNEUVE 3800, rue Sherbrooke

Plus en détail

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est

Plus en détail