SlideShare uma empresa Scribd logo
1 de 25
SOUTENANCE DE STAGE 
MESSAGERIE PAR WEBSOCKET 
Manavai TEIKITUHAAHAA Juin 2014 
A l’attention de: 
D.BRULIN 
F.PEYRARD 
G.AUBONNET
PLAN 
 I. Cahier des charges 
 1. Tâches et Analyses 
 2. Gestion du temps 
 II. HTTP & WebSocket 
 1. Présentation HTTP 
 2. HTTP 1.0 
 3. HTTP 1.1 
 4. Fonctionnement WebSocket 
 III. L’Existant 
 1. Synoptique de l'existant 
 IV. Mise à niveau de l’existant 
 1. Mise en oeuvre du Service WS 
 2. Programmation plugin 
 3. Programmation JavaScript (JS) 
 4. Synoptique du résultat 
 5. Analyses de performance 
 V. Perspectives avenir du WebSocket 
 VI. BILAN DE STAGE 
2
I. CAHIER DES CHARGES 
06/2014 
3
Tâches et Analyse 
 Mettre en oeuvre un serveur WebSocket: 
Valider -> Service WS* 
 Mise à niveau -> Messagerie 
Analyse de performance 
06/2014 WS: WebSocket 
4
Gestion du temps: méthode agile 
Temps (en semaine) S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 
Tâches 
PARTI I: Mise en OEuvre du Serveur Weboscket 
Recherches 
Installation des Modules Websocket 
Installation des Plugin de test 
Mise en ligne des pages Web de test 
Tests 
PARTI II: Application du Websocket 
Recherches supplémentaires et étude de l'existant 
Programmation des Pluigins 
Programmation des pages Web 
Installation des Plugins 
Mise en ligne des pages Web 
Tests, Débogages, validation 
06/2014 
5
II. HTTP & WebSocket 
06/2014 
6
HTTP 
HyperText Transfert Protocol 
Développé pour le World Wide Web (WWW) 
 Transfert de documents HyperText (HTML, CSS, …) 
 Plusieurs version 0.9 -> 2.0 (En cours …) 
06/2014 
7
HTTP 1.0 
CLIENT 
SERVEUR 
REQUÊTE 1 + REPONSE 1 
REQUÊTE 2 + REPONSE 2 
06/2014 
8
HTTP 1.1 
CLIENT 
SERVEUR 
REQUÊTE 1 + REPONSE 1 
REQUÊTE 2 + REPONSE 2 
06/2014 
9 
KeepAlive 
KeepAlive
CLIENT (Navigateur) SERVEUR 
Connexion TCP établis 
HTTP (Requête + Réponse) 
Handshake (HTTP upgrade) 
Connexion ouverte 
Communication FullDuplex 
Connexion persistent 
Fermeture du canal par un des hôtes 
Connexion fermé 
Connexion TCP fermé 
06/2014 
10
III. L’EXISTANT 
06/2014 
11
Application Web 
Télé-conduite + Supervision  Turbines 
Développé en langage C 
06/2014 
12
Nouveau message ? 
1 min 
OUI 
06/2014 
13
IV. MISE A NIVEAU 
06/2014 
14
Mise en oeuvre du service WS 
 Implémentation Apache  1 journée 
Module WS -> Protocole WS 
 Plugin -> Traitement des messages WS 
Côté Client -> JavaScript 
06/2014 
15
Programmation Plugin 
 Plugin  3 semaines 
 4 primitives : 
 on_connect,  création d’un thread*: 1 thread /connexion 
 on_disconnect,  destruction du thread 
 on_message,  réception du login  structure 
 on_destroy  non-utilisé 
Thread: fil 
06/2014 
16
Programmation Plugin: Thread 
Attente du login 
Ouverture du fichier message 
Récupération, traitement et envoi des nouveaux messages 
TANT QUE LA CONNEXION EST ACTIVE: 
 Attente de nouveau message 
 Traitement et envoi du nouveau message 
 Fermeture du fichier message 
 FIN DU THREAD 
06/2014 
17
Programmation JavaScript 
Exemples  internet 
4 Primitives: 
 on_open: Envoi du login + affichage graphique 
on_close: affichage graphique 
 on_message: ouverture nouvelle fenêtre 
 on_error: alerte bloquante 
06/2014 
18
Synoptique mise à 
niveau 
06/2014 
19
Analyses de performance 
Au début: charge importante (8% / thread) 
 Problème: apr_sleep()  temps en mS 
Solution: apr_sleep()  sleep() temps en S 
 Optimisation possible 
