Le Blog Web & Mobile

Le Blog by tellibus » Critique de livre de recettes : Yii Application Development Cookbook — Second Edition par Alexander Makarov

4 juin 2013

Critique de livre de recettes : Yii Application Development Cookbook — Second Edition par Alexander Makarov

A. Bennouna 43504 vues 1 commentaire
Yii, cookbook, book, review, critique, livre, Samdark

Packt Publishing a publié la seconde édition (en anglais) du livre de recettes Yii du célèbre samdark, membre de l’équipe de base du framework PHP le plus performant du moment.

Mises en garde

J’ai reçu ce livre en version eBook (PDF) gratuitement de chez l’éditeur aux fins de le critiquer. Ce billet reflète néanmoins mon sentiment propre et n’a pas été influencé, dicté, lu, ni corrigé par l’auteur ni l’éditeur.

Un livre Yii réédité

Couverture du livre Yii Application Development Cookbook — Second Edition par Alexander MakarovQuand l’éditeur, Packt Publishing, a proposé des copies électroniques gratuites du livre d’Alexander Makarov, j’ai immédiatement demandé à en recevoir une aux fins d’en publier une critique.

En effet, l’auteur de ce livre est un membre de l’équipe de base du framework Yii, et en anime le forum et le dépôt Github à travers son pseudonyme samdark. Il est également l’un des contributeurs les plus prolifiques et serviables de la communauté Yii.

La nouvelle édition est publiée au moment où le célèbre auteur Larry Ullman est déjà bien avancé sur son projet RAW The Yii Book et à quelques semaines de la sortie de la version de prévisualisation de Yii 2. De toute manière, un livre sur Yii vient toujours à point nommé car on a vite fait le tour des livres édités sur le framework !

Alexander Makarov et son éditeur ont profité de cette réédition pour corriger les coquilles du premier opus, pour ajouter quelques recettes et mettre les originales au goût du jour. Car 18 mois séparent les deux éditions, et pendant ce temps, la version mineure 1.1 de Yii a connu plusieurs révisions : alors que le premier livre de l’auteur se basait sur Yii 1.1.8, celui-ci utilise Yii 1.1.13.

Premières impressions

Je raffole des livres de recettes en général, et pas seulement de cuisine ! Comme à mon habitude, je me suis plongé dans celui-ci et je l’ai lu dans le détail d’une couverture à l’autre en l’espace d’une semaine. Je n’ai toutefois testé aucune recette spécifique, d’abord par manque de temps, mais aussi parce que j’en connaissais déjà certaines. Ce qui est sûr, c’est que j’en ai marqué plusieurs à essayer le plus tôt possible !

Il faut souligner que ce livre n’est pas destiné à apprendre Yii à partir de zéro, car il est destiné aux développeurs PHP qui sont déjà familiers avec le framework et qui ont développé au moins une application Web en PHP, voire sur Yii. Le livre comprend 90 recettes réparties sur les mêmes 13 chapitres indépendants qui jalonnaient la première édition. Cette approche peut, à première vue, en désarmer plus d’un car les chapitres sont en fait des recettes regroupées selon les fonctionnalités et concepts utilisés, un peu comme si un livre de recettes de cuisine serait organisé en recettes utilisant les œufs, recettes utilisant le sucre, recettes pour bien allumer le gaz… L’avantage est que vous pouvez cibler les recettes par ingrédient ou par manière de faire.

Si vous avez déjà lu le premier livre, vous verrez que cette édition corrige ses errata (mais en ajoute quelques-uns), et utilise une police monospace plus lisible pour les listings de codes et les noms de fonctions et de variables. Par rapport à la première édition, toutes les recettes originales semblent être maintenues en place, et il n'y en a que 3 nouvelles. Pour aller plus vite (et pour les paresseux), Alexander Makarov a également créé un dépôt GitHub maintenu et mis à jour avec le code fourni dans la plupart des recettes.

Le livre est facile à lire même pour les débutants en anglais, sachant que des connaissances techniques dans cette langue sont indispensables pour programmer des applications Web !

Au fil des pages

Les recettes présentées dans le livre Yii Application Development Cookbook — Second Edition sont toutes présentées de la même manière et selon la même approche didactique. Il m’a toutefois fallu la totalité du premier chapitre pour m’habituer à la structure adoptée, à savoir le code de la recette dans un paragraphe How to do it, puis son explication dans un autre How it works. Deux parties sont également présentes dans la majorité des recettes : Getting ready qui présente les pré-requis, et There’s more qui présente des variations intéressantes et des ouvertures sur d’autres idées ou fonctionnalités.

J’ai particulièrement apprécié la manière dont l’auteur utilise des idées relativement simples pour présenter des concepts fondamentaux ou avancés de Yii. Il expose au fil des recettes des cas pratiques pour exploiter les fonctionnalités et mécanismes du framework, et implémenter en aval du beau code réutilisable et des recettes efficaces et savoureuses, tout en gardant la performance dans sa ligne de mire. Il est aussi intéressant de noter que les recettes du livre sont toutes indépendantes, mais certaines liées ou complémentaires, et que vous pourrez en prendre une au hasard et l’apprendre ou l’utiliser sans autre pré-requis.

J’ai trouvé dommage que la table des matières nomme les recettes selon les fonctionnalités et concepts de Yii, et non par rapport à la finalité de chaque recette. J’aurais préféré des noms de recettes tels que « Learn to code a complete to-do webapp in Yii using REST, JSON, and doT » au lieu (ou en plus) de « Rendering content at the client side », ou encore un sommaire alternatif listant les résultats fonctionnels des recettes. Le nommage actuel permet néanmoins de cibler les fonctionnalités de développement, telles que « Creating Modules » au lieu des fonctionnalités métier recherchées, telles que « Basic Wiki module ».

Dans le corps de la plupart des recettes ou dans leur sous-partie There’s more, l’auteur insère habilement des fonctionnalités Yii indirectement nécessaires à la recette, ou encore une autre manière d’obtenir le même résultat. Donc si vous achetez le livre, lisez-le en entier, et n’attendez pas d’avoir besoin d’une recette pour la consulter, soyez gourmands !

J’ai trouvé la valeur intrinsèque des recettes généralement élevée : j’ai évalué la majorité d’entre elles 4/5 ou 5/5. Une exception notable est le Chapitre 7 « Using Zii Components » car j’estime que ses 4 recettes sont en deçà de ce qui peut être trouvé sur les wikis Yii.

Conclusion

Je ne prétend pas être emballé dès le début par le livre, mais j’ai trouvé le rythme assez vite, et ça m’a permis d’entrevoir de nouvelles possibilités et même des idées nouvelles de webapps ou de fonctionnalités utiles. Il n’y a probablement que le chapitre sur les widgets Zii qui m’a laissé sur ma faim.

Je donne une note globale de 4,5/5 au livre Yii Application Development Cookbook - Second Edition pour laisser à l’auteur une marge d’amélioration. C’est en conclusion un excellent ajout aux livres sur Yii en général, et qui fournit plusieurs recettes uniques et enrichissantes extrêmement utiles et inspirantes pour les développeurs ambitieux.

Si vous avez déjà la première édition, vous pourrez peut-être vous contenter des corrections déjà apportées sur le site du livre, le site de Packt Publishing, ainsi que sur le forum Yii dédié au livre, en plus du code de la 2e Edition partagé sur Github.

A moins de 200 DH pour le format eBook chez Packt Publishing, ou moins de 400 DH le pack papier + eBook, le livre est un achat intéressant si vous voulez approfondir vos connaissances sur Yii.