# Le manuel de &ksirc;

Andrew Stanley-Jones

    asj@chowtown.cban.com

Philip Rodrigues

    phil.rod@ntlworld.com

Éric Bischoff

    e.bischoff@noos.fr

Traduction française
2002-02-07
1.2.00
&FDLNotice;

Cette documentation décrit &ksirc; version 1.1, le client &irc; de &kde;.

KDE KSirc irc Internet relay chat

## Introduction

&ksirc; est le client &irc; par défaut de &kde;. Il peut être contrôlé par des scripts Perl et est fortement compatible avec &mirc; pour ce qui est de l'utilisation de base.

## Utilisation de &ksirc;

### Si vous n'avez encore jamais utilisé l'&irc;...

&irc; est en fait un protocole de discussion ("chat") défini par des standards officiels de l'Internet et capable de vous dérober de nombreuses heures de votre vie. Pour utiliser &irc;, vous devez vous connecter à un serveur puis joindre un canal de discussion (l'équivalent d'un salon où l'on discute).

Pour vous connecter è un serveur, ouvrez &ksirc; et sélectionnez Connexions Nouveau serveur... ou appuyez sur F2. Dans la boîte de dialogue qui s'affiche, choisissez un groupe dans la liste déroulante de gauche et un serveur dans la liste déroulante du milieu. Le port, affiché sur la droite, vaudra pratiquement toujours 6667. Une nouvelle fenêtre s'ouvre et affiche les messages envoyés par le serveur au client. Quand ces messages on fini de défiler, il vous faut choisir votre canal. Pour afficher une liste des canaux disponibles, tapez ``/list``. Pour vous joindre à un canal, tapez : ``/join` #nomducanal`. Pour quitter un canal, tapez seulement ``/part``.

Vous voila en possession des techniques de base. Pour plus d'informations, continuez à lire la suite...

### Techniques de base avec &ksirc;

#### Les serveurs

&ksirc; vous permet de vous connecter à un nombre de serveurs arbitraire. Pour vous connecter à un serveur, choisissez Connexions Nouveau serveur... ou appuyez sur F2. Le dialogue de connexion apparaît, et vous pouvez alors choisir un Groupe, puis un Serveur, ainsi qu'un Port auxquels vous connecter.

Cliquez sur Connexion quand vous avez fini, et une nouvelle fenêtre propre au serveur apparaît. Vous pouvez à tout moment savoir à quels serveurs vous êtes connecté grâce à la fenêtre Configuration du serveur de &ksirc;.

#### Les canaux

Vous pouvez vous connecter aux canaux grâce à la commande ``/join`` normale, en choisissant Connexions Se joindre à un canal... ou en appuyant sur F3.

Les canaux auxquels vous êtes connecté apparaissent dans la fenêtre Server Control en dessous du serveur auquel ils appartiennent. Pour quitter un canal, vous pouvez utiliser la commande `/part`, choisir Canal Fermer ou appuyer sur &Ctrl;W.

#### Les options liées au canal

Le menu Canal, disponible dans les fenêtres de canal, contient quelques options utiles :

&Ctrl;T Mode bandeau lumineux

  Affiche le canal comme un bandeau lumineux de cours de la bourse ou de nouvelles en temps réel. Notez que ce mode ne vous permet pas de saisir du texte dans le canal. Pour sortir du mode bandeau lumineux, cliquez sur le &BDS;, et choisissez Cacher....

&Ctrl;S Enregistrer vers le fichier de log...

  Enregistre le contenu du canal dans un fichier.

&Ctrl;A Horodatage

  Précède tout ce qui a été dit dans le canal de l'heure à laquelle ça a été dit, sous la forme HH:MM:SS

#### Utilisateurs

Dans chaque canal, la liste des utilisateurs est affichée sur la droite. En cliquant avec le &BDS; dans cette liste sur un pseudo vous donne accès à des options, dont la plupart sont faciles à comprendre :

Refresh Nicks

  Envoie un message au serveur demandant la liste des utilisateurs du canal.