06/2014 
20
PERSPECTIVES D’AVENIR & 
IDÉES D’OPTIMISATION 
06/2014 
21
Perspectives: 
Alarmes instantané 
Rafraichissement données -> Temps réel 
Comment ?  Plugin (C) et JavaScript côté client 
 Optimisations: 
 Utilisation de signaux envoyé aux thread 
Pause  processus endormi 
06/2014 
22
BILAN DE STAGE 
06/2014 
23
Temps projet  5 semaines 
Cahier des charges  Respecté 
Social  intégré à l’entreprise 
POST DUT  STRI formation initial. 
06/2014 
24
06/2014 
25 
MERCI DE VOTRE ATTENTION 
A l’écoute de vos question …

Mais conteúdo relacionado

Mais procurados

Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...
Ben Ahmed Zohra
 
Soutenance de stage Ingénieur
Soutenance de stage IngénieurSoutenance de stage Ingénieur
Soutenance de stage Ingénieur
Faten Chalbi
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logiciel
Siwar GUEMRI
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
infcom
 

Mais procurados (20)

présentation PFE (2)
présentation PFE (2)présentation PFE (2)
présentation PFE (2)
 
Projet de fin d’études
Projet de fin d’études  Projet de fin d’études
Projet de fin d’études
 
Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...Conception et Mise en place d'une Application Web SPA pour les établissements...
Conception et Mise en place d'une Application Web SPA pour les établissements...
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’Emploi
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Présentation (Mémoire fin étude )
Présentation (Mémoire  fin étude )Présentation (Mémoire  fin étude )
Présentation (Mémoire fin étude )
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Soutenance de stage Ingénieur
Soutenance de stage IngénieurSoutenance de stage Ingénieur
Soutenance de stage Ingénieur
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Présentation PFE Mastère PRO
Présentation PFE Mastère PROPrésentation PFE Mastère PRO
Présentation PFE Mastère PRO
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis  (Design)...
Speech de PFE de Ahmed Jebali - CM- ISAMM-Encadré par Wafa Bourkhis (Design)...
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Soutenance de stage TETRA-SI Martial LIPEB
Soutenance de stage TETRA-SI Martial LIPEBSoutenance de stage TETRA-SI Martial LIPEB
Soutenance de stage TETRA-SI Martial LIPEB
 
Mise en place du Chattoon en PHP
Mise en place du Chattoon en PHPMise en place du Chattoon en PHP
Mise en place du Chattoon en PHP
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logiciel
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 

Semelhante a WebSocket soutenance de stage

Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016
Cheikh Mohamed NDIAYE
 
CV Template Jun 15 WD French - Jeremie Simonet
CV Template Jun 15 WD French - Jeremie SimonetCV Template Jun 15 WD French - Jeremie Simonet
CV Template Jun 15 WD French - Jeremie Simonet
Jérémie Simonet
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 Lyon
LeTesteur
 

Semelhante a WebSocket soutenance de stage (20)

Applications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services WebApplications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services Web
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Advanced html5
Advanced html5Advanced html5
Advanced html5
 
Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
 
Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016Installation et configuration de exchange serveur 2016
Installation et configuration de exchange serveur 2016
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
 
Chapitre 1.pdf
Chapitre 1.pdfChapitre 1.pdf
Chapitre 1.pdf
 
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
Node, Grunt et leurs copains qui font de l’accessibilité tout seuls !
 
Offre technique
Offre techniqueOffre technique
Offre technique
 
TP GWT JDEV 2015
TP GWT JDEV 2015TP GWT JDEV 2015
TP GWT JDEV 2015
 
Meteor js 1.0
Meteor js 1.0Meteor js 1.0
Meteor js 1.0
 
CV Template Jun 15 WD French - Jeremie Simonet
CV Template Jun 15 WD French - Jeremie SimonetCV Template Jun 15 WD French - Jeremie Simonet
CV Template Jun 15 WD French - Jeremie Simonet
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien Landuré
 
Restful
RestfulRestful
Restful
 
Restful
RestfulRestful
Restful
 
Joomla Days 2011 Lyon
Joomla Days 2011 LyonJoomla Days 2011 Lyon
Joomla Days 2011 Lyon
 

