Préface

Merci d’avoir acheté ce livre ! S’il s’agit d’un cadeau, félicitations ! Par contre, si vous l’avez téléchargé sans le payer, eh bien, en fait, nous sommes aussi contents ! Ce livre est publié sous licence libre. C’est important, car nous voulons qu’il serve la communauté en tant que documentation ; et la documentation devrait être gratuite.

Alors, pourquoi payer pour un livre libre ? Eh bien, peut-être appréciez-vous la sensation de tenir un livre dans vos mains tout en étant confortablement installé dans votre canapé, une tasse de café à portée de main. Sur votre canapé [NdT : en anglais, couch]… compris ? Blagues douteuses mises à part, quelles que soient vos raisons, acheter ce livre nous soutient et, ce faisant, nous avons plus de temps à consacrer aux améliorations de ce livre et de CouchDB. Alors, merci !

Nous nous sommes évertués à compiler les informations les meilleures et les plus compréhensibles qui existent ; et nous savons avoir failli. CouchDB est une cible mouvante qui a fortement évolué pendant que nous écrivions cet ouvrage. Nous avons été capables de nous adapter rapidement et de tenir les choses à jour. Toutefois, nous avons dû définir des limites si nous voulions pouvoir le publier un jour.

Au jour de cet écrit, CouchDB 0.10.1 est la dernière version, mais vous pourriez bien avoir déjà vu la 0.10.2, ou la 0.11.0, qu’elle fût publiée ou en cours de finalisation ; voire même la 1.0. Bien que nous avons quelques idées sur ce qui serait intégré dans ces versions, nous n’en sommes pas certains et n’avons pas tenté de deviner l’avenir. CouchDB est un projet communautaire, ce qui signifie qu’il vous appartient, à vous lecteur, de l’aider à prendre forme.

La bonne nouvelle est que de nombreuses personnes exploitent CouchDB 0.10 en production et que vous en saurez assez pour mener un projet solide. Les versions à venir de CouchDB rendront certaines choses plus faciles, mais le socle de fonctionnalités restera le même. En outre, en découvrant les fonctionnalités essentielles, vous parviendrez mieux à comprendre et à apprécier les raccourcis, et même à concevoir vos solutions sur mesure. [NdT : Besides, learning the core features helps you understand and appreciate the shortcuts and allows you to roll your own hand-tailored solutions.]

Écrire un livre libre fut passionnant. Nous sommes reconnaissants à O'Reilly d’avoir soutenu notre décision de toutes les manières possibles. Parmi celles-ci, la meilleure – au-delà de donner à la communauté un accès anticipé à l’œuvre – fut la fonctionnalité de commentaires que nous avons implantée sur le site web du livre. Elle permet à quiconque de commenter n’importe quel paragraphe de l’ouvrage par un simple clic. Cela avec un zeste de JavaScript et Google Groupes pour rendre tout cela agréable. Le résultat a été époustouflant ! À ce jour, 866 personnes ont envoyé plus de 1 100 messages à notre petit groupe. Les amendements pouvaient indiquer de simples coquilles ou entraîner de profondes discussions techniques. Les retours que nous avons eus sur le premier chapitre nous ont conduits à une réécriture complète afin de nous assurer que les messages que nous voulions faire passer passaient vraiment. Ce procédé nous a permis de formuler clairement ce nous voulions dire d’une manière compréhensible pour vous, chers lecteurs.

D’une manière générale, le livre s’est grandement amélioré grâce à l’aide de centaines de volontaires qui ont pris le temps d’envoyer leurs suggestions. Nous sommes conscients de l’immense valeur de ce mode de fonctionnement et nous voulons le conserver. Les nouvelles fonctionnalités de CouchDB devraient s’intégrer dans cet ouvrage sans avoir besoin de le réimprimer tous les trois mois. L’industrie du livre n’est pas encore prête pour cela, mais nous entendons poursuivre la publication de contenu mis à jour ou nouveau et écouter vos retours. La manière dont nous allons nous y prendre est encore sujette à débat, mais nous la publierons sur le site web du livre dès que nous le saurons ; nous le promettons ! Aussi, n’hésitez pas à visiter le site sur http://books.couchdb.org/relax pour vous rester dans le coup.

Avant de vous laisser plonger dans le livre, nous désirons être certains que vous êtes bien préparés. CouchDB est programmé en Erlang ; toutefois, vous n’avez pas connaître quoi que ce soit de l’Erlang pour utiliser CouchDB. D’autre part, CouchDB s’appuie grandement sur les technologies du Web comme HTTP et JavaScript, aussi une certaine expérience dans ces domaines facilite la compréhension des exemples. Si vous avez déjà conçu un site web, qu’il fût simple ou complexe, vous devriez être paré à lire plus avant.

Si vous êtes un développeur expérimenté ou un architecte système, l’introduction à CouchDB devrait vous réconforter, car vous connaissez déjà tous les éléments impliqués ; tout ce dont vous avez besoin est d’assimiler la manière dont CouchDB les joint ensemble. Vers la fin de l’ouvrage, nous allons plus loin afin que vous puissiez vous sentir à l’aise aussi bien avec des systèmes à grande échelle qu’avec des projets personnels.

Si vous êtes un développeur débutant, ne vous inquiétez pas : au moment où vous atteindrez les dernières parties du livre, vous devriez être capable de suivre les explications plus complexes qui s’y trouvent.

Maintenant, enfoncez-vous confortablement dans votre fauteuil, détendez-vous, et profitez de ce voyage au pays merveilleux de CouchDB.

Remerciements

J. Chris

Je tiens à remercier tous les contributeurs de CouchDB, ceux qui envoient des correctifs et le reste de la communauté. Je n’aurais pas pu en arriver là non plus sans ma femme, Amy, qui m’aide à garder à l’esprit un point de vue global ; ni sans la patience et le soutient de mes coauteurs et d’O'Reily ; ni sans l’aide de tous ceux qui, sur les listes de diffusion, nous ont aidés à forger les détails de ce livre. Et un grand merci à notre extraordinaire correcteur !

Jan

Je tiens à remercier l’ensemble de la communauté de CouchDB. J’adresse des remerciements plus vifs encore à tous ces gens sympas qui m’ont invité à participer ou à donner une conférence, qui m’ont permis de coucher dans leur canapé [NdT : en anglais, couch] (jeu de mots volontaire), et qui se sont assurés de mon confort durant ces voyages. Ils sont trop nombreux pour les nommer tous, mais à tous ceux de Dublin, de Portland, de Lisbonne, de Londres, de Zurich, de San Francisco, de Mountain View, de Dortmund, de Stockholm, de Hambourg, de Francfort, de Salt Lake City, de Blacksburg, de San Diego et d’Amsterdam : vous vous reconnaîtrez ; merci !

À ma famille, mes amis et mes collègues : merci de votre soutien et de votre patience vis-à-vis de moi durant cette dernière année. Vous ne m’entendrez plus dire : « je dois partir tôt, j’ai un livre à écrire » avant longtemps, c’est promis !

Anna, tu as cru en moi ; je n’aurais pas pu faire cela sans toi.

Noah

Je tiens à remercier O'Reilly pour leur enthousiasme vis-à-vis de CouchDB et pour avoir compris l’importance d’une documentation gratuite. Et bien sûr, je tiens à remercier Jan et J. Chris avec qui travailler fut fantastique. Mais des remerciements particuliers s’imposent pour la communauté de CouchDB tout entière, pour rendre tout cela agréable et captivant. Sans vous, les gars, rien de cela ne serait possible. Et si vous lisez cela, vous en faites partie !