Livre Drupal

Je viens de terminer la lecture du livre "Building Powerful and Robust Websites with Drupal 6" de David Mercer et j'ai trouvé ça pas mal du tout.

Résumé du livre

Voici le contenu du livre dans les grandes lignes. Pour un sommaire plus détaillé (en anglais), je vous renvoie au site de l'éditeur.

Chapitre 1 - Introduction à Drupal

Historique de Drupal, principales fonctionnalités, exemples de sites qu'on peut réaliser avec Drupal.
Présentation de la communauté et de la licence Drupal.

Chapitre 2 - Installer l'environnement de développement

Installer Apache, PHP et MySQL, puis Drupal lui-même.
S'assurer que Drupal est correctement configuré et résoudre les problèmes les plus fréquents.
Créer sa première page.

Chapitre 3 - Les fonctionnalités de base

Télécharger, installer et configurer des modules.
Manipuler les blocs.
Menus, liens primaires et secondaires.

Chapitre 4 - Configuration du site

URLs simplifiées, rapports d'erreur, upload de fichiers, logs, mode "maintenance".

Chapitre 5 - Contrôle d'accès

Mettre en place une politique de contrôle d'accès.
Les rôles, les permissions, les utilisateurs, les règles d'accès.

Chapitre 6 - Contenu - Les bases

Explication des "types" de contenu.
Manipuler les types de contenu, créer du contenu, administrer le contenu.
Modules liés au contenu : aggregator et book.

Chapitre 7 - Contenu - Fonctionnalités avancées

