Développement d'applications - Groupe 20705

Grand public

Diplôme d'études collégiales (DEC)

Temps plein

Jour

Date(s)

Du 5 octobre 2020 au 9 septembre 2022

Jour(s)

Lundi au vendredi

Horaire

Entre 8 h 10 et 18 h

Lieu

En ligne ou en présentiel, selon les directives ministérielles (pandémie)

Objectifs

Si vous aimez les plateformes Web ou mobiles, ce programme vous permettra d'apprendre à développer des applications en différents langages. Vous saurez gérer un projet en utilisant la méthodologie agile.

À la fin de la formation, vous aurez pris le contrôle des objets connectés et vous concevrez, développerez et mettrez à jour des applications informatiques.

Que ce soit un site de vente en ligne, une application mobile ou Web, un logiciel de visualisation, une application synchronisée en nuage, il n'y aura plus de secret pour vous.

Ce programme est pour vous si :

  • vous avez l’esprit d’analyse et êtes créatif;
  • vous avez de bonnes aptitudes en communication et aimez travailler en équipe;
  • vous avez le souci du détail et de la précision.

Perspectives professionnelles

Sur le marché du travail, en tant que programmeur-analyste, vous pourrez produire des logiciels et développer des services informatiques.

Dans la petite entreprise, vous serez très souvent l'unique responsable du développement d'une application informatique.  Vous devrez recueillir et analyser les besoins des utilisateurs, concevoir des solutions, programmer, tester et implanter les applications tout en assurant le suivi auprès des utilisateurs.

Dans les grandes entreprises, les applications développées étant plus complexes, le travail sera effectué par une équipe de spécialistes à l'intérieur de laquelle vous aurez des tâches plus spécialisées dans le processus de développement.

Perspectives universitaires

À la fin de la formation, vous pourrez poursuivre vos études dans ce domaine si vous le désirez. Informez-vous sur les différentes possibilités de l'UQAM, de l'UdeM, de l'ULaval, Université de Sherbrooke, de la Polytechnique et de l'ÉTS.

Grille de cours ou de compétences

CodeTitrePondération*
201-1C5Mathématiques appliquées à l'informatique

Préalable : aucun

Dans ce cours l’étudiant s’approprie diverses notions élémentaires de mathématiques utiles à l’exercice de la profession de technicien en informatique. Il aborde des concepts qui touchent quatre champs distincts de la discipline. Premièrement, la représentation des nombres, les bases et les conversions; deuxièmement, la logique propositionnelle, l’algèbre Booléenne et les tables de vérité; ensuite, les figures géométriques en deux dimensions, leur représentation sous forme de matrice et les transformations pouvant y être appliquées; et finalement, les mesures statistiques de base, leur calcul et la représentation graphique des données.

Fermer la boîte
3-2-2
412-1C6Outils de bureautique

L’objectif de ce cours est de familiariser l’étudiant avec les outils bureautiques communs: tableurs, logiciels de traitement de texte, logiciels de présentation et logiciels de dessin pour modélisation. L’étudiant y aborde les notions reliées aux différents types de documents, aux normes typographiques et de mise en page, et la création de modèles. L’étudiant produit des rapports, des plans et des graphiques voués à la représentation des données. Il apprend à publier des documents par le biais d’outils de collaboration.

Fermer la boîte
1-2-1
420-1C1Exploration du domaine de l'informatique

Préalable : aucun

À l’issue de ce cours, l’étudiant a une vue d’ensemble de la profession d’informaticien. Par le biais de discussions, de rencontres, de présentations et de projets exploratoires variés, l’étudiant apprend à se familiariser avec le contenu de son programme d’études autant qu’avec les multiples facettes de sa future profession. Il définit un peu plus précisément où se situent ses intérêts dans le domaine.

Fermer la boîte
1-2-1
420-1C2Système d'exploitation 1

Préalable : aucun

Dans ce cours, l’étudiant se familiarise avec les composantes matérielles principales d’un PC et leur fonctionnement: carte mère, CPU, RAM et stockage local. Ensuite, l’étudiant s’initie aux rudiments de   l’administration d’une station de travail Windows: installation de logiciels, connexion au réseau local, création d’utilisateurs et de groupes et permissions sur les fichiers, organisation du système de fichiers NTFS, ajout/suppression de périphériques matériels et de pilotes, stratégies de groupes locales, base de registres.

