Retourner à la page d'accueil

 PROGRAMME DE FORMATION JAVA - Automne 2005    

Horaire des cours

Réf.

Cours

Durée

Instructeur

IFT-ECLIPSE

Le développement d'applications Java avec Eclipse

2

Greg Georges

IFT-JAVA-INI

Initiation au langage Java

3 Greg Georges
INI-JAVA-WEB

Initiation aux applications Web Java

2 Greg Georges
IFT-JAVANCE

Concepts avancés sur les applications Web Java

3 Greg Georges
IFT-TOMCAT-JAVA

Apache Tomcat pour administrateurs

2 Greg Georges
IFT-LINUX-JAVA-1

Utilisation de GNU/Linux pour développer en Java: partie 1

2 Greg Georges
IFT-LINUX-JAVA-2

Utilisation de GNU/Linux pour développer en Java: partie 2

2 Greg Georges

 

Inscription : remplissez et faites parvenir le formulaire par fax au numéro (418) 656-5538 à l'attention de Madame Nicole Dubé.

 

Méthode d'enseignement préconisée

 

La  méthode d'enseignement est axée sur la pratique puisque certains concepts objet peuvent être difficiles à saisir si on se limite à des explications théoriques. 

 

C'est pourquoi, aussi souvent que possible, les sujets couverts sont accompagnés d'exemples concis et précis qui permettent de comprendre des concepts abstraits

par une mise en application concrète.

 

Le développement d'applications Java avec Eclipse

 

Ce que vous allez apprendre

Le développement d'applications est devenu, au fil des ans, une tâche très complexe. En effet, les programmeurs doivent désormais connaître les composants des nouveaux langages orientés objets comme le Java, en plus de tous les outils connexes au développement. Ces outils peuvent inclure des outils de modélisation d'objet et des IDE (Integrated Development Environments). Eclipse, une initiative à code source libre initiée par la firme IBM, est un IDE très populaire auprès de la communauté de développement Java. Avec une augmentation de 90% d'utilisateurs en Amérique du Nord en 2003, Eclipse est dorénavant reconnu dans le marché comme l'IDE nécessaire pour programmer en Java puisqu'il dispose de plusieurs facettes qui rendent la programmation Java plus facile et efficace.

Dans ce cours, nous allons analyser les concepts de base d'Eclipse, en plus d'apprendre comment augmenter ses capacités avec la notion de « plugins ». De plus, un exemple concret de développement d'une application Java avec Eclipse sera abordé. Finalement, les étudiants apprendront quelles sont les différentes ressources disponibles dans Eclipse.

 

Préalables

Aucun préalable n'est nécessaire pour ce cours.

 

Plan de formation

 

Jour 1 : Introduction à Eclipse et son architecture de plugins

  • Introduction

  • Historique

  • Installation de l'outil

  • Architecture des plugins

  • L'installation d'un nouveau plugin

  • Introduction au plugin MyEclipse

Jour 2 : L'utilisation d'Eclipse

  • Les perspectives

  • Les vues et éditeurs

  • Configuration d'Eclipse

  • Premier programme Java avec Eclipse

  • Ressources pour Eclipse

 

Initiation au langage Java

 

Ce que vous allez apprendre

La nature orientée objet du Java lui confère un énorme avantage sur plusieurs technologies concurrentes lorsque vient le temps de structurer l'architecture d'une application. Son utilisation de plus en plus répandue sur le marché au cours des dernières années témoigne de l'efficacité que l'on reconnaît à ce langage. Son apprentissage donnera donc des connaissances utiles à l'étudiant, qu'il pourra d'ailleurs utiliser s'il désire s'attaquer à un autre langage de programmation.

 

L'environnement de développement utilisé dans ce cours est Eclipse.

 

Préalables

Il est recommandé que le participant ait déjà utilisé un langage de programmation structurée (le C, par exemple).  Effectivement, il peut être difficile de s'initier simultanément aux concepts de base de la programmation (boucles, conditions, manipulation de variables) et aux concepts objets tels que l'héritage, le polymorphisme et l'encapsulation.

 

Plan de formation

 

Jour 1 : Introduction au langage

  • Introduction à Java

  • Première classe Java

  • Structure de base d'une classe Java

  • Conventions de codage

  • Types primitifs et Strings

  • Opérateurs et contrôles

  • Classe et objet

  • Visibilité d'une classe/méthode/variable

  • Mot-clé static

  • Structure d'une méthode

Jour 2 : Concepts objet

  • Héritage

  • Classes du SDK et Javadoc

  • Interfaces et classes abstraites

