Description et utilisation de l' IRC

Le par DarkMaster  |  0 commentaire(s)
Article n° 81 - L'IRC (120*120)

Internet Relay Chat (IRC) est un protocole de discussion sur le net. C'est l'un des plus utilisé car il est très souple. Un client IRC se connecte à un serveur IRC et peut alors rejoindre les différents salons (encore appelé canaux) de discussions. Il est également possible de créer son propre salon, avec le thème que l'on souhaite.

Introduction

I) Présentation
Internet Relay Chat (IRC pour les intimes) est un protocole de discussion sur le net. C'est l'un des plus utilisés car il est très souple.

Ecrit par Jarkko Oikarirnen (un finlandais) entre 1988 et 1991, il est l'un des premiers protocoles à permettre aux personnes de discuter en direct sur le net.

Il suit le schéma suivant : un client IRC se connecte à un serveur IRC ou à un groupe de serveurs IRC. Ce client peut alors rejoindre les différents salons (encore appelé canaux) de discussions.
Chaque salon a son propre « thème », tout le monde peut créer un salon, d'ailleurs en général le salon disparait quand il n'y a plus personne dedans. En fait, cela reprend le principe des salons lors du siècle des lumières (voir expression « faire salon »), où les gens venaient pour parler de choses et d’autres.

Là c’est la même chose, mais version Internet. Donc voila le but premier, autant dire que MSN n’est qu’un dérivé de ce genre de réseau et que son succès est dû au fait qu’il soit livré avec Windows.


II) Les principaux clients

Oui c’est bien gentil tout cela, mais il faut un client pour se connecter et un endroit où se connecter. On ne traitera pas les clients ne possédant pas d’interface graphique, qui ne sont plus utilisés que sous linux en mode console.

Voici la liste des clients les plus utilisés :
  • mIRC : le client IRC par excellence, tous les autres l’ont copié.

  • Visual IRC : une bonne alternative à mIRC et totalement gratuit.

  • Trillian : un client multi réseau.

  • HydraIRC : l’autre gros client IRC sous Windows.

  • X–Chat : un des principaux clients sous Unix/Linux et sous Windows.

  • KIrc : le deuxième client IRC sous Linux, livré avec KDE.

  • Applet JAVA : vous pouvez utiliser en cliquant sur chat de la page d’accueil de GNT, mais c’est vraiment minimaliste et il ne vous donnera pas un aperçu réel de ce qu’est IRC.


Passons maintenant aux serveurs, attention avant de vous connecter, il est fortement conseillé de lire la paragraphe III.
  • Undernet : l’un des plus gros groupe de serveurs

  • Worldnet : celui utilisé pour le salon de GNT

  • Wanadoo/voila : Bien, mais ils préfèrent les clients JAVA au bon vieux client IRC

Télécharger mIRC (attention c'est un shareware limité à 30 jours) :

Il est possible de franciser mIRC à l'aide de ce Patch (pour la 6.16 uniquement). Une petite aide pour l'installation se trouve ici.


Connexion

III) IRC en pratique :
Nous allons donc voir comment utiliser IRC. Pour cela rien de mieux qu’un exemple avec le chat de GNT. Mais, avant, une petite explication s’impose.

IRC n’est pas comme MSN, rien au départ n’est automatisé, il faut donc taper quelques commandes avant de pouvoir parler dans un salon. De plus, ce qui a fait le succès de mIRC (le client utilisé dans ce dossier) c’est sa petite particularité qu’est le scripting (néologisme).

En effet son auteur a créé un langage plus ou moins repris dans les autres clients, afin de permette des automatisations de tâches et surtout une personnalisation de son client. Il donne ainsi à IRC la possibilité d’exprimer toute la liberté dont ce protocole jouit. Nous y reviendrons dans la partie IV.
Alors pour se connecter au serveur, il faut taper la commande :

/server « adresse du serveur »

Sur cette capture d’écran on peut voir la fenêtre principale du mIRC :

Image


Ce qui est entouré en rouge représente la commande pour se connecter au serveur utilisé par GNT :

/server irc.worldnet.net.

Au passage, remarquez les quelques lignes que nous envoie le serveur, une fois que l’on est connecté à ce dernier.

Ensuite il faut rejoindre un canal, les noms des salons commencent tous par le caractère #, celui de GNT ce nomme #Génération-NT. Pour le rejoindre, nous devons utiliser la commande /join « nom du salon ».

Tapez la commande suivante et validez par Entrée :

