]>

# Le manuel de Kppp

Bernd Johannes
Wuebben

    wuebben@kde.org

Version 1.4.8, 11 septembre 1998

Ce manuel décrit kppp version 1.4.8. Veuillez soumettre tout commentaire et toute addition à l'auteur.

Le manuel de KPPP

KDE
KPPP
PPP

## Introduction

### A propos de kppp

`S'IL VOUS PLAIT, N'OUBLIEZ PAS DE LIRE EGALEMENT LES FAQ ! MERCI !`

Kppp est un numéroteur téléphonique et une interface graphique pour pppd. Il permet de réaliser la génération de scripts ainsi que la configuration de connexions réseau de manière interactive. Il vous permet d'automatiser le processus de connexion à votre Fournisseur d'Accès à l'Internet (FAI), ainsi que de surveiller chaque phase du processus. Une fois connecté, Kppp vous fournira une foule de statistiques et pourra gérer vos temps de connexion. Un terminal et un générateur de scripts sont inclus et vous permettront de configurer votre connexion facilement. Vous n'avez plus besoin d'un programme de terminal supplémentaire comme seyon ou minicom pour tester et configurer votre connexion. Les fonctionnalités de Kppp vous offriront un détail précis de vos coûts téléphoniques, ce qui vous permettra de gérer plus facilement vos frais de connexion à l'Internet.

Nous espérons que vous apprécierez ce numéroteur.

### Auteurs

kppp est dérivé de ezppp 0.6 par Jay Painter. Toutefois, presque tout le code de kppp a été réécrit et ainsi ezppp et kppp n'ont plus grand chose en commun.

Les auteurs principaux sont :

- `Bernd Johannes Wuebben` wuebben@kde.org

- `Mario Weilguni` mweilguni@sime.com

- `Harri Porten` porten@kde.org

De nombreux remerciements vont aux personnes qui ont contribué au codage de kppp

- Jesus Fuentes Saaverdra pour avoir implémenté plusieurs options et pour diverses autres tâches.

- Markus Wuebben pour le dialogue de questions ATI.

- Peter Silva pour les boîtes de dialogue "pop up" et d'autres contributions.

- Martin A. Brown pour la relecture de messages anglais dans le programme.

### Licence et garantie

kppp est publié sous les termes de la GNU General Public License (Licence générale publique GNU). Il n'y a aucune garantie que ce programme fonctionne ou d'aucune sorte.

## Installation

`S'IL VOUS PLAIT, N'OUBLIEZ PAS DE LIRE EGALEMENT LES FAQ ! MERCI !`

### Comment obtenir Kppp ?

Kppp est une application faisant partie du projet KDE http://www.kde.org. Vous pouvez trouver Kppp à l'url ftp://ftp.kde.org/pub/kde/, le site FTP principal du projet KDE.

### Prérequis

Afin de compiler Kppp, vous avez besoin des dernières versions de `libkdecore` ainsi que de `libkdeui`. Toutes les bibliothèques requises ainsi que Kppp lui-même peuvent être trouvés à ftp://ftp.kde.org/pub/kde/.

### Compilation et installation

`S'IL VOUS PLAIT, N'OUBLIEZ PAS DE LIRE EGALEMENT LES FAQ ! MERCI !`

Je n'ai pas pu tester Kppp sur une autre plateforme que Linux, mais ce programme devrait fonctionner sans problème particulier sur de nombreux autres systèmes, dont SVR4, Solaris 2, Linux, FreeBSD, NetBSD, SunOS 4, AIX 4, OSF/1 pour autant que pppd soit installé sur votre système.

Si vous désirez compiler Kppp sur une plateforme autre que Linux, veuillez vous référer tout d'abord aux quelques lignes du fichier pppstats.cpp et vous assurer que les 'define' et les 'include' correspondent à votre système. Ils sont probablement corrects ; dans le cas contraire veuillez m'informer des changements à effectuer dans votre situation.

Afin de compiler et d'installer Kppp sur votre système, tapez les lignes suivantes dans le répertoire de base de la distribution de Kppp :

    % ./configure
    % make
    % make install

Cela installera kppp avec le bit mis.

Veuillez vous assurer que le fichier des options de pppd, qui est généralement dans `/etc/ppp/` existe, et qu'il est bien vide. En effet, pppd a besoin que ce fichier existe, mais il doit être vide, sinon pppd ne prendra pas en compte les options de Kppp.

Rappel : Veuillez me faire part de tout problème que vous rencontreriez à ce stade.

### Préparation de votre système Linux pour une connexion PPP

`S'IL VOUS PLAIT, N'OUBLIEZ PAS DE LIRE EGALEMENT LES FAQ ! MERCI !`

Pour que Kppp/pppd fonctionne convenablement, votre noyau (kernel) doit avoir été compilé avec les options PPP. Si ce n'est pas le cas, vous devez télécharger la dernière version de pppd depuis n'importe quelle archive Linux et recompiler votre noyau avec les options PPP activées. Rassurez-vous, cela est plus simple qu'il n'y paraît. N'oubliez pas d'installer pppd une fois votre nouveau noyau en place. Si vous n'êtes pas sûr d'avoir un noyau avec PPP activé, entrez `dmesg` au prompt et recherchez des lignes comme celles-ci :

    PPP: version 2.3.0 (demand dialling)
    TCP compression code copyright 1989 Regents of the University of California
    PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
    PPP line discipline registered

Des changements sont intervenus dans la gestion de PPP dans le noyau entre les versions 1.2.x et 2.0.x de Linux, ce qui a entraîné un changement de démon pppd. Dans la plupart des distributions, le démon pppd peut être trouvé dans `/usr/sbin`. Dans le cas des noyaux 1.2.x, la version correcte du démon pppd est 2.1 ; pour les noyaux 2.0.x, la version correcte est 2.2 ou plus. Si vous ne savez pas quelle version du démon pppd votre système utilise, vous pouvez taper :

    % pppd --version

Aucun démon pppd n'a en fait d'option --version, mais le fait de passer l'option provoquera un message d'erreur qui contiendra la version de pppd.

### Pour en savoir plus sur ppp/pppd

Pour plus d'informations sur le protocole ppp et pppd, connectez-vous sur le site http://www.thoughtport.com:8080/PPP/index.html.

## Configuration de Kppp

`S'IL VOUS PLAIT, N'OUBLIEZ PAS DE LIRE EGALEMENT LES FAQ ! MERCI !`

Pour pouvoir configurer Kppp, lancez-le et cliquez sur le bouton `Configurer` dans la fenêtre principale de Kppp. Une nouvelle boîte de dialogue apparaîtra.

### Les comptes

Cette boîte de dialogue affiche les comptes que vous avez créés. Vous devez créer au moins un compte. Le bouton 'Remise à zéro' permet de remettre à zéro les coûts téléphoniques du compte sélectionné. Par exemple, pour estimer vos coûts de communication mensuels, vous presserez ce bouton une fois par mois.

### Périphérique

Modem

  Choisissez le périphérique correspondant à votre type de modem.

Contrôle de Flux

  Choisissez entre Matériel (RTS/CTS), Logiciel (XON/XOFF) et Pas de contrôle. Le réglage recommandé est Matériel.

Fin de Ligne

  Choisissez la représentation correcte du caractère Fin de Ligne. La plupart des modems utilisent 'CR/LF' ; certains cependant ont besoin d'un autre réglage. Si vous rencontrez des problèmes pendant l'exécution du script de connexion, rappelez-vous d'essayer de changer ce paramètre.

Vitesse de Connexion

  Choisissez parmi la liste des vitesses acceptées par votre port série.

