% INF3190 — Introduction à la programmation Web % UQAM — Département d'informatique % Plan de cours — Automne 2019 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Beaudry, Éric PK-4635 poste 4005 Description du cours ==================== Objectifs --------- Ce cours introduit à la conception et au développement Web, tant du côté client que serveur. Sommaire du contenu ------------------- Les fondements du web : navigateur, serveur, protocoles. Langages et normes du Web (HTML5, JavaScript, PHP, CSS). Introduction à un cadre d'applications (cadriciel, framework). Notions de conception d'interface et de logiciel en tant que service (Software as a service, SaaS). Modalités d'enseignement ------------------------ Ce cours comporte une séance obligatoire de laboratoire (2 heures). Préalables académiques ---------------------- - INF1120 - Programmation I - INF1070 - Utilisation et administration des systèmes informatiques Objectif du cours ================= Ce cours vise à fournir aux étudiants les connaissances nécessaires dans la programmation du web du côté client: - Comprendre l'évolution du web et des langages de marquage. - Étudier les aspects de structure, de style et traitement dans un site web. - Se familiariser avec les langages HTML et XHTML. - Comprendre et utiliser les feuilles de style. - Se familiariser avec les outils d'intégration des objets multimédia. - Étudier les éléments importants de programmation du côté du client à l'aide de langages de scripts tels que JavaScript. - Comprendre les bases de la programmation du côté des serveurs web. - Appliquer les concepts appris dans des cas pratiques. Contenu du cours ================ 1. Introduction : Évolution du web - Langages de marquage - Client/serveur web - Navigateurs - Plateformes de développement - HTTP 2. HTML (html, head, body, p, a, div, span, ul li, ol, table, img, etc.) 3. PHP: Production dynamique de pages web 4. HTML avancé (formulaires, multimédia) 5. PHP : Traitement de formulaires, validations, redirect, fichiers 6. CSS (\#id, .class, priorite des sélecteurs, pseudo-class) 7. CSS (positionnement absolu, relatif, z-index, box model, flexbox, responsive design) 8. Organisation et exploitation d'une application web (répertoires, déploiement) 9. Examen intra 10. JavaScript de base (if, for, arrays, objects, functions, types, variables) 11. JavaScript: événements (page, input), API DOM (querySelector, innerHTML), librairies 12. Compatibilité des fureteurs (validation des documents, standards, types de fichiers, doctypes). Ajax (asynchronisme, événements HTTP) 13. Intégration d'un framework front-end (au goût du jour) 14. Sujets variés et tendances selon la mode actuelle (bundlers, loaders, transpilers, dependency managers) 15. Examen final Modalités d'évaluation ====================== Description sommaire Date Pondération ---------------------- ------ ------------- TP 1 10% TP 2 10% TP 3 20% Quiz 1 5% Quiz 2 5% Examen Intra 25% Examen Final 25% Règles concernant le seuil de passage ------------------------------------- L'étudiant doit obtenir une moyenne cumulée aux examens égale ou supérieure à 50%, ainsi qu'une moyenne cumulée pour les travaux supérieure ou égale a 50%. Si ces seuils ne sont pas atteints, la mention échec sera automatiquement attribuée au cours. Médiagraphie ============ VR Mozilla Developer Network : - - - VR Reg Braithwaite -- JavaScript Allongé, the "Six" Edition VR David Sklar -- Learning PHP, A Gentle Introduction to the Web's Most Popular Language O'Reilly Media, 2016. (Disponible en ligne, après un abonnement gratuit, à BAnQ) VR FELKE-MORRIS, Terry -- *Web Development and Design Foundations with XHTML* -- 5/E. ADDISON-WESLEY, 2010. Fortement recomandé. VR SEBESTA, Robert -- *Programming the World Wide Web* -- 5/E. ADDISON-WESLEY, 2010. VR LEMAINQUE, Fabrice -- *HTML, XHTML, CSS, Scripts, Le guide Complet* -- EDITIONS MICRO APPLICATION, 2008. VR NEBRA, Mathieu -- *Réussir son site Web avec XHTML et CSS* -- EYROLLES, 2010.