1. Présentation de l'ouvrage▲
1-1. Table des matières▲
Avant-propos - Organisation de l'ouvrage
Introduction - Le comment ça marche du Web
Étude d'un premier script JSP
Internet et le modèle client-serveur
Qu'est-ce qu'une base de données ?
Exploitation des exemples et exercices du livre
Résumé
Concepts fondamentaux
Radiographie d'un script JSP
Déclarer une variable
L'instruction d'affectation
Les opérateurs arithmétiques
Résumé
Exercices
Communiquer avec l'internaute
Les différentes façons d'afficher une information
Transmettre une information à un site
Résumé
Exercices
Les structures de la programmation Java
Les tests
Les boucles
Les fonctions
Résumé
Exercices
Utiliser un objet Java dans un script
La notion de composants métier
Écrire un JavaBean
Appeler un bean depuis un JSP
Résumé
Exercices
Interroger une base de données
Mettre en place une base de données
Enrichir une base de données avec JSP
Résumé
Exercices
Connaître l'internaute
Les cookies
La session
Résumé
Exercices
Les servlets ou les dessous cachés de JSP
Du JSP à la servlet
Construire ses propres servlets
Résumé
Exercices
Annexe - Contenu et exploitation du CD-Rom
1-2. Le livre vu par l'éditeur▲
Apprendre JSP par la pratique. Particulièrement adapté aux étudiants, ce livre décrit de manière concrète et illustrée tous les concepts de JSP (JavaServer Pages), langage de script permettant de développer des sites Web dynamiques associés à des bases de données. Avec une approche très pédagogique, héritée de l'expérience de formateur des auteurs, cet ouvrage explique à l'aide de termes clairs et d'exemples simples toutes les notions relatives à la programmation JSP : les bases du langage Java, JavaBeans, cookies, sessions, connexion aux bases de données, servlets... Pour permettre au lecteur d'appliquer directement ses connaissances, chaque chapitre se clôt par une série d'exercices, dont les fichiers sources et les corrigés figurent sur le CD-Rom d'accompagnement.
1-3. Mon résumé▲
Ce livre, s'adressant de toute évidence à un public de débutant dont la culture informatique n'a pas besoin d'être très développée, se propose de vous initier à la création de pages web dynamiques. La présentation se veut progressive et les auteurs s'attardent sur de nombreuses généralités telles que le protocole HTTP, les architectures web classiques, le HTML, les fondements des bases de données ainsi que les bases du langage de programmation Java. La seconde partie de l'ouvrage (à partir du chapitre intitulé Utiliser un objet Java dans un script) s'intéresse elle davantage à des concepts propres à la création de pages Web en se reposant sur les Java Server Pages.
Le propos est largement illustré par de petits extraits de code et chaque chapitre se termine par un résumé et des exercices, bref de quoi bien valider sa lecture.
On retrouvera également tous les outils utilisés ainsi que les codes et corrections des exercices sur le CD-ROM qui accompagne l'ouvrage. Les auteurs traitent d'ailleurs en annexe l'installation des différents environnements de travail, du J2SE à MySQL en passant par Tomcat.
Côté langage, la version des API JSP/Servlet traitée n'est pas explicitement mentionnée, et en dépit de l'utilisation de Tomcat 5 pour déployer les pages, la description ne va pas plus loin que les versions JSP 1.2 / Servlets 2.3 et ne porte que sur les éléments de base.
2. La critique▲
2-1. Premières impressions▲
Cet ouvrage est très agréable et facile à lire.
La pédagogie mise en oeuvre me parait très bonne et devrait porter ses fruits pour le lecteur qui prendra soin de mettre en pratique sous la forme des exercices les concepts abordés. Les exemples et le propos en général sont tout à fait adaptés à un public débutant, bref la clarté de l'ouvrage est très appréciable.
Dans l'absolu, le fil conducteur choisi est cohérent et permet au lecteur d'assimiler les différents concepts progressivement.
La présence de sections plus générales sur le développement d'application Web permet notamment de réviser les fondements du protocole HTTP, du langage de balisage HTML ainsi que des notions d'architecture.
2-2. Un livre très enrichissant ...▲
L'ouvrage ne commence pas d'emblée par la programmation de pages JSP mais par poser les bases qui permettent au lecteur de mieux appréhender la notion de développement Web dans sa globalité. Les parties spécifiques à JSP viennent ensuite se greffer dessus pour mettre en pratique ces notions sur un ton plus proche du code que des concepts.
La progression qui consiste à présenter quelques éléments du langage Java avant d'aborder les JSP par les scriptlet puis les JavaBeans est fort intéressant. Les explications sur l'équivalence JSP/Servlet sont par la suite également très pertinentes et sont à ce titre une très bonne initiative puisque ces concepts, pourtant à la base de l'architecture des JSP, sont souvent oubliés par les débutants.
La présence d'un résumé et d'exercices en fin de chapitre est non seulement remarquable en terme de pédagogie, mais aussi très appréciable pour l'apprentissage par la pratique. Dans le contexte de cet ouvrage, ce choix est d'ailleurs bien plus judicieux que l'alternative d'une étude de cas en fin comme dernier chapitre.
Viennent s'ajouter à cet aspect de la pédagogie la présence en annexe d'informations concernant l'utilisation de Tomcat et d'une base de données MySQL, ainsi que les outils et corrigés contenus dans le CD-ROM, ce qui est fort appréciable.
2-3. ... s'adressant exclusivement aux débutants▲
En orientant le propos dès le départ vers des généralités sur les applications Web, ainsi que des rappels sur des bases (base de données, langage Java), les auteurs choisissent clairement de s'orienter vers un public de débutants. Le risque dans ce cas est de ne pas insister assez sur cet aspect et de le mettre entre les mains de lecteurs un peu plus expérimentés voire de débutants ayant déjà un bon bagage informatique, lesquels pourront estimer à juste titre que leur investissement n'a pas été rentable.
Le titre de l'ouvrage est d'ailleurs trompeur puisque seul 1/3 à 2/3 de l'ouvrage (selon la conception que l'on peut avoir de JSP) traite de JSP.
Ainsi, des problématiques comme l'interaction avec une base de données ou encore la gestion de cookies sont des problématiques certes incontournables mais qui ne sont pas particulièrement différentes que l'on programme en JSP ou avec un autre langage.
Avec du recul, on notera également qu'en dehors des spécificités en matière de taglib propres aux JavaBeans, cet ouvrage ne présente les JSP que d'un point de vue scriptlets et donc très proche de ce qu'on écrirait si on utilisait directement une Servlet. Or la notion de bibliothèques de tags reste l'un des fondements des JSP et illustre toute sa puissance.
Parmi les rares reproches qu'on peut faire compte tenu de la progression et de l'orientation du livre, on regrettera d'ailleurs l'absence d'une description précise des directives JSP qui sont pourtant utilisées dans la partie traitant de l'utilisation de la connectivité à une base de données.
3. Remarques▲
Si vous envisagez de vous orienter vers cet ouvrage, sachez donc notamment qu'il vous permettra d'acquérir les bases de la programmation Web et de la programmation Java utile pour les JSP, tout en ayant à l'esprit qu'il ne se substitue en rien à l'apprentissage de Java du point de vue de la Programmation Orientée Objet.
En contrepartie ne vous attendez pas à une richesse d'informations sur les API JSP et Servlet puisque l'ouvrage se limite aux bases qu'il présente cependant d'une manière très claire.
Vous l'aurez compris : ne vous fiez pas au titre qui peut s'avérer trompeur. D'une part pour ceux qui recherchent un ouvrage se focalisant essentiellement sur JSP, d'autre part pour ceux qui recherchent un premier ouvrage traitant du développement Web en général avec déjà une orientation côté langage et qui passeraient à côté de ce livre. Il me semble que "Initiation au développement Web et à JSP" pourrait à ce titre mieux convenir pour la version présente de ce livre.
Au rang des reproches on pourra noter que les auteurs ont manqué de rigueur au niveau du balisage HTML qui pourrait respecter une spécification plus récente (cf. les déclarations d'attributs et les règles de fermeture de balises).
On peut également s'interroger sur la pertinence de l'utilisation de JavaBeans et de scriptlets pour la partie spécifique à la connectivité avec une base de données alors que c'était là l'occasion d'introduire l'utilisation de bibliothèques de tags avec notamment la JSTL, ce qui aurait permis une présentation façon JSP et non façon Servlet comme ce que proposent les auteurs.
Bref, on pourra donc reprocher aux auteurs de ne pas avoir mis en avant les éléments suffisants pour illustrer la notion de séparation de couches (en l'occurence la plus élémentaire : présentation / traitements), mais il ne faut pas oublier les objectifs de l'ouvrage ainsi que le public visé.
4. Conclusion▲
Cet ouvrage, très bien écrit dans un style exempt de fautes, est en soi intéressant pour un public de non initiés, ne cherchant pas à aller plus loin qu'une utilisation à des fins de réalisation de sites Web amateurs dynamiques.
Si on s'éloigne de ce public, on risque un sentiment d'inachevé. Cet ouvrage pourrait néanmoins toucher un public plus large si les auteurs en retiraient certaines parties hors sujet par rapport au titre de l'ouvrage et réorganisaient les chapitres existants. Ainsi, en revoyant la progression l'ouvrage pourrait mener le lecteur de l'utilisation de scriplets à la réalité des JSP qu'est l'utilisation de balises, en finissant sur la partie base de données remaniée pour une utilisation de la JSTL par exemple.
Je remercie également Bestiol pour la relecture de cette critique.