Follow

  Suit l'utilisateur dans tout canal où il peut aller.

unFollow

  Arrête de suivre l'utilisateur.

Whois

  Envoie une requête &CTCP; whois à l'utilisateur, qui renvoie des informations sur l'utilisateur, comme son nom d'ordinateur et le serveur auquel il est connecté.

Ping

  Envoie une requête &CTCP; Ping à l'utilisateur, pour déterminer la durée de l'écho avec cet utilisateur.

Version

  Envoie une requête &CTCP; Version à l'utilisateur, pour déterminer quel logiciel il utilise.

Abuse

  Se permet des familiarités amusantes avec l'utilisateur.

Les commandes qui suivent ne sont disponibles que si vous êtes un opérateur du canal :

Kick

  Éjecte l'utilisateur du canal.

Ban

  Bannit l'utilisateur en l'empêchant de rejoindre le canal.

unBan

  Retire la mesure de bannissement de l'utilisateur.

Op

  Donne à l'utilisateur les privilèges d'opérateur.

DeOp

  Retire les privilèges d'opérateur à l'utilisateur.

## Configuration de &ksirc;

### Introduction au processus de configuration

La boîte de dialogue de configuration de &ksirc; peut s'obtenir grâce à Options Configuration... dans la fenêtre Configuration du serveur de &ksirc;.

### L'onglet Général

#### Mode des fenêtres

Mode SDI (ancien comportement)

  Fait en sorte que &ksirc; utilise le mode d'interface document unique, dans laquelle chaque canal ou fenêtre `/query` utilise sa propre fenêtre séparée.

Mode MDI (XChat)

  Fait en sorte que &ksirc; utilise le mode d'interface documents multipls, à la manière de XChat, dans lequel chaque nouveau canal ou fenêtre `/query` dispose d'un onglet dans une fenêtre principale unique de &ksirc;. Chaque fenêtre peut être amenée à l'avant-plan en cliquant sur son onglet.

#### Réglages Divers

Création automatique de fenêtres

  Si cette option est cochée, &ksirc; créera automatiquement une nouvelle fenêtre chaque fois qu'un utilisateur s'adresse à vous avec `/msg`. Si cette option n'est pas cochée, les textes qui vous sont envoyés avec `/msg` seront affichés dans la fenêtre actuelle et vous pouvez utiliser `/query nom_d_utilisateur` pour créer une fenêtre dans laquelle discuter avec cet utilisateur.

Complètement automatique du pseudo

  Si cette option est cochée, les pseudonymes seront complétés de la manière suivante :

  1. Tapez d'abord les premières lettres du pseudonyme d'un utilisateur

  2. Appuyez sur tabulation. Le texte que vous avez tapé sera complété afin de correspondre au nom d'un utilisateur, sans distinction de différence entre les majuscules et les minuscules. Par exemple `phi<TAB>` devient `PhilRod` s'il existe un utilisateur nommé PhilRod dans le canal de discussion.

  3. Si plusieurs pseudos sur le canal correspondent au texte que vous avez tapé, le premier dans la liste est choisi. En appuyant sur tabulation une fois supplémentaire, le prochain pseudo dans la liste est affiché. Par exemple, s'il y a des utilisateurs PhilA et PhilRod sur un canal, et si vous saisissez `phi<tabulation>`, le texte sera complété jusqu'à former `PhilA`, et si vous appuyez à nouveau sur tabulation, il se changera en `PhilRod`.

Afficher le sujet dans le titre

  Affiche le suject du canal actif dans la barre de titre de la fenêtre. Si cette option n'est pas cochée, le sujet n'est affiché que dans la fenêtre elle-même.

Horodateur

  Précède tout ce qui a été dit dans le canal de l'heure à laquelle ça a été dit, sous la forme [HH:MM:SS].

Bip en cas de notification

  Si cette option est cochée, un bip système sera généré chaque fois qu'un utilisateur de votre liste `/notify` se connecte sur le serveur &irc; où vous vous trouvez.

