Imprimer Sommaire Consulter avec table des matières
Développons en Java   v 2.00  
Copyright (C) 1999-2014 .  


Développons en Java
  

Préambule
  
   A propos de ce document
   Remerciements
   Notes de licence
   Marques déposées
   Historique des versions

Partie 1 : Les bases du langage Java
  

1. Présentation de Java
  introduit le langage Java en présentant les différentes éditions et versions du JDK, les caractéristiques du langage et décrit l'installation du JDK
  1.1. Les caractéristiques
  1.2. Un bref historique de Java
  1.3. Les différentes éditions et versions de Java
  1.4. Un rapide tour d'horizon des API et de quelques outils
  1.5. Les différences entre Java et JavaScript
  1.6. L'installation du JDK

2. Les notions et techniques de base en Java
  présente rapidement quelques notions de base et comment compiler et exécuter une application
  2.1. Les concepts de base
  2.2. L'exécution d'une applet

3. La syntaxe et les éléments de bases de Java
  explore les éléments du langage d'un point de vue syntaxique
  3.1. Les règles de base
  3.2. Les identificateurs
  3.3. Les commentaires
  3.4. La déclaration et l'utilisation de variables
  3.5. Les opérations arithmétiques
  3.6. La priorité des opérateurs
  3.7. Les structures de contrôles
  3.8. Les tableaux
  3.9. Les conversions de types
  3.10. La manipulation des chaînes de caractères

4. La programmation orientée objet
  explore comment Java utilise et permet d'utiliser la programmation orientée objet
  4.1. Le concept de classe
  4.2. Les objets
  4.3. Les modificateurs d'accès
  4.4. Les propriétés ou attributs
  4.5. Les méthodes
  4.6. L'héritage
  4.7. Les packages
  4.8. Les classes internes
  4.9. La gestion dynamique des objets

5. Les packages de bases
  propose une présentation rapide des principales API fournies avec le JDK
  5.1. Les packages selon la version du JDK
  5.2. Le package java.lang
  5.3. La présentation rapide du package awt java
  5.4. La présentation rapide du package java.io
  5.5. Le package java.util
  5.6. La présentation rapide du package java.net
  5.7. La présentation rapide du package java.applet

6. Les fonctions mathématiques
  indique comment utiliser les fonctions mathématiques
  6.1. Les variables de classe
  6.2. Les fonctions trigonométriques
  6.3. Les fonctions de comparaisons
  6.4. Les arrondis
  6.5. La méthode IEEEremainder(double, double)
  6.6. Les Exponentielles et puissances
  6.7. La génération de nombres aléatoires
  6.8. La classe BigDecimal

7. La gestion des exceptions
  explore la faculté qu'a Java de traiter et gérer les anomalies qui surviennent lors de l'exécution du code
  7.1. Les mots clés try, catch et finally
  7.2. La classe Throwable
  7.3. Les classes Exception, RunTimeException et Error
  7.4. Les exceptions personnalisées
  7.5. Les exceptions chaînées
  7.6. L'utilisation des exceptions

8. Le multitâche
  présente et met en oeuvre les mécanismes des threads qui permettent de répartir différents traitements d'un même programme en plusieurs unités distinctes exécutées de manière "simultanée"
  8.1. L'interface Runnable
  8.2. La classe Thread
  8.3. La création et l'exécution d'un thread
  8.4. La classe ThreadGroup
  8.5. Un thread en tâche de fond (démon)
  8.6. L'exclusion mutuelle

9. JDK 1.5 (nom de code Tiger)
  détaille les nouvelles fonctionnalités du langage de la version 1.5
  9.1. Les nouveautés du langage Java version 1.5
  9.2. L'autoboxing (boxing/unboxing)
  9.3. Les importations statiques
  9.4. Les annotations ou métadonnées (Meta Data)
  9.5. Les arguments variables (varargs)
  9.6. Les generics
  9.7. Les boucles pour le parcours des collections
  9.8. Les énumérations (type enum)

10. Les annotations
  présente les annotations qui sont des métadonnées insérées dans le code source et leurs mises en oeuvre.
  10.1. La présentation des annotations
  10.2. La mise en oeuvre des annotations
  10.3. L'utilisation des annotations
  10.4. Les annotations standards
  10.5. Les annotations communes (Common Annotations)
  10.6. Les annotations personnalisées
  10.7. L'exploitation des annotations
  10.8. L'API Pluggable Annotation Processing
  10.9. Les ressources relatives aux annotations

11. Java SE 7, le projet Coin
  ce chapitre décrit les changements syntaxiques proposés par le projet Coin dans Java SE 7
  11.1. Les entiers exprimés en binaire (Binary Literals)
  11.2. Utilisation des underscores dans les entiers littéraux
  11.3. Utilisation des strings dans l'instruction switch
  11.4. L'opérateur diamant
  11.5. L'instruction try-with-resources
  11.6. Des types plus précis lorsqu'une exception est relevée dans une clause catch
  11.7. Multiples exceptions dans une clause catch

Partie 2 : Le développement des interfaces graphiques
  

12. Le graphisme
  entame une série de chapitres sur les interfaces graphiques en détaillant les objets et méthodes de base pour le graphisme
  12.1. Les opérations sur le contexte graphique

13. Les éléments d'interfaces graphiques de l'AWT
  recense les différents composants qui sont fournis dans la bibliothèque AWT
  13.1. Les composants graphiques
  13.2. La classe Component
  13.3. Les conteneurs
  13.4. Les menus
  13.5. La classe java.awt.Desktop

14. La création d'interfaces graphiques avec AWT
  indique comment réaliser des interfaces graphiques avec l'AWT
  14.1. Le dimensionnement des composants
  14.2. Le positionnement des composants
  14.3. La création de nouveaux composants à partir de Panel
  14.4. L'activation ou la désactivation des composants

