Tutoriel pour apprendre le langage Java en vidéo

Dominique Liard

Vous trouverez, dans les documents qui suivent, un ensemble de tutoriels sous forme de vidéos qui vous permettront d’apprendre la programmation Java à partir des bases. Au fur et à mesure des tutoriels, le niveau des exemples de code proposés augmentera afin de vous aider à maîtriser les différents aspects de ce fantastique langage de programmation orienté objet.

Il est aussi à noter que ce cours de programmation Java n’est pas encore terminé. Prochainement, de nouveaux tutoriels viendront l’enrichir. Restez connecté !!!  :-)

N’hésitez pas à nous laisser vos commentaires sur le forum associé à ces vidéos : Commentez.

- Titre : Tutoriel pour apprendre le langage Java en vidéo

- Auteur : Dominique Liard

- Parution : 21 septembre 2017

- Mise à jour : 9 mai 2019

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 Dominique Liard. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Prise en main de Java

- I-A. Préparation de votre environnement de développement Java

- I-B. Votre première application Java (Hello World)

- I-C. Compilation et portabilité de vos codes Java

- II. Les types et les opérateurs Java

- II-A. Manipulation des types entiers en Java

- II-B. Les opérateurs ++ (incrément) et – (décrément)

- II-C. Utilisation des opérateurs binaires

- II-D. Manipulation des types flottants en Java

- II-E. Le type boolean (booléen)

- II-F. Manipulation de caractères en Java

- II-G. Utilisation de chaînes de caractères en Java

- II-H. Utilisation de StringBuffer ou de StringBuilder

- II-I. Formatage de chaînes de caractères

- II-J. Les tableaux Java

- II-K. Définition d'un type énuméré

- II-L. La table de précédence des opérateurs Java

- III. Les instructions Java

- III-A. Définition de blocs d'instructions

- III-B. Les instructions conditionnelles

- III-C. Les instructions de boucles

- III-D. L'instruction « foreach »

- III-E. Les instructions break et continue

- III-F. Utilisation d'assertions

- IV. Définition de méthodes statiques en Java

- IV-A. Définition de méthodes statiques

- IV-B. Méthodes à nombre variable de paramètres

- IV-C. Mise en œuvre de méthodes récursives

- V. Utilisation d'expressions régulières

- V-A. Nos premières expressions régulières

- V-B. Compilation d'expressions régulières

- V-C. Substitutions via des expressions régulières

- V-D. Extraction de données par expressions régulières

- V-E. Utilisation de la classe java.util.Scanner

- VI. Programmation Orientée Object (POO) en Java

- VI-A. Introduction à la POO et principe d'encapsulation

- VI-B. Mise en œuvre du concept d'héritage

- VI-C. Méthodes abstraites, classes abstraites et interfaces

- VI-D. Implémentations d'interfaces

- VI-E. Expressions lambda et références sur méthodes

- VI-F. Aspects avancés sur la définition d'interfaces Java

- VII. Gestion des exceptions en Java

- VII-A. Introduction au mécanisme d'exception en Java

- VII-B. Mise en œuvre d'une classe d'exception

- VII-C. Comparaison entre try/finally et le try-with-resources

- VII-D. Aspects complémentaires liés au traitement d'exceptions en Java

- VIII. Utilisation de la généricité en Java

- VIII-A. Introduction à la généricité en Java

- VIII-B. Apprendre à coder une classe générique

- VIII-C. Définition de méthodes génériques

- IX. Les moteurs de réflexion et d'introspection en Java

- IX-A. Introduction à la réflexion Java

- IX-B. Coder un moteur de sérialisation grâce à la réflexion Java

- X. Mise en œuvre d’interfaces graphiques avec la bibliothèque Swing

- X-A. Votre première application Swing

- X-B. Utilisation des Layouts pour positionner vos composants graphiques

- X-C. Gestion des événements (implémentation de listeners)

- X-D. Mise en œuvre d'une barre de menu (JMenuBar)