Menu contextuel de la palette de couleurs

  Si cette option est cochée, un fenêtre dans laquelle vous pouvez choisir la couleur de votre texte apparaîtra à chaque fois que vous appuirez sur &Ctrl;K. Si cette case n'est pas cochée, vous devrez saisir manuellement les codes couleur. Voir également .

Rejoindre automatiquement

  Rejoint le canal automatiquement si vous êtes déconnecté.

Longueur de la fenêtre d'historique

  Enregistre autant de lignes de discussion dans chaque fenêtre qu'il est spécifié ici, ce qui vous permet de faire défiler la fenêtre vers le haut pour voir ce qui a été dit par le passé.

#### Configuration du Papier peint

Dans la section Papier peint, vous pouvez changer l'image de fond de vos fenêtres de &ksirc;. Vous pouvez saisir le nom du fichier à utiliser dans la zone de texte, ou alors parcourir les fichiers grâce au bouton à droite de la zone de texte. Les fichiers image spécifiés doivent être au format &GIF;, JPEG ou PNG. Un aperçu de l'image s'affiche sur la droite de la boîte de dialogue.

### L'onglet Démarrage

Vous pouvez configurer dans cet onglet les réglages de démarrage de &ksirc;.

#### Configuration de l'identité

Pseudo

  Vous permet de configurer votre pseudonyme.

Pseudonyme de rechange

  Indique le pseudonyme à utiliser si votre pseudonyme principal est déjà pris par quelqu'un d'autre.

Nom réel

  Votre nom dans la vie, tel qu'il sera indiqué par la commande `/whois` lancée avec votre pseudo en argument.

#### Liste de notification

Vous pouvez entrer ici une liste des utilisateurs que vous souhaitez voir figurer sur votre liste `/notify` lors du lancement de &ksirc;. Vous serez prévenu à chaque fois qu'un des utilisateurs de cette liste se connecte.

### L'onglet Couleurs

Vous pouvez configurer ici l'usage que &ksirc; fait des couleurs.

#### Configuration des Couleurs

Vous pouvez configurer ici les couleurs pour chaque type de texte. En cliquant sur le bouton à droite de l'intitulé de chaque type de texte, une liste de sélection de la couleur apparaît. Vous pouvez y choisir la couleur à utiliser pour afficher ce texte.

#### Couleurs des pseudos dans les canaux

Texte : et Fond : permettent de définir les couleurs de texte et de fond des pseudos dans les fenêtres de discussion. La Couleur des messages contenant votre pseudo définit la couleur des messages qui apparaissent dans un canal et qui contiennentvotre pseudo.

#### Autorisation des couleurs externes

Vous pouvez choisir ici si &ksirc; permet les codes de couleurs natifs (voir ) et également si les codes de couleurs de &mirc;.

## Les couleurs de &ksirc;

&ksirc; suit le code de couleurs établi par &mirc; avec de légères variations permettant un usage personnel plus avancé.

    <fg> == couleur de texte
    <bg> == couleur de fond
    [] == optionnel

### Compatibilité avec &mirc;

Format :

- `0x03<fg>[,<bg>]` définit les couleurs de texte et de fond

- `0x03` revient aux valeurs par défaut pour cette ligne

### Propre à &ksirc;

Format :

- `˜<fg>[,<bg>]` règle les couleurs de texte et de fond

- `˜c` revient aux valeurs par défaut

- `˜b` passe en mode gras

- `˜u` passe en mode souligné

- `˜i` passe en mode italique

- `˜r` passe en mode vidéo inverse

Pourquoi ai-je modifié &ksirc; pour utiliser ˜ au lieu de 0x03 (&Ctrl;C) ? Eh bien, il est dur d'utiliser 0x03 dans des scripts, et certaines fonctions C semblent ne pas l'aimer. `˜lettre` permet également de disposer de plus de commandes sans entrer en conflit avec de futurs changements de &mirc;.

### Numéros de couleurs

1. blanc

2. noir

3. bleu

4. vert

5. rouge

6. brun

7. violet

8. orange

9. jaune

10. vert pâle

11. cyan

12. cyan pâle