Répertoire des fichiers de verrouillage

  Entrez le chemin d'accès au fichier de verrouillage désiré. Sous Linux c'est typiquement /var/lock et vous ne devriez pas changer cette valeur en une autre à moins de savoir ce que vous faites. En effet, certains programmes comme mgetty utilisent ce même nom pour gérer le modem, et Kppp ne cohabitera pas avec mgetty si le nom du fichier verrou est incorrect. Si vous laissez ce champ vide, Kppp ne créera pas de fichier verrou. Assurez-vous que 'lock' n'est pas dans la liste des options que vous envoyez à pppd si vous avez fourni le nom d'un fichier verrou, car alors pppd essayerait de verrouiller le modem ; comme ce dernier serait déjà verrouillé par Kppp, pppd retournerait une erreur, et Kppp vous afficherait 'Fin prématurée de pppd'. Vérifiez que vous avez la permission en écriture sur le répertoire du fichier verrou, sinon Kppp vous retournera l'erreur 'Impossible de créer le fichier verrou'.

Temps limite du modem

  C'est le délai maximal pendant lequel Kppp attend la réponse 'CONNECT' venant de votre modem, lorsque vous vous connectez à un autre modem (par exemple l'un des modems de votre FAI). Je préconise un réglage d'environ 30 secondes.

### Modem

Commandes du Modem

  Ce bouton fera apparaître une boîte de dialogue que vous devrez remplir avec les commandes propres à votre modem. Si vous possédez un modem compatible Hayes, il est probable que vous n'ayez rien à changer aux valeurs par défaut. Quoi qu'il en soit, je vous encourage à lire la partie traitant des commandes Hayes dans l'appendice de ce manuel. Ces informations vous seront également utiles si vous rencontrez des problèmes de fiabilité dans la connexion à votre FAI. Les deux réglages "Délai avant initialisation" et "Délai après initialisation" peuvent être particulièrement utiles si vous rencontrez des blocages modem. Ils feront en sorte que kppp attende brièvement avant et après avoir envoyé la chaîne d'initialisation. Le "Délai avant initialisation" s'accompagne de l'envoi d'un CR à moins que le délai d'attente ne soit nul.

Interrogation du Modem

  Si vous pressez ce bouton, Kppp va interroger votre modem et lui demander de s'identifier. Si le modem peut être contacté, ses réponses vous seront présentées dans une boîte de dialogue. Ces réponses, toutefois, ne sont pas toujours d'une grande utilité ; cela dépend du modèle de votre modem.

Terminal

  Un clic sur le bouton `Terminal` vous propose un mini terminal, que vous pouvez utiliser pour tester votre modem ainsi que pour faire des expériences de négociation entre votre modem et celui de votre FAI. Vous n'avez plus besoin d'un terminal externe comme minicom ou seyon.

### PPP

Timeout de pppd

  Kppp attendra pendant ce laps de temps à la fin de l'exécution du script et du lancement de pppd ; cela a pour but de s'assurer que pppd a le temps d'établir un lien PPP correct ; au bout de ce délai, si la liaison n'est toujours pas établie, Kppp abandonnera la connexion et tuera pppd.

Renumérotation automatique en cas de déconnexion

  Si vous activez cette option, Kppp essaiera de se reconnecter automatiquement si jamais votre connexion vient à être accidentellement coupée.

Afficher l'horloge dans la barre de titre

  Cette option provoquera l'affichage de votre temps de connexion dans la barre de titre de la fenêtre.

Déconnecter à la sortie de XWindow

  Si vous cochez cette option, Kppp mettra fin à la connexion PPP, déconnectera le modem et mettra à jour le décompte de vos coûts de connexion juste avant que votre serveur X ne s'arrête. Cette option vous sera fort utile si vous oubliez fréquemment de couper votre connexion PPP lors de la sortie de XWindow ou tout simplement si vous ne voulez pas vous préoccuper de vos déconnexions. Si vous ne souhaitez pas que Kppp mette fin à la connexion en cours lors de la sortie de XWindow, laissez cette case décochée. Soyez averti(e) par contre que si vous utilisez l'option de gestion de coûts et que vous ne demandez pas à Kppp de mettre fin à vos connexions lors de la sortie de XWindow, vous aurez une entrée incomplète dans votre fichier de gestion de coûts.

Minimiser la fenêtre à la connexion

  La fenêtre de Kppp sera minimisée si la connexion s'est bien établie. Le temps de connexion écoulé sera alors affiché dans la barre des tâches.

Inclure au panneau à la connexion

  Si cette option est activée, Kppp s'intégrera au panneau où il sera représenté par une icône animée. Utilisez le bouton gauche de votre souris sur cette icône pour ouvrir à nouveau la fenêtre de Kppp. Le bouton doit affichera un menu contextuel qui propose d'ouvrir à nouveau la fenêtre, d'afficher des statistiques de connexion ou de couper la connexion. Cette option est prioritaire sur l'option Minimiser la fenêtre à la connexion.

## Paramétrer un compte

### Numéroter

Nom de la connexion

  Vous devez donner un nom au compte.

Numéro de téléphone

  Précisez ici le numéro de téléphone à composer. Vous pouvez utiliser des caractères non numériques comme '-' afin d'améliorer la lisibilité du numéro. Si vous concaténez une série de numéros (séparés par un double-point), Kppp essayera ces numéros l'un après l'autre puis en recommençant en début chaque fois qu'il recevra une tonalité "occupé". Exemple: "1111111:2222222:3333333"

Authentification

  Choisissez la méthode d'authentification que kppp doit utiliser pour s'enregistrer (login) auprès du serveur. Vérifiez auprès de votre fournisseur d'accès s'il utilise PAP ou CHAP ou s'il utilise un script ou une méthode basée sur une connexion via un terminal.

Enregistrer le mot de passe

  Cochez cette option si vous voulez que Kppp se souvienne de votre mot de passe lors de la prochaine session.

Exécuter la commande à la connexion

  Kppp lancera la commande entrée ici une fois la connexion PPP établie.

Exécuter la commande avant la déconnexion

  Kppp lancera la commande avant de clore la connexion. C'est utile par exemple si vous avez besoin de changer le routage ou une adresse avant de quitter Internet.

Exécuter la commande à la déconnexion

  Semblable à la commande précédente.

Options de pppd

  Ce bouton affichera une boîte de dialogue d'édition des options de pppd ; elle vous permet d'ajouter toute option que vous désirez passer à pppd. Veuillez vous référer à la page de manuel de pppd pour la liste des options reconnues par pppd. A moins de savoir exactement où vous vous engagez, il n'est pas recommandé que vous modifiiez les paramètres passés à pppd.

### IP

Adresse IP dynamique

  Cochez cette case si votre FAI utilise l'adressage IP dynamique. Cela signifie que dans la plupart des cas votre adresse IP sera différente à chaque connexion.