15. L'interception des actions de l'utilisateur
  détaille les mécanismes qui permettent de réagir aux actions de l'utilisateur via une interface graphique
  15.1. L'interception des actions de l'utilisateur avec Java version 1.0
  15.2. L'interception des actions de l'utilisateur avec Java version 1.1

16. Le développement d'interfaces graphiques avec SWING
  indique comment réaliser des interfaces graphiques avec Swing
  16.1. La présentation de Swing
  16.2. Les packages Swing
  16.3. Un exemple de fenêtre autonome
  16.4. Les composants Swing
  16.5. Les boutons
  16.6. Les composants de saisie de texte
  16.7. Les onglets
  16.8. Le composant JTree
  16.9. Les menus
  16.10. L'affichage d'une image dans une application.

17. Le développement d'interfaces graphiques avec SWT
  indique comment réaliser des interfaces graphiques avec SWT
  17.1. La présentation de SWT
  17.2. Un exemple très simple
  17.3. La classe SWT
  17.4. L'objet Display
  17.5. L'objet Shell
  17.6. Les composants
  17.7. Les conteneurs
  17.8. La gestion des erreurs
  17.9. Le positionnement des contrôles
  17.10. La gestion des événements
  17.11. Les boîtes de dialogue

18. JFace
  présente l'utilisation de ce framework facilitant le développement d'applications utilisant SWT
  18.1. La présentation de JFace
  18.2. La structure générale d'une application
  18.3. Les boites de dialogue

Partie 3 : Les API avancées
  

19. Les collections
  propose une revue des classes fournies par le JDK pour gérer des ensembles d'objets
  19.1. Présentation du framework collection
  19.2. Les interfaces des collections
  19.3. Les collections de type List : les listes
  19.4. Les collections de type Set : les ensembles
  19.5. Les collections de type Map : les associations de type clé/valeur
  19.6. Les collections de type Queue : les files
  19.7. Le tri des collections
  19.8. Les algorithmes
  19.9. Les exceptions du framework

20. Les flux
  explore les classes utiles à la mise en oeuvre d'un des mécanismes de base pour échanger des données
  20.1. La présentation des flux
  20.2. Les classes de gestion des flux
  20.3. Les flux de caractères
  20.4. Les flux d'octets
  20.5. La classe File
  20.6. Les fichiers à accès direct
  20.7. La classe java.io.Console

21. NIO 2
  détaille l'API FileSystem qui facilite l'utilisation de systèmes de fichiers
  21.1. Les entrées/sorties avec Java
  21.2. Les principales classes et interfaces
  21.3. L'interface Path
  21.4. Glob
  21.5. La classe Files
  21.6. Le parcours du contenu de répertoires
  21.7. L'utilisation de systèmes de gestion de fichiers
  21.8. La lecture et l'écriture dans un fichier
  21.9. Les liens et les liens symboliques
  21.10. La gestion des attributs
  21.11. La gestion des unités de stockages
  21.12. Les notifications de changements dans un répertoire
  21.13. La gestion des erreurs et la libération des ressources
  21.14. L'interopérabilité avec le code existant

22. La sérialisation
  ce procédé offre un mécanisme standard pour transformer l'état d'un objet en un flux de données qui peut être rendu persistant ou échangé sur le réseau pour permettre de recréer un objet possédant le même état.
  22.1. La sérialisation standard
  22.2. La documentation d'une classe sérialisable
  22.3. La sérialisation et la sécurité
  22.4. La sérialisation en XML

23. L'interaction avec le réseau
  propose un aperçu des API fournies par Java pour utiliser les fonctionnalités du réseau dans les applications
  23.1. L'introduction aux concepts liés au réseau
  23.2. Les adresses internet
  23.3. L'accès aux ressources avec une URL
  23.4. L'utilisation du protocole TCP
  23.5. L'utilisation du protocole UDP
  23.6. Les exceptions liées au réseau
  23.7. Les interfaces de connexions au réseau

24. La gestion dynamique des objets et l'introspection
  ces mécanismes permettent dynamiquement de connaître le contenu d'une classe et de l'utiliser
  24.1. La classe Class
  24.2. La recherche des informations sur une classe
  24.3. La définition dynamique d'objets
  24.4. L'exécution dynamique d'une méthode

25. L'appel de méthodes distantes : RMI
  étudie la mise en oeuvre de la technologie RMI pour permettre l'appel de méthodes distantes
  25.1. La présentation et l'architecture de RMI
  25.2. Les différentes étapes pour créer un objet distant et l'appeler avec RMI
  25.3. Le développement coté serveur
  25.4. Le développement coté client
  25.5. La génération de la classe stub
  25.6. La mise en oeuvre des objets RMI

26. L'internationalisation
  traite d'une façon pratique de la possibilité d'internationaliser une application
  26.1. Les objets de type Locale
  26.2. La classe ResourceBundle
  26.3. Un guide pour réaliser la localisation

27. Les composants Java beans
  examine comment développer et utiliser des composants réutilisables
  27.1. La présentation des Java beans
  27.2. Les propriétés.
  27.3. Les méthodes
  27.4. Les événements
  27.5. L'introspection
  27.6. Paramétrage du bean ( Customization )
  27.7. La persistance
  27.8. La diffusion sous forme de jar

28. Le logging
  indique comment mettre en oeuvre deux API pour la gestion des logs : Log4J du projet open source Jakarta et l'API Logging du JDK 1.4
  28.1. La présentation du logging
  28.2. Log4j
  28.3. L'API logging
  28.4. Jakarta Commons Logging (JCL)
  28.5. D'autres API de logging