13. bleu pâle

14. rose

15. gris

16. gris pâle

### Envoyer en gras, souligné, inverse et en couleur

Vous pouvez utiliser les combinaisons de touches suivantes pour insérer des codes de contrôle dans le texte :

- &Ctrl;B pour du texte gras

- &Ctrl;U pour du texte souligné

- &Ctrl;R pour du texte inversé

- &Ctrl;K pour du texte en couleur

- &Ctrl;O pour du texte normal

### Exemples

Pour souligner un mot isolé dans une phrase :

- Tapez &Ctrl;U

- Tapez le mot

- Tapez à nouveau &Ctrl;U

Seul le texte qui est entouré par les codes de début et de fin sera affecté. Vous pouvez utiliser cette méthode avec tous les autres codes de contrôle.

Le code de contrôle &Ctrl;K est légèrement différent car il vous permet de spécifier un code de couleur. Pour colorer un mot isolé dans une phrase :

- Tapez &Ctrl;K

- Tapez un nombre entre 0 et 15

- Tapez le mot

- Tapez à nouveau &Ctrl;K

Si vous souhaitez également changer la couleur de fond d'un mot, vous devrez saisir deux nombres séparés par une virgule au lieu d'un seul nombre. Le premier nombre indique la couleur de texte, le second indique la couleur de fond. Les couleurs vont de 0 à 15, l'affectation des codes de couleur étant retaillée dans la section précédente.

Vous pouvez entourer du texte de plusieurs codes de contrôle, pour obtenir par exemple un mot souligné, gras et en couleurs.

## Filtres

### Les règles de filtrage, et comment les établir

Si vous ne pouvez simplement pas vous y mettre, attendez. J'ai l'intention de construire un constructeur de filtres sympathique que vous pourrez manipuler en n'utilisant que la souris. Cela pourrait toutefois prendre un certain temps.

Le filtre essaye de trouver la chaîne de Correspondance et utilise ensuite De et En pour effectuer la substitution. Les chaînes de Correspondance, De et en sont toutes des expressions rationnelles Perl. Les règles sont évaluées du haut vers le bas. La règle du haut est évaluée la première, puis la seconde à partir du haut, etc. Toutes les chaînes sont évaluées comme suit :

`$nom` est remplacé par la variable d'environnement `nom`. C'est fait immédiatement après avoir saisi la règle, et ne sera plus changé par la suite. C'est donc probablement d'intérêt limité.

`$$nom` est remplacé par la variable Perl `$nom` lors de la correspondance. Cela peut désigner des sous-chaînes substituées comme `$1` ou `$2`, ou les variables normales disponibles sous sirc (comme `$nick`, `$channel`, &etc;).

`˜nom˜` mis au début de la ligne une fois et une seule enverra la ligne de texte vers la fenêtre intitulée nom. Si la fenêtre n'existe pas, elle ira dans la dernière fenêtre ayant eu le focus. Il y a plusieurs fenêtres spéciales, toutes ayant un nom commençant par un seul `!` :

`!default`

  La fenêtre par défaut courante. Fonctionne dans tous les cas.

`!all`

  Envoie vers chaque fenêtre. N'apparaît pas forcement dans toutes les fenêtres, en fonction de la façon dont le texte est analysé. Par exemple, les fenêtres affichant des canaux de discussion n'afficheront pas un `/part` ou un `quit` si le pseudo n'est pas présent sur le canal.

`!discard`

  élimine le texte.

Le reste de l'expression est traité comme une expression rationnelle Perl normale. Si une bonne connaissance de la page de manuel `perlre` est certainement utile, il est tout au moins très probablement nécessaire de comprendre les notions de base des expressions rationnelles.

### Exemples :

1. Pour convertir tous les diamand de diamand en diamant

       Correspondance : .*
       De : diamand
       En : diamant

   Relativement élémentaire, dans n'importe quelle chaîne, remplace diamand en diamant.