Jour 3 : Utilisations avancées

  • Gestion des exceptions

  • Manipulation des chaînes de caractères

  • Manipulation des dates

  • Lecture et écriture de fichiers

  • Classes « Wrapper »

 

Initiation aux applications Web Java

 

Ce que vous allez apprendre

Il est nécessaire de se familiariser avec une multitude de concepts et de technologies avant d'être en mesure de réaliser une application Web.

Ce cours se veut une initiation aux technologies utilisées pour faire de la programmation Web dynamique à l'aide du langage de programmation Java.

 

Les technologies Web occupent une place centrale au sein des systèmes organisationnels aujourd'hui. En effet, leur utilisation ne se limite plus, dans bien des cas, à la publication d'un site Web informatif sur les activités de l'entreprise. La plupart des intranets proposent une interface Web; les Extranet aussi; de plus en plus d'entreprises proposent un système d'achat en ligne; des sites de nouvelles; les cotes à la bourse; etc. Les exemples sont aussi nombreux que variés mais toutes ces technologies ont un point en commun: la programmation Web dynamique.

 

On parle de programmation Web dynamique lorsque le contenu d'une page Web varie selon la personne qui la consulte, le moment où elle est consultée, l'ordinateur utilisé pour la consulter, etc. Plusieurs technologies permettent d'intégrer de la programmation dynamique à du code HTML. Parmi les plus utilisées, mentionnons les pages ASP de Microsoft, les pages ColdFusion, les pages PHP et, bien entendu, les pages JSP de Sun Microsystems. Ce sont ces dernières qui seront au coeur des concepts étudiés dans le cours.

 

Java est un langage particulièrement bien adapté aux applications Web dynamiques. En effet, sa nature orientée objet lui confère un énorme avantage sur les technologies concurrentes lorsque vient le temps de structurer l'architecture d'une application. Son utilisation de plus en plus répandue sur le marché au cours des dernières années témoigne de l'efficacité que l'on reconnaît à ce langage. Son apprentissage donnera donc des connaissances utiles à l'étudiant, qu'il pourra d'ailleurs utiliser s'il désire s'attaquer à un autre langage de programmation.

 

L'environnement de développement utilisé dans ce cours est la plate-forme Eclipse.

 

Préalables

Ce cours s'adresse à l'étudiant qui a une base en programmation Java. Une connaissance minimale du code HTML est souhaitable mais non obligatoire. L'étudiant devra cependant prévoir du temps pour se familiariser avec le HTML, langage de balises utilisé pour la réalisation de pages Web.

 

Plan de formation

 

Jour 1 : Introduction à l'environnement et révision de la programmation Java

  • Introduction à l'environnement Web en Java avec Tomcat

• Concepts de serveur Web vs serveur d’application

• Java côté client vs côté serveur

• Installation du J2SE SDK

• Installation de Tomcat

• Utilisation de Tomcat

• Application Manager

• Création de la première application Web

  • Révision HTML et programmation Java

• HTML (tableaux)

• Opérateurs et conditionnels

• Notion de classe vs objet

• API Java

• Appel de méthode, passation d'arguments

• Arrays, boucles

• Collections

  • Introduction aux pages JSP

• Élément de script

• Les différents types d'hyperliens

• Inclusion, redirection interne et redirection externe (include, forward et redirect)

• Relation entre un JSP et un servlet

  • Formulaires HTML et Java

• Formulaires HTML

• Validation de formulaire HTML avec JavaScript

• Récupération des données d’un formulaire à l’aide de request.getParameter()

  • JavaBeans

• Qu'est-ce qu’un JavaBean

• Encapsulation de propriétés avec un JavaBean

• Caractéristiques d’un JavaBean

• Tags JSP utilisés pour manipuler un JavaBean

 

Jour 2 : Utilisation de l'API Web et exemple

  • Objets prédéfinis dans l'API JSP/Servlets

• pageContext (javax.servlet.jsp.PageContext)

• out (javax.servlet.jsp.JspWriter)

• request (javax.servlet.http.HttpRequest)

• response (javax.servlet.http.HttpResponse)

• session (javax.servlet.http.HttpSession)

• application (javax.servlet.ServletContext)

  • Exemple avec un panier d'achats

• Création d'un exemple de panier d'achat avec les technologies Web en Java

 

     Concepts avancés sur les applications Web Java

 

Ce que vous allez apprendre

