Admission

internationale

Programmation et technologies internet

Description

  • Cette formation a pour objectif de former des programmeurs analystes spécialisés dans les technologies les plus utilisées des applications Web. Afin d'assurer au finissant une plus grande latitude, il s'initiera à l'infographie et à l'animation.
  • Les langages de programmation : Java, C, C++, C#, Transac-SQL, JavaScrip, HTML, HTML5, ASP.NET, UML

Marché du travail

Il est possible après la formation de travailler en tant que programmeur analyste.
Vous vous démarquez par votre capacité à vous approprier les nouvelles technologies et par votre polyvalence.

Durée

1395 heures
Durée incluant 270 heures de stage
18 mois (16 mois de formation et 2 mois de stage)

Préalables

Détenir un diplôme du 5e secondaire (Maths 436) et démontrer un intérêt pour l’informatique.

Cours qui composent la formation

Plan détaillépdf.png

60 h

Programmation web (PHP - AJAX)

• S'initier à la programmation Web et au principe du protocole HTTP.

 

Le cours PHP constitue la suite logique des cours P85-SU (HTML, CSS) et P86-SU (Javascript, jQuery, jQuery Mobile, et DHTML). En effet, dans ces cours, vous avez appris beaucoup sur ce que l’on peut faire côté-client et il est temps d’aborder les technologies utilisées côté-serveur Web. L’objectif premier de ce cours est de vous permettre d’acquérir les concepts de base en matière d’applications Web dynamiques. Vous comprendrez, en particulier, les mécanismes d’échanges entre un client et un serveur Web, mécanismes régis par le protocole HTTP. Vous apprendrez pour cela à installer un environnement de développement PHP qui vous permettra d’écrire et de tester vos applications. Tout au long de ce cours, on mettra l’accent sur la manière de produire un code PHP propre, concis, structuré et des applications Web évolutives, maintenables et sécurisées. Vous apprendrez aussi à vous connecter à un serveur de base de données, de récupérer et de manipuler des données à travers des interfaces Web dynamiques. Vous serez, aussi, en mesure d’utiliser AJAX (Asynchronous Javascript and XML) pour bâtir des applications Web de grande qualité tant au niveau graphique qu’au niveau des performances. En effet, AJAX s’est imposé depuis quelques années comme une technologie incontournable dans le domaine du Web. Enfin, vous serez amenés à étudier d’autres technologies de développement Web parmi les plus compétitives (Java, ASP.NET), le cours 420-P62-SU-PHP constitue une très bonne introduction pour mieux aborder et comprendre ces technologies.

45 h

Programmation web I (HTML)

• Créer la structure de pages Web à l'aide du langage HTML, et les bonifier grâce aux feuilles de style (CSS).

 

Le cours P85-SU (HTML, CSS) est le premier cours en matière de développement d’applications Web. C’est un préalable nécessaire avant d’aborder des langages comme JavaScript, PHP et des technologies Web comme ASP.Net ou JAVA J2EE. Tout au long de ce cours, vous apprendrez à créer des sites Web statiques en produisant du code HTML bien structuré et « cross-browser », c'est-à-dire compatible avec tous les navigateurs web. Vous apprendrez aussi à utiliser différentes DOCTYPE, sorte de grammaires qui définissent les règles du langage HTML, et d’utiliser les validateurs W3C pour valider vos pages Web selon la DOCTYPE choisie. Le deuxième volet de ce cours concerne les feuilles de style CSS (Cascading Style Sheets) qui constituent une technologie incontournable dans le monde du design Web. Elle permet, en effet, de séparer le contenu d’un document Web de sa présentation en plus des possibilités exceptionnelles de mise en forme qu’elle offre aux Web designers. Avec les CSS, vous aurez l’occasion de produire des sites Web de qualité professionnelle qui tiennent compte des particularités des différents navigateurs. Avec l’avènement de HTML5 et des plates-formes mobiles, CSS s’est vu confirmé comme technologie incontournable dans le monde des technologies Web et il sera difficile à détrôner. Pour cela, Vous aurez l’occasion d’approfondir vos connaissances CSS dans le cours « 420-P68-SU html5 et css3 »

45 h

Utilitaires graphiques (Photoshop)

• Créer des images à l'aide d'outils informatiques tel Photoshop
• Création d'un site web avec Photoshop.

