Des travaux majeurs sont en cours dans l’environnement immédiat du campus de Québec sur la 8e Avenue ainsi que sur le chemin de la Canardière. Consultez l’Info-chantiers routiers.

Parcours formation emploi - AEC Développement d’applications sécuritaires

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?