= Guide de démarrage rapide WeeChat
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: fr
:toc: left
:toc-title: Table des matières
:sectnums:
:docinfo1:


[[start]]
== Démarrer WeeChat

Un émulateur de terminal recommandé pour X (mais pas obligatoire) est
rxvt-unicode : il a un bon support UTF-8, et aucun problème avec les
touches par défaut.

Lancer depuis votre shell :

----
$ weechat
----

[[help_options]]
== Aide en ligne / options

WeeChat dispose d'aide pour toutes les commandes, tapez simplement :

----
/help
----

Pour avoir de l'aide sur une commande, tapez :

----
/help commande
----

Pour modifier des options, tapez :

----
/set config.section.option valeur
----

(où `config` est le nom de la configuration (`weechat` pour le cœur, ou
un nom d'extension), `section` la section de cette configuration et
`option` le nom de l'option).

WeeChat utilise immédiatement la nouvelle valeur (vous n'avez *jamais*
besoin de redémarrer WeeChat après avoir changé la configuration).

Vous pouvez utiliser `/set` avec un nom partiel d'option et le caractère
joker "*" au début ou à la fin pour afficher toutes les options contenant
ces lettres.

Par exemple :

* Afficher toutes les options (WeeChat et extensions) :

----
/set
----

* Afficher les options WeeChat :

----
/set weechat.*
----

* Afficher les options de l'extension IRC :

----
/set irc.*
----

Vous pouvez afficher de l'aide sur une option avec `/help`, par exemple :

----
/help weechat.look.highlight
----

Toutes les options sont sauvées quand WeeChat quitte (ou avec la commande
`/save` pour forcer une écriture des options).

[IMPORTANT]
Il n'est *pas recommandé* de modifier les fichiers de configuration à la main
car WeeChat peut les écrire à tout moment (par exemple sur `/quit`) et après
chaque changement vous devez lancer la commande `/reload` (avec le risque de
perdre d'autres changements qui n'auraient pas été sauvés avec `/save`). +
Vous pouvez utiliser la commande `/set`, qui vérifie la valeur et applique
les changements immédiatement.

[[core_vs_plugins]]
== Cœur vs extensions

Le cœur de WeeChat ("core") ne fait qu'afficher les données à l'écran et
interagir avec l'utilisateur, cela signifie que le cœur sans extension
n'a pas grand intérêt (utilisateurs fidèles : IRC faisait partie du cœur
dans les versions ≤ 0.2.6).

Tous les protocoles réseau comme IRC sont fournis sous forme d'extensions.

Utilisez la commande `/plugin` pour voir les extensions chargées, vous
devriez voir "irc" et d'autres extensions dans cette liste.

[[add_irc_server]]
== Ajouter un serveur IRC

Vous pouvez ajouter un serveur IRC avec la commande `/server`, par exemple :

----
/server add freenode chat.freenode.net
----

Comme d'habitude, de l'aide est disponible si vous êtes perdus :

----
/help server
----

[[irc_server_options]]
== Définir les options du serveur IRC

WeeChat utilise des valeurs par défaut pour tous les serveurs, si vous ne
spécifiez pas de valeur spécifique pour une option de serveur.
Ces options par défaut sont "irc.server_default.*".

Pour chaque option d'un serveur, WeeChat utilise sa valeur si elle est
définie (non "null"). Sinon WeeChat utilise la valeur par défaut
("irc.server_default.xxx").

Par exemple il y a des pseudos par défaut (basés sur votre login un*x), et
vous pouvez les écraser pour le serveur freenode avec la commande suivante :

----
/set irc.server.freenode.nicks "pseudo,pseudo2,pseudo3,pseudo4,pseudo5"
----

Pour modifier le nom d'utilisateur et nom réel :

----
/set irc.server.freenode.username "Mon nom d'utilisateur"
/set irc.server.freenode.realname "Mon nom réel"
----

Pour activer la connexion automatique au serveur lors du démarrage :

----
/set irc.server.freenode.autoconnect on
----

Pour se connecter avec SSL :

----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
----

Si SASL est disponible sur le serveur, vous pouvez l'utiliser pour
l'authentification (vous serez identifié avant de rejoindre les canaux) :

----
/set irc.server.freenode.sasl_username "pseudo"
/set irc.server.freenode.sasl_password "xxxxxxx"
----

Pour lancer une commande après connexion au serveur, par exemple pour
s'authentifier auprès de nickserv (seulement si vous n'utilisez pas SASL pour
l'authentification) :

----
/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"
----

[NOTE]
Plusieurs commandes dans l'option _command_ peuvent être séparées par `;`
(point-virgule).

Si vous souhaitez protéger votre mot de passe dans les fichiers de
configuration, vous pouvez utiliser les données sécurisées.

Définissez d'abord une phrase de chiffrement :

----
/secure passphrase this is my secret passphrase
----

Puis ajoutez une donnée sécurisée avec votre mot de passe freenode :

----
/secure set freenode_password xxxxxxx
----

Vous pouvez alors utiliser `+${sec.data.freenode_password}+` au lieu de votre
mot de passe dans les options IRC mentionnées ci-dessus, par exemple :

----
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----

Pour rejoindre automatiquement des canaux lors de la connexion au serveur :

----
/set irc.server.freenode.autojoin "#canal1,#canal2"
----

[TIP]
Vous pouvez compléter le nom et la valeur des options avec la touche kbd:[Tab]
et kbd:[Shift+Tab] pour une complétion partielle (utile pour les mots longs
comme le nom de l'option).

Pour supprimer la valeur d'une option du serveur et utiliser sa valeur par
défaut à la place, par exemple pour utiliser les pseudos par défaut
(irc.server_default.nicks) :

----
/set irc.server.freenode.nicks null
----

Autres options : vous pouvez modifier les autres options avec la commande
suivante ("xxx" est le nom d'une option) :

----
/set irc.server.freenode.xxx valeur
----

[[connect_to_irc_server]]
== Se connecter au serveur IRC et rejoindre les canaux

----
/connect freenode
----

[NOTE]
Cette commande peut aussi être utilisée pour créer et se connecter au serveur
sans utiliser la commande `/server` (dois-je répéter que vous pouvez voir
l'aide pour cette commande avec `/help connect` ?).

Par défaut, les tampons des serveurs sont mélangés avec le tampon _core_
WeeChat. Pour basculer entre le tampon _core_ et les tampons des serveurs, il
faut utiliser la touche kbd:[Ctrl+x].

Il est possible de désactiver le mélange des tampons serveurs pour avoir un
tampon distinct par serveur :

----
/set irc.look.server_buffer independent
----

[[join_part_irc_channels]]
== Rejoindre/quitter les canaux IRC

Rejoindre un canal :

----
/join #channel
----

Quitter un canal (en laissant le tampon ouvert) :

----
/part [message de fin]
----

Fermer un tampon serveur, canal ou privé (`/close` est un alias sur
`/buffer close`) :

----
/close
----

[WARNING]
Fermer le tampon du serveur fermera tous les tampons canaux/privés.

Se déconnecter du serveur, sur le tampon du serveur :

----
/disconnect
----

[[irc_private_messages]]
== Messages privés IRC

Ouvrir un tampon et envoyer un message à un autre utilisateur (pseudo _foo_) :

----
/query foo ceci est un message
----

Fermer le tampon privé :

----
/close
----

[[buffer_window]]
== Gérer les tampons/fenêtres

Un tampon ("buffer") est un composant lié à une extension, avec une
catégorie et un nom. Le tampon contient les données affichées à l'écran.

Une fenêtre ("window") est une vue sur un tampon. Par défaut il n'y a
qu'une fenêtre affichant un tampon. Si vous divisez l'écran, vous verrez
alors plusieurs fenêtres avec plusieurs tampons en même temps.

Commandes pour gérer les tampons et les fenêtres :

----
/buffer
/window
----

(je ne répéterai pas que vous pouvez avoir de l'aide sur ces commandes
avec /help)

Par exemple, pour découper verticalement l'écran en une petite fenêtre
(1/3 de la largeur) et une large (2/3), utilisez la commande :

----
/window splitv 33
----

Pour supprimer le découpage :

----
/window merge
----

[[key_bindings]]
== Raccourcis clavier

WeeChat utilise un certain nombre de touches par défaut. Toutes ces
touches sont dans la documentation, mais vous devriez connaître au moins
les touches vitales :

- kbd:[Alt+←] / kbd:[Alt+→] ou kbd:[F5] / kbd:[F6] : aller au tampon
  précédent/suivant
- kbd:[F7] / kbd:[F8] : aller à la fenêtre précédente/suivante (quand l'écran
  est divisé)
- kbd:[F9] / kbd:[F10] : faire défiler la barre de titre
- kbd:[F11] / kbd:[F12] : faire défiler la liste des pseudos
- kbd:[Tab] : compléter le texte de la barre d'entrée, comme avec votre shell
- kbd:[PgUp] / kbd:[PgDn] : faire défiler le texte dans le tampon courant
- kbd:[Alt+a] : sauter au tampon avec de l'activité (dans la "hotlist")

Selon votre clavier et/ou vos besoins, vous pouvez associer n'importe
quelle touche à une commande avec la commande `/key`.
Une touche utile est kbd:[Alt+k] pour trouver le code des touches.

Par exemple, pour associer kbd:[Alt+!] à la commande `/buffer close` :

----
/key bind (pressez alt-k) (pressez alt-!) /buffer close
----

Vous aurez une ligne de commande qui ressemble à ceci :

----
/key bind meta-! /buffer close
----

Pour enlever la touche :

----
/key unbind meta-!
----

[[plugins_scripts]]
== Extensions/scripts

Sur certaines distributions comme Debian, les extensions sont disponibles
via un paquet séparé (par exemple weechat-plugins).
Les extensions sont automatiquement chargées lorsqu'elles sont trouvées
(merci de regarder la documentation WeeChat pour charger/décharger des
extensions ou des scripts).

De nombreux scripts externes (de contributeurs) sont disponibles pour WeeChat,
vous pouvez télécharger et installer les scripts avec la commande `/script`,
par exemple :

----
/script install go.py
----

Voir `/help script` pour plus d'infos.

Une liste des scripts est disponible avec `/script` ou à cette URL :
https://weechat.org/scripts

[[more_doc]]
== Plus de documentation

Vous pouvez maintenant utiliser WeeChat et lire la FAQ/documentation pour
toute autre question : https://weechat.org/doc

Bon WeeChat !