Adresse IP statique

  Cochez cette case si votre FAI vous a attribué une adresse IP statique (c'est-à-dire bien définie). Dans ce cas, vous devez la saisir, ainsi que le masque de sous-réseau (si nécessaire). Veuillez contacter votre FAI si vous n'êtes pas sûr de ces renseignements.

Configuration du nom de machine automatique

  Sélectionnez cette option si vous désirez que Kppp modifie automatiquement le nom et le domaine de votre machine après l'établissement d'une connexion PPP. Cela est fait par interrogation du DNS (serveur de noms Internet) avec l'adresse IP que vous utilisez pour cette connexion PPP. Cette option est utile si vous utilisez des protocoles comme talk, qui ont besoin que le nom de votre machine soit le même que son appellation officielle sur Internet. Notez que cette option est prioritaire sur le champ Nom de Domaine dans la section DNS. Les valeurs de nom et de domaine précédentes sont restaurées à la fin de la connexion PPP. Attention, cette option peut vous sembler utile, mais elle peut aussi vous causer nombre d'effets indésirables ... essayez avec et sans !

### DNS (serveur de noms Internet)

Nom de domaine

  Précisez le nom de domaine de votre machine. Comme les adresses DNS, la valeur précisée dans le fichier `/etc/resolv.conf` est réattribuée à la machine à la fin de la connexion. Si ce champ est laissé vide, aucun changement n'est fait au nom de domaine précisé dans `/etc/resolv.conf`

Serveurs DNS

  Ajoutez ici les serveurs de noms Internet fournis par votre FAI. Vous devez en préciser au moins un pour que votre système puisse traduire les adresses IP en adresses lisibles comme ftp.kde.org. Les adresses de serveurs de noms précisées ici doivent être sous forme numérique, par exemple 128.231.231.233. Ces adresses seront ajoutées au fichier `/etc/resolv.config` pendant la durée de la connexion.

Ignorer les DNS existants

  Sélectionnez cette option si vous voulez que Kppp ne tienne pas compte des adresses de serveurs de noms déjà présentes dans le fichier `/etc/resolv.conf` lorsqu'une connexion est établie.

### Passerelle

Passerelle par défaut

  Cochez cette option si vous voulez que pppd utilise la passerelle par défaut pour configurer votre machine.

Passerelle statique

  Cochez cette option si vous voulez préciser la passerelle à utiliser.

### Script de connexion

Modifier le script

  Utilisez cette boîte de dialogue pour composer un script de connexion pour votre FAI. Utilisez le mini terminal et les informations transmises par votre FAI pour comprendre la séquence d'actions qu'il faut mettre en place pour établir la connexion.

  - Expect : Kppp attendra de recevoir le texte précisé ici

  - Send : Kppp enverra le texte précisé ici

  - Scan : Kppp cherchera dans les données reçues la chaîne spécifiée et rangera tout caractère entre la fin de cette chaîne et le prochain saut de ligne dans un buffer interne. Les espaces initiaux et finaux seront supprimés.

  - Save : Range de façon définitive la chaîne extraite par l'opération précédente dans le registre spécifié. A ce stade, le seul registre valide est 'password'.

  - Pause : Kppp fera une pause pendant le nombre de secondes précisé ici

  - Hangup : Kppp enverra la séquence de raccrochage au modem

  - Answer : Kppp demandera au modem de se mettre en mode réponse

  - Timeout : fixe le délai maximal d'attente avant abandon au nombre de secondes précisé ici, dynamiquement, pendant l'exécution du script. Vous pouvez changer la valeur du délai maximal plusieurs fois pendant l'exécution du script, si nécessaire.

  - Prompt : Demande à l'utilisateur de taper du texte, en utilisant la chaîne de caractères précisée ici. L'utilisateur verra à l'écran les caractères qu'il tape.

  - PWPrompt : Demande à l'utilisateur de taper du texte, en utilisant la chaîne de caractères donnée ici. Un astérisque sera affiché pour chaque caractère tapé par l'utilisateur.

  - ID : Si le champ Nom d'utilisateur est rempli dans la fenêtre principale de Kppp, c'est ce nom qui sera envoyé. Si le champ n'est pas rempli, Kppp demandera à l'utilisateur d'entrer son nom de login, en utilisant le texte précisé ici. L'utilisateur verra s'afficher à l'écran ce qu'il tape. Lors d'un second passage, comme le deuxième tour d'une boucle, une invite sera affichée en utilisant le texte entré ici.

  - Password : Si le champ Mot de passe est rempli dans la fenêtre principale de Kppp, c'est ce mot de passe qui sera envoyé. Si le champ n'est pas rempli, Kppp demandera à l'utilisateur d'entrer un mot de passe, en utilisant le texte précisé ici. Un astérisque sera affiché à l'écran pour chaque caractère tapé par l'utilisateur. Lors d'un second passage, comme le deuxième tour d'une boucle, une invite sera affichée en utilisant le texte entré ici.

  - LoopStart : Kppp attendra la réception du texte précisé ici. Ce texte sera mémorisé et servira à la fin de la boucle.

  - LoopEnd : Kppp attendra la réception du texte précisé ici pour sortir de la boucle. Si le texte correspondant au début de boucle est reçu en premier, Kppp sautera à la ligne suivant le début de boucle, pour la répétition des commandes duales du style login/mot de passe.

#### Exemples de scripts

Voici un script simple qui pourrait me servir à me connecter à mon FAI :

    Expect      ID:                        # attente du texte "ID:"
    Send        myid                       # remplacez myid par votre login
    Expect      word:                      # attente du texte 'password'
    Send        4u3fjkl                    # envoi du mot de passe '4u3fjkl'
    Expect      granted                    # Mon FAI envoie 'Permission granted' en cas de succès.
    Send        ppp                        # Lance une session PPP
                                           # chez mon FAI

Ci-dessous est présenté un script pour le même compte avec demande de login et de password ; ce script demandera les deux chaque fois, quel que soit le contenu des champs login et password dans la fenêtre principale de Kppp. Ce script illustre également l'utilisation des options LoopStart et LoopEnd. En cas de problèmes pendant la séquence de connexion, si par exemple vous avez commis une erreur dans votre mot de passe, le FAI affichera un message d'erreur et passera une fois de plus dans la boucle login/password, en vous affichant l'invite "ID:". Si le texte "ID:" est lu par Kppp avant le LoopEnd, Kppp redémarrera le script après l'instruction LoopStart.

    LoopStart   ID:                        # attente du texte "ID:"
    Prompt      Enter ID:                  # me demande mon login et l'envoie
    Expect      word:                      # attente de 'password'
    PWPrompt    Enter Password:            # me demande mon mot de passe et l'envoie
    LoopEnd     granted                    # Mon FAI envoie 'Permission granted' en cas de succès.
    Send        ppp                        # Lancement d'une session PPP

Voici le script que j'utilise en fait pour me connecter à mon FAI : ce script ne me demandera mon login et mon mot de passe que si je n'ai pas rempli les champs correspondants dans la fenêtre principale de Kppp.

    LoopStart   ID:                        # attente du texte "ID:"
    ID          Enter ID:                  # me demande mon login et l'envoie
    Expect      word:                      # attente de 'password'
    Password    Enter Password             # me demande mon mot de passe et l'envoie
    LoopEnd     granted                    # Mon FAI envoie 'Permission granted' en cas de succès.
    Send        ppp                        # Lancement d'une session PPP

Voici un script que j'utilise pour me connecter à un FAI qui utilise une sorte d'identification par défi/réponse. En général le FAI vous confie un matériel spécifique (une carte intelligente avec un affichage et un clavier du type calculatrice). Vous devez connaître un mot de passe pour utiliser ce matériel. Après avoir appelé votre FAI, ce dernier vous pose un défi. Vous entrez le défi dans le boîtier, lequel répond par un mot de passe dynamique. Vous devez alors taper ce mot de passe.

    LoopStart   ID:                        # attente du texte "ID:"
    ID          Enter ID:                  # me demande mon login et l'envoie
    Scan        Challenge:                 # recherche de 'Challenge' et rangement de ce qui suit jusqu'à la fin de la ligne
    Expect      Password:                  # attente de 'password'
    Prompt      Le défi est ## - Entrer la réponse # me demande la réponse au défi et l'envoie
    LoopEnd     granted                    # mon FAI envoie 'Permission granted' en cas de succès
    Send        ppp                        # Lancement d'une session ppp

La session enregistrée ci-dessous montre la procédure de connexion à un FAI fictif qui fournit un nouveau mot de passe à chaque connexion. Le mot de passe doit être vérifié et enregistré en vue de la prochaine session.

    University of Lummerland

    Login:mylogin
    Password:
    The password for your next session is: YLeLfkZb
    Please record and enter it for verification.
    Verification:YLeLfkZb

    1 = telnet
    2 = SLIP
    3 = PPP

    Your choice:

kppp peut accomplir cette tâche fastidieuse à votre place (en éliminant par la même occasion le risque de perdre la petite feuille de papier où vous aurez noté votre mot de passe courant). La partie cruciale de ce script réside dans l'usage des mots-clés Scan/Save:

    Expect      Login:                     # attente de la demande d'identification
    ID                                     # envoi de l'identificateur
    Expect      Password:                  # attente de la demande de mot de passe
    Password                               # envoi du mot de passe
    Scan        is:                        # attente du texte '... next session is:' et
                                           # analyse du mot de passe le succédant
    Save        Password                   # sauvegarde du nouveau mot de passe en vue de la prochaine connexion
    Expect      Verification:              # attente du texte 'Verification:'
    Password                               # envoi du nouveau mot de passe
    Expect      choice:                    # attente du menu de choix entre differentes options (telnet, SLIP, PPP)
    Send        3                          # choix de l'option 3, c'est-à-dire PPP

### Facturation

Activation de la facturation

  Utilisez le bouton "Activer la facturation" pour activer ou désactiver la comptabilisation des coûts de téléphone. Sélectionnez la règle appropriée à la région du monde où vous vous trouvez. Si aucune règle ne correspond à votre cas, vous aurez besoin d'en créer une d'après l'`EXEMPLE` suivant, dans `&dollar;&lcub;KDEDIR&rcub;/share/doc/HTML/en/Kppp/`. N'ayez pas peur, c'est réellement facile. N'oubliez pas, ensuite, de m'envoyer votre nouvelle règle ! La syntaxe du nouveau fichier peut être validée avec l'option de la ligne de commande -r fichier&lowbar;de&lowbar;regle de Kppp ; ce nouveau fichier doit être installé dans `&dollar;&lcub;KDEDIR&rcub;/share/apps/Kppp/Rules` ou dans `&dollar;(HOME)/.kde/share/apps/Kppp/Rules` pour que vous puissiez la sélectionner dans cette boîte de dialogue.

### Facturation au volume

#### Qu'est-ce que la facturation suivant le volume ?

Le principe est de compter les octets transmis depuis ou vers l'Internet. kppp Peut compter les octets entrants sortants ou les deux. Il vous revient de décider de l'option que vous souhaitez (ou devez) utiliser.

#### Pourquoi utiliser la facturation au volume ?

Parce que de nos jours beaucoup de Fournisseurs d'Accès à l'Internet commencent à facturer leurs clients en fonction du nombre d'octets transmis. Ou alors ils vous imposent une limite arbitraire à la quantité de données transmises, et vous facturent tout mégaoctet en plus. kppp vous montre votre volume actuel et vous aide à maintenir vos factures au plus bas. Bien entendu, si vous n'avez pas de limitations de volume mais si vous êtes curieux, vous pouvez également l'utiliser...

#### Quel type de facturation au volume dois-je choisir?

Cela dépend de votre fournisseur. La plupart d'entre eux comptent seulement le nombre de mégaoctets reçus et ne tiennent pas compte de combien vous émettez. Dans ce cas vous devez choisir "Octets reçus". Si vous devez payer pour les deux, choisissez "Octets reçus et émis". L'option "Octets émis" n'est pas très utile et ne figure ici que par souci d'exhaustivité.

#### Problèmes

Il y a malheureusement un problème dans la gestion de la facturation au volume par kppp. kppp se contente de compter le nombre d'octets sans tenir compte de leur origine. Bon nombre de fournisseurs d'accès mettent en place une limite qui concerne l'accès à l'Internet et non l'accès à leur propre réseau. Ainsi, si vous surfez un peu sur le Web et si vous utilisez un cache de proximité, ce "proxy-cache" résidera dans le réseau de votre fournisseur, lequel ne vous facturera pas les octets transférés depuis ce cache. Comme kppp ne saura pas que ces paquets IP proviennent du proxy, il les comptera. C'est pourquoi, si votre fournisseur utilise un cache de proximité ou un serveur de "news" avec cache (like nntpcached), le volume affiché par kppp peut être surévalué.

## Modems : trucs & astuces

Cette partie devrait satisfaire même ceux d'entre vous qui sont effrayés par les commandes (pas si mystérieuses que cela) utilisées pour dialoguer avec les modems. Les commandes présentées ici appartiennent toutes au standard Hayes AT, mais tous les modèles de modems sont différents, elles ne vous seront donc pas toutes d'utilité.

### Sessions modem

Une session modem vous permet d'agir directement sur le modem. Vous tapez des commandes, et il vous répond. Pour ouvrir une session modem, quand aucune connexion n'est active, allez dans Configuration/Modem/Terminal. Cette option ouvrira une fenêtre de dialogue qui vous permettra une configuration interactive du modem. Essayez de taper ATZ (ce qui réinitialise votre modem). Vous devriez reçevoir une réponse OK du modem. Faites Fichier/Fermer pour terminer la session.

### Profils de modem

Une des raisons pour lesquelles vous désirez envoyer des commandes au modem directement est que vous avez des caractéristiques de configuration que vous désirez conserver de session en session, au lieu de les respécifier à chaque fois. Une bonne méthode dans ce cas est l'utilisation des profils de modem. En effet, les modems peuvent contenir plusieurs profils d'utilisation, stockés dans leur mémoire, et appelés 0,1 ... La commande AT&V vous permet de les visualiser tous. Le profil par défaut est généralement le profil 0 (cela peut être modifié via la commande AT&Y.) Le profil utilisé est appelé profil "actif".

Lorsque vous modifiez un réglage, le profil actif est modifié. La commande ATZ effectue un rechargement du profil par défaut, effaçant par là même tous les changements de vous auriez pu faire. Pour enregistrer ces changements, chargez le profil auquel vous désirez apporter des modifications par la commande ATZn (où n est le numéro du profil), effectuez toutes les modifications que vous désirez, et enfin enregistrez-le par la commande AT&Wn. Pour que Kppp utilise le profil que vous désirez, modifiez la chaîne d'initialisation du modem (Configuration/Modem/Commandes du modem/Chaîne d'initialisation). Par exemple, ATZ1 provoquera la réinitialisation du modem et l'emploi du profil mémorisé numéro 1.

