Logo ÉTS
Session
Cours
Responsable(s) Julien Gascon-Samson

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Julien Gascon-Samson


PLAN DE COURS

Automne 2020
GTI525 : Technologies de développement Internet (3 crédits)


Modalités de la session d’automne 2020
Pour assurer la tenue de la session d’automne 2020, les modalités suivantes seront appliquées :


La plupart des cours de la session d'automne seront donnés à distance. Les autres seront donnés en présence. Cette information vous a déjà été communiquée.

L’étudiant inscrit à un cours à distance doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus.

Les cours à distance pourraient être enregistrés, à la discrétion de l’ÉTS. Le cas échéant, les enregistrements de cours pourraient notamment être rendus accessibles aux étudiants par le biais notamment du portail de l’ÉTS.

La notation des cours sera la notation régulière prévue aux règlements des études de l'ÉTS.

Pour les cours à distance, les examens (intra, finaux) se feront normalement à distance. Leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.
 
Le contexte actuel oblige bien sûr l’ÉTS à envisager la possibilité d’une deuxième vague de la pandémie de COVID-19, laquelle pourrait entraîner, après le début de la session d’automne 2020, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et que, si requis, elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner la dispense en ligne de toutes les activités d’enseignement et d’évaluation pour la durée restante de la session d’automne 2020.

Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.

Si vous ne consentez pas aux modalités décrites précédemment, vous devez vous désinscrire de vos cours avant le 13 septembre et vous pourrez être remboursé.

Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous devez vous désinscrire avant le 25 septembre et vous pourrez être remboursé.

En demeurant inscrit, vous acceptez les modalités particulières de la session d'automne 2020.




Préalables
Programme(s) : 7065,7070,7365,7610
             
  Profils(s) : Tous profils  
             
    Minimum 47 crédits ET LOG210    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 36,7 % 63,3 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

À la fin de ce cours, l'étudiant sera en mesure :

  • de décrire l’infrastructure de base d’Internet, du Web et d’une application Web;
  • d'expliquer le rôle des principaux éléments de cette infrastructure (matériel, protocoles, langages, serveurs, navigateurs, etc.);
  • de nommer les principales technologies de développement (langages) d’applications Web statiques et dynamiques et expliquer les principales caractéristiques de chacune;
  • d'identifier les particularités du développement en environnement Web et en tenir compte dans la conception, le développement et le déploiement d’applications Web;
  • de concevoir, développer et déployer des applications Web dynamiques, incluant le choix de l’architecture appropriée, la conception HTML et la programmation côté client et côté serveur basée dans le cadre d'une méthodologie structurée du génie des technologies de l’information;
  • d'appliquer les patrons de conception pertinents et spécifiques à la conception d’applications Web.

Le cours couvre la présentation des outils technologiques et architecturaux actuels pour effectuer le développement d’applications Internet.

Les séances de laboratoire permettent la mise en oeuvre de ces différentes technologies pour construire une application Internet typique consistant en un site Web interactif connecté à des systèmes de données.

Préalable : cumuler au moins 47 crédits de cours.




Objectifs du cours

Les objectifs du cours sont les suivants :

  1. Comprendre et décrire la structure des applications web modernes, ainsi que les différentes technologies fondatrices et les standards qui sous-tendent le web d'aujourd'hui.

  2. Comprendre et utiliser les langages côté-client et côté-serveur (JavaScript, HTML, CSS, etc.), les technologies du web ainsi que les APIs ouvertes du web afin de concevoir des applications web modernes robustes et sécuritaires qui respectent les standards.

  3. Appliquer les principes du génie logiciel à la conception d’application web modernes, notamment en ce qui a trait aux standards établis, aux enjeux de sécurité, aux bonnes pratiques et à l'utilisation de patrons de conception.

  4. Comprendre et décrire les interactions dynamiques entre JavaScript et le DOM, les différents éléments du navigateur et les ressources externes.

  5. Survoler et décrire certaines nouvelles tendances émergentes du web.




Stratégies pédagogiques

Un cours principalement magistral sera dispensé à chaque semaine à distance au moyen de la plate-forme technologique Zoom, à raison de 3h / semaine pour une durée de 13 semaines (sauf une semaine pour l’examen intra). Le contenu du cours sera majoritairement présenté sous forme de présentations (format PDF).

Les notions théoriques seront complétées par plusieurs exemples qui seront effectués en classe à titre d’exercices en équipes. Pour faciliter la compréhension, les différents exemples seront mis à la disposition des étudiants sur les plate-formes de collaboration Moodle et/ou GitHub, et il sera possible de les exécuter sur un ordinateur personnel (habituellement dans un navigateur moderne).

De plus, un projet pratique sera réalisé durant les 12 séances de laboratoires (deux heures chacune). Un investissement de temps personnel équivalant à 4h/semaine est également requis afin de répondre aux objectifs pédagogiques du cours (travaux pratiques, relecture et compréhension de la matière et des exercices, préparation aux examens, etc.).




Utilisation d’appareils électroniques

En raison de la session d'automne à distance, tel que stipulé par les directives de l'ÉTS, les étudiantEs doivent avoir un ordinateur muni d'une caméra et d'un microphone, de la dernière version du logiciel Zoom, et d'une connexion Internet adéquate. L'ordinateur sera utilisé pour suivre le cours magistral ainsi que pour la réalisation des exercices en classe (voir la liste des logiciels recommendés plus bas).

  • Il sera demandé aux étudiantEs de mettre leur volume sur "Mute" durant la prestation du cours, et de n'enlever l'option "Mute" que pour poser une question ou intéragir.
  • Pour poser une question durant le cours magistral, les étudiantEs pourront allumer leur micro, et pourront utiliser la fonction "Lever la main" dans Zoom (le professeur s'assurera de garder un oeil sur la liste des étudiants ayant levé la main). Nous accepterons également les questions posées dans la fenêtre de clavardage Zoom.
  • Les informations pour se connecter à la session Zoom pour chacun des cours seront communiqués sur Moodle.
  • Les instructions pour les laboratoires seront communiquées par les chargés de laboratoire
  • Nous recommandons fortement aux étudiantEs d'allumer leur caméra durant le cours pour susciter un maximum d'intéractivité, en remplacement d'une classe donnée en présentiel.

Note:

  • Toute personne qui utilise Zoom pour diffuser des images ou flux vidéos inappropriés dans un contexte pédagogique ("zoombombing") sera automatiquement retirée de la session Zoom et bloquée, et le cas sera référé aux instances appropriées.



Horaire
Groupe Jour Heure Activité
01 Mardi 18:00 - 20:00 Laboratoire
Jeudi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Julien Gascon-Samson Activité de cours Julien.Gascon-Samson@etsmtl.ca A-4456 Sur rendez-vous
01 Nicolas Sheehy Laboratoire nicolas.sheehy.1@ens.etsmtl.ca



Cours
Sujets Heures

Introduction / plan de cours

1 heure

Historique du web et anatomie d'un site web 1 heure
HTML et CSS 3 heures
JavaScript 1: principes et concepts de base, modèle orienté-objet prototypal 4 heures
JavaScript 2: modèle fonctionnel et fermetures 3 heures
Navigateur, minuteurs, modèle événementiel du DOM 3 heures
--- Intra (contenu approximatif) --- 3 heures
Manipulation du DOM 4 heures
AJAX, JSON, interactions client-serveur 2 heures
Node.js et JavaScript sur le serveur 4 heures
Patrons et architectures logicielles d’applications web, APIs, architectures REST 4 heures
Bases de données du web: SQL, NoSQL, MongoDB 3 heures

Sécurité du web

3 heures
Tendances émergentes (à déterminer) 1 heure
Examen final (période d'examens)

Notes:

  • Les heures sont des heures approximatives d’enseignement pour chaque sujet et sont sujettes à changement selon le déroulement du cours.
  • Le cours étant en évolution, il est possible que certains sujets soient couvert plus tôt ou plus tard dans la session.
  • La matière couverte à l’intra dépendra de l’état d’avancement dans la matière du cours à la date de l’examen.



Laboratoires et travaux pratiques

Les laboratoires visent dans un premier temps à mettre en pratique les connaissances acquises durant les cours qui ont une portée plus théorique. Dans un second temps, ils visent à permettre aux étudiants d'intégrer des notions et méthodes d'ingénierie acquises dans ce cours ainsi que dans des cours précédents (par exemple, conception logicielle, patrons de conception, documents et diagrammes d'architecture, tests). Finalement, les laboratoires visent également à permettre aux étudiants d'explorer des technologies complémentaires aux notions théoriques vues en classe (par exemple, l'utilisation de cadriciels (frameworks) web, d'APIs tierce-partie, etc.).

Les laboratoires sont effectués en partie dans les plages attitrées à l’horaire à raison de 2h/semaine, et complétés sur votre temps personnel. Note: il est recommandé d'assister aux laboratoires (par vidéoconférence), puisque c'est la manière préviliégiée pour profiter de la disponibilité du chargé de lab.

Concrètement, le volet "laboratoire" du cours consiste en un projet d’application pratique qui est réalisé en équipe, et qui est découplé en 3 livrables. Les dates d’évaluation des différents livrables seront communiquées au cours de la session, et il est important que chacun des membres de l’équipe soit présent (par vidéoconférence) à chacune des séances de lab où un livrable est évalué, puisqu’une démonstration des fonctionnalités du livrable devra être faite au chargé de laboratoire.

Les sujets et énoncés des différents livrables seront communiqués durant la session; mais ne suivront pas toujours exactement la progression du cours théorique / il sera demandé aux étudiants d'explorer certains concepts par eux-mêmes.

Note: En raison du contexte actuel, le chargé de lab communiquera les modalités de laboratoire à distance (via la plate-forme Discord) et d'évaluation de vos 3 livrables.




Utilisation d'outils d'ingénierie

Le « web » visant à être un monde ouvert, nous visons à réduire notre dépendance à des outils, systèmes d’exploitation ou environnements de développement spécifiques! Nous utiliserons les outils suivants (SVP assurez-vous qu'ils sont installés sur votre ordinateur) :

  • Les langages HTML, CSS, JavaScript et l’environnement d’exécution Node.js ainsi que le gestionnaire de modules npm

  • Un navigateur moderne qui respecte les standards du web

  • Les outils de débogage du navigateur

  • GitHub en tant qu’outil de contrôle de versions et de travail collaboratif

  • L’engin de bases de données MongoDB

  • Un outil de conception UML

  • Il est recommandé d’utiliser un éditeur de texte adéquat, tel que Atom, Sublime, VSCode ou autre.

  • D’autres outils pertinents pourront s’ajouter à cette liste.

Notes:

  • Certains cadriciels et certaines technologies web spécifiques pourront être utilisées en laboratoire
  • Tel que mentionné, l'enseignement se fera au moyen de la plate-forme Zoom.
  • Les communications et le suivi avec le chargé de laboratoire seront effectuées au moyen de la plate-forme Discord.
  • Puisque les examens seront faits à distance, avoir certains de ces outils à votre disposition lors de l'examen facilitera votre travail.



Évaluation

Laboratoires (projet en équipe découplé en 3 livrables)

  • Livrable 1: 8%
  • Livrable 2: 11%
  • Livrable 3: 11%

30 %

Examen intra (individuel)

30 %

Examen final (individuel, cumulatif)

40 %

 

À noter :

  • Une moyenne inférieure à 50% dans les évaluations individuelles entraîne automatiquement un échec au cours. Ceci est une condition nécessaire mais non suffisante pour réussir ce cours.
  • L'examen intra et final auront lieu en ligne via la fonctionnalité "Test" de la plate-forme Moodle



Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 22 octobre 2020



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Tout travail remis en retard recevra la note 0%, sauf si une entente a été prise au préalable avec l'enseignant et à la discrétion de ce dernier.




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Dispositions additionnelles

Nous serons particulièrement attentifs à détecter les cas de plagiat lors des évaluations individuelles. Des cas ont déjà été soumis en comité disciplinaire. Nous demandons votre collaboration à cet effet. 




Documentation obligatoire

Aucune documentation n'est obligatoire. Toutefois, la série de livres "You Don’t Know JS" (voir la section "Ouvrages de référence") est suggérée comme complément au matériel de cours afin de vous aider à clarifier certains concepts.




Ouvrages de références

Aucun ouvrage de référence obligatoire.

Complémentaires

  • La série de livres numériques “You Don’t Know JS” (gratuits en ligne: https://github.com/getify/You-Dont-Know-JS) -- il est recommandé de lire certaines sections de cette série de livres pour vous aider à clarifier certains concepts du cours.

  • L'ouvrage "JavaScript: The good parts” de Doug Crockford est une bonne référence sur JavaScript

  • D'autres ouvrages intéressants ou références en ligne pourront vous être suggérés au fil de la session.




Adresse internet du site de cours et autres liens utiles

Le site du cours est disponible sur Moodle au https://ena.etsmtl.ca/course/view.php?id=13217