2. Pour chercher tout ce qui contient diamant et l'envoyer vers la fenêtre intitulée diamant

       Correspondance : diamant
       De : ˆ
       En : ˜diamant˜

   Cherche diamant, et s'il est trouvé, remplace le début de la chaîne (ˆ) par ˜diamant˜.

3. Bien que cette solution fonctionne, si la chaîne contient déjà `˜mafenetre˜`, vous obtiendrez deux `˜diamant˜˜mafenetre˜...`. Vous pouvez donc plutôt utiliser

       Correspondance : diamant
       De : ^(?:˜\S+˜)
       En : ˜diamant˜

   Bon, celui-ci est un peu plus compliqué. Il indique qu'il faut chercher 0 ou 1 copie de `˜\S+˜`, c'est-à-dire une tilde, un ou plusieurs caractères différents d'un espace, et enfin une autre tilde. Les paranoïaques pourront essayer `(*:˜\S+˜)` qui couvre 0 ou plus de directives de canal aux cas où des règles précédentes seraient invalides.

4. Les messages d'expulsion du serveur ont tendance à être longs, laids et ennuyeux. Des messages ordinaires sur dalnet ressemblent à :

       *** Notice -- Received KILL message for
       BOBO!ANDY@line82-basel.datacomm.ch from NickServ
       Path: empire.ny.us.dal.net[209.51.168.14]!trapdoor.ca.us.dal.net
       [206.86.127.252]!caris.ca.us.dal.net[208.1.222.221]
       !services.dal.net[2008.1.222.222]!services.dal.net
       (NickServ Enforcement)

   Si vous avez activé l'option `+s`, vous en recevez de grandes quantités, alors que vous ne souhaitez pas les voir tous défiler à l'écran. Voici trois règles permettant de les traiter en plusieurs phases. On pourrait utiliser moins de règles pour parvenir au même résultat, mais cet exemple vous montrera la structure de base des règles, étape par étape, et comment utiliser plusieurs règles pour analyser un message. La première étape est de supprimer la partie du message comprenant Path: :

       Correspondance : ^\*\*\*.* KILL message for.*
       De :  Path: \S+
       En : .

   Le motif de correspondance recherche le message commençant par `***`. Les `*` doivent être précédés du caractère d'échappement `\`, car s'ils étaient seuls, ils signifieraient 0 ou plus d'occurrences du caractère précédent. `.*` correspond à n'importe quoi jusqu'à rencontrer `KILL message for`. Ceci nous évite d'avoir à spécifier `-- Received...` &etc;. Le `.*` final remplace n'importe quoi jusqu'à la fin de la ligne (non nécessaire à mon avis).

   La ligne De : indique qu'il faut remplacer " Path: " et tout caractère non blanc par la chaîne En :. Cette dernière vaut `"."`, par conséquent le chemin entier est remplacé par un simple point.

   Le message ressemble à présent à :

       *** Notice -- Received KILL message for BOBO!ANDY@line82-basel.datacomm.ch
       from NickServ. (NickServ Enforcement)

   Avez-vous remarqué le nouveau `"."` après `NickServ` ?

5. Bon, le message est à présent beaucoup plus propre, mais les KILL provenant de nickserv ne sont pas vraiment importants, on va donc les réacheminer vers la fenêtre `!discard`.

       Correspondance : ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
       De : ^(?:˜\S+˜)
       En :  ˜!discard˜

   La chaîne de correspondance recherche le message KILL et s'assure de ce qu'il provient de NickServ. Remarquez que `\(` et `\)` ont tous deux une signification en terme d'expressions rationnelles et doivent donc être mis entre guillemets, comme dans l'exemple précédent.