29. La sécurité
  partie intégrante de Java, elle revêt de nombreux aspects dans les spécifications, la gestion des droits d'exécution et plusieurs API dédiées
  29.1. La sécurité dans les spécifications du langage
  29.2. Le contrôle des droits d'une application
  29.3. La cryptographie
  29.4. JCA (Java Cryptography Architecture) et JCE (Java Cryptography Extension)
  29.5. JSSE (Java Secure Sockets Extension)
  29.6. JAAS (Java Authentication and Authorization Service)

30. JCA (Java Cryptography Architecture)
  détaille l'utilisation de l'API proposant des fonctionnalités cryptographiques de base
  30.1. L'architecture de JCA
  30.2. Les classes et interfaces de JCA
  30.3. Les fournisseurs d'implémentations
  30.4. La classe java.security.Provider
  30.5. La classe java.security.Security
  30.6. La classe java.security.MessageDigest
  30.7. Les classes java.security.DigestInputStream et java.security.DigestOuputStream
  30.8. La classe java.security.Signature
  30.9. La classe java.security.KeyStore
  30.10. Les interfaces de type java.security.Key
  30.11. La classe java.security.KeyPair
  30.12. La classe java.security.KeyPairGenerator
  30.13. La classe java.security.KeyFactory
  30.14. La classe java.security.SecureRandom
  30.15. La classe java.security.AlgorithmParameters
  30.16. La classe java.security.AlgorithmParameterGenerator
  30.17. La classe java.security.cert.CertificateFactory
  30.18. L'interface java.security.spec.KeySpec et ses implémentations
  30.19. La classe java.security.spec.EncodedKeySpec et ses sous-classes
  30.20. L'interface java.security.spec.AlgorithmParameterSpec