- X-E. Mise en œuvre d'une barre d'outils (JToolBar)

- X-F. Mise en œuvre d'un menu contextuel (JpopupMenu)

- X-G. Utilisation d'actions pour vos éléments de menu

- X-H. Utilisation de composants JSplitPane

- X-I. Apprendre à coder un composant graphique d'affichage de courbes mathématiques

- X-J. Coder un composant graphique de type lien hypertexte

- X-K. Lister le contenu d'une base de données SQL dans un composant JTree

- XI. Accès aux bases de données relationnelles via l’API JDBC (Java DataBase Connectivity)

- XI-A. Prise en main de l'API JDBC

- XI-B. Éviter les attaques par injection SQL

- XI-C. Présentation du plugin DTP pour Eclipse

- XI-D. Manipulation d'un ResultSet

- XI-E. Utilisation des métadonnées de votre base

- XII. Remerciements

I - Prise en main de Java

I-A - Préparation de votre environnement de développement Java

Ce tutoriel vous aide à préparer votre environnement de développement Java. Deux principaux logiciels sont traités : le Java SE (type JDK) 8 et Eclipse. Au terme de ce tutoriel, vous serez prêt à produire vos premières lignes de code Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=pXaaacSkPqc&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=1

I-B - Votre première application Java (Hello World)

Ce tutoriel vous montre comment produire votre première application Java en utilisant l'IDE (Integrated Development Environment) Eclipse.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=lO_n1bFXOdQ&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=2

I-C - Compilation et portabilité de vos codes Java

Ce tutoriel vous présente le format de fichier .class : un type de fichier contenant du code machine pour le processeur Java. Il montre comment produire un .class avec le compilateur Java. La portabilité multiplate-forme de ces fichiers est aussi présentée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=xiikhWw3814&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=2s&index=3

II - Les types et les opérateurs Java

II-A - Manipulation des types entiers en Java

Ce tutoriel vous montre comment déclarer des variables et comment utiliser les différents types entiers en Java (byte, short, int et long). Les syntaxes relatives aux différentes bases numériques sont étudiées ainsi qu'une première série d'opérateurs relatifs aux entiers.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=aCZ9U-L8luQ&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=4

II-B - Les opérateurs ++ (incrément) et – (décrément)

Ce tutoriel vous montre comment utiliser les deux formes (préfixée et postfixée) des opérateurs ++ et -- en Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=udV9ugHKglA&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=7s&index=5

II-C - Utilisation des opérateurs binaires

Ce tutoriel Java vous montre comment utiliser les différents opérateurs de manipulation de la représentation binaire de vos entiers. Il vous montre aussi comment afficher un entier dans sa représentation binaire.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=T2-eYxx0QRw&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=6

II-D - Manipulation des types flottants en Java

Ce tutoriel vous montre comment utiliser les deux types flottants, float et double, du langage Java. Les différentes syntaxes supportées vous y sont présentées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=uLbKbtPtJqw&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=7

II-E - Le type boolean (booléen)

Ce tutoriel vous montre comment utiliser le type booléen en Java. Un comparatif avec la syntaxe C y est proposé.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=WGykke4np-0&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=8

II-F - Manipulation de caractères en Java

Ce tutoriel vous montre comment manipuler les caractères (type char) en Java. L'utilisation de caractères Unicode vous est aussi proposée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=nz_642sr8uM&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=9

II-G - Utilisation de chaînes de caractères en Java

Ce tutoriel vous montre comment utiliser les chaînes de caractères en Java. Il insiste sur l'aspect immuable des chaînes de caractères Java ainsi que sur la manière de correctement comparer deux chaînes. Quelques méthodes de la classe String vous sont aussi présentées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=DMPKKw7X3lg&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=10

II-H - Utilisation de StringBuffer ou de StringBuilder

En fonction de la façon dont vous allez réaliser des concaténations de chaînes de caractères, cela peut vous coûter très cher en temps CPU. Ce tutoriel vous montre comment correctement réaliser des concaténations de chaînes de caractères en utilisant soit la classe StringBuffer, soit la classe StringBuilder.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=NH6IN0giilU&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=11