/join #Génération-NT
(Attention à bien respecter la casse, sinon vous ne serrez pas connectés au salon voulu).

Image


La capture suivante a été prise après avoir rejoint le salon de GNT.

Image


Notez ceci :
  1. ce message vous indique que vous avez bien joint le salon #Génération-NT.

  2. c’est vous, "UserGNT" désolé mais c’est le seul pseudo que j’ai trouvé. Au passage, au premier lancement d’un client, apparaît une fenêtre avec le réglage des nick (ou pseudo). C’est là que vous définirez comment vous vous nommerez sous IRC, ce pseudo n’est pas définitif, vous pouvez à tout moment en changer.

  3. c’est là que l’on tape le texte que l’on envoie sur le salon en appuyant sur Entrée.

Remarquez aussi les choses suivantes, le cadre contenant 1 est le cadre principal du salon c’est là qu’apparaîtront tous les messages des usagers d’IRC. La petite liste qui contient 2 est appelé nicklist, vous y trouverez tous les pseudos des personnes connectées au salon. 

Voila, maintenant vous pouvez écrire sur IRC, enfin sur tous les salons de tous les serveurs IRC du monde entier. Elle est pas belle la vie !!

En ce qui concerne les us et coutumes sur IRC, comme vous devez vous en douter, IRC est très libre. Donc, pour éviter l’anarchie, chaque salon possède normalement un opérateur.

Son pseudo est précédé du symbole @ comme vous pouvez le voir sur la capture ci-dessus. Il y en avait 3 à ce moment sur le canal. Ils sont en gros l’équivalent des modo sur les forums, ils peuvent entre-autre « kicker » (mettre à la porte d’un salon) un utilisateur, ou même le bannir (l’empêcher de revenir sur le salon). Ils peuvent aussi « voicer » des gens, c’est un statut qui a quelques privilèges, mais dont nous n’aborderons pas la question ici. Ces derniers sont distingués par un + devant leur pseudo.

Sur notre salon, existe un opérateur spécial nommé Océane, c’est un bot (robot) qui est là pour veiller à cas d’absence d’un op humain. Il peut être configuré pour réagir en fonction de certains abus sur le salon. Inutile de lui parler il ne répondra pas !!

Encore une chose très importante, asv sur IRC ne fait pas référence a votre antivirus, mais a votre Age-Sex-Ville, c’est une question souvent posée sous cette forme, donc ne soyez pas étonnés si on vous demande votre asv.


Les commandes de base

IV) Les commandes de base

Nous connaissons déjà quelques commandes, comme /server et /join. D’une manière générale les commandes commencent toutes par /, de cette façon votre client IRC sait qu’il s’agit d’une commande et la traite comme telle.

En fait, malgré un aspect très lourd, il y a peu de commandes à connaître pour pouvoir utiliser le réseau IRC. Vous connaissez les deux principales, voyons les autres:
  • /quit message
    permet de vous déconnecter du serveur en laissant un petit message.

  • /part
    permet de quitter un salon, mais ne vous déconnecte pas du serveur. Remarque : cliquer sur la croix qui permet de fermer la fenêtre du salon revient au même.

  • /nick pseudo
    permet de changer de pseudonyme

  • /away raison
    permet de se mettre en mode absence tout en laissant la raison. Pour revenir en mode normal, il suffit de faire /away tout simplement. Cette commande varie en fonction des clients.

Les commandes suivantes sont pour ceux qui ont le statut d’opérateur avec un @ devant leur pseudo (voir plus haut):
  • /op pseudo
    permet de « oper » quelqu’un (lui donner le statut d’opérateur)

  • /deop pseudo
    permet de « deoper »

  • /voice pseudo
    permet de « voicer »

  • /kick pseudo
    permet de « kicker »

  • /ban pseudo
    permet de bannir

Il y a d’autres commandes, beaucoup plus spécifiques, mais ce n’est pas l’objet de ce dossier. Pour cela veuillez vous référer à l’aide très complète de mIrc.

On peut obtenir de l’aide sur une commande en tapant dans la zone de message en bas ceci :

/help (la commande) : /help join par exemple.
Une fenêtre s’ouvrira avec une liste de choix d’aide.

Passons aux commandes sympathiques, notamment le pv (private message).
Il suffit de double cliquer sur un pseudonyme. Si vous n’êtes sur aucun salon vous pouvez utiliser la commande /query pseudo qui est fort pratique en cas de kick/ban pour avoir des explications avec les opérateurs (op).

