Logo ÉTS
Session
Cours
Responsable(s)

Se connecter
 

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

Responsable(s) de cours :


PLAN DE COURS

Automne 2024
IND280 : Développement multiplateformes (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément
Données non disponibles




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
Ce cours vise à créer des applications distribuées pouvant s’exécuter sur des plateformes matérielles et logicielles hétérogènes.

Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure de : décrire les principales technologies sous-tendant la réalisation d’applications multiplateformes ; appliquer les techniques de conception, de développement, de déploiement et de tests propres à la réalisation d’applications multiplateformes ; considérer les différentes contraintes matérielles et logicielles propres aux applications multiplateformes ; développer des applications multiplateformes.

Environnements de programmation et plateformes de développement. Applications natives et Web. Développement multiplateforme et multi appareils. Architecture logicielle, composantes, et patrons de conception. Test et sécurité. Communications avec serveur et base de données. Gestion de ressources limitées. Gestion des entrées et sorties. Conception d’interfaces. Déploiement et distribution. Tendances et perspectives.



Objectifs du cours

Ce cours vise à fournir les bases pour que les étudiants puissent créer des applications distribuées pouvant s’exécuter sur des plateformes matérielles et logicielles hétérogènes. Au terme de ce cours, l'étudiant sera en mesure :

  • De décrire les principales technologies sous-tendant la réalisation d’applications multiplateformes;
  • D'appliquer les techniques de conception, de développement, de déploiement et de tests propres à la réalisation d’applications multiplateformes;
  • De considérer les différentes contraintes matérielles et logicielles propres aux applications multiplateformes;
  • De développer des applications multiplateformes.



Stratégies pédagogiques

Le cours se déroule sur 3 heures par semaine pendant 12 semaines, avec un examen intra. Le contenu sera principalement présenté sous forme de présentations, d'exemples disponibles sur GitHub et CodeSandbox.io, ainsi que de quelques notes de cours sur Google Colab. La participation active des étudiant(e)s sera encouragée à travers divers exercices et discussions en classe. Les concepts abordés seront appliqués lors de douze (12) séances de laboratoire de deux (2) heures chacune.




Utilisation d’appareils électroniques

Les étudiants devront posséder un ordinateur portable pour participer à l'ensemble des activités.




Horaire
Groupe Jour Heure Activité
01 Mercredi 13:30 - 17:00 Activité de cours
Vendredi 08:30 - 10:30 Laboratoire (Groupe A)
Vendredi 10:30 - 12:30 Laboratoire (Groupe B)



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Marcos Dias de Assuncao Activité de cours Marcos.Dias-De-Assuncao@etsmtl.ca A-4616
01 Marcos Dias de Assuncao Laboratoire (Groupe A) Marcos.Dias-De-Assuncao@etsmtl.ca A-4616



Cours

Sujets

Heures

Introduction

  • Développement multiplateformes
  • Introduction à React
  • Routes et navigation en React 

9

Développement multiplateformes avec React Native

  • Introduction à React Native
  • Composants d'interface utilisateur
  • Gestion des données d'application

9

Utilisation de services Web

  • Communication avec des APIs
  • Bases de données et services backend

8

UX et tests

  • l'UX dans le développement multiplateformes
  • Outils de test et débogage  

6

Sécurité

  • Gestion de permissions

3

Tendances du développement multiplateformes

3

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.



Laboratoires et travaux pratiques

Des exercices seront proposés presque chaque semaine pendant les cours. Les solutions seront fournies et discutées en classe une semaine après la publication des exercices. Ces exercices ont pour objectif d'approfondir la compréhension des concepts abordés en classe et de préparer les étudiants aux examens.

Trois projets de laboratoire seront assignés, à raison d’un par mois. Ces projets visent à mettre en pratique les notions apprises durant les cours. Les étudiants devront concevoir, implémenter et évaluer des applications en utilisant les mécanismes et techniques étudiés.




Utilisation d'outils d'ingénierie

Nous utiliserons les outils suivants (SVP assurez-vous qu'ils sont installés sur votre ordinateur) :

  • Node.js ainsi que le gestionnaire de modules npm
  • Un navigateur qui respecte les standards du web
  • GitHub en tant qu’outil de contrôle de versions et de travail collaboratif
  • Un environnement de développement intégré (EDI): Jetbrains WebStorm ou VS Code
  • Android Studio & App Tools
  • D’autres outils pertinents pourront s’ajouter à cette liste.



Évaluation

Laboratoires (projets en équipe)

  • Projet 1: 10%
  • Projet 2: 10%
  • Projet 3: 10%

30 %

Examen intra (individuel)

30 %

Examen final (individuel, cumulatif)

40 %

 

À noter :

  • Double-seuil: 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 présentiel sur ordinateur, via la fonctionnalité "Examen" de la plate-forme Moodle. Vous devrez utiliser votre ordinateur personnel.



Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 23 octobre 2024



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-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.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Tout travail (devoir, 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.5 / cycles supérieurs, article 6.5.2), recevra la note de zéro. Toutefois, d'autres dispositions peuvent s'appliquer si elles sont communiquées par écrit par l’enseignant(e) dans les consignes spécifiques à chaque travail ou dans le plan de cours.

Dispositions additionnelles :

Veuillez respecter la procédure de remise, de même que les échéances fixées :

 

Retard de moins de 24 heures : perte de 10 %;
Retard de plus de 24 heures, mais moins de 48 heures: perte de 20 %;
Retard de plus de 48 heures, mais moins de 72 heures: perte de 30 %;
Retard de plus de 72 heures: perte de 100 %.

 




Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) 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 étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-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 tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.

Dispositions additionnelles

L'usage des Systèmes d’intelligence artificielle générative (SIAG) sera autorisé pour certaines activités. 




Documentation obligatoire

Les diapositives du cours et le contenu recommandé contiennent l'ensemble de la matière, en complément avec les exercices et exemples.




Ouvrages de références
  • M. Sakhniuk, A. Boduch, React and React Native: Build cross-platform JavaScript and TypeScript apps for the web, desktop, and mobile, 5th Edition, Packt Publishing, 2024 

  • R. Wieruch, The Road to React: Your journey to master plain yet pragmatic React.js

  • M. Haverbeke, Eloquent JavaScript, 4rd edition, 2024
  • D. Flanagan, JavaScript: The Definitive Guide, 7th Edition, O'Reilly Media, Inc., May 2020




Adresse internet du site de cours et autres liens utiles

Le site du cours est disponible sur Moodle au https://ena.etsmtl.ca/