II-I - Formatage de chaînes de caractères

Ce tutoriel vous montre comment produire des chaînes de caractères formatées via les méthodes String.format et System.out.printf. Un certain nombre de spécificités pour chaque type de données à formater vous est proposé. Un exemple concret d'utilisation vous est aussi proposé en fin de tuto (une mini commande ls codée en Java).

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=3fxhc-L6ULk&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=12

II-J - Les tableaux Java

Ce tutoriel vous montre comment définir un tableau de données en Java. Différentes syntaxes vous sont proposées (liste d'initialisation…). Une comparaison en tableaux et collections Java est faite à la fin du tutoriel.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=BhNj3KqOpLI&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=728s&index=13

II-K - Définition d'un type énuméré

Ce tutoriel vous explique ce qu'est un type énuméré et comment en coder un en Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=zvMAMrkMjME&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&index=14

II-L - La table de précédence des opérateurs Java

Ce tutoriel vous explique ce qu'est la table de précédence des opérateurs Java et comment cette table peut influencer la manière d'écrire vos expressions en Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Lne5VEBYZZ0&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=281s&index=15

III - Les instructions Java

III-A - Définition de blocs d'instructions

Ce tutoriel vous montre comment définir des blocs d'instructions en Java et comment ils permettent de contrôler la durée de vie de vos variables.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=L6-eVQ7-DlU&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&index=16

III-B - Les instructions conditionnelles

Ce tutoriel vous montre comment utiliser les instructions conditionnelles en Java (if, switch). Une comparaison entre les deux mécanismes est proposée. L'opérateur conditionnel est aussi présenté (le seul opérateur ternaire du langage).

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=rE4eNfEgIx4&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=17

III-C - Les instructions de boucles

Ce tutoriel vous montre comment utiliser les instructions de boucles (for, while, do while).

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=d4HQdkuC65I&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&index=18

III-D - L'instruction « foreach »

Ce tutoriel vous montre comment utiliser la variante « foreach » de l'instruction « for ». Un comparatif avec un « for » traditionnel vous est proposé. Cette instruction est testée sur les tableaux et sur les collections (classe ArrayList).

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Wt1iXdxb6JU&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=19

III-E - Les instructions break et continue

Ce tutoriel vous montre comment utiliser les instructions de débranchement de boucles (continue et break) ainsi que, comment utiliser les étiquettes pour pouvoir débrancher de plusieurs niveaux de boucles imbriquées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=eUOVf6tr8RM&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=20

III-F - Utilisation d'assertions

Ce tutoriel vous montre comment utiliser les assertions en Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=9qAlcPjVZa8&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=21

IV - Définition de méthodes statiques en Java

IV-A - Définition de méthodes statiques

Ce tutoriel vous montre comment coder des méthodes statiques (méthodes de classes). Une simplification de fraction et un calcul de PGCD vous sont notamment proposés. La finalisation (mot clé final) de paramètres vous est aussi expliquée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=HDV71CY1yRM&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=22

IV-B - Méthodes à nombre variable de paramètres

Ce tutoriel Java vous montre comment coder des méthodes à nombre variable de paramètres, comme la méthode System.out.printf, par exemple.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Z-xkjjYnFpM&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&index=23

IV-C - Mise en œuvre de méthodes récursives

Ce tutoriel vous montre comment coder des méthodes récursives. L'exemple de la fonction factorielle est proposé. Une comparaison entre une approche itérative et une approche récursive est également proposée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Jm-WC1UtrTo&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=24

V - Utilisation d'expressions régulières

V-A - Nos premières expressions régulières

Ce tutoriel vous permet de mettre en œuvre vos premières expressions régulières en Java. Des vérifications de formats d'emails ou de dates vous sont proposées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=XdDPEkyiRTs&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=25

V-B - Compilation d'expressions régulières

Mal utilisées, les expressions régulières peuvent consommer beaucoup de temps CPU. Il est nécessaire de les compiler (produire la machine à états associée) une fois pour toutes, plutôt que de le refaire à chaque appel à la méthode « matches ». C'est ce que ce tutoriel vous montre, mesures de performances à l'appui.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Uxt3t3biHh4&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=26

V-C - Substitutions via des expressions régulières

Ce tutoriel vous montre comment faire des remplacements de chaînes de caractères à partir d'expressions régulières.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=4DoKP2Rj1V0&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=27

V-D - Extraction de données par expressions régulières

Ce tutoriel vous montre comment reconnaître et extraire des parties d'une chaîne de caractères en utilisant des expressions régulières.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Wl35qeJksQU&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=28

V-E - Utilisation de la classe java.util.Scanner

La classe utilitaire java.util.Scanner permet de parcourir un flux et d'en extraire son contenu en utilisant des expressions régulières. Ce tutoriel vous montre comment utiliser cette classe.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=luDzSTVoVIs&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=29

VI - Programmation Orientée Object (POO) en Java

VI-A - Introduction à la POO et principe d'encapsulation

Ce tutoriel vous présente différents principes de programmation orientée objet. Parmi ces principes, nous traiterons de l'encapsulation, de la notion de propriétés (getter/setter), de constructeurs…

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=cfxJOZ-dbMc&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=30

VI-B - Mise en œuvre du concept d'héritage

Ce tutoriel vous montre comment mettre en œuvre le concept d'héritage en Java. Les principes de rappels des constructeurs, de polymorphisme ainsi que l'opérateur instanceof vous sont aussi présentés.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=0NKxgvStdCM&list=PLBNheBxhHLQxfJhoz193-dRwvc2rl8AOW&t=25s&index=31

VI-C - Méthodes abstraites, classes abstraites et interfaces

Ce tutoriel vous présente les concepts de méthodes abstraites et de classes abstraites, à l'aide d’un exemple de code adapté. Au terme de ce tutoriel, la notion d'interface (quasiment équivalente à une classe totalement abstraite) est présentée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=rIuQHKjIjt4

VI-D - Implémentations d'interfaces

Ce tutoriel vous présente plusieurs techniques pour implémenter une interface. Les exemples de code proposés sont appliqués à la gestion des événements en Java (qui s'appuie donc sur des interfaces). Les notions de classes privées, de classes internes (inner classes) et de classes anonymes (anonymous classes) sont aussi étudiées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=xG7Oq5Zk2Ak

VI-E - Expressions lambda et références sur méthodes

Ce nouveau tutoriel vous présente deux notions du Java SE 8.0 : les expressions lambda et les références sur méthodes. Des exemples appliqués à la gestion des événements et à la gestion des collections vous sont proposés.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=DjHC-C-GXUc

VI-F - Aspects avancés sur la définition d'interfaces Java

Ce tutoriel se concentre sur trois possibilités liées à la définition d'interfaces en Java : définition de méthodes statiques sur une interface, définition de méthodes par défaut (default methods) et la définition de méthodes privées sur interface. Ces trois possibilités étant disponibles depuis Java SE 8.0 et 9.0.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=g9NRYEgOBc0

VII - Gestion des exceptions en Java

VII-A - Introduction au mécanisme d'exception en Java

Ce tutoriel vous présente les concepts de base liés au traitement d'exceptions en Java. Une exception Java représente un état « exceptionnel » d'exécution de votre programme : une erreur. Les mots clés try, catch, throw et throws vous sont présentés.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=o0uoNIyit9Q

VII-B - Mise en œuvre d'une classe d'exception

Ce tutoriel vous montre comment coder une classe d'exception en Java. La différence entre « checked exceptions » et « unchecked exceptions » y est présentée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=3ri0nhAmdOU

VII-C - Comparaison entre try/finally et le try-with-resources

Il est courant en Java de chercher à libérer des ressources à la fin de l'exécution d'un bloc try. Le langage Java permet cela depuis le début de son histoire via le bloc finally. Depuis Java SE 7.0, une nouvelle construction, le « try-with-resources », vient compléter nos possibilités à ce sujet. Cette vidéo compare ces deux approches, exemples à l'appui.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/L95GWp5yUQg

VII-D - Aspects complémentaires liés au traitement d'exceptions en Java

Ce tutoriel présente quelques aspects complémentaires liés au traitement d'exception en Java et notamment : la hiérarchie de classes d'exception, le multicatch et le rethrow d'exception.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/yOth45HZXnw

VIII - Utilisation de la généricité en Java

VIII-A - Introduction à la généricité en Java

Cette vidéo vous présente le concept de généricité et de classe générique. Quelques classes, proposées par l'API du Java SE, sont utilisées pour appuyer la discussion.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/VGlK0geHP4c

VIII-B - Apprendre à coder une classe générique

Cette vidéo vous montre comment coder une classe générique en Java et comment l'utiliser. La restriction des types utilisables par votre classe générique vous est aussi présentée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/Fw5EGMCaK08

VIII-C - Définition de méthodes génériques

Cette vidéo vous apprend à coder des méthodes génériques sur des classes non génériques. Elle vous montre aussi comment restreindre les types autorisés par la généricité.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/G9SDdwJn_hU

IX - Les moteurs de réflexion et d'introspection en Java

IX-A - Introduction à la réflexion Java

Cette vidéo vous montre comment utiliser le moteur de réflexion Java (accessible dans le package java.lang.reflect) pour obtenir des informations descriptives sur vos types de données.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/Be3gJ164brE

IX-B - Coder un moteur de sérialisation grâce à la réflexion Java

Cette vidéo vous montre comment coder un moteur de sérialisation/désérialisation, au format JSON, en utilisant la réflexion Java.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/csK4Z78YaKM

X - Mise en œuvre d’interfaces graphiques avec la bibliothèque Swing

X-A - Votre première application Swing

Cette vidéo vous montre comment coder votre première application graphique avec la bibliothèque Swing fournie par le Java SE. Le plug-in WindowBuilder, proposé par l'IDE Eclipse, vous est aussi présenté.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/SQae_yJBK1c

X-B - Utilisation des Layouts pour positionner vos composants graphiques

Cette vidéo vous montre comment utiliser les layouts (FlowLayout, GridLayout, BorderLayout…) pour positionner, de manière intelligente et automatique, vos composants dans votre interface graphique.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/-UvxwleNA20

X-C - Gestion des événements (implémentation de listeners)

Ce tutoriel vous montre comment coder des gestionnaires d'événements Swing, via différentes techniques (classes anonymes, lambda expressions, références sur méthodes…).

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/zb4LuoddvEo

X-D - Mise en œuvre d'une barre de menu (JMenuBar)

Cette vidéo vous apprend à coder une barre de menu avec la bibliothèque Java Swing. Les différentes décorations classiques pour vos éléments de menu vous sont aussi présentées : icônes, accélérateurs, mnémoniques…

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/pfIDhPoTTsI

X-E - Mise en œuvre d'une barre d'outils (JToolBar)

Cette vidéo vous apprend à construire une barre d'outils pour votre application Swing.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/0ovfW5lGwCM

X-F - Mise en œuvre d'un menu contextuel (JpopupMenu)

Cette vidéo vous apprend à construire un menu contextuel pour votre application Swing.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/wsPe5YH92tU

X-G - Utilisation d'actions pour vos éléments de menu

Une interface graphique propose des mécanismes standardisés pour déclencher vos traitements : barre de menu, barres d'outils, menus contextuels… Souvent, une même action est disponible sur tous ces emplacements. Du coup, comment correctement factoriser la définition des éléments rattachés à cette action (icône, mnémonique, accélérateur…) ? C'est à ce besoin que cherche à répondre le concept d'action Swing.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/vTe8sN4m_Bc

X-H - Utilisation de composants JSplitPane

Cette vidéo vous montre comment utiliser la classe JSplitPane pour mettre en œuvre un, ou plusieurs, «splitters» dans votre interface graphique.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/OeNGt8pY9mU

X-I - Apprendre à coder un composant graphique d'affichage de courbes mathématiques

Cette vidéo vous apprend à coder votre propre composant Swing d'affichage de courbes mathématiques. Le concept de « graphics » vous y est présenté.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/l2gzJGd8i3s

X-J - Coder un composant graphique de type lien hypertexte

Cette vidéo vous apprend à coder un composant graphique Swing se présentant comme un lien hypertexte.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/dEytp2a29a4

X-K - Lister le contenu d'une base de données SQL dans un composant JTree

Cette vidéo vous apprend à coder une classe dérivant de JTree qui affiche les éléments (les tables) présents dans une base de données SQL, de manière hiérarchique. La connaissance préalable de JDBC est vivement conseillée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/embed/3pjyiAvRV4w

XI - Accès aux bases de données relationnelles via l’API JDBC (Java DataBase Connectivity)

XI-A - Prise en main de l'API JDBC

Ce tutoriel présente l'API JDBC (Java DataBase API) permettant de connecter un programme Java à une base de données relationnelle. Le serveur de bases de données retenu pour ce tutoriel est MariaDB. Vous apprendrez à mettre en place une base de données dans le serveur, à charger le driver JDBC en mémoire, à ouvrir une connexion à la base, à exécuter un ordre SQL et à récupérer un jeu de résultats.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=yS-hF0irE84&t=25s&index=1&list=PLBNheBxhHLQwM9BZbJbR3FaIKVODP2rBt

XI-B - Éviter les attaques par injection SQL

Ce tutoriel vous présente le concept d'attaque par injection SQL : c'est la possibilité d'injecter des portions de code SQL non souhaitées dans une application. Cela permet soit d'usurper une identité, de récupérer des données confidentielles, soit (pire encore) de détruire des données en base. Une fois ce type d'attaques bien compris, le tutoriel vous montre comment coder proprement en Java/JDBC pour éviter ce type d'attaques. La solution recommandée étant d'éviter les concaténations de bouts de code SQL et de privilégier l'utilisation des PreparedStatement.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=Im2XMazxMks&t=25s&index=2&list=PLBNheBxhHLQwM9BZbJbR3FaIKVODP2rBt

XI-C - Présentation du plugin DTP pour Eclipse

Ce tutoriel vous présente le plugin DTP (Data Tools Platform) qui permet, pour votre IDE Eclipse, d'ajouter des outils relatifs aux bases de données relationnelles et à SQL.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=_EgIQOH0X4s&t=25s&index=3&list=PLBNheBxhHLQwM9BZbJbR3FaIKVODP2rBt

XI-D - Manipulation d'un ResultSet

Ce tutoriel vous montre comment manipuler, via la bibliothèque JDBC, vos ResultSets en provenance de vos bases de données. Les différents types de navigations (FORWARD_ONLY, SCROLL_SENSITIVE et SCROLL_INSENSITIVE) et d'accès (READ_ONLY et UPDATABLE) vous sont présentés.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=GmdWHtnCnIA&t=25s&index=4&list=PLBNheBxhHLQwM9BZbJbR3FaIKVODP2rBt

XI-E - Utilisation des métadonnées de votre base

Ce tutoriel vous montre comment utiliser les métadonnées descriptives de votre base de données, avec la bibliothèque JDBC (Java Database Connectivity). Il porte plus précisément sur l'utilisation des types DatabaseMetaData et ResultSetMetaData.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://www.youtube.com/watch?v=XHckcHjyGss&t=25s&index=5&list=PLBNheBxhHLQwM9BZbJbR3FaIKVODP2rBt

XII - Remerciements

Merci à Mickaël Baron de m’avoir activement accompagné dans la mise en œuvre de cet article.

Merci à Jacques Jean, f-leb et à Claude Leloup pour leur relecture orthographique.

Et enfin, merci à tous ceux qui m’ont ou qui vont m’encourager dans la préparation de ce tutoriel Java.