Dans l'image ci-dessous :
  1. Correspond au pseudonyme avec lequel vous êtes en PV (conversation privée)

  2. Correspond à la conversation en elle-même
Image


Il y a aussi la commande /me message. Cette dernière crée une action qui commence par votre pseudonyme puis votre message.

Exemple : vous tapez « /me dit bonjour » et vous verrez sur le salon «*pseudo dit bonjour», bien sûr pseudo sera remplacé par votre véritable pseudonyme.

Maintenant que vous commencez à maîtriser IRC, vous vous dites c’est bien beau, mais j’aimerais aller plus vite pour certaines choses, et bien voyons la suite....


Le scripting

V) Scripting

Tout d’abord je ne vais aborder que mIrc, les autres clients IRC s’en étant largement inspirés, sauf les clients linux qui utilisent des scripts Perl.

Les alias : qu’est-ce donc et comment y accède-t-on '


Image
Le premier correspond aux alias, le second aux popups (non pas des pubs, mais des menus) et le dernier aux remotes (les scripts de contrôle proprement dit en français).
Cliquez sur le premier (alias), vous obtenez ceci :

Image
 

Pour le deuxiéme (popup), ceci :

Image
 

Pour le troisiéme (remote), ceci :

Image
 
Dans tous les cas :

La zone 1 représente l’endroit où vous pourrez écrire vos lignes de codes.
La 3 vous permet de changer de fichier. En effet, on peut stocker ses scripts sous différentes extensions de fichiers.
La 2 est relative aux menus, elle vous permet d’avoir un aperçu du menu qui va apparaître.
Dans tous les cas, la première fois que vous enregistrez votre fichier, vous devez après faire: fichier- charger pour que le script soit pris en compte par mIrc.


Passons aux choses sérieuses :


a) les alias :
Pour faire des alias, des raccourcis ou plutôt une sorte de commande perso à base des autres commandes, rendez-vous au bon endroit. Ensuite, il faut donner un nom à votre alias comme /essai, suivit de la commande que vous voulez exécuter. Par exemple si vous tapez ceci dans le script des alias : /essai /echo salut

Lorsque vous tapez /essai, dans la zone où on écrit son texte, mirc va exécuter la commande /echo salut. En fait, cette commande fait dire à mirc le message qui la suit (syntaxe /echo message).
Vous pouvez en exécuter plusieurs avec le symbole | (atlgr+6) par exemple: /essai /echo salut | /echo comment vas-tu ' Va exécuter les 2 echo l’un à la suite de l’autre.

Bien penchons nous maintenant sur un cas un peu plus complexe :

/k /kick # $$1 $2-

Bizarre non ' D’abord il y a un # alors que dans la syntaxe que je vous avais donnée, il fallait mettre le pseudo.
En fait, # fait référence au salon sur lequel vous écrivez actuellement et la commande /kick peut « kicker » sur un salon différent, en fait sa syntaxe exacte est /kick salon pseudo raison, le salon et la raison sont des paramètres optionnels.

Donc comme vous l’avez compris, $$1 va correspondre au pseudo. En fait $$1 est ce que l’on appelle un identifieur dans mirc, il fait référence au premier paramètre, d’où le 1.
Il est extrêmement puissant car il peut très bien correspondre à ce que vous écrivez après /k, tout comme à un pseudo sélectionné dans la nicklist. Par exemple « /k nom », va « kicker » nom sur le salon sur lequel vous écrivez. Mais vous pouvez sélectionner nom dans la nicklist avec un clic, puis taper /k, cela aura le même effet.

Donc, si on suit cette logique $2 est le second paramètre et correspond à la raison, mais pourquoi n’y a-t-il qu’un seul $ '
Le $$ signifie que c’est un paramètre obligatoire, alors que $ est juste un paramètre.

Enfin, le après le 2, signifie que mirc ne doit pas s’arrêter après un espace. Ce sera plus clair avec un exemple.

Soit l’alias précèdent   /k /kick # $$1 $2-

Je tape « /k moi parce que », je vais « kicker » moi avec la raison  « parce que », mais si je définis cet alias /k /kick # $$1 $2 et que je tape « /k moi parce que », je vais « kicker » moi avec la raison « parce ».
Il y a plein d’autres symboles qui modifient la signification de $ comme le '


Scripting (suite)