45 h

Intégration et optimisation (Référencement)

• Maîtriser les notions et les concepts de visibilité, d'accessibilité, de performance et de convivialité des sites.
• Apprendre à référencer adéquatement les sites Web (SEO)

45 h

Intégration et interaction (HTML/CSS avancées)

• Apprendre des techniques HTML et CSS avancées afin d'optimiser la compatibilité avec les navigateurs, le temps de production et les performances des pages Web.

45 h

Modélisation UML et projet d'analyse

• Se familiariser avec une méthode d'analyse et modélisation orientée objet, connaître la notation UML et savoir appliquer ses diagrammes.

 

Le cours d'UML (Unified Modeling Langauge) est essentiellement un cours d'analyse et de modélisation Orientée Objet. La notation UML est universellement reconnue et sa normalisation est maintenue par l’OMG (Object Management Group). Dans un premier temps, vous apprendrez à connaître la notation UML et les différents diagrammes qui sont proposés pour la modélisation d'un système. Vous serez aussi en mesure d'interpréter certains de ces diagrammes pour les traduire en implémentation et en code dans le langage de votre choix. Ensuite, vous appliquerez une démarche d'analyse systématique sur un projet à modéliser. La démarche proposée est fortement inspirée de la démarche ICONIX et applique les principes de la philosophie Agile. Ce travail et cet apprentissage se font à travers des discussions d'équipes. Chaque équipe devra mener à bien l'analyse d'un projet de son choix (approuvé par l'enseignant). L'analyse consiste à appliquer la démarche vue en classe: identification des acteurs, élaboration des cas d'utilisations (user story et use case), construction des diagrammes de classe de haut niveau et détaillé, définition d'un glossaire, illustration des cas d'utilisation par des diagrammes de séquences et définition du modèle de la base de données: entité-association normalisée (en troisième forme normale). Il s'agit d'un cours atelier ayant plus la forme d'un séminaire que d'un cours magistral. Au cours de votre travail, vous vous heurterez à des difficultés et à des questionnements qui soulèveront des discussions apportant toutes sortes d'opportunités d'acquérir des compétences relationnelles qui sont essentielles au travail d'équipe : apprendre à discuter, à argumenter, à savoir écouter, à prendre des décisions concertées. Ces discussions donnent aussi l'occasion de revoir ou de découvrir des notions techniques, des modèles de conception (design pattern), de préciser et caractériser les types de relations entres les classes... Ce cours vient en fin de programme car l'étudiant doit avoir une certaine expérience de développement et de travail d'équipe, on attend de vous une certaine "maturité" de développeur, le réflexe de penser objet. Pour avoir souffert du manque d'analyse et de modélisation lors des travaux pratiques en équipe des cours précédents, vous n'apprécierez que mieux les bénéfices et ne reconnaîtrez que mieux l'importance d'UML et d'une analyse préalable à la production.

45 h

Bases de données I (MS-Access)

• S'approprier les principes de modélisation des bases de données. Étudier le logiciel Access

 

Dans ce cours, vous apprendrez à concevoir une base de données relationnelle à partir d'un cahier des charges décrivant la situation à modéliser. La mis en pratique s'effectue avec le logiciel Microsoft ACCESS sous Windows. Une première partie du cours présente la modélisation des bases de données dans le cadre d'une implémentation dans un Système de Gestion de Bases de Données Relationnelles (SGBDR). On y apprend comment établir un modèle conceptuel de données à partir d'un énoncé décrivant le système à modéliser. Ensuite, on montre comment passer du modèle conceptuel au modèle logique, ce dernier permettant de décrire les tables nécessaires à l'application. Finalement, on explique l'utilité de la normalisation des tables pour obtenir une modélisation efficace et cohérente de l'ensemble des données. Dans cette partie, vous serez mis en situation avec des cas réels de modélisation, par le biais de nombreux exercices. Dans une seconde partie, vous utiliserez le logiciel MS ACCESS avec son langage graphique pour créer, modifier ou supprimer des tables, ajouter ou supprimer des données dans des tables, et enfin, interroger une base de données. Vous apprendrez, également, à créer des formulaires et des rapports. La description et l'utilisation des principales propriétés de ces objets sont passées en revue. Enfin, vous verrez comment utiliser des macros pour automatiser des suites d'actions. Une séance typique de 5 heures de cours commence par la présentation d'un ou plusieurs nouveaux concepts et se poursuit par une période pratique constituée d'exercices sur les nouveautés. Dans ce cours, vous serez amené à effectuer un travail pratique en groupe de 2 ou 3 sur un sujet un peu plus étoffé que ceux proposés en exercices. Ce cours s'inscrit dans l'ensemble des cours qui abordent les bases de données. Tandis que le cours de SQL présente une approche orientée console, celui-ci propose plutôt une approche visuelle et intuitive grâce au langage graphique du logiciel ACCESS. Microsoft ACCESS est un logiciel très utilisé dans l'industrie. À l'issue de ce cours, l'élève aura une bonne maîtrise des différentes facettes de ce logiciel et sera à même de l'utiliser pour effectuer toutes les tâches de manipulations d'une base de données.

60 h

Bases de données II (SQL-Transact SQL)

• Maîtriser le langage de programmation de bases de données Transact-SQL.

 

On propose dans ce cours de créer et d'exploiter des bases de données dans le langage structuré de requêtes SQL Transact-SQL. Le logiciel utilisé est SQL-Server. Une première partie concerne le Langage de Manipulation des Données (LMD) qui permet d'effectuer des manipulations au niveau de la ligne dans une table. Vous verrez la commande SELECT qui permet d'interroger la base de données. La plupart des nombreuses options de celle-ci sont passées en revue. On parle notamment du filtrage de lignes (WHERE), du regroupement de lignes (GROUP BY) avec filtrage sur les groupes (HAVING), de jointures de tables (JOIN) et de sous-requêtes permettant de formuler des interrogations complexes. Ensuite, les commandes d'ajout (INSERT), de suppressions (DELETE) et de mise à jour (UPDATE) de données d'une table sont présentées. La création de vues (CREATE VIEW) est également abordée. Dans une seconde partie, vous vous familiariserez avec le Langage de Définition des Données (LDD) qui permet d'effectuer des manipulations au niveau de la colonne dans une table. Vous apprendrez à créer des tables (CREATE TABLE) et à modéliser les différentes contraintes sur celles-ci (PRIMARY KEY, FOREIGN KEY, CHECK). Vous verrez, également, comment ajouter, modifier ou supprimer des colonnes d'une table (ALTER). Enfin, vous aborderez les notions de transactions (TRANSACTION), de procédures stockées (CREATE PROCEDURE) et de déclencheurs (TRIGGERS). Tout au long du cours, de très nombreux exemples sont présentés à la classe pour illustrer les propos de l'enseignant. De même, un grand nombre d'exercices sont proposés pour permettre à l'apprenant de se pratiquer sur les notions appréhendées. L'interactivité du langage Transact-SQL utilisé dans SQL-Server rend ce cours très visuel; cela procure une grande motivation à l'apprenant. À l'issue de ce cours, vous maîtriserez le langage structuré de requêtes SQL dans le but d'implanter des bases de données. Les connaissances acquises seront largement utilisées dans les cours suivants, à savoir Java 2 et 3, ASP NET et PHP, dès lors qu'une application requière l'accès à une base de données pour quelque raison que ce soit.

60 h

Algorithme et programmation structurée (Algorithmie et C)

• Apprendre les concepts, les techniques et une méthodologie de programmation structurée avec le C.

 

Dans ce cours, vous aborderez la notion d'algorithmes dans le cadre de la résolution de problèmes informatiques. Dans une première partie, vous utiliserez un pseudo-code proche du langage naturel pour décrire les algorithmes. Vous apprendrez la méthodologie pour aborder et résoudre un problème informatique simple. C'est ici que les concepts fondamentaux comme les variables, les structures conditionnelles et itératives sont abordées. Dans une seconde partie, le langage C est utilisé pour implémenter des algorithmes plus élaborés et les faire exécuter par l'ordinateur. On insiste alors sur la nécessité de structurer le code en utilisant des fonctions. On introduit, également, les tableaux, les structures et les pointeurs pour modéliser des structures de données plus élaborées. Ce cours de 60 heures est très axé sur la mise en pratique des concepts abordés. Vous devrez produire de nombreux codes source en C pour résoudre des problèmes divers et variés qui vous seront proposés. Une séance typique de 5 heures débute par une partie de cours durant laquelle une nouvelle notion est présentée aux apprenants. Ensuite, vous serez mis en situation avec des exercices pour pratiquer les nouveautés abordées précédemment. Dans ce cours, vous serez, également, placés en situation de travail en équipe. En effet, il vous sera demandé de réaliser 2 travaux pratiques en groupe de 2 ou 3. Chaque TP fait l'objet d'une présentation orale devant la classe et des membres du personnel de l'école. Ce cours pose les prémices pour les prochains cours de programmation, et plus particulièrement le cours de C++ (P61) qui présente la programmation orientée objets.

75 h

Introduction à la programmation orientée objets (C++)

• Apprendre les concepts de bases de la programmation orientée objets : classes, objets, héritage, polymorphisme, etc.

 

Ce cours est le prolongement du cours de C (P63). Il introduit la notion de programmation orientée objets dans la résolution de problèmes informatiques, en utilisant le langage C++ sous Visual Studio. Vous serez introduits au concept de classe comme étant une extension des structures du langage C. On vous présentera la notion d'encapsulation ainsi que la syntaxe utilisée par C++ pour écrire une classe complète avec ses membres (données et fonctions). On vous parlera des constructeurs et du destructeur d'une classe, mais aussi des modificateurs d'accès et de la relation de composition entre deux classes. Ensuite, vous aborderez la notion d'héritage qui permet de modéliser qu'une classe est une spécialisation d'une autre classe; c'est-à-dire qu'un objet de la première classe est aussi un objet de la seconde mais possède également des propriétés et aptitudes plus spécifiques. Enfin, le concept de polymorphisme est présenté. C'est un mécanisme particulier qui facilite la manipulation d'objets hétérogènes héritant d'une même classe. Tout au long du cours, vous serez sensibilisé aux procédures de débogage pour traquer les erreurs de logique qui se seraient glissées dans votre code. Ce cours, comme le cours de C, se veut très pratique et vous amènera à manipuler les différents concepts par le biais de nombreux exercices. Comme pour le cours P63 de C, vous devez effectuer un travail pratique en groupe de 2 ou 3, et le présenter devant la classe pour pratiquer votre élocution en public. Ce cours se place avant le cours de Java 1 et prépare l'étudiant à aborder des applications plus complexes en utilisant le modèle objets.

60 h

Programmation orientée objets I (Java)

• Aborder la programmation d'application graphique et la gestion d'événements, threads et communication socket.

 

Le cours de java 1 porte sur le développement d'applications sur le poste de travail (desktop application) avec l'édition standard de java (JavaSE). Il vous amènera à approfondir et à maîtriser les concepts de la programmation orientée objet (POO) auxquels vous avez été initié dans le cours de C++. Le cours commence par une révision des concepts de la POO (encapsulation, héritage, polymorphisme) tout en vous initiant aux principes d'exécution d'application java (JRE et JVM) et au langage et à la syntaxe java par le biais de développement de programmes en mode console. Vous vous familiariserez aussi avec l'utilisation d'un environnement de développement intégré (IDE). Vous serez amené à découvrir la très vaste API de java, à connaitre les outils de compilation, d'exécution et de documentation du SDK et du JRE à travers le développement d'application à interface graphique en Swing. Vous apprendrez à construire des fenêtres, à contrôler la disposition des composants et à gérer les événements, Vous serez même en mesure de créer vos propres composants et événements personnalisés. Vous apprendrez ensuite à lire et écrire sur des flux (stream) de données comme des fichiers, à gérer et synchroniser de multiple sous-processus (thread) et à communiquer avec une autre application à travers le réseau, par socket. À la fin de ce cours, vous serez capable d'appliquer une approche de développement par objets en développant une application multi utilisateur en réseau. À l'aise avec le langage et connaissant les classes et paquetages (packages) fondamentales de l'API de javaSE, vous serez autonome dans la poursuite du développement de vos compétences et connaissances. Tout au long du cours, vous serez sensibilisé aux bonnes pratiques de modélisations, au respect des conventions et doucement initié à quelques modèles de conception logicielle (design pattern).

90 h

Développement d'applications transactionnelles II (JavaScript)

• Dynamiser les pages Web grâce au JavaScript, les animer et les rendre interactives par l'ajout de script et utiliser des librairies telles que jQuery.

 

Après le cours « 420-P89-SU html et css », vous aviez appris à créer des pages Web statiques à l’aide des langages HTML et CSS, tout au long de ce cours, vous apprendrez à rajouter de l’interactivité à vos sites Web pour les rendre plus attractifs et plus performants. Vous apprivoiserez pour cela JavaScript, langage de script coté client qui, depuis quelques années, constitue un élément incontournable dans le domaine des technologies Web. Avec ce langage, vous pourrez manipuler tous les éléments d’une page Web en utilisant les objets DOM. Vous serez capables de manier des images, valider des formulaires, créer des effets de toutes sortes, programmer des jeux, … Vous découvrirez avec plaisir la facilité et l’élégance de la librairie jQuery pour réaliser des traitements nécessitant autrefois des programmes JavaScript longs et difficiles. Avec jQuery mobile, vous apprendrez à créer des sites Web adaptés pour les plates-formes mobiles. En effet, jQuery Mobile est une bibliothèque JavaScript parmi les plus utilisées pour créer des sites web à destination des Smartphones et tablettes tactiles. Enfin, JavaScript constitue un préalable nécessaire avant d’aborder les autres cours qui traitent des technologies Web côté serveur.

60 h

Programmation orientée objets II (Java avancé)

• Approfondir la connaissance de Java et maîtriser le développement côté serveur (J2EE, JSP, Servlet). Savoir appliquer une architecture MVC.

 

Dans ce cours, vous appliquerez les compétences acquises dans la cours de java 1 (javaSE) au développement web en java. Vous apprendrez à utiliser la version entreprise de java (java EE) et à connaître ses classes fondamentales pour concevoir et réaliser des applications web dynamique s'exécutant côté serveur. Vous devriez au préalable connaître le HTML et CSS (cours HTML/CSS). Dans un premier temps, vous serez amené à comprendre les principes d'une application client-serveur basée sur le protocole HTTP et à explorer le fonctionnement et la configuration d'un serveur et d'un site web. Via le développement de Servlets, vous serez en mesure d'utiliser les fichiers XML de configuration des applications web, de générer du code HTML à partir du code Java et de traiter des formulaires HTML envoyés par un client (navigateur web). Ce faisant, vous utiliserez et manipulerez de façon pertinente et efficace les objets du protocole HTTP tel que les requêtes (Request et QueryString), réponses (Response), session (Session) et témoin (Cookie). Vous exploiterez une base de données en appliquant les spécifications JDBC et serez sensibilisé aux vulnérabilités des injections SQL et à la façon de s'en prémunir. Vous devrez appliquer un design orienté objet en trois couches séparant les entités, de la gestion de ces entités et encapsulant la connexion au système de gestion de base de données (SGBD): le trio Manager - Entities - Service. Vous appliquerez ensuite comme architecture de vos applications web, le modèle MVC (Model – View – Controller), un design pattern orienté objet reconnu et très répandu. Vous en ferez une implémentation "maison" très proche de celle qu'en fait un frameWork comme struts. Pour la couche View, vous apprendrez à développer des pages JSP alors que du côté de la couche modèle, vous créerez des classes respectant l'architecture des Java Beans. Tout au long du cours, vous serez sensibilisé aux bonnes pratiques de modélisation, au respect des conventions. À la fin du cours, vous saurez développer des applications respectant l'architecture du modèle MVC.

60 h

Programmation orientée objets III (Java 3)

• Se familiariser avec certains framework utilisant les technologies avancées du développement côté serveur tel la persistance avec IBATIS et le développement d'interfaces utilisateurs avec JSF.

 

Le cours de java 3 s'inscrit en continuité du cours de java 2. En effet, c'est un second cours appliquant le développement d'application d'entreprise en java (JavaEE). Son objectif est de vous amenez à connaître, à comprendre l'utilité et à savoir appliquer des frameWorks (ensemble de composants logiciels standardisant et automatisant en partie le développement applicatif en imposant une certaine architecture). Sans perdre l’habitude d'appliquer une architecture MVC, vous apprendrez à ajouter une couche d'abstraction du côté du View et une autre du côté du Modèle. Vous appliquerez, au niveau de la couche modèle, un frameWork de persistance (Hibernate, IBatis ou JPA). Vous configurerez et utiliserez un frameWork automatisant la synchronisation entre les objets du modèle (les entités) et les tables correspondantes dans la base de données. Vous serez en mesure de définir les associations d'objets (mapping) en XML et d'y stocker les requêtes SQL. Vous serez capable de développer des classes d'entités pouvant être utilisées par le frameWork en se pliant aux exigences de la définition des java beans. Pour la couche de présentation des données (View) et de contrôle de la navigation et des actions à déclencher dans le modèle (Controller), vous comprendrez comment utiliser JSF (Java Server Faces) et une de ses nombreuses implémentations (ICEFaces, RichFaces, PrimeFaces, ADF...). Vous apprendrez à connaître les composants JSF et ceux de l'implémentation choisie, à créer et enregistrer des managed Bean et des backing Bean et à les lier l'un à l'autre grâce aux EL expressions. Vous saurez, aussi, faire communiquer ensemble des sessions à l'aide d'une technique de notification serveur (ajax push). Tout au long du cours, vous serez sensibilisé aux bonnes pratiques de modélisations, au respect des conventions. À la fin du cours, vous saurez développer des applications en utilisant des frameWork.

75 h

Programmation dans un environnement graphique I (C#)

• Évoluer dans l'environnement des applications Windows standards avec C# afin de se familiariser avec l'analyse de problèmes, les concepts et les termes de la programmation par événement.

 

Le cours de C# constitue une première introduction aux technologies Microsoft en matière de développement d’applications. L’objectif premier est de vous permettre d’appréhender le Framework .Net; plateforme Microsoft pour développer, déployer et exécuter des applications Web, Windows, mobiles et serveur. Vous apprendrez, tout au long de ce cours, à utiliser les différentes fonctionnalités d'édition et de débogage de Visual Studio 2012 pour produire un code optimisé et rapide. Visual Studio étant un environnement intégré permettant de générer une grande variété d’applications (applications Web ASP.Net, Windows Forms, WPF, services web, …) Avec la version actuelle de .Net, le langage C# a atteint une grande maturité et constitue, avec VB.NET, l’un des langages les plus utilisés en entreprise. En utilisant donc Visual Studio 2012, le langage C# et les classes du Framework .Net, vous apprendrez à construire une interface graphique pour une application Windows, accéder à une base de données en respectant les règles et les standards reconnus en la matière. Vous serez capable de mettre en œuvre les concepts de programmation événementielle et vous consoliderez vos acquis en matière de programmation orientée objet. Enfin, ce cours vous permettra d’aborder plus facilement le cours ASP.NET qui constitue la deuxième partie consacrée aux technologies Microsoft. Celle-ci est dédiée au développement d’applications Web ASP.NET MVC 4.

75 h

Programmation dans un environnement graphique II (ASP.NET MVC 4)

• Utiliser la technologie ASP.NET MVC 4, pour créer des applications intranet/internet transactionnelles basées sur l'accès aux bases de données (EF) et intégrant les technologies WEB API, le JavaScript, le XHTML et les feuilles de style (CSS).

 

Le Web s’est imposé en très peu de temps comme plateforme incontournable en matière de communication et d’accès à l’information. Toute formation informatique, qui se respecte, ne peut donc l’ignorer. Dans cet espace de créativité et d’innovation, chacun des grands acteurs du logiciel essaie d’imposer sa technologie et de gagner des parts de ce gigantesque marché. Dans ce contexte, le cours ASP.NET MVC4 présente l’une de ces technologies les plus populaires et les plus compétitives du marché; ASP.NET est en effet la solution Microsoft en matière de développement d’applications Web dynamiques. L’objectif du cours est de permettre à nos étudiants de comprendre les concepts Web communs à toutes les technologies, (client, serveur, protocole http, requête et réponses http, cookies, …) et de les mettre en œuvre en utilisant ASP.NET et l’architecture MVC. Ce sont tous des concepts que nos étudiants vont être capables d’utiliser pour construire des applications Web dynamiques de qualité professionnelle. L’utilisation d’ADO.NET pour l’accès aux bases de données sera consolidée pendant ce cours. Vous serez capable, à l’aide de cette technologie, de vous connecter à des sources multiples (bases de données, fichiers XML, …), d’extraire des données et d’alimenter dynamiquement un site Web. Le cours ASP.NET est aussi une suite logique dans notre cursus de formation. En effet, après avoir vu tout ce que l’on peut faire côté client, objet des cours précédents (HTML, CSS, JavaScript), l’étudiant aura l’occasion de voir ce qui se passe de l’autre côté d’une application Web, le côté serveur.

60 h

Applications interactives clientes (HTML5 Canvas)

• Concevoir et développer une application dans un environnement graphique.
• Découvrir les nouveautés d'HTML5 et les nouvelles API JavaScript afin de créer des composants dynamiques riches : géolocalisation, Web Socket, Canvas, Web Storage, Web Database, etc. et Introduction à XML, XPATH et XSLT.

45 h

Projet final de programmation

• Créer une application web complète qui permettra d'intégrer l'ensemble des concepts vus.

 

Le cours de projet final consiste à mettre en œuvre le développement d'une application. Vous apprendrez à mener, en équipe, le développement complet d’une application que vous aurez à analyser durant le cours d'UML. Vous apprendrez à travailler en équipe, à gérer les versions de code source par l'utilisation d'un gestionnaire de source comme SVN par exemple. Vous développerez votre compétence à gérer votre temps, à prioriser les tâches et à respecter les échéances de livraison. Le projet est découpé en plusieurs phases sur un calendrier serré et chaque phase du développement comporte un livrable qui doit être produit à une date déterminée. On cherche, dans le cours de projet, à vous placer dans un contexte aussi proche que possible de la réalité du développement tel qu'il se fait dans l'industrie. Tout au long de la production, vous aurez à toucher à différentes technologies, à participer à toutes les étapes et facettes du développement et ferez ainsi une révision et une mise en pratique de l'ensemble des compétences acquises tout au long de votre formation. Chaque équipe devra créer la base de données et ses tables et ses relations, ensuite développer les éléments graphiques et les interfaces utilisateur de l'application. Vous produirez, ensuite, le code en implémentant chaque fonctionnalité une à la fois (chaque cas d'utilisation). L'application doit présenter une architecture MVC orientée objet, comporter un système de gestion d'erreurs et un module de maintenance. Une fois complétée, l'application fera l'objet d'une phase de test et de débogage avant d'être déployée. À la fin du projet, chaque équipe fera une présentation publique de sa réalisation.

60 h

Développement d'applications pour mobiles I (Android)

• Connaître les notions fondamentales et les particularités de la programmation pour appareils mobiles en général.

 

• Apprendre à développer des applications pour le système Android, comprendre les concepts propres à cet environnement et savoir exploiter les données, les services et les périphériques des appareils mobiles.

Dans ce cours, vous vous familiariserez avec les notions fondamentales et les particularités du développement d'applications pour les appareils mobiles en général. Le cours porte sur le développement d'applications natives pour mobile (par opposition aux applications à interfaces web qui auront été abordées dans le cours de HTML) et se concentre sur le système Android. Vous verrez comment installer et configurer un environnement de développement pour Android et ferez connaissance avec l'écosystème Android, son architecture et l'architecture des applications Android elles-mêmes. Vous étudierez, ensuite, la structure d'un projet Android et de ses particularités ainsi que le cycle de vie d'une application Android, vous apprendrez, aussi, à reconnaître les différentes catégories de composants qui constituent une application. Vous serez initié au développement des interfaces utilisateur graphiques et contrôlerez la disposition des composant tout en tenant compte des différents formats et résolution d'écran des différents appareils. Vous saurez, aussi, implémenter une gestion d'événements pour réagir aux actions de l'utilisateur. Vous apprendrez à faire communiquer entre elles les différentes activités d'une application et comment faire appel à des activités exposées par d'autres applications. Vous explorerez l’utilisation des services (connexion internet par exemple) et des périphériques (accéléromètre ou gyroscope par exemple) de l'appareil et devrez, pour ce faire, savoir définir et configurer correctement la sécurité et les permissions des activités. À la fin du cours, vous serez en mesure de concevoir une application qui incorpore des animations et graphiques, la lecture de senseurs, et un échange avec une autre application sur un autre appareil. Tout au long du cours, vous serez sensibilisé aux bonnes pratiques du développement mobile comme l'ergonomie et l'économie des ressources.

270 h

Stage de fin d'études

• Consolider les notions acquises par une application concrète des concepts et des apprentissages en situation réelle.
• Pratiquer le métier en étant en contact direct avec les clients et les utilisateurs. Budgets, délais et résolution de problèmes.