La taxonomie.
CCK.
Publier du HTML et du PHP via Drupal (les formats d'entrée).

Chapitre 8 - L'interface de Drupal

Planifier son interface.
CSS.
Les thèmes : comprendre les thèmes, configurer un thème, personnaliser un thème (images, couleurs, régions de la page).

Chapitre 9 - Fonctionnalités avancées

S'identifier sur son site Drupal avec OpenID.
Déclencher une action particulière lorsqu'un événement donné se produit ("Actions and Triggers"). Ex : envoi d'un e-mail quand un nouvel utilisateur crée un compte.
Gestion du multilingue.
Gestion des performances (cache).
Utilisation de JavaScript dans Drupal (jQuery et code JavaScript maison).

Chapitre 10 - Gérer votre site web

Les sauvegardes.
Le CRON et les tâches planifiées.
Tâches diverses : renommer les URLs (pathauto), désinstaller des modules, gérer les utilisateurs, optimiser le site pour les moteurs de recherche.
Mettre à jour Drupal et les modules.

Annexe A - Déploiement

Comment transférer votre site depuis le serveur de développement vers le serveur de production.

Ce que j'ai bien aimé

Le livre est complet et aborde tous les points importants, en passant le temps nécessaire sur chacun, ni trop ni trop peu. Le style est clair et les copies d'écran pertinentes. Les exemples sont parlants et faciles à reproduire sur sa propre installation.

On sent que Mercer connaît bien Drupal car il insiste sur les points particulièrement délicats pour les débutants. Par exemple, il répète souvent que ce qu'on voit sur une page dépend énormément des modules installés et des permissions dont on dispose. Dit comme ça, cela paraît tout bête mais les débutants sont souvent déroutés lorsqu'ils reviennent sur la même page après avoir changé un paramètre ou activé un module dans l'administration et qu'elle a un aspect complètement différent. Même chose selon qu'ils consultent le site en tant qu'utilisateur "anonyme" ou en tant que "superadmin".

En expliquant la philosophie Drupal (comment fonctionnent les modules dans Drupal, comment fonctionnent les thèmes dans Drupal...) plutôt qu'en s'attachant à des modules ou des thèmes particuliers, Mercer donne aux webmasters des "clés" réutilisables qui leur permettront de poursuivre seuls - et au-delà du livre - leur découverte de Drupal. C'est un pas vers l'autonomie.

Ce que j'ai moins aimé

En 362 pages, Mercer délivre le maximum d'informations possible sans être indigeste. Cela dit, on peut regretter que certaines problématiques "classiques" n'aient pas été abordées car le webmaster Drupal est quasi certain d'y être confronté : l'utilisation du module Views (pas encore disponible pour Drupal 6 au moment de l'écriture du livre), l'organisation du contenu dans un "vrai" site (Mercer explique le système de menu de Drupal ainsi que la taxonomie mais il ne détaille pas de solution clé en main pour organiser le contenu de son site en rubriques/sous-rubriques, une problématique ultra-fréquente).

D'une façon générale, Mercer explique parfaitement "Drupal out-of-the-box", c'est-à-dire Drupal tel qu'il fonctionne avec ses modules par défaut, mais on peut regretter qu'il ne mentionne pas quelques modules contribs incontournables (par exemple, l'éditeur WYSIWYG TinyMCE, certains modules liés au contrôle d'accès, ou les modules permettant de faire des liens "proprement" d'une page à une autre...).

Enfin, la concision donnera peut-être à certains le sentiment que Mercer va un peu trop vite. Connaissant bien Drupal, il est difficile pour moi d'évaluer ce point, mais j'ai parfois eu l'impression que certaines explications auraient pu être un chouia plus développées.

Conclusion

Avec ce livre, David Mercer a fait un meilleur travail qu'avec le précédent (Drupal: Creating Blogs, Forums, Portals, And Community Websites) : il couvre plus de terrain et aborde des sujets essentiels (CCK, la personnalisation du thème...) dans un style plus compact et plus efficace. Ce livre donne les connaissances de base nécessaires à toute personne souhaitant construire un site avec Drupal et qui ne connaît pas encore cet outil. Ce livre s'adresse en priorité aux webmasters (pour les développeurs, je recommanderais plutôt Pro Drupal Development).

Si ce livre était traduit en français, il pourrait être le chaînon manquant (et tant attendu) qui permettrait de réduire la courbe d'apprentissage et favoriser l'entrée de nouveaux membres dans la communauté Drupal francophone.

Malheureusement, non.

Suite au billet Ex-auteur cherche co-auteurs pour écrire livre sur Drupal, j'ai eu plusieurs retours.

Une bonne partie peut se résumer par "J'ai découvert Drupal y a pas longtemps, j'adore, je trouverais ça super de participer à l'écriture d'un livre sur Drupal". Autrement dit, la majorité des personnes intéressées par le projet est autant demandeuse (de documentation) qu' "offrante". Je salue l'enthousiasme de certaines de ces personnes, mais est-il judicieux d'écrire un livre sur Drupal alors qu'on ne le connaît pas encore très bien ?

L'avantage est qu'on est dans la peau du débutant, on a donc une bonne idée des difficultés rencontrées et des sujets à aborder. L'inconvénient est l'absence d'expérience projet. La vraie valeur ajoutée d'un livre sur Drupal serait de pouvoir présenter des problématiques concrètes issues de projets réels, et d'expliquer le ou les moyens de les résoudre avec Drupal.

J'ai aussi discuté avec Yoann Babel, directeur technique de la société Ideia. Il a un profil intéressant, mais il a l'air très occupé. Il faudrait donc voir s'il trouve le temps d'écrire et s'il arrive à le faire (il dit lui-même qu'il n'a jamais écrit de livre et que c'est difficile de savoir si on en est capable avant d'essayer ; de mon côté, je me suis rendu compte en commençant que c'était plus compliqué qu'il n'y paraît.)

J'ai également été en contact avec Cyprien, un webmaster (je crois) qui a entamé l'écriture d'un livre Drupal de son côté. Son livre s'adresserait principalement aux débutants (installation et paramétrage de Drupal et de certains modules clé) car Cyprien n'est pas développeur. Il trouverait judicieux de faire une collaboration qui consisterait à écrire 2 livres : lui un livre débutant et moi un livre avancé. Je ne suis pas convaincu par l'idée : écrire 2 livres alors qu'on du mal à en sortir un me paraît ambitieux ; de plus, si on écrit chacun son livre, ce n'est plus vraiment une collaboration (bien sûr, on relirait chacun le travail de l'autre, et on pourrait se faire des retours...).

En tout cas, Cyprien a l'air très motivé. Il dit être en contact avec plusieurs éditeurs et avoir déjà bien avancé dans son projet. Même sans collaboration formelle, je serai content de l'aider en relisant son travail ou en l'aidant sur des points bloquants s'il en rencontre.

Au final, je n'ai donc pas trouvé de co-auteur idéal. Un éditeur avec lequel j'en avais discuté m'avait averti : il faut que le courant passe, avoir la même vision du livre... c'est pas évident. De plus, pour ce projet précis, il faut en plus de ça trouver quelqu'un qui ait les connaissances techniques pour faire ce travail. En postant mon précédent billet, j'espérais pouvoir faire le chef de projet et confier le travail d'écriture à quelques auteurs auxquels j'aurais passé mes brouillons, mais ne les ayant pas trouvés, ça ne se fera pas.

De mon côté, j'ai continué à avancer sur le projet d'ebook gratuit qui rassemble le travail que j'avais déjà entamé sur ce livre. Il devrait sortir prochainement et sera annoncé sur ce site.

Il y a quelques semaines, j'ai abandonné le projet de livre Drupal, et suite à ça j'ai reçu pas mal commentaires, et j'ai un peu réfléchi.

Ecrire un livre, c'est du boulot. On ne s'en rend vraiment compte qu'après avoir commencé. Trouver les bonnes tournures, être clair, vérifier ses infos... Ceux d'entre vous qui postent sur un blog régulièrement savent que c'est très prenant. A plusieurs, ça serait plus facile.

Ecrire un livre, ça ne rapporte pas d'argent (c'est l'éditeur qui le dit, et on parle d'un livre Drupal pas d'un Marc Lévy). On le fait plutôt parce qu'on a la fibre pédagogique et pour assoir un statut d'expert, et éventuellement récupérer ensuite des missions sur Drupal (du développement, du support, de la formation...). Si vous êtes prestataire Drupal, ça pourrait vous intéresser.

Personnellement, je souhaite m'éloigner du développement pour faire plus de gestion de projet. Sortir ce livre, c'est un beau projet à gérer.

Voici ce que je vous propose :

On constitue un petit groupe de co-auteurs (3-4 maximum).

On valide le plan du livre et on se répartit le travail d'écriture. Je mets le travail que j'ai déjà fait dans le "pot commun".

Je centralise les contributions des co-auteurs et me charge de la relecture, la ré-écriture pour l'unité de ton, et la mise en page (le travail d'éditeur, en somme).

Une fois prêt (d'ici 1 mois 1/2 ?), le livre est distribué sous forme électronique exclusivement (pdf). Les lecteurs qui le souhaitent pourront faire imprimer leur exemplaire en passant par un service comme www.lulu.com.

Chaque auteur est rémunéré selon ses droits d'auteur, en proportion de sa contribution au livre.

Le projet vous tente ?

C'est une super opportunité d'augmenter votre notoriété dans la communauté Drupal et de participer à un projet communautaire.

C'est l'occasion de montrer qu'on peut être bon sur les 2 points que l'on reproche habituellement à la communauté Drupal francophone : le manque de documentation et une communauté pas assez "helpful".

Enfin, ce travail sera d'une énorrrrrrrrme utilité à beaucoup de gens et fera avancer la cause de Drupal.

Vous êtes intéressé ? Contactez-moi à contact (at) felisite (point) com en me parlant un peu de vous, de votre expérience avec Drupal et avec l'écriture.

L'objectif est d'organiser une réunion de travail la semaine prochaine entre personnes intéressées.

Si ça ne marche pas (que personne ne répond), c'est promis, je ne vous parle plus de ce livre. :-)

Syndiquer le contenu