6. Nous avons à présent filtré tous les messages de kill de nickserv, mais le résultat est toujours dur à lire au premier coup d'oeil. C'est pourquoi nous allons le réordonner pour en faire quelque chose comme :

       *** [KILL] MEURTRIER a tué VICTIME; (MOTIF)

       Correspondance : \*\*\*.*KILL message
       De : \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
       En : *** [KILL] $$2 a tue $$1 ($$3)

   La chaîne de correspondance recherche `***quelque chose KILL message`. Nous ne pouvons pas utiliser `ˆ` car il se peut que nous venions d'ajouter `˜<fenêtre>˜`.

   La ligne De : est légèrement plus intéressante. L'expression `"for (.*?) "` recherche le mot "for" suivi d'une certaine quantité de texte. `.*?` indique zéro ou plus d'occurrences de n'importe quoi à part un saut de ligne, mais ne dévore pas trop de texte. La règle est de s'arrêter quand la première condition d'arrêt est rencontrée, et non pas la dernière. En d'autres termes elle absorbe n'importe quoi jusqu'à un espace. Les `()` qui entourent cette expression permettent de sauvegarder son contenu. Chaque paire () sauvegarde les données correspondantes dans `$#` où `#` est un numéro commençant à 1 pour la première sous-chaîne. Dans ce cas, `$1` récupère les informations sur le nick/nom d'utilisateur de la personne éjectée. `$2` est alors renseigné avec le nom de la personne l'ayant éjecté. Entre parenthèses `()` nous avons le motif d'exclusion. Ici la distinction entre `(` et `\(` peut être troublante. Rappelez-vous que `\(` vaut pour le caractère `'('` proprement dit.

7. Comment ajouter de la couleur dans votre vie.

   Voici comment ajouter des couleurs à &ksirc;. Reportez-vous à la section parlant des couleurs pour les informations sur les couleurs. Ce qui suit est une règle de filtrage permettant de mettre en valeur dans chaque ligne le pseudo entre `<PSEUDO>` :

       Correspondance : ^(?:˜\S+˜)<\S+>
       De : <(\S+)>
       En : <˜4$$1˜c>

   Prend le pseudo et ajoute la couleur #4 entre les deux `<>`. `˜c` annule la couleur.

## Raccourcis clavier

Voici une liste des raccourcis clavier et des touches de fonction disponibles sous &ksirc;.

Raccourcis clavier

Raccourci clavier | Action
--- | ---
&Alt;F | Ouvre le menu Fichier.
&Alt;E | Ouvre le menu Édition.
&Ctrl;N | Ouvre une nouvelle fenêtre de canal/requêtes
&Ctrl;T | Mode bandeau lumineux
&Ctrl;Q | Quitter
&Ctrl;X | Couper
&Ctrl;V | Coller
&Ctrl;Enter | Commence un message adressé à la dernière personne a vous avoir envoyé un message
&Ctrl;&Maj;Enter | Commence un message adressé à l'avant-dernière personne a vous avoir envoyé un message
&Ctrl;K | Début de code de couleur (accompagné d'un numéro, le texte tapé par la suite sera coloré)
&Ctrl;U | Démarre ou arrête le soulignement. Le texte après la première occurrence de ce code sera souligné jusqu'à ce que vous le tapiez à nouveau.
&Ctrl;I | Démarre ou arrête le texte italique. Le texte après la première occurrence de ce code sera en italique jusqu'à ce que vous le tapiez à nouveau.
&Ctrl;B | Démarre ou arrête le texte gras. Le texte après la première occurrence de ce code sera en gras jusqu'à ce que vous le tapiez à nouveau.
&Ctrl;R | Démarre ou arrête l'inversion vidéo. Le texte après la première occurrence de ce code sera inversé jusqu'à ce que vous le tapiez à nouveau.
Tab | Essaye de compléter le pseudonyme de quelqu'un du canal, en fonction du texte déjà tapé. Vous avez probablement déjà vu cette fonctionnalité dans l'interpréteur de commandes du système.

## Remerciements et licences

&ksirc; copyright 1997-2001, les développeurs de &ksirc;.

Documentation en partie copyright 1997, Andrew Stanley Jones

Documentation mise à jour pour &kde; 2.2 par Philip Rodrigues phil.rod@ntlworld.com

Traduction française par Éric Bischoffe.bischoff@noos.fr

&underFDL; &underGPL;

## Installation

### Comment obtenir &ksirc;

&install.intro.documentation;

### Compilation et installation

&install.compile.documentation;
&documentation.index;