Projet Covoiturage TP 4



Documents pareils
Optimiser pour les appareils mobiles

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

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

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

BR-Docs guide d applications mobile Android

Chapitre 4. Gestion de l environnement. Pré-requis. énoncé

Présentation du Framework BootstrapTwitter

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

demander pourquoi mon site n'apparaît pas sur google ou pourquoi mon site n'est pas référencé par les moteurs de recherche?

Créer un site Internet dynamique

Bureautique Initiation Excel-Powerpoint

HTML. Notions générales

Pas-à-pas. Créer une newsletter avec Outlook

Webmaster / Webdesigner / Wordpress

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Introduction à HTML5, CSS3 et au responsive web design

La solution pour avancer l esprit libre!

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Catalogue des formations Edition 2015

HTML5 et CSS3 pour des sites Responsive Web Design

MANUEL DE L UTILISATEUR

Point sur les solutions de développement d apps pour les périphériques mobiles

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

Manuel d'utilisation du site Deptinfo (Mise en route)

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

TelSurvey Système CATI pour LimeSurvey 11 novembre Manuel administrateur

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT

Etude et développement d un moteur de recherche

Notice d utilisation du serveur SE3 (Samba Édu 3) Version «élèves» 2.4 Lycée Jean-Pierre TIMBAUD

KWISATZ MODULE PRESTASHOP

Programmation Web TP1 - HTML

Mise en œuvre d une solution de virtualisation

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur

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

CRÉER SON SITE INTERNET. Créer son site Internet. Méd de Roanne. FG 16/09/08

Association UNIFORES 23, Rue du Cercler LIMOGES

Comment créer son propre monitoring. (Version simple PHP)

CTIconnect PRO. Guide Rapide

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Notes pour l utilisation d Expression Web

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

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

Programmation Web. Introduction

Atelier Le gestionnaire de fichier

Ak Documentation

GUIDE D UTILISATION ADSL ASSISTANCE

Module Communication - Messagerie V6. Infostance. Messagerie

Diffuser un contenu sur Internet : notions de base... 13

Formation. Module WEB 4.1. Support de cours

Guide utilisateur i-milo >> Décisionnel

Conception d'une plate-forme collaborative Microsoft SharePoint 2003

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

PHP 5.4 Développez un site web dynamique et interactif

Guide utilisation SFR Sync. SFR Business Team - Présentation

Formation : WEbMaster

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

WINDOWS SHAREPOINT SERVICES 2007

Comment accéder à d Internet Explorer

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Utilisation de Sarbacane 3 Sarbacane Software

Manuel du logiciel PrestaTest.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

TP01: Installation de Windows Server 2012

Joomla! Création et administration d'un site web - Version numérique

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Institut Universitaire Professionnalisé Génie Mathématiques et Informatique

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

Documentation de conception

À propos du Guide de l'utilisateur final de VMware Workspace Portal

Prise en main du logiciel Smart BOARD

Généralités sur le courrier électronique

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Guide d utilisation des services My Office

Côté cours. Enseigner avec un PGI - Specibike pour OpenERP V7 CRM Compta GRH Workflow

UltraBackup NetStation 4. Guide de démarrage rapide

Whaller.com. Réseau social d entreprise

Support Google Analytics - 1 / 22 -

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Documentation Honolulu 14 (1)

WEBVIEW. Serveur Web embarqué dans DIRIS G NOTICE D UTILISATION. com/webview_ software

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Bonnes pratiques de développement JavaScript

Installation / Sauvegarde Restauration / Mise à jour

Configuration de SQL server 2005 pour la réplication

Manuel : Comment faire sa newsletter

CONTACT EXPRESS 2011 ASPIRATEUR D S

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Configuration du WIFI

Transcription:

Projet Covoiturage TP 4 Description du thème Ce TP est le quatrième d une série mettant en œuvre le développement mobile en utilisant la bibliothèque jquery Mobile. Propriétés Description Intitulé long Des TP permettant la découverte d un mini-framework mobile jquery Mobile (JQM) Formation concernée BTS Services informatiques aux organisations Matière SLAM 2, PPE, SLAM 4 Présentation Les TP proposent de développer une application mobile cross-plateform à différentes itérations du cycle de développement Notions Savoirs D4.1 - Conception et réalisation d une solution applicative D4.2 - Maintenance d une solution applicative Savoir-faire Programmer un composant logiciel Exploiter une bibliothèque de composants Adapter un composant logiciel Valider et documenter un composant logiciel Programmer au sein d un framework Pré-requis Développement web, PHP, JavaScript Outils Un environnement de développement pour le web, Firebug pour suivre les appels jquery et Ajax Mots-clés Application mobile, jquery, jquery Mobile, Ajax Durée 3h40 Auteur(es) Patrice Grand Version v 1.0 Date de publication Mars 2014 http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 1/9

Énoncé La première itération est terminée (cf. les 3 premiers TP) ; les différents tests sont concluants concernant la stabilité de la bibliothèque jquery Mobile et sa portabilité sur les plateformes cibles (IOS, Android, WindowsPhone). Dans cette deuxième itération l accent sera mis sur le temps de réponse de l application. Un constat Tout en étant assez fluide, l application pourrait voir ses performances améliorées ; 5 appels au serveur sont faits pour demander le rechargement de l index et ceci provoque un temps d attente certes très supportable mais qui pourrait être fortement réduit. Des mesures ont été effectuées ; elles sont présentées dans l annexe 1. D autre part, la tendance actuelle des applications web-mobile s oriente vers une architecture monodocument : un seul document HTML est chargé au démarrage de l application, il contient toutes les pages et des appels Ajax sont faits pour charger les données dans la page active. C est cette option qui va guider la deuxième itération. Votre chef de projet vous demande de rédiger une courte note analysant le trafic présenté en annexe 1 et anticipant les gains en terme de rapidité dans l hypothèse retenue pour cette seconde itération. Question 1 Rédiger la note demandée. Cette tâche est estimée à 30 minutes. Les bases de la nouvelle version Cette nouvelle version va présenter un index très allégé, sans code PHP (si ce n est les include présents pour raison de lisibilité et d organisation des pages). http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 2/9

La plupart des pages devront bien sûr être modifiées et toilettées de leur code PHP. Le développement va être divisé en 3 parties autour des fonctionnalités des pages : 1 2 3 Partie 1 Cette partie ne nécessite que peu de transformation (Ajax a déjà été utilisé pour les pages connexion/accueil), si ce n est une page accueil à ajouter qui ne contiendra que le menu et le logo : Question 2 Votre chef de projet vous demande de commencer par écrire le code de cette page, dont l id sera «pageaccueil». Il estime que 10 minutes seront suffisantes. http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 3/9

Pour terminer cette partie 1, votre chef de projet vous demande d utiliser une grande partie du code de l application existante ; l essentiel des modifications portera sur les liens des pages et bien sûr le comportement associé dans le fichier monjs. Question 3 Réalisez cette tâche que votre chef de projet estime à une heure. Partie 2 Cette partie est plus délicate, il faudra remplacer le chargement de l index par un appel Ajax pour récupérer les données. Le menu (pied.html) doit être modifié, vous avez décidé de le remplacer par du code qui ne fait plus appel à l index : Vous continuez par gérer les événements click sur les deux premiers liens href avec le code jquery suivant : http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 4/9

Le sélecteur $("#offresarrivee, #offresdepart ") permet d abonner les deux éléments d identifiant offresarrivee et offresdepart au même événement : vous décidez ainsi d informer l appel Ajax de la nature de la demande. La fonction Ajax va pouvoir fournir la bonne ressource ; vous poursuivez en écrivant cette nouvelle fonction Ajax traiterlesoffres.php : Vous préparez votre page permettant d afficher les offres : Il ne vous reste plus qu à écrire le code jquery dans la fonction foncretourlesoffres. Elle commence par le code : http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 5/9

Remarque : votre chef de projet vous conseille d utiliser des sélecteurs jquery très précis car comme toutes les pages sont chargées, il a un risque que le code que l on pensait concerner un sélecteur concerne un autre qui a le même id. C est pourquoi, la méthode empty (qui vide la liste) s applique à la divliste de la page pageoffresoffertes. Ce qui par ailleurs améliore les performances car jquery filtre déjà la recherche par l id de la page. Il vous demande aussi d être attentif à la création des objets jquery ; ceci se fait en deux temps, d une partge il y a interprétation du code HTML présent dans la page active et ensuite une seconde passe permet de transformer les éléments HTML en éléments jquery (ceci se fait au chargement de la page). La seconde passe se déroule sans problème si tous les éléments HTML sont présents au moment du chargement ; par contre quand c est le code jquery qui insère une listview par exemple il y a lieu de générer un événement de création dans le code. Ceci se fait par : $("#<conteneur>").trigger('create'); Question 4 Terminez l écriture de la fonction foncretourlesoffres que votre chef de projet estime à une heure. Pour cette partie 1, il ne vous reste plus qu à afficher le contenu de l offre ; la page de présentation pageoffre.php restera identique. Il vous précise quelques points : - Il ne faut pas utiliser l événement click directement mais passer par la méthode on qui s exécutera lorsque les éléments jquery (ici les li) seront construits - La méthode on s utilise à partir d un élément conteneur (la page pageoffresoffertes) et concerne un (ou plusieurs) élément(s), ici tous les éléments li. Vous êtes arrivé à écrire la méthode : http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 6/9

Question 5 Ecrire la fonction foncretouroffre qui va permettre de renseigner les différents éléments présents dans la page pageoffre.php. Le temps estimé est d une heure. http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 7/9

Annexe 1 : analyse du trafic avec Firebug 1- Chargement de la page de login et traitement de la connexion : fig 1 Remarque : les barres ont une longueur très approximative, ne se fier qu aux valeurs 2- Chargement de la page visualisant les offres : a) Sous Firefox : b) Sous Chrome : fig 2 http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 8/9

3- Chargement de la page de gestion des offres fig 3 fig 4 Question 1 Corrigé Analyse du trafic. Cette étude se base sur un essai à un moment donné, avec un état du réseau particulier. Si des mesures étaient effectuées à un autre moment les résultats seraient différents. Plus que les valeurs réelles des activités réseaux, il est préférable de retenir les proportions entre types d activités. On peut remarquer (fig 1) que la séquence du premier chargement de l index prend un certain temps, 490 ms ; on peut noter que le second chargement de l index (pour afficher les offres) prend moins de temps, 110/150 ms (fig 2 et fig 3). Ceci s explique par la mise en cache (fig 3) d un certain nombre de fichiers. Le chargement de la troisième version de l index (fig 4) conserve ce temps relativement réduit. Concernant les échanges Ajax (ici les méthodes POST), on constate un gain important. On peut donc envisager de réduire de manière significative les temps de chargement des pages en supprimant les 5 appels à l index. Notons néanmoins que dans une architecture mono-document, le chargement initial de l application (qui contiendra ainsi toutes les pages) sera plus long que dans la version actuelle. Question 2, 3, 4, 5 Voir le code. http://www.reseaucerta.org CERTA - mars 2014 v1.0 Page 9/9