b) les popup :
Comment faire un menu ' Rendez-vous dans "popup" et choisir par "view" le menu correspondant à la "nicklist".
Vous devez avoir une liste comme celle-ci pour un mirc vierge :
Info:/uwho $1
Whois:/whois $$1
Query:/query $$1
-
Control
.Ignore:/ignore $$1 1
.Unignore:/ignore -r $$1 1
.Op:/mode # +ooo $$1 $2 $3
.Deop:/mode # -ooo $$1 $2 $3
.Voice:/mode # +vvv $$1 $2 $3
.Devoice:/mode # -vvv $$1 $2 $3
.Kick:/kick # $$1
.Kick (why):/kick # $$1 $$'="Reason:"
.Ban:/ban $$1 2
.Ban, Kick:/ban $$1 2 | /timer 1 3 /kick # $$1
.Ban, Kick (why):/ban $$1 2 | /timer 1 3 /kick # $$1 $$'="Reason:"

Info
est une catégorie, tout comme control. Donc quand vous allez cliquer droit sur la nicklist, vous allez avoir un menu avec Info et control, puis un sous-menu va apparaître si vous restez sur Control avec Op et Deop. Vous comprenez qu’un « . » devant le nom signifie un sous-menu, « .. » un sous sous-menu, etc….

Les : signifient que le menu s’arrête là et que si on clique dessus, la commande après les : va être exécutée. On peut très bien combiner des commandes comme avec les alias ou même utiliser les alias en tant que commandes.

Il y a quand même une chose à savoir, les commandes /op et /deop sont déjà des alias, en temps normal il faut utiliser la commande /mode.

Je pense que maintenant vous en saisissez la syntaxe, à part les petites spécificités, +o et le mode de ceux qui sont opérateur, et -o de  ceux qui ne le sont pas.
Alors pourquoi +ooo ' Ceci permet de « oper » trois personnes maximum en même temps. Du coup, le $$1 sera composé au plus de trois pseudos sélectionnés dans la nicklist.


Scripting (fin)

c) Les remote :
Là ça se complique, attention les yeux.
Jusqu'à présent nous n’avions que des choses permettant de rendre mirc plus convivial. Les remotes vont plus loin, car d’une part ils permettent de définir des alias et des menus, mais aussi des nouvelles commandes (grâce aux alias) et surtout ils permettent de réagir précisément et ce en temps réel, grâce à la gestion des événements.
D’ailleurs vous en avez un exemple dans les écrans précédents.
ON *:Join:#:{
  If ($nick == $me) { /msg # Salut tout le monde
  /halt }
  If ($nick == X) { /halt }
  If ($nick == W) { /halt }
  Else { /msg # salut $nick  }
}
Un événement possède la syntaxe suivante :

on Level :événement :canal :commande

Level
correspond au niveau de l’usager pouvant déclencher cet événement. Par défaut tout le monde a le niveau 1, et si on a « on 1: » alors tous ceux ayant un niveau supérieur ou égal peuvent déclencher cet événement.

En général on ne se sert jamais de cette possibilité, c’est pour cela que le Level est souvent remplacé par * qui correspond à tout le monde.

Ensuite « canal » est parfois optionnel, cela dépend de l’événement. Pour en connaître tous les tenants et les aboutissants, référez vous à l’aide.

Les commandes peuvent être des groupes de commandes. Les groupes de commandes ou bloc de commandes sont délimités par des {}. Comme vous pouvez le voir ici nous avons en plus une structure conditionnelle qui est semblable au C. Encore une fois l’aide vous dira tout sur les conditions.

Une chose importante : la commande /halt permet d’arrêter le traitement du script. Cela évite ici de faire des tests conditionnels inutiles. De même, d’une manière générale, il vaut mieux mettre la commande /haltdef  (à défaut de /halt) dans les groupes de commandes de structure conditionnelle, sinon mirc risque de passer et de ne pas exécuter les commandes du bloc lié a Else.

Quelques identificateurs utiles :

$chan le salon sur lequel l’événement s’est produit (remplaçable par #).
$nick, en général le pseudo qui a déclenché l’événement, mais pas toujours (cf. l’aide).
$me votre pseudo.



Voila je pense qu’avec cela et l’aide, vous êtes prêts pour créer votre premier script.

Si vous utilisez le réseau Worldnet, voici un lien qui vous permettra d’utiliser les différents services, principalement Nickserv et Memoserv.


  • Partager ce contenu :
Soyez le premier à commenter ce dossier :
commentaire Poster un commentaire alerte
Tags :
Vos commentaires
icone Suivre les commentaires
Poster un commentaire