Fermer la boîte
2-2-1
420-1C3Introduction à la programmation

Préalable : aucun

Dans ce cours l’étudiant aborde les bases de la programmation en appliquant le cycle de développement pour des programmes simples. Dans un premier temps, il analyse le problème à résoudre et décompose celui-ci en plusieurs étapes afin d’obtenir l’algorithme, qui sera par la suite traduit dans le langage de programmation choisi. Ensuite, il utilise les méthodes de débogage et les outils reliés afin de corriger les erreurs de compilation/interprétation ou les erreurs détectées suite à l’application de plans de tests.

Fermer la boîte
2-3-2
420-2C2Système d'exploitation 2

Préalable absolu : système d'exploitation 1 (420-1C2)

Dans ce cours, l’étudiant s’initie à l’administration d’un deuxième système d’exploitation : linux. Il aborde les concepts reliés à l’installation de logiciels, la connexion au réseau local, la création d’utilisateurs et de groupes, la permissions sur les fichiers et l’organisation du système de fichiers ext4. L’étudiant se familiarise également avec les notions plus spécifiques à l’environnement linux telles que l’organisation des fichiers de configuration du système, les outils de la ligne de commande et l’accès distant.

Fermer la boîte
2-2-2
420-2C3Programmation objet

Préalable absolu : introduction à la programmation (420-1C3)

Ce cours consiste en une introduction à la programmation par objets. Dans un premier temps, l’étudiant apprend à inclure la programmation orienté-objet à son processus de conception en modélisant des classes selon le problème à résoudre et en les structurant par le biais de l’héritage. Il programme ces classes en utilisant les structures de données nécessaires et les intègre à une application dotée d’une interface graphique, qu’il débogue et documente conformément à des normes définies.

Fermer la boîte
3-2-2
420-2C4Introduction à la sécurité informatique

Préalable relatif : système d'exploitation 1 (420-1C2)

Ce cours présente les notions élémentaires de la sécurité informatique telle que définie par les trois piliers “confidentialité, intégrité, disponibilité”. L’étudiant se familiarise avec les menaces et les vulnérabilités des composantes logicielles et matérielles; les types de maliciels et les méthodes de prévention; les méthodes d’authentification les plus répandues (mots de passes, certificats) et leurs cas d’usage; la protection d’une station de travail à l’aide d’un pare-feu; les bonnes pratiques de sauvegarde et restauration. Ce cours permet aussi à l’étudiant d’aborder les notions d’éthique liées à la propriété intellectuelle et à la protection des informations personnelles.

Fermer la boîte
2-2-1
420-2C5Base de données 1

Préalable : aucun

Ce cours présente les notions élémentaires requises pour pouvoir utiliser un système de gestion de bases de données. L’étudiant s’initie aux concepts primordiaux du modèle relationnel: tables, champs, clés et relations. L’étudiant se familiarise avec le langage SQL, tant dans le contexte de la création du schéma de la base de données que dans la manipulation de données via des opérations de lecture, d’insertion, de modification et de suppression.

Fermer la boîte
2-2-2
420-3D1Projet 1 - DA

Préalable relatif : programmation objet (420-2C3)

Préalable corequis :applications Web 1 (420-3D2) ET base de données 2 (420-3D5)

Dans ce cours, l’étudiant intègre une équipe de développement logiciel et explore les différentes facettes du travail du programmeur dans le cycle de vie d’un projet. Il est initié à une méthodologie de développement d’application et réalise une application à l’architecture simple à partir d’un document de conception, sous la supervision d’un chargé de projet. Il utilise un logiciel de gestion de versions en équipe. Il valide le code par la revue de code et l’écriture de tests unitaires à partir d’un plan de tests. Il fait de la maintenance corrective d’une application en production et utilisation d’un système de ticket.

Fermer la boîte
1-2-2
420-3D2Applications Web 1

Préalable relatif : programmation objet (420-2C3)

Préalable corequis : projet 1 (420-3D1) et base de données 2 (420-3D5)

