% INF3190 — Introduction à la programmation Web % UQAM — Département d'informatique % Plan de cours — Hiver 2020 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Mosser, Sébastien PK-4820 poste 3904 Enseignement ------------- Tsheke Shele, Johnny PK-4115 poste 3699 - Les étudiants doivent consulter régulièrement leur courriel UQAM, moyen de communication de l'enseignant avec le cours-groupe. - Un [canal de discussion](https://ageei-uqam.slack.com/messages/inf3190/details/) en ligne est aussi disponible pour interagir avec les enseignants, les démonstrateurs et les autres étudiants. Description du cours ==================== 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 et du coté serveur: - 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. - S'initier au développement des sites web accessibles aux personnes en situation de handicap (Web Accessibility Initiative - WAI) Mesures de continuation du trimestre d'hiver 2020 (COVID-19) ============================================================ Compte tenu du contexte actuel de COVID-19, de la nécéssité de proposer une solution adaptée au plus grand nombre et du surcharge de travail engendré pour l'enseignant; les activités se poursuivront sous la forme suivante: - Cours à distance. - Les présentations, les videos et les références seront mises à la disposition des étudiants sur [moodle](https://moodle.uqam.ca). - Les séances synchrones sur zoom serviront principalement à illustrer certains points, discuter, répondre aux questions et faire le suivi des travaux. - Un forum est ouvert sur moodle pour faciliter les échanges et le suivi des questions/réponses. - L'accent sera mis sur le travaux pratiques et/ou l'évaluation par les pairs comme cela se fait dans les cours à distance et/ou les [MOOCs](https://en.wikipedia.org/wiki/Massive_open_online_course). - Lorsqu'un travail pratique fait usage de l'évaluation par les pairs, la correction des travaux des autres est une activité notée. Concrètement, la qualité de votre correction sera elle-même notée. Contenu du cours ================ - Introduction : Évolution du web - Langages de marquage - Client/serveur web - Navigateurs - Plateformes de développement - HTTP - Accessibilité du web - HTML - Structure de document web - Balises de formatage : head, body, listes, tableaux , div, span, img, ... - CSS - Stylisation de textes, de fontes, de liens , de listes, de tables, etc. - Concept de boîtes, marges, etc. - Feuilles de style en cascade ( hiérarchie) - Notion de classe CSS, Sélecteur, priorité, - Formulaires et multimédias - Formulaires - Cartes (images cliquables) - Multimédia - CSS3, Icônes et Introduction Bootstrap - CSS3(flexbox,transform, transition,) - Animation - Introduction bootstrap: grille, Quelques classes pour site responsive, tables, formulaires, images, couleurs contextuelles, etc - Bootstrap (navigation, modal) - Initiation à Fontawesome (Librairie des icônes) - JavaScript - Variables - Structures de contrôle - Fonctions - JQuery - Chargement, utilisation - Sélecteurs généraux: id, classe, balise - Autres sélecteurs - Événements - manipulation CSS - etc - Examen Intra - JQuery (Suite), Canvas et SVG - HTML5 (Canvas, SVG) - Manipulation de documents web (DOM), - Animation - Librairies: Datatables, jsTree, Bootstrap, etc. - PHP: Introduction - Variables - Tableaux - Instructions de contrôle: if, switch, for, while - Fonctions - PHP: Traitement des formulaires - PHP: Introduction à la programmation orientée object (OO) - XML et AJAX - XML - Programmation AJAX - Aperçu des concepts et technologies populaires du web - Node.js, ExpressJS, - Angular, Reac - ASP - Python - JSP, servlet - Symfony, MVC, Saas, etc - Examen Final Modalités d'évaluation ====================== Description sommaire Date Pondération ------------------------------------ -------------------- --------------- TP 1 2020-02-23 15% TP 2 (+ Lab Noté 2 ) 2020-04-22 25% ~~(20%)~~ Lab Noté 1 2020-02-10 5% Lab Noté 2 -\>TP 2 2020-03-16 0% ~~(5%)~~ Lab Noté 3 -\> final 2020-04-20 0% ~~(5%)~~ Examen intra 2020-03-05 25% Examen final (+ Lab Noté 3 )-\>TP3 2020-04-26~~(23)~~ 30% ~~(25%)~~ > - Les modalités d'évalution sont ajustées pour s'adapter au contexte > de la pandémie COVID-19. > - Le laboratoire noté 2 est remplacé et intégré dans le TP 2. > - L'examen Final et le laboratoire noté 3 sont remplacés par un > travail pratique (TP > > 3) individuel. 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.~~ - L'étudiant doit obtenir une moyenne générale pondérée supérieure ou égale à 50% Médiagraphie ============ VO Présentations du cours et manuel d'exercices (disponibles sur ). VR sur le web : - - - - 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.