Si vous désirez réinitialiser votre modem afin de retrouver une configuration connue, utilisez AT&F&W pour réinitialiser toutes les valeurs du profil actif aux valeurs d'usine, puis enregistrez cette configuration comme profil par défaut.

Des exemples de changement de profil sont donnés dans la partie suivante.

### Faire raccrocher le modem

Quelquefois, vous pourrez peut-être constater que Kppp a des difficultés à raccrocher le modem. C'est généralement le cas lors de divergences entre les réglages de Kppp et ceux du modem. Un modem standard utilise deux méthodes pour raccrocher : Commande, et DTR. La méthode Commande demande l'envoi d'une séquence de caractères Escape au modem, qui le place en mode d'attente de commandes, puis l'envoi de la commande de raccrochage (ATH).

En-dehors de Kppp, lorsque vous configurez pppd manuellement, il est souvent utile d'utiliser la méthode Commande, pour pouvoir sortir d'une session de terminal, et ensuite pouvoir lancer pppd sans laisser le modem raccrocher. Dans la plupart des autres cas, la méthode DTR est préférable, car plus simple.

#### La méthode DTR (AT&Dn)

La méthode DTR fera raccrocher le modem dès que Kppp n'en aura plus besoin. Si vous ouvrez une session modem, demandez son état via la commande AT&V, et que &D0 est parmi les réglages affichés pour le profil actif, alors la méthode de raccrochage DTR est inactive. Pour la rendre active, utilisez l'option Configuration/Modem/Terminal pour ouvrir une session modem, puis

    ATZ     # réinitialiser par rechargement du profil par défaut
    AT&D2   # raccrocher si DTR passe au niveau bas
    AT&W    # enregistrer le profil

##### DTR : comment ça marche ?

Lorsque la ligne Data Terminal Ready (Terminal de Données Prêt, DTR) sur la ligne série, entre l'hôte et le modem, passe au niveau haut, le modem raccroche. Lorsque Kppp ouvre le port série, la ligne DTR est passée au niveau bas, et sur un modem externe vous pouvez voir le témoin lumineux associé à la ligne DTR (ou TR) s'allumer lorsque cela se produit. Lorsque la lumière TR s'éteint (parce que Kppp a fermé le port série, ou pire !), c'est que le modem raccroche.

#### La méthode Commande

L'autre manière de faire raccrocher un modem connecté (utilisée lorsque AT&Dn où n différent de 2) est de faire accepter une commande au modem lorsqu'une session est active. Afin de le faire raccrocher correctement, ouvrez une session modem, et configurez le Temps de Garde avec une valeur faible, comme par exemple :

    ATZ
    ATS12=5
    AT&W

Ensuite, utilisez la barre de progression Configuration/Modem/Commandes du modem/Temps de garde afin de faire correspondre sa valeur à celle que vous avez paramétrée à l'étape ci-dessus. Le modem devrait raccrocher correctement.

##### La méthode Commande : comment ça marche ?

Lorsque le modem local est connecté à un modem distant, il est dans l'état "connecté", dans lequel il transmet tous les caractères qu'il reçoit directement au modem distant, sans les interpréter. Pour faire interpréter les caractères envoyés au modem par lui-même, vous devez placer le modem en mode Commande. C'est la fonction du code Escape.

La séquence d'échappement (le code Escape) est définie comme trois intervalles de temps de durée définie par S12 (en 50e de seconde).

- Silence (plus long que S12/50 secondes)

- Caractère Escape (défini par la valeur de S2, "+" par défaut) répété trois fois (avec moins de S12/50 secondes entre chaque occurence)

- Silence (plus long que S12/50 secondes)

Une fois le modem dans le mode de Commande, vous pouvez lui envoyer vos ordres. Pour le faire raccrocher, envoyez ATH. Le code escape et la chaîne de raccrochage utilisés par Kppp sont affichés dans la boîte de dialogue Configuration/Modem/Commandes du modem. Ces commandes doivent correspondre à votre modem.

### Boostez la numérotation à fréquences vocales

Si vous utilisez la numérotation à fréquences vocales, le temps consacré à numéroter est fixé par la valeur du registre S11. Il donne la durée (en centièmes de seconde) à attendre entre deux envois de fréquence. La valeur par défaut est généralement 95 (presque une seconde). Votre vitesse maximale dépend de l'équipement de votre compagnie de téléphone. Le délai minimal est 50, presque deux fois plus vite, et cette vitesse fonctionne le plus souvent.

    ATZ       # réinitialiser en rechargeant le profil par défaut
    ATS11=50  # numérotation la plus rapide, utilisez > 50 si cela ne fonctionne pas
    AT&W      # enregistrer dans le profil par défaut

## PAP et CHAP

A partir de la version 0.9.1, Kppp supporte directement la forme la plus utilisée de l'authentification PAP. La section 'PAP et CHAP avec Kppp' décrit comment utiliser PAP et CHAP dans Kppp en général, et la section 'PAP et Kppp' décrira en détail comment utiliser avantageusement la version la plus commune de PAP, incluse dans Kppp, et employée par beaucoup de FAI (Fournisseurs d'Accès à l'Internet).

### PAP avec Kppp

Il y a deux manières différentes d'utiliser PAP :

#### Authentification du côté du client

Cette variante est utilisée par de nombreux FAI. Cela signifie simplement que vous (ou votre ordinateur) devez vous authentifier auprès du serveur PPP de votre FAI. Le serveur PPP ne doit pas s'authentifier auprès de votre ordinateur, mais typiquement cela n'est pas nécessaire car vous savez à quel ordinateur vous vous connectez (la meilleure raison est que c'est vous qui avez établi la connexion). Cette particularité n'est donc pas un problème de sécurité particulièrement grave. Kppp exploite directement cette variante. La façon de l'utiliser est décrite plus bas.

Si votre FAI vous donne juste un login et un mot de passe et vous dit que vous devez utiliser l'authentification PAP, vous devez utiliser cette variante.

#### Authentification dans les deux sens

Idem à la précédente, mais votre ordinateur demande au serveur PPP de votre FAI de s'authentifier également. Pour établir une connexion, vous devez choisir la méthode d'authentification Basée sur un script, et non PAP, et vous devez modifier manuellement `/etc/ppp/pap-secrets`. Bien que Kppp ne supporte pas directement cette variante, il est facile d'établir une connexion avec cette variante de PAP. Les détails sont donnés dans la section précédente, intitulée 'PAP et CHAP avec Kppp'.

#### Préparer Kppp pour PAP

1. Vérifiez que `/etc/ppp/options` (et `˜/.ppprc` si vous avez un tel fichier) ne contient pas un des arguments suivants :

   - +pap

   - -pap

   - papcrypt

   - +chap

   - +ua

   - remotename

   Il est improbable que l'un de ces arguments y soit, mais il est toujours bon de vérifier.

2. Lancez Kppp

3. Cliquez sur Configuration

4. Choisissez le compte à utiliser avec PAP et cliquez sur Edition

5. Cliquez sur l'onglet Appeler tab.

6. Sélectionner PAP dans la boîte Authentification

7. Si vous ne voulez pas retaper votre mot de passe chaque fois que vous vous connectez, sélectionnez Enregistrer le mot de passe. Ceci enregistrera votre mot de passe ; vérifiez que personne d'autre que vous n'a accès à votre compte, car sinon cette personne pourra utiliser votre mot de passe pour se connecter à Internet !

8. C'est tout. Fermez les boîtes de dialogue, tapez le login et le mot de passe fournis par votre FAI, et connectez-vous !

### PAP et CHAP avec Kppp

Cette partie est inspirée d'un mél de Keith Brown et explique comment faire fonctionner Kppp dans le cas d'un compte PAP ou CHAP commun. Si votre FAI vous a juste donné un login et un mot de passe pour un compte PAP, vous pouvez probablement sauter cette section et vous référer tout de suite à la suivante, intitulée 'PAP et Kppp'.

PAP semble bien plus compliqué au premier regard qu'il ne l'est en réalité. Le serveur (la machine à laquelle vous vous connectez) demande simplement au client (votre machine) de s'authentifier en utilisant PAP. Le client (pppd) regarde dans un fichier bien particulier s'il contient une ligne sur laquelle apparaît le nom du serveur et le nom de connexion du client, puis envoie le mot de passe trouvé sur la même ligne. C'est tout ! A présent, voici comment faire fonctionner ce principe. Je suppose que vous utilisez la version 2.2.0 de pppd ainsi qu'une installation standard des fichiers de configuration ppp, sous `/etc/ppp`.

Pour l'exemple, je suppose que j'ai un compte Internet chez le FAI 'glob.net', que mon nom d'utilisateur (mon login) est 'booger', et que mon mot de passe (mon password) est 'foobar'. Tout d'abord, je dois ajouter tout cela dans le fichier `/etc/ppp/pap-secrets`. Le format d'une ligne de ce fichier est :

    NOM-D-UTILISATEUR   NOM-DE-SERVEUR   MOT-DE-PASSE

et donc j'ajoute la ligne :

    booger   glob   foobar

au fichier et je l'enregistre. Remarque : je peux utiliser n'importe quel nom pour qualifier le serveur, du moment que j'utilise le même dans les paramètres de pppd, comme nous le verrons sous peu. J'ai raccourci le nom à 'glob'. Ce nom est utilisé seulement pour rechercher le bon mot de passe.

A présent, je dois configurer ma connexion dans Kppp, sur le même principe que toute autre connexion, et je ne rentrerai pas dans les détails ici, sauf pour vous dire de vérifier que le fichier `/etc/ppp/options` est vide et que vous ne voulez probablement utiliser aucun script de login. Maintenant, dans la boîte de dialogue Edition du compte, en bas, vous trouverez le bouton Arguments pppd. Cela déclenche l'ouverture d'une fenêtre semblable à celle utilisée pour modifier un script de login. Ici nous allons entrer des valeurs qui seront passées à pppd sur la ligne de commande, et, dans le cas d'arguments à valeur multiple, nous devons les entrer sur autant de lignes dans la liste, dans l'ordre correct.

Nous devons entrer tout autre paramètre que nous désirons passer en premier. A présent nous devons ajouter les paramètres dont pppd a besoin pour traiter l'authentification PAP. Dans cet exemple, je vais ajouter 'user', 'booger', 'remotename', 'glob' dans pap-secrets, et les envoyer au serveur. Le nom suivant 'remotename' est utilisé par pppd uniquement pour se référer à l'entrée correcte dans le fichier pap-secrets, et n'est pas envoyé au serveur ; donc, une fois encore, ce peut être n'importe quoi, sous réserve qu'il corresponde à la ligne du fichier pap-secrets.

C'est tout ! Vous devriez à présent être capables de paramétrer votre propre connexion à un serveur en utilisant l'authentification PAP. CHAP ne devrait pas être très différente. Référez-vous au Guide de l'Administrateur Réseau sous Linux pour le format du fichier chap-secrets et les paramètres pppd utilisés. Le reste devrait être du gâteau, mais bon ... l'expérience etc ... (vous connaissez la chanson).

## Questions et réponses

### Questions fréquemment posées (FAQ)

#### Je n'arrive pas à faire fonctionner Kppp. Kppp me dit que pppd est mort ou qu'un timeout a expiré !

Avez-vous lu ce manuel attentivement ? Voici encore une fois les pièges les plus communs :

- Cliquez sur le bouton "Détails". kppp vous donnera un résumé des messages de PPP (ceci peut ne pas marcher sur des systèmes non-linux, ou même sur certaines distributions de Linux). Ce rapport d'exécution vous aidera à identifier le problème.

- Vérifiez que pppd est l'exécutable pppd réel, pas un script

- Vérifiez que pppd est "setuid root". Vous pouvez régler ce mode en utilisant la commande chmod u+s pppd en tant qu'utilisateur root.

- Vérifiez que le fichier /etc/ppp/options existe, et qu'il ne contient pas d'entrées incompatibles entre elles. En cas de doute, videz ce fichier.

- Vérifiez que vous n'utilisez PAS l'option 'lock' comme paramètre de pppd (Kppp s'occupe lui-même du verrouillage du modem)

- Enlevez l'option 'lock' de vos fichiers `/etc/ppp/options` et `˜/.ppprc` !

- L'usage du lien symbolique `/dev/modem` peut être à l'origine de certains conflits. Eliminez cette source de problèmes en utilisant le périphérique réel, par exemple `/dev/cuaX` ou `/dev/ttySX`. NOTE: COM1 égale ttyS0, COM2 est ttyS1 et ainsi de suite.

- Vérifiez que vous appliquez des permissions correctes. En cas de problème, vous pouvez le tester d'abord en étant root et, plus tard, lorsque tout fonctionne bien, appliquer à Kppp des droits moins puissants lorsque vous ne pouvez pas vous permettre de le mettre setuid root. La manière la plus propre de le faire est probablement de créer un groupe 'modem'.

- Vous lancez peut-être pppd trop tôt, c'est-à-dire avant que le serveur distant soit capable de négocier une connexion PPP. Si vous utilisez un script de connexion, vous devriez utiliser le terminal intégré pour vérifier votre procédure de connexion. Certains fournisseurs nécessitent que vous exécutiez une simple instruction "Send" ou "Send ppp" pour lancer PPP. Certains utilisateurs ont même rapporté qu'ils ont dû ajouter "Pause 1" ou "Pause 2" à leurs scripts pour résoudre ces problèmes de synchronisation.

#### Kppp me dit ``Désolé, impossible d'accéder au modem''.

Cela signifie que Kppp n'a pas la permission d'ouvrir le périphérique modem ou que vous avez sélectionné un modem invalide dans la boîte de configuration Modem de Kppp. Vérifiez tout d'abord que vous avez sélectionné le modem approprié. Une fois cela vérifié, vous devez donner à Kppp la permission d'accéder au modem et de modifier `/etc/resolv.conf` dans le cas où vous voulez que Kppp configure le DNS pour vous. Si vous pouvez vous permettre de mettre Kppp setuid root, cela règle du même coup tous les problèmes d'accès, si vous ne le pouvez pas, vous devez choisir les permissions appropriées à chaque but. Pour mettre Kppp setuid root, faites ceci :

    % su root
    # chown root:root &dollar;{KDEDIR}/bin/Kppp
    # chmod +s &dollar;{KDEDIR}/bin/Kppp
    # exit

#### Kppp me dit qu'il ne peut créer un fichier verrou pour le modem.

Cela, dans la plupart des cas, s'explique par le fait que vous avez installé Kppp sans le bit SETUID et que vous, la personne exécutant Kppp, n'avez pas la permission en écriture dans le répertoire du fichier verrou (généralement `/var/lock`), comme c'est le cas sur les systèmes RedHat. Vérifiez l'emplacement que vous avez choisi pour le fichier verrou dans la boîte de configuration. La solution est simple -- ou bien vous lancez Kppp setuid si vous le pouvez (en termes de sécurité !), ou bien permettez aux utilisateurs d'écrire dans le répertoire `/var/lock`, ou bien encore crééz un groupe modem qui a accès au fichier dans `/var/lock`.

#### Pourquoi Kppp est-il installé avec le bit setuid ?

Il n'y a pas nécessité d'avoir le bit setuid, si vous connaissez un peu l'administration de systèmes UNIX. Créez simplement un groupe modem, ajoutez-y tous les utilisateurs devant utiliser le modem et rendez le modem accessible en lecture/écriture pour ce groupe. De plus, si vous voulez la configuration automatique du DNS, le fichier `/etc/resolv.conf` doit être accessible en lecture/écriture pour ce groupe également.

Veuillez ne pas me faire de critiques lorsque je propose d'installer Kppp setuid root, je ne peux tout simplement plus traiter le volume de courrier que je recevais d'utilisateurs désespérés, ayant des problèmes à faire fonctionner Kppp parce qu'ils ne comprenaient pas grand'chose au sujet d'UNIX et des permissions sur les périphériques.

L'équipe kppp a récemment travaillé à fond pour rendre kppp sûr en mode setuid. Mais c'est à vous de décider si vous l'installez et comment vous l'installez.

#### Kppp regarde voler les mouches et attend 'OK'

- Avez-vous joué avec le réglage CR/LF ? Essayez CR, LF ou CR/LF.

- Votre modem ne doit pas supporter une initialisation rapide. Ouvrez le dialogue "Commandes du modem" dans l'onglet "Modem" et ajustez les délais de "pré-initialisation" et de "post-initialisation". Vérifiez que ça fonctionne quand vous augmentez radicalement ces valeurs, et procédez à un réglage plus fin par la suite.

#### La connexion fonctionne correctement mais je ne peux démarrer aucune application.

Vous avez probablement activé l'option et le serveur X a des problèmes pour se connecter à votre hôte récemment renommé. Si vous avez réellement besoin de cette option (il est possible que ce ne soit pas le cas) il vous revient de réglez les autorisations adéquates. Le fait de xhost + avant de vous connecter règlerait le problème, mais soyez averti des risques en matière de sécurité si tout le monde est autorisé à accéder à votre serveur X.

#### kppp indique une connexion réussie, mais Netscape dit "Le serveur n'a pas d'adresse DNS"

Essayez de faire un "ping" vers un autre serveur en utilisant son adresse IP, par exemple avec la commande `ping`. Si ça fonctionne vous devriez

- vérifier que vous avez au moins donné à Kppp une adresse DNS valide

- vérifier le contenu de `/etc/host.conf`. Il devrait y avoir une ligne ressemblant à `order hosts, bind`. Le mot-clé `bind` dit à la librairie de résolution d'adresse de faire une requète à un serveur de noms lors de la résolution d'une adresse.

#### Comment faire envoyer un \n ou un \r par Kppp ?

Envoyez juste une ligne vide comme dans le script suivant :

    Send                     # envoyer une chaîne vide
    Expect      ID:
    Send        c-est-moi
    Expect      word:
    Send        oublie
    Expect      granted
    Send        ppp

#### Kppp se plaint : ``Impossible de créer le fichier verrou''

Cela signifie que vous n'avez pas le droit de créer un fichier verrou. Si par exemple vous avez spécifié '/var/lock/LCK..modem' dans la fenêtre de configuration, vous devez avoir la permission en écriture dans `/var/lock`. Bien sûr, cela n'est pas un problème si Kppp est setuid. Veuillez lire la section sur les fichiers verrou.

#### Mon modem est trop bruyant quand il compose un numéro !

Cliquez sur "Configuration"/"Modem". Vous pouvez changer le son du modem sur l'une des trois valeurs: éteint, moyen et fort. Pour beaucoup de modems "moyen" et "fort" correspondent au même volume. Si ça ne fonctionne pas, assurez-vous que les réglages corrects pour votre modem sont spécifiés dans "Configuration"/"Modem"/"Commandes modem" !

#### Kppp indique une vitesse de modem inhabituelle comme 115200, 57600 ou une valeur similaire

Bon nombre de modems n'indiquent par défaut que la vitesse de la ligne série et non la vitesse sur la ligne téléphonique. Vous devez configurer ces modems pour qu'ils indiquent la véritable vitesse, en ajoutant une commande à la chaîne d'initialisation ou de numérotation. Pour beaucoup de modems cette commande est "ATW2". Si vous désirez l'ajouter à la chaîne de numérotation (typiquement "ATD"), la nouvelle chaîne de numérotation deviendrait "ATW2D".

#### kppp indique "Vitesse inconnue"

Les nouveaux modems envoient des messages de connexion très complexes comme "CONNECT LAP.M/V42.bis/115000:RX/31200:TX", et Kppp ne sait pas analyser de tels messages correctement. Validez "Afficher rapport" et cette vitesse de connexion s'affichera. Je travaille en ce moment sur une meilleure solution à ce problème, et l'analyseur de réponse est à présent bien meilleur, mais toujours pas parfait.

#### La vitesse de connexion est lente

Si vous n'êtes pas satisfait de la vitesse de connexion, assurez-vous d'avoir mis la vitesse de connexion ("Configuration"/"Périphérique"/"Vitesse") à 57600 ou plus. Assurez-vous que vos ports série supportent des vitesses élevées. La plupart des sysèmes basés sur le processeur i486 ne fonctionnent pas correctement avec une vitesse de 115200. Si vous avez une puce UART 8250, cela ne fonctionnera pas. Si vous avez un 16550 ou un 16550A ça doit fonctionner sans heurt.

#### Ma ligne téléphonique a besoin de numérotation par impulsions au lieu de tonalités (ou vice-versa)

Vous devez modifier la chaîne de numérotation du modem. La plupart des modems supportent les commandes Hayes suivantes :

- ATDT - passer en numérotation par tonalités

- ATDP - passer en numérotation par pulsations

#### Kppp se comporte vraiment bizarrement

L'avez-vous compilé, ou avez-vous compilé les librairies avec gcc-2.8 ? Cette version de gcc est légèrement défectueuse, et ne fonctionnera pas comme prévu.

#### Comment puis-je écrire un fichier de règles de coûts téléphoniques ?

Contentez-vous de suivre les fichiers TEMPLATE (modèles) fournis avec Kppp. Vous devriez en trouver une copie dans le répertoire `&dollar;&lcub;KDEDIR&rcub;/doc/HTML/Kppp`. Employez l'option `-r` de la ligne de commande de Kppp pour vérifier la syntaxe de votre nouveau fichier de règles.

#### J'ai écrit un fichier de règles pour ma région. Où puis-je l'envoyer pour que d'autres puissent l'utiliser ?

J'aurais beaucoup de plaisir à recevoir tout fichier de règles écrit. Je les rendrai disponibles sur la page web de Kppp. Avant de m'envoyer un nouveau fichier de règles, veuillez vous assurer qu'il n'est pas déjà disponible sur cette page ;-) Ensuite, envoyez-le moi par mél à wuebben@math.cornell.edu.

#### Est-ce que mon fichier de règles de facturation peut contenir des unités de temps fractionnaires comme "(0.17, 45.5)"?

Oui, c'est possible. Mais vous ne devriez pas utiliser des unités de temps inhabituellement courtes (moins d'un dixième de seconde), car la charge CPU augmenterait (bien que je doute que vous vous en aperceviez avec une CPU moderne :-)

#### Mon pays observe des vacances fluctuantes différentes de Pâques.

Dans ce cas vous devez écrire du code qui calcule ces vacances. Veuillez vous référer à ruleset.cpp et imiter l'exemple 'easter'. Ensuite, envoyez-moi les patches.

## Appendices

### Les commandes Hayes

Les commandes Hayes vont vous servir si vous avez besoin de tester de plus près votre modem.

### Fichiers relatifs à Kppp

Par défaut, Kppp utilise les fichiers et répertoires suivants. L'emplacement de certains peut être modifié au moment de la compilation de Kppp.

    &dollar;{KDEDIR}/bin/kppp
    &dollar;{KDEDIR}/share/doc/HTML/.../kppp/*
    &dollar;{KDEDIR}/share/apps/kppp
    &dollar;{KDEDIR}/share/apps/kppp/Rules/*/*.rst
    &dollar;{KDEDIR}/share/apps/kppp/pics/*
    &dollar;{HOMEDIR}/.kde/share/apps/kppp
    &dollar;{HOMEDIR}/.kde/share/apps/kppp/kppp.pid
    &dollar;{HOMEDIR}/.kde/share/apps/kppp/Log/*
    &dollar;{HOMEDIR}/.kde/share/config/kppprc

### Rapporter un problème avec Kppp

Avant de rapporter un problème ou une défaillance de Kppp aux personnes en charge de Kppp, veuillez lire la section Questions fréquemment posées avec beaucoup d'attention.

Si vos problèmes persistent, veuillez inclure dans votre rapport les informations suivantes :

- La version de Kppp que vous utilisez. kppp -v vous l'affichera.

- La version de pppd que vous utilisez. /usr/sbin/pppd -h vous l'affichera.

- Quel système d'exploitation (et quelle version) vous utilisez. uname -a vous indiquera cela sur la plupart des systèmes UNIX.

- Si Kppp vous dit "fin prématurée de pppd", ajoutez l'option debug aux paramètres de pppd. Renumérotez pour reproduire l'erreur.

  A présent, le fichier `/var/log/messages` (cela dépend de votre système et de votre configuration, mais un système Linux typiquement installé sera dans ce cas), que vous ne pouvez lire qu'en étant root, contient beaucoup d'informations de débogage à la fin. N'envoyez pas la totalité du fichier. Il comporte typiquement plusieurs milliers de lignes et nous n'avons ni le temps ni l'envie de traiter un tel fichier. N'envoyez en conséquence que les dernières lignes qui contiennent pppd. Vérifiez en outre que ce fichier ne contient pas d'informations compromettant votre sécurité (comme des mots de passe ou des noms d'utilisateur). Remplacez-les par exemple par "login" et "password".

## La licence générale publique GNU

NDT :Cette licence n'est pas traduite, car une telle traduction constituerait une violation des termes de la licence elle-même.

    		    GNU GENERAL PUBLIC LICENSE
    		       Version 2, June 1991

     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                              675 Mass Ave, Cambridge, MA 02139, USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

    			    Preamble

      The licenses for most software are designed to take away your
    freedom to share and change it.  By contrast, the GNU General Public
    License is intended to guarantee your freedom to share and change free
    software--to make sure the software is free for all its users.  This
    General Public License applies to most of the Free Software
    Foundation's software and to any other program whose authors commit to
    using it.  (Some other Free Software Foundation software is covered by
    the GNU Library General Public License instead.)  You can apply it to
    your programs, too.

      When we speak of free software, we are referring to freedom, not
    price.  Our General Public Licenses are designed to make sure that you
    have the freedom to distribute copies of free software (and charge for
    this service if you wish), that you receive source code or can get it
    if you want it, that you can change the software or use pieces of it
    in new free programs; and that you know you can do these things.

      To protect your rights, we need to make restrictions that forbid
    anyone to deny you these rights or to ask you to surrender the rights.
    These restrictions translate to certain responsibilities for you if you
    distribute copies of the software, or if you modify it.

      For example, if you distribute copies of such a program, whether
    gratis or for a fee, you must give the recipients all the rights that
    you have.  You must make sure that they, too, receive or can get the
    source code.  And you must show them these terms so they know their
    rights.

      We protect your rights with two steps: (1) copyright the software, and
    (2) offer you this license which gives you legal permission to copy,
    distribute and/or modify the software.

      Also, for each author's protection and ours, we want to make certain
    that everyone understands that there is no warranty for this free
    software.  If the software is modified by someone else and passed on, we
    want its recipients to know that what they have is not the original, so
    that any problems introduced by others will not reflect on the original
    authors' reputations.

      Finally, any free program is threatened constantly by software
    patents.  We wish to avoid the danger that redistributors of a free
    program will individually obtain patent licenses, in effect making the
    program proprietary.  To prevent this, we have made it clear that any
    patent must be licensed for everyone's free use or not licensed at all.

      The precise terms and conditions for copying, distribution and
    modification follow.

    		    GNU GENERAL PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

      0. This License applies to any program or other work which contains
    a notice placed by the copyright holder saying it may be distributed
    under the terms of this General Public License.  The "Program", below,
    refers to any such program or work, and a "work based on the Program"
    means either the Program or any derivative work under copyright law:
    that is to say, a work containing the Program or a portion of it,
    either verbatim or with modifications and/or translated into another
    language.  (Hereinafter, translation is included without limitation in
    the term "modification".)  Each licensee is addressed as "you".

    Activities other than copying, distribution and modification are not
    covered by this License; they are outside its scope.  The act of
    running the Program is not restricted, and the output from the Program
    is covered only if its contents constitute a work based on the
    Program (independent of having been made by running the Program).
    Whether that is true depends on what the Program does.

      1. You may copy and distribute verbatim copies of the Program's
    source code as you receive it, in any medium, provided that you
    conspicuously and appropriately publish on each copy an appropriate
    copyright notice and disclaimer of warranty; keep intact all the
    notices that refer to this License and to the absence of any warranty;
    and give any other recipients of the Program a copy of this License
    along with the Program.

    You may charge a fee for the physical act of transferring a copy, and
    you may at your option offer warranty protection in exchange for a fee.

      2. You may modify your copy or copies of the Program or any portion
    of it, thus forming a work based on the Program, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that you also meet all of these conditions:

        a) You must cause the modified files to carry prominent notices
        stating that you changed the files and the date of any change.

        b) You must cause any work that you distribute or publish, that in
        whole or in part contains or is derived from the Program or any
        part thereof, to be licensed as a whole at no charge to all third
        parties under the terms of this License.

        c) If the modified program normally reads commands interactively
        when run, you must cause it, when started running for such
        interactive use in the most ordinary way, to print or display an
        announcement including an appropriate copyright notice and a
        notice that there is no warranty (or else, saying that you provide
        a warranty) and that users may redistribute the program under
        these conditions, and telling the user how to view a copy of this
        License.  (Exception: if the Program itself is interactive but
        does not normally print such an announcement, your work based on
        the Program is not required to print an announcement.)

    These requirements apply to the modified work as a whole.  If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works.  But when you
    distribute the same sections as part of a whole which is a work based
    on the Program, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote it.

    Thus, it is not the intent of this section to claim rights or contest
    your rights to work written entirely by you; rather, the intent is to
    exercise the right to control the distribution of derivative or
    collective works based on the Program.

    In addition, mere aggregation of another work not based on the Program
    with the Program (or with a work based on the Program) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.

      3. You may copy and distribute the Program (or a work based on it,
    under Section 2) in object code or executable form under the terms of
    Sections 1 and 2 above provided that you also do one of the following:

        a) Accompany it with the complete corresponding machine-readable
        source code, which must be distributed under the terms of Sections
        1 and 2 above on a medium customarily used for software interchange; or,

        b) Accompany it with a written offer, valid for at least three
        years, to give any third party, for a charge no more than your
        cost of physically performing source distribution, a complete
        machine-readable copy of the corresponding source code, to be
        distributed under the terms of Sections 1 and 2 above on a medium
        customarily used for software interchange; or,

        c) Accompany it with the information you received as to the offer
        to distribute corresponding source code.  (This alternative is
        allowed only for noncommercial distribution and only if you
        received the program in object code or executable form with such
        an offer, in accord with Subsection b above.)

    The source code for a work means the preferred form of the work for
    making modifications to it.  For an executable work, complete source
    code means all the source code for all modules it contains, plus any
    associated interface definition files, plus the scripts used to
    control compilation and installation of the executable.  However, as a
    special exception, the source code distributed need not include
    anything that is normally distributed (in either source or binary
    form) with the major components (compiler, kernel, and so on) of the
    operating system on which the executable runs, unless that component
    itself accompanies the executable.

    If distribution of executable or object code is made by offering
    access to copy from a designated place, then offering equivalent
    access to copy the source code from the same place counts as
    distribution of the source code, even though third parties are not
    compelled to copy the source along with the object code.

      4. You may not copy, modify, sublicense, or distribute the Program
    except as expressly provided under this License.  Any attempt
    otherwise to copy, modify, sublicense or distribute the Program is
    void, and will automatically terminate your rights under this License.
    However, parties who have received copies, or rights, from you under
    this License will not have their licenses terminated so long as such
    parties remain in full compliance.

      5. You are not required to accept this License, since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Program or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Program (or any work based on the
    Program), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Program or works based on it.

      6. Each time you redistribute the Program (or any work based on the
    Program), the recipient automatically receives a license from the
    original licensor to copy, distribute or modify the Program subject to
    these terms and conditions.  You may not impose any further
    restrictions on the recipients' exercise of the rights granted herein.
    You are not responsible for enforcing compliance by third parties to
    this License.

      7. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License.  If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Program at all.  For example, if a patent
    license would not permit royalty-free redistribution of the Program by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Program.

    If any portion of this section is held invalid or unenforceable under
    any particular circumstance, the balance of the section is intended to
    apply and the section as a whole is intended to apply in other
    circumstances.

    It is not the purpose of this section to induce you to infringe any
    patents or other property right claims or to contest validity of any
    such claims; this section has the sole purpose of protecting the
    integrity of the free software distribution system, which is
    implemented by public license practices.  Many people have made
    generous contributions to the wide range of software distributed
    through that system in reliance on consistent application of that
    system; it is up to the author/donor to decide if he or she is willing
    to distribute software through any other system and a licensee cannot
    impose that choice.

    This section is intended to make thoroughly clear what is believed to
    be a consequence of the rest of this License.

      8. If the distribution and/or use of the Program is restricted in
    certain countries either by patents or by copyrighted interfaces, the
    original copyright holder who places the Program under this License
    may add an explicit geographical distribution limitation excluding
    those countries, so that distribution is permitted only in or among
    countries not thus excluded.  In such case, this License incorporates
    the limitation as if written in the body of this License.

      9. The Free Software Foundation may publish revised and/or new versions
    of the General Public License from time to time.  Such new versions will
    be similar in spirit to the present version, but may differ in detail to
    address new problems or concerns.

    Each version is given a distinguishing version number.  If the Program
    specifies a version number of this License which applies to it and "any
    later version", you have the option of following the terms and conditions
    either of that version or of any later version published by the Free
    Software Foundation.  If the Program does not specify a version number of
    this License, you may choose any version ever published by the Free Software
    Foundation.

      10. If you wish to incorporate parts of the Program into other free
    programs whose distribution conditions are different, write to the author
    to ask for permission.  For software which is copyrighted by the Free
    Software Foundation, write to the Free Software Foundation; we sometimes
    make exceptions for this.  Our decision will be guided by the two goals
    of preserving the free status of all derivatives of our free software and
    of promoting the sharing and reuse of software generally.

    			    NO WARRANTY

      11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.

      12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.

    		     END OF TERMS AND CONDITIONS

## Conclusion

### Auteur

`Bernd Wuebben`

### Documentation

`Bernd Wuebben - Rédaction`

`Serge 'sergio' Tellène - Traduction française`

`Eric Bischoff - Mise à jour de la traduction française`

### Remerciements

Je désire remercier les personnes suivantes pour leur contribution à Kppp :

`Jesus Fuentes Saaverdra` - pour l'implémentation de nombreuses options et divers travaux sur le code.

`Mario Weilguni` - pour son travail sur la partie comptabilité.

`Markus Wuebben` - pour la fenêtre de requêtes ATI.

`Harri Porten` - pour son travail relatif à kconfig.

`Peter Silva` - pour les fenêtres popup et d'autres contributions.