1. Livres et vidéos
  2. Développement informatique - Apprenez à concevoir avant de programmer

Développement informatique Apprenez à concevoir avant de programmer

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

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 différentes techniques et en proposant pour chacune d'elles des clés de compréhension adaptées aux cas étudiés.

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

Table des matières

  • Avant-propos
    • 1. Présentation
    • 2. Techniques informatiques
      • 2.1 Méthodes, conception
      • 2.2 Langages
    • 3. Environnements techniques
    • 4. Les fichiers de données
    • 5. Remerciements
  • Initiation
    • 1. Objectifs du chapitre
    • 2. Premier programme
      • 2.1 Programme complet
      • 2.2 Explications détaillées du programme
    • 3. Les types de base
      • 3.1 Types entiers
      • 3.2 Types flottants
      • 3.3 Taille des types de base
      • 3.4 Utilisation du type char
    • 4. Exemples de formats numériques pour la fonction printf()
    • 5. Principaux codes de format de la fonction scanf()
    • 6. Quelques opérateurs
      • 6.1 Opérateurs arithmétiques
      • 6.2 Opérateurs de comparaison
      • 6.3 Opérateurs d’affectation
      • 6.4 Opérateurs logiques
      • 6.5 Opérateurs unaires
      • 6.6 Opérateurs de conversion (cast)
    • 7. Structures logiques
      • 7.1 La structure alternative
      • 7.2 Les structures répétitives
    • 8. Travail pratique : structures logiques
      • 8.1 Sujet
      • 8.2 Structures logiques : proposition de correction
  • Les tableaux
    • 1. Objectifs du chapitre
    • 2. Présentation des tableaux
    • 3. Exemples d’utilisations de tableaux
      • 3.1 Tableau à une dimension
      • 3.2 Tableau à deux dimensions
    • 4. Adresse d’un tableau et de ses postes (opérateurs * et &)
      • 4.1 Tableau à une dimension
      • 4.2 Tableau à deux dimensions
    • 5. Travail pratique : tableaux
      • 5.1 Sujet
      • 5.2 Tableaux : proposition de correction
    • 6. Travail pratique : tri de tableaux
      • 6.1 Sujet
      • 6.2 Tri de tableaux : proposition de correction
    • 7. Travail pratique : triangle de Pascal
      • 7.1 Objectif
      • 7.2 Sujet
      • 7.3 Triangle de Pascal : proposition de correction
  • Les pointeurs
    • 1. Objectifs du chapitre
    • 2. Définition
    • 3. Exemples
      • 3.1 Pointeur sur un entier
      • 3.2 Pointeur sur un tableau
    • 4. Pointeurs : une erreur classique
    • 5. Allocation dynamique d’un tableau
      • 5.1 Tableau à une dimension
      • 5.2 Tableau à deux dimensions
    • 6. Travail pratique : triangle de Pascal
      • 6.1 Objectif
      • 6.2 Sujet
      • 6.3 Triangle de Pascal : proposition de correction
  • Les chaînes de caractères
    • 1. Objectifs du chapitre
    • 2. Présentation
      • 2.1 Définition
      • 2.2 Affichage des lettres d’une chaîne et de leurs adresses
    • 3. Affichage d’une chaîne de caractères
    • 4. Stockage d’une chaîne de caractères
      • 4.1 Tableau de caractères
      • 4.2 Erreurs courantes
    • 5. Bibliothèque standard de manipulation des chaînes : string.h
      • 5.1 Liste des fonctions
      • 5.2 Utilisation de quelques fonctions
    • 6. Utilisation des chaînes pour les saisies numériques
      • 6.1 Problème du scanf()
      • 6.2 Saisies numériques correctes
    • 7. Travail pratique : chaînes de caractères
      • 7.1 Sujet
      • 7.2 Chaînes de caractères : proposition de correction
  • Les fonctions
    • 1. Présentation
    • 2. Premières fonctions
      • 2.1 Syntaxe
      • 2.2 Calcul du carré et du cube d'un entier
    • 3. Le passage de paramètres à une fonction
      • 3.1 Échange de deux valeurs entières (première version)
      • 3.2 Échange de deux valeurs entières (deuxième version)
    • 4. Tableaux et fonctions : moyenne des valeurs d’un tableau
    • 5. Tableaux et chaînes : codes ASCII des caractères d’une chaîne
    • 6. Paramètres facultatifs de la fonction main : utilisation de argc, argv
    • 7. Travail pratique : fonctions et fractions
      • 7.1 Sujet
      • 7.2 Fonctions et fractions : proposition de correction
    • 8. Travail pratique : fonctions et chaînes
      • 8.1 Objectif
      • 8.2 Sujet
      • 8.3 Fonctions et chaînes : proposition de correction
  • Les structures de données : struct, typedef struct
    • 1. Objectifs du chapitre
    • 2. Présentation
    • 3. Structure de données
      • 3.1 Mot-clé struct
      • 3.2 typedef struct
    • 4. Pointeurs sur des structures, opérateur ->
    • 5. Structures contenant des structures
    • 6. Travail pratique : structures de données
      • 6.1 Objectif
      • 6.2 Sujet
      • 6.3 Structures de données : proposition de correction
  • Bibliothèques de fonctions
    • 1. Objectifs du chapitre
    • 2. Présentation
    • 3. Création d’une bibliothèque de fonctions
      • 3.1 Découpage de l’application "Structure de données"
      • 3.2 Création d’un nouveau projet
      • 3.3 Programmes du projet biblFractions
    • 4. Utilisation d’une bibliothèque de fonctions
      • 4.1 Création de dossiers pour la bibliothèque de gestion des fractions
      • 4.2 Utilisation de la bibliothèque de gestion des fractions
    • 5. Travail pratique : bibliothèque de fonctions - chaînes
      • 5.1 Objectif
      • 5.2 Sujet
      • 5.3 Bibliothèque de fonctions - chaînes : proposition de correction
      • 5.4 Programmes utilitaires : la bibliothèque chaines.h
  • Les fichiers
    • 1. Objectifs du chapitre
    • 2. Les fichiers en C
      • 2.1 Présentation
      • 2.2 Lecture et écriture
      • 2.3 Options d’ouverture d’un fichier
      • 2.4 Opérations nécessaires pour utiliser un fichier
    • 3. Création d’un nouveau fichier binaire : écriture séquentielle
      • 3.1 Structure des enregistrements
      • 3.2 Programme de création du fichier
    • 4. Lecture séquentielle d’un fichier binaire et écriture dans un fichier texte
      • 4.1 Structure des enregistrements
      • 4.2 Programme de lecture du fichier
    • 5. Ajout d’un tableau d’enregistrements au fichier binaire
    • 6. Lecture directe et mise à jour d’un fichier binaire
      • 6.1 Programme de modification du fichier
      • 6.2 Anomalie de fonctionnement des fonctions de gestion de fichiers
    • 7. Différences de codage entre un fichier binaire et un fichier texte
    • 8. Travail pratique : fichier des employés
      • 8.1 Sujet
      • 8.2 Fichier des employés : proposition de correction
  • Algorithmique - Présentation de la méthode
    • 1. Objectifs du chapitre
    • 2. Présentation de la méthode
      • 2.1 Pourquoi une méthode de programmation ?
      • 2.2 Quelle méthode, pour quels types d’applications ?
      • 2.3 La démarche hiérarchique
    • 3. Exemple : édition de factures
      • 3.1 État de sortie à obtenir
      • 3.2 Décomposition de l’état de sortie
      • 3.3 Le fichier des factures
      • 3.4 Décomposition hiérarchique du fichier d’entrée
      • 3.5 Ensemble de la démarche
      • 3.6 Validation
      • 3.7 Structure du programme
      • 3.8 Le fichier des factures : organigramme
      • 3.9 Les instructions
      • 3.10 Le fichier des factures : instructions
      • 3.11 Le fichier des factures : programme complet
    • 4. Travail pratique : statistique des ventes
      • 4.1 Commentaire sur l'énoncé
      • 4.2 Sujet
      • 4.3 Proposition de correction
  • Algorithmique - Groupes alternatifs de données
    • 1. Préambule
    • 2. Mise à jour du fichier "stock"
      • 2.1 Sujet
      • 2.2 Décompositions hiérarchiques
      • 2.3 Validation
      • 2.4 Organigramme
      • 2.5 Instructions
      • 2.6 Programme
      • 2.7 Simplification des tests : l’astuce de la valeur maximale
  • Algorithmique - Données de phase, sauts de page
    • 1. Objectifs du chapitre
    • 2. État des chiffres d’affaires par client et secteur
      • 2.1 Sujet
      • 2.2 Décompositions
      • 2.3 Organigramme
      • 2.4 Instructions
      • 2.5 Programme sans saut de page
      • 2.6 Sauts de page
      • 2.7 Programme avec saut de page
    • 3. Travail pratique : édition de factures
      • 3.1 Sujet
      • 3.2 Édition de factures : proposition de correction
  • Algorithmique - Les tableaux
    • 1. Préambule
    • 2. Statistiques RATP - RER Ligne A
      • 2.1 Sujet
      • 2.2 Décompositions
      • 2.3 Validation
      • 2.4 Organigramme (première version)
      • 2.5 Instructions
      • 2.6 Programme
    • 3. Travail pratique : statistiques sur les chiffres d’affaires
      • 3.1 Sujet
      • 3.2 Statistiques sur les chiffres d’affaires : proposition de correction
  • Algorithmique - Alternatives complexes
    • 1. Préambule
    • 2. Mise à jour du fichier "stock" avec incidents
      • 2.1 Sujet
      • 2.2 Décompositions hiérarchiques
      • 2.3 Validation
      • 2.4 Alternatives complexes et organigramme
      • 2.5 Organigramme
      • 2.6 Instructions
      • 2.7 Programme
    • 3. Mise à jour du fichier des employés
      • 3.1 Sujet
      • 3.2 Décompositions hiérarchiques
      • 3.3 Validation
      • 3.4 Organigramme
      • 3.5 Programme
    • 4. Travail pratique : mise à jour de l’historique des ventes
      • 4.1 Sujet
      • 4.2 Mise à jour de l’historique des ventes : proposition de correction
  • Présentation
    • 1. Le langage Java
      • 1.1 Historique
      • 1.2 Les caractéristiques principales
      • 1.3 Les outils
    • 2. Les objectifs du cours Java - Java EE
      • 2.1 La programmation objet - Java
      • 2.2 Java EE
    • 3. Les architectures développées
      • 3.1 2-tiers client lourd
      • 3.2 3-tiers client lourd
      • 3.3 3-tiers client lourd (XML)
      • 3.4 3-tiers client lourd (objets distants)
      • 3.5 3-tiers client léger
      • 3.6 3-tiers client lourd
      • 3.7 4-tiers client léger
    • 4. Organisation des dossiers, pour les applications Java et Java EE
    • 5. Les programmes utilitaires : packages UtilitairesMG et UtilitairesDivers
      • 5.1 UtilitairesMG : liste des classes utilitaires
      • 5.2 UtilitairesDivers : liste des classes utilitaires
  • Éléments syntaxiques
    • 1. Objectifs du chapitre
    • 2. Premier programme
      • 2.1 Programme
      • 2.2 La classe
      • 2.3 La méthode main()
      • 2.4 Affichage dans la console
      • 2.5 Saisie clavier dans la console java : classe Clavier
      • 2.6 Instructions import
    • 3. Les commentaires
    • 4. Les noms des identificateurs
      • 4.1 Variables, propriétés, méthodes
      • 4.2 Classes
    • 5. Les types de base
      • 5.1 Entiers
      • 5.2 Booléens
      • 5.3 Flottants
    • 6. Quelques opérateurs
      • 6.1 Opérateurs arithmétiques
      • 6.2 Opérateurs de comparaison
      • 6.3 Opérateurs d’affectation
      • 6.4 Opérateurs logiques
      • 6.5 Opérateurs ++ et --
      • 6.6 Opérateurs de conversion (cast)
    • 7. Structures logiques du langage Java
  • Programmation objet, notions de base
    • 1. Objectifs du chapitre
    • 2. Classe, propriétés, référence, instanciation
      • 2.1 Classe Point
      • 2.2 Représentation UML de la classe Point
      • 2.3 Utilisation de la classe Point
    • 3. Encapsulation
      • 3.1 Le mot-clé private
      • 3.2 Méthodes d'instance
      • 3.3 Conception : Getters, Setters
    • 4. Travail pratique : classe Employe
      • 4.1 Objectif
      • 4.2 Sujet
      • 4.3 Travail
      • 4.4 Annexe : la classe String
      • 4.5 Classe Employe : proposition de correction
    • 5. Constructeur
      • 5.1 Classe Point
      • 5.2 Classe principale
    • 6. Surcharge de méthodes - Surdéfinition
      • 6.1 Classe Point
      • 6.2 Classe principale
    • 7. Première approche de l'héritage - Surcharge - Redéfinition
      • 7.1 L’héritage
      • 7.2 La redéfinition
      • 7.3 Mécanisme de l’héritage
    • 8. Propriétés d'instance, propriétés de classe
      • 8.1 Déclaration
      • 8.2 Conception
    • 9. Méthodes d'instance, méthodes de classe
      • 9.1 Exemple : classe Point
      • 9.2 Classe principale
    • 10. Constructeurs et méthodes ‘private’
      • 10.1 Classe Lapin
      • 10.2 Classe TestLapin
    • 11. Ramasse-miettes (garbage collector)
    • 12. Travail pratique : classe Employe (deuxième version)
      • 12.1 Objectif
      • 12.2 Sujet
      • 12.3 Travail
      • 12.4 Classe Employe (deuxième version), proposition de correction
    • 13. Travail pratique : voitures
      • 13.1 Objectif
      • 13.2 Sujet
      • 13.3 Travail
      • 13.4 Voitures : proposition de correction
  • Chaînes de caractères
    • 1. Objectifs du chapitre
    • 2. Classes de traitement des chaînes de caractères
      • 2.1 String et StringBuffer
      • 2.2 Programme de test
      • 2.3 Les performances de String et StringBuffer
    • 3. Travail pratique : String et StringBuffer
      • 3.1 Objectifs
      • 3.2 Sujet
      • 3.3 String et StringBuffer, proposition de correction
  • Les tableaux
    • 1. Objectifs du chapitre
    • 2. Définition
    • 3. Exemples d’utilisation de tableaux
      • 3.1 Tableau de variables de type primitif (int, double, float...)
      • 3.2 Tableau de références (String)
      • 3.3 Tableau à deux dimensions
      • 3.4 Tableau irrégulier
    • 4. Travail pratique : Voitures (avec tableaux)
      • 4.1 Objectif
      • 4.2 Sujet
      • 4.3 Travail
      • 4.4 Voitures (avec tableaux) : proposition de correction
      • 4.5 Classe Vendeur
  • L'héritage
    • 1. Objectifs du chapitre
    • 2. Héritage, polymorphisme
      • 2.1 Classe Cercle
      • 2.2 Classe CercleCouleur
      • 2.3 Programme de test
      • 2.4 Méthodes surchargeables dans un constructeur
    • 3. Travail pratique : Animal
      • 3.1 Objectif
      • 3.2 Sujet
      • 3.3 Animal : proposition de correction
    • 4. Classes abstraites
      • 4.1 Définition
      • 4.2 Exemple du TP Animal
    • 5. Interfaces
      • 5.1 Présentation
      • 5.2 Exemple d'interfaces
      • 5.3 Implémentation d'interfaces
      • 5.4 Exemple d'utilisation d'interface
    • 6. Travail pratique : surfaces comparables
      • 6.1 Objectif
      • 6.2 Sujet
      • 6.3 Surfaces comparables : proposition de correction
    • 7. La visibilité
      • 7.1 Visibilité des classes
      • 7.2 Visibilité des membres
  • Les collections
    • 1. Objectifs du chapitre
    • 2. Introduction
      • 2.1 Définition
      • 2.2 Hiérarchie partielle des collections
      • 2.3 Vector ou ArrayList ?
    • 3. Exemples d'utilisation de collections
      • 3.1 ArrayList de String
      • 3.2 Vector de String
    • 4. Travail pratique : Voitures (avec collections)
      • 4.1 Objectif
      • 4.2 Sujet
      • 4.3 Voitures (avec collections de type ArrayList) : proposition de correction
  • Les exceptions
    • 1. Objectifs du chapitre
    • 2. Mécanisme des exceptions
      • 2.1 Compréhension des messages
      • 2.2 Exceptions surveillées, exceptions non surveillées
      • 2.3 Traitement des exceptions : try... catch... finally
      • 2.4 En résumé
    • 3. Exemples d'utilisation des exceptions
      • 3.1 Classe Fraction
      • 3.2 Saisie du numérateur et du dénominateur dans un bloc try
      • 3.3 try... catch imbriqués
      • 3.4 finally
    • 4. Création et lancement d'une exception
    • 5. Création d'une nouvelle classe d'exception
    • 6. Travail pratique : saisies d'entiers
      • 6.1 Sujet
      • 6.2 Saisies d'entiers : proposition de correction
  • Les flux
    • 1. Objectifs du chapitre
    • 2. Définition
    • 3. Les flux de la classe System
      • 3.1 System.out
      • 3.2 System.err
      • 3.3 System.in
    • 4. Codage et flux de texte
      • 4.1 Utilisation de la méthode read() de la classe InputStream
      • 4.2 Classes Reader, InputStreamReader
      • 4.3 Classe BufferedReader
    • 5. Les fichiers
      • 5.1 Classe File
      • 5.2 Classes FileInputStream, FileOutputStream
    • 6. Les fichiers texte
      • 6.1 Recopie d'un fichier texte avec changement de codage
    • 7. Travail pratique : total des notes
      • 7.1 Objectif
      • 7.2 Sujet
      • 7.3 Ressource
      • 7.4 Total des notes : proposition de correction
    • 8. Travail pratique : fichier texte des contacts
      • 8.1 Objectif
      • 8.2 Sujet
      • 8.3 Exemple d’exécution
      • 8.4 Fichier texte des contacts : proposition de correction
    • 9. Les fichiers binaires
      • 9.1 Classes DataInputStream, DataOutputStream
      • 9.2 RandomAccessFile
    • 10. Travail pratique : fichier binaire des contacts
      • 10.1 Objectif
      • 10.2 Le fichier binaire contacts.dat
      • 10.3 Données numériques en C et en Java
      • 10.4 La classe Fichier (package utilitairesMG.divers)
      • 10.5 Réflexion
      • 10.6 Travail à effectuer
      • 10.7 Fichier binaire des contacts : proposition de correction
  • Fenêtres - Évènements
    • 1. Objectifs du chapitre
    • 2. AWT - SWING
    • 3. Définitions
      • 3.1 Component
      • 3.2 Container
      • 3.3 JComponent
    • 4. Hiérarchie des composants (extrait)
    • 5. Fenêtre : création et affichage
      • 5.1 Fonctionnement par défaut
      • 5.2 Modification de quelques paramètres (position, dimensions, fermeture)
    • 6. Évènements
      • 6.1 Introduction
      • 6.2 Objets évènements
      • 6.3 Écouteurs d’évènements
      • 6.4 Étapes d’écriture d’une application graphique avec écoute d’évènements
    • 7. Conception de programmes avec écoute d'évènements
      • 7.1 Fenêtre avec écoute des évènements WindowEvent : WindowListener
      • 7.2 Fenêtre avec écoute des évènements WindowEvent : WindowAdapter
      • 7.3 Fenêtre écouteur des évènements WindowEvent
    • 8. EDT (Event Dispatching Thread)
      • 8.1 Thread
      • 8.2 Event Dispatching Thread (EDT)
    • 9. Travail pratique : Souris
      • 9.1 Objectif
      • 9.2 Sujet
      • 9.3 Recherche de documentation
      • 9.4 Conseils
      • 9.5 Souris : proposition de correction
  • Contrôles - Layout
    • 1. Objectifs du chapitre
    • 2. Composants dans une fenêtre : JPanel, JButton
      • 2.1 Fonctionnement général
      • 2.2 Modification des tailles préférées des boutons
    • 3. Les layouts
      • 3.1 Présentation
      • 3.2 BorderLayout
      • 3.3 Conception graphique
    • 4. Travail pratique : Cases à cocher
      • 4.1 Objectif
      • 4.2 Sujet
      • 4.3 Renseignements utiles
      • 4.4 Cases à cocher : proposition de correction (BorderLayout, FlowLayout)
      • 4.5 Cases à cocher : proposition de correction (GridLayout, FlowLayout)
    • 5. Barres de défilement
      • 5.1 JScrollPane
      • 5.2 JScrollPane - FlowLayoutMG
    • 6. Dynamique des composants
      • 6.1 Définition
      • 6.2 Ajout et suppression de boutons dans un panneau
      • 6.3 Dynamique des composants et scrolling
    • 7. Travail pratique : Dynamique des composants
      • 7.1 Objectifs
      • 7.2 Sujet
      • 7.3 Dynamique des composants : proposition de correction
  • Dessins
    • 1. Objectifs du chapitre
    • 2. Fonctionnement général
      • 2.1 La méthode paint(Graphics g)
      • 2.2 Le contexte graphique
      • 2.3 Dessin dans un JPanel
      • 2.4 Premier dessin : un simple trait
      • 2.5 Dessins dynamiques - Méthode repaint()
      • 2.6 Dessins dynamiques - Tracé de clics de souris - Version 1
      • 2.7 Dessins dynamiques - Tracé de clics de souris - Version 2
    • 3. Travail pratique : Tracé de clics de souris permanents
      • 3.1 Objectifs
      • 3.2 Sujet
      • 3.3 Tracé de clics de souris permanents : proposition de correction
    • 4. Travail pratique : Les petits carrés
      • 4.1 Objectif
      • 4.2 Sujet
      • 4.3 Les petits carrés : proposition de correction
  • JTable - DAO - MVC
    • 1. Objectifs du chapitre
    • 2. Fonctionnement par défaut d'une JTable
      • 2.1 Fenêtre affichée
      • 2.2 Classe Fenetre : utilisation d'une JTable
      • 2.3 Classe Controleur : classe principale de l'application
      • 2.4 Conception
    • 3. Modèle de table
      • 3.1 Définition
      • 3.2 Classes et interfaces pour créer un modèle de table
      • 3.3 Modèle de table - Classe Colonne
      • 3.4 Modèle de table spécialisé - Classe Contact
    • 4. Modèle de colonnes
      • 4.1 Définition
      • 4.2 Classes et interfaces pour créer un modèle de colonnes
      • 4.3 Modèle de table et modèle de colonnes
    • 5. JTable éditable
      • 5.1 Fenêtre affichée
      • 5.2 Conception des classes ModeleTable et ModeleTableContact
      • 5.3 Autres classes de l'application
      • 5.4 En résumé
    • 6. Le package utilitairesMG.graphique.table
      • 6.1 ModeleTable
      • 6.2 ModeleColonneTable
    • 7. Couche d'accès aux données - DAO (Data Access Object)
      • 7.1 Application JTable éditable (paragraphe 5)
      • 7.2 La couche d'accès aux données : la DAO
    • 8. Modèle MVC (Modèle - Vue - Contrôleur)
      • 8.1 Définition
      • 8.2 Application "JTable éditable", version finale
      • 8.3 Diagramme de séquence
      • 8.4 Classe Controleur
      • 8.5 Classe Fenetre
      • 8.6 Classe ModeleTableContact
      • 8.7 Classe ContactDAO
    • 9. Travail pratique : Projet GestionContactLocal
      • 9.1 Objectif
      • 9.2 Sujet
      • 9.3 GestionContactLocal : proposition de correction
      • 9.4 GestionContactLocal : intérêt du MVC et de la couche DAO
  • JDBC - Mapping Objet/Relationnel
    • 1. Objectifs du chapitre
    • 2. Définition
    • 3. Communication Java - Base de données
      • 3.1 Pilotes (drivers) JDBC
      • 3.2 Schéma de communication
    • 4. Travailler avec JDBC
      • 4.1 Exécution d'une requête SQL de type SELECT
      • 4.2 Structure générale du programme pour une requête SELECT
      • 4.3 Exemple : base de données utilisée
      • 4.4 Exécution d'un SELECT
      • 4.5 Correspondance entre types SQL et Java
      • 4.6 Exécution d'une requête SQL de type UPDATE
    • 5. Présentation des classes utilitaires
      • 5.1 JeuResultat
      • 5.2 JeuResultatXML
      • 5.3 Classe BaseDeDonnees
      • 5.4 Classe AccesBase
      • 5.5 Exécution d'une requête SQL de type SELECT avec les utilitaires
    • 6. Travail pratique : Projet GestionContactJdbc - Version 1
      • 6.1 Objectif
      • 6.2 Architecture du projet : 2 tiers
      • 6.3 Sujet
      • 6.4 Conception
      • 6.5 Programmation
      • 6.6 GestionContactJdbc - Version 1 : proposition de correction
    • 7. JDBC : compléments
      • 7.1 Table utilisée dans les exemples
      • 7.2 Exécution de requêtes INSERT et DELETE
      • 7.3 Requêtes exécutées en Batch
      • 7.4 Transactions
    • 8. Le Mapping Objet/Relationnel
      • 8.1 Exposé du problème à résoudre
      • 8.2 Comment traduire l’association entre les deux objets ?
    • 9. Travail pratique : Projet Mapping
      • 9.1 Objectif
      • 9.2 Sujet
      • 9.3 Documents joints
      • 9.4 Mapping : proposition de correction
      • 9.5 Packages metierMapping, daoJdbcMapping
    • 10. Travail pratique : Projet GestionContactJdbc
      • 10.1 Objectifs
      • 10.2 Sujet
      • 10.3 GestionContactJdbc : Proposition de correction
  • Programmation réseau - Architecture 3-tiers
    • 1. Objectifs du chapitre
    • 2. Définitions
      • 2.1 Serveur
      • 2.2 Protocole
    • 3. Programmation des "sockets"
      • 3.1 Présentation
      • 3.2 Programme d'accès à un serveur web
    • 4. Implémentation de serveurs d'applications
      • 4.1 Choix de dénomination des variables
      • 4.2 ServerSocket
      • 4.3 Un serveur simple et son client
      • 4.4 Un serveur d'objets sérialisés et son client
      • 4.5 Un serveur d'objets sérialisés capable de servir plusieurs clients
    • 5. Travail pratique : Projet ServeurObjets
      • 5.1 Objectifs
      • 5.2 Architecture du projet : 3-tiers
      • 5.3 Sujet
      • 5.4 Projet ServeurObjets : proposition de correction
    • 6. Travail pratique : Projet GestionContactReseau
      • 6.1 Objectif
      • 6.2 Écrans du client et du serveur
      • 6.3 Sujet
      • 6.4 Projet GestionContactReseau : proposition de correction
  • XML - Architecture 3-tiers
    • 1. Objectifs du chapitre
    • 2. XML : eXtensible Markup Language
      • 2.1 Le langage XML
      • 2.2 Document XML
    • 3. Java et XML
      • 3.1 Le DOM (Document Object Model)
      • 3.2 La hiérarchie des interfaces Node (extrait)
    • 4. Parseurs XML
      • 4.1 Parseur DOM
      • 4.2 La DTD (Document Type Definition)
      • 4.3 Le parseur DOM et la DTD
      • 4.4 Le parseur SAX
    • 5. Travail pratique : Projet ServeurXML
      • 5.1 Objectifs
      • 5.2 Architecture du projet : 3-tiers
      • 5.3 Sujet
      • 5.4 Projet ServeurXML : proposition de correction
    • 6. Travail pratique : Projet GestionContactXML
      • 6.1 Objectif
      • 6.2 Écrans du client et du serveur
      • 6.3 Sujet
      • 6.4 Projet GestionContactXML : proposition de correction
  • Présentation
    • 1. Java EE (Java Entreprise Edition)
      • 1.1 Les classes de Java EE
      • 1.2 Le serveur Java EE
    • 2. Architectures réparties mises en œuvre dans la partie JEE
      • 2.1 3 tiers client léger
      • 2.2 3 tiers client lourd
      • 2.3 4 tiers client léger
  • Servlet
    • 1. Objectif des chapitres sur les Servlets et les JSP
    • 2. Servlets : généralités
      • 2.1 Définition
      • 2.2 Traitement d'une requête par une Servlet
      • 2.3 Classes et interfaces pour l'utilisation d'une HttpServlet
      • 2.4 Servlets et ServletContext
      • 2.5 Cycle de vie d'une Servlet
      • 2.6 Déploiement, fichier web.xml
    • 3. Première Servlet : projet Servlet1
      • 3.1 Écrans du projet Servlet1
      • 3.2 Enchaînement des programmes et des écrans du projet Servlet1
      • 3.3 index.html
      • 3.4 Classe ServletValidation
      • 3.5 Classe Validation
      • 3.6 Classe Utilisateur
      • 3.7 Remarques de conception
  • JSP - MVC
    • 1. Présentation
    • 2. Première JSP : projet ServletJsp1
      • 2.1 Projet ServletJsp1
      • 2.2 Enchaînement des programmes et des écrans du projet Servlet1
      • 2.3 La JSP resultat2.jsp
    • 3. Servlet ou JSP ?
      • 3.1 Servlet/JSP : comment les utiliser ?
      • 3.2 Servlet/JSP : un choix de conception
    • 4. Le modèle MVC (Modèle-Vue-Contrôleur) en Web
      • 4.1 Rappel : architecture MVC pour une application client lourd
      • 4.2 Architecture MVC pour une application web
      • 4.3 L'application ServletJsp1 respecte le modèle MVC
  • Servlet - JSP : compléments
    • 1. Transmission de données entre Servlet et JSP : projet ServletJsp2
      • 1.1 Écrans du projet ServletJsp2
      • 1.2 Enchaînement des programmes et des écrans du projet ServletJsp2
      • 1.3 Transmission de données entre Servlet et JSP par session
      • 1.4 Transmission de données entre Servlet et JSP par l'objet ServletContext
      • 1.5 Transmission de données entre Servlet et JSP par cookies
      • 1.6 Transmission de données entre Servlet et JSP : en résumé
    • 2. La réentrance
      • 2.1 Projet ReEntrance
      • 2.2 Conclusion sur la réentrance
    • 3. Le MVC2
      • 3.1 Définition
      • 3.2 Application au projet ServletJsp2 : projet ServletJsp2MVC2
    • 4. Travail pratique : projet GestionContactMVC2
      • 4.1 Objectifs
      • 4.2 Sujet
      • 4.3 GestionContactMVC2 : Proposition de correction
  • Objets distants - RMI - EJB
    • 1. Objectifs
    • 2. Principe des objets distants
      • 2.1 Schéma
      • 2.2 Fonctionnement général
    • 3. Création et utilisation d'objets distants en Java (RMI)
      • 3.1 RMI
      • 3.2 Exemple : un objet distant de tri
    • 4. Objets distants et JEE : Enterprise Java Beans (EJB 3)
    • 5. Qu’est-ce qu’un EJB ?
      • 5.1 Les différents types d'EJB
      • 5.2 L’annuaire pour les EJB Session
      • 5.3 Conteneur EJB - conteneur web
      • 5.4 Différence JavaBeans/EJB
  • Les EJB Session
    • 1. Objectif des chapitres sur les EJB (Enterprise Java Beans)
    • 2. Types d’EJB Session
      • 2.1 EJB Session avec état (stateful)
      • 2.2 EJB Session sans état (stateless)
      • 2.3 Utilisation Remote/Local
    • 3. Outils et conventions utilisés dans ce chapitre
      • 3.1 Outils
      • 3.2 Conventions de nommage utilisées
    • 4. Exemple : un objet distant de tri
      • 4.1 Création de l'EJB Session
      • 4.2 Déploiement
      • 4.3 Création d'un projet client
    • 5. Cycle de vie de l’EJB Session : @PostConstruct, @PreDestroy
    • 6. Travail pratique : Contact distant
      • 6.1 Objectifs
      • 6.2 Sujet
      • 6.3 Contact distant : proposition de correction
    • 7. Pools de connexions
      • 7.1 Le problème des connexions à un serveur de base de données
      • 7.2 Les pools de connexions
      • 7.3 Utilisation d'un pool de connexions pour l'accès à la base de données
    • 8. Travail pratique : Projet GestionContactEJB
      • 8.1 Objectifs
      • 8.2 Sujet
      • 8.3 GestionContactEJB : proposition de correction
  • Les EJB Entity
    • 1. Introduction
      • 1.1 Définition
      • 1.2 Framework de persistance
      • 1.3 Contexte de persistance
      • 1.4 Interface EntityManager
      • 1.5 Unité de persistance
      • 1.6 Transactions
    • 2. Exemple complet : gestion des contacts
      • 2.1 Objectif
      • 2.2 Généreration des classes EBJ Entity
      • 2.3 Création de l'EJB Session MappingEntite
      • 2.4 Application client
    • 3. Travail pratique : Projet GestionContactEJBEntite
      • 3.1 Objectifs
      • 3.2 Sujet
      • 3.3 GestionContactEJBEntite : proposition de correction
  • Index
    • Langage C - Algorithmique 885
    • Programmation objet - Java
    • Java EE

Auteur

Michel GINESTEEn savoir plus

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.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 904 pages
  • Parution février 2018
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01239-6
    • EAN : 9782409012396
    • Ref. ENI : RIDEVINF
  • Niveau Initié à Confirmé
  • Parution février 2018
    • HTML
    • ISBN : 978-2-409-01258-7
    • EAN : 9782409012587
    • Ref. ENI : LNRIDEVINF

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (11,9 Mo)