Where can buy Reactive Patterns with RxJS for Angular A practical guide to managing your Angular application s data reactively and efficiently using RxJS 7 Lamis Chebbi ebook with cheap price
Where can buy Reactive Patterns with RxJS for Angular A practical guide to managing your Angular application s data reactively and efficiently using RxJS 7 Lamis Chebbi ebook with cheap price
com
OR CLICK BUTTON
DOWNLOAD NOW
https://textbookfull.com/product/reactive-programming-with-
rxjs-5-untangle-your-asynchronous-javascript-code-1st-edition-sergi-
mansilla/
textboxfull.com
https://textbookfull.com/product/ng-book-the-complete-guide-to-
angular-nate-murray/
textboxfull.com
https://textbookfull.com/product/angular-up-and-running-learning-
angular-step-by-step-shyam-seshadri/
textboxfull.com
https://textbookfull.com/product/ng-book-the-complete-guide-to-
angular-5-nathan-murray/
textboxfull.com
https://textbookfull.com/product/ng-book-the-complete-guide-to-
angular-9-nathan-murray/
textboxfull.com
https://textbookfull.com/product/ng-book-the-complete-guide-to-
angular-11-felipe-coury/
textboxfull.com
Reactive Patterns
with RxJS
for Angular
Lamis Chebbi
BIRMINGHAM—MUMBAI
Reactive Patterns with RxJS for Angular
Copyright © 2022 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, without the prior written permission of the publisher,
except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without warranty,
either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors,
will be held liable for any damages caused or alleged to have been caused directly or indirectly by
this book.
Packt Publishing has endeavored to provide trademark information about all of the companies
and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing
cannot guarantee the accuracy of this information.
Associate Group Product Manager: Pavan Ramchandani
Publishing Product Manager: Ashitosh Gupta
Senior Editor: Mark Dsouza
Content Development Editor: Divya Vijayan
Technical Editor: Shubham Sharma
Copy Editor: Safis Editing
Project Coordinator: Ajesh Devavaram
Proofreader: Safis Editing
Indexer: Rekha Nair
Production Designer: Alishon Mendonca
Marketing Coordinator: Elizabeth Varghese
ISBN 978-1-80181-151-4
www.packt.com
To my father, who taught me diligence, perseverance, and work ethic. Thank
you for always being there to support me and lift me up.
To my mother, who taught me selflessness and doing things with love.
Thank you for your enduring encouragement during the writing of this
book.
Preface
Part 1 – Introduction
1
The Power of the Reactive Paradigm
Technical requirements 4 The HTTP client module 7
Exploring the pillars of reactive The router module 8
programming 4 Reactive forms 13
Data streams 4 The event emitter 14
Observer patterns 5 The async pipe 15
2
RxJS 7 – The Major Features
Technical requirements 20 The firstValueFrom() method 25
Exploring the bundle size The lastValueFrom() method 26
improvements 20 Empty errors 26
3
A Walkthrough of the Application
Technical requirements 32 View five – the modify recipe interface 36
Our app's user stories 32 View six – the recipe details interface 37
Summary59
5
Error Handling
Technical requirements 62 Exploring error handling
Understanding the anatomy of patterns and strategies 63
an Observable 62 Handling error operators 64
Table of Contents ix
6
Combining Streams
Technical requirements 80 Exploring the declarative
Defining the requirement 80 pattern for filtering data 85
Exploring the imperative The combineLatest operator 86
pattern for filtering data 81 The declarative pattern pillars 87
Emitting a value when an action occurs 90
A look at the filter component 81
A look at the recipes list component 82 Summary94
7
Transforming Streams
Technical requirements 96 Learning about other useful
Defining the requirement 96 higher-order mapping
operators107
Exploring the imperative
pattern for autosave 97 The mergeMap operator 107
The switchMap operator 108
Exploring the reactive pattern
The exhaustMap operator 109
for autosave 100
Higher-order observables 101 Summary110
Higher-order mapping operators 101
The concatMap operator 102
9
Caching Streams
Technical requirements 126 Exploring the RxJS 7
Defining the requirement 126 recommended pattern to
cache streams 133
Learning about using
the reactive pattern to Highlighting the use cases of
cache streams 127 caching streams 134
Summary135
10
Sharing Data between Components
Technical requirements 138 Step two – updating the last-selected
recipe140
Defining the requirement 138
Step three – consuming the
Exploring the reactive pattern last-selected recipe 142
to share data 139
Step one – creating a shared service 139 Highlighting other ways for
sharing data 144
Summary145
11
Bulk Operations
Technical requirements 147 The pattern in action 151
Defining the requirement 148 Learning about the reactive
Learning about the reactive pattern for tracking progress 156
pattern for bulk operations 149 Summary157
The forkJoin operator 150
Table of Contents xi
12
Processing Real-Time Updates
Technical requirements 160 Connection management 164
Defining the requirement 160 Putting the pattern into action 166
Index
Other Books You May Enjoy
Preface
Switching to a reactive mindset is one of the biggest challenges when you start learning
Reactive programming using RxJS. I believe that the reactive mindset is gradually
achieved by learning reactive patterns and comparing the reactive way with the imperative
one to distinguish the difference and the benefits.
That's why I wrote this book, which gathers a set of reactive patterns applied in an
Angular application. Learning reactive patterns helps with managing your application's
data efficiently, writing clean and maintainable code, reacting to user changes faster, and
consequently, enhancing the user experience.
So, all that you have to do is get started!
Conventions used
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names,
filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles.
Here is an example: "In the try block, you place your risky statements, and inside catch,
you handle the possible exceptions."
A block of code is set as follows:
behaviourSubject$.subscribe({
next: (message) => console.log(message),
error: (error) => console.log(error),
complete: () => console.log('Stream Completed'),
});
When we wish to draw your attention to a particular part of a code block, the relevant
lines or items are set in bold:
behaviourSubject$.subscribe({
next: (message) => console.log(message),
error: (error) => console.log(error),
complete: () => console.log('Stream Completed'),
});
xvi Preface
$ mkdir css
$ cd css
Bold: Indicates a new term, an important word, or words that you see onscreen. For
instance, words in menus or dialog boxes appear in bold. Here is an example: "Select
System info from the Administration panel."
Get in touch
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at
[email protected] and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you have found a mistake in this book, we would be grateful if you would
report this to us. Please visit www.packtpub.com/support/errata and fill in the
form.
Piracy: If you come across any illegal copies of our works in any form on the internet,
we would be grateful if you would provide us with the location address or website name.
Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in
and you are interested in either writing or contributing to a book, please visit authors.
packtpub.com.
Preface xvii
In this section, you will understand the importance of using the reactive paradigm in
an Angular application, as well as the new features of RxJS 7. In the third chapter, we
will introduce the application that we are going to progressively build as we go through
the book.
This part comprises the following chapters:
Technical requirements
This chapter does not require an environment setup or installation steps. All the code
snippets here are just examples to illustrate the concepts. This book assumes that you have
a basic understanding of Angular and RxJS.
Data streams
Data streams are the spine of reactive programming. Everything that might change or
happen over time (you don't know when exactly) is represented as a stream, such as data,
events, notifications, and messages. Reactive programming is about reacting to changes as
soon as they are emitted!
An excellent example of data streams is UI events. Let's suppose that we have an HTML
button, and we want to execute an action whenever a user clicks on it. Here, we can think
of the click event as a stream:
//HTML code
<button id='save'>Save</button>
//TS code
const saveElement = document.getElementById('save');
saveElement.addEventListener('click', processClick);
Exploring the pillars of reactive programming 5
function processClick(event) {
console.log('Hi');
}
As implemented in the preceding code snippet, in order to react to this click event, we
register an EventListener event. Then, every time a click occurs, the processClick
method is called to execute a side effect. In our case, we are just logging Hi in the console.
As you might have gathered, to be able to react when something happens and execute
a side effect, you should listen to the streams to become notified. We can say listen or
observe to get closer to the reactive terminology. And this leads us to the observer design
pattern, which is at the heart of reactive programming.
Observer patterns
The observer pattern is based on two main roles: a publisher and a subscriber.
A publisher maintains a list of subscribers and notifies them or propagates a change every
time there is an update. On the other hand, a subscriber performs an update or executes a
side effect every time they receive a notification from the publisher:
This leads us to the building blocks of RxJS. They include the following:
• Observables: These are a representation of the data streams that notify the
observers of any change.
• Observers: These are the consumers of the data streams emitted by observables.
RxJS combines the observer pattern with the iterator pattern and functional programming
to process and handle asynchronous events.
This was a reminder of the fundamentals of reactive programming. Remember, it is
crucial to understand when to put a reactive implementation in place and when to
avoid it.
In general, whenever you have to handle asynchronous tasks in your Angular application,
always think of RxJS. The main advantages of RxJS over other asynchronous APIs are
listed as follows:
• RxJS makes dealing with event-based programs, asynchronous data calls, and
callbacks an easy task.
• Observables guarantee consistency. They emit multiple values over time so that you
can consume continuous data streams.
• Observables are lazy; they are not executed until you subscribe to them. This helps
with writing declarative code that is clean, efficient, and easy to understand and
maintain.
• Observables can be canceled, completed, and retrieved at any moment. This makes
a lot of sense in many real-world scenarios.
• RxJS provides many operators with a functional style to manipulate collections and
optimize side effects.
• Observables push errors to the subscribers and provide a clean way to handle errors.
• RxJS allows you to write clean and efficient code to handle asynchronous data in
your application.
Now that we have given some insight into the reactive programming pillars and detailed
the major advantages of RxJS, let's shed some light on the relationship between Angular
and RxJS.
Using RxJS in Angular and its advantages 7
Note
We recommend taking a quick look at https://angular.io/docs.
Here, you can find further details about the features mentioned earlier.
@Injectable()
export class RecipesService {
constructor(private http: HttpClient) { }
getRecipes(): Observable<Recipe[]> {
return this.http.get<Recipe[]>(`${BASE_PATH}/recipes/search/
8 The Power of the Reactive Paradigm
all`);
}
The following is the content of the environment.ts file where we define the
basePath property of our backend:
• Observables are cancellable, so you can cancel the HTTP request whenever you
want by calling the unsubscribe method.
• Also, you can retry HTTP requests when an error occurs or an exception is thrown.
• The server's response cannot be mutated by observables, although this can be the
case when chaining then() to promises.
Router events
The router exposes events as observables. The router events allow you to intercept the
navigation life cycle. The following list shows the sequence of router events:
• NavigationStart
• RouteConfigLoadStart
• RouteConfigLoadEnd
Using RxJS in Angular and its advantages 9
• RoutesRecognized
• GuardsCheckStart
• ChildActivationStart
• ActivationStart
• GuardsCheckEnd
• ResolveStart
• ResolveEnd
• ActivationEnd
• ChildActivationEnd
• NavigationEnd
• NavigationCancel
• NavigationError
• Scroll
Note
We recommend that you take a quick look at https://angular.io/
api/router/Event. Here, you can find further details about the events
and their order.
To intercept all the events that the router goes through, first, you should inject the
Router service, which provides navigation and URL manipulation capabilities. Then,
subscribe to the events observable available in the Router object, and filter the events
of the RouterEvent type using the rxjs filter operator.
This is an example of an Angular service that injects the Router object in the
constructor, subscribes to the router events, and just traces the event ID and path in the
console. However, note that you can also introduce pretty much any specific behavior:
You can filter any specific event by putting the target type. The following code example
only filters the NavigationStart event and traces the event ID and path inside the
console. However, you can also introduce pretty much any specific behavior:
@Injectable()
export class CustomRouteService {
constructor(public router: Router) {
this.router.events.pipe(
filter(event => event instanceof NavigationStart)
).subscribe((event: NavigationStart) => {
console.log(`The current event is : ${event.id} |
event.url`);
});
}
}
The majority of Angular applications have a routing mechanism. The router events change
frequently over time, and it makes sense to listen to changes to execute the side effects.
That's why observables are a flexible way in which to handle those streams.
Random documents with unrelated
content Scribd suggests to you:
— Ah ! Ah ! chien gâté ! Tu as beau faire le malin, je te tiens
quand même !
Camille pensa étouffer de rire…
Il conta la chose à son père. Celui-ci, au lieu de se réjouir, pria
Camille d’être un peu plus sérieux à l’avenir ; car, disait-il, on n’est
pas sur la terre pour s’amuser.
Camille, aussitôt, parla sérieusement. Il fit observer à son père
que les domestiques ne mangeaient pas souvent de bonnes choses
et qu’ils s’en plaignaient. Le père répondit que, s’il nourrissait ainsi
ses gens, c’était pour leur bien.
— Car, dit-il, les domestiques ne restent pas toujours chez le
même patron ; tu as pu remarquer que les nôtres s’en vont
régulièrement au bout de l’an. Eh bien ! lorsque ceux-ci, que tu
plains à la légère, nous quitteront, ils peuvent très bien tomber chez
des patrons peu fortunés ou avares. Si je les nourrissais trop bien
cette année, ils ne pourraient manquer, plus tard, de faire la
comparaison et ils seraient très malheureux.
— Je comprends ! dit Camille poliment.
Mais il ajouta :
— Je crois cependant qu’une soupe bien grasse, une bonne dinde
rôtie et quelques bouteilles choisies feraient leur affaire de temps en
temps ; et cela ferait aussi la mienne, par la même occasion.
— Paix ! dit M. Loubiau. Ici-bas, on peut songer à autre chose
qu’à bien manger.
— C’est vrai, répondit Camille ; ainsi quand on mange mal, on a
toujours la ressource de faire des tours pour s’amuser.
A ces mots, M. Loubiau connut son imprudence. Il regarda
Camille d’un air soupçonneux.
— J’ai eu tort, dit-il, de te laisser grandir parmi ces gens grossiers
et sans principes. Ils ont dû t’en apprendre plus d’une… Je parie que
tu sais des jurons et des gros mots ?
Camille baissa la tête car il savait tout cela et bien d’autres
choses encore.
— A partir de ce jour, dit M. Loubiau, tu ne fréquenteras plus les
domestiques, car il faut songer sérieusement à ton éducation et à
ton avenir.
— Bon ! pensa Camille, je vais donc manger des choses
succulentes, tant qu’il me plaira. Je gagne au change.
Il se trompait. La table de son père n’était pas beaucoup mieux
servie ; on y mangeait tristement des choses assez nourrissantes
mais peu agréables. On y mangeait souvent des haricots et des
pommes de terre. Or, Camille n’aimait ni les haricots ni les pommes
de terre. Avec la franchise de son âge, il le déclara à son père, en
retirant son assiette. Mais le père, aussitôt, ramena l’assiette et
l’emplit jusqu’au bord.
— J’aimerais mieux une aile de poulet, dit Camille plaintivement,
ou bien de la confiture de fraises.
— C’est bien pour cela, répondit son père, que tu dois manger
ces haricots. Car, si tu les aimais, où serait le mérite ? Ici-bas, il faut
savoir vaincre ses penchants. La vie est une chose sérieuse ; ce n’est
pas une fête perpétuelle mais bien plutôt un combat. Un enfant doit
faire ce qui ne lui plaît pas afin d’exercer sa volonté ; sans quoi, plus
tard, il ne serait pas digne du nom d’homme.
Camille retint la leçon et, comme il n’était pas sot, à quelques
jours de là, il parla ainsi :
— J’aime à présent les haricots à la folie ! S’il vous plaît, donnez-
m’en encore car j’en mangerais jusqu’à demain. Au contraire, je
serais bien malheureux si l’on m’offrait du pâté de foie gras ! Rien ne
me répugne autant que le pâté de foie gras, les gâteaux aux
amandes et le vin de Bourgogne…
— C’est bien, mon fils ! dit M. Loubiau.
Et il emplit l’assiette de haricots, puis versa de l’eau claire dans le
verre de Camille.
Celui-ci perdit un peu confiance aux discours de son père et il
n’essaya plus de jouer au plus fin avec les grandes personnes.
A chaque repas, sans rire ni plaisanter, il mangeait des haricots et
des pommes de terre. Son père l’exhortait au courage.
— Je pourrais, disait-il, te faire servir des mets plus délicats ; ma
fortune permet la bonne chère. Mais ce sera pour plus tard. En ce
moment, tu dois, avant tout, t’habituer aux privations ; car, bientôt,
tu iras au collège, où tu seras obligé de manger des haricots encore
bien pires. Tu aurais donc mauvaise grâce à te plaindre.
Camille atteignait en effet ses treize ans. Il n’était pas chagrin à
l’idée d’aller au collège, car, depuis qu’il ne fréquentait plus les
domestiques, il ne s’amusait pas beaucoup. D’autre part, il écoutait
les paroles de son père, mais il en pensait ce qu’il voulait.
— Au collège, se disait-il, la table doit être meilleure que chez
nous ; je mangerai moins de haricots et je boirai du vin.
Il arriva donc au collège dans les meilleures dispositions. Il y
rencontra des camarades qui ne semblaient pas enclins à se faire de
bile ; ces garçons connaissaient de bons tours et les pratiquaient.
Camille ne voulut pas être en reste. Il chanta donc quelques refrains
choisis qui eurent un gros succès ; il décrivit certaines scènes dont il
avait été témoin chez les domestiques et il fut encore très écouté.
Mais il avait gardé pour la bonne bouche un fameux tour…
Le lendemain de son arrivée, on servit au déjeuner quelques
moules qui nageaient dans une sauce pâle et très étendue.
— C’est le moment, pensa Camille, de leur montrer le coup du
charron !
Il commença donc par faire semblant de poursuivre une moule
avec sa cuiller, puis il se leva tout à coup, retroussa ses manches et
flouc !
— Je te tiens ! clama-t-il à tue-tête ; sale bête, je te tiens quand
même !
Les camarades, éclaboussés de sauce, riaient et criaient au fou.
Un surveillant accourut au bruit. Ce ne fut pas une petite affaire !
Pour commencer, Camille fut durement puni. Puis il comparut
devant un grand bonhomme sévère qui lui fit un discours semblable
aux discours de M. Loubiau, mais plus long et mieux balancé.
Camille apprit ainsi : 1o que la loi des hommes est le travail et la
douleur, non le jeu ; 2o que la vie de collège est l’apprentissage de la
vie en société ; 3o que, par conséquent, on ne vient pas au collège
pour s’amuser.
Camille avait encore, intact, son bon sens naturel. Il lui parut un
peu étonnant que, sous le fallacieux prétexte qu’il pourrait être
malheureux plus tard, il lui fallût, dès à présent, se mortifier et se
priver des plaisirs les plus innocents. Oui, cela lui parut un peu fort.
Cependant il ne manifesta aucun doute, se contentant de garder par
devers soi son opinion sur la bonne foi des grandes personnes.
— Si je ne dois pas m’amuser ici, pensait-il, j’aurais aussi bien fait
de rester à la maison… Heureusement, se disait-il encore, la table
est un peu mieux servie que chez mon père. Je n’ai encore vu ni
haricots ni pommes de terre et l’on boit un liquide qui ressemble à
du vin.
Hélas ! sur ce point également, il ne fut pas long à déchanter ! Le
soir même, les haricots firent leur apparition, salués comme de
vieilles connaissances par les anciens du collège. C’étaient des
haricots rouges, assez gros et recouverts d’une écorce luisante,
agréables, en somme, à considérer.
Un usage antique et vénérable voulait que les collégiens
nouveaux venus les attaquassent, en ce premier jour, non point avec
une fourchette ou une cuiller, mais avec une aiguille à tricoter. Les
haricots s’esquivaient, glissaient, roulaient comme des billes de
verre, et, enfin bloqués, opposaient encore une résistance opiniâtre.
Certains pauvres garçons, en cette occurrence, suèrent à grosses
gouttes, n’en pouvant venir à bout. Camille, au contraire, réussit
assez bien ; l’aiguille qu’il avait reçue d’un ancien était acérée et ni
l’adresse ni la force ne lui manquaient. Le jeu lui plut et ces premiers
haricots passèrent comme lettre à la poste.
Mais, le lendemain matin, parurent les pommes de terre, puis les
haricots revinrent et les pommes de terre et encore les haricots !… Et
le vin des carafes pâlissait à mesure !…
Les anciens du collège ricanaient en regardant la mine allongée
des nouveaux venus. Camille, qui avait un faible pour les bonnes
choses, en venait à regretter, sinon les repas de famille, du moins la
table des domestiques, cette table où l’on mangeait mal mais où l’on
riait de bons coups et où tout était permis.
— Mon Dieu ! murmurait-il, que je suis donc fatigué d’avaler
tristement ces tristes féculents !
D’autres pensaient comme lui. Un beau jour ils quittèrent la table
et tous ensemble, sautelant, se bousculant, ils allèrent trouver leurs
maîtres et risquèrent une plainte.
On leur répondit :
— Pour cette fois, vous ne serez pas punis trop sévèrement,
parce que vous avez péché seulement par irréflexion et légèreté.
Vous êtes jeunes ; vous ne savez pas !… Mais comment pouvez-vous
mépriser cette nourriture abondante et frugale ? N’avez-vous donc
jamais songé à l’avenir ? Êtes-vous assurés d’en avoir toujours
autant ?… Et d’abord, vous serez soldats, chers petits ! Vous porterez
cent cartouches, trois jours de vivres… Quels vivres ? Vous imaginez-
vous que les soldats sucent des pattes d’ortolans ?… Un soldat
mange, sans hésitation ni murmure, le contenu de sa gamelle, c’est-
à-dire presque toujours des haricots et des pommes de terre ; et il
boit l’eau pure des sources. Donc, vous devez, dès à présent, vous
préparer par une continuelle rusticité à ce dur métier que l’enfant
joue. Quelle tête ferait, devant sa gamelle, un garçon habitué à
lécher la crème sur le bord des petits plats ?
Camille et ses camarades se retirèrent, l’oreille basse. Par la
suite, bien que la cuisinière du collège ne fît aucun progrès, ils
jugèrent inutile de renouveler leur réclamation. Leurs maîtres,
d’ailleurs, prenaient les devants, ripostaient avant d’être attaqués.
Devant les plats de haricots rouges ou de pommes de terre, ils
s’écriaient :
— Mangez, chers enfants, mangez bien ! Vous n’êtes pas sûrs
d’avoir toujours une table aussi abondamment servie… Qui sait ce
que l’avenir vous réserve ?
Et ils ne manquaient point d’ajouter :
— Vous en verrez d’autres, quand vous serez soldats !
Les années passèrent et Camille devint un vieux collégien. Et
toujours il entendait le même discours. Chez lui, pendant les
vacances, son père lui disait de son côté :
— Reste sobre ! ne t’amollis pas ! Sans quoi, à la rentrée, tu ne
pourrais plus t’habituer au collège.
C’est ainsi que ce pauvre Camille, qui aimait les bonnes choses,
mangeait toujours les haricots exécrés et les pommes de terre
infernales. Comme il doutait un peu de la bonne foi des grandes
personnes, il n’avait même pas la satisfaction du devoir accompli.
Tous ses penchants naturels de bon garçon étaient d’ailleurs
combattus de la même manière. Intelligent et assez actif à ses
heures, le travail du collège ne l’embarrassait guère. Mais il eût aimé
rire, plaisanter, faire des tours ; cela lui était interdit.
— Car, disaient et répétaient les maîtres, la vie est un combat
sérieux auquel on ne se prépare point par des cabrioles et des
galipettes.
— Ça va bien ! ça va bien ! murmurait Camille dans les premiers
moments. En tous vos discours, il faut en prendre et en laisser.
Il en laissait.
Cependant, à force de recevoir des coups de marteau, un clou
finit par s’enfoncer. Peu à peu, Camille en venait à douter de lui-
même, à rougir un peu de ses désirs pourtant inoffensifs, naturels et
sensés. Pendant sa dernière année du collège, il s’attira fort peu de
réprimandes. Il était devenu moins gai, moins cordial, un peu bête.
Camille quitta le collège pour le régiment et se présenta avec
inquiétude devant sa gamelle. Elle contenait un horrible mélange de
chairs écrasées et de haricots multicolores. Il avala le tout en
fermant les yeux. Quelques minutes plus tard, on l’amena, ainsi que
ses camarades, devant un tas de pommes de terre qu’il fallait
éplucher pour le repas du soir. Ce n’était point pour faciliter sa
digestion ! Alors, il prit son courage à deux mains et il écrivit à son
père :
— Vous êtes riche, lui disait-il en substance, et je sais que vous
ne vous privez pas de grand’chose quand je ne suis pas à la maison.
Pendant que vous festoyez, votre malheureux fils avale toujours des
nourritures innommables. Lorsque j’étais au collège, je supportais
sans broncher les haricots et les pommes de terre, car je ne pouvais
faire autrement. Mais, ici, il y a une cantine où l’on vend des choses
appétissantes. Veuillez donc m’envoyer un peu d’argent afin que je
puisse m’acheter, de temps en temps, une chopine de vin, du pain
blanc et des rondelles de saucisson.
M. Loubiau n’envoya point d’argent, mais une lettre sévère.
— As-tu perdu la raison ? écrivit-il. Un soldat doit-il s’endormir
dans les délices de Capoue ? A quoi aurait donc servi l’excellente
éducation que tu as reçue chez ton père et au collège ?
Camille dut se contenter de sa gamelle et de sa boule de son. Il
regardait d’un œil d’envie certains camarades moins fortunés mais
moins bien élevés qui buvaient de bons coups en mangeant du
saucisson avec du pain de fantaisie.
A mesure que les semaines coulaient, la pitance devenait plus
mauvaise. Beaucoup de camarades de Camille et Camille lui-même
s’en plaignaient avec véhémence. Les autres, qui ne disaient rien,
n’en pensaient pas moins.
L’officier responsable entendait vaguement ces bruits et cela lui
portait sur les nerfs. Un jour il rassembla ses soldats et leur
commanda :
— Garde à vous !
Mais c’était une façon de parler ; cela n’épouvanta personne.
Et l’officier commença d’un air tranquille :
— J’ai pour principe de consacrer tous mes efforts au bien-être
de mes hommes. J’ai donc le droit de supposer que vous êtes
satisfaits. Cependant nul n’est tout à fait infaillible. J’aimerais donc
avoir de vous l’assurance que le régime vous convient en tous
points. Si par impossible, quelques-uns d’entre vous ont des griefs à
formuler, je les écouterai avec attention. Parlez sans crainte !
Les camarades de Camille le regardèrent et ses voisins les plus
proches lui poussèrent le coude.
— Vas-y, toi qui as de l’instruction !
Camille s’avança et parla avec prudence.
— Mon capitaine, dit-il, nous vous remercions de consacrer tous
vos soins à notre bien-être. Nous aurions mauvaise grâce à nous
plaindre ; nous ne nous plaignons donc point. Cependant, puisque
vous le voulez, nous avouons que nous sommes rassasiés de
haricots et de pommes de terre. Les pommes de terre, d’ailleurs,
sont avariées ; quant aux haricots ils ont acquis, au cours des âges,
une force de résistance vraiment invincible. Enfin, à notre humble
avis, une tranche de gigot ferait bon effet dans le rata, au lieu et
place des doigts de gants, bouts de chandelles, rameaux bénits et
autres curiosités que l’on y découvre habituellement.
Le capitaine releva sa moustache et répondit soudain :
— Très bien ! je vous sais gré, soldat, de cette franchise toute
militaire. Je préfère, moi aussi, le gigot aux bouts de chandelles et
morbleu ! je ne m’en cache pas ! Ceux qui ne seront pas contents
viendront me le dire !… Mais !… lorsque la guerre sera déclarée,
lorsque vous serez en campagne ou bien dans une ville assiégée,
vous n’y regarderez pas de si près avant d’avaler votre rata !… Il
vous arrivera peut-être de n’avoir à manger que vos bottes !… oui,
mon garçon ! que vos bottes !… Cela s’est vu dans l’histoire de
France… Estimez-vous donc heureux, au lieu de réclamer comme un
imbécile ! Et puis, d’abord, qu’avez-vous donc eu le toupet
d’insinuer ? Vous ne recevez que des légumes de première fraîcheur.
Les pommes de terre, si elles pouvaient parler, vous répondraient
sans doute qu’elles sont moins avariées que vous ne l’êtes vous-
même… et les haricots non plus ne doivent rien à personne !… Voyez
vos camarades ; est-ce qu’ils réclament, eux ? ne sont-ils point
enchantés de leur sort ? Alors, quoi ?… Dites-moi un peu ; vous
voudriez jouer à la mauvaise tête ? au meneur ?… Ça va bien ! vous
ferez huit jours de prison !
Camille comprit du premier coup. Il n’insista point. Par la suite,
quand ses camarades voulurent encore le faire parler en leur nom, il
s’effaça modestement.
— A vous l’honneur, chers amis !
Aussi, personne ne bougea plus. Il y eut cependant d’assez
mauvais moments. Les camarades de Camille juraient entre leurs
dents et leur mine s’allongeait. Camille jurait comme eux et même
un peu plus parce qu’il cherchait à comprendre, ce qui le fatiguait
beaucoup.
Le capitaine qui, sans doute, devinait tout ça, ripostait ferme.
— Bande de flemmards ! criait-il ; troupeau de goinfres ! je ne sais
qui me retient de vous fourrer au bloc !
Personne, malheureusement, ne le retenait !
Parfois il parlait comme un régent de collège.
— Vous vous croyez peut-être en villégiature chez des amis ?
détrompez-vous ! Le gouvernement vous paie pour que vous vous
prépariez à la guerre. Or la guerre n’est pas une plaisanterie facile.
Vous ne serez donc jamais assez rustiques, assez endurcis, assez
disciplinés ; en un mot, vous ne serez jamais assez malheureux.
Et tous les jours, il répétait d’un air menaçant :
— Vous verrez ça quand vous ferez la guerre ! Quand vous serez
dans une ville assiégée, il vous arrivera de le regretter, votre rata !
Comme il parlait seul, il semblait toujours avoir raison.
A la longue, Camille finissait par croire ce qu’on lui disait avec
tant d’insistance. Quand il avait de sourdes révoltes, il en rougissait
et il éprouvait des remords. Vers la fin de son temps de service, il
était devenu docile comme un petit caniche, un peu moins gai qu’à
sa sortie du collège et beaucoup plus abruti.
Or, à ce moment-là, alors que personne, au fond, n’y pensait
sérieusement, misère de misère ! la guerre, tout à coup, éclata…
La guerre est une si sale chose qu’il faut être un peu dénaturé
pour aimer à en parler longuement. Passons donc au plus court et
disons que Camille fit son devoir comme les autres. Il ne se trouva
point dans une ville assiégée et n’eut pas à ronger ses bottes. La
nourriture, pourtant, ne fut pas toujours de premier choix ; surtout,
les repas manquèrent de régularité : Camille en souffrit d’autant plus
qu’il avait l’estomac délabré à la suite de tant de privations.
Il rencontra souvent des camarades qui n’avaient jamais vécu au
collège ni même mangé à la gamelle, des garçons élevés à la diable
par des parents sans souci. Ces camarades, néanmoins, se battaient
bravement et le valaient bien.
Là-dessus, Camille faisait d’amères réflexions. Il baissait
tristement la tête lorsque l’un de ces bons vivants disait :
— Je serai peut-être tué demain, mais bast ! si ma vie est courte,
du moins, je n’aurai pas perdu mon temps !
— Moi aussi, pensait Camille, je serai sans doute tué demain,
mais je n’aurai pas connu le goût des bonnes choses !
Il adressa à son père une lettre un peu rude pour lui demander
de l’argent. Le père, vexé, envoya des remontrances et, néanmoins,
pour finir, sa bénédiction.
Camille perdit encore un peu de sa gaieté, devint presque
hargneux. Il supportait mal les privations ; quand la pitance était
maigre ou de mauvaise qualité, il grognait. Alors, il y avait toujours
par là quelque capitaine pour lui fermer la bouche.
On lui disait, s’il était au repos :
— Comment osez-vous donc vous plaindre ? songez à vos
malheureux camarades qui sont en ligne !… Pensez-vous qu’ils
mangent tranquillement la bonne soupe chaude, le rôti, la salade et
le dessert ?…
Et s’il était lui-même en ligne :
— Estimez-vous bien heureux de recevoir du pain comestible et
de la viande froide ! si, un jour, il vous arrive d’être fait prisonnier, on
vous collera dans un camp de représailles et alors, vous verrez ça !
Vous n’aurez que de l’orge pourrie, des betteraves crues et quelques
autres saletés, en toute petite quantité…
Ainsi, Camille se faisait toujours moucher.
Il ne fut cependant point emmené prisonnier. Il fit toute la guerre
et revint avec les vainqueurs.
Son père, lui, avait profité du désordre pour amasser encore de
nouvelles richesses. Mais à ce jeu, il s’était fatigué. Si bien qu’un
beau jour, au moment où Camille revenait, il finit par mourir, laissant
à son fils une grande fortune.
Camille se frotta les mains, passa sa langue sur ses lèvres.
— Attends un peu ! murmura-t-il ; cette fois, on va pouvoir
rigoler !
Sans perdre de temps, il essaya de goûter aux bonnes choses.
Mais voilà ! il ne savait pas du tout s’y prendre ; il manquait
d’habitude. D’autre part, il n’avait plus l’entrain endiablé de son
jeune âge. Certains plaisirs, autrefois violemment désirés, lui
semblèrent fastidieux. Il était un peu abasourdi et riait difficilement.
Dès les premiers moments, la bonne chère acheva de lui détraquer
l’estomac. Il tomba malade.
Très embêté, il alla trouver un médecin qui avait sa confiance.
— Guérissez-moi bien vite ! dit Camille ; car je voudrais prendre
du bon temps.
Le médecin le tripota consciencieusement, puis murmura :
— Ça sera long !
— Qu’est-ce donc qui sera long ? demanda Camille.
Le médecin le regarda dans les yeux.
— Vous êtes un homme, dit-il ; vous êtes même un héros ; on
peut vous dire la vérité… Eh bien !… mon pauvre garçon, vous avez
l’estomac fichu… Trop de soupers fins, trop de vins généreux… Que
voulez-vous ! on ne fait pas impunément la noce ; les excès se paient
un jour ou l’autre… Bref ! il n’y a pas trente-six façons d’y voir ; pour
vous en tirer sans trop de souffrances, il vous faudra suivre pendant
des années un régime sévère.
— Voyons ce régime ! balbutia Camille.
— C’est bien simple, répondit le médecin : Vie solitaire et
tranquille… ni viande, ni poisson, ni vin, ni café, ni liqueurs… bouillon
aux herbes, rigoureusement maigre, eau de Vichy, purées de
pommes de terre et de haricots décortiqués.
Camille verdit, puis jaunit. Instantanément un flot de bile s’était
mêlé à son sang.
Il n’en mourut point mais perdit le peu de gaieté qui lui restait
encore. Et, à partir de ce moment, la joie d’autrui commença aussi à
lui faire mal au cœur.
C’est ainsi que, né avec les meilleures dispositions pour rire,
s’amuser et réjouir la société, Camille est devenu un triste et
mauvais chien, comme feu son père.
EN SE DANDINANT
« Monsieur,
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com