31. JCE (Java Cryptography Extension
  détaille l'API pour l'encryptage et le décryptage, la génération de clés et l'authentification de messages avec des algorithmes de type MAC
  31.1. La classe javax.crypto.KeyGenerator
  31.2. La classe javax.crypto.SecretKeyFactory
  31.3. La classe javax.crypto.Cipher
  31.4. Les classes javax.crypto.CipherInputStream et javax.crypto.CipherOutputStream
  31.5. La classe javax.crypto.SealedObject
  31.6. La classe javax.crypto.Mac

32. JNI (Java Native Interface)
  technologie qui permet d'utiliser du code natif dans une classe Java et vice versa
  32.1. La déclaration et l'utilisation d'une méthode native
  32.2. La génération du fichier d'en-tête
  32.3. L'écriture du code natif en C
  32.4. Le passage de paramètres et le renvoi d'une valeur (type primitif)
  32.5. Le passage de paramètres et le renvoi d'une valeur (type objet)

33. JNDI (Java Naming and Directory Interface)
  introduit l'API qui permet d'accéder aux services de nommage et d'annuaires
  33.1. La présentation de JNDI
  33.2. La mise en oeuvre de l'API JNDI
  33.3. L'utilisation d'un service de nommage
  33.4. L'utilisation avec un DNS
  33.5. L'utilisation du File System Context Provider
  33.6. LDAP
  33.7. L'utilisation avec un annuaire LDAP
  33.8. JNDI et J2EE/Java EE

34. Le scripting
  L'utilisation d'outils de scripting avec Java a longtemps été possible au travers de produits open source. Depuis la version 6.0 de Java, une API standard est proposée.
  34.1. L'API Scripting

35. JMX (Java Management Extensions)
  ce chapitre détaille l'utilisation de JMX. C'est une spécification qui définit une architecture, une API et des services pour permettre de surveiller et de gérer des ressources en Java
  35.1. La présentation de JMX
  35.2. L'architecture de JMX
  35.3. Un premier exemple
  35.4. La couche instrumentation : les MBeans
  35.5. Les MBeans standard
  35.6. La couche agent
  35.7. Les services d'un agent JMX
  35.8. La couche services distribués
  35.9. Les notifications
  35.10. Les Dynamic MBeans
  35.11. Les Model MBeans
  35.12. Les Open MBeans
  35.13. Les MXBeans
  35.14. L'interface PersistentMBean
  35.15. Le monitoring d'une JVM
  35.16. Des recommandations pour l'utilisation de JMX
  35.17. Des ressources

Partie 4 : L'utilisation de documents XML et JSON
  

36. Java et XML
  présente XML qui est une technologie qui s'est imposée pour les échanges de données et explore les API Java pour utiliser XML
  36.1. La présentation de XML
  36.2. Les règles pour formater un document XML
  36.3. La DTD (Document Type Definition)
  36.4. Les parseurs
  36.5. La génération de données au format XML
  36.6. JAXP : Java API for XML Parsing
  36.7. Jaxen

37. SAX (Simple API for XML)
  présente l'utilisation de l'API SAX avec Java. Cette API utilise des événements pour traiter un document XML
  37.1. L'utilisation de SAX de type 1
  37.2. L'utilisation de SAX de type 2

38. DOM (Document Object Model)
  présente l'utilisation avec Java de cette spécification du W3C pour proposer une API qui permet de modéliser, de parcourir et de manipuler un document XML
  38.1. Les interfaces du DOM
  38.2. L'obtention d'un arbre DOM
  38.3. Le parcours d'un arbre DOM
  38.4. La modification d'un arbre DOM
  38.5. L'envoi d'un arbre DOM dans un flux

39. XSLT (Extensible Stylesheet Language Transformations)
  présente l'utilisation avec Java de cette recommandation du W3C pour transformer des documents XML
  39.1. XPath
  39.2. La syntaxe de XSLT
  39.3. Un exemple avec Internet Explorer
  39.4. Un exemple avec Xalan 2

40. Les modèles de documents
  présente quelques API open source spécifiques à Java pour traiter un document XML : JDom et Dom4J
  40.1. L'API JDOM
  40.2. dom4j

41. JAXB (Java Architecture for XML Binding)
  détaille l'utilisation de cette spécification qui permet de faire correspondre un document XML à un ensemble de classes et vice versa.
  41.1. JAXB 1.0
  41.2. JAXB 2.0

42. StAX (Streaming Api for XML)
  détaille l'utilisation de cette API qui permet de traiter un document XML de façon simple en consommant peu de mémoire tout en permettant de garder le contrôle sur les opérations d'analyse ou d'écriture
  42.1. La présentation de StAX
  42.2. Les deux API de StAX
  42.3. Les fabriques
  42.4. Le traitement d'un document XML avec l'API du type curseur
  42.5. Le traitement d'un document XML avec l'API du type itérateur
  42.6. La mise en oeuvre des filtres
  42.7. L'écriture un document XML avec l'API de type curseur
  42.8. L'écriture un document XML avec l'API de type itérateur
  42.9. La comparaison entre SAX, DOM et StAX

43. JSON
  présente le format JSON
  43.1. La syntaxe de JSON
  43.2. L'utilisation de JSON
  43.3. JSON ou XML

44. Gson
  Présente l'API Gson de Google la lecture et la génération de documents JSON
  44.1. La classe Gson
  44.2. La sérialisation
  44.3. La désérialisation
  44.4. La personnalisation de la sérialisation/désérialisation
  44.5. Les annotations de Gson
  44.6. L'API Streaming
  44.7. Mixer l'utilisation du model objets et de l'API Streaming
  44.8. Les concepts avancés

45. JSON-P (Java API for JSON Processing)
  détaille l'utilisation de l'API Json-P spécifiée dans la JSR 353
  45.1. La classe Json
  45.2. L'API Streaming
  45.3. L'API Object Model

Partie 5 : L'accès aux bases de données
  

46. La persistance des objets
  expose les difficultés liées à la persistance des objets vis à vis du modèle relationnel et présente rapidement des solutions architecturales et techniques (API standards et open source)
  46.1. La correspondance entre les modèles relationnel et objet
  46.2. L'évolution des solutions de persistance avec Java
  46.3. Le mapping O/R (objet/relationnel)
  46.4. L'architecture et la persistance de données
  46.5. Les différentes solutions
  46.6. Les API standards
  46.7. Les frameworks open source
  46.8. L'utilisation de procédures stockées

47. JDBC (Java DataBase Connectivity)
  indique comment utiliser cette API historique pour accéder aux bases de données
  47.1. Les outils nécessaires pour utiliser JDBC
  47.2. Les types de pilotes JDBC
  47.3. L'enregistrement d'une base de données dans ODBC sous Windows 9x ou XP
  47.4. La présentation des classes de l'API JDBC
  47.5. La connexion à une base de données
  47.6. L'accès à la base de données
  47.7. L'obtention d'informations sur la base de données
  47.8. L'utilisation d'un objet de type PreparedStatement
  47.9. L'utilisation des transactions
  47.10. Les procédures stockées
  47.11. Le traitement des erreurs JDBC
  47.12. JDBC 2.0
  47.13. JDBC 3.0
  47.14. MySQL et Java
  47.15. L'amélioration des performances avec JDBC
  47.16. Les ressources relatives à JDBC

48. JDO (Java Data Object)
  API qui standardise et automatise le mapping entre des objets Java et un système de gestion de données
  48.1. La présentation de JDO
  48.2. Un exemple avec Lido
  48.3. L'API JDO
  48.4. La mise en oeuvre
  48.5. Le parcours de toutes les occurrences
  48.6. La mise en oeuvre de requêtes

49. Hibernate
  présente Hibernate, un framework de mapping Objets/Relationnel open source
  49.1. La création d'une classe qui va encapsuler les données
  49.2. La création d'un fichier de correspondance
  49.3. Les propriétés de configuration
  49.4. L'utilisation d'Hibernate
  49.5. La persistance d'une nouvelle occurrence
  49.6. L'obtention d'une occurrence à partir de son identifiant
  49.7. L'obtention de données
  49.8. La mise à jour d'une occurrence
  49.9. La suppression d'une ou plusieurs occurrences
  49.10. Les relations
  49.11. Les caches d'Hibernate
  49.12. Les outils de génération de code

50. JPA (Java Persistence API)
  JPA est la spécification de l'API standard dans le domaine du mapping O/R utilisable avec Java EE mais aussi avec Java SE à partir de la version 5.
  50.1. L'installation de l'implémentation de référence
  50.2. Les entités
  50.3. Le fichier de configuration du mapping
  50.4. L'utilisation du bean entité
  50.5. Le fichier persistence.xml
  50.6. La gestion des transactions hors Java EE
  50.7. La gestion des relations entre tables dans le mapping
  50.8. Les callbacks d'événements

Partie 6 : La machine virtuelle Java (JVM)
  

51. La JVM (Java Virtual Machine)
  ce chapitre détaille les différents éléments et concepts qui sont mis en oeuvre dans la JVM.
  51.1. La mémoire de la JVM
  51.2. Le cycle de vie d'une classe dans la JVM
  51.3. Les ClassLoaders
  51.4. Le bytecode
  51.5. Le compilateur JIT
  51.6. Les paramètres de la JVM HotSpot
  51.7. Les interactions de la machine virtuelle avec des outils externes
  51.8. Service Provider Interface (SPI)
  51.9. Les JVM 32 et 64 bits

52. La gestion de la mémoire
  ce chapitre détaille la gestion de la mémoire dans la JVM et notamment les concepts et le paramétrage du ramasse-miettes.
  52.1. Le ramasse-miettes (Garbage Collector ou GC)
  52.2. Le fonctionnement du ramasse-miettes de la JVM Hotspot
  52.3. Le paramétrage du ramasse-miettes de la JVM HotSpot
  52.4. Le monitoring de l'activité du ramasse-miettes
  52.5. Les différents types de référence
  52.6. L'obtention d'informations sur la mémoire de la JVM
  52.7. Les fuites de mémoire (Memory leak)
  52.8. Les exceptions liées à un manque de mémoire

53. La décompilation et l'obfuscation
  ce chapitre présente la décompilation qui permet de transformer du bytecode en code source et l'obfuscation qui est l'opération permettant de limiter cette transformation.
  53.1. Décompiler du bytecode
  53.2. Obfusquer le bytecode

54. Programmation orientée aspects (AOP)
  ce chapitre présente le concept de l'AOP (Apsect Oriented Programming
  54.1. Le besoin d'un autre modèle de programmation
  54.2. Les concepts de l'AOP
  54.3. La mise en oeuvre de l'AOP
  54.4. Les avantages et les inconvénients
  54.5. Des exemples d'utilisation
  54.6. Des implémentations pour la plate-forme java

55. Terracotta
  Ce chapitre détaille les possibilités de l'outil open source Terracotta qui permet de mettre en cluster des JVM
  55.1. La présentation de Terrocatta
  55.2. Les concepts utilisés
  55.3. La mise en oeuvre des fonctionnalités
  55.4. Les cas d'utilisation
  55.5. Quelques exemples de mise en oeuvre
  55.6. La console développeur
  55.7. Le fichier de configuration
  55.8. La fiabilisation du cluster
  55.9. Quelques recommandations

Partie 7 : Le développement d'applications d'entreprises
  

56. J2EE / Java EE
  introduit la plate-forme Java 2 Entreprise Edition
  56.1. La présentation de J2EE
  56.2. Les API de J2EE
  56.3. L'environnement d'exécution des applications J2EE
  56.4. L'assemblage et le déploiement d'applications J2EE
  56.5. J2EE 1.4 SDK
  56.6. La présentation de Java EE 5.0
  56.7. La présentation de Java EE 6
  56.8. La présentation de Java EE 7

57. JavaMail
  traite de l'API qui permet l'envoi et la réception d'e-mails
  57.1. Le téléchargement et l'installation
  57.2. Les principaux protocoles
  57.3. Les principales classes et interfaces de l'API JavaMail
  57.4. L'envoi d'un e-mail par SMTP
  57.5. La récupération des messages d'un serveur POP3
  57.6. Les fichiers de configuration

58. JMS (Java Messaging Service)
  indique comment utiliser cette API qui permet l'utilisation de systèmes de messages pour l'échange de données entre applications
  58.1. La présentation de JMS
  58.2. Les services de messages
  58.3. Le package javax.jms
  58.4. L'utilisation du mode point à point (queue)
  58.5. L'utilisation du mode publication/abonnement (publish/subscribe)
  58.6. La gestion des erreurs
  58.7. JMS 1.1
  58.8. Les ressources relatives à JMS

59. Les EJB (Entreprise Java Bean)
  propose une présentation de l'API et les spécifications pour des objets chargés de contenir les règles métiers
  59.1. La présentation des EJB
  59.2. Les EJB session
  59.3. Les EJB entité
  59.4. Les outils pour développer et mettre en oeuvre des EJB
  59.5. Le déploiement des EJB
  59.6. L'appel d'un EJB par un client
  59.7. Les EJB orientés messages

60. Les EJB 3
  ce chapitre détaille la version 3 des EJB qui est une évolution majeure de cette technologie car elle met l'accent sur la facilité de développement sans sacrifier les fonctionnalités qui font la force des EJB.
  60.1. L'historique des EJB
  60.2. Les nouveaux concepts et fonctionnalités utilisés
  60.3. EJB 2.x vs EJB 3.0
  60.4. Les conventions de nommage
  60.5. Les EJB de type Session
  60.6. Les EJB de type Entity
  60.7. Un exemple simple complet
  60.8. L'utilisation des EJB par un client
  60.9. L'injection de dépendances
  60.10. Les intercepteurs
  60.11. Les EJB de type MessageDriven
  60.12. Le packaging des EJB
  60.13. Les transactions
  60.14. La mise en oeuvre de la sécurité

61. Les EJB 3.1
  ce chapitre détaille la version 3.1 des EJB utilisée par Java EE 6
  61.1. Les interfaces locales sont optionnelles
  61.2. Les EJB Singleton
  61.3. EJB Lite
  61.4. La simplification du packaging
  61.5. Les améliorations du service Timer
  61.6. La standardisation des noms JNDI
  61.7. L'invocation asynchrone des EJB session
  61.8. L'invocation d'un EJB hors du conteneur

62. Les services web de type Soap
  permettent l'appel de services distants en utilisant un protocole de communication et une structuration des données échangées avec XML de façon standardisée
  62.1. La présentation des services web
  62.2. Les standards
  62.3. Les différents formats de services web SOAP
  62.4. Des conseils pour la mise en oeuvre
  62.5. Les API Java pour les services web
  62.6. Les implémentations des services web
  62.7. Inclure des pièces jointes dans SOAP
  62.8. WS-I
  62.9. Les autres spécifications

63. Les WebSockets
  présente le procotole WebSocket
  63.1. Les limitations du protocole HTTP
  63.2. La spécification du protocole WebSocket
  63.3. La connexion à une WebSocket
  63.4. La mise en oeuvre des WebSockets

64. L'API WebSocket
  détaille l'utilisation de l'API Java API for WebSocket spécifiée par la JSR 356
  64.1. Les principales classes et interfaces
  64.2. Le développement d'un endpoint
  64.3. Les encodeurs et les décodeurs
  64.4. Le débogage des WebSockets
  64.5. Des exemples d'utilisation
  64.6. L'utilisation d'implémentations

Partie 8 : Le développement d'applications web
  

65. Les servlets
  plonge au coeur de l'API servlet qui est un des composants de base pour le développement d'applications Web
  65.1. La présentation des servlets
  65.2. L'API servlet
  65.3. Le protocole HTTP
  65.4. Les servlets http
  65.5. Les informations sur l'environnement d'exécution des servlets
  65.6. L'utilisation des cookies
  65.7. Le partage d'informations entre plusieurs échanges HTTP
  65.8. Packager une application web
  65.9. L'utilisation de Log4J dans une servlet

66. Les JSP (Java Server Pages)
  poursuit la discussion sur les servlets en explorant un mécanisme basé sur celles-ci pour réaliser facilement des pages web dynamiques
  66.1. La présentation des JSP
  66.2. Les outils nécessaires
  66.3. Le code HTML
  66.4. Les Tags JSP
  66.5. Un exemple très simple
  66.6. La gestion des erreurs
  66.7. Les bibliothèques de tags personnalisés (custom taglibs)

67. JSTL (Java server page Standard Tag Library)
  est un ensemble de bibliothèques de tags personnalisés communément utilisé dans les JSP
  67.1. Un exemple simple
  67.2. Le langage EL (Expression Language)
  67.3. La bibliothèque Core
  67.4. La bibliothèque XML
  67.5. La bibliothèque I18n
  67.6. La bibliothèque Database

68. Struts
  présente et détaille la mise en oeuvre du framework open source de développement d'applications web le plus populaire
  68.1. L'installation et la mise en oeuvre
  68.2. Le développement des vues
  68.3. La configuration de Struts
  68.4. Les bibliothèques de tags personnalisés
  68.5. La validation de données

69. JSF (Java Server Faces)
  détaille l'utilisation de la technologie Java Server Faces (JSF) dont le but est de proposer un framework qui facilite et standardise le développement d'applications web avec Java.
  69.1. La présentation de JSF
  69.2. Le cycle de vie d'une requête
  69.3. Les implémentations
  69.4. Le contenu d'une application
  69.5. La configuration de l'application
  69.6. Les beans
  69.7. Les composants pour les interfaces graphiques
  69.8. La bibliothèque de tags Core
  69.9. La bibliothèque de tags Html
  69.10. La gestion et le stockage des données
  69.11. La conversion des données
  69.12. La validation des données
  69.13. La sauvegarde et la restauration de l'état
  69.14. Le système de navigation
  69.15. La gestion des événements
  69.16. Le déploiement d'une application
  69.17. Un exemple d'application simple
  69.18. L'internationalisation
  69.19. Les points faibles de JSF

70. D'autres frameworks pour les applications web
  présente rapidement quelques frameworks open source pour le développement d'applications web
  70.1. Les frameworks pour les applications web
  70.2. Les moteurs de templates

Partie 9 : Le développement d'applications RIA / RDA
  

71. Les applications riches de type RIA et RDA
  présente les caractéristiques des applications riches et les principales solutions qui permettent de les développer.
  71.1. Les applications de type RIA
  71.2. Les applications de type RDA
  71.3. Les contraintes
  71.4. Les solutions RIA
  71.5. Les solutions RDA

72. Les applets
  plonge au coeur des premières applications qui ont rendu Java célèbre
  72.1. L'intégration d'applets dans une page HTML
  72.2. Les méthodes des applets
  72.3. Les interfaces utiles pour les applets
  72.4. La transmission de paramètres à une applet
  72.5. Les applets et le multimédia
  72.6. Une applet pouvant s'exécuter comme une application
  72.7. Les droits des applets

73. Java Web Start (JWS)
   est une technologie qui permet le déploiement d'applications clientes riches à travers le réseau via un navigateur
  73.1. La création du package de l'application
  73.2. La signature d'un fichier jar
  73.3. Le fichier JNLP
  73.4. La configuration du serveur web
  73.5. Le fichier HTML
  73.6. Le test de l'application
  73.7. L'utilisation du gestionnaire d'applications
  73.8. L'API de Java Web Start

74. AJAX
  présente ce concept qui permet de rendre les applications web plus conviviales et plus dynamiques. Le framework open source DWR est aussi détaillé.
  74.1. La présentation d'AJAX
  74.2. Le détail du mode de fonctionnement
  74.3. Un exemple simple
  74.4. Des frameworks pour mettre en oeuvre AJAX

75. GWT (Google Web Toolkit)
  GWT est un framework pour le développement d'applications de type RIA
  75.1. La présentation de GWT
  75.2. La création d'une application
  75.3. Les modes d'exécution
  75.4. Les éléments de GWT
  75.5. L'interface graphique des applications GWT
  75.6. La personnalisation de l'interface
  75.7. Les composants (widgets)
  75.8. Les panneaux (panels)
  75.9. La création d'éléments réutilisables
  75.10. Les événements
  75.11. JSNI
  75.12. La configuration et l'internationalisation
  75.13. L'appel de procédures distantes (Remote Procedure Call)
  75.14. La manipulation des documents XML
  75.15. La gestion de l'historique sur le navigateur
  75.16. Les tests unitaires
  75.17. Le déploiement d'une application
  75.18. Des composants tiers
  75.19. Les ressources relatives à GWT

Partie 10 : Le développement d'applications avec Spring
  

76. Spring
  ce chapitre est une présentation générale de Spring
  76.1. Le but et les fonctionnalités proposées par Spring
  76.2. L'historique de Spring
  76.3. Spring Framework
  76.4. Les projets du portfolio Spring
  76.5. Les avantages et les inconvénients de Spring
  76.6. Spring et Java EE

77. Spring Core
  ce chapitre détaille la configuration et la mise en oeuvre du conteneur Spring qui gère le cycle de vie des beans
  77.1. Les fondements de Spring
  77.2. Le conteneur Spring
  77.3. Le fichier de configuration
  77.4. L'injection de dépendances
  77.5. Spring Expression Langage (SpEL)
  77.6. La configuration en utilisant les annotations
  77.7. Le scheduling

78. La mise en oeuvre de l'AOP avec Spring
  présente la mise en oeuvre de l'AOP avec Spring
  78.1. Spring AOP
  78.2. AspectJ
  78.3. Spring AOP et AspectJ
  78.4. L'utilisation des namespaces

79. La gestion des transactions avec Spring
  ce chapitre présente les différentes possibilités de gestion des transactions dans une application Spring
  79.1. La gestion des transactions par Spring
  79.2. La propagation des transactions
  79.3. L'utilisation des transactions de manière déclarative
  79.4. La déclaration des transactions avec des annotations
  79.5. La gestion du rollback des transactions
  79.6. La mise en oeuvre d'aspects sur une méthode transactionnelle
  79.7. L'utilisation des transactions via l'API
  79.8. L'utilisation d'un gestionnaire de transactions reposant sur JTA

80. Spring et JMS
  ce chapitre couvre la mise en oeuvre de JMS dans Spring
  80.1. Les packages de Spring JMS
  80.2. La classe JmsTemplate : le template JMS de Spring
  80.3. La réception asynchrone de messages
  80.4. L'espace de nommage jms

81. Spring et JMX
  ce chapitre détaille la façon dont Spring facilite la mise en oeuvre de JMX
  81.1. L'enregistrement d'un bean en tant que MBean
  81.2. Le nommage des MBeans
  81.3. Les Assembler
  81.4. L'utilisation des annotations
  81.5. Le développement d'un client JMX
  81.6. Les notifications

Partie 11 : Les outils pour le développement
  

82. Les outils du J.D.K.
  indique comment utiliser les outils fournis avec le JDK
  82.1. Le compilateur javac
  82.2. L'interpréteur java/javaw
  82.3. L'outil jar
  82.4. L'outil appletviewer pour tester des applets
  82.5. L'outil javadoc pour générer la documentation technique
  82.6. L'outil Java Check Update pour mettre à jour Java
  82.7. La base de données Java DB
  82.8. L'outil JConsole
  82.9. VisualVM

83. JavaDoc
  explore l'outil de documentation fourni avec le JDK
  83.1. La mise en oeuvre
  83.2. Les tags définis par javadoc
  83.3. Un exemple
  83.4. Les fichiers pour enrichir la documentation des packages
  83.5. La documentation générée

84. Les outils libres et commerciaux
  tente une énumération non exhaustive des outils libres et commerciaux pour utiliser java
  84.1. Les environnements de développement intégrés (IDE)
  84.2. Les serveurs d'application
  84.3. Les conteneurs web
  84.4. Les conteneurs d'EJB
  84.5. Les outils divers
  84.6. Les MOM
  84.7. Les outils concernant les bases de données
  84.8. Les outils de modélisation UML

85. Ant
  propose une présentation et la mise en oeuvre de cet outil d'automatisation de la construction d'applications
  85.1. L'installation de l'outil Ant
  85.2. L'exécution de l'outil Ant
  85.3. Le fichier build.xml
  85.4. Les tâches (task)

86. Maven
  présente l'outil open source Maven qui facilite et automatise certaines tâches de la gestion d'un projet
  86.1. Les différentes versions de Maven
  86.2. Maven 1
  86.3. Maven 2

87. Tomcat
  Détaille la mise en oeuvre du conteneur web Tomcat
  87.1. L'historique des versions
  87.2. L'installation
  87.3. L'exécution de Tomcat
  87.4. L'architecture
  87.5. La configuration
  87.6. L'outil Tomcat Administration Tool
  87.7. Le déploiement des applications WEB
  87.8. Tomcat pour le développeur
  87.9. Le gestionnaire d'applications (Tomcat manager)
  87.10. L'outil Tomcat Client Deployer
  87.11. Les optimisations
  87.12. La sécurisation du serveur

88. Des outils open source pour faciliter le développement
  présentation de quelques outils de la communauté open source permettant de simplifier le travail des développeurs.
  88.1. CheckStyle
  88.2. Jalopy

Partie 12 : Concevoir et développer des applications
  

89. Java et UML
  propose une présentation de la notation UML ainsi que sa mise en oeuvre avec Java
  89.1. La présentation d'UML
  89.2. Les commentaires
  89.3. Les cas d'utilisations (uses cases)
  89.4. Le diagramme de séquence
  89.5. Le diagramme de collaboration
  89.6. Le diagramme d'états-transitions
  89.7. Le diagramme d'activités
  89.8. Le diagramme de classes
  89.9. Le diagramme d'objets
  89.10. Le diagramme de composants
  89.11. Le diagramme de déploiement

90. Les motifs de conception (design patterns)
  présente certains modèles de conception en programmation orientée objet et leur mise en oeuvre avec Java
  90.1. Les modèles de création
  90.2. Les modèles de structuration
  90.3. Les modèles de comportement

91. Des normes de développement
  propose de sensibiliser le lecteur à l'importance de la mise en place de normes de développement sur un projet et propose quelques règles pour définir de telles normes
  91.1. Les fichiers
  91.2. La documentation du code
  91.3. Les déclarations
  91.4. Les séparateurs
  91.5. Les traitements
  91.6. Les règles de programmation

92. Les techniques de développement spécifiques à Java
  couvre des techniques de développement spécifiques à Java
  92.1. L'écriture d'une classe dont les instances seront immuables
  92.2. La redéfinition des méthodes equals() et hashCode()

93. L'encodage des caractères
  ce chapitre fournit des informations sur l'encodage des caractères dans les applications Java.
  93.1. L'utilisation des caractères dans la JVM
  93.2. Les jeux d'encodages de caractères
  93.3. Unicode
  93.4. L'encodage de caractères
  93.5. L'encodage du code source
  93.6. L'encodage de caractères avec différentes technologies

94. Les frameworks
  présente les frameworks et propose quelques solutions open source dans divers domaines
  94.1. La présentation des concepts
  94.2. Les frameworks pour les applications web
  94.3. L'architecture pour les applications web
  94.4. Le modèle MVC type 1
  94.5. Le modèle MVC de type 2
  94.6. Les frameworks de mapping Objet/Relationel
  94.7. Les frameworks de logging

95. La génération de documents
  Ce chapitre présente plusieurs API open source permettant la génération de documents dans différents formats notamment PDF et Excel
  95.1. Apache POI
  95.2. iText

96. La validation des données
  La validation des données est une tâche commune, nécessaire et importante dans chaque application de gestion de données.
  96.1. Quelques recommandations sur la validation des données
  96.2. L'API Bean Validation (JSR 303)
  96.3. D'autres frameworks pour la validation des données

97. L'utilisation des dates
  ce chapitre détaille l'utilisation des dates en Java
  97.1. Les classes standards du JDK pour manipuler des dates
  97.2. Des exemples de manipulations de dates
  97.3. La classe SimpleDateFormat
  97.4. Joda Time
  97.5. La classe FastDateFormat du projet Apache commons.lang

98. Des bibliothèques open source
  présentation de quelques bibliothèques de la communauté open source particulièrement pratiques et utiles
  98.1. JFreeChart
  98.2. Beanshell
  98.3. Apache Commons
  98.4. Quartz
  98.5. JGoodies
  98.6. Apache Lucene

99. Apache Commons
  Ce chapitre décrit quelques fonctionnalités de la bibliothèque Apache Commons
  99.1. Apache Commons Configuration
  99.2. Apache Commons CLI

Partie 13 : Les tests automatisés
  

100. Les frameworks de tests
  propose une présentation de frameworks et d'outils pour faciliter les tests du code
  100.1. Les tests unitaires
  100.2. Les frameworks et outils de tests

101. JUnit
  présente en détail le framework de tests unitaires le plus utilisé
  101.1. Un exemple très simple
  101.2. L'écriture des cas de tests
  101.3. L'exécution des tests
  101.4. Les suites de tests
  101.5. L'automatisation des tests avec Ant
  101.6. JUnit 4

102. Les objets de type Mock
  ce chapitre détaille la mise en oeuvre des objets de type mocks et les doublures d'objets
  102.1. Les doublures d'objets et les objets de type mock
  102.2. L'utilité des objets de type mock
  102.3. Les tests unitaires et les dépendances
  102.4. L'obligation d'avoir une bonne organisation du code
  102.5. Les frameworks
  102.6. Les outils pour générer des objets mock
  102.7. Les inconvénients des objets de type mock

Partie 14 : Java et le monde informatique
  

103. La communauté Java
  ce chapitre présente quelques-unes des composantes de l'imposante communauté Java
  103.1. Le JCP
  103.2. Les ressources proposées par Oracle
  103.3. Oracle Technology Network
  103.4. La communauté Java.net
  103.5. Les JUG
  103.6. D'autres User Groups
  103.7. Les cast codeurs podcast
  103.8. Parleys.com
  103.9. Les conférences
  103.10. Webographie
  103.11. Les communautés open source

104. Les plate-formes Java et .Net
  ce chapitre présente rapidement les deux plate-formes
  104.1. La présentation des plate-formes Java et .Net
  104.2. La compilation
  104.3. Les environnements d'exécution
  104.4. Le déploiement des modules
  104.5. Les version des modules
  104.6. L'interopérabilité inter-language
  104.7. La décompilation
  104.8. Les API des deux plate-formes

105. Java et C#
  ce chapitre détaille les principales fonctionnalités des langages Java et C#
  105.1. La syntaxe
  105.2. La programmation orientée objet
  105.3. Les chaînes de caractères
  105.4. Les tableaux
  105.5. Les indexeurs
  105.6. Les exceptions
  105.7. Le multitâche
  105.8. L'appel de code natif
  105.9. Les pointeurs
  105.10. La documentation automatique du code
  105.11. L'introspection/reflection
  105.12. La sérialisation

Partie 15 : Développement d'applications mobiles
  

106. J2ME / Java ME
  présente la plate-forme Java pour le développement d'applications sur des appareils mobiles tels que des PDA ou des téléphones cellulaires
  106.1. L'historique de la plate-forme
  106.2. La présentation de J2ME / Java ME
  106.3. Les configurations
  106.4. Les profiles
  106.5. J2ME Wireless Toolkit 1.0.4
  106.6. J2ME wireless toolkit 2.1

107. CLDC
  présente les packages et les classes de la configuration CLDC
  107.1. Le package java.lang
  107.2. Le package java.io
  107.3. Le package java.util
  107.4. Le package javax.microedition.io

108. MIDP
  propose une présentation et une mise en oeuvre du profil MIDP pour le développement d'applications mobiles
  108.1. Les Midlets
  108.2. L'interface utilisateur
  108.3. La gestion des événements
  108.4. Le stockage et la gestion des données
  108.5. Les suites de midlets
  108.6. Packager une midlet
  108.7. MIDP for Palm O.S.

109. CDC
  présente les packages et les classes de la configuration CDC

110. Les profils du CDC
  propose une présentation et une mise en oeuvre des profils pouvant être utilisés avec la configuration CDC
  110.1. Foundation profile
  110.2. Le Personal Basis Profile (PBP)
  110.3. Le Personal Profile (PP)

111. Les autres technologies pour les applications mobiles
  propose une présentation des autres technologies basées sur Java pour développer des applications mobiles
  111.1. KJava
  111.2. PDAP (PDA Profile)
  111.3. PersonalJava
  111.4. Java Phone
  111.5. JavaCard
  111.6. Embedded Java
  111.7. Waba, Super Waba, Visual Waba

Partie 16 : Annexes
  
   Annexe A : GNU Free Documentation License
   Annexe B : Glossaire

  Imprimer Sommaire Consulter avec table des matières Développons en Java   v 2.00  
Copyright (C) 1999-2014 .