Imprimer Sommaire Consulter avec table des matières Développons en Java   v 1.60  
Copyright (C) 1999-2011 Jean-Michel DOUDOUX  


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é de Java pour 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 pour permettre leur exécution "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 / unboxing
  9.3. Les importations statiques
  9.4. Les annotations ou méta donné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éta donné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

Partie 2 : Développement des interfaces graphiques
  

11. 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
  11.1. Les opérations sur le contexte graphique

12. Les éléments d'interfaces graphiques de l'AWT
  recense les différents composants qui sont fournis dans la bibliothèque AWT
  12.1. Les composants graphiques
  12.2. La classe Component
  12.3. Les conteneurs
  12.4. Les menus
  12.5. La classe java.awt.Desktop

13. La création d'interfaces graphiques avec AWT
  indique comment réaliser des interfaces graphiques avec l'AWT
  13.1. Le dimensionnement des composants
  13.2. Le positionnement des composants
  13.3. La création de nouveaux composants à partir de Panel
  13.4. L'activation ou la désactivation des composants

14. 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
  14.1. L'interception des actions de l'utilisateur avec Java version 1.0
  14.2. L'interception des actions de l'utilisateur avec Java version 1.1

15. Le développement d'interfaces graphiques avec SWING
  indique comment réaliser des interfaces graphiques avec Swing
  15.1. La présentation de Swing
  15.2. Les packages Swing
  15.3. Un exemple de fenêtre autonome
  15.4. Les composants Swing
  15.5. Les boutons
  15.6. Les composants de saisie de texte
  15.7. Les onglets
  15.8. Le composant JTree
  15.9. Les menus
  15.10. L'affichage d'une image dans une application.

16. Le développement d'interfaces graphiques avec SWT
  indique comment réaliser des interfaces graphiques avec SWT
  16.1. La présentation de SWT
  16.2. Un exemple très simple
  16.3. La classe SWT
  16.4. L'objet Display
  16.5. L'objet Shell
  16.6. Les composants
  16.7. Les conteneurs
  16.8. La gestion des erreurs
  16.9. Le positionnement des contrôles
  16.10. La gestion des événements
  16.11. Les boîtes de dialogue

17. JFace
  présente l'utilisation de ce framework facilitant le développement d'applications utilisant SWT
  17.1. La présentation de JFace
  17.2. La structure générale d'une application
  17.3. Les boites de dialogues

Partie 3 : Les API avancées
  

18. Les collections
  propose une revue des classes fournies par le JDK pour gérer des ensembles d'objets
  18.1. Présentation du framework collection
  18.2. Les interfaces des collections
  18.3. Les listes
  18.4. Les ensembles
  18.5. Les collections gérées sous la forme clé/valeur
  18.6. Le tri des collections
  18.7. Les algorithmes
  18.8. Les exceptions du framework

19. Les flux
  explore les classes utiles à la mise en oeuvre d'un des mécanismes de base pour échanger des données
  19.1. La présentation des flux
  19.2. Les classes de gestion des flux
  19.3. Les flux de caractères
  19.4. Les flux d'octets
  19.5. La classe File
  19.6. Les fichiers à accès direct
  19.7. La classe java.io.Console

20. La sérialisation
  ce procédé permet de rendre un objet persistant
  20.1. Les classes et les interfaces de la sérialisation
  20.2. Le mot clé transient
  20.3. La sérialisation personnalisée

21. 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
  21.1. L'introduction aux concepts liés au réseau
  21.2. Les adresses internet
  21.3. L'accès aux ressources avec une URL
  21.4. L'utilisation du protocole TCP
  21.5. L'utilisation du protocole UDP
  21.6. Les exceptions liées au réseau
  21.7. Les interfaces de connexions au réseau

22. 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
  22.1. La classe Class
  22.2. La recherche des informations sur une classe
  22.3. La définition dynamique d'objets