Le développement de quelques applications Web permet de constater que plusieurs tâches s'y rattachant ont un caractère répétitif dans la mesure où l'on applique constamment des raisonnement similaires, sinon identiques.  De plus, il arrive que des composants d'un projet soient difficilement intégrables lorsque l'on tente de les récupérer pour un second projet, dans la mesure où elles peuvent être spécifiques au premier projet.   De là l'utilité d'un framework

 

Le concept de framework peut être résumé comme étant une façon d'organiser son code pour que celui-ci soit facilement réutilisable. Le code est scindé en deux parties : la partie générale et la partie spécifique.  On pourra entièrement réutiliser la partie générale peu importe le projet sur lequel on travaillera. La partie spécifique ne sera pas réutilisable mais on pourra s'en inspirer pour développer la partie spécifique du nouveau projet. On estime qu'une telle approche permet de réutiliser 80% du code d'un projet à un autre.

 

Le recours à un framework requiert une façon différente de concevoir l'architecture d'un système. Cela demande une bonne connaissance des technologies que l'on retrouve dans le framework dans la mesure où il n'est pas nécessairement facile de voir comment elles sont utilisées par celui-ci.

 

C'est là le but de ce cours, qui permettra à l'étudiant de se familiariser avec les notions de JavaBean, requête, session, servlet, internationalisation ou architecture MVC (Modèle–Vue–Contrôleur), pour n'en nommer que quelques-unes. L'objectif de ce cours est donc de démontrer comment l'utilisation d'un framework, Struts, qui permet, une fois qu'on est familier avec son utilisation, de réduire le temps de développement d'une application Web de grande envergure. Struts est un projet Open Source développé par le groupe Apache dans le cadre du projet Jakarta. Il vise, comme expliqué précédemment, à offrir une solution rapide aux développeurs qui sont déjà familiers avec les divers concepts associés à la programmation Web dynamique en Java. Son apprentissage requiert une certaine période d'adaptation, dans la mesure où il est nécessaire de bien saisir quand et comment sont utilisées les diverses technologies avec lesquelles l'étudiant est familier. C'est pourquoi l'approche spirale sera privilégiée afin de pouvoir saisir progressivement les différents concepts propres à Struts.

 

Préalables

Il est recommandé que le participant ait déjà utilisé le langage de programmation Java et aussi de connaissances de base en programmation Java pour le Web.

 

Plan de formation

 

Jour 1 : Introduction à MVC : Struts et le développement Web

  • Environnement de développement

  • Servlets

  • JSTL

  • Introduction au MVC

  • Introduction à Struts

Jour 2 : L'utilisation de Struts

  • Actions

  • ActionForms et DynaActionForms

  • Validation des ActionForms avec Commons Validator

  • Internationalisation (i18n)

  • Tiles

 

Jour 3 : Accéder à une base de données avec Struts

  • Introduction à DBFramework (DataBase framework)

  • Utilisation de DBFramework avec Struts

 

Utilisation de GNU/Linux pour développer en Java: partie 1

 

Ce que vous allez apprendre

GNU/Linux est une plate-forme de choix lorsqu'il s'agit de faire de la programmation avec Java. Ce système a été conçu à l'origine par des développeurs et pour des développeurs. La richesse des utilitaires et des logiciels disponibles favorise une meilleure productivité lorsqu'il s'agit de développer des applications Web avec Java.

 

À la fin de ce cours, les participants seront en mesure d'utiliser le système GNU/Linux pour faire du développement Java. Ils apprendront à :

Travailler avec un système d'exploitation GNU/Linux;

Utiliser le mode commande avec un shell bash et l'éditeur de texte vi.

 

Préalables

Concernant la connaissance du système GNU/Linux, il n'y a aucun préalable à ce cours. Cependant, il est conseillé de connaître les principes de base du développement d'applications Web avec Java et une base de données.

 

Plan de formation

 

Jour 1 : Introduction à Linux — Présentation, configuration et personnalisation de l'environnement de travail

 

Les candidats devraient être capables de travailler avec un système d'exploitation GNU/Linux c'est-à-dire configurer leur environnement de travail (KDE ou Gnome), interagir avec l'Internet via les logiciels de messagerie et de navigation, utiliser les principaux logiciels de productivité.

  • Qu'est-ce que GNU/Linux ? Historique et présentation du système

  • Présentation de KDE et Gnome

  • Configuration et utilisation des fonctionnalités de base de KDE

  •  Présentation des principaux utilitaires fournis par défaut

  • Composantes principales du système

  • Démarrage et concept d'utilisateurs

  • Organisation du système de fichiers et gestion des droits

  • Navigation Internet avec Firefox et Konqueror

  • Courrier électronique avec Thunderbird, KMail ou Evolution

  • Découverte d'OpenOffice

 