Dans ce premier cours de programmation web, l’étudiant se familiarise avec les concepts et les techniques nécessaires à la réalisation d’une application web simple. Le fonctionnement d’une application client-serveur utilisant HTTP est présenté. L’étudiant apprend à utiliser un langage de balisage (HTML) pour structurer un document web ainsi qu’un langage de présentation (CSS) pour la mise en forme. Il utilise une plateforme de développement web pour programmer le côté serveur de l’application: traitement de la requête, accès à la base de données, génération du document web et transfert au client. Enfin il apprend à générer des formulaires de saisie et à valider l’information entrée par l’utilisateur.

Fermer la boîte
2-2-2
420-3D3Programmation objet et patrons de conception

Préalable relatif : programmation objet (420-2C3)

Dans ce cours, l’étudiant explore des notions avancées de programmation objet dans le but d’écrire du code plus facile à maintenir et à faire évoluer. Il se familiarise avec le polymorphisme et la programmation par interfaces. Il réusine (refactorise) du code en respectant les bonnes pratiques de programmation: couplage faible entre les classes, séparation adéquate des responsabilités, injection de dépendances. Il est initié aux principaux patrons de conception et apprend à les reconnaître. Il les implante dans des cas simples. Enfin il apprend à lire un diagramme de classes.

Fermer la boîte
2-2-2
420-3D5Base de données 2 - DA

Préalable absolu : base de données 1 (420-2C5)

Préalable corequis : projet 1 (420-3D1) ET applications Web 1 (420-3D2)

Ce cours aborde des notions plus avancées d’un système de gestion de bases de données relationnelle. L’étudiant apprend à assurer la cohérence des données par la définition de contraintes d’intégrité référentielle, déclencheurs et de transactions avec le langage SQL.

L’étudiant automatise des traitements à l’aide de scripts, il assure la confidentialité en gérant les autorisations à la base de données. Enfin, il applique des techniques de sauvegarde et de restauration des données.

Fermer la boîte
2-2-2
420-2C7Réseaux locaux

Préalable : aucun

L’objectif de ce cours est de donner à l’étudiant les moyens de mettre en œuvre un réseau local simple, d’y partager des services de base et d’effectuer les tests de bon fonctionnement. L’étudiant s’approprie les notions qui concernent la planification, de l’adressage IPv4/IPv6 aux normes relatives aux schémas de réseaux, ainsi que les notions touchant à l’installation des composantes matérielles et logicielles, par exemple le choix des câbles et leur raccordement et la configuration et le déploiement des services. L’étudiant applique des tests et diagnostics simples afin de valider le bon fonctionnement de l’infrastructure déployée.

Fermer la boîte
1-3-2
420-3C8Soutien aux utilisateurs

Préalables relatifs : outils de bureautique (412-1C6), Système d'exploitation 2 (420-2C2) ET 420-2C7

Ce cours a pour objectif de familiariser l’étudiant avec les pratiques, les attitudes et les processus éprouvés dans les tâches de soutien à l’utilisateur, que celles-ci touchent au soutien technique ou à la formation. L’étudiant apprend à planifier et réaliser une intervention en fonction d’un besoin exprimé et des informations recueillies dans une base de connaissances. Il conseille et à oriente adéquatement l’utilisateur dans sa prise en main des technologies, il apprend à évaluer objectivement la qualité de ses interventions et à documenter l’ensemble du processus de soutien.

Fermer la boîte
1-3-1
420-4D2Services d'échange de données

Préalable relatif : appications Web 1 (420-3D2)

Préalables corequis : projet 2 (420-4D1), applications clientes Web (420-4D6) ET communication (350-4D8)

Ce cours aborde le développement de services d’échange de données qui interagissent avec différents types de clients. Les formats d’échange de données sont présentés ainsi que les protocoles de communication utilisés. L’étudiant développe un service qui traite des requêtes de sélection et de modification de données. Il utilise des mécanismes d’authentification et d’autorisation pour assurer la sécurité des données. Il expose la documentation de l’interface de programmation. Il valide le fonctionnement du serveur à l’aide d’un outil de test.

Fermer la boîte
2-2-2
420-4D5Base de données 3

Préalable relatif : base de données 2 (420-3D5)

Ce cours traite des bases de données non-relationnelles et des enjeux reliés aux volumes de données importants, à l’hétérogénéité et à la scalabilité. Les caractéristiques des principales familles des systèmes de gestion de bases de données non-relationnelles (orientées agrégats, graphes, sans schéma) sont présentées. L’étudiant se familiarise ainsi avec leurs interfaces, programme l’accès aux données et intègre ces bases de données à des applications. Enfin, l’étudiant est initié au Big Data et à l’analyse de données.

