Emacs Chat 28: Fabrice Niessen (en français)
| emacs-chat, emacs-chat-podcast, emacs, frenchNous avons parlé en direct avec Fabrice Niessen (Formation Emacs Boost) d'Emacs, de ses flux de travail, de sa configuration, et d'autres sujets en français.
J'ai essayé de corriger la transcription, mais je crois qu'il y a encore beaucoup d'erreurs, donc n'hésitez pas à m'envoyer un message.
- 0:00 Introduction
- 1:46 Le parcours
- 4:15 Emacs sur Windows : Cygwin et WSL
- 8:26 Les automatisations
- 12:15 Emacs Boost
- 21:15 Emacsclient
- 28:49 org-html-themes
- 35:02 Review
- 37:25 PDF
- 40:03 Key-chord
- 45:41 Copier sans sélectionner
- 48:29 fill-paragraph
- 50:02 Les macros
- 51:02 Volatile highlight
- 52:47 Les tableaux Org
- 55:43 Les formations et les cours particuliers
La transcription un peu corrigée
Details
C-x C-s, et puis tous les suivants. Et après les six mois, c'était donc en 95, c'est l'époque de la sortie de Windows 3.11, je pense. J'avais un ordinateur avec Windows 3.11. Après, j'ai repris les habitudes point and click, donc des interfaces graphiques. Jusqu'en 99, à peu près 99, où un de mes collègues, Dominique, utilise Emacs. Et en fait, à l'époque, on avait déjà du versionning au boulot et c'était PCL CVS, c'était CVS le versionneur, donc un ancêtre de Subversion et un ancêtre de Git. Et il y avait un mode PCL CVS d'utiliser dans Emacs. Et quand j'ai vu ça une fois, c'est en fait un peu ça qui m'a fait sauter le pas de me dire il faut que je retourne parce que retourne regarder Emacs. Parce que c'était beaucoup plus simple pour lui, il avait modifié ses fichiers dans Emacs, il avait son petit truc où il sélectionnait les quelques fichiers qu'il voulait committer, il les sélectionnait, il faisait je ne sais plus quel key binding, et puis il mettait son message de commit, C-c C-c, et voilà, c'était fait. Et donc quand j'ai vu ça, alors que moi, il fallait que je passe dans le shell, il fallait que je fasse sans doute des CVS add ou des choses comme ça, des quelques fichiers, c'était beaucoup plus long. Beaucoup plus compliqué. Donc, j'ai recommencé à me réintéresser à Emacs. J'ai utilisé son .emacs et puis j'ai retiré un petit peu de trucs et j'en ai rajouté énormément. Et c'est comme ça que ça a commencé. Et voilà, c'est fantastique. Évidemment, une fois qu'on rentre dans Emacs, c’est-à-dire le C-s, rien que ça, la puissance du C-s, l’incrémental search, c’est dingue. Donc, c'est comme ça que j'ai commencé et puis je n'ai pas pu m'arrêter. C-m qui apparaissaient, etc. Donc j'ai pas pris l'habitude d'utiliser le shell dans Emacs. Donc j'ai toujours, voilà, mon petit shell sur le côté, j'ai Emacs et j'ai le browser. En gros c'est mes trois, et puis alors... Pour le boulot, évidemment, Outlook. Mais sinon, c'est les trois applications que j'utilise vraiment le plus. C'est Emacs, le Shell et le Browser. Et j'ai envie d'avoir des ponts entre ces deux mondes. Donc ici, mon Shell, mon terminal et Emacs. Du style, je veux donc voir si je vais ouvrir un fichier. e qui en fait va faire emacsclient. Quand je fais ça, si tout se passe bien, voilà. Donc ici, il m'a ouvert ce fichier tout doux dans Emacs. Donc ça, c'est pour ouvrir un fichier. Je peux aussi ouvrir Le répertoire dans lequel je suis, ça ouvre le répertoire et je passe en direct. Par exemple, si j'étais dans ce repository Emacs Leuven, imaginons que je veux faire un guide status. J'ai aussi des alias évidemment pour... Si je veux faire un Git status, je vois qu'il y a ces fichiers-là. Je pourrais éventuellement vouloir garder les modifications. Je vais les faire avec Emacs. Je pourrais faire simplement up point pour me retrouver directement ici, dans le bon répertoire. Et comme ça, là, je vais faire, chez moi, je vais faire C-<f9>, qui va me lancer vc-dir sans me poser la question de savoir où je veux lancer vc-dir. Donc, mon C-<f9> ne prompte pas, il lance vc-dir sur le répertoire ou le fichier dans lequel je suis. Et donc, c'est avec ça que je commencerai. Ici, je regarderai les différences avec un égal. Je vais voir si c'est bon ou pas, puis je vais committer. Donc ça, c'est pour passer du shell vers Emacs. J’ai le petit e. Beaucoup de gens connaissent emacsclient, donc ce n'est pas très nouveau. J'ai juste abrévié en e. Deux choses qui sont plus marrantes ou plus utiles. Il y en a une qui est marrante et une qui est utile. Celle qui est marrante, c'est cate, qui est une petite fonction dans le terminal, un petit shell script, et qui fait un cate. Sacha: Cat plus Emacs. Fabrice: cat de ce qu'il y a dans Emacs. Donc, si je fais cate, il va en fait m'afficher le contenu du buffer working-dir. C'est génial. Si j'ai ce todo-là, par exemple, je peux faire ici si je fais cate, ou si j'en avais plusieurs, on peut imaginer que j'ai plusieurs fenêtres. Donc, si je vais ici, voilà. Pour l'instant, la fenêtre active, c'est celle-là. Donc, si je fais Cat, Cat, Ça va me remontrer ça. Si je mets mon curseur là et que je refais cate, ça va m'afficher l'autre fichier. Alors ça c'est plus... Et alors c'est emacsclient aussi. Alors ça c'est plus marrant, entre guillemets, parce que ça n'a pas beaucoup d'intérêt, sauf éventuellement, parfois. Imaginons que je ne sache pas faire un grep. Il y a des opérations que je connaîtrais mieux dans le terminal. Par exemple, compter le nombre de lignes. J'ai un petit... Je suis sous et j’ai un global w qui va me faire le compte. Donc ici, je vais savoir directement, voilà, j'ai 1397 lignes dans ce fichier-là. Ce qui revient à faire, juste pour expliquer, ça revient à faire pipe wc -l. Donc voilà, je pourrais faire ici aussi un grep, éventuellement, grep, je ne sais pas, test, je ne sais pas si j'ai... Voilà. Donc il y a toutes les lignes qui sont dans ce buffer là avec le mot test. Donc ça c'est plus marrant entre guillemets, c'est pas tout le temps utile. Par contre un qui est extrêmement utile, c'est imaginons que je sois, je vais ici me redéplacer dans mon route, dans mon home directory. Je suis dans le home directory et en fait ici dans Emacs, j'ai ouvert ce fichier là. Et j'aimerais bien faire le status, par exemple, le guide status, dans ce repo-là. Mais donc, il faut que j'aille dans le repo. Donc ici, si je fais C-x C-k, avec direct plus, je sais passer à la vue directe et je vois que le chemin d'accès, donc le chemin, c'est ~/.dotfiles/emacs-leuven. Donc, je pourrais faire ici cd slash... En fait, ça, ce qui est juste au-dessus. Mais si je veux l'automatiser, en fait, je peux faire cde. Donc cde, comme cate, c’était cat de ce qu’il y a dans Emacs, cde, c’est cd de ce qu’il y
a dans Emacs. Donc cde va me conduire là où je suis dans Emacs. Donc dans le même répertoire, voilà. Sacha: Je vais voler toutes les idées. Fabrice: C'est le but, parce que j'ai trouvé quelque part cette idée, et je l'ai peut-être un peu modifiée, mais c'est génial. Donc ici, maintenant, si je vais sur n'importe quel fichier, je ne sais pas si je prends de nouveau notre exemple ici, Readme. Est-ce que vous voyez assez grand ? Est-ce que je peux augmenter la taille aussi ? De la fonte. Donc ici, je suis dans le fichier que j'ai préparé pour cette présentation. C'est un autre repository. Imaginons que dans mon shell, je veuille retourner dans ce repository, cde. Et je suis dans le repository Emacs, Sacha Chua. Je peux faire mon guide status. Je suis directement bien placé. Je n'ai pas besoin de devoir taper des chemins d'accès. Sacha: Tu as aussi un script pour récupérer ou retrouver le nombre de fichiers qui est courant en Emacs dans la command line? Fabrice: Je ne l'ai pas, mais ce serait facile à faire puisqu'en fait, il y a ici ce que je... Imaginons que je veuille le faire. Je vais prendre quelques touches en plus. Je vais faire C-x C-j. Et puis... Je ne sais pas si vous savez, w, le petit
w, ça me copie. Donc, le contrôler, il me place dans direct sur le fichier en question. Et w, dans le presse-papier, le nom du fichier. Je pourrais faire cat. C'est facile d'implementer. Ce serait facile, parce qu'ici, je l'ai récupéré. cat, ceci. Donc j'ai directement le fichier comme ça. Donc ce serait extrêmement facile. Plus dur, ce sera de lui trouver un nom. À cette commande. Sacha: Génial, génial. C-c C-e h h, ça va générer. Voilà, c'est déjà fait. On voit ici dans l'écho area, ça va générer la version HTML. Et donc, oui, pour aller l'ouvrir, il y aurait moyen d'aller encore plus vite, etc. Ce que je fais encore toujours pour l'instant, je fais C-x C-j, je passe dans Dired. Et dans Dired, j'ai un petit raccourci qui est extrêmement pratique, que j'ai nommé pour l’instant o pour Open. Et en fait, ça ouvre le fichier sur lequel je suis en utilisant l'application standard Windows. Donc, c'est ça aussi l'intérêt ici. Donc, ça montre bien qu'avec WSL, je suis intégré avec mon Windows. Donc, en faisant O sur ce fichier-là, Ça va m'ouvrir Edge. Si je fais O sur le fichier PDF, ça va m'ouvrir sous Matra PDF. Parce que j'ai configuré dans Windows que mon lecteur, c'est sous Sumatra PDF. Et donc ici, je vais faire O. Et ça doit m'ouvrir ici. Alors voilà, ça m'ouvre un fichier. Vous voyez ? Et donc ça m'ouvre le fichier avec... Le fichier Org, mais avec une présentation beaucoup plus sympathique, beaucoup plus jolie, beaucoup plus agréable à lire. Sacha: Je l'adore. Fabrice: Elle est géniale, elle est magnifique. Et en fait, il y en a une deuxième, et je vais vous montrer des petits trucs de la deuxième, parce que je n'ai pas encore tout mis dans celle-ci. J'aurais bien porté des choses que j'avais créées dans l'autre, mais que je n'ai pas encore portées, donc j'aurais bien les partager dans tous les thèmes. Si je retourne ici dans mon fichier Org et que je mets Big Blow à la place, c'est le nom de l'autre thème. Je vais refaire un export. Cette fois-ci, je n'ai plus qu'à faire F5 ici pour faire un refresh. On a une autre vue où là, chaque section devient un tab. On a tous des tabs. Donc ça peut être aussi intéressant en fonction de la taille du fichier. Ça peut être aussi intéressant de voir une vue plus monolithique où on a tout en une seule page ou une vue avec des tables ici où on voit section par section ou chapitre par chapitre. Mais alors cette vue-ci, elle a des trucs un peu spéciaux. Donc j'ai notamment la possibilité de faire un collapse. On va aller à un endroit où j'ai ici... Quelques astuces, voilà. Donc j'ai collapse all ou extend all. Donc je peux collapser toutes mes sections. En fait, j'ai voulu faire comme dans Org. Et j'ai mes petites flèches ici. Donc je peux, en cliquant sur n'importe quel item, je peux l'expander ou le collapser. Donc si j'expand ou je collapse. Sacha: Pardon, je vais apporter des tissus à ma fille. Prot: C'est effectif comme ça, oui. Et tu as d'autres thèmes aussi ? Fabrice: Non, pas encore publics. J'en ai en deux, mais ils ne sont pas encore publics. Et donc voilà, ça peut être intéressant quand on a beaucoup de tâches, etc., pour pouvoir de nouveau, un peu comme dans le fichier Org, de collapser tout sauf un certain truc. Et alors, j'avais mis exprès ici, donc là j'ai deux tâches, j'ai fait deux tâches, en todo et en startit, avec des petites tags. Et en fait, j'ai même... Ici, un petit dashboard sur le côté. Il y a un petit truc dashboard qui s'est mis quand on l'ouvre. On voit le nombre de tâches en todo, le nombre de tâches en started. Donc, dynamiquement, ça va questionner, ça va afficher tous les statuts qui existent. Si j'en ai que deux dans tout mon fichier, c'était pour un petit exemple. Là, pareil, j'ai tous les tags et on peut même highlighter carrément tous les trucs qui sont en todo. C'est des flags, en fait. On peut les highlighter. Je peux highlighter et ça prend la couleur du todo. Comme ça, si je veux scanner tous les trucs qui seraient en todo, je peux les mettre en todo et je peux scanner, quand j'ai un long fichier, je peux scanner tout ce qu'il y a dedans. Et ça marche aussi, si je me souviens bien, avec les petits tags. Je peux highlighter toutes les tâches qui ont le tag personnel ou toutes les tâches qui ont le tag work d'un coup. Ça me permet de scanner, de regarder ce qui est important. C'est un peu un fonctionnement à la Org, mais dans le browser. r ? r, or click here to review. Exactement. Fabrice: C'est ce que je voulais te montrer. J'ai un petit truc en plus pour faire un vrai review. Si je clique sur r, ça va faire comme un narrowing. Tout le reste de l'écran va devenir foncer. Sauf la tâche, une tâche à la fois. Et donc ça va aller chaque fois sur la next tâche. Donc ici, quand je vais cliquer sur R, il va passer à la tâche suivante, qui est active, c'est-à-dire ici la tâche qui sera en start-it. Et donc ça collapse tout le reste. Et si je refais un r, ici c’est bloqué, donc je peux faire q pour quitter. Donc r, il va à la première tâche, et donc je vois cette première tâche ouverte, et puis il va à la deuxième. Donc on pourrait passer, scanner une par une toutes les tâches. Et ça va chaque fois mettre en évidence uniquement cette tâche-là. Et donc, je peux faire grand R, donc c’est pour faire le reverse, donc aller en arrière. Donc r, ça va vers le suivant, la tâche suivante. Si j'en ai que deux, on pourrait imaginer que j'en ai 100 dans un fichier. Et donc, je peux faire mon review comme ça et relire le truc et puis éventuellement changer. Ce qui serait génial, c'est de pouvoir changer le statut ici, etc. aussi. Et que ce soit répercuté vers le fichier Org, mais ce n'est pas le cas. C'est un petit ensemble de Org ici. J'ai aussi là un petit mini-talk, comme la mini-talk dans les chapitres LaTeX. Et donc vous voyez que simplement en mettant une ligne ici, BigBlow ou ReadTheDocs, On a accès à l'une ou l'autre. Je génère l'autre version. F5, voilà. Ici, il y a un petit truc de recherche en plus que je n'ai pas dans l'autre. J'ai des petites différences dans les deux thèmes. Et donc, ça, c'est l'export vers HTML. L'idée, c'est d'avoir... J'ai mis une référence ici, vers le repo. Et l'idée, c'est d'avoir 0 CSS à écrire. Une navigation confortable, une lisibilité plus grande, un rendu professionnel. eval-buffer. Donc ici, quand je dois évaluer ceci, je ferais, si je faisais comme avant, je ferais M-x, eval-buffer, Enter. vb en même temps. Donc, si je fais vb, il y a genre 100 ou 200 millisecondes. Donc ça doit être fait quasiment simultanément. Et le b peut être avant le v ou le
v avant le b. Et donc quand je fais les deux en même temps, vb, ça fait eval-buffer. Si vous voulez, alors ici on voit rien, c'est pas très visuel. Si vous voulez voir un truc, hh par exemple, quand je tape hh rapidement, ça fait la sélection d'abord du mot. Si je retape rapidement, ça grandit chaque fois la région. Donc ça fait un expand region. Et grand H, ça fait l’inverse, je retourne vers du plus petit au plus petit. xk par exemple, si je tape xk, ça va faire kill-buffer. Donc c'est chaque fois juste, si vous voulez voir dans ma configuration, où ça se trouve, Emacs Levenel, XK par exemple, voilà. Donc c’est là que j’ai mis other window, ww,
xj, ça fait le C-x C-k, donc le direct jump. Et le eval-buffer dont j’ai parlé, où est-ce qu'il est ? On va mettre un peu… Donc eval-buffer, voilà, vb, ça fait eval-buffer. Donc pratique ça pour écrire en français. Quand j'écris plus petit, plus petit, deux fois rapidement, donc il faut que ce soit chaque fois rapidement, ça va faire un insert de caractères guillemets français. Donc ici, je vais faire si je le fais lentement, il ne se passe rien. Si je le fais vite, il insère les guillemets. D'accord. Tant que j'y suis, vous avez vu aussi, si je fais plus petit, plus petit ici, et puis je fais un save, vous voyez que j'ai à ce moment-là ici une ligne bleue dans le gutter, dans le fringe. Donc j'utilise git-gutter, si je me souviens bien, de Dmitry, j'ai oublié son nom de famille. C'est diff-hl, de Dmitry Gutov. Sacha: Moi aussi. Fabrice: Ouais, ça doit être ça. Et donc ça me met en fonction, si j'efface ici des lignes, ça va mettre du rouge. Et si je fais une insertion, et si je fais des insertions, ça va mettre du vert. Donc je vois directement dans mon buffer, systématiquement, où est-ce que j'ai des choses qui ne sont pas encore commitées. Et alors pour, ça c'est la première customisation que j'ai indiquée, si je retourne dans mon... Je peux en même temps parler de F5 et F6. J'ai quelques trucs assez sympathiques. F5, ça va me faire... Si j'ai un seul window, quand je fais F5, ça me crée un deuxième window. Ça fait l’équivalent de C-x 2 ou de
C-x 3. En fonction de la place que j'ai. Donc si j'ai assez de place pour avoir 80 caractères présentés, il va passer à un mode vertical, côte à côte. Sinon, si j'ai moins d'espace, il va passer sur un mode dessus-dessous. Et si je suis à l'inverse, dans une situation avec plusieurs buffers, avec plusieurs windows, donc ici j'en avais encore une troisième, quand je fais F5, en fait, c'est l'équivalent de faire C-x 1, donc ça va faire Ça va garder uniquement la fenêtre qui était active. Et donc souvent, quand je dois passer d'un buffer à l'autre, quand je veux ouvrir autre chose, je vais faire F5, ça me crée un deuxième buffer. Et puis je vais mettre le contenu ici d'autres choses. Je vais retourner sur ma présentation. Et je voulais parler, par exemple, du C-w et du M-w sans sélectionner de région. Ça, pour moi, c'est un des trucs les plus... Les plus importants, que j'utilise tout le temps, tout le temps, tout le temps. Donc, imaginons que je veuille... Si je veux copier cette région-là, je dois commencer à sélectionner une région, et puis je vais pouvoir faire un copie. Si je veux, en fait, si je me rends compte... Imaginons que je veuille faire une ligne qui ressemble à celle-là, celle-ci, avec le kk. Imaginons que je veuille aussi faire qq, que
qq ait la même... Appel la même commande. Donc je pourrais dupliquer la ligne. J'ai aussi une petite commande pour dupliquer les lignes. Et sinon, en fait, il faut que je copie cette ligne-là. Dans un Emacs standard, pour copier la ligne, je dois aller au début de la ligne, faire la sélection, aller à la fin de la ligne et puis faire M-w. Et à ce moment-là, je peux la copier. En fait, c'est trop long pour moi. Donc j'étais là au milieu et donc je veux copier la ligne. Simplement, je vais prendre un autre exemple, je vais prendre celle-là. Je fais M-w. Et M-w, donc j’ai un advice au-dessus de
M-w. M-w, s’il n’y a pas de région, il considère que la région, c'est la ligne courante. Donc ici, si j’insère, je fais C-y, voilà. J'ai la ligne que j'avais mise dans le presse-papier. C-w, donc le cut, si on parle en Windows. Donc si je veux faire un cut de cette ligne-là, de nouveau, si je n'ai pas cette customisation-là, je vais devoir, au début de la ligne, sélectionner la région et puis je peux faire C-w. Mais avec la petite customisation, avec l'advice que j'ai, sur n'importe quelle ligne, je suis au milieu, C-w, ça fait le cut. Et donc ça m'arrive très souvent, si je veux supprimer, par exemple, ces trois lignes-là, alors je pourrais me remettre au début, puis sélectionner ma région, faire C-w. Ça ne me dérange pas que ça aille dans le presse-papier. Ou encore plus rapidement, je suis là-dessus et ces trois lignes qui ne m'intéressent plus, je fais C-w C-w C-w. Et les trois lignes ont disparu. C'est plus facile. C'est beaucoup plus rapide, c'est beaucoup plus facile. Le fait de pouvoir faire un copier ou un couper sans sélection. De nouveau, je reviens ici, je fais un M-w, et puis je vais là, C-y. Heureusement que j'ai Git, parce que là, je suis en train de casser mon fichier. Ce n'est pas grave parce que je vais faire un revert après. Mais bon, voilà, ça, c'est un truc extrêmement utile pour moi, ce C-w, M-w. Donc, j’ai mis un lien. Ceux qui veulent aller chercher les notes de cette présentation, j'ai mis un lien directement vers L'endroit, ça se trouve dans mon fichier de config Emacs qui est sur GitHub. Ça va ouvrir directement la section deletion and killing. Vous pourrez avoir le code. Ici, voilà le code qu'il faut copier si vous le voulez. Ça, c'est pour le cut. C'est un slick cut, ce que ça s'appelle. Et puis ici, pareil pour le copier. Donc le M-w, il faut copier ça. Et donc ça regarde, en fait, est-ce qu'il y a une région ou pas. Et s'il n'y a pas de région active, ça sélectionne la ligne courante. Sacha: J'adore ce genre de fonction, do what I mean. Fabrice: Oui, j'en ai plusieurs autres, mais exactement. M-q. Imaginons ici que je vais rajouter... Tiens, j'ai des trucs dans le presse-papiers, je peux les mettre là. J'avais upcase, la region. Donc maintenant, si je veux remettre en forme le paragraphe, je vais faire metacue. Et en fait, imaginons par exemple que je veuille... En fait, ça, c'était un paragraphe qui pourrait être beaucoup plus long. Je vais faire loremipsum. J'ai un yasnippet qui va me faire un message un peu plus long. Et imaginons que je veuille remettre ça en une seule ligne, parce que je dois copier ça, par exemple, dans Outlook. Et dans Outlook, ce sera moche si j'ai des retours dans la ligne physique à chaque fois. Ou si je veux le copier dans WhatsApp, un message. Donc, ce que je vais faire, en fait, je vais faire M-q. Il va faire l'inverse, il va toggler. Donc, mon M-q à moi, il tog… Donc, la première fois, il fait un M-q normal et la deuxième fois, il passe à la version sur une seule ligne. Quand je refais M-q, je repasse en version multiligne. Une seule ligne, plusieurs lignes, une seule ligne, plusieurs lignes. Sacha: Donc, ça fait un toggle. Fabrice: Donc, ça regarde la dernière commande. Si la dernière commande est déjà le M-q, alors je refais le M-q, mais dans l’autre sens. F3 et F4 qui, depuis
une dizaine d'années, ont été bindés pour les macros. J’utilisais Shift F8 pour définir une macro et
F8 pour l'exécuter. Donc Shift F8. Imaginons que je veuille supprimer les deux premiers caractères de la ligne. Ça n'a aucun sens, mais c'est pour l'exemple. Je vais faire Shift F8. Voilà. Non, je me suis trompé. Shift F8. Et donc on voit Define Keyboard Macro. Je vais supprimer les deux premiers caractères. Je passe à une suivante. Et je refais Shift F8. Et parce que j'étais en mode définition de macro, il sait qu'il doit arrêter la macro. Et puis pour l'exécution, ce sera juste F8 tout seul. C-x C-s, je suis sûr que mon document est correct. Je n'ai pas d'information incorrecte de table avec des erreurs, simplement parce que j'aurais oublié. Vous m'entendez encore ? Prot: Sacha, je ne peux pas t'écouter. Sacha: Je suis muette. M-w, C-w qui sélectionne la ligne
d’office s'il n'y a pas de région, tout ça en fait, le but c'est de le montrer, de l'expliquer et que les gens puissent ou bien utiliser mon Emacs Leven tel quel et puis connaître tout ce qu'il y a dedans ou bien aller piquer des choses intéressantes qui sont dans ce fichier-là. Sacha: Est-ce que tu es aussi disponible pour les cours particuliers comme le coaching de Prot ? Tu offres aussi les cours particuliers ? Fabrice: Absolument, absolument. Je suis passionné par Emacs et donc effectivement, des cours particuliers, je suis aussi tout à fait disponible à le faire. C'est le même enthousiasme pour... En français et en anglais. En français, en anglais, en irlandais et en espagnol. Sacha: C'est très cool. Tu as un autre rendez-vous. J'ai un fil. Merci beaucoup à Fabrice et à Prot. Prot: Merci, merci Sacha et Fabrice. Fabrice: Merci à vous. Merci beaucoup pour cette invitation. J'espère que ça donnera quelques idées. Je suis disponible pour... Pour toute question supplémentaire ou pour toute info supplémentaire, voilà, un grand plaisir. Sacha: À la prochaine, je pense que nous devons à une autre conversation. Fabrice: Avec grand plaisir. À la prochaine. Merci beaucoup. Prot: Au revoir, au revoir, à bientôt. Fabrice: Merci, au revoir.