WebSocket soutenance de stage

  • 1. SOUTENANCE DE STAGE MESSAGERIE PAR WEBSOCKET Manavai TEIKITUHAAHAA Juin 2014 A l’attention de: D.BRULIN F.PEYRARD G.AUBONNET
  • 2. PLAN  I. Cahier des charges  1. Tâches et Analyses  2. Gestion du temps  II. HTTP & WebSocket  1. Présentation HTTP  2. HTTP 1.0  3. HTTP 1.1  4. Fonctionnement WebSocket  III. L’Existant  1. Synoptique de l'existant  IV. Mise à niveau de l’existant  1. Mise en oeuvre du Service WS  2. Programmation plugin  3. Programmation JavaScript (JS)  4. Synoptique du résultat  5. Analyses de performance  V. Perspectives avenir du WebSocket  VI. BILAN DE STAGE 2
  • 3. I. CAHIER DES CHARGES 06/2014 3
  • 4. Tâches et Analyse  Mettre en oeuvre un serveur WebSocket: Valider -> Service WS*  Mise à niveau -> Messagerie Analyse de performance 06/2014 WS: WebSocket 4
  • 5. Gestion du temps: méthode agile Temps (en semaine) S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 Tâches PARTI I: Mise en OEuvre du Serveur Weboscket Recherches Installation des Modules Websocket Installation des Plugin de test Mise en ligne des pages Web de test Tests PARTI II: Application du Websocket Recherches supplémentaires et étude de l'existant Programmation des Pluigins Programmation des pages Web Installation des Plugins Mise en ligne des pages Web Tests, Débogages, validation 06/2014 5
  • 6. II. HTTP & WebSocket 06/2014 6
  • 7. HTTP HyperText Transfert Protocol Développé pour le World Wide Web (WWW)  Transfert de documents HyperText (HTML, CSS, …)  Plusieurs version 0.9 -> 2.0 (En cours …) 06/2014 7
  • 8. HTTP 1.0 CLIENT SERVEUR REQUÊTE 1 + REPONSE 1 REQUÊTE 2 + REPONSE 2 06/2014 8
  • 9. HTTP 1.1 CLIENT SERVEUR REQUÊTE 1 + REPONSE 1 REQUÊTE 2 + REPONSE 2 06/2014 9 KeepAlive KeepAlive
  • 10. CLIENT (Navigateur) SERVEUR Connexion TCP établis HTTP (Requête + Réponse) Handshake (HTTP upgrade) Connexion ouverte Communication FullDuplex Connexion persistent Fermeture du canal par un des hôtes Connexion fermé Connexion TCP fermé 06/2014 10
  • 12. Application Web Télé-conduite + Supervision  Turbines Développé en langage C 06/2014 12
  • 13. Nouveau message ? 1 min OUI 06/2014 13
  • 14. IV. MISE A NIVEAU 06/2014 14
  • 15. Mise en oeuvre du service WS  Implémentation Apache  1 journée Module WS -> Protocole WS  Plugin -> Traitement des messages WS Côté Client -> JavaScript 06/2014 15
  • 16. Programmation Plugin  Plugin  3 semaines  4 primitives :  on_connect,  création d’un thread*: 1 thread /connexion  on_disconnect,  destruction du thread  on_message,  réception du login  structure  on_destroy  non-utilisé Thread: fil 06/2014 16
  • 17. Programmation Plugin: Thread Attente du login Ouverture du fichier message Récupération, traitement et envoi des nouveaux messages TANT QUE LA CONNEXION EST ACTIVE:  Attente de nouveau message  Traitement et envoi du nouveau message  Fermeture du fichier message  FIN DU THREAD 06/2014 17
  • 18. Programmation JavaScript Exemples  internet 4 Primitives:  on_open: Envoi du login + affichage graphique on_close: affichage graphique  on_message: ouverture nouvelle fenêtre  on_error: alerte bloquante 06/2014 18
  • 19. Synoptique mise à niveau 06/2014 19
  • 20. Analyses de performance Au début: charge importante (8% / thread)  Problème: apr_sleep()  temps en mS Solution: apr_sleep()  sleep() temps en S  Optimisation possible 06/2014 20
  • 21. PERSPECTIVES D’AVENIR & IDÉES D’OPTIMISATION 06/2014 21
  • 22. Perspectives: Alarmes instantané Rafraichissement données -> Temps réel Comment ?  Plugin (C) et JavaScript côté client  Optimisations:  Utilisation de signaux envoyé aux thread Pause  processus endormi 06/2014 22
  • 23. BILAN DE STAGE 06/2014 23
  • 24. Temps projet  5 semaines Cahier des charges  Respecté Social  intégré à l’entreprise POST DUT  STRI formation initial. 06/2014 24
  • 25. 06/2014 25 MERCI DE VOTRE ATTENTION A l’écoute de vos question …

Notas do Editor

  1. Stage marama nui présentation Misson initial  websocket Mission secondaire  messagerie par websocket ( plus gros du travail) Répartitation du plan