Développement d’applications sécuritaires
Liste d'attente
Tous les groupes sont complets pour ce programme. Laissez-nous vos coordonnées et nous vous contacterons dès qu'un nouveau groupe sera disponible.
Description
Un nouveau programme développé en partenariat avec l’industrie! Vous bénéficierez de stages et de cours en entreprise!
Devenez développeur d’applications informatiques! Vous développerez et programmerez des applications logicielles couvrant de nombreux domaines tels que le traitement de données, le déploiement de programmes dans Internet, les sites web transactionnels, la communication entre périphériques (connectivité), les jeux et les services de messagerie.
En bref, au terme de votre formation, vous saurez notamment :
- développer et programmer des applications et en assurer la mise à jour;
- écrire, modifier et mettre à l’essai le code informatique pour des applications fonctionnant sous diverses plateformes et divers environnements en respectant les bonnes pratiques liées à la sécurité des applications;
- évaluer les impacts des programmes sur la sécurité globale du système informatique dans un contexte où ces programmes sont liés à l’infonuagique « Cloud Computing »;
- participer à des analyses de besoins;
- participer à des analyses de risque en utilisant des méthodes reconnues (OCTAV, Mehari, etc.).
Pour favoriser l’intégration rapide en emploi à la fin du programme en contexte de pénurie de main-d’œuvre et vous assurer un revenu durant vos études, une formule d’apprentissage novatrice est proposée :
- L’intégration au marché du travail est largement préconisée. Les trois premiers blocs de cours permettent d’acquérir des connaissances de base dans le domaine. Dès la fin du troisième bloc, un stage de 5 semaines en entreprise permet de se familiariser concrètement avec le domaine.
- À partir du bloc 4, vous aurez entre 18 et 20 heures de cours par semaine (de jour et de soir) et un aménagement de l’horaire permettant l’équivalent de 2 jours par semaine de travail en entreprise dans le but de mettre en pratique les nouvelles compétences acquises en classe et de compléter les apprentissages.
- Au global, la formation inclut 150 heures de stages et 210 heures de cours et de travail en entreprise.
Parcours formation emploi
Étudiez tout en travaillant 2 jours/semaine dans votre domaine.
CPA+
Connaître pour accompagner+ est une structure d’intervention permettant le dépistage rapide des difficultés des étudiants dès leur arrivée au Cégep Limoilou et tout au long de leur parcours collégial.
Pourquoi choisir Limoilou?
- Seul Cégep dans la région à offrir le Parcours formation emploi, soit du travail rémunéré en entreprise en parallèle de la formation.
- Formule à distance pour certains cours.
- Laboratoires et équipements à la fine pointe de la technologie.
- Accès aux logiciels utilisés en classe.
- Mesures d’aide individuelle à la réussite en français et en anglais.
- Services d’aide accessibles : gardiennes d’enfants (service parent-études), psychologues, aide matérielle, etc.
Professions
- Programmeur
- Développeur d’applications informatiques
- Sécurité
Employeurs
- Tous les types d’entreprises (manufacturière, public, parapublic, finances, assurances)
- Entreprises de consultant en informatique et plus particulièrement en sécurité informatique
Liste des cours
Un programme axé sur le développement d’applications sécuritaires
Ce programme, basé sur les compétences ministérielles actualisées en 2018, allie la formation en entreprise avec des cours au Cégep. Il permet avant tout de développer des compétences en développement d'applications tout en prenant conscience des enjeux de sécurité associés aux pratiques de développement en abordant les 10 principales failles de sécurité présentées par l'OWASP. Pour ce faire, des notions variées seront abordées, telles que l'orienté objet, le développement Web, les bases de données, le déploiement sur l'infonuagique. Visitez la page de l’AEC Développement d’applications sécuritaires pour connaître tous les détails relatifs aux cours de ce programme.
Un premier stage de 5 semaines
La portion de développement de compétences en entreprise débute par un stage d’apprentissage à temps plein d’une durée de cinq (5) semaines après le troisième bloc de cours. Ainsi, nous comptons sur l'entreprise pour offrir le support et la formation nécessaires à nos étudiantes et étudiants afin qu'ils découvrent les diverses tâches inhérentes au développement d'applications dans un milieu professionnel où la collaboration et les interactions sont constantes.
À la suite de ce premier stage, les étudiantes et étudiants demeureront au travail à temps partiel, deux (2) jours par semaine, et continueront en parallèle leur formation au cégep. Ainsi, le type et l'envergure des tâches confiées aux étudiantes et étudiants pourront évoluer au fil du temps.
Exemples de mandats pour le stage d'apprentissage à temps complet
Attitudes professionnelles
- Collaborer aux modifications ou améliorations d’une application
- Interagir avec une équipe de travail
- Intégrer une équipe de travail en participant aux diverses rencontres (ex. : Scrum, gestion de projet, gestion de changement, analyse avec client)
- Mettre en place un projet dans un environnement de développement afin d’y apporter des modifications, d’identifier des bogues ou de comprendre son fonctionnement
- Collaborer à la correction de bogues
- S’impliquer dans le processus de gestion du changement
- Utiliser un gestionnaire de versionnage
- Identifier les pratiques éthiques et sécuritaires de l’entreprise
Collaborer à la conception d'applications
- Collaborer à la conception et programmation d’interfaces (Web et monopostes)
- Utiliser des patrons de conception (ex. : MVC, Singleton, etc.)
- Utiliser des librairies de développement (ex. : ReactJS)
- Programmer une application en appliquant les principes de la programmation orientée objet (héritage et polymorphisme)
- Utiliser des structures de données en mémoire (ex. : tableau, matrice, pile, file, liste, dictionnaire, map, set, etc.)
- Utiliser des structures de données persistantes (fichiers textes et binaires)
- Concevoir et appliquer un diagramme de classe UML
- Collaborer à la conception et à l’application de tests fonctionnels
- Programmer des pages Web statiques et dynamiques incluant des échanges avec un serveur
- Créer une application monopage front-end qui échange des données avec un serveur
Soutien technique
- Apprendre à prioriser des demandes en fonction de leur priorité, de l’échéancier et du temps estimé pour les réaliser
- Consigner les demandes des utilisateurs dans un système de gestion de demandes
- Rendre une station de travail fonctionnelle selon les caractéristiques spécifiées
- Assurer un soutien technique et la formation aux utilisateurs
- Utiliser les outils et composants d’un système d’exploitation afin de configurer efficacement une station de travail
Développement avec BD
- Faire des requêtes dans une base de données, exploiter un langage procédural (ex. : PL/SQL) pour l’exploitation des fonctions, procédures et déclencheurs
- Élaborer le modèle de données d’une situation fournie
Exemples d’évolution des mandats pour les deux jours par semaine en entreprise
(En lien avec le cours Mise en pratique : Développement d'applications 1 et 2)
- Concevoir et développer une application Web transactionnelle ou monoposte avec une base de données (incluant Interroger BD, Connecter BD)
- Être familiarisé aux paliers de développement et à la gestion de projet appliquée au sein de l’entreprise
- Apporter des améliorations préventives, correctives ou évolutives à une application pour des projets de petite envergure
- Utiliser des outils, des techniques de validation et une méthodologie de tests
- Créer et/ou consommer des services Web
- Créer une application mobile comprenant une base de données en utilisant des API
- Utiliser des patrons de conception
- Programmer en faisant appel au multitâche
- Utiliser un framework de mapping relationnel
- Concevoir et appliquer des tests unitaires sur de petits projets
Exemples d’évolution des mandats pour les deux jours par semaine en entreprise
(En lien avec le cours Projet en développement d’applications)
-
Se voir confier un petit projet de développement applicatif comprenant des bases de données pouvant aller de l’analyse à la mise en production
- S’adapter et découvrir diverses technologies informatiques
- Participer à la rédaction de nouvelles spécifications pour les applications ou les autres logiciels
- S’impliquer dans l’analyse des requis pour les nouvelles fonctionnalités à développer
- Contribuer à la production, rédaction et mise à jour des guides d’utilisation des applications
- Identifier les risques susceptibles de menacer les données informatiques
- Sécuriser l’application et les données
- Valider la sécurité applicative
Langages, logiciels et outils
Au fil des sessions, les étudiantes et étudiants manipulent les langages, logiciels et outils suivants :
Langages de programmation
- C#
- HTML, CSS, XML, JavaScript, JQuery, Bootstrap
- SQL, PL/SQL
- ASP.NET
- React.js ou Vue.js, Angular.js, Node.js
- Mobile : Java/Android, Laravel, React native
Systèmes de gestion de bases de données
- Oracle
- MySQL
- SQL Server
- MariaDB
- Hibernate
- Data Binding Microsoft
Outils de développement
- Visual Studio
- Visual Paradigm
- Eclipse
- GIT
Outils de validation de la sécurité des applications
- Veracode
- HpFortify
- SonarQube
- Acunetix
Foire aux questions en vidéos!
Quelle sont les compétences développées par l'étudiant dans l'AEC Développement d'applications sécuritaires?
Quels types de mandats et de tâches pourront être confiés aux stagiaires?
Comment s'applique concrètement la formule 2 jours en entreprise et 3 jours en classe?