Jour 2 : Bases sur GNU/Linux : Utilisation de Linux en ligne de commande, emphase sur le shell bash et l'éditeur de texte vi

Les candidats devraient être capables d'interagir avec des shells et des commandes en utilisant la ligne de commande. Cela inclut de saisir au clavier des commandes et séquences de commandes valides, de définir, référencer et exporter des variables d'environnement, d'utiliser l'historique de commandes et les fonctions d'édition, passer des commandes dans le path et en dehors, d'utiliser la substitution de commande, d'appliquer une commande de façon récursive à travers l'arbre du directory (tree) et d'utiliser man pour se documenter sur les commandes.

  • Vulgarisation du mode commande

  • Présentation du shell bash

  • Configuration et personnalisation du shell

  • Introduction à la programmation shell

  • Présentation de l'éditeur de texte vi

  • Configuration et personnalisation de vi

Utilisation de GNU/Linux pour développer en Java: partie 2

Ce que vous allez apprendre

 

GNU/Linux est une plate-forme de choix lorsqu'il s'agit de faire de la programmation avec Java. Ce système a été conçu à l'origine par des développeurs et pour des développeurs. La richesse des utilitaires et des logiciels disponibles favorise une meilleure productivité lorsqu'il s'agit de développer des applications Web avec Java.

 

À la fin de ce cours, les participants seront en mesure d'utiliser le système GNU/Linux pour faire du développement Java. Ils apprendront à :

Utiliser le mode commande avec un shell bash et l'éditeur de texte vi.

Utiliser les principaux logiciels libres utiles pour faire du développement Java : Tomcat, Eclipse, MySQL, ANT, CVS, etc.

 

Préalables

Concernant la connaissance du système GNU/Linux, il n'y a aucun préalable à ce cours. Cependant, il est conseillé de connaître les principes de base du développement d'applications Web avec Java et une base de données.

 

Plan de formation

 

Jour 1 : Développement Java : JDK, Ant, Tomcat

 

Les candidats devraient être capables d'utiliser le shell pour installer un environnement Java sous GNU/Linux. Ils verront à la configuration les variables utiles à la compilation et à l'exécution de programmes Java, l'installation et l'utilisation d'Ant pour la gestion de projets de taille moyenne et celle du serveur d'application Web Java Tomcat.

Installation de l'environnement Java

Présentation et installation d'Ant

Installation du logiciel Eclipse

Présentation et installation du serveur Web Tomcat

 

Jour 2 : Développement d'application Java dynamique avec MySQL client, utiliser SSH et FTP, CVS client

 

Les candidats devraient être capables d'utiliser MySQL en ligne de commande pour supporter les applications qu'ils développement, de comprendre la différence entre ssh et ftp, d'utiliser l'un ou l'autre suivant l'environnement dans lequel il travaille. D'autre part, ils acquerront la capacité de travailler en équipe grâce à CVS, créer des dépôts, les mettre à jour, créer des branches de versions.

Présentation et utilisation du client MySQL sous GNU/Linux

Présentation et utilisation des clients ftp Gftp, ncftp

Présentation et utilisation du client ssh

Présentation et utilisation du client cvs

Apache Tomcat pour administrateurs

 

Ce que vous allez apprendre

Le développement des applications Web en Java est de plus en plus populaire tout comme le déploiement de ces solutions en mode production. Tomcat, un produit de la fondation Apache, est un serveur d'applications Web en Java qui est flexible et performant. Dans le monde entier, son utilisation ne cesse d'augmenter. Ainsi, les administrateurs de systèmes doivent prendre conscience de l'utilité que peut avoir Apache Tomcat lors du déploiement des applications Web en production. Dans ce cours, les fonctionnalités avancées d'Apache Tomcat seront étudiées. Celles-ci aideront les administrateurs de systèmes à mieux déployer et configurer leurs solutions en matière de sécurité et de performance.

 

Préalables

Une connaissance des applications Web Java est obligatoire pour ce cours.

 

Plan de formation

 

Jour 1 : Configuration et administration avec Tomcat

  • Configuration de Tomcat

  • Administration des applications Web

  • Intégration d'Apache Tomcat avec Apache et IIS

Jour 2 : Sécurité et performance avec Apache Tomcat

  • Sécurité

  • Performance et optimisation

  • Utilisation d'Apache Tomcat en grappe (clusters)