Fermer la boîte
2-2-2
420-4D6Applications clientes "Web

Préalable relatif : applications Web 1 (420-3D2)

Préalables corequis : projet 2 (420-4D1), services d'échange de données (420-4D2) ET communication (420-4D8)

Ce cours initie l’étudiant aux techniques nécessaires à la gestion de la partie cliente des applications web. L’étudiant apprend comment structurer un projet web client grâce à un cadriciel réactif s’exécutant dans un navigateur: gestion des instances des modèles, gabarits, gestion des données avec un serveur distant, mutations, transactions asynchrones à l’aide de promesses, routage, responsivité, applications en page unique, profilage, gestion de l’empaquetage, authentification et internationalisation y seront abordés.

Fermer la boîte
3-3-2
420-4D1Projet 2 - DA

Préalable relatif : projet 1 (420-3D1) ET applications Web 1 (420-3D2)

Préalables corequis : services d'échanges d edonnées (420-4D2), applications clientes Web (420-4D6) ET communication (420-4D8)

Dans le cadre de ce cours, l’étudiant participe à différentes phases d’un projet, il intègre les technologies et les bonnes pratiques acquises dans les cours de la quatrième session. Il fait l’analyse et la conception d’une application simple et en élabore les plans de tests. Il participe à la réalisation d’une application à l’architecture plus complexe en utilisant une méthodologie agile. Il assure la maintenance et l’évolution d’un logiciel existant et déploie des mise-à jour en utilisant des pratiques de livraison continue. Enfin il valide son travail par des tests et le documente.

Fermer la boîte
1-3-3
350-4D8Communication

Préalables corequis : projet 2 (420-4D1), services d'échange de données (420-4D2) ET applications clientes Web (420-4D6)

Ce cours donne à l’étudiant les outils qui lui permettront de contribuer de manière efficace et agréable à une équipe de travail dans un contexte de projet de développement logiciel. Il saura porter un regard critique sur ses interactions avec ses coéquipiers afin de développer des relations de travail fructueuses. Il apprendra à appliquer des méthodes de travail éprouvées dans le domaine informatique et développera des attitudes favorisant le bon fonctionnement de l’équipe.

Fermer la boîte
2-2-2
420-H4KSécurité offensive

Préalables relatifs : programmation objet (420-2C3), introduction à la sécurité informatique (420-2C4) ET réseaux locaux (420-2C7)

Dans ce cours, l’étudiant prend connaissance des méthodes utilisées par les pirates informatiques et acquiert les outils qui lui permettront de tester activement la sécurité des réseaux, des services et des applications d’une infrastructure, et ce par le biais de tests d’intrusion et de détection et l’exploitation de vulnérabilités logicielles. Il reconnait les différentes phases d’une attaque informatique et connait les moyens de les détecter, il identifie les vulnérabilités les plus communes et s’approprie les ressources permettant d’effectuer une veille efficace sur les menaces et les vulnérabilités logicielles.

Fermer la boîte
2-3-2
420-5D1Projet 3 - DA

Préalable requis : projet 2 (420-4D1)

Préalables corequis : applications Web 2 (420-5D2) ET applications hybrides et natives (420-5D6)

L’étudiant participe au développement d’une application intégrant des technologies apprises au cours de la cinquième session. Il participe aux premières itérations d’un projet et à la conception de l’architecture de l’application. Il réalise une application interagissant avec des composants clients et des fournisseurs de services diverses. Il automatise le processus d’intégration et de déploiement continus. Une attention particulière est mise sur la sécurisation et la validation de l’application.

Fermer la boîte
3-3-3
420-5D2Applications Web 2

Préalables relatif : services d'échanges de données (420-4D2)

Préalables corequis : projet 3 (420-5D6) ET applications hybrides (4260-5D6)

Dans ce cours, l’étudiant apprend les techniques avancées en programmation web: prérendu (Pre-rendering) versus Rendu côté serveur (Serveur-Side Rendering). Il utilise des websockets dans la cadre d’une application multi-utilisateurs hautement interactive (exemple: chat, site d’enchères). Il s’initie à la notion de présence des utilisateurs, à la gestion de la concurrence, aux applications en tant que service et au fractionnement d’une architecture en microservices.

