XMPP: The Definitive Guide

J’ai acheté le bouquin « XMPP: The Definitive Guide » en version PDF, sans DRM, à 31,99 $  (je n’ai pas fait la conversion en euros). Il est également disponible à 39,99 $ en version papier (pré-commande à ce jour), ou bien en version papier + électronique à 51,99 $.

Ce bouquin a été écrit par des pointures du monde XMPP :

  • Peter Saint-Andre, directeur exécutif et membre du conseil technique de la XSF et (co-)auteur de nombreuses XEP ;
  • Kevin Smith, membre du conseil technique de la XSF et ancien chef du projet Psi (pendant 4 ans et demi) ;
  • Remko Tronçon, développeur Psi, contributeur de projets liés à XMPP  et auteur de quelques XEP.

Comme d’habitude chez O’Reilly, la couverture affiche un animal qui sort de nulle part, il s’agit là d’un chevrotain (ne m’en demandez pas plus…).

XMPP: The Definitive Guide

XMPP: The Definitive Guide

Très synthétique et facile à lire (il fait tout de même 310 pages), il y a toujours un peu d’humour au fil de l’eau et un résumé à chaque chapitre. Il touche à tout ou presque, il couvre la plupart des fonctionnalités de Jabber et des XEP d’un point de vue fonctionnel, de la présence et du chat à Jingle, en passant par PubSub, et aussi les formulaires, les commandes, et l’échange de fichiers. Il est très utile aussi bien d’un point de vue d’un utilisateur qui veut en savoir plus (et qui ne lit pas forcément le XML), qu’un développeur pour bien comprendre l’architecture, le fonctionnement de base et les fonctionnalités avancées. Il conviendra même à un prof, chercheur ou manager, ou encore un architecte.

Au chapitre des reproches, je mettrais les copies d’écrans qui sont en noir et blanc et… sous Mac OS X. De même bien qu’il soit bien fournit en exemples de XML, il manque là encore de la colorisation syntaxique pour améliorer la lecture.

Voici le sommaire :

  • Preface
  • An Overview of XMPP
    • Chapter 1Introduction
    • Chapter 2Basics of XMPP
  • The XMPP Toolkit
    • Chapter 3Presence
    • Chapter 4Instant Messaging
    • Chapter 5Discovering the World
    • Chapter 6Data Forms
    • Chapter 7Multi-Party Interactions
    • Chapter 8Publish/Subscribe
    • Chapter 9Jingle: Jabber Does Multimedia
    • Chapter 10Sending Binary Data
    • Chapter 11Remote Commands
    • Chapter 12Connection Methods and Security
  • Putting It All Together
    • Chapter 13Design Decisions
    • Chapter 14Building an XMPP Application
  • Appendixes
    • A Guide to XMPP Specifications
    • Popular Servers, Clients, and Libraries
    • Further Practical Considerations

Et ça se termine sur les parties Glossary, Bibliography, Index,  About the authors et Colophon. Voici la présentation officielle et le sommaire détaillé.

Je zoomerais rapidement sur le chapitre 14 : « Building an XMPP Application ». En effet, ce chapitre couvre la réalisation d’une application de microblogging, sous le nom de CheshiR, écrite en Python avec foultitudes d’exemples de code. Chaque partie (« sprint ») se découpe en analyse, design et code. Voici le détail des parties :

  • The CheshiR XMPP IM Bot
  • Configuring the CheshiR XMPP IM Bot
  • Scaling the CheshiR XMPP Service Using a Server Component
  • Registering with the CheshiR Server Component
  • Extending the Server Component with Rosters
  • Future Sprints
  • A CheshiR Server Module or Dedicated Server?

Au final, je conseille cet achat, non seulement car c’est un bon bouquin clair et suffisament exhausitf, mais aussi car ça vient de la communauté et qu’il faut soutenir ce type d’initiative.

Go XMPP !