23. L'appel de méthodes distantes : RMI
  étudie la mise en oeuvre de la technologie RMI pour permettre l'appel de méthodes distantes
  23.1. La présentation et l'architecture de RMI
  23.2. Les différentes étapes pour créer un objet distant et l'appeler avec RMI
  23.3. Le développement coté serveur
  23.4. Le développement coté client
  23.5. La génération des classes stub et skeleton
  23.6. La mise en oeuvre des objets RMI

24. L'internationalisation
  traite d'une façon pratique de la possibilité d'internationaliser une application
  24.1. Les objets de type Locale
  24.2. La classe ResourceBundle
  24.3. Des chemins guidés pour réaliser la localisation

25. Les composants Java beans
  examine comment développer et utiliser des composants réutilisables
  25.1. La présentation des Java beans
  25.2. Les propriétés.
  25.3. Les méthodes
  25.4. Les événements
  25.5. L'introspection
  25.6. Paramétrage du bean ( Customization )
  25.7. La persistance
  25.8. La diffusion sous forme de jar

26. 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
  26.1. La présentation du logging
  26.2. Log4j
  26.3. L'API logging
  26.4. Jakarta Commons Logging (JCL)
  26.5. D'autres API de logging

27. 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
  27.1. La sécurité dans les spécifications du langage
  27.2. Le contrôle des droits d'une application
  27.3. JCE (Java Cryptography Extension)
  27.4. JSSE (Java Secure Sockets Extension)
  27.5. JAAS (Java Authentication and Authorization Service)

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

29. JNDI (Java Naming and Directory Interface)
  introduit l'API qui permet d'accéder aux services de nommage et d'annuaires
  29.1. La présentation de JNDI
  29.2. La mise en oeuvre de l'API JNDI
  29.3. L'utilisation d'un service de nommage
  29.4. L'utilisation avec un DNS
  29.5. L'utilisation du File System Context Provider de Sun
  29.6. LDAP
  29.7. L'utilisation avec un annuaire LDAP
  29.8. JNDI et J2EE/Java EE

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

31. JMX (Java Management Extensions)
  ce chapitre détaille l'utilisation 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
  31.1. La présentation de JMX
  31.2. L'architecture de JMX
  31.3. Un premier exemple
  31.4. La couche instrumentation : les MBeans
  31.5. Les MBeans standards
  31.6. La couche agent
  31.7. Les services d'un agent JMX
  31.8. La couche services distribués
  31.9. Les notifications
  31.10. Les Dynamic MBeans
  31.11. Les Model MBeans
  31.12. Les Open MBeans
  31.13. Les MXBeans
  31.14. L'interface PersistentMBean
  31.15. Le monitoring d'une JVM
  31.16. Des recommandations pour l'utilisation de JMX
  31.17. Des ressources

Partie 4 : L'utilisation de documents XML
  

32. 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
  32.1. La présentation de XML
  32.2. Les règles pour formater un document XML
  32.3. La DTD (Document Type Definition)
  32.4. Les parseurs
  32.5. La génération de données au format XML
  32.6. JAXP : Java API for XML Parsing
  32.7. Jaxen

33. 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
  33.1. L'utilisation de SAX

34. 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
  34.1. Les interfaces du DOM
  34.2. L'obtention d'un arbre DOM
  34.3. Le parcours d'un arbre DOM
  34.4. La modification d'un arbre DOM
  34.5. L'envoie d'un arbre DOM dans un flux

35. XSLT (Extensible Stylesheet Language Transformations)
  présente l'utilisation avec Java de cette recommandation du W3C pour transformer des documents XML
  35.1. XPath
  35.2. La syntaxe de XSLT
  35.3. Un exemple avec Internet Explorer
  35.4. Un exemple avec Xalan 2

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

37. 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 et versa.
  37.1. JAXB 1.0
  37.2. JAXB 2.0

38. 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 peut de mémoire tout en permettant de garder le contrôle sur les opérations d'analyse ou d'écriture
  38.1. La présentation de StAX
  38.2. Les deux API de StAX
  38.3. Les fabriques
  38.4. Le traitement d'un document XML avec l'API du type curseur
  38.5. Le traitement d'un document XML avec l'API du type itérateur
  38.6. La mise en oeuvre des filtres
  38.7. L'écriture un document XML avec l'API de type curseur
  38.8. L'écriture un document XML avec l'API de type itérateur
  38.9. La comparaison entre SAX, DOM et StAX

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

39. 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)
  39.1. La correspondance entre le modèle relationnel et objet
  39.2. L'évolution des solutions de persistance avec Java
  39.3. Le mapping O/R (objet/relationnel)
  39.4. L'architecture et la persistance de données
  39.5. Les différentes solutions
  39.6. Les API standards
  39.7. Les frameworks open source
  39.8. L'utilisation de procédures stockées

40. JDBC (Java DataBase Connectivity)
  indique comment utiliser cette API historique pour accéder aux bases de données
  40.1. Les outils nécessaires pour utiliser JDBC
  40.2. Les types de pilotes JDBC
  40.3. L'enregistrement d'une base de données dans ODBC sous Windows 9x ou XP
  40.4. La présentation des classes de l'API JDBC
  40.5. La connexion à une base de données
  40.6. L'accès à la base de données
  40.7. L'obtention d'informations sur la base de données
  40.8. L'utilisation d'un objet PreparedStatement
  40.9. L'utilisation des transactions
  40.10. Les procédures stockées
  40.11. Le traitement des erreurs JDBC
  40.12. JDBC 2.0
  40.13. JDBC 3.0
  40.14. MySQL et Java
  40.15. L'amélioration des performances avec JDBC
  40.16. Les ressources relatives à JDBC

41. JDO (Java Data Object)
  API qui standardise et automatise le mapping en des objets Java et un système de gestion de données
  41.1. La présentation de JDO
  41.2. Un exemple avec Lido
  41.3. L'API JDO
  41.4. La mise en oeuvre
  41.5. Le parcours de toutes les occurrences
  41.6. La mise en oeuvre de requêtes

42. Hibernate
  présente Hibernate, un framework de mapping Objets/Relationnel open source
  42.1. La création d'une classe qui va encapsuler les données
  42.2. La création d'un fichier de correspondance
  42.3. Les propriétés de configuration
  42.4. L'utilisation d'Hibernate
  42.5. La persistance d'une nouvelle occurrence
  42.6. L'obtention d'une occurrence à partir de son identifiant
  42.7. L'obtention de données
  42.8. La mise à jour d'une occurrence
  42.9. La suppression d'une ou plusieurs occurrences
  42.10. Les relations
  42.11. Les outils de génération de code

43. 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.
  43.1. L'installation de l'implémentation de référence
  43.2. Les entités
  43.3. Le fichier de configuration du mapping
  43.4. L'utilisation du bean entité
  43.5. Le fichier persistence.xml
  43.6. La gestion des transactions hors Java EE
  43.7. La gestion des relations entre tables dans le mapping
  43.8. Les callbacks d'événements

Partie 6 : La machine virtuelle Java (JVM)
  

44. La JVM (Java Virtual Machine)
  ce chapitre détaille les différents éléments et concepts qui sont mis en oeuvre dans la JVM.
  44.1. La mémoire de la JVM
  44.2. Le cycle de vie d'une classe dans la JVM
  44.3. Les ClassLoaders
  44.4. Le bytecode
  44.5. Le compilateur JIT
  44.6. Les paramètres de la JVM HotSpot
  44.7. Les interactions de la machine virtuelle avec des outils externes
  44.8. Service Provider Interface (SPI)

45. 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.
  45.1. Le ramasse miettes (Garbage Collector ou GC)
  45.2. Le fonctionnement du ramasse miettes de la JVM Hotspot
  45.3. Le paramétrage du ramasse miettes de la JVM HotSpot
  45.4. Le monitoring de l'activité du ramasse miettes
  45.5. Les différents types de référence
  45.6. L'obtention d'informations sur la mémoire de la JVM
  45.7. Les fuites de mémoire (Memory leak)
  45.8. Les exceptions liées à un manque de mémoire

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

47. Terracotta
  Ce chapitre détaille les possibilités de l'outil open source Terracotta qui permet de mettre en cluster des JVM
  47.1. La présentation de Terrocatta
  47.2. Les concepts utilisés
  47.3. La mise en oeuvre des fonctionnalités
  47.4. Les cas d'utilisation
  47.5. Quelques exemples de mise en oeuvre
  47.6. La console développeur
  47.7. Le fichier de configuration
  47.8. La fiabilisation du cluster
  47.9. Quelques recommandations

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

48. J2EE / Java EE
  introduit la plate-forme Java 2 Entreprise Edition
  48.1. La présentation de J2EE
  48.2. Les API de J2EE
  48.3. L'environnement d'exécution des applications J2EE
  48.4. L'assemblage et le déploiement d'applications J2EE
  48.5. J2EE 1.4 SDK
  48.6. La présentation de Java EE 5.0
  48.7. La présentation de Java EE 6

49. JavaMail
  traite de l'API qui permet l'envoi et la réception d'e-mails
  49.1. Le téléchargement et l'installation
  49.2. Les principaux protocoles
  49.3. Les principales classes et interfaces de l'API JavaMail
  49.4. L'envoi d'un e-mail par SMTP
  49.5. La récupération des messages d'un serveur POP3
  49.6. Les fichiers de configuration

50. JMS (Java Messaging Service)
  indique comment utiliser cette API qui permet l'utilisation de système de messages pour l'échange de données entre applications
  50.1. La présentation de JMS
  50.2. Les services de messages
  50.3. Le package javax.jms
  50.4. L'utilisation du mode point à point (queue)
  50.5. L'utilisation du mode publication/abonnement (publish/subscribe)
  50.6. La gestion des erreurs
  50.7. JMS 1.1
  50.8. Les ressources relatives à JMS

51. 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
  51.1. La présentation des EJB
  51.2. Les EJB session
  51.3. Les EJB entité
  51.4. Les outils pour développer et mettre en oeuvre des EJB
  51.5. Le déploiement des EJB
  51.6. L'appel d'un EJB par un client
  51.7. Les EJB orientés messages

52. 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.
  52.1. L'historique des EJB
  52.2. Les nouveaux concepts et fonctionnalités utilisés
  52.3. EJB 2.x vs EJB 3.0
  52.4. Les conventions de nommage
  52.5. Les EJB de type Session
  52.6. Les EJB de type Entity
  52.7. Un exemple simple complet
  52.8. L'utilisation des EJB par un client
  52.9. L'injection de dépendances
  52.10. Les intercepteurs
  52.11. Les EJB de type MessageDriven
  52.12. Le packaging des EJB
  52.13. Les tests des EJB
  52.14. Les transactions
  52.15. La mise en oeuvre de la sécurité

53. Les EJB 3.1
  ce chapitre détaille la version 3.1 des EJB utilisée par Java EE 6
  53.1. Les interfaces locales sont optionnelles
  53.2. Les EJB Singleton
  53.3. EJB Lite
  53.4. La simplification du packaging
  53.5. Les améliorations du service Timer
  53.6. La standardisation des noms JNDI
  53.7. L'invocation asynchrone des EJB session
  53.8. L'invocation d'un EJB hors du conteneur

54. 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
  54.1. La présentation des services web
  54.2. Les standards
  54.3. Les différents formats de services web SOAP
  54.4. Des conseils pour la mise en oeuvre
  54.5. Les API Java pour les services web
  54.6. Les implémentations des services web
  54.7. Inclure des pièces jointes dans SOAP
  54.8. WS-I
  54.9. Les autres spécifications

Partie 8 : Le développement d'applications web
  

55. Les servlets
  plonge au coeur de l'API servlet qui est un des composants de base pour le développement d'applications Web
  55.1. La présentation des servlets
  55.2. L'API servlet
  55.3. Le protocole HTTP
  55.4. Les servlets http
  55.5. Les informations sur l'environnement d'exécution des servlets
  55.6. L'utilisation des cookies
  55.7. Le partage d'informations entre plusieurs échanges HTTP
  55.8. Packager une application web
  55.9. L'utilisation Log4J dans une servlet

56. Les JSP (Java Server Pages)
  poursuit la discussion avec les servlets en explorant un mécanisme basé sur celles-ci pour réaliser facilement des pages web dynamiques
  56.1. La présentation des JSP
  56.2. Les outils nécessaires
  56.3. Le code HTML
  56.4. Les Tags JSP
  56.5. Un Exemple très simple
  56.6. La gestion des erreurs
  56.7. Les bibliothèques de tags personnalisés (custom taglibs)

57. JSTL (Java server page Standard Tag Library)
  est un ensemble de bibliothèques de tags personnalisés communément utilisé dans les JSP
  57.1. Un exemple simple
  57.2. Le langage EL (Expression Langage)
  57.3. La bibliothèque Core
  57.4. La bibliothèque XML
  57.5. La bibliothèque I18n
  57.6. La bibliothèque Database

58. Struts
  présente et détaille la mise en oeuvre de ce framework open source de développement d'applications web le plus populaire
  58.1. L'installation et la mise en oeuvre
  58.2. Le développement des vues
  58.3. La configuration de Struts
  58.4. Les bibliothèques de tags personnalisés
  58.5. La validation de données

59. 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.
  59.1. La présentation de JSF
  59.2. Le cycle de vie d'une requête
  59.3. Les implémentations
  59.4. Le contenu d'une application
  59.5. La configuration de l'application
  59.6. Les beans
  59.7. Les composants pour les interfaces graphiques
  59.8. La bibliothèque de tags Core
  59.9. La bibliothèque de tags Html
  59.10. La gestion et le stockage des données
  59.11. La conversion des données
  59.12. La validation des données
  59.13. La sauvegarde et la restauration de l'état
  59.14. Le système de navigation
  59.15. La gestion des événements
  59.16. Le déploiement d'une application
  59.17. Un exemple d'application simple
  59.18. L'internationalisation
  59.19. Les points faibles de JSF

60. D'autres frameworks pour les applications web
  présente rapidement quelques frameworks open source pour le développement d'applications web
  60.1. stxx
  60.2. WebMacro
  60.3. FreeMarker
  60.4. Velocity

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

61. Les applications riches : RIA et RDA
  présente les caractéristiques des applications riches et les principales solutions qui permettent de les développer.
  61.1. Les applications de type RIA
  61.2. Les applications de type RDA
  61.3. Les contraintes
  61.4. Les solutions RIA
  61.5. Les solutions RDA

62. Les applets
  plonge au coeur des premières applications qui ont rendu Java célèbre
  62.1. L'intégration d'applets dans une page HTML
  62.2. Les méthodes des applets
  62.3. Les interfaces utiles pour les applets
  62.4. La transmission de paramètres à une applet
  62.5. Les applets et le multimédia
  62.6. Un applet pouvant s'exécuter comme une application
  62.7. Les droits des applets

63. Java Web Start (JWS)
   est une technologie qui permet le déploiement d'applications clientes riches à travers le réseau via un navigateur
  63.1. La création du package de l'application
  63.2. La signature d'un fichier jar
  63.3. Le fichier JNPL
  63.4. La configuration du serveur web
  63.5. Le fichier HTML
  63.6. Le test de l'application
  63.7. L'utilisation du gestionnaire d'applications
  63.8. L'API de Java Web Start

64. Ajax
  présente ce concept qui permet de rendre les applications web plus conviviale et plus dynamique. Le framework open source DWR est aussi détaillé.
  64.1. La présentation d'Ajax
  64.2. Le détail du mode de fonctionnement
  64.3. Un exemple simple
  64.4. Des frameworks pour mettre en oeuvre Ajax

65. GWT (Google Web Toolkit)
  GWT est un framework pour le développement d'applications de type RIA
  65.1. La présentation de GWT
  65.2. La création d'une application
  65.3. Les modes d'exécution
  65.4. Les éléments de GWT
  65.5. L'interface graphique des applications GWT
  65.6. La personnalisation de l'interface
  65.7. Les composants (widgets)
  65.8. Les panneaux (panels)
  65.9. La création d'éléments réutilisables
  65.10. Les événements
  65.11. JSNI
  65.12. La configuration et l'internationalisation
  65.13. L'appel de procédures distantes (Remote Procedure Call)
  65.14. La manipulation des documents XML
  65.15. La gestion de l'historique sur le navigateur
  65.16. Les tests unitaires
  65.17. Le déploiement d'une application
  65.18. Des composants tiers
  65.19. Les ressources relatives à GWT

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

66. Spring
  ce chapitre est une présentation générale de Spring
  66.1. Le but et les fonctionnalités proposées par Spring
  66.2. L'historique de Spring
  66.3. Spring Framework
  66.4. Les projets du portfolio Spring
  66.5. Les avantages et les inconvénients de Spring
  66.6. Spring et Java EE

67. 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
  67.1. Les fondements de Spring
  67.2. Le conteneur Spring
  67.3. Le fichier de configuration
  67.4. L'injection de dépendances
  67.5. Spring Expression Langage (SpEL)
  67.6. La configuration en utilisant les annotations
  67.7. Le scheduling

68. La gestion des transactions avec Spring
  ce chapitre présente les différentes possibilités de gestion des transactions dans une application Spring
  68.1. La gestion des transactions par Spring
  68.2. La propagation des transactions
  68.3. L'utilisation des transactions de manière déclarative
  68.4. La déclaration des transactions avec des annotations
  68.5. La gestion du rollback des transactions
  68.6. La mise en oeuvre d'aspects sur une méthode transactionnelle
  68.7. L'utilisation des transactions via l'API
  68.8. L'utilisation d'un gestionnaire de transactions reposant sur JTA

69. Spring et JMS
  ce chapitre couvre la mise en oeuvre de JMS dans Spring
  69.1. Les packages de Spring JMS
  69.2. La classe JmsTemplate : le template JMS de Spring
  69.3. La réception asynchrone de messages
  69.4. L'espace de nommage jms

Partie 11 : Les outils pour le développement
  

70. Les outils du J.D.K.
  indique comment utiliser les outils fournis avec le JDK
  70.1. Le compilateur javac
  70.2. L'interpréteur java/javaw
  70.3. L'outil jar
  70.4. L'outil appletviewer pour tester des applets
  70.5. L'outil javadoc pour générer la documentation technique
  70.6. L'outil Java Check Update pour mettre à jour Java
  70.7. La base de données Java DB
  70.8. L'outil JConsole

71. JavaDoc
  explore l'outil de documentation fourni avec le JDK
  71.1. La mise en oeuvre
  71.2. Les tags définis par javadoc
  71.3. Un exemple
  71.4. Les fichiers pour enrichir la documentation des packages
  71.5. La documentation générée

72. Les outils libres et commerciaux
  tente une énumération non exhaustive des outils libres et commerciaux pour utiliser java
  72.1. Les environnements de développement intégrés (IDE)
  72.2. Les serveurs d'application
  72.3. Les conteneurs web
  72.4. Les conteneurs d'EJB
  72.5. Les outils divers
  72.6. Les MOM
  72.7. Les outils concernant les bases de données
  72.8. Les outils de modélisation UML

73. Ant
  propose une présentation et la mise en oeuvre de cet outil d'automatisation de la construction d'applications
  73.1. L'installation de l'outil Ant
  73.2. Exécuter ant
  73.3. Le fichier build.xml
  73.4. Les tâches (task)

74. Maven
  présente l'outil open source Maven qui facilite et automatise certaines taches de la gestion d'un projet
  74.1. L'installation
  74.2. Les plug-ins
  74.3. Le fichier project.xml
  74.4. L'exécution de Maven
  74.5. La génération du site du projet
  74.6. La compilation du projet

75. Tomcat
  Détaille la mise en oeuvre du conteneur web Tomcat
  75.1. La présentation de Tomcat
  75.2. L'installation
  75.3. L'exécution de Tomcat
  75.4. L'architecture
  75.5. La configuration
  75.6. L'outil Tomcat Administration Tool
  75.7. Le déploiement des applications WEB
  75.8. Tomcat pour le développeur
  75.9. Le gestionnaire d'applications (Tomcat manager)
  75.10. L'outil Tomcat Client Deployer
  75.11. Les optimisations
  75.12. La sécurisation du serveur

76. 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.
  76.1. CheckStyle
  76.2. Jalopy
  76.3. XDoclet
  76.4. Middlegen

Partie 12 : Concevoir et développer des applications
  

77. Java et UML
  propose une présentation de la notation UML ainsi que sa mise en oeuvre avec Java
  77.1. La présentation d'UML
  77.2. Les commentaires
  77.3. Les cas d'utilisation (uses cases)
  77.4. Le diagramme de séquence
  77.5. Le diagramme de collaboration
  77.6. Le diagramme d'états-transitions
  77.7. Le diagramme d'activités
  77.8. Le diagramme de classes
  77.9. Le diagramme d'objets
  77.10. Le diagramme de composants
  77.11. Le diagramme de déploiement

78. Les motifs de conception (design patterns)
  présente certains modèles de conception en programmation orienté objet et leur mise en oeuvre avec Java
  78.1. Les modèles de création
  78.2. Les modèles de structuration
  78.3. Les modèles de comportement

79. 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 une telle norme
  79.1. Les fichiers
  79.2. La documentation du code
  79.3. Les déclarations
  79.4. Les séparateurs
  79.5. Les traitements
  79.6. Les règles de programmation

80. L'encodage des caractères
  ce chapitre fournit des informations sur l'encodage des caractères dans les applications Java.
  80.1. L'utilisation des caractères dans la JVM
  80.2. Les jeux d'encodage de caractères
  80.3. Unicode
  80.4. L'encodage de caractères
  80.5. L'encodage du code source
  80.6. L'encodage de caractères avec différentes technologies

81. Les frameworks
  présente les frameworks et propose quelques solutions open source pour quelques unes de leur famille
  81.1. La présentation des concepts
  81.2. Les frameworks pour les applications web
  81.3. L'architecture pour les applications web
  81.4. Le modèle MVC type 1
  81.5. Le modèle MVC de type 2
  81.6. Les frameworks de mapping Objet/Relationel
  81.7. Les frameworks de logging

82. 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
  82.1. Apache POI
  82.2. iText

83. 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.
  83.1. Quelques recommandations sur la validation des données
  83.2. L'API Bean Validation (JSR 303)
  83.3. D'autres frameworks pour la validation des données

84. L'utilisation des dates
  ce chapitre détaille l'utilisation des dates en Java
  84.1. Les classes standards du JDK pour manipuler des dates
  84.2. Des exemples de manipulations de dates
  84.3. La classe SimpleDateFormat
  84.4. Joda Time
  84.5. La classe FastDateFormat du projet Apache commons.lang

85. Des bibliothèques open source
  présentation de quelques bibliothèques de la communauté open source particulièrement pratiques et utiles
  85.1. JFreeChart
  85.2. Beanshell
  85.3. Jakarta Commons
  85.4. Jakarta ORO
  85.5. Quartz
  85.6. JGoodies
  85.7. Apache Lucene

Partie 13 : Les tests automatisés
  

86. Les frameworks de tests
  propose une présentation de frameworks et outils pour faciliter les tests du code
  86.1. Les tests unitaires
  86.2. Les frameworks et outils de tests

87. JUnit
  présente en détail le framework de tests unitaires le plus utilisé
  87.1. Un exemple très simple
  87.2. L'écriture des cas de tests
  87.3. L'exécution des tests
  87.4. Les suites de tests
  87.5. L'automatisation des tests avec Ant
  87.6. JUnit 4

88. Les objets de type Mock
  ce chapitre détaille la mise en oeuvre des objets de type mocks et les doublures d'objets
  88.1. Les doublures d'objets et les objets de type mock
  88.2. L'utilité des objets de type mock
  88.3. Les tests unitaires et les dépendances
  88.4. L'obligation d'avoir une bonne organisation du code
  88.5. Les frameworks
  88.6. Les outils pour générer des objets mock
  88.7. Les inconvénients des objets de type mock

Partie 14 : Java et le monde informatique
  

89. La communauté Java
  ce chapitre présente quelques unes des composantes de l'imposante communauté Java
  89.1. Le JCP
  89.2. Les ressources proposées par Sun
  89.3. Le programme Sun Developer Network
  89.4. La communauté Java.net
  89.5. Les JUG
  89.6. D'autres User Groups
  89.7. Les cast codeurs podcast
  89.8. Java BlackBelt
  89.9. Les conférences
  89.10. Webographie
  89.11. Les communautés open source

90. Les plateformes Java et .Net
  ce chapitre présente rapidement les deux plate-formes
  90.1. La présentation des plate-formes Java et .Net
  90.2. La compilation
  90.3. Les environnements d'exécution
  90.4. Le déploiement des modules
  90.5. Les version des modules
  90.6. L'interopérabilité inter-language
  90.7. La décompilation
  90.8. Les API des deux plate-formes

91. Java et C#
  ce chapitre détaille les principales fonctionnalités des langages Java et C#
  91.1. La syntaxe
  91.2. La programmation orientée objet
  91.3. Les chaînes de caractères
  91.4. Les tableaux
  91.5. Les indexeurs
  91.6. Les exceptions
  91.7. Le multitâche
  91.8. Appel de code natif
  91.9. Les pointeurs
  91.10. La documentation automatique du code
  91.11. L'introspection/reflection
  91.12. La sérialisation

Partie 15 : Développement d'applications mobiles
  

92. 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
  92.1. L'historique de la plate-forme
  92.2. La présentation de J2ME / Java ME
  92.3. Les configurations
  92.4. Les profiles
  92.5. J2ME Wireless Toolkit 1.0.4
  92.6. J2ME wireless toolkit 2.1

93. CLDC
  présente les packages et les classes de la configuration CLDC
  93.1. Le package java.lang
  93.2. Le package java.io
  93.3. Le package java.util
  93.4. Le package javax.microedition.io

94. MIDP
  propose une présentation et une mise en oeuvre du profil MIDP pour le développement d'applications mobiles
  94.1. Les Midlets
  94.2. L'interface utilisateur
  94.3. La gestion des événements
  94.4. Le stockage et la gestion des données
  94.5. Les suites de midlets
  94.6. Packager une midlet
  94.7. MIDP for Palm O.S.

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

96. Les profils du CDC
  propose une présentation et une mise en oeuvre des profils pouvant être mis en oeuvre avec la CDC
  96.1. Foundation profile
  96.2. Le Personal Basis Profile (PBP)
  96.3. Le Personal Profile (PP)

97. Les autres technologies pour les applications mobiles
  propose une présentation des autres technologies basées sur Java pour développer des applications mobiles
  97.1. KJava
  97.2. PDAP (PDA Profile)
  97.3. PersonalJava
  97.4. Java Phone
  97.5. JavaCard
  97.6. Embedded Java
  97.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 1.60  
Copyright (C) 1999-2011 Jean-Michel DOUDOUX