<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="../../Formations.xsl" ?>
<FORMATION>
    <FILIERE>Développement Java</FILIERE>
    <TITRE>Le langage Java</TITRE>
    <DUREE>5</DUREE>

    <OBJECTIF>L'environnement Java est très riche et vaste. Vous en faire un tour d'horizon
	complet en cinq jours serait purement illusoire. Le but de la formation est
	de dégrossir les concepts fondamentaux de la plate-forme Java (cette
	plate-forme étant constituée d'un environnement d'exécution, d'un langage et
	d'une librairie). L'accent est fortement mit sur les nombreux travaux
	pratiques.  Par défaut, l'atelier de développement Eclipse sera utilisé.
    </OBJECTIF>

    <PREREQUIS>La connaissance d'un langage de programmation est obligatoire pour
	pouvoir suivre la formation. De plus, la connaissance préalable du langage
	C est fortement recommandée.
    </PREREQUIS>

    <CONTENU>
	<CHAPITRE>
	    <TITRE>Les fondamentaux de la plate-forme Java</TITRE>
	    <SECTION>Introduction</SECTION>
		<SUBSECTION>Historique : comment en est t'on arrivé à Java</SUBSECTION>
		<SUBSECTION>Les différents environnements fournis (J2ME, J2SE, J2EE)</SUBSECTION>
		<SUBSECTION>Les alternatives à la plate-forme Java : le framework .NET</SUBSECTION>
	    <SECTION>Le fameux "Hello World" à la sauce Java</SECTION>
		<SUBSECTION>Eléments syntaxiques fondamentaux</SUBSECTION>
		<SUBSECTION>Compilation d'un programme Java</SUBSECTION>
		<SUBSECTION>Lancement de la JVM (Java Virtual Machine)</SUBSECTION>
	    <SECTION>Fonctionnement du garbage collector</SECTION>
	    <SECTION>Les types de données Java et les expressions</SECTION>
	    <SECTION>Les instructions de contrôle</SECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Introduction au modèle objet de Java</TITRE>
	    <SECTION>Quelques éléments de terminologie</SECTION>
	    <SECTION>Mise en oeuvre de classes en Java</SECTION>
		<SUBSECTION>Définition d'attributs</SUBSECTION>
		<SUBSECTION>Définition de méthodes</SUBSECTION>
		<SUBSECTION>Niveaux de visibilité aux membres de la classe</SUBSECTION>
	    <SECTION>But et intérêts de l'encapsulation</SECTION>
		<SUBSECTION>Les méthodes d'accès aux attributs</SUBSECTION>
		<SUBSECTION>Différences entre attributs et propriétés</SUBSECTION>
		<SUBSECTION>Les conventions de codage en Java</SUBSECTION>
	    <SECTION>L'héritage et les concepts proches</SECTION>
		<SUBSECTION>Intérêts de l'héritage</SUBSECTION>
		<SUBSECTION>Polymorphisme et liaison dynamique</SUBSECTION>
		<SUBSECTION>Mise en oeuvre de classes et de méthodes abstraites</SUBSECTION>
		<SUBSECTION>Les interfaces Java</SUBSECTION>
	    <SECTION>Notions de packages en Java</SECTION>
		<SUBSECTION>Utilisation de packages</SUBSECTION>
		<SUBSECTION>Définition de packages</SUBSECTION>
		<SUBSECTION>Les packages <I>java.lang</I> et <I>java.util</I></SUBSECTION>
	    <SECTION>Impactes sur les performances de l'environnement Java</SECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Génération automatique de documentations</TITRE>
	    <SECTION>Correctement commenter son code</SECTION>
		<SUBSECTION>Une nouvelle forme de commentaire pour JavaDoc</SUBSECTION>
		<SUBSECTION>Le langage de commentaires de Javadoc</SUBSECTION>
	    <SECTION>Utilisation de l'outil <I>javadoc</I></SECTION>
		<SUBSECTION>Les options de l'outil <I>javadoc</I></SUBSECTION>
		<SUBSECTION>Etude de la documentation HTML générée</SUBSECTION>
		<SUBSECTION>Intégration de <I>javadoc</I> dans l'atelier de développement</SUBSECTION>
	    <SECTION>Présentation de la documentation de l'API Java</SECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Mise en oeuvre d'interfaces graphiques</TITRE>
	    <SECTION>Les librairies graphiques en Java</SECTION>
		<SUBSECTION>La librairie AWT (Abstract Window Toolkit)</SUBSECTION>
		<SUBSECTION>La librairie Swing</SUBSECTION>
		<SUBSECTION>Comparatif entre les deux librairies</SUBSECTION>
	    <SECTION>Notions de fenêtres, de conteneurs et de composants</SECTION>
		<SUBSECTION>Présentation des classes <I>JFrame</I>, <I>JDialog</I> et <I>JOptionPane</I></SUBSECTION>
		<SUBSECTION>Les conteneurs Swing et la classe <I>JPanel</I></SUBSECTION>
		<SUBSECTION>Manipulation des classes <I>JButton</I>, <I>JTExtField</I>, <I>JTextArea</I>, ...</SUBSECTION>
	    <SECTION>Les différentes stratégies de placement</SECTION>
		<SUBSECTION>La stratégie <I>FlowLayout</I></SUBSECTION>
		<SUBSECTION>La stratégie <I>GridLayout</I></SUBSECTION>
		<SUBSECTION>La stratégie <I>BorderLayout</I></SUBSECTION>
	    <SECTION>La gestion des évènements</SECTION>
		<SUBSECTION>Notions de générateur d'évènements et d'écouteurs (Listener)</SUBSECTION>
		<SUBSECTION>Implémentation des interfaces d'écoute</SUBSECTION>
		<SUBSECTION>Utilisation de classes anonymes</SUBSECTION>
		<SUBSECTION>Les classes d'adaptateurs</SUBSECTION>
	    <SECTION>Le tracé en Java</SECTION>
		<SUBSECTION>La notion de contexte graphique (classe <I>Graphics</I>)</SUBSECTION>
		<SUBSECTION>La classe <I>Canvas</I></SUBSECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Le modèle de composant JavaBeans</TITRE>
	    <SECTION>Subtilités entre la réflexion et l'introspection</SECTION>
		<SUBSECTION>Utilisation des méta-données (class <I>Class</I>)</SUBSECTION>
		<SUBSECTION>Les conventions de codage de Java</SUBSECTION>
	    <SECTION>Utilisation du moteur d'introspection</SECTION>
		<SUBSECTION>Présentation du package <I>java.beans</I></SUBSECTION>
		<SUBSECTION>Détermination des propriétés d'une classe</SUBSECTION>
		<SUBSECTION>Détermination des évènements d'une classe</SUBSECTION>
		<SUBSECTION>Utilisation dans l'atelier de développement</SUBSECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Le traitement des exceptions en Java</TITRE>
	    <SECTION>Qu'est qu'une exception ?</SECTION>
		<SUBSECTION>Les classes d'exceptions fournies par Java</SUBSECTION>
	    	<SUBSECTION>Définition d'une classe d'exception</SUBSECTION>
	    <SECTION>Déclanchement d'exceptions dans un programme Java</SECTION>
	    <SECTION>Modes de traitement d'une exception</SECTION>
		<SUBSECTION>Capturer l'exception - instruction <I>try ... catch ... finally</I></SUBSECTION>
		<SUBSECTION>Relayer l'exception à la méthode appelante</SUBSECTION>
	    <SECTION>Cas subtiles d'utilisations des exceptions</SECTION>
	    <SECTION>Utilisation de la pile de appels de méthodes fournie par la JVM</SECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Gestion des entrées/sorties en Java</TITRE>
	    <SECTION>Les différents types de flux</SECTION>
		<SUBSECTION>Flux 8 bits : <I>InputStream</I> et <I>OutputStream</I></SUBSECTION>
		<SUBSECTION>Flux 16 bits : <I>Reader</I> et <I>Writer</I></SUBSECTION>
	    <SECTION>Manipulations de fichiers</SECTION>
	    <SECTION>Manipulations de sockets TCP/IP</SECTION>
	    <SECTION>La sérialisation en Java</SECTION>
	</CHAPITRE>

	<CHAPITRE>
	    <TITRE>Introduction aux applets Java</TITRE>
	    <SECTION>Différences entre Applications Java et Applets Java</SECTION>
	    <SECTION>Codage d'une applet minimale</SECTION>
	    <SECTION>Limitation en terme de sécurité</SECTION>
	    <SECTION>Intégration d'une applet dans une page HTML</SECTION>
	    <SECTION>Les applets et les archives Java</SECTION>
	</CHAPITRE>

    </CONTENU>
</FORMATION>