Fermer la boîte
2-3-2
420-5D6Applications hybrides et natives

Préalable relatif : applications clientes Web (420-4D6)

Préalables corequis : projet 3 (420-5D1) ET applications Web 2 (420-5D2)

Dans ce cours, l’étudiant découvre la programmation d’applications clientes hybrides et natives. L’étudiant s’initie aux concepts de base de la programmation native mobile. Il apprend ensuite à utiliser un cadriciel hybride permettant la compilation sur plusieurs architectures de processeurs de téléphones et tablettes. Il explore également le développement d’applications web progressives. À l’issue de ce cours, l’étudiant est en mesure d’évaluer les pours et les contres de ces trois paradigmes.

Fermer la boîte
2-3-3
420-5D7Internet des objets

Préalable : aucun

Dans ce cours, l’étudiant découvre les concepts inhérents à l’Internet des objets. Il se familiarise avec la programmation de haut niveau d’un microcontrôleur. Il reconnaît les caractéristiques des différents protocoles de communication sans fils et d’échanges de données légers. Il utilise ces protocoles pour programmer l’interfaçage avec un système d’infrastructure. Il aborde les notions de centralisation et décentralisation des données. Il s’initie au mécanisme de publication de messages et d’abonnement (patron publish-subscribe) utilisé dans les systèmes intégrant plusieurs producteurs et consommateurs de données.

Fermer la boîte
2-3-3
420-6D1Projet intégrateur

Préalable corequis : veille technologique (420-6D9)

Préalables absolus : tous les cours de la formation spécifique moins deux préalables absolus

Ce cours, porteur de l’ESP, amène l’étudiant à démontrer qu’il maîtrise les compétences acquises au cours de sa formation. Il mobilise l’ensemble de ses acquis techniques, méthodologiques et relationnels pour mettre en œuvre un projet de développement d’application réaliste, de moyenne envergure. Le projet est réalisé en équipe; chaque membre contribue à la planification, à la réalisation et au suivi du projet et présente, à l’issue du cours, ses résultats à son groupe de pairs.

Fermer la boîte
1-3-3
420-6D9Veille technologique

Préalable absolu : projet 3 (420-5D1)

L’objectif de ce cours est de donner à l’étudiant l’occasion de se familiariser avec des technologies émergentes dans le développement logiciel en réalisant des projets d’exploration, des preuves de concept ou encore des prototypes qui les intègrent. Pour une technologie donnée, il apprend à définir un cas d’usage pertinent dans son domaine et à planifier un projet simple. Il devra l’évaluer dans ce cas d’usage, réaliser le projet et utiliser les résultats de ce projet pour formuler une opinion qu’il communiquera à un groupe de pairs.

Fermer la boîte
1-2-2
420-6D8Stage

Préalable corequis : veille technologique (420-6D9)

Dans le cadre du stage l’étudiant intègre une équipe de travail en entreprise; il s’adapte à de nouvelles méthodes de travail et de nouvelles technologies; il interagit avec ses collègues et des utilisateurs. Il mobilise et transfert les compétences acquises durant sa formation. Le stagiaire élargit son réseau de pairs en tissant des liens avec des professionnels de son domaine d’activité et fais ainsi ses premiers pas dans le marché du travail.

Fermer la boîte
1-17-7

*Pondération des cours :
Le 1er chiffre représente la proportion d’heures (x15) de théorie en classe ou laboratoire pour ce cours.
Le 2e chiffre représente la proportion d’heures (x15) de pratique en laboratoire pour ce cours.
Le 3e chiffre représente la proportion d’heures (x15) de travail personnel en dehors de l’horaire pour ce cours.

Stages

Durant les 10 derières semaines de votre formation, vous mettrez de l'avant vos compétences au service d'une petite, d'une moyenne ou d'une grande entreprise.

Autres particularités du programme

Au terme de la formation, vous devrez avoir réussi l'épreuve uniforme de français en plus de tous les cours du programme afin d'obtenir votre diplôme d'études collégiales (DEC).

Club et concours informatiques :

En tant qu'étudiant à Maisonneuve, vous pourrez devenir membre du club en sécurité informatique.

Si le goût vous en dit, vous pourrez participer à divers concours en étant accompagné par un de vos enseignants. Par le passé, des prix ont été gagnés par des étudiants de Maisonneuve.

College de Maisonneuve | Formation continue