Je n’ai pas eu le temps de voir le contenu mais semble assez complet
AnonymeDéveloppement informatique Apprenez à concevoir avant de programmer
3 avis
Que faut-il maîtriser pour devenir un professionnel du développement informatique ? Avec ce livre, l'auteur répond aux futurs développeurs ou développeurs débutants, et leur donne les bases solides à acquérir pour leur permettre de travailler et surtout d'évoluer dans leur métier. Il détaille les différentes étapes d'une conception et d'un développement réussis en étudiant...
Consulter des extraits du livre en ligne
Aperçu de la version papier
- Niveau Initié à Confirmé
- Nombre de pages 904 pages
- Parution février 2018
- Niveau Initié à Confirmé
- Parution février 2018
Ainsi, divisé en trois parties, le livre commence par une présentation de l'algorithmique et du langage C. La deuxième partie se concentre sur la programmation en Java et étudie des technologies telles que la programmation graphique (AWT, SWING), le diagramme de séquence UML, l'écriture d'une application graphique suivant le modèle MVC, les bases de données relationnelles (JDBC), le mapping objet/relationnel ou encore la programmation réseau (multithread). Dans la dernière partie, l'auteur présente la programmation web avec JEE et les objets distants (EJB).
Pour illustrer toutes ces techniques, l'auteur s'appuie sur de nombreux exemples concrets (en C et en Java) ainsi que sur des travaux pratiques dont il propose les corrigés. Réaliser, voilà le maître-mot qui définit ce livre !
Le code source des exemples utilisés dans le livre est en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Partie 1 : Langage C - Algorithmique – Initiation – Les tableaux – Les pointeurs – Les chaînes de caractères – Les fonctions – Les structures de données : struct, typedef struct – Bibliothèques de fonctions – Les fichiers – Algorithmique – Présentation de la méthode – Algorithmique – Groupe alternatifs de données – Algorithmique – Données de phase, sauts de page – Algorithmique – Les tableaux – Algorithmique – Alternatives complexes
Partie 2 : Programmation objet - Java – Présentation – Éléments syntaxiques – Programmation objet, notions de base – Chaînes de caractères – Les tableaux – L'héritage – Les collections – Les exceptions – Les flux – Fenêtres – Évènements – Contrôles – Layout – Dessins – JTable – DAO – MVC – JDBC – Mapping Objet/Relationnel – Programmation réseau – Architecture 3-tiers – XML – Architecture 3-tiers
Partie 3 : Java EE – Présentation – Servlet – JSP – MVC – Servlet – JSP : compléments – Objets distants – RMI – EJB – Les EJB Session – Les EJB Entity
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-01239-6
- EAN : 9782409012396
- Ref. ENI : RIDEVINF
Caractéristiques
- HTML
- ISBN : 978-2-409-01258-7
- EAN : 9782409012587
- Ref. ENI : LNRIDEVINF
Téléchargements
Avant-propos
- Présentation
- Techniques informatiques
- 1. Méthodes, conception
- 2. Langages
- Environnements techniques
- Les fichiers de données
- Remerciements
Langage C - Algorithmique : initiation
- Objectifs du chapitre
- Premier programme
- 1. Programme complet
- 2. Explications détaillées du programme
- a. Les commentaires
- b. La directive de précompilation #include<stdio.h></stdio.h>
- c. La fonction int main()
- d. Les instructions du programme
- e. Remarques complémentaires
- 1. Types entiers
- 2. Types flottants
- 3. Taille des types de base
- 4. Utilisation du type char
- 1. Opérateurs arithmétiques
- 2. Opérateurs de comparaison
- 3. Opérateurs d’affectation
- 4. Opérateurs logiques
- 5. Opérateurs unaires
- 6. Opérateurs de conversion (cast)
- 1. La structure alternative
- a. Organigramme
- b. Exemple de if
- c. Conseil d’écriture du if
- d. if "imbriqués"
- e. switch
- a. Organigrammes
- b. Boucle while
- c. Boucle for
- d. Boucle do… while
- e. Boucle do…while et if
- f. Boucle while et if
- 1. Sujet
- 2. Structures logiques : proposition de correction
- a. Exercice 1
- b. Exercice 2
- c. Exercice 3
- d. Exercice 4
- e. Exercice 5
Les tableaux
- Objectifs du chapitre
- Présentation des tableaux
- Exemples d’utilisations de tableaux
- 1. Tableau à une dimension
- 2. Tableau à deux dimensions
- Adresse d’un tableau et de ses postes (opérateurs * et &)
- 1. Tableau à une dimension
- 2. Tableau à deux dimensions
- Travail pratique : tableaux
- 1. Sujet
- 2. Tableaux : proposition de correction
- a. Exercice 1
- b. Exercice 2
- c. Exercice 3
- 1. Sujet
- 2. Tri de tableaux : proposition de correction
- a. Tri par l’algorithme de sélection/échange
- b. Tri par l’algorithme du tri à bulles
- 1. Objectif
- 2. Sujet
- 3. Triangle de Pascal : proposition de correction
Les pointeurs
- Objectifs du chapitre
- Définition
- Exemples
- 1. Pointeur sur un entier
- 2. Pointeur sur un tableau
- Pointeurs : une erreur classique
- Allocation dynamique d’un tableau
- 1. Tableau à une dimension
- 2. Tableau à deux dimensions
- Travail pratique : triangle de Pascal
- 1. Objectif
- 2. Sujet
- 3. Triangle de Pascal : proposition de correction
Les chaînes de caractères
- Objectifs du chapitre
- Présentation
- 1. Définition
- 2. Affichage des lettres d’une chaîneet de leurs adresses
- Affichage d’une chaîne de caractères
- Stockage d’une chaîne de caractères
- 1. Tableau de caractères
- 2. Erreurs courantes
- a. Stockage dans une zone non réservée
- b. Tentative de modification d’une adresse constante
- 1. Liste des fonctions
- 2. Utilisation de quelques fonctions
- 1. Problème du scanf()
- 2. Saisies numériques correctes
- 1. Sujet
- 2. Chaînes de caractères : propositionde correction
- a. Exercice 1
- b. Exercice 2
- c. Exercice 3
- d. Exercice 4
- e. Exercice 5
Les fonctions
- Présentation
- Premières fonctions
- 1. Syntaxe
- 2. Calcul du carré et du cube d’un entier
- a. Déclarations (prototypes) des fonctions
- b. Définition (code) des fonctions
- c. Appels des fonctions
- d. Fonctionnement de l’application
- 1. Échange de deux valeurs entières(première version)
- a. Programme
- b. Fonctionnement de l’application
- a. Programme
- b. Fonctionnement de l’application
- 1. Sujet
- 2. Fonctions et fractions : proposition de correction
- 1. Objectif
- 2. Sujet
- 3. Fonctions et chaînes : proposition de correction
- a. Exercice 1
- b. Exercice 2
- c. Exercice 3
- d. Exercice 4
- e. Exercice 5
Les structures de données : struct, typedef struct
- Objectifs du chapitre
- Présentation
- Structure de données
- 1. Mot-clé struct
- 2. typedef struct
- Pointeurs sur des structures, opérateur ->
- Structures contenant des structures
- Travail pratique : structures de données
- 1. Objectif
- 2. Sujet
- 3. Structures de données : proposition de correction
Bibliothèques de fonctions
- Objectifs du chapitre
- Présentation
- Création d’une bibliothèque de fonctions
- 1. Découpage de l’application "Structurede données"
- 2. Création d’un nouveau projet
- 3. Programmes du projet biblFractions
- a. Fichier fractions.h
- b. Fichier main.c
- c. Fichier fractions.c
- d. La bibliothèque fractions
- 1. Création de dossiers pour la bibliothèque de gestion des fractions
- 2. Utilisation de la bibliothèque de gestiondes fractions
- a. Création d’un nouveau projet : biblFractionsReference
- b. Compilation du projet biblFractionsReference
- c. Édition de liens du projet biblFractionsReference
- 1. Objectif
- 2. Sujet
- 3. Bibliothèque de fonctions - chaînes: proposition de correction
- a. Projet biblchaines
- b. Fichier chaines.h
- c. Fichier chaines.c
- d. Fichier main.c
Les fichiers
- Objectifs du chapitre
- Les fichiers en C
- 1. Présentation
- 2. Lecture et écriture
- 3. Options d’ouverture d’un fichier
- 4. Opérations nécessaires pour utiliserun fichier
- Création d’un nouveau fichier binaire : écriture séquentielle
- 1. Structure des enregistrements
- 2. Programme de création du fichier
- Lecture séquentielle d’un fichier binaire et écriture dans un fichier texte
- 1. Structure des enregistrements
- 2. Programme de lecture du fichier
- Ajout d’un tableau d’enregistrements au fichier binaire
- Lecture directe et mise à jour d’un fichier binaire
- 1. Programme de modification du fichier
- 2. Anomalie de fonctionnement des fonctions de gestionde fichiers
- Différences de codage entre un fichier binaire et un fichier texte
- Travail pratique : fichier des employés
- 1. Sujet
- a. Exercice 1
- b. Exercice 2
- c. Exercice 3
- d. Annexe 1 : fonction chercheAgence(), fichieragences.h
- e. Annexe 2 : liste des agences
- 1. Sujet
- 2. Fichier des employés : proposition de correction
- a. Exercice 1 : création du fichierdes employés
- b. Exercice 2 : lecture du fichier des employés
- c. Exercice 3 : liste des employés,avec accès direct au fichier des agences
Algorithmique - Présentation de la méthode
- Objectifs du chapitre
- Présentation de la méthode
- 1. Pourquoi une méthode de programmation ?
- 2. Quelle méthode, pour quels types d’applications ?
- 3. La démarche hiérarchique
- Exemple : édition de factures
- 1. État de sortie à obtenir
- 2. Décomposition de l’étatde sortie
- 3. Le fichier des factures
- 4. Décomposition hiérarchique du fichierd’entrée
- 5. Ensemble de la démarche
- 6. Validation
- 7. Structure du programme
- a. La logique de traitement du fichier des factures
- 8. Le fichier des factures : organigramme
- 9. Les instructions
- 10. Le fichier des factures : instructions
- a. Lectures
- b. Branchements et préparation des branchements
- c. Calculs
- d. Écritures et préparation des écritures
- 11. Le fichier des factures : programme complet
- 1. Commentaire sur l’énoncé
- 2. Sujet
- a. But du programme
- b. Schéma du traitement
- c. État de sortie à obtenir
- d. Lignes d’impression
- e. Caractéristiques de l’état
- f. Description du fichier : versements
- a. Décomposition hiérarchique de l’étatde sortie
- b. Décomposition hiérarchique du fichierversements
- c. Organigramme
- d. Instructions
- e. Programme
Algorithmique - Groupes alternatifs de données
- Préambule
- Mise à jour du fichier "stock"
- 1. Sujet
- 2. Décompositions hiérarchiques
- 3. Validation
- 4. Organigramme
- 5. Instructions
- a. Lectures
- b. Branchements
- c. Calculs
- d. Écritures et préparation des écritures
- 6. Programme
- 7. Simplification des tests : l’astucede la valeur maximale
- a. Valeur maximale d’une variable
- b. Programme utilisant chaineMax()
Algorithmique - Données de phase, sauts de page
- Objectifs du chapitre
- État des chiffres d’affaires par client et secteur
- 1. Sujet
- a. État de sortie
- b. Fichier d’entrée : produitsCA
- c. Traitement
- d. Les sauts de page
- 1. Sujet
- 2. Décompositions
- 3. Organigramme
- 4. Instructions
- a. Lectures
- b. Branchements
- c. Calculs
- d. Écritures et préparations d’écriture
- 5. Programme sans saut de page
- 6. Sauts de page
- a. Créer un compteur de lignes
- b. Avant quelle ligne doit-on éventuellementfaire un saut de page ?
- c. Instructions de saut de page
- 7. Programme avec saut de page
- 1. Sujet
- a. But du programme
- b. Schéma du traitement
- c. Impression
- d. Lignes d’impression
- e. Caractéristiques de l’état
- f. Fichier client
- g. Description d’enregistrement des fichierscomm et commd
- h. Recherche de la date et du premier numérode facture
- i. Mise à jour du solde et du code situationdes clients (fichier client)
- a. Décomposition hiérarchique de l’étatde sortie
- b. Décomposition hiérarchique des fichierscomm et commd
- c. Validation
- d. Édition de factures : organigramme
- e. Instructions
- f. Sauts de page
- g. Saisie du premier numéro de facture
- h. Programme
Algorithmique - Les tableaux
- Préambule
- Statistiques RATP - RER Ligne A
- 1. Sujet
- a. État à obtenir
- b. Fichiers
- 1. Sujet
- 2. Décompositions
- 3. Validation
- 4. Organigramme (première version)
- 5. Instructions
- a. Lectures
- b. Branchements
- c. Boucles d’initialisation et d’affichage
- d. Organigramme complété
- e. Calculs
- f. Écritures et préparations d’écriture
- 6. Programme
- 1. Sujet
- a. Schéma du traitement
- b. Impression
- c. Lignes d’impression
- d. Caractéristiques de l’état
- e. Description du fichier vente
- f. Traitement à effectuer
- a. Décomposition hiérarchique de l’étatde sortie
- b. Décomposition hiérarchique du fichierd’entrée
- c. Validation
- d. Organigramme de traitement des ventes
- e. Instructions
- f. Programme
Algorithmique - Alternatives complexes
- Préambule
- Mise à jour du fichier "stock" avec incidents
- 1. Sujet
- 2. Décompositions hiérarchiques
- 3. Validation
- 4. Alternatives complexes et organigramme
- 5. Organigramme
- 6. Instructions
- a. Lectures
- b. Appareillage
- c. Branchements
- d. Calculs
- e. Écritures
- 7. Programme
- 1. Sujet
- 2. Décompositions hiérarchiques
- 3. Validation
- 4. Organigramme
- a. Appareillage
- b. Tests
- c. Traitements
- d. Lectures
- 1. Sujet
- a. Schéma du traitement
- b. Rappel : description d’enregistrement desfichiers comm et commd
- c. Rappel : description d’enregistrement dufichier vente
- d. Traitement
- a. Décompositions hiérarchiques
- b. Organigramme
- c. Programme
Programmation objet - Java : présentation
- Le langage Java
- 1. Historique
- 2. Les caractéristiques principales
- a. La portabilité
- b. Java est un langage orienté objet
- c. La syntaxe Java
- 3. Les outils
- a. Le JDK (Java Development Kit)
- b. Les éditions de Java
- c. La documentation de Java
- d. Les éditeurs de code Java
- 1. La programmation objet - Java
- a. Les bases de la programmation objet en Java
- b. La programmation graphique - MVC
- c. Les bases de données relationnelles - JDBC
- d. La programmation réseau - Architecture 3-tiers
- a. La programmation web
- b. Les EJB
- 1. 2-tiers client lourd
- 2. 3-tiers client lourd
- 3. 3-tiers client lourd (XML)
- 4. 3-tiers client lourd (objets distants)
- 5. 3-tiers client léger
- 6. 3-tiers client lourd
- 7. 4-tiers client léger
- 1. UtilitairesMG : liste des classes utilitaires
- 2. UtilitairesDivers : liste des classes utilitaires
Éléments syntaxiques
- Objectifs du chapitre
- Premier programme
- 1. Programme
- 2. La classe
- 3. La méthode main()
- 4. Affichage dans la console
- 5. Saisie clavier dans la console java : classe Clavier
- 6. Instructions import
- Les commentaires
- Les noms des identificateurs
- 1. Variables, propriétés, méthodes
- 2. Classes
- Les types de base
- 1. Entiers
- 2. Booléens
- 3. Flottants
- Quelques opérateurs
- 1. Opérateurs arithmétiques
- 2. Opérateurs de comparaison
- 3. Opérateurs d’affectation
- 4. Opérateurs logiques
- 5. Opérateurs ++ et --
- 6. Opérateurs de conversion (cast)
- Structures logiques du langage Java
Programmation objet, notions de base
- Objectifs du chapitre
- Classe, propriétés, référence, instanciation
- 1. Classe Point
- 2. Représentation UML de la classe Point
- 3. Utilisation de la classe Point
- a. Classe principale
- b. Fonctionnement de l’application
- 1. Le mot-clé private
- 2. Méthodes d’instance
- a. Classe principale
- b. Classe Point
- a. Classe Point
- b. Classe principale
- 1. Objectif
- 2. Sujet
- 3. Travail
- 4. Annexe : la classe String
- 5. Classe Employe : proposition de correction
- 1. Classe Point
- 2. Classe principale
- 1. Classe Point
- 2. Classe principale
- 1. L’héritage
- 2. La redéfinition
- 3. Mécanisme de l’héritage
- 1. Déclaration
- 2. Conception
- 1. Exemple : classe Point
- 2. Classe principale
- 1. Classe Lapin
- 2. Classe TestLapin
- 1. Objectif
- 2. Sujet
- 3. Travail
- 4. Classe Employe (deuxième version), propositionde correction
- 1. Objectif
- 2. Sujet
- 3. Travail
- 4. Voitures : proposition de correction
- a. Conception des classes à partir de la méthodemain
- b. Ensemble des classes
- c. Diagramme UML de l’ensemble des classes : associationsnavigables
- d. Diagramme UML de l’ensemble des classes : composition
Chaînes de caractères
- Objectifs du chapitre
- Classes de traitement des chaînes de caractères
- 1. String et StringBuffer
- 2. Programme de test
- 3. Les performances de String et StringBuffer
- Travail pratique : String et StringBuffer
- 1. Objectifs
- 2. Sujet
- 3. String et StringBuffer, proposition de correction
- a. Recherche de documentation dans la Javadoc
- b. Transformer les minuscules en majuscules et réciproquement
- c. Méthodes replace de la classe String
- d. Remplacer les espaces par des _ (underscore)
- e. Remplacer JAVA par C++ : replaceAll()
- f. Remplacer JAVA par C++ : replace()
- g. Écrire la chaîne en inversé (ex.ABC --> CBA)
- h. Compter combien de fois chaque lettre est utilisée
Java : les tableaux
- Objectifs du chapitre
- Définition
- Exemples d’utilisation de tableaux
- 1. Tableau de variables de type primitif (int, double,float...)
- 2. Tableau de références (String)
- 3. Tableau à deux dimensions
- 4. Tableau irrégulier
- Travail pratique : Voitures (avec tableaux)
- 1. Objectif
- 2. Sujet
- a. Écran de saisie
- b. Affichage des voitures
- 3. Travail
- 4. Voitures (avec tableaux) : proposition de correction
- a. Classe TestVoiture
- 5. Classe Vendeur
L'héritage
- Objectifs du chapitre
- Héritage, polymorphisme
- 1. Classe Cercle
- a. Propriétés et méthodesde la classe Cercle
- b. Programme de test
- 1. Classe Cercle
- 2. Classe CercleCouleur
- a. Propriétés et méthodesde la classe CercleCouleur
- b. Le mot-clé extends
- c. Héritage
- d. L’ÊTRE et l’AVOIR
- e. Méthode super(), constructeur
- f. La référence super
- g. Surcharge de la méthode affiche()
- h. Diagramme de classes
- 3. Programme de test
- a. Polymorphisme
- 4. Méthodes surchargeables dans un constructeur
- a. Des incidents potentiels
- b. Comment éviter les incidents ?
- 1. Objectif
- 2. Sujet
- 3. Animal : proposition de correction
- a. Conception
- b. Classe Animal
- c. Classe Vache
- 1. Définition
- 2. Exemple du TP Animal
- a. Suppression de la propriété ageMaximumde la classe Animal
- b. Méthodes abstraites
- c. Classe abstraite Animal
- 1. Présentation
- 2. Exemple d’interfaces
- 3. Implémentation d’interfaces
- 4. Exemple d’utilisation d’interface
- a. Tri d’un tableau
- b. Programme de tri
- 1. Objectif
- 2. Sujet
- 3. Surfaces comparables : proposition de correction
- a. Conception
- b. Programme
- 1. Visibilité des classes
- 2. Visibilité des membres
Les collections
- Objectifs du chapitre
- Introduction
- 1. Définition
- 2. Hiérarchie partielle des collections
- 3. Vector ou ArrayList ?
- Exemples d'utilisation de collections
- 1. ArrayList de String
- 2. Vector de String
- Travail pratique : Voitures (avec collections)
- 1. Objectif
- 2. Sujet
- 3. Voitures (avec collections de type ArrayList) : proposition decorrection
Les exceptions
- Objectifs du chapitre
- Mécanisme des exceptions
- 1. Compréhension des messages
- 2. Exceptions surveillées, exceptions non surveillées
- a. Exemple
- b. Hiérarchie des exceptions
- 3. Traitement des exceptions : try… catch...finally
- a. Syntaxe générale
- b. Fonctionnement
- c. Exemple
- 4. En résumé
- a. Exceptions surveillées, non surveillées
- b. finally
- 1. Classe Fraction
- 2. Saisie du numérateur et du dénominateurdans un bloc try
- 3. try… catch imbriqués
- 4. finally
- 1. Sujet
- 2. Saisies d’entiers : proposition de correction
- a. Classe BorneException
- b. Classe ClavierInt
- c. Test de ClavierInt
- d. Classe ControleInt
Les flux
- Objectifs du chapitre
- Définition
- Les flux de la classe System
- 1. System.out
- 2. System.err
- 3. System.in
- Codage et flux de texte
- 1. Utilisation de la méthode read() de la classeInputStream
- 2. Classes Reader, InputStreamReader
- a. Hiérarchie des flux d’entrée(extrait)
- b. Utilisation de la méthode read() de la classeInputStreamReader
- 3. Classe BufferedReader
- a. Hiérarchie des flux d’entrée(extrait)
- b. Utilisation de la méthode readLine() de laclasse BufferedReader
- c. Hiérarchie des flux de sortie (extrait)
- 1. Classe File
- 2. Classes FileInputStream, FileOutputStream
- a. Hiérarchie des flux d’entrée (extrait)
- b. Hiérarchie des flux de sortie (extrait)
- c. Recopie d’un fichier octet par octet
- d. Conception : ouverture et fermeture des flux
- 1. Recopie d’un fichier texte avec changement de codage
- a. Utilisation de InputStreamReader et OutputStreamWriter
- b. Utilisation de BufferedReader et PrintWriter
- 1. Objectif
- 2. Sujet
- 3. Ressource
- 4. Total des notes : proposition de correction
- a. Test de quelques méthodes de la classe StringTokenizer
- b. Programme TotalNotes
- 1. Objectif
- 2. Sujet
- 3. Exemple d’exécution
- 4. Fichier texte des contacts : propositionde correction
- a. Logique du programme
- b. Classe Contact
- c. Classe TriContactTexte
- 1. Classes DataInputStream, DataOutputStream
- a. Hiérarchie des flux d’entrée (extrait)
- b. Hiérarchie des flux de sortie (extrait)
- c. Création d’un fichier binaire d’entiers(int)
- d. Lecture d’un fichier binaire d’entiers
- a. Présentation
- b. Hiérarchie des flux (extrait)
- c. Lecture directe d’un fichier binaire
- 1. Objectif
- 2. Le fichier binaire contacts.dat
- 3. Données numériques en Cet en Java
- 4. La classe Fichier (package utilitairesMG.divers)
- a. Diagramme de classes
- a. Classe Contact
- b. Classe FichierContact
- c. Classe LectureContact
Fenêtres - Évènements
- Objectifs du chapitre
- AWT - SWING
- Définitions
- 1. Component
- 2. Container
- 3. JComponent
- Hiérarchie des composants (extrait)
- Fenêtre : création et affichage
- 1. Fonctionnement par défaut
- 2. Modification de quelques paramètres (position,dimensions, fermeture)
- Évènements
- 1. Introduction
- 2. Objets évènements
- a. EventObject, MouseEvent, KeyEvent
- b. Évènements adaptés auxcomposants
- 3. Écouteurs d’évènements
- 4. Étapes d’écriture d’uneapplication graphique avec écoute d’évènements
- 1. Fenêtre avec écoute des évènementsWindowEvent : WindowListener
- a. Présentation
- b. Classe principale
- c. Classe Fenetre
- d. Classe EcouteFenetre
- a. Présentation
- b. Classe principale
- c. Classe Fenetre
- d. Classe EcouteFenetre
- a. Présentation
- b. Classe Fenetre
- c. Conclusion
- 1. Thread
- 2. Event Dispatching Thread (EDT)
- a. Visualisation des threads de l’application
- b. Changement du thread d’exécution du constructeur
- c. Sécurisation de l’application graphique
- 1. Objectif
- 2. Sujet
- 3. Recherche de documentation
- 4. Conseils
- 5. Souris : proposition de correction
- a. Test des évènements MouseEvent
- b. Classe Fenetre complète
Contrôles - Layout
- Objectifs du chapitre
- Composants dans une fenêtre : JPanel, JButton
- 1. Fonctionnement général
- a. Fenêtre affichée
- b. Classe principale
- c. Classe Fenetre
- d. Méthode pack() - Tailles préférées
- 1. Fonctionnement général
- 2. Modification des tailles préféréesdes boutons
- a. Fenêtre affichée
- b. Classe Fenetre
- 1. Présentation
- 2. BorderLayout
- a. Classe Fenetre
- b. Remarque sur le comportement des zones du BorderLayout
- a. Organisation de la fenêtre
- b. Classe Fenetre
- 1. Objectif
- 2. Sujet
- 3. Renseignements utiles
- 4. Cases à cocher : proposition de correction (BorderLayout, FlowLayout)
- a. Organisation de la fenêtre
- b. Instructions de présentation
- c. Classe Fenetre
- a. Organisation de la fenêtre (GridLayout)
- b. Classe Fenetre (GridLayout)
- 1. JScrollPane
- a. Fenêtre affichée
- b. JScrollPane
- c. Classe Fenetre
- d. Fonctionnement
- 1. Définition
- 2. Ajout et suppression de boutons dans un panneau
- a. Fenêtre affichée
- b. Classe Fenetre
- a. Fenêtre affichée
- b. Classe Fenetre
- 1. Objectifs
- 2. Sujet
- 3. Dynamique des composants : proposition de correction
- a. Organisation de la fenêtre
- b. Recherche dans la documentation de Java
- c. Instructions
- d. Classe Fenetre
Dessins
- Objectifs du chapitre
- Fonctionnement général
- 1. La méthode paint(Graphics g)
- 2. Le contexte graphique
- 3. Dessin dans un JPanel
- 4. Premier dessin : un simple trait
- a. Fenêtre affichée
- b. Classe Panneau
- c. Classe Fenetre
- 5. Dessins dynamiques - Méthode repaint()
- a. Fenêtre affichée
- b. Classe Panneau
- c. Classe Fenetre : méthode actionPerformed()
- 6. Dessins dynamiques - Tracé de clics de souris- Version 1
- a. Fenêtre affichée
- b. Classe Panneau
- c. Classe Fenetre
- 7. Dessins dynamiques - Tracé de clics de souris- Version 2
- a. Fenêtre affichée
- b. Classe Panneau
- c. Classe Fenetre
- d. Conclusion
- 1. Objectifs
- 2. Sujet
- 3. Tracé de clics de souris permanents : propositionde correction
- a. Organisation de la fenêtre
- b. Classe Fenetre
- c. Classe Panneau
- 1. Objectif
- 2. Sujet
- a. Description du projet
- b. Fenêtres
- c. Classes de composants utiles
- a. Conception des classes
- b. Classe CarreCouleur
- c. Classe PanneauDessin
- d. Classe Fenetre
JTable - DAO - MVC
- Objectifs du chapitre
- Fonctionnement par défaut d'une JTable
- 1. Fenêtre affichée
- 2. Classe Fenetre : utilisation d’une JTable
- a. Classe Fenetre
- b. En résumé
- 3. Classe Controleur : classe principale de l’application
- a. Données à afficher
- b. Classe Controleur
- 4. Conception
- a. Diagramme de séquence
- b. Rôle de la fenêtre
- 1. Définition
- 2. Classes et interfaces pour créer un modèlede table
- 3. Modèle de table - Classe Colonne
- a. Fenêtre affichée
- b. Classe Colonne (package utilitairesMG.divers)
- c. Classe Controleur
- d. Classe ModeleTable
- e. Récapitulatif : diagramme de classes de ModeleTable
- f. Classe Fenetre
- a. Fenêtre affichée
- b. Classe Contact
- c. Classe Controleur
- d. Conception de la classe ModeleTableContact
- e. Classe ModeleTableContact
- f. Classe Fenetre
- 1. Définition
- 2. Classes et interfaces pour créer un modèlede colonnes
- 3. Modèle de table et modèle de colonnes
- a. Fenêtre affichée
- b. Classe ModeleColonneTable
- c. Classe Fenetre
- d. Récapitulatif
- 1. Fenêtre affichée
- 2. Conception des classes ModeleTable et ModeleTableContact
- a. Méthodes ajoutées dans la classeModeleTableContact
- b. Méthodes ajoutées ou modifiéesdans ModeleTable
- c. Diagramme de classes
- 1. ModeleTable
- 2. ModeleColonneTable
- 1. Application JTable éditable (paragraphe 5)
- 2. La couche d’accès aux données :la DAO
- 1. Définition
- 2. Application "JTable éditable", version finale
- a. L’application "JTable éditable" respectele MVC
- b. Arrêt de l’application
- 1. Objectif
- 2. Sujet
- a. Fonctionnement de l’application
- b. Conception
- c. Programmation
- d. Documentation
- a. Diagramme de séquence
- b. Classe Controleur
- c. Classe Fenetre
- d. Classe FenetreInterneContact
- e. Classe ModeleTableContact
JDBC - Mapping Objet/Relationnel
- Objectifs du chapitre
- Définition
- Communication Java - Base de données
- 1. Pilotes (drivers) JDBC
- 2. Schéma de communication
- Travailler avec JDBC
- 1. Exécution d’une requête SQL de typeSELECT
- 2. Structure générale du programme pour une requête SELECT
- 3. Exemple : base de données utilisée
- 4. Exécution d’un SELECT
- a. Charger le pilote de la base de données
- b. Établir une connexion à la base
- c. Créer un objet Statement
- d. Exécuter une requête SELECT
- e. Programme
- 5. Correspondance entre types SQL et Java
- 6. Exécution d’une requête SQL de typeUPDATE
- 1. JeuResultat
- a. Classe JeuResultat
- b. Exécution d’une requête SQL de typeSELECT avec JeuResultat
- a. Classe JeuResultatXML
- b. Exécution d’une requête SQL de typeSELECT avec JeuResultatXML
- 1. Objectif
- 2. Architecture du projet : 2 tiers
- 3. Sujet
- 4. Conception
- 5. Programmation
- 6. GestionContactJdbc - Version 1 : proposition de correction
- a. Diagramme de séquence
- b. Classe Controleur
- c. Classe ContactDAO
- 1. Table utilisée dans les exemples
- a. Script SQL de création de la table EMPLOYE
- b. Script SQL de remplissage de la table EMPLOYE
- 1. Exposé du problème à résoudre
- 2. Comment traduire l’association entre lesdeux objets ?
- 1. Objectif
- 2. Sujet
- 3. Documents joints
- a. Modèle Conceptuel de Données (MCD)du projet Mapping
- b. Diagramme de classes (UML) du projet Mapping
- c. Contrôleur de l’application de test
- a. Conception de la classe Contact
- b. Conception de la classe ContactDAO
- c. Classes Versement, VersementDAO
- d. Classes Secteur, SecteurDAO
- 1. Objectifs
- 2. Sujet
- 3. GestionContactJdbc : Proposition de correction
- a. Classe Controleur
- b. Classe Fenetre
- c. Classe FenetreInterneContact
Programmation réseau - Architecture 3-tiers
- Objectifs du chapitre
- Définitions
- 1. Serveur
- 2. Protocole
- Programmation des "sockets"
- 1. Présentation
- 2. Programme d’accès à un serveur web
- Implémentation de serveurs d'applications
- 1. Choix de dénomination des variables
- 2. ServerSocket
- 3. Un serveur simple et son client
- a. Le serveur
- b. Le client
- 4. Un serveur d’objets sérialisés etson client
- a. ObjectOutputStream et ObjectInputstream
- b. Le serveur
- c. Le client
- 5. Un serveur d’objets sérialisés capable de servir plusieurs clients
- a. Fonctionnement du serveur
- b. Classe Controleur
- c. Classe ServeurMulti
- d. Classe ThreadClient
- 1. Objectifs
- 2. Architecture du projet : 3-tiers
- 3. Sujet
- a. Fenêtre graphique du serveur
- b. Fonctionnement du serveur
- c. Protocole d’échange entre le client et leserveur
- d. Programme fourni
- e. Travail
- a. Diagramme de séquence
- b. Classe Controleur
- c. Classe Fenetre
- d. Classe ServeurObjets
- e. Classe ThreadClient
- 1. Objectif
- 2. Écrans du client et du serveur
- 3. Sujet
- a. Présentation
- b. Travail
- c. Diagramme de séquence
- a. Classe PriseServeur
- b. Classe AccesServeur
- c. Classe ContactDAO
- d. Classe Controleur
XML - Architecture 3-tiers
- Objectifs du chapitre
- XML : eXtensible Markup Language
- 1. Le langage XML
- 2. Document XML
- a. Exemple de document XML
- b. Corps du document XML
- c. XML est une structure arborescente
- d. Un document XML bien formé
- 1. Le DOM (Document Object Model)
- 2. La hiérarchie des interfaces Node (extrait)
- 1. Parseur DOM
- a. Programme
- b. Exemple d’exécution
- a. Definition
- b. DTD pour le fichier font.xml : fichiers DTD et XMLséparés
- c. DTD pour le fichier font.xml : DTD dans le fichierXML
- a. Classe TestDocumentDomDtd
- a. Présentation
- b. Classe principale de test
- c. Classe EcouteurSAX
- 1. Objectifs
- 2. Architecture du projet : 3-tiers
- 3. Sujet
- a. Fenêtre graphique du serveur
- b. Protolole d’échange entre client et serveur
- c. Classes utiles au développement
- d. Programme de test
- e. Travail
- f. Diagramme de séquence
- a. Classe ThreadClient
- 1. Objectif
- 2. Écrans du client et du serveur
- 3. Sujet
- a. Présentation
- b. Travail
- c. Diagramme de séquence
- a. Classe AccesServeur du package daoServeurXMLDom
- b. Classe ContactDAO, SecteurDAO du package daoServeurXML
- c. Classe Controleur de l’application GestionContactXML
Java EE : présentation
- Java EE (Java Entreprise Edition)
- 1. Les classes de Java EE
- 2. Le serveur Java EE
- Architectures réparties mises en œuvre dans la partie JEE
- 1. 3 tiers client léger
- 2. 3 tiers client lourd
- 3. 4 tiers client léger
Servlet
- Objectif des chapitres sur les Servlets et les JSP
- Servlets : généralités
- 1. Définition
- 2. Traitement d’une requête par une Servlet
- 3. Classes et interfaces pour l’utilisation d’une HttpServlet
- 4. Servlets et ServletContext
- 5. Cycle de vie d’une Servlet
- 6. Déploiement, fichier web.xml
- Première Servlet : projet Servlet1
- 1. Écrans du projet Servlet1
- 2. Enchaînement des programmes et des écransdu projet Servlet1
- 3. index.html
- 4. Classe ServletValidation
- a. Méthodes doGet(), doPost(), processRequest()
- b. Lecture des paramètres de la requêteHTTP
- c. Envoi de la réponse au client
- d. Déploiement, fichier web.xml
- 5. Classe Validation
- 6. Classe Utilisateur
- 7. Remarques de conception
JSP - MVC
- Présentation
- Première JSP : projet ServletJsp1
- 1. Projet ServletJsp1
- 2. Enchaînement des programmes et des écransdu projet Servlet1
- 3. La JSP resultat2.jsp
- a. Les tags des JSP
- b. resultat2.jsp
- c. Tag de directive
- d. Tag de scripting : scriptlet. Objet implicite’request’
- e. Tag d’expression
- 1. Servlet/JSP : comment les utiliser?
- 2. Servlet/JSP : un choix de conception
- 1. Rappel : architecture MVC pour une applicationclient lourd
- 2. Architecture MVC pour une application web
- 3. L’application ServletJsp1 respecte le modèleMVC
- a. Diagramme de séquence de l’application ServletJsp1
- b. Classe ServletValidation : ServletContext, forward()
Servlet - JSP : compléments
- Transmission de données entre Servlet et JSP : projet ServletJsp2
- 1. Écrans du projet ServletJsp2
- 2. Enchaînement des programmes et des écrans du projet ServletJsp2
- 3. Transmission de données entre Servlet etJSP par session
- a. Interface HttpSession
- b. Classe ServletValidation
- c. Classe ServletRecap
- d. recap.jsp
- e. Exécution de l’application par deux clientssimultanés
- 4. Transmission de données entre Servlet etJSP par l’objet ServletContext
- a. Classe ServletValidation
- b. recap.jsp
- c. Exécution de l’application par deux clientssimultanés : ERREUR?!
- d. ServletContext ou HttpSession??
- 5. Transmission de données entre Servlet etJSP par cookies
- a. Classe Cookie
- b. Classe ServletValidation
- c. recap.jsp
- d. Exécution de l’application par deux clientssimultanés
- 6. Transmission de données entre Servlet etJSP : en résumé
- 1. Projet ReEntrance
- a. web.xml
- b. Classe ServletValidation
- c. Exécution de l’application par deux clientssimultanés
- 1. Définition
- 2. Application au projet ServletJsp2 : projetServletJsp2MVC2
- a. Enchaînement des programmes et des écrans
- b. index.jsp
- c. Classe ServletControleur
- d. accueil.jsp
- e. resultat0.jsp
- f. resultat1.jsp
- g. informations.html
- h. recap.jsp
- 1. Objectifs
- 2. Sujet
- a. À réaliser
- b. Briques logicielles
- c. Documents fournis
- d. Écrans de l’application
- e. Élément de conception
- f. Enchaînement des programmes et des écrans
- g. Diagramme de séquence
- a. Numéros identifiants des JSP
- b. index.jsp
- c. web.xml
- d. Classe ServletControleur
- e. Classe TraitementAccueil
- f. Classe TraitementModif
- g. jspAccueil.jsp
- h. miseEnPage.css
- i. accueil.js
- j. jspListe.jsp
- k. jspModif.jsp
- l. jspRecap.jsp
Objets distants - RMI - EJB
- Objectifs
- Principe des objets distants
- 1. Schéma
- 2. Fonctionnement général
- a. Stub
- b. L’annuaire (serveur d’adressage)
- 1. RMI
- 2. Exemple : un objet distant de tri
- a. Programmation du serveur
- b. Programmation du client
- 1. Les différents types d’EJB
- 2. L’annuaire pour les EJB Session
- 3. Conteneur EJB - conteneur web
- 4. Différence JavaBeans/EJB
Les EJB Session
- Objectif des chapitres sur les EJB (Enterprise Java Beans)
- Types d’EJB Session
- 1. EJB Session avec état (stateful)
- 2. EJB Session sans état (stateless)
- 3. Utilisation Remote/Local
- Outils et conventions utilisés dans ce chapitre
- 1. Outils
- 2. Conventions de nommage utilisées
- Exemple : un objet distant de tri
- 1. Création de l’EJB Session
- a. L’interface TrieurRemote
- b. Classe de l’objet distant : Trieur
- 1. Création de l’EJB Session
- 2. Déploiement
- 3. Création d’un projet client
- 1. Objectifs
- 2. Sujet
- a. À réaliser
- b. Briques logicielles à utiliser sans modification
- c. Copie d’écran de l’application cliente
- d. Diagramme de séquence de l’application
- a. EJB Session ContactDistant
- b. Déploiement
- c. Projet client ClientContactDistant
- 1. Le problème des connexions à unserveur de base de données
- 2. Les pools de connexions
- a. Définition
- b. Création d’un pool de connexions
- c. Création de la ressource JNDI du pool deconnexions
- a. EJB Session ContactDistant
- b. Déploiement
- c. Projet client ClientContactDistant
- 1. Objectifs
- 2. Sujet
- a. À réaliser
- b. Briques logicielles à utiliser sans modification
- c. Documents fournis
- d. Interface MappingRemote
- e. Diagramme de séquence
- a. Objet distant : tiers d’accès à labase de données
- b. Application web : projet GestionContactEjb
Les EJB Entity
- Introduction
- 1. Définition
- 2. Framework de persistance
- 3. Contexte de persistance
- 4. Interface EntityManager
- 5. Unité de persistance
- a. Définition
- b. Principe très important
- 6. Transactions
- 1. Objectif
- 2. Généreration des classes EBJ Entity
- a. Classe Contact générée
- b. Requêtes prédéfinies -JPQL
- a. Interface MappingEntiteRemote
- b. Classe MappingEntite (EJB Session)
- c. Déploiement
- 1. Objectifs
- 2. Sujet
- a. À réaliser
- b. Diagramme de séquence
- a. ServletControleur
- b. Classe TraitementAccueil
- c. Classe TraitementModif
- d. jspListe.jsp
- e. jspModif.jsp
- f. jspRecap.jsp
Rien à redire !
AnonymeTrès bien
AnonymeMichel GINESTE
Ingénieur logiciel, Michel GINESTE a été chef de projet en société de services pendant plus de 10 ans, puis responsable du développement des logiciels d'Enseignement Assisté par Ordinateur du Crédit Agricole et des Caisses d'Epargne. Au cours de cette période, il a eu l'occasion de réaliser de nombreuses applications de gestion. Aujourd'hui formateur au sein de l'AFPA, il enseigne la conception et le développement d'applications informatiques. De l'ingénierie à l'animation de la formation, il transmet ainsi son métier à des centaines de techniciens et d'ingénieurs en informatique. Issue de ses nombreuses années d'expérience en développement informatique et en enseignement, l'écriture de ce livre est l'aboutissement naturel de son désir de partager ses connaissances.
En savoir plus