La lecture en ligne est gratuite
Télécharger
Collège François-Xavier-Garneau Département d'informatique
420-526-FX Programmation Web avancée
Programme : Pondération : Salle de cours : Professeur: Bureau : Courriel : Téléphone : Coordonnateur : Bureau : Courriel : Téléphone :
Automne 2011 Plan de cours
Techniques de l'informatique 2-4-4 G-4825
Stéphane Lapointe G-4818 slapointe@cegep-fxg.qc.ca 688-8310, poste 3401
Marie-Eve Rousseau G-4844 merousseau@cegep-fxg.qc.ca 688-8310, poste 3434
Présentation générale Compétences développées dans ce cours Remarques : (P)Développée partiellement(C)Développée complètement Les énoncés des compétences se retrouvent plus loin dans le texte 0171 (C),017A (P) et 017D (P)Place et contribution du cours dans le programme e Ce cours de 5 session permettra à l'étudiant d'apprendre des notions avancées portant sur le développement d'applications Web multi-tiers utilisant des interfaces riches et dynamiques. Ces nouvelles notions lui fourniront les outils nécessaires pour l'élaboration d'applications Web distribuées de grande ampleur. Description générale e Ce cours qui fait suite au cours de programmation Web de la 4 session permettra à l'étudiant d'apprendre diverses techniques pour l'élaboration d'applications Web multi-tiers impliquant le traitement et l'échange de données dans des environnements distribués. Pour ce faire, le langage XML ainsi que diverses technologies reliées telles que Schéma XML, XSLT, XPath et SVG seront étudiées. Une meilleure compréhension de la programmation Web côté client sera atteinte par l'apprentissage du DOM Core qui permet de construire des interfaces Web riches et dynamiques qui utilisent des ressources et des données externes (technologies AJAX et Flux RSS). Du point de vue programmation Web côté serveur, l'étudiant sera initié à l'environnement Java EE, aux scripts JSP, aux servlets et aux JavaBeans, et ce, tout en utilisant une architecture MVC. Ceci l'amènera à apprendre un nouveau langage de programmation (Java) tout en améliorant ses techniques de correction de programmes. Ce nouvel environnement (Java) sera aussi utilisé pour aborder et exploiter le concept de services Web avec les architectures SOAP (JAX-WS) et RESTful (JAX-RS). Un dernier apprentissage abordera les différentes étapes nécessaires au déploiement d'une application Web. Cours préalable 420-456-FX : Programmation Web Cours nécessitant la réussite de celui-ci 420-615-FX : Réalisation d'un projet Web Contribution au projet éducatif «Formation pour la vie» ·Acquisition de connaissances. ·Développement de la curiosité et de l’autonomie. ·Capacités d’extraire de l’information, de résoudre des problèmes, de penser avec rigueur, de travailler en équipe et de s'adapter à un programme écrit par une autre personne. Habiletés intellectuelles et méthodologiques a.représenter le contexte de l'application; f.définir un problème; b.identifier les éléments à tester; g.formuler des questions; c.h.identifier les relations entre les divers résumer; modules; i.restructurer. d.élaborer des jeux d'essai; e.déduire la cause d'une erreur;
Plan de cours 420-526-FX
Page 2 de 9
Attitudes a.autonomie; e.capacité d'écoute; b.persévérance; f.capacité de coopération; c.créativité; g.respect des autres; d.rigueur; h.curiosité. Contexte de réalisation de la formation ·En laboratoire permettant une configuration logicielle. ·À partir d'une application Web existante incluant une base de données d'une certaine ampleur. ·En élaborant une application Web transactionnelle qui utilise une base de données. ·En élaborant une application Web en XML. ·En respectant les normes Web du W3C (XHTML, DOM, CSS, XML, WCAG, etc.) ·En utilisant des serveurs Web. Énoncé des compétences 0171 Corriger des programmes. 017A Mettre en œuvre une application. 017D Concevoir et développer une application hypermédia dans des réseaux internes et mondiaux. Contexte de réalisation sur le marché du travail ·À partir d'une station de travail, des outils de développement appropriés, d’un logiciel utilitaire et des logiciels appropriés. ·À partir des exigences de l’entreprise et des standards de l’informatique. ·À l’aide d’éléments physiques et logiques et d’outils appropriés. ·Dans des environnements variés. ·À partir d’applications représentatives du milieu du travail. ·À partir de la documentation sur chacune des applications. ·techniques appropriés.À partir des manuels de références ·En collaboration avec la ou le gestionnaire de réseaux et la technicienne ou le technicien en installation de matériel. ·À partir de situations représentatives du milieu de travail. ·À partir de réseaux internes et mondiaux. ·À partir d’une analyse des besoins. Éléments des compétences et critères de performance 0171 Corriger des programmes.
1 Analyser le problème. 1.1 Reconstitution du problème dans l'environnement approprié et dans les conditions originales. 1.2 Formulation méthodique d'hypothèses visant à trouver le problème. 1.3 Utilisation appropriée des outils de débogage en vue de vérifier les hypothèses. 1.4 Détermination de la composante du programme où se situe le problème.
2 Déterminer la nature du problème. 2.1 Examen des documents pertinents associés à la composante du programme en cause. 2.2 Établissement d'hypothèses pertinentes sur la nature du problème. 2.3 Choix judicieux des tests visant à vérifier les hypothèses. 2.4 Utilisation appropriée des outils de débogage. 2.5 Interprétation correcte des résultats. 2.6 Déduction de la nature exacte du problème.
3 Corriger le problème. 3.1 Résolution efficace des problèmes de conception de l'algorithme. 3.2 Résolution efficace des problèmes de traduction de l'algorithme dans le langage de programmation. 3.3 Résolution efficace des problèmes d'utilisation du langage de programmation.
4 Valider la solution. 4.1 Analyse de l'effet de la solution sur l'ensemble du programme. 4.2 Préparation des jeux d'essai appropriés. 4.3 Interprétation juste des résultats. 4.4 Fonctionnement correct du programme. 4.5 Présentation de la solution à la supérieure ou au supérieur pour approbation.
5 Apporter les corrections à la documentation. 5.1 Consignation minutieuse de toute l’information liée au traitement du problème. 017A Mettre en œuvre une application.
1 Planifier la mise en œuvre. 1.1 Choix de la stratégie de mise en oeuvre appropriée au contexte. 1.2 Détermination des ressources humaines et matérielles nécessaires à la mise en œuvre. 1.3 Détermination des étapes et des procédures de mise en œuvre. 1.4 Anticipation correcte des problèmes potentiels de mise en œuvre. 1.6 Communication efficace de l’information pertinente aux personnes en cause.
2 Mettre en place l’environnement. 2.1 Application rigoureuse du plan de mise en œuvre. 2.2 Adaptation de l’environnement matériel appropriée aux exigences de l’application. 2.3 Copie de l’application et des données existantes. 2.4 Installation et configuration correcte de l’application. 2.5 Préparation appropriée des données et des fichiers. 2.6 Application des principes de l’ergonomie.
3 Valider la qualité de la mise en œuvre. 3.1 Exécution rigoureuse des tests de fonctionnement de l’application dans le contexte de production. 3.2 Vérification rigoureuse du fonctionnement optimal de l’ensemble des applications de l’environnement. 3.3 Copie de l’application mise en oeuvre et des données. 3.4 Résolution efficace des problèmes. 3.5 Gestion appropriée du stress. 017D Concevoir et développer une application hypermédia dans des réseaux internes et mondiaux.
2 Établir le cadre technologique. 2.1 Reconnaissances des facteurs influant sur les choix technologiques. 2.2 Détermination de l’architecture appropriée.
Plan de cours 420-526-FX
Page 4 de 9
2.3 Prise en considération des possibilités d’évolution du contexte d’utilisation et des technologies. 2.4 Choix du matériel et des logiciels appropriés à l’architecture retenue. 2.5 Estimation réaliste des coûts. 2.6 Production et présentation d’un rapport complet et clair.
5 Produire le prototype de communication. 5.1 Exploitation correcte des possibilités des outils de développement. 5.2 Détermination du cheminement de l’information à travers les niveaux. 5.3 Programmation du squelette de communication entre les niveaux en tenant compte du volume transactionnel et des accès concurrents. 5.4 Validation du squelette de communication. 5.5 Adaptation appropriée des choix technologiques.
6 Développer l’application. 6.1 Codification appropriée des écrans. 6.2 Codification des fonctions de l’application conformément aux exigences de l’entreprise. 6.4 Codification correcte des requêtes d’accès à la base de données. 6.5 Codification de l’intégration des différents éléments dans le squelette de communication. 6.6 Vérification rigoureuse du fonctionnement de chacun des programmes et de l’application dans l’environnement de développement. 6.7 Validation et optimisation des performances de l’application. 6.8 Production complète et archivage de toute l’information relative aux programmes.
7 Produire la documentation relative à l’application. 7.1 Modification appropriée de toute l’information relative à l’application. 7.4 Inscription du site contenant l’application auprès des moteurs de recherche appropriés. Stratégies d'apprentissage Les cours seront donnés en partie sous forme d'exposés magistraux pour présenter les principes généraux des technologies étudiées. Une participation active en classe sera demandée à l'étudiant afin, entre autres, de réaliser différents exercices et travaux ainsi que pour obtenir les informations techniques nécessaires sur les technologies à l'étude; le professeur fournira différents sites Web de références pour appuyer la démarche de l'étudiant. Une certaine autonomie et débrouillardise seront demandées à l'étudiant. La présence aux cours est obligatoire.
Plan de cours 420-526-FX
Page 5 de 9
Semaine 5: Remise du travail 1 Semaine 6: Présentation du travail 2
Page 6 de 9
Programmation côté client: Manipulation de documents XHTML et XML à l'aide du DOM Core et de DOM Core: Structure du modèle objet et manipulation des JavaScript dans le but de créer des objets d'une page Web à l'aide de JavaScript. interfaces interactives. Notions avancées en JavaScript : Classes, fonctions anonymes, Mise à profit de la technologie AJAX à closure, ajout de gestionnaires d’événements, JSON, callback, l'intérieur d'une page Web. etc. Technologie AJAX:Asynchronous JavaScript and XML. Flux RSS.
Semaines
Présentation du contenu et du déroulement du cours ainsi que de l'approche pédagogique utilisée. Révision rapide des concepts de base liés à la programmation de sites Web (session 4). Aperçu des technologies étudiées durant la session. XML: Principe et écriture de documents XML bien formés. Espaces de noms en XML. Modélisation d'un document XML selon le DOM. Applications du XML: aperçu de SVG et MathML. Schémas XML. Expressions XPath. Langage XSLT: Transformation de documents XML.
Contenu spécifique
Déroulement du cours
Plan de cours 420-526-FX
Écriture de documents XML bien formés. Semaine 3: Interprétation et création de schémas Présentation du XML. travail 1 Utilisation de XSLT et XPath pour transformer des documents XML.
Activités d'apprentissage
Activitésd'évaluation
5-8
1-4
8-11
11-15
16
Programmation côté serveur: Le langage Java et à l'IDENetBeans.Conceptions de pages Web dynamiques en Java : scripts JSP et expressions EL. Servlets Java. Concept des JavaBeans. Visibilité et persistance de l'information. Architecture MVC (Modèle-Vue-Contrôleur) d'une application Web en Java. Techniques de correction et d'amélioration de programmes Java.
JAXB: API pour sérialisation et désérialisation Java-XML. Services Web SOAP en Java (JAX-WS). Services Web RESTful en Java (JAX-RS).
Nom de domaine: ·Configuration des enregistrements DNS (A, CNAME et MX) et redirections. ·Registrar et résolution d'adresse. Déploiement d'une application Web: ·Principales balises META et leur rôle. ·Hébergement d'une application Web (problèmes fréquents). ·Déploiement et configuration de la base de données. ·Référencement (outils de recherche). ·Applications Web en Java EE: fichier WAR.
Semaine de réserve en cas de besoin
Plan de cours 420-526-FX
Modification et création de pages Web Semaine 8: ainsi que de Servlets Java (applications Remise du travail 2 Web avec base de données). Semaine 9: Utilisation et adaptation de diagrammes Présentation du illustrant l'architecture d'une application travail 3 Web selon MVC. Modification d'une application Web construite selon l'architecture MVC. Mise à profit des JavaBeans pour conserver l'information dans une application Web. Vérification des programmes modifiés à l'aide de jeu d'essais. Création de projets Java pour la Semaine 11: sérialisation et désérialisation XML. Remise du travail 3 Création et exploitation de services Web Semaine 12: en Java. Présentation du Achat d'un nom de domaine et travail 4 configurations des différents Semaine 13: enregistrements. Présentation du Configurations des boîtes de courrier travail 5 électronique chezGMail. Semaine 15: Préparation d'un site Web avant son Remise du travail 4 déploiement. Remise du travail 5Déploiement et configuration (hébergement) d'une application Web utilisant une base de données.
Vérification de l'application Web hébergée.
Page 7 de 9
Stratégie d'évaluation
Ce cours ne comporte que des travaux.
Moyen / Modalité
Travail pratique 1
Travail pratique 2
Travail pratique 3
Travail pratique 4
Évaluations
Contenu
XML, schémas XML et XSLT.
DOM Core et AJAX.
Correction et amélioration de programmes Java pour le Web selon l'architecture MVC.
Déploiement d'une application Web.
% Session
20%
25%
28%
7%
Travail pratique 520%Services Web en Java. Notes particulières ·Utilisation deNetBeanscomme IDE pour Java. ·Utilisation deJava EE(serveur WebGlassFish). ·Les outils utilisés en session 4 pour faire du PHP (Apache, PHP,MySQLetPHPMyAdmin) doivent encore être fonctionnels sur l'ordinateur portable de l'étudiant. ·Tous les logiciels utilisés dans le cadre du cours sont disponibles gratuitement sur Internet.
Matériel pédagogique
·
·
Le professeur fournira des notes de cours et des documents complémentaires en format numérique pour certaines parties de la matière. L'étudiant devra acheter un domaine pour la réalisation du travail pratique 4.
Politiques générales
Vous devez prendre connaissance des politiques officielles du collège et du département d’informatique à l'adresse suivante:
http://deptinfo.cegep-fxg.qc.ca/
(RubriqueCoffre à outils de l’étudiant / Documents importants)
Plan de cours 420-526-FX
Page 8 de 9
Médiagraphie
Goncalves, A.Beginning Java EE 6 Paltform with GlassFish 3, From Novice to Professional. Apress, 2009, ISBN: 978-1-4302-1954-5.
Hansen, M.D.SOA Using Web Services. Prentice Hall, 2007, ISBN: 978-0-13-044968-9.
Burke, B.RESTful Java with JAX-RS. O'Reilly, 2010, ISBN: 978-0-596-15804-0.
e Zeldman, J.Design web : utiliser les standards, CSS et XHTML (2 édition)2006,. Eyrolles, ISBN: 2-212-12026-4.
Références sur le Web:
World Wide Web Consortium (W3C) : http://www.w3.org
W3Schools : http://www.w3schools.com
Java sur le site d’Oracle : http://www.oracle.com/technetwork/java/index.html
Plan de cours 420-526-FX
Page 9 de 9