<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Legranblon</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Legranblon"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Legranblon"/>
	<updated>2026-04-08T19:07:50Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=S%27identifier_par_une_cl%C3%A9_USB&amp;diff=14775</id>
		<title>S&#039;identifier par une clé USB</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=S%27identifier_par_une_cl%C3%A9_USB&amp;diff=14775"/>
		<updated>2007-07-04T06:53:34Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Objectif */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Sécurité]]&lt;br /&gt;
[[Catégorie:Administration_système]]&lt;br /&gt;
== Objectif ==&lt;br /&gt;
Permettre l&#039;identification d&#039;un utilisateur par une clé USB, en remplacement ou en complément du mot de passe&lt;br /&gt;
&lt;br /&gt;
== Logiciels et matériel utilisés ==&lt;br /&gt;
Distribution : Debian, mais cela est normalement possible avec toutes...&lt;br /&gt;
&lt;br /&gt;
Logiciel : pam_usb, un module dédié à cette utilisation pour PAM. PAM est un méchanisme d&#039;authentification intégré à beaucoup de distributions GNU/Linux.&lt;br /&gt;
Attention cette méthode ne fonctionne pas avec les gestionnaires de connexion graphique comme KDM, GDM, XDM, etc. Elle est uniquement valable pour un login en mode texte.&lt;br /&gt;
&lt;br /&gt;
N&#039;importe quelle clé USB reconnue sous Linux devrait convenir. La capacité nécessaire est infime : 1 Ko suffit pour un utilisateur, avec une clé DSA de 1024 bits !&lt;br /&gt;
&lt;br /&gt;
Une bonne solution pour encore plus de sécurité est de partionner votre clé : vous pouvez créer une petite partition à la fin de la clé, d&#039;environ 1 Mo (ce qui est largement suffisant pour stocker quelques clés, en théorie on pourrait en mettre 500 dans 1 Mo !)&lt;br /&gt;
Ainsi, vos clés ne seront pas confondues avec le reste de vos données et il n&#039;y a pas de risque de les effacer.&lt;br /&gt;
&lt;br /&gt;
== Installation du module ==&lt;br /&gt;
Il n&#039;existe malheureusement pas (encore) de paquet pour Debian. Si vous utilisez une autre distribution, essayer de vérifier s&#039;il n&#039;existe pas un paquet, si vous êtes sous Debian, téléchargez les sources sur le site officiel : [http://www.pamusb.org]&lt;br /&gt;
&lt;br /&gt;
Sur une Debian &amp;quot;&#039;sarge&amp;quot; les dépendances requises sont : libssl-dev, libreadline4-dev, libpam0g-dev, libpam-usb, que vous pouvez installer par apt-get. Sur Debian &amp;quot;etch&amp;quot; (testing&amp;quot;, il faut installer tout ca et en plus libreadline5 et libreadline5-dev&lt;br /&gt;
&lt;br /&gt;
Ensuite, il faut extraire les sources et lancer la compilation :&lt;br /&gt;
&amp;lt;code&amp;gt;$ tar xvzf pam_usb-version.tar.gz&lt;br /&gt;
$ cd pam_usb_version&lt;br /&gt;
$ make&lt;br /&gt;
$ su puis taper le mot de passe &#039;&#039;root&#039;&#039;&lt;br /&gt;
# make install&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et c&#039;est tout, le module est normalement installé, s&#039;il vous n&#039;obtenez pas d&#039;erreur à la compilation, auquel cas il vous faut vérifier que toutes les dépendances sont bien installées...&lt;br /&gt;
&lt;br /&gt;
== Préparation du système ==&lt;br /&gt;
=== Montage automatique de la clé ===&lt;br /&gt;
Il faut que votre clé soit montée automatiquement lorsque vous l&#039;insérez, sinon, ca ne fonctionnera pas (encore que sur mon système cela à fonctionné sans monter la clé...)&lt;br /&gt;
Il faut donc créer une ligne dans votre /etc/fstab qui ressemble à celle-ci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;/dev/sda1 /media/cle auto rw,user,auto 0 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en remplacant /dev/sda1 par le périphérique qui correspond à votre clé, /media/cle par son point de montage, et auto par son système de fichiers (vous pouvez aussi laisser auto pour une détection automatique)&lt;br /&gt;
&lt;br /&gt;
Pour plus de détails sur l&#039;utilisation des clés USB vous pouvez consulter cet article&lt;br /&gt;
[[Hardware-hard stock-cleusb]]&lt;br /&gt;
&lt;br /&gt;
== Génération des clés ==&lt;br /&gt;
=== Génération des clés ===&lt;br /&gt;
Il faut à présent générer la paire de clés publique/privée qui sera utilisée pour vous identifier.&lt;br /&gt;
Dans une console tapez &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
% usbadm keygen /media/cle login 2048&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en remplacant /media/cle par le point de montage de votre clé et login par le nom d&#039;utilsateur pour lequel vous voulez générer les clés. 2048 correspond à la taille de la clé,  on estime que c&#039;est suffisant, compte tenu de la puissance des ordinateurs actuels, pour une assez grande sécurité. Cependant, n&#039;oubliez pas que n&#039;importe quelle clé sera &#039;&#039;toujours&#039;&#039; &amp;quot;piratable&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vous obtiendrez :&lt;br /&gt;
&amp;lt;code&amp;gt;[!] Generating 2048 DSA key pair for thomas@p3thomas&lt;br /&gt;
[!] Extracting private key...&lt;br /&gt;
[+] Private key extracted.&lt;br /&gt;
[+] Private key successfully written.&lt;br /&gt;
[!] Writing public key...&lt;br /&gt;
[+] Public key successfully written.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vos clés ont donc été générées dans un dossier caché nommé .auth de votre clé USB.&lt;br /&gt;
&lt;br /&gt;
Il faut répéter cette opération pour tous les utilsateurs qui veulent utiliser leur clé pour s&#039;identifier.&lt;br /&gt;
&lt;br /&gt;
=== Facultatif : cryptage des clés ===&lt;br /&gt;
Pour plus de sécurité, il est possible de crypter les clés, par la commande&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
% usbadm cipher /media/cle login&amp;lt;/code&amp;gt;&lt;br /&gt;
il vous sera demandé l&#039;algorythme à utiliser : &lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[!] Importing the private key...&lt;br /&gt;
[+] Private key imported&lt;br /&gt;
[!] Encrypting the private key may prevent someone to authenticate with&lt;br /&gt;
your key. The drawback is that pam_usb will prompt you for password&lt;br /&gt;
every time you authenticate.&lt;br /&gt;
[?] Which algorithm want you to use ? (none/des3/twofish): &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir protéger votre clé par une &#039;&#039;passphrase&#039;&#039;, il faut choisir des3.&lt;br /&gt;
&lt;br /&gt;
Il vous sera demandé la &#039;&#039;passphrase&#039;&#039;, qu&#039;il vous sera ensuite nécessaire de taper à chaque utilisation de la clé, c&#039;est à dire à chaque identification.&lt;br /&gt;
&lt;br /&gt;
Et votre clé est cryptée !&lt;br /&gt;
&lt;br /&gt;
== Paramètrage du système ==&lt;br /&gt;
Il ne reste plus qu&#039;à modifier le comportement de PAM pour qu&#039;il prenne en compte le module pam_usb.&lt;br /&gt;
Trois cas (ou plus ?) sont possibles :&lt;br /&gt;
* Identification par clé USB uniquement. Aucun mot de passe (sauf la &#039;&#039;passphrase&#039;&#039; de la clé DSA si vous en avez une) ne sera requis&lt;br /&gt;
* Identification par clé &#039;&#039;&#039;et&#039;&#039;&#039; par mot de passe. Votre mot de passe sera comme avant demandé, mais si la clé USB n&#039;est pas présente vous ne pourrez pas vous identifier. C&#039;est la solution la plus sure, mais aussi la moin pratique.&lt;br /&gt;
* Identification par clé USB &#039;&#039;&#039;ou&#039;&#039;&#039; par mot de passe. L&#039;un ou l&#039;autre suffit.&lt;br /&gt;
&lt;br /&gt;
Dans les trois cas tout se passera dans les fichiers du répertoire /etc/pam.d&lt;br /&gt;
Pour utiliser cette méthode uniquement au moment du login, il faut modifier le fichier /etc/pam.d/login. Pour l&#039;utiliser à toutes les identifications, il faut agir sur le fichier /etc/pam.d/common-auth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Identification par clé uniquement ===&lt;br /&gt;
Il faut modifier le fichier /etc/pam.d/common-auth comme suit :&lt;br /&gt;
&amp;lt;code&amp;gt;auth	required	usb_pam.so&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
et commenter la ligne :&lt;br /&gt;
&amp;lt;code&amp;gt;auth	required	pam_unix.so nullok_secure&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identification par clé et mot de passe ===&lt;br /&gt;
Il faut comme précèdemment ajouter la ligne&lt;br /&gt;
&amp;lt;code&amp;gt;auth	required	usb_pam.so&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
et laisser le reste du fichier tel quel.&lt;br /&gt;
&lt;br /&gt;
=== Identification par clé ou par mot de passe ===&lt;br /&gt;
Ajouter la ligne au fichier /etc/pam.d/common-auth&lt;br /&gt;
&amp;lt;code&amp;gt;auth	sufficient	usb_pam.so&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Faire les essais ! ==&lt;br /&gt;
Normalement vous pouvez vous délogguer, et faire l&#039;essai !&lt;br /&gt;
Dans un premier temps je vous conseille d&#039;utiliser l&#039;authentification par clé ou par mot de passe, car, si l&#039;identification par clé ne fonctionne pas, vous pourrez toujours vous logguer avec votre mot de passe pour corriger ce qui ne va pas.&lt;br /&gt;
&lt;br /&gt;
=== Rattrapper les erreurs ===&lt;br /&gt;
Si par malheur vous avez modifié le fichier en mettant&lt;br /&gt;
auth required pam_sub.so&lt;br /&gt;
et que votre clé ne fonctionne plus, alors vous ne pouvez plus vous loguer !&lt;br /&gt;
La solution consiste à booter sur un Live-CD, monter votre partition système, et modifier le fichier pour supprimer l&#039;identification par clé.&lt;br /&gt;
&lt;br /&gt;
(à tester) Une autre solution consiste à booter sur un kernel avec l&#039;option &#039;&#039;&#039;single&#039;&#039;&#039;. En général les kernels marqués par &#039;&#039;&#039;failsafe&#039;&#039;&#039; dans le bootloader comportent cette option.&lt;br /&gt;
&lt;br /&gt;
{{Copy|28 fév 2006|[[Utilisateur:Thomas.debay|Thomas.debay]]|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:Quand_malgr%C3%A9_tout_X_se_refuse_%C3%A0_moi&amp;diff=13657</id>
		<title>Trucs:Quand malgré tout X se refuse à moi</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:Quand_malgr%C3%A9_tout_X_se_refuse_%C3%A0_moi&amp;diff=13657"/>
		<updated>2006-09-07T07:40:40Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rien ne va plus=&lt;br /&gt;
==X==&lt;br /&gt;
&lt;br /&gt;
Malgré ma persévérance cette mule ne souhaite pas démarrer. Les logs contiennent des erreurs en pagaille, xorgconf ne donne rien, la configuration avec drakconf, pas mieux, dpkg-reconfigure non plus, ne parlons pas de sax2, en bref, c&#039;est l&#039;impasse. &lt;br /&gt;
&lt;br /&gt;
Pas de panique !&lt;br /&gt;
&lt;br /&gt;
Qu&#039;il s&#039;agisse de XFree86 ou de Xorg, le programme X (exécutable client/serveur d&#039;affichage) est capable de s&#039;auto-configurer.&lt;br /&gt;
&lt;br /&gt;
 Celà se fait via la commande &amp;lt;code multi&amp;gt;# X -configure &amp;lt;/code&amp;gt; on patiente un petit peu et (presque) magiquement, en lançant &amp;lt;code multi&amp;gt;# X -config ~/xorgconf.new&amp;lt;/code&amp;gt; ça marche (le nom de l&#039;option et du fichier de sortie dépend du serveur utilisé, mais ils sont indiqués à la sortie de la commande précédente).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Si malgré tout vous faites chou blanc lors de cette manipulation, il existe généralement plusieurs pilotes capables de piloter votre carte vidéo. &lt;br /&gt;
&lt;br /&gt;
En plus du pilote spécifique à votre puce graphique, le pilote &amp;quot;vesa&amp;quot; permet d&#039;utiliser toute carte vidéo respectant la norme vesa. Dans la négative, votre carte pourra être prise en compte dans des basses résolutions via le pilote &amp;quot;vga&amp;quot;. Pour sélectionner l&#039;un de ces pilotes, il suffit d&#039;éditer le fichier de configuration et remplacer la ligne &amp;lt;code multi&amp;gt;        Driver          &amp;quot;******&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; par &amp;lt;code multi&amp;gt;        Driver          &amp;quot;vesa&amp;quot;&amp;lt;/code&amp;gt;ou&amp;lt;code multi&amp;gt;&lt;br /&gt;
       Driver          &amp;quot;vga&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Attention tout de même, les pilotes génériques ne sont pas à même de fournir une quelconque accélération via le matériel.&lt;br /&gt;
&lt;br /&gt;
Si malgré tout ce que vous avez pu trouver sur internet et la documentation de léa, ça ne marche pas, priez !&lt;br /&gt;
Si ça a marché, j&#039;aurais au moins réussi à vous faire apprécier le X ...&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:Quand_malgr%C3%A9_tout_X_se_refuse_%C3%A0_moi&amp;diff=13656</id>
		<title>Trucs:Quand malgré tout X se refuse à moi</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:Quand_malgr%C3%A9_tout_X_se_refuse_%C3%A0_moi&amp;diff=13656"/>
		<updated>2006-09-07T07:30:09Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rien ne va plus=&lt;br /&gt;
==X==&lt;br /&gt;
&lt;br /&gt;
Malgré ma persévérance cette mule ne souhaite pas démarrer. Les logs contiennent des erreurs en pagaille, xorgconf ne donne rien. &lt;br /&gt;
&lt;br /&gt;
Pas de panique !&lt;br /&gt;
&lt;br /&gt;
Qu&#039;il s&#039;agisse de XFree86 ou de Xorg, le programme X (exécutable client/serveur d&#039;affichage) est capable de s&#039;auto-configurer.&lt;br /&gt;
&lt;br /&gt;
Celà se fait via la commande &amp;lt;code multi&amp;gt;# X -configure &amp;lt;/code&amp;gt; on patiente un petit peu et (presque) magiquement, en lançant &amp;lt;code multi&amp;gt;# X -config ~/xorgconf.new&amp;lt;/code&amp;gt; ça marche (le nom de l&#039;option et du fichier de sortie dépend du serveur utilisé, mais ils sont indiqués à la sortie de la commande précédente).&lt;br /&gt;
&lt;br /&gt;
Si malgré tout vous faites chou blanc lors de cette manipulation, il existe généralement plusieurs pilotes capables de piloter votre carte vidéo. En plus du pilote spécifique à la puce graphique, le pilote &amp;quot;vesa&amp;quot; permet d&#039;utiliser toute carte vidéo respectant la norme vesa. Dans la négative, votre carte pourra être prise en compte dans des basses résolutions via le pilote &amp;quot;vga&amp;quot;. Pour sélectionner l&#039;un de ces pilotes, il suffit d&#039;éditer le fichier de configuration et remplacer la ligne &amp;lt;code multi&amp;gt;        Driver          &amp;quot;******&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; par &amp;lt;code multi&amp;gt;        Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt; ou &amp;lt;code multi&amp;gt;        Driver          &amp;quot;vga&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Plan-xwindow&amp;diff=13655</id>
		<title>Modèle:Plan-xwindow</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Plan-xwindow&amp;diff=13655"/>
		<updated>2006-09-07T07:07:38Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Paramétrer X Window */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Paramétrer X Window ==&lt;br /&gt;
*[[X Window|Le système X Window]]&lt;br /&gt;
*[[Installer XFree86 4.0|Installation de XFree86 4.0]]&lt;br /&gt;
*[[Règler les problèmes d&#039;X Window|Régler les problèmes avec X Window]]&lt;br /&gt;
*[[Numlock au démarrage d&#039;X Window|NumLock et X Window : La solution définitive]]&lt;br /&gt;
*[[Choisir son Gestionnaire de fenêtres à la connexion]]&lt;br /&gt;
*[[Installer des polices|Installation de polices pour X, GhostScript et StarOffice]]&lt;br /&gt;
*[[Multihead|Multi-Head ou Utiliser plusieurs écrans et/ou cartes graphiques]]&lt;br /&gt;
*[[Maîtriser le démarrage d&#039;X Window]]&lt;br /&gt;
*[[Utiliser WindowMaker|WMaker, un gestionnaire de fenêtres pour les amoureux du bash]]&lt;br /&gt;
*[[Copie d&#039;écran|La capture d&#039;écran]]&lt;br /&gt;
*[[Trucs:Modifier la carte de mon clavier|Comment modifier la carte de mon clavier ?]]&lt;br /&gt;
*[[Trucs:Quand malgré tout X se refuse à moi|Quand malgré tout X se refuse à moi]]&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Fiches:plan-multimedia&amp;diff=13203</id>
		<title>Modèle:Fiches:plan-multimedia</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Fiches:plan-multimedia&amp;diff=13203"/>
		<updated>2006-08-07T11:08:44Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Multimédia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Multimédia ===&lt;br /&gt;
*[[Fiches:multimedia-fichexmms|Comment écouter mes fichiers audio sous linux ?]]&lt;br /&gt;
*[[Fiches:multimedia-ficherip|Comment créer mes ogg sous linux ?]]&lt;br /&gt;
*[[Fiches:Lire_un_DVD|Comment regarder un dvd ?]]&lt;br /&gt;
*[[Fiches:multimedia-professionel|Comment transformer son pc en une station de travail multimédia professionelle?]]&lt;br /&gt;
*[[Fiches:xmms en réseau|Comment diffuser du son en réseau avec xmms?]]&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13202</id>
		<title>Connexion à Internet multi-comptes</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13202"/>
		<updated>2006-08-07T07:48:52Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Les permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Se connecter à Internet]]&lt;br /&gt;
= Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:tux.le.pengouin@free.fr Fred]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Nous allons, dans ce chapitre, voir comment il est possible de rendre &amp;quot;simple&amp;quot; pour l&#039;utilisateur la gestion de plusieurs connexions (plusieurs ISP) à internet&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Pré requis, Introduction ==&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir comprendre ce chapitre, vous devez savoir comment établir une connexion à internet, comment récupérer du courrier d&#039;internet sur plusieurs comptes en même temps et savoir quels sont les scripts qui sont lancés lors de l&#039;établissement de la connexion. Tous ces points sont le sujet des articles précédents (voir les parties [multi1_pppd-config.php3 1], [multi2_sendmail-config.php3 2] et [multi3_ipupdown.php3 3]).&lt;br /&gt;
&lt;br /&gt;
Avec la prolifération actuelle des ISP, notamment les gratuits, nous sommes souvent tentés de nous connecter via un nouvel ISP, ne serait-ce que pour l&#039;essayer (vérifier l&#039;état de sa ligne, sa rapidité, etc.).&lt;br /&gt;
&lt;br /&gt;
En utilisant ce que nous avons vu, il n&#039;est pas très difficile de créer plusieurs scripts de connexion à Internet. Mais cette méthode oblige l&#039;administrateur à modifier ou créer plusieurs scripts (en tout au moins 4 par fournisseur d&#039;accès) pour pouvoir ajouter un nouvel ISP. Ce n&#039;est pas très souple. De plus il nous faut modifier pour chaque ISP le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; ; en effet dans celui-ci nous avons mis l&#039;adresse de notre serveur de mail sortant, mais le serveur de mail sortant n&#039;accepte pas en général de connexion depuis un PC qui n&#039;est pas relié localement au réseau &amp;quot;local&amp;quot; de l&#039;ISP. Il est assez évident que la modification de ce fichier devra se faire depuis &amp;lt;tt&amp;gt;/etc/ppp/ip-up&amp;lt;/tt&amp;gt;, car elle doit se faire à chaque connexion.&lt;br /&gt;
&lt;br /&gt;
Note : tout ce qui suit, sauf indication contraire, est exécuté avec les droits de root.&lt;br /&gt;
&lt;br /&gt;
== Le principe retenu ==&lt;br /&gt;
&lt;br /&gt;
Voici la solution que j&#039;ai retenue. Toutes les informations relatives à toutes les connexions sont stockées dans le même et unique fichier : &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;. Le fichier est en ASCII pur pour que l&#039;on puisse l&#039;éditer facilement.&lt;br /&gt;
&lt;br /&gt;
L&#039;établissement de la connexion à Internet se fera par un seul script : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Celui-ci devra ouvrir une boite de dialogue dans laquelle on pourra choisir l&#039;une quelconque des connexions configurées dans &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La rupture de la liaison se fera via le script &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppdisconnect&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Syntaxe du fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Comme un dessin vaut mieux qu&#039;un long discours, voici mon fichier /&amp;lt;tt&amp;gt;etc/ppp.conf&amp;lt;/tt&amp;gt; : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free name}Free (max 20h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free smtp}smtp.free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free search}free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free autodns}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free telephone}0359602000&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{wanadoo name}wanadoo (max 36h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo smtp}smtp.wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo search}wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.3&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.4&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo telephone}0860888080&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{offline smtp}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{offline search}tux&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{global modeminit}ATM0L0&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Chaque ligne de ce fichier est de la forme :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;{ident motclef}valeur&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt; peut être n&#039;importe quoi (du moment que ça ne contient pas d&#039;espace), mais il y a deux valeurs particulières :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt; : pour indiquer que les paramètres qui suivent ne s&#039;appliquent que lorsque la connexion est inactive.&lt;br /&gt;
* &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt; : pour indiquer que ces paramètres s&#039;appliquent pour toutes les connexions (même &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;motclef&amp;lt;/tt&amp;gt; est une valeur parmi : &amp;lt;br /&amp;gt;Â &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;BORDER&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Mot clefÂ &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Type de la valeur&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Utilisation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère quelconque&lt;br /&gt;
| le nom de la connexion &amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| une adresse IP&lt;br /&gt;
| adresse d&#039;un DNS (serveur de noms de domaine), vous pouvez en mettre autant que vous le souhaitez (sur des lignes distinctes).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rien&lt;br /&gt;
| si vous précisez cette option pour une connexion (ou pour toutes via &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt;), &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; demandera à votre ISP les adresses de deux DNS. Dans ce cas (que cela fonctionne ou pas) les DNS que vous précisez par l&#039;option &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt; sont ignorés.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;search&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom de domaine (valide ?)&lt;br /&gt;
| un nom de domaine qui sera ajouté automatiquement aux noms qui n&#039;auront pu être résolus sans celui-ci.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;smtp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom d&#039;un serveur smtp ou une adresse IP&lt;br /&gt;
| ce nom doit alors être le nom du serveur de mails &#039;&#039;sortant&#039;&#039; de l&#039;ISP correspondant à cette connexion.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;login&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le login correspondant à cet ISP.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le mot de passe de ce login (attention au propriétaire de ce fichier : il doit être en clair !)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;telephone&amp;lt;/tt&amp;gt;&lt;br /&gt;
| numéro de téléphone&lt;br /&gt;
| de l&#039;ISP&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;modeminit&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| ce doit alors être une chaîne d&#039;initialisation de votre modem renvoyant &#039;OK&#039; ; vous pouvez avoir autant de chaîne d&#039;initialisation que vous le souhaitez.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention :&#039;&#039;&#039; le parseur distingue les majuscules des minuscules. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Attention :&#039;&#039;&#039; l&#039;ordre des différentes lignes de ce fichiers sont essentielles : elles détermine la validité des diverses options (c&#039;est à dire : si vous préciser deux fois la même option, seule la dernière valeurs est prise en compte).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/initcnx ==&lt;br /&gt;
&lt;br /&gt;
Maintenant, il nous faut un script capable de lire un tel fichier, et de générer les fichiers nécessaires à la connexion à Internet :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/chat/auto&amp;lt;/tt&amp;gt; : le script de numérotation de l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/peers/auto&amp;lt;/tt&amp;gt; : le script de commande de pppd.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/pap-secrets&amp;lt;/tt&amp;gt; : le fichier contenant les mots de passe pour l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/resolv.conf&amp;lt;/tt&amp;gt; : le fichier charger de la résolution des noms (association adresse IP &amp;lt;-&amp;gt; nom de machine).&lt;br /&gt;
&lt;br /&gt;
Voici un tel script (appelez le &amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx&amp;lt;/tt&amp;gt;) : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# lecture du fichier de configuration /etc/ppp.conf pour&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# la création des paramètres de configurations !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/chat/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/peers/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/pap-secrets&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/resolv.conf&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;($cnx,$ipup) = @ARGV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;@modeminit = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;@resolv = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$search = &amp;quot;org&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$autodns = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; $resolv = () ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS1&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; push(@resolv,$ENV{&amp;quot;DNS1&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS2&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; push(@resolv,$ENV{&amp;quot;DNS2&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(CHAT,&amp;quot;&amp;gt;/etc/ppp/chat/auto&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;BUSY&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;ERROR&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO CARRIER&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO DIALTONE&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Invalid Login&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Login incorrect&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;&#039; &#039;ATZ&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach (@modeminit) { print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;$_&#039;\n&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ATDT$telephone&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;CONNECT&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;TIMEOUT&#039; &#039;5&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;~--&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close CHAT ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PEERS,&amp;quot;&amp;gt;/etc/ppp/peers/auto&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PEERS &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;connect &#039;/usr/sbin/chat -v -f /etc/ppp/chat/auto&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;user $login&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;ipparam $cnx&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; print PEERS &amp;quot;usepeerdns\n&amp;quot; ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PEERS ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PAP,&amp;quot;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PAP&amp;gt;) { $file .= $_ ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (PAP,&amp;quot;&amp;gt;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on supprime les occurrences précédentes :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file =~ s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#.*#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;//s ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if ($login ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; $file .= &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#\n$login * $password\n#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PAP $file ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (SENDSRC,&amp;quot;/etc/sendmail.BASE&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (SENDDST,&amp;quot;&amp;gt;/etc/sendmail.cf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;SENDSRC&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;/$smtp/g ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; print SENDDST ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDSRC ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDDST ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on modifie le ns :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (RESOLV,&amp;quot;&amp;gt;/etc/resolv.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;search $search\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach $nameserver (@resolv) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;nameserver $nameserver\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close RESOLV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on relance sendmail (seulement si&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# c&#039;est ip-up ou ip-down qui à lancé le&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# script, en effet il faut être root) :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;if ($ipup =~ /ip(up|down)/) {&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;  `/etc/rc.d/init.d/sendmail restart`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Ce script est un compromis : je ne voulais pas écrire plusieurs fois la lecture de &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; (je ne sais pas écrire de bibliothèque en &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; !) pour des raisons évidentes de maintenance, donc j&#039;ai écrit ce script qui fait, pour chaque opération, bien plus que ce qui est nécessaire. Mais cela ne doit être pénalisant que si vous avez des dizaines de connexions ;).&lt;br /&gt;
&lt;br /&gt;
Le script n&#039;appelle pas de commentaire particulier, si ce n&#039;est pour les 12 lignes en gras. Ce sont ces lignes qui vont demander à l&#039;isp des adresses de ses dns. Les 9 premières regardent si les variables d&#039;environnement &amp;lt;tt&amp;gt;DNS1&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;DNS2&amp;lt;/tt&amp;gt; existent (quand on est en mode &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;). Les 3 dernières ajoutent au script de commande de pppd l&#039;option qui lui réclame ces information.&lt;br /&gt;
&lt;br /&gt;
Pour que ce script puisse fonctionner, il faut que vous créiez un fichier &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; dont le nom de serveur smtp est &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt; (à la place du nom du serveur de mail sortant d&#039;un de vos isp). Si votre serveur sendmail est configuré et fonctionne, il suffit de copier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; et cherchez dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; la ligne (ou quelque chose de semblable...) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;smtp.isp.fr&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et vous la changez en :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention : &#039;&#039;&#039;le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; est très sensible, ne le modifiez que si vous savez ce que vous faites.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-up à peine plus complexe ==&lt;br /&gt;
&lt;br /&gt;
(que celui de la partie 3) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# le paramètre $6 correspond au paramètre ipparam&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# du fichier /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# ceci nécessite que l&#039;option usepeerdns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# soit activée dans /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans ce cas DNS1 et DNS2 reçoivent les&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# adresse des deux dns du provider.&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans le cas où ces variables ne sont pas&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# initialisées,Â  les options {connexion dns}***&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# doivent être utilisées pour préciser le dns !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# en lieu et place de autodns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx $6 ipup&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# récupération des mail et envoie des mails en attente :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/sbin/sendmail -q&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on récupère automatiquement les mails toutes les 11 minutes&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# (11 minutes car netcourrier n&#039;aime pas qu&#039;on consulte&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# les comptes pop trop souvent !)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --daemon 660&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# mettons notre pc à l&#039;heure :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ntpdate ntp-sop.inria.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Vu ce que l&#039;on a déjà dit, ce script ce passe de commentaire.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-down ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# comme on n&#039;est plus connecté au net, on quitte fetchmail&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --quit&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# y&#039;a plus de dns a priori...&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx offline ipdown&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on peut effacer les fichiers auto :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/chat/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/peers/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Idem.&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppconnect ==&lt;br /&gt;
&lt;br /&gt;
Pour ce script, nous allons un peu compliquer les choses : en effet, c&#039;est lui qui doit permettre le choix de l&#039;isp que nous souhaitons contacter. Comme, dans la partie 3, nous allons utiliser Xdialog pour nous permettre ce choix. Voici le script : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Erreur --msgbox\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;impossible d\&#039;ouvrir /etc/ppp.conf\nchangez\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;les droits de ce fichier\nou bien créez le.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0` ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;die &amp;quot;/etc/ppp.conf illisible.\n&amp;quot; ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on cherche les lignes : {connexion name}isp&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($tag,$name) = /{(.*?) name}(.*)/) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â  $cnx{$tag} = $name ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cmdline = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$num = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;foreach $key (sort keys %cnx) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $cmdline .= &amp;quot;\&amp;quot;$key\&amp;quot; \&amp;quot;$cnx{$key}\&amp;quot; false &amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $num++ ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cnx = `/opt/apps/bin/Xdialog --stdout\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--radiolist Connexion 0 0 $num $cmdline` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chop($cnx);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;if ($cnx ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # initialisation (sauf le dns !) qui est fait par&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ip-up&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/etc/ppp/scripts/initcnx $cnx` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # connexion !&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/usr/sbin/pppd call auto` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # ce qui suit n&#039;est pas nécessaire, mais&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # agréable :&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # attendons l&#039;établissement de la liaison&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `sleep 60s`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # et rapatrions les mails de l&#039;utilisateur&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # pour peu qu&#039;il ai configuré fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `fetchmail`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ceci permet à un utilisateur de se configurer&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # un compte que le root ne connait pas.&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} else {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Information\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;Aucune connexion n&#039;a été sélectionnée.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0 1500` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;(note(pour jcc), je ne me rappelle plus si perl comprend la continuation des lignes par \ ?)&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;(note : saisissez les lignes terminés par \ sur une seule ligne !) &amp;lt;br /&amp;gt;(note : en lieu et place de /opt/apps/bin précisez le path complet de Xdialog) &amp;lt;br /&amp;gt;Vous pouvez, dès maintenant, vérifier que l&#039;établissement est fonctionnel (si vous avez un fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;) en tapant : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Si vous aviez des mails en attente et si vous aviez configuré fetchmail, ce script doit établir la connexion, envoyer les mails en attente, et rapatrier vos mails (et ceux de vos utilisateurs).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppdisconnect ==&lt;br /&gt;
&lt;br /&gt;
La déconnexion est semblable à ce que nous avons déjà fait : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if [ -e /var/run/ppp*.pid ] ; then&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â kill `cat /var/run/ppp*.pid` 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;fi&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/opt/apps/bin/Xdialog --title &amp;quot;Informations:&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;La liaison internet est maintenant\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;coupée.&amp;quot; 0 0 2000&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Sans commentaire.&lt;br /&gt;
&lt;br /&gt;
== Les permissions ==&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant, cet ensemble de script, ne fonctionne que si vous êtes root. C&#039;est un peu limitatif. Pour arranger les choses, je vous conseille de créer un groupe pppusers auquel vous ferez appartenir les utilisateurs ayant le droit de choisir leur connexion. Puis, dans le répertoire /etc/ppp faites :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;pour faire appartenir tout ce que contient /etc/ppp à pppusers :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown -R root:pppusers /etc/ppp/*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour autoriser les membres du groupe pppusers à modifier les fichiers /etc/ppp/peers/auto etc. :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R g+rwx /etc/ppp/scripts/ /etc/ppp/chat /etc/ppp/pap-secrets&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour que les étrangers le reste :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R o-rwx /etc/ppp/* /etc/ppp.conf /etc/sendmail.BASE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention : seuls les utilisateurs ayant établi la connexion auront le droit de la couper : ce qui est somme toute assez logique. Le root ayant lui, comme toujours, tous les droits.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
&lt;br /&gt;
Chez moi, j&#039;ai mis deux icônes sur mon bureau, une vers pppconnect et l&#039;autre vers pppdisconnect. Comme ça, je peux établir et couper la liaison à Internet de manière très simple.&lt;br /&gt;
&lt;br /&gt;
Voilà, bon surf.&lt;br /&gt;
&lt;br /&gt;
Reste le problème des spammers ! La suppression automatique des mails dits &amp;quot;spam&amp;quot;, mails de publicité non sollicités, fera l&#039;objet d&#039;un prochain article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 30/05/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 30/05/2000, Frédéric Bonnaud&lt;br /&gt;
{{CC-BY-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13201</id>
		<title>Connexion à Internet multi-comptes</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13201"/>
		<updated>2006-08-07T07:47:25Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* /etc/ppp/scripts/initcnx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Se connecter à Internet]]&lt;br /&gt;
= Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:tux.le.pengouin@free.fr Fred]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Nous allons, dans ce chapitre, voir comment il est possible de rendre &amp;quot;simple&amp;quot; pour l&#039;utilisateur la gestion de plusieurs connexions (plusieurs ISP) à internet&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Pré requis, Introduction ==&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir comprendre ce chapitre, vous devez savoir comment établir une connexion à internet, comment récupérer du courrier d&#039;internet sur plusieurs comptes en même temps et savoir quels sont les scripts qui sont lancés lors de l&#039;établissement de la connexion. Tous ces points sont le sujet des articles précédents (voir les parties [multi1_pppd-config.php3 1], [multi2_sendmail-config.php3 2] et [multi3_ipupdown.php3 3]).&lt;br /&gt;
&lt;br /&gt;
Avec la prolifération actuelle des ISP, notamment les gratuits, nous sommes souvent tentés de nous connecter via un nouvel ISP, ne serait-ce que pour l&#039;essayer (vérifier l&#039;état de sa ligne, sa rapidité, etc.).&lt;br /&gt;
&lt;br /&gt;
En utilisant ce que nous avons vu, il n&#039;est pas très difficile de créer plusieurs scripts de connexion à Internet. Mais cette méthode oblige l&#039;administrateur à modifier ou créer plusieurs scripts (en tout au moins 4 par fournisseur d&#039;accès) pour pouvoir ajouter un nouvel ISP. Ce n&#039;est pas très souple. De plus il nous faut modifier pour chaque ISP le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; ; en effet dans celui-ci nous avons mis l&#039;adresse de notre serveur de mail sortant, mais le serveur de mail sortant n&#039;accepte pas en général de connexion depuis un PC qui n&#039;est pas relié localement au réseau &amp;quot;local&amp;quot; de l&#039;ISP. Il est assez évident que la modification de ce fichier devra se faire depuis &amp;lt;tt&amp;gt;/etc/ppp/ip-up&amp;lt;/tt&amp;gt;, car elle doit se faire à chaque connexion.&lt;br /&gt;
&lt;br /&gt;
Note : tout ce qui suit, sauf indication contraire, est exécuté avec les droits de root.&lt;br /&gt;
&lt;br /&gt;
== Le principe retenu ==&lt;br /&gt;
&lt;br /&gt;
Voici la solution que j&#039;ai retenue. Toutes les informations relatives à toutes les connexions sont stockées dans le même et unique fichier : &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;. Le fichier est en ASCII pur pour que l&#039;on puisse l&#039;éditer facilement.&lt;br /&gt;
&lt;br /&gt;
L&#039;établissement de la connexion à Internet se fera par un seul script : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Celui-ci devra ouvrir une boite de dialogue dans laquelle on pourra choisir l&#039;une quelconque des connexions configurées dans &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La rupture de la liaison se fera via le script &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppdisconnect&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Syntaxe du fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Comme un dessin vaut mieux qu&#039;un long discours, voici mon fichier /&amp;lt;tt&amp;gt;etc/ppp.conf&amp;lt;/tt&amp;gt; : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free name}Free (max 20h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free smtp}smtp.free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free search}free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free autodns}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free telephone}0359602000&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{wanadoo name}wanadoo (max 36h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo smtp}smtp.wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo search}wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.3&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.4&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo telephone}0860888080&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{offline smtp}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{offline search}tux&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{global modeminit}ATM0L0&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Chaque ligne de ce fichier est de la forme :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;{ident motclef}valeur&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt; peut être n&#039;importe quoi (du moment que ça ne contient pas d&#039;espace), mais il y a deux valeurs particulières :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt; : pour indiquer que les paramètres qui suivent ne s&#039;appliquent que lorsque la connexion est inactive.&lt;br /&gt;
* &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt; : pour indiquer que ces paramètres s&#039;appliquent pour toutes les connexions (même &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;motclef&amp;lt;/tt&amp;gt; est une valeur parmi : &amp;lt;br /&amp;gt;Â &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;BORDER&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Mot clefÂ &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Type de la valeur&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Utilisation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère quelconque&lt;br /&gt;
| le nom de la connexion &amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| une adresse IP&lt;br /&gt;
| adresse d&#039;un DNS (serveur de noms de domaine), vous pouvez en mettre autant que vous le souhaitez (sur des lignes distinctes).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rien&lt;br /&gt;
| si vous précisez cette option pour une connexion (ou pour toutes via &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt;), &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; demandera à votre ISP les adresses de deux DNS. Dans ce cas (que cela fonctionne ou pas) les DNS que vous précisez par l&#039;option &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt; sont ignorés.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;search&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom de domaine (valide ?)&lt;br /&gt;
| un nom de domaine qui sera ajouté automatiquement aux noms qui n&#039;auront pu être résolus sans celui-ci.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;smtp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom d&#039;un serveur smtp ou une adresse IP&lt;br /&gt;
| ce nom doit alors être le nom du serveur de mails &#039;&#039;sortant&#039;&#039; de l&#039;ISP correspondant à cette connexion.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;login&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le login correspondant à cet ISP.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le mot de passe de ce login (attention au propriétaire de ce fichier : il doit être en clair !)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;telephone&amp;lt;/tt&amp;gt;&lt;br /&gt;
| numéro de téléphone&lt;br /&gt;
| de l&#039;ISP&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;modeminit&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| ce doit alors être une chaîne d&#039;initialisation de votre modem renvoyant &#039;OK&#039; ; vous pouvez avoir autant de chaîne d&#039;initialisation que vous le souhaitez.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention :&#039;&#039;&#039; le parseur distingue les majuscules des minuscules. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Attention :&#039;&#039;&#039; l&#039;ordre des différentes lignes de ce fichiers sont essentielles : elles détermine la validité des diverses options (c&#039;est à dire : si vous préciser deux fois la même option, seule la dernière valeurs est prise en compte).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/initcnx ==&lt;br /&gt;
&lt;br /&gt;
Maintenant, il nous faut un script capable de lire un tel fichier, et de générer les fichiers nécessaires à la connexion à Internet :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/chat/auto&amp;lt;/tt&amp;gt; : le script de numérotation de l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/peers/auto&amp;lt;/tt&amp;gt; : le script de commande de pppd.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/pap-secrets&amp;lt;/tt&amp;gt; : le fichier contenant les mots de passe pour l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/resolv.conf&amp;lt;/tt&amp;gt; : le fichier charger de la résolution des noms (association adresse IP &amp;lt;-&amp;gt; nom de machine).&lt;br /&gt;
&lt;br /&gt;
Voici un tel script (appelez le &amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx&amp;lt;/tt&amp;gt;) : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# lecture du fichier de configuration /etc/ppp.conf pour&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# la création des paramètres de configurations !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/chat/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/peers/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/pap-secrets&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/resolv.conf&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;($cnx,$ipup) = @ARGV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;@modeminit = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;@resolv = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$search = &amp;quot;org&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$autodns = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{$cnx autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; if (($p) = /{global autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; $resolv = () ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS1&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; push(@resolv,$ENV{&amp;quot;DNS1&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS2&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; push(@resolv,$ENV{&amp;quot;DNS2&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(CHAT,&amp;quot;&amp;gt;/etc/ppp/chat/auto&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;BUSY&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;ERROR&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO CARRIER&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO DIALTONE&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Invalid Login&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Login incorrect&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;&#039; &#039;ATZ&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach (@modeminit) { print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;$_&#039;\n&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ATDT$telephone&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;CONNECT&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;TIMEOUT&#039; &#039;5&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;~--&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close CHAT ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PEERS,&amp;quot;&amp;gt;/etc/ppp/peers/auto&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PEERS &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;connect &#039;/usr/sbin/chat -v -f /etc/ppp/chat/auto&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;user $login&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;ipparam $cnx&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt; print PEERS &amp;quot;usepeerdns\n&amp;quot; ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PEERS ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PAP,&amp;quot;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PAP&amp;gt;) { $file .= $_ ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (PAP,&amp;quot;&amp;gt;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on supprime les occurrences précédentes :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file =~ s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#.*#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;//s ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if ($login ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; $file .= &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#\n$login * $password\n#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PAP $file ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (SENDSRC,&amp;quot;/etc/sendmail.BASE&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (SENDDST,&amp;quot;&amp;gt;/etc/sendmail.cf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;SENDSRC&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;/$smtp/g ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; print SENDDST ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDSRC ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDDST ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on modifie le ns :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (RESOLV,&amp;quot;&amp;gt;/etc/resolv.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;search $search\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach $nameserver (@resolv) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;nameserver $nameserver\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close RESOLV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on relance sendmail (seulement si&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# c&#039;est ip-up ou ip-down qui à lancé le&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# script, en effet il faut être root) :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;if ($ipup =~ /ip(up|down)/) {&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;  `/etc/rc.d/init.d/sendmail restart`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Ce script est un compromis : je ne voulais pas écrire plusieurs fois la lecture de &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; (je ne sais pas écrire de bibliothèque en &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; !) pour des raisons évidentes de maintenance, donc j&#039;ai écrit ce script qui fait, pour chaque opération, bien plus que ce qui est nécessaire. Mais cela ne doit être pénalisant que si vous avez des dizaines de connexions ;).&lt;br /&gt;
&lt;br /&gt;
Le script n&#039;appelle pas de commentaire particulier, si ce n&#039;est pour les 12 lignes en gras. Ce sont ces lignes qui vont demander à l&#039;isp des adresses de ses dns. Les 9 premières regardent si les variables d&#039;environnement &amp;lt;tt&amp;gt;DNS1&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;DNS2&amp;lt;/tt&amp;gt; existent (quand on est en mode &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;). Les 3 dernières ajoutent au script de commande de pppd l&#039;option qui lui réclame ces information.&lt;br /&gt;
&lt;br /&gt;
Pour que ce script puisse fonctionner, il faut que vous créiez un fichier &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; dont le nom de serveur smtp est &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt; (à la place du nom du serveur de mail sortant d&#039;un de vos isp). Si votre serveur sendmail est configuré et fonctionne, il suffit de copier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; et cherchez dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; la ligne (ou quelque chose de semblable...) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;smtp.isp.fr&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et vous la changez en :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention : &#039;&#039;&#039;le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; est très sensible, ne le modifiez que si vous savez ce que vous faites.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-up à peine plus complexe ==&lt;br /&gt;
&lt;br /&gt;
(que celui de la partie 3) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# le paramètre $6 correspond au paramètre ipparam&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# du fichier /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# ceci nécessite que l&#039;option usepeerdns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# soit activée dans /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans ce cas DNS1 et DNS2 reçoivent les&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# adresse des deux dns du provider.&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans le cas où ces variables ne sont pas&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# initialisées,Â  les options {connexion dns}***&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# doivent être utilisées pour préciser le dns !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# en lieu et place de autodns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx $6 ipup&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# récupération des mail et envoie des mails en attente :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/sbin/sendmail -q&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on récupère automatiquement les mails toutes les 11 minutes&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# (11 minutes car netcourrier n&#039;aime pas qu&#039;on consulte&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# les comptes pop trop souvent !)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --daemon 660&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# mettons notre pc à l&#039;heure :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ntpdate ntp-sop.inria.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Vu ce que l&#039;on a déjà dit, ce script ce passe de commentaire.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-down ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# comme on n&#039;est plus connecté au net, on quitte fetchmail&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --quit&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# y&#039;a plus de dns a priori...&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx offline ipdown&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on peut effacer les fichiers auto :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/chat/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/peers/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Idem.&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppconnect ==&lt;br /&gt;
&lt;br /&gt;
Pour ce script, nous allons un peu compliquer les choses : en effet, c&#039;est lui qui doit permettre le choix de l&#039;isp que nous souhaitons contacter. Comme, dans la partie 3, nous allons utiliser Xdialog pour nous permettre ce choix. Voici le script : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Erreur --msgbox\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;impossible d\&#039;ouvrir /etc/ppp.conf\nchangez\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;les droits de ce fichier\nou bien créez le.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0` ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;die &amp;quot;/etc/ppp.conf illisible.\n&amp;quot; ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on cherche les lignes : {connexion name}isp&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($tag,$name) = /{(.*?) name}(.*)/) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â  $cnx{$tag} = $name ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cmdline = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$num = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;foreach $key (sort keys %cnx) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $cmdline .= &amp;quot;\&amp;quot;$key\&amp;quot; \&amp;quot;$cnx{$key}\&amp;quot; false &amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $num++ ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cnx = `/opt/apps/bin/Xdialog --stdout\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--radiolist Connexion 0 0 $num $cmdline` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chop($cnx);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;if ($cnx ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # initialisation (sauf le dns !) qui est fait par&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ip-up&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/etc/ppp/scripts/initcnx $cnx` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # connexion !&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/usr/sbin/pppd call auto` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # ce qui suit n&#039;est pas nécessaire, mais&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # agréable :&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # attendons l&#039;établissement de la liaison&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `sleep 60s`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # et rapatrions les mails de l&#039;utilisateur&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # pour peu qu&#039;il ai configuré fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `fetchmail`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ceci permet à un utilisateur de se configurer&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # un compte que le root ne connait pas.&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} else {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Information\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;Aucune connexion n&#039;a été sélectionnée.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0 1500` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;(note(pour jcc), je ne me rappelle plus si perl comprend la continuation des lignes par \ ?)&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;(note : saisissez les lignes terminés par \ sur une seule ligne !) &amp;lt;br /&amp;gt;(note : en lieu et place de /opt/apps/bin précisez le path complet de Xdialog) &amp;lt;br /&amp;gt;Vous pouvez, dès maintenant, vérifier que l&#039;établissement est fonctionnel (si vous avez un fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;) en tapant : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Si vous aviez des mails en attente et si vous aviez configuré fetchmail, ce script doit établir la connexion, envoyer les mails en attente, et rapatrier vos mails (et ceux de vos utilisateurs).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppdisconnect ==&lt;br /&gt;
&lt;br /&gt;
La déconnexion est semblable à ce que nous avons déjà fait : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if [ -e /var/run/ppp*.pid ] ; then&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â kill `cat /var/run/ppp*.pid` 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;fi&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/opt/apps/bin/Xdialog --title &amp;quot;Informations:&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;La liaison internet est maintenant\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;coupée.&amp;quot; 0 0 2000&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Sans commentaire.&lt;br /&gt;
&lt;br /&gt;
== Les permissions ==&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant, cet ensemble de script, ne fonctionne que si vous êtes root. C&#039;est un peu limitatif. Pour arranger les choses, je vous conseille de créer un groupe pppusers auquel vous ferez appartenir les utilisateurs ayant le droit de choisir leur connexion. Puis, dans le répertoire /etc/ppp faites :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;pour faire appartenir tout ce que contient /etc/ppp à pppusers :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown -R root:pppusers /etc/ppp/*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour autoriser les membres du groupe pppusers à modifier les fichiers /etc/ppp/peers/auto etc. :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R g+rwx /etc/ppp/scripts/ /etc/ppp/chat /etc/ppp/pap-secrets&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour que les étrangers le reste :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R o-rwx /etc/ppp/* /etc/ppp.conf /etc/sendmail.BASE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention : seuls les utilisateurs ayant établi la connexion auront le droit de la coupée : ce qui est somme toute assez logique. Le root ayant lui, comme toujours, tous les droits.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
&lt;br /&gt;
Chez moi, j&#039;ai mis deux icônes sur mon bureau, une vers pppconnect et l&#039;autre vers pppdisconnect. Comme ça, je peux établir et couper la liaison à Internet de manière très simple.&lt;br /&gt;
&lt;br /&gt;
Voilà, bon surf.&lt;br /&gt;
&lt;br /&gt;
Reste le problème des spammers ! La suppression automatique des mails dits &amp;quot;spam&amp;quot;, mails de publicité non sollicités, fera l&#039;objet d&#039;un prochain article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 30/05/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 30/05/2000, Frédéric Bonnaud&lt;br /&gt;
{{CC-BY-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13200</id>
		<title>Connexion à Internet multi-comptes</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Connexion_%C3%A0_Internet_multi-comptes&amp;diff=13200"/>
		<updated>2006-08-07T07:44:51Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Pré requis, Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Se connecter à Internet]]&lt;br /&gt;
= Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Connexion à Internet multi-comptes &amp;lt;br /&amp;gt;Partie 4 : connexion multi-comptes&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:tux.le.pengouin@free.fr Fred]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Nous allons, dans ce chapitre, voir comment il est possible de rendre &amp;quot;simple&amp;quot; pour l&#039;utilisateur la gestion de plusieurs connexions (plusieurs ISP) à internet&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Pré requis, Introduction ==&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir comprendre ce chapitre, vous devez savoir comment établir une connexion à internet, comment récupérer du courrier d&#039;internet sur plusieurs comptes en même temps et savoir quels sont les scripts qui sont lancés lors de l&#039;établissement de la connexion. Tous ces points sont le sujet des articles précédents (voir les parties [multi1_pppd-config.php3 1], [multi2_sendmail-config.php3 2] et [multi3_ipupdown.php3 3]).&lt;br /&gt;
&lt;br /&gt;
Avec la prolifération actuelle des ISP, notamment les gratuits, nous sommes souvent tentés de nous connecter via un nouvel ISP, ne serait-ce que pour l&#039;essayer (vérifier l&#039;état de sa ligne, sa rapidité, etc.).&lt;br /&gt;
&lt;br /&gt;
En utilisant ce que nous avons vu, il n&#039;est pas très difficile de créer plusieurs scripts de connexion à Internet. Mais cette méthode oblige l&#039;administrateur à modifier ou créer plusieurs scripts (en tout au moins 4 par fournisseur d&#039;accès) pour pouvoir ajouter un nouvel ISP. Ce n&#039;est pas très souple. De plus il nous faut modifier pour chaque ISP le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; ; en effet dans celui-ci nous avons mis l&#039;adresse de notre serveur de mail sortant, mais le serveur de mail sortant n&#039;accepte pas en général de connexion depuis un PC qui n&#039;est pas relié localement au réseau &amp;quot;local&amp;quot; de l&#039;ISP. Il est assez évident que la modification de ce fichier devra se faire depuis &amp;lt;tt&amp;gt;/etc/ppp/ip-up&amp;lt;/tt&amp;gt;, car elle doit se faire à chaque connexion.&lt;br /&gt;
&lt;br /&gt;
Note : tout ce qui suit, sauf indication contraire, est exécuté avec les droits de root.&lt;br /&gt;
&lt;br /&gt;
== Le principe retenu ==&lt;br /&gt;
&lt;br /&gt;
Voici la solution que j&#039;ai retenue. Toutes les informations relatives à toutes les connexions sont stockées dans le même et unique fichier : &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;. Le fichier est en ASCII pur pour que l&#039;on puisse l&#039;éditer facilement.&lt;br /&gt;
&lt;br /&gt;
L&#039;établissement de la connexion à Internet se fera par un seul script : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Celui-ci devra ouvrir une boite de dialogue dans laquelle on pourra choisir l&#039;une quelconque des connexions configurées dans &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La rupture de la liaison se fera via le script &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppdisconnect&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Syntaxe du fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Comme un dessin vaut mieux qu&#039;un long discours, voici mon fichier /&amp;lt;tt&amp;gt;etc/ppp.conf&amp;lt;/tt&amp;gt; : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free name}Free (max 20h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free smtp}smtp.free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free search}free.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free autodns}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{free telephone}0359602000&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{wanadoo name}wanadoo (max 36h)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo smtp}smtp.wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo search}wanadoo.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.3&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo dns}193.252.19.4&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo login}yyyyyyyyyyy&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo password}xxxxxxxx&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{wanadoo telephone}0860888080&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{offline smtp}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{offline search}tux&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;{global modeminit}ATM0L0&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Chaque ligne de ce fichier est de la forme :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;{ident motclef}valeur&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt; peut être n&#039;importe quoi (du moment que ça ne contient pas d&#039;espace), mais il y a deux valeurs particulières :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt; : pour indiquer que les paramètres qui suivent ne s&#039;appliquent que lorsque la connexion est inactive.&lt;br /&gt;
* &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt; : pour indiquer que ces paramètres s&#039;appliquent pour toutes les connexions (même &amp;lt;tt&amp;gt;offline&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;motclef&amp;lt;/tt&amp;gt; est une valeur parmi : &amp;lt;br /&amp;gt;Â &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;BORDER&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Mot clefÂ &#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Type de la valeur&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Utilisation&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère quelconque&lt;br /&gt;
| le nom de la connexion &amp;lt;tt&amp;gt;ident&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| une adresse IP&lt;br /&gt;
| adresse d&#039;un DNS (serveur de noms de domaine), vous pouvez en mettre autant que vous le souhaitez (sur des lignes distinctes).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rien&lt;br /&gt;
| si vous précisez cette option pour une connexion (ou pour toutes via &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt;), &amp;lt;tt&amp;gt;pppd&amp;lt;/tt&amp;gt; demandera à votre ISP les adresses de deux DNS. Dans ce cas (que cela fonctionne ou pas) les DNS que vous précisez par l&#039;option &amp;lt;tt&amp;gt;dns&amp;lt;/tt&amp;gt; sont ignorés.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;search&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom de domaine (valide ?)&lt;br /&gt;
| un nom de domaine qui sera ajouté automatiquement aux noms qui n&#039;auront pu être résolus sans celui-ci.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;smtp&amp;lt;/tt&amp;gt;&lt;br /&gt;
| nom d&#039;un serveur smtp ou une adresse IP&lt;br /&gt;
| ce nom doit alors être le nom du serveur de mails &#039;&#039;sortant&#039;&#039; de l&#039;ISP correspondant à cette connexion.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;login&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le login correspondant à cet ISP.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;password&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| le mot de passe de ce login (attention au propriétaire de ce fichier : il doit être en clair !)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;telephone&amp;lt;/tt&amp;gt;&lt;br /&gt;
| numéro de téléphone&lt;br /&gt;
| de l&#039;ISP&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;modeminit&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chaîne de caractère&lt;br /&gt;
| ce doit alors être une chaîne d&#039;initialisation de votre modem renvoyant &#039;OK&#039; ; vous pouvez avoir autant de chaîne d&#039;initialisation que vous le souhaitez.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention :&#039;&#039;&#039; le parseur distingue les majuscules des minuscules. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Attention :&#039;&#039;&#039; l&#039;ordre des différentes lignes de ce fichiers sont essentielles : elles détermine la validité des diverses options (c&#039;est à dire : si vous préciser deux fois la même option, seule la dernière valeurs est prise en compte).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/initcnx ==&lt;br /&gt;
&lt;br /&gt;
Maintenant, il nous faut un script capable de lire un tel fichier, et de générer les fichiers nécessaires à la connexion à Internet :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/chat/auto&amp;lt;/tt&amp;gt; : le script de numérotation de l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/peers/auto&amp;lt;/tt&amp;gt; : le script de commande de pppd.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/ppp/pap-secrets&amp;lt;/tt&amp;gt; : le fichier contenant les mots de passe pour l&#039;isp.&lt;br /&gt;
* &amp;lt;tt&amp;gt;/etc/resolv.conf&amp;lt;/tt&amp;gt; : le fichier charger de la résolution des noms (association adresse IP &amp;lt;-&amp;gt; nom de machine).&lt;br /&gt;
&lt;br /&gt;
Voici un tel script (appelez le &amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx&amp;lt;/tt&amp;gt;) : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# lecture du fichier de configuration /etc/ppp.conf pour&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# la création des paramètres de configurations !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/chat/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/peers/auto&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/ppp/pap-secrets&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# /etc/resolv.conf&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;($cnx,$ipup) = @ARGV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;@modeminit = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;@resolv = () ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$search = &amp;quot;org&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$autodns = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global login}(.*)/) { $login = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global password}(.*)/) { $password = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global smtp}(.*)/) { $smtp = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global telephone}(.*)/) { $telephone = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global modeminit}(.*)/) { push(@modeminit,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global dns}(.*)/) { push(@resolv,$p) ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global search}(.*)/) { $search = $p ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{$cnx autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($p) = /{global autodns}(.*)/) { $autodns = 1 ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;Â $resolv = () ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS1&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;Â push(@resolv,$ENV{&amp;quot;DNS1&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($ENV{&amp;quot;DNS2&amp;quot;} ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;Â push(@resolv,$ENV{&amp;quot;DNS2&amp;quot;}) ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(CHAT,&amp;quot;&amp;gt;/etc/ppp/chat/auto&amp;quot;) ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;BUSY&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;ERROR&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO CARRIER&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;NO DIALTONE&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Invalid Login&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ABORT&#039; &#039;Login incorrect&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;&#039; &#039;ATZ&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach (@modeminit) { print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;$_&#039;\n&#039;OK&#039; &amp;lt;/font&amp;gt;&amp;quot; ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print CHAT &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;ATDT$telephone&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;CONNECT&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&#039;TIMEOUT&#039; &#039;5&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&#039;~--&#039; &#039;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close CHAT ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PEERS,&amp;quot;&amp;gt;/etc/ppp/peers/auto&amp;quot;);&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PEERS &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;connect &#039;/usr/sbin/chat -v -f /etc/ppp/chat/auto&#039;&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;user $login&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;ipparam $cnx&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;if ($autodns) {&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;Â print PEERS &amp;quot;usepeerdns\n&amp;quot; ;&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&#039;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PEERS ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (PAP,&amp;quot;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PAP&amp;gt;) { $file .= $_ ; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (PAP,&amp;quot;&amp;gt;/etc/ppp/pap-secrets&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on supprime les occurrences précédentes :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$file =~ s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#.*#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;//s ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if ($login ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $file .= &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#AUTOBEGIN#\n$login * $password\n#AUTOEND#&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;quot;;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print PAP $file ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close PAP ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open (SENDSRC,&amp;quot;/etc/sendmail.BASE&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (SENDDST,&amp;quot;&amp;gt;/etc/sendmail.cf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;SENDSRC&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â s/&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;/$smtp/g ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â print SENDDST ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDSRC ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close SENDDST ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on modifie le ns :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;open (RESOLV,&amp;quot;&amp;gt;/etc/resolv.conf&amp;quot;) ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;search $search\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;foreach $nameserver (@resolv) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â print RESOLV &amp;quot;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;nameserver $nameserver\n&amp;lt;/font&amp;gt;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;close RESOLV ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on relance sendmail (seulement si&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# c&#039;est ip-up ou ip-down qui à lancé le&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# script, en effet il faut être root) :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039;&amp;lt;tt&amp;gt;if ($ipup =~ /ip(up|down)/) {&amp;lt;/tt&amp;gt;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â  `/etc/rc.d/init.d/sendmail restart`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Ce script est un compromis : je ne voulais pas écrire plusieurs fois la lecture de &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt; (je ne sais pas écrire de bibliothèque en &amp;lt;tt&amp;gt;perl&amp;lt;/tt&amp;gt; !) pour des raisons évidentes de maintenance, donc j&#039;ai écrit ce script qui fait, pour chaque opération, bien plus que ce qui est nécessaire. Mais cela ne doit être pénalisant que si vous avez des dizaines de connexions ;).&lt;br /&gt;
&lt;br /&gt;
Le script n&#039;appel pas de commentaire particulier, si ce n&#039;est pour les 12 lignes en gras. Ce sont ces lignes qui vont demander à l&#039;isp des adresses de ses dns. Les 9 premières regardent si les variables d&#039;environnement &amp;lt;tt&amp;gt;DNS1&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;DNS2&amp;lt;/tt&amp;gt; existent (quand on est en mode &amp;lt;tt&amp;gt;autodns&amp;lt;/tt&amp;gt;). Les 3 dernières ajoutent au script de commande de pppd l&#039;option qui lui réclame ces information.&lt;br /&gt;
&lt;br /&gt;
Pour que ce script puisse fonctionner, il faut que vous créiez un fichier &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; dont le nom de serveur smtp est &amp;lt;tt&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt; (à la place du nom du serveur de mail sortant d&#039;un de vos isp). Si votre serveur de sendmail est configuré et fonctionne, il suffit de copier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; et cherchez dans &amp;lt;tt&amp;gt;/etc/sendmail.BASE&amp;lt;/tt&amp;gt; la ligne (ou quelque chose de semblable...) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;smtp.isp.fr&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et vous la changez en :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;DSsmtp:&#039;&#039;&#039;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;{MAILHOST}&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention : &#039;&#039;&#039;le fichier &amp;lt;tt&amp;gt;/etc/sendmail.cf&amp;lt;/tt&amp;gt; est très sensible, ne le modifiez que si vous savez ce que vous faites.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-up à peine plus complexe ==&lt;br /&gt;
&lt;br /&gt;
(que celui de la partie 3) &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# le paramètre $6 correspond au paramètre ipparam&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# du fichier /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# ceci nécessite que l&#039;option usepeerdns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# soit activée dans /etc/ppp/peers/script&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans ce cas DNS1 et DNS2 reçoivent les&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# adresse des deux dns du provider.&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# dans le cas où ces variables ne sont pas&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# initialisées,Â  les options {connexion dns}***&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# doivent être utilisées pour préciser le dns !&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# en lieu et place de autodns&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx $6 ipup&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# récupération des mail et envoie des mails en attente :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/sbin/sendmail -q&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on récupère automatiquement les mails toutes les 11 minutes&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# (11 minutes car netcourrier n&#039;aime pas qu&#039;on consulte&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# les comptes pop trop souvent !)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --daemon 660&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# mettons notre pc à l&#039;heure :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;ntpdate ntp-sop.inria.fr&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Vu ce que l&#039;on a déjà dit, ce script ce passe de commentaire.&lt;br /&gt;
&lt;br /&gt;
== Un fichier /etc/ppp/ip-down ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# comme on n&#039;est plus connecté au net, on quitte fetchmail&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/usr/bin/fetchmail --quit&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# y&#039;a plus de dns a priori...&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS1=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export DNS2=&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/etc/ppp/scripts/initcnx offline ipdown&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on peut effacer les fichiers auto :&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/chat/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;rm -f /etc/ppp/peers/auto&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Idem.&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppconnect ==&lt;br /&gt;
&lt;br /&gt;
Pour ce script, nous allons un peu compliquer les choses : en effet, c&#039;est lui qui doit permettre le choix de l&#039;isp que nous souhaitons contacter. Comme, dans la partie 3, nous allons utiliser Xdialog pour nous permettre ce choix. Voici le script : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;open(PPPCONF,&amp;quot;/etc/ppp.conf&amp;quot;) ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Erreur --msgbox\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;quot;impossible d\&#039;ouvrir /etc/ppp.conf\nchangez\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;les droits de ce fichier\nou bien créez le.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0` ||&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;die &amp;quot;/etc/ppp.conf illisible.\n&amp;quot; ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;# on cherche les lignes : {connexion name}isp&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;while (&amp;lt;PPPCONF&amp;gt;) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â if (($tag,$name) = /{(.*?) name}(.*)/) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â  $cnx{$tag} = $name ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cmdline = &amp;quot;&amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$num = 0 ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;foreach $key (sort keys %cnx) {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $cmdline .= &amp;quot;\&amp;quot;$key\&amp;quot; \&amp;quot;$cnx{$key}\&amp;quot; false &amp;quot; ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â $num++ ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$cnx = `/opt/apps/bin/Xdialog --stdout\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--radiolist Connexion 0 0 $num $cmdline` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chop($cnx);&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;if ($cnx ne &amp;quot;&amp;quot;) {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # initialisation (sauf le dns !) qui est fait par&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ip-up&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/etc/ppp/scripts/initcnx $cnx` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # connexion !&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `/usr/sbin/pppd call auto` ;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Â # ce qui suit n&#039;est pas nécessaire, mais&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # agréable :&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # attendons l&#039;établissement de la liaison&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `sleep 60s`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # et rapatrions les mails de l&#039;utilisateur&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # pour peu qu&#039;il ai configuré fetchmail&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â `fetchmail`&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # ceci permet à un utilisateur de se configurer&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â # un compte que le root ne connait pas.&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;} else {&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;`/opt/apps/bin/Xdialog --title Information\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;Aucune connexion n&#039;a été sélectionnée.&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;0 0 1500` ;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;}&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;#FF0000&amp;quot;&amp;gt;(note(pour jcc), je ne me rappelle plus si perl comprend la continuation des lignes par \ ?)&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;(note : saisissez les lignes terminés par \ sur une seule ligne !) &amp;lt;br /&amp;gt;(note : en lieu et place de /opt/apps/bin précisez le path complet de Xdialog) &amp;lt;br /&amp;gt;Vous pouvez, dès maintenant, vérifier que l&#039;établissement est fonctionnel (si vous avez un fichier &amp;lt;tt&amp;gt;/etc/ppp.conf&amp;lt;/tt&amp;gt;) en tapant : &amp;lt;tt&amp;gt;/etc/ppp/scripts/pppconnect&amp;lt;/tt&amp;gt;. Si vous aviez des mails en attente et si vous aviez configuré fetchmail, ce script doit établir la connexion, envoyer les mails en attente, et rapatrier vos mails (et ceux de vos utilisateurs).&lt;br /&gt;
&lt;br /&gt;
== /etc/ppp/scripts/pppdisconnect ==&lt;br /&gt;
&lt;br /&gt;
La déconnexion est semblable à ce que nous avons déjà fait : &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;if [ -e /var/run/ppp*.pid ] ; then&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Â kill `cat /var/run/ppp*.pid` 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;fi&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;/opt/apps/bin/Xdialog --title &amp;quot;Informations:&amp;quot;\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;--infobox &amp;quot;La liaison internet est maintenant\&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;coupée.&amp;quot; 0 0 2000&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Sans commentaire.&lt;br /&gt;
&lt;br /&gt;
== Les permissions ==&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;instant, cet ensemble de script, ne fonctionne que si vous êtes root. C&#039;est un peu limitatif. Pour arranger les choses, je vous conseille de créer un groupe pppusers auquel vous ferez appartenir les utilisateurs ayant le droit de choisir leur connexion. Puis, dans le répertoire /etc/ppp faites :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;pour faire appartenir tout ce que contient /etc/ppp à pppusers :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chown -R root:pppusers /etc/ppp/*&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour autoriser les membres du groupe pppusers à modifier les fichiers /etc/ppp/peers/auto etc. :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R g+rwx /etc/ppp/scripts/ /etc/ppp/chat /etc/ppp/pap-secrets&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour que les étrangers le reste :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;chmod -R o-rwx /etc/ppp/* /etc/ppp.conf /etc/sendmail.BASE&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention : seuls les utilisateurs ayant établi la connexion auront le droit de la coupée : ce qui est somme toute assez logique. Le root ayant lui, comme toujours, tous les droits.&lt;br /&gt;
&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
&lt;br /&gt;
Chez moi, j&#039;ai mis deux icônes sur mon bureau, une vers pppconnect et l&#039;autre vers pppdisconnect. Comme ça, je peux établir et couper la liaison à Internet de manière très simple.&lt;br /&gt;
&lt;br /&gt;
Voilà, bon surf.&lt;br /&gt;
&lt;br /&gt;
Reste le problème des spammers ! La suppression automatique des mails dits &amp;quot;spam&amp;quot;, mails de publicité non sollicités, fera l&#039;objet d&#039;un prochain article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 30/05/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 30/05/2000, Frédéric Bonnaud&lt;br /&gt;
{{CC-BY-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion:Station_de_travail_multim%C3%A9dia_professionelle&amp;diff=13178</id>
		<title>Discussion:Station de travail multimédia professionelle</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion:Station_de_travail_multim%C3%A9dia_professionelle&amp;diff=13178"/>
		<updated>2006-08-02T13:20:19Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Confusion?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;disque dur PCI&amp;quot; j&#039;ai jamais entendu parler de ce type de disques, ils se branchent directement sur un slot de la carte mère? À moins que ce ne soient des disques ide (P ATA)?&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=IRATE_Radio&amp;diff=12679</id>
		<title>IRATE Radio</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=IRATE_Radio&amp;diff=12679"/>
		<updated>2006-05-21T21:03:38Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Son et Image]]&lt;br /&gt;
= iRATE Radio =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;iRATE Radio&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par Jean-Claude Noël&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Une traduction de la page originale pour l&#039;installation et l&#039;utilisation d&#039;iRATE Radio.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Présentation ==&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez légalement télécharger, copier, diffuser, écouter à volonté de la musique au format mp3, iRATE Radio est fait pour vous. Des artistes déposent librement des musiques de leur composition et grâce à iRATE vous allez pouvoir les découvrir. Ne vous attendez pas à trouver les morceaux habituellement diffusés sur les médias conventionnels (radio et TV commerciales, etc..), exit star&#039;ac et Cie ;-).&lt;br /&gt;
&lt;br /&gt;
Par un système d&#039;évaluation lorsque vous porterez un jugement sur les titres téléchargés, le logiciel iRATE essayera de vous satisfaire en vous téléchargeant et vous diffusant d&#039;autres titres MP3 selon vos goûts.&lt;br /&gt;
&lt;br /&gt;
Profitez en !!!! Et si vous trouvez des artistes qui vous plaisent ... un p&#039;tit coup de google pour trouvez le site de l&#039;artiste et creuser d&#039;avantage ;-)&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, vous allez trouvez la traduction adaptée de la documentation d&#039;iRATE Radio avec parfois quelques annotations personnelles. Je précise d&#039;ores et déjà que mon expérience se limite à une installation de irate-client-gtk dans sa version 0.3-2 sous GNU/Linux Debian Sarge. Je n&#039;ai pas essayé sur les autres distributions mais cela ne devrait pas être très différent. Quant à l&#039;O.S. non libre,désolé,aucun risque de me voir tenter l&#039;installation.&lt;br /&gt;
&lt;br /&gt;
=== Site officiel ===&lt;br /&gt;
&lt;br /&gt;
Commencer par vous procurer le logiciel iRATE Radio.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez le télécharger depuis http://irate.sourceforge.net/.&lt;br /&gt;
&lt;br /&gt;
Cette page est une traduction adaptée de l&#039;original. La documentation (anglaise) a été écrite par Fred Reiss et se trouve sur http://irate.sourceforge.net/documentation.gettingstarted.html.&lt;br /&gt;
&lt;br /&gt;
Ce tutorial vous indique comment télécharger, installer, et commencer à écouter la radio iRATE.&lt;br /&gt;
&lt;br /&gt;
== iRATE Radio ==&lt;br /&gt;
&lt;br /&gt;
=== Obtenir le client ===&lt;br /&gt;
&lt;br /&gt;
La radio iRATE est un système de client serveur. C&#039;est un programme qui sert a appeler les téléchargements des clients iRATE et qui joue les MP3s, alors que le serveur iRATE maintient les rapports entre les préférences d&#039;écoute des utilisateurs. Le client demande au serveur une liste des titres MP3 et télécharge ces titres de leurs emplacements respectifs :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_architecture.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour écouter la radio iRATE, les différents utilisateurs téléchargent le programme de client iRATE sur leur ordinateur. Quand le client est installé, il entre en contact avec le serveur iRATE via Internet et demande pour audition une liste de chansons susceptibles d&#039;intéresser l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
Il y a deux manières d&#039;installer le client iRATE. La manière la plus traditionnelle est de télécharger le paquetage sur votre ordinateur et de l&#039;installer. Alternativement, vous pouvez employer l&#039;outil &amp;quot;web start&amp;quot; de sun pour installer iRATE.&lt;br /&gt;
&lt;br /&gt;
=== Installation du paquetage client ===&lt;br /&gt;
&lt;br /&gt;
Si vous utilisez Windows, sautez cette section ; vous devrez employer l&#039;outil &amp;quot;start of web&amp;quot; pour installer le client iRATE.&lt;br /&gt;
&lt;br /&gt;
Si vous utilisez un autre système d&#039;exploitation que windows, vous devriez pouvoir trouver les binaires précompilés de iRATE sur le site Web d&#039;iRATE, sous le &amp;quot;Download&amp;quot; (téléchargement).&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe iRATE édite trois versions du client :&lt;br /&gt;
&lt;br /&gt;
* Une version &amp;quot;stable &amp;quot; qui est peu susceptible de se briser mais ne contient pas tous les derniers dispositifs; &lt;br /&gt;
* Une version &amp;quot;testing&amp;quot; avec plus de dispositifs mais aussi plus de bogues; &lt;br /&gt;
* Une version &amp;quot;instable&amp;quot; pour les experts seulement. &lt;br /&gt;
&lt;br /&gt;
Si c&#039;est votre première utilisation d&#039; iRATE, nous vous recommandons de commençer par la version &amp;quot;stable&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Personnellement, j&#039;ai installé la &amp;quot;testing&amp;quot; depuis http://irate.sourceforge.net/download.testing.html&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faites défiler vers le bas l&#039;ascenseur jusqu&#039;à la section &amp;quot;Native SWT Client&amp;quot; de la page de téléchargement et localisez le téléchargement approprié pour votre logiciel d&#039;exploitation. Ce que vous faites après, dépend de ce que votre système d&#039;exploitation ou votre distribution vous demande.&lt;br /&gt;
&lt;br /&gt;
# Pour Mac OSX &lt;br /&gt;
# Pour Debian &lt;br /&gt;
# Pour Distributions RPM &lt;br /&gt;
&lt;br /&gt;
* Si vous utilisez Mac OSX, il y a seulement un dossier à télécharger. Placé sous la section d&#039;&amp;quot;OSX&amp;quot; de la page de téléchargements, ce dossier est une image disque. Pour installer iRATE de cette image disque, faites ce qui suit:&lt;br /&gt;
** Double-clic sur le dossier d&#039;image disque pour le monter.&lt;br /&gt;
** Un &amp;quot;disque&amp;quot; virtuel devrait apparaître sur votre de bureau, marqué &amp;quot;RATE client&amp;quot;, ou quelque chose de semblable. Ouvrez le disque et copiez les dossiers dans votre chemise d&#039;applications.&lt;br /&gt;
* Si vous utilisez Debian/GNU Linux, faites défiler l&#039;ascenseur vers le bas jusqu&#039;à la partie appropriée de la page de téléchargement iRATE et trouvez votre version de Debian. Ajoutez la ligne qui devrait ressembler à quelque chose comme &amp;lt;code&amp;gt;deb http://members.westnet.com.au/takahe/debian/stable woody main&amp;lt;/code&amp;gt; dans le dossier : &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; .&lt;br /&gt;
Alors vous devriez pouvoir lancer dans une console la commande (en tant qu&#039;utilisateur &amp;quot;root&amp;quot;):&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install irate-client-gtk&amp;lt;/code&amp;gt;&lt;br /&gt;
* Si vous utilisez une distribution de GNU/Linux basé sur les RPM (Red hat Linux, Fedora Linux, ou Mandrake Linux), téléchargez les paquetages appropriés en RPM pour votre version de Linux. Il y a trois RPMs pour le Red Hat et Fedora Linux, et deux RPMs pour Mandrake. Installez alors les paquets par la commande en ligne :&lt;br /&gt;
&amp;lt;code&amp;gt;rpm -ivh [ les noms de paquetages vont ici ]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation du client en utilisant Start of Web ===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez employer l&#039;outil java &amp;quot;start of web&amp;quot; de Sun. Pour simplifier, installez le client iRATE sur votre ordinateur et maintenez votre client iRATE à jour. La première étape de l&#039;installation par l&#039;intermédiaire de l&#039;outil &amp;quot;start of web&amp;quot; est de télécharger et d&#039;installer la version Java de Sun. Le &#039;&#039;Canadian Mind Products&#039;&#039; a un glossaire Java avec une bonne description de l&#039;outil java &amp;quot;start of web&amp;quot;. Gardez à l&#039;esprit que vous pouvez avoir besoin de redémarrer votre ordinateur après installation de Java. Une fois que Java est installé, vous devriez pouvoir télécharger iRATE de la page de téléchargement et utiliser le client iRATE. Cliquez sur l&#039;icône qui ressemble à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_icon.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le client iRATE devrait télécharger, installer, et commencer automatiquement.&lt;br /&gt;
&lt;br /&gt;
=== Démarrer le client ===&lt;br /&gt;
&lt;br /&gt;
Si vous avez téléchargez et installez le client iRATE d&#039;un paquetage, vous devriez pouvoir le démarrer de l&#039;une ou l&#039;autre des deux manières :&lt;br /&gt;
&lt;br /&gt;
* Lancez &amp;quot;le client iRATE&amp;quot; du menu d&#039;applications dans GNOME ou KDE. Le menu d&#039;applications devrait être situé dans le coin gauche inférieur de votre écran. Ouvrez un terminal dans une fenêtre et selon le site officiel taper: &amp;lt;code&amp;gt;iRATE-client-gtk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt; Taper plutôt &amp;lt;code&amp;gt;irate-client&amp;lt;/code&amp;gt; qui fonctionne chez moi contrairement à la commande précédente.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Si vous avez utilisé l&#039;outil &amp;quot;start of web&amp;quot; pour installer iRATE, le client devrait avoir commencé automatiquement.&lt;br /&gt;
&lt;br /&gt;
Quand vous lancez le client iRATE pour la première fois, vous devez voir quelque chose comme ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_welcome.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Créer un compte ===&lt;br /&gt;
&lt;br /&gt;
Afin de maintenir vos préférences en musique, la radio iRATE exige que vous créez un compte &amp;lt;code&amp;gt;Account&amp;lt;/code&amp;gt; (nom d&#039;utilisateur) unique pour vous-même. Chaque fois que vous démarrerez le client iRATE, il utilisera votre nom d&#039;utilisateur pour rechercher vos préférences. La radio iRATE se rappelle automatiquement de votre nom d&#039;utilisateur, ainsi vous n&#039;aurez pas à le ressaisir à chaque fois que vous relancerez l&#039;application. Quand vous cliquez sur le bouton &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; dans l&#039;écran de bienvenue, la boîte de dialogue suivante doit apparaître :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_account.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choisissez un nom d&#039;utilisateur pour vous-même et un mot de passe. Changez le nom d&#039;utilisateur en &amp;lt;code&amp;gt;Account&amp;lt;/code&amp;gt; inscrit par défaut dans la boîte de dialogue ainsi que le mot de passe dans le champ &amp;lt;code&amp;gt;Password&amp;lt;/code&amp;gt;. Les autres arrangements à cette page sont pour les experts seulement. Il peut être intéressant de modifier le chemin &amp;lt;code&amp;gt;Directory&amp;lt;/code&amp;gt; du répertoire dans lequel on désire stocker les fichiers téléchargés. Dans ce cas utilisez le bouton &amp;lt;code&amp;gt;Browse&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;alert&amp;quot;&amp;gt;IMPORTANT: N&#039;employez pas un mot de passe valable, tel que votre mot de passe d&#039;ouverture de Linux ! &amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;ASTUCE: Je vous conseille de garder une trace du nom de compte et du mot de passe sur un calepin. Ainsi, si vous réinstallez votre Linux (peu probable ;-)), ou si vous utilisez iRATE Radio sur une autre machine (très probable),vous pouvez utilisez le même compte et vous ne téléchargerez pas deux fois les mêmes titres.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lorsque la boîte de dialogue est remplie, un clic sur &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; suffit pour commencer à obtenir de la musique !&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;arrivez pas à vous connectez, c&#039;est probablement parce que le nom de compte que vous avez choisi est déjà utilisé par quelqu&#039;un d&#039;autre. La correspondance nom-de-compte + mot-de-passe n&#039;est pas valide et le serveur vous refuse l&#039;accès. Choisissez un autre nom de compte et tout devrait rentrer dans l&#039;ordre.&lt;br /&gt;
&lt;br /&gt;
=== L&#039;écran principal ===&lt;br /&gt;
&lt;br /&gt;
Une fois que vous avez lancé iRATE et avez créé un nom d&#039;utilisateur, vous devriez voir l&#039;écran principal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selon la version du client installée, vous pouvez voir un écran principal légèrement différent.&lt;br /&gt;
&lt;br /&gt;
=== Le Playlist (la liste des titres) ===&lt;br /&gt;
&lt;br /&gt;
La radio iRATE choisit parmi une collection de titres MP3 qu&#039;elle pense que vous pourriez aimer en téléchargeant ces titres sur votre ordinateur pour que vous puissiez ensuite les écouter. Votre playlist contient une liste de tous les titres que iRATE a choisi pour vous:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen_playlist.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour chaque titre musical, le playlist montre l&#039;information suivante:&lt;br /&gt;
&lt;br /&gt;
* Le nom de l&#039;artiste qui a enregistré le titre est indiqué dans colonne &amp;lt;code&amp;gt;Artist&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Le nom du titre lui-même (c&#039;est à dire la chanson) est indiqué dans la colonne &amp;lt;code&amp;gt;Track&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Si le titre n&#039;a pas encore été téléchargé sur votre ordinateur, la colonne &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; indique &amp;lt;code&amp;gt;Not downloaded&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Si le titre a été téléchargé sur votre ordinateur, la colonne &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; indique &amp;lt;code&amp;gt;Unrated&amp;lt;/code&amp;gt; si vous n&#039;avez pas encore porté de jugement pour ce titre.&lt;br /&gt;
* Si le titre a été téléchargé sur votre ordinateur et que vous y avez attribué un jugement, la colonne &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; indique ce jugement. (voir Rating Music estimation si dessous).&lt;br /&gt;
* Combien de fois iRATE a joué le titre est indiqué par la colonne &amp;lt;code&amp;gt;Plays&amp;lt;/code&amp;gt;.&lt;br /&gt;
* La dernière fois qu&#039; iRATE a joué le titre est indiqué par la &amp;lt;code&amp;gt;Plays&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Double-cliquer sur un titre et iRATE jouera ce titre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;NOTE : Si iRATE n&#039;a pas encore téléchargé un titre particulier sur votre ordinateur, double-cliquer n&#039;aura aucun effet.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Racing Music (Estimation de la Musique) ===&lt;br /&gt;
&lt;br /&gt;
La radio iRATE essaye de télécharger des titres que vous aurez plaisir à entendre. Pour faire les choix intelligents des titres à télécharger, iRATE a besoin de savoir ce que vous pensez de la musique qui a été joué pour vous jusqu&#039;ici.&lt;br /&gt;
&lt;br /&gt;
Sur le client iRATE l&#039;écran principal a une rangée de boutons d&#039;estimation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen_rating.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisez ces boutons pour voter et dire à iRATE ce que vous pensez du titre qu&#039;il joue actuellement. iRATE se base sur ces estimations pour télécharger de nouveaux titres. Il va également utiliser ces estimations pour choisir de préférence le titre qu&#039;il va jouer pour vous sur votre ordinateur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;NOTE : Si vous évaluez un titre &amp;lt;code&amp;gt;This Sux&amp;lt;/code&amp;gt;, alors iRATE enlève ce titre de votre playlist, et vous n&#039;entendrez plus jamais ce titre. Si vous changez d&#039;avis au sujet d&#039;une évaluation &amp;lt;code&amp;gt;This Sux&amp;lt;/code&amp;gt;, vous pouvez défaire l&#039;estimation en choisissant &amp;lt;code&amp;gt;Undo last rating&amp;lt;/code&amp;gt; (défaire la dernière estimation) du menu &amp;lt;code&amp;gt;Action&amp;lt;/code&amp;gt;.&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;NOTE : Si un titre ne joue pas actuellement, vous pouvez encore changer son estimation par un clic-droit sur la rangée appropriée du playlist.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement de la musique ===&lt;br /&gt;
&lt;br /&gt;
Le client iRATE télécharge automatiquement les titres MP3 en fond de tâche. Vous pouvez visualiser une barre de progression en bas de la fenêtre principale d&#039;iRATE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen_download.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ne vous inquiétez pas de fermer le client alors qu&#039;il est en train de télécharger un dossier! Si vous stoppez le client iRATE avant que le client n&#039;ait fini un téléchargement, iRATE fera un résumé du téléchargement la prochaine fois que vous lancerez le client.&lt;br /&gt;
&lt;br /&gt;
=== Écouter la musique ===&lt;br /&gt;
&lt;br /&gt;
Dès qu&#039;il téléchargera son premier titre, le client iRATE commencera automatiquement à jouer la musique pour vous. Vous pouvez commander le playback de la musique en utilisant les commandes localisées ici:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen_controls.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
iRATE se rappelle quels titres il a joué depuis que vous avez démarré le client:&lt;br /&gt;
&lt;br /&gt;
* Le bouton marqué &amp;lt;code&amp;gt;&amp;lt; &amp;lt;&amp;lt;/code&amp;gt; vous laisse sauter au titre précédemment joué.&lt;br /&gt;
* De même, le bouton marqué &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; saute au prochain titre (aléatoirement choisi).&lt;br /&gt;
* Vous pouvez faire une pause en appuyant sur le bouton marqué &amp;lt;code&amp;gt;||&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;écran principal a également une commande de volume:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:irate-irate_mainscreen_volume.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les titres téléchargés ne proviennent pas de la même source et ont par conséquent des niveaux sonores différents. Déplacez ce glisseur vers la droite pour augmenter le volume, ou vers la gauche pour le diminuer. Ce niveau de volume est stocké pour le titre actuellement en lecture. Employez votre commande de volume de système si vous voulez juste ajuster le niveau de volume normalement.&lt;br /&gt;
&lt;br /&gt;
Voilà, c&#039;est terminé. Profitez en bien ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Jean-Claude Noël le 17/09/2004.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 17/09/2004, Jean-Claude Noël&lt;br /&gt;
{{CC-BY-SA}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Autres ressources=&lt;br /&gt;
&lt;br /&gt;
* [http://irate.sf.net/kirate Plugin KDE pour iRate]&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=12332</id>
		<title>Discussion utilisateur:Legranblon</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=12332"/>
		<updated>2006-04-11T12:07:30Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Avec une chaussure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plait-il?&lt;br /&gt;
&lt;br /&gt;
== Avec une chaussure ==&lt;br /&gt;
&lt;br /&gt;
noire ou avec un loden vert ? [[Utilisateur:Nicola (phorum)|Nicola (phorum)]] 11 avr 2006 à 11:57 (CEST)&lt;br /&gt;
    Bein ça c&#039;est malin, hein... -_-  gni! (legranblon ;)&lt;br /&gt;
    bon, bein pour répondre, avec un loden vert, en avril, je ne me découvre pas :)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=12331</id>
		<title>Discussion utilisateur:Legranblon</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=12331"/>
		<updated>2006-04-11T11:38:25Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Avec une chaussure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plait-il?&lt;br /&gt;
&lt;br /&gt;
== Avec une chaussure ==&lt;br /&gt;
&lt;br /&gt;
noire ou avec un loden vert ? [[Utilisateur:Nicola (phorum)|Nicola (phorum)]] 11 avr 2006 à 11:57 (CEST)&lt;br /&gt;
    Bein ça c&#039;est malin, hein... -_-  gni! (legranblon ;)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11941</id>
		<title>Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11941"/>
		<updated>2006-02-24T10:33:05Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Utiliser Mplayer pour lire vos dvd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimédia]]&lt;br /&gt;
=Lire un dvd=&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Comment regarder un dvd ?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Pierre Renié&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Comment regarder un DVD sous votre système d&#039;exploitation préféré&amp;lt;/div&amp;gt;&lt;br /&gt;
==Prérequis==&lt;br /&gt;
===Programmes installés===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 	&amp;lt;li&amp;gt;Un lecteur de DVD, par exemple &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Libdvdcss&amp;lt;/strong&amp;gt;, qui permet de lire les DVD cryptés. Si cette librairie n&#039;est pas installée, la plupart des DVD seront illisibles. Le paquetage s&#039;appelle généralement &amp;lt;strong&amp;gt;libdvdcss2&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
Remarque: &amp;lt;strong&amp;gt;libdvdcss2-devel&amp;lt;/strong&amp;gt; n&#039;est pas nécessaire.&lt;br /&gt;
	&amp;lt;div class=&#039;aparte&#039;&amp;gt;Les paquetages devel servent à compiler des programmes, c&#039;est pourquoi il n&#039;est pas nécessaire d&#039;installer libdvdcss2-devel.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
pour installer un programme, voir [[:Fiches:Administration-ficheinstall|cette fiche]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Utiliser Xine pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lancer le programme &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;Pour savoir comment lancer un programme, vous pouvez lire [[:Fiches:Administration-fichelaunch|cette fiche]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Le programme se présente comme cela:&lt;br /&gt;
		[[Image:Copie_ecran_xine.png|Copie d&#039;écran Xine]]&lt;br /&gt;
	Appuyer sur &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;G&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; pour faire apparaître ou cacher l&#039;interface.&lt;br /&gt;
&lt;br /&gt;
	La touche &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;F&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; active ou désactive le plein &amp;amp;eacute;cran.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Cliquer sur le bouton &amp;lt;strong&amp;gt;DVD&amp;lt;/strong&amp;gt; et normalement le DVD se lance.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utiliser Mplayer pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
Comme pour Xine, libdvdcss devra être installé pour permettre la lecture des dvd cryptés.&lt;br /&gt;
&lt;br /&gt;
Mplayer en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
Mplayer peut être lancé via tout terminal ( alt-F1 à F6 sur la majeur partie des distributions linux ), émulateur de terminal ( aterm, eterm, konsole, gnome-terminal, xterm,... ), lanceur d&#039;application ( exige, par exemple ).&lt;br /&gt;
&lt;br /&gt;
Sa syntaxe suit le motif suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} {url}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selon ce principe, pour lire un dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le plus souvent, mplayer détecte automatiquement tous les paramètres, seulement, il peut être nécessaire, par exemple, d&#039;indiquer le périphérique de lecture de dvd (cas où /dev/dvd n&#039;existe pas sur votre système)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les personnes souhaitant regarder le film en version anglaise avec des sous-titres en français :&lt;br /&gt;
&lt;br /&gt;
l&#039;option &amp;lt;key&amp;gt;-alang en&amp;lt;/key&amp;gt; spécifie la piste audio anglaise et &amp;lt;key&amp;gt;-slang fr&amp;lt;/key&amp;gt; indique qu&#039;il faut afficher les sous-titre français.&lt;br /&gt;
&lt;br /&gt;
on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda -alang en -slang fr dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les options sont listées et décrites, des exemples sont données dans la page de manuel. Pour rechercher une fois cette page de manuel affichée, taper /{expression} suivi de entrée pour trouver toutes les itérations de cette expression (&amp;lt;key&amp;gt;n&amp;lt;/key&amp;gt; passe à l&#039;occurrence suivante de l&#039;expression)&lt;br /&gt;
&lt;br /&gt;
Si le film à visionner est le chapitre N°2 du dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors : &lt;br /&gt;
&lt;br /&gt;
[[Image:Mplayer-cli-dvd.jpg|mplayer est ici lancé dans un xterm]]&lt;br /&gt;
&lt;br /&gt;
Au cours de la lecture, la touche &amp;lt;key&amp;gt;f&amp;lt;/key&amp;gt; permet l&#039;affichage en plein écran, &amp;lt;key&amp;gt;flèche haut&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche bas&amp;lt;/key&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt;flèche gauche&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche droite&amp;lt;/key&amp;gt; permettent d&#039;avancer/reculer dans le film, la barre d&#039;espace permet &lt;br /&gt;
&lt;br /&gt;
de mettre en pause, &amp;lt;key&amp;gt;/&amp;lt;/key&amp;gt; et &amp;lt;key&amp;gt;*&amp;lt;/key&amp;gt; permettent l&#039;ajustement du volume sonore.&lt;br /&gt;
&lt;br /&gt;
== Utiliser Totem pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
==Problèmes pouvant être rencontrés==&lt;br /&gt;
Le lecteur de DVD se sert du fichier &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; pour savoir quel lecteur utiliser. Si il n&#039;existe pas il faut le créer.&lt;br /&gt;
&lt;br /&gt;
Pour savoir si il existe, taper dans un terminal &amp;lt;code&amp;gt;ls /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
Il affiche &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; si il existe, et il renvoie un message d&#039;erreur sinon.&lt;br /&gt;
===Détection du lecteur, dans un terminal===&lt;br /&gt;
Ouvrir un terminal et taper &amp;lt;code&amp;gt;cat /etc/fstab|grep iso9660&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On devrait obtenir une ligne qui ressemble à ça: &amp;lt;code&amp;gt;/dev/hdb  /mnt/cdrom  iso9660  ro,user,noauto  0  0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hdb&amp;lt;/code&amp;gt; est donc le p&amp;amp;eacute;riph&amp;amp;eacute;rique qui lit les DVD.&lt;br /&gt;
&lt;br /&gt;
taper alors en root &amp;lt;code&amp;gt;ln -s /dev/hdb /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir [[:Admin-admin_fs-fstab|cette fiche]] pour plus d&#039;informations sur le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Utiliser Videolan (VLC) pour lire vos dvd ==&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fichier:Mplayer-cli-dvd.jpg&amp;diff=11940</id>
		<title>Fichier:Mplayer-cli-dvd.jpg</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fichier:Mplayer-cli-dvd.jpg&amp;diff=11940"/>
		<updated>2006-02-24T10:30:02Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Mplayer lancé via un xterm : lecture de la piste N°2 du DVD &amp;quot;Le silence des agneaux&amp;quot; (Jonathan Demme)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mplayer lancé via un xterm : lecture de la piste N°2 du DVD &amp;quot;Le silence des agneaux&amp;quot; (Jonathan Demme)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11728</id>
		<title>Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11728"/>
		<updated>2006-02-16T00:26:03Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Utiliser Mplayer pour lire vos dvd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimédia]]&lt;br /&gt;
=Lire un dvd=&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Comment regarder un dvd ?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Pierre Renié&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Comment regarder un DVD sous votre système d&#039;exploitation préféré&amp;lt;/div&amp;gt;&lt;br /&gt;
==Prérequis==&lt;br /&gt;
===Programmes installés===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 	&amp;lt;li&amp;gt;Un lecteur de DVD, par exemple &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Libdvdcss&amp;lt;/strong&amp;gt;, qui permet de lire les DVD cryptés. Si cette librairie n&#039;est pas installée, la plupart des DVD seront illisibles. Le paquetage s&#039;appelle généralement &amp;lt;strong&amp;gt;libdvdcss2&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
Remarque: &amp;lt;strong&amp;gt;libdvdcss2-devel&amp;lt;/strong&amp;gt; n&#039;est pas nécessaire.&lt;br /&gt;
	&amp;lt;div class=&#039;aparte&#039;&amp;gt;Les paquetages devel servent à compiler des programmes, c&#039;est pourquoi il n&#039;est pas nécessaire d&#039;installer libdvdcss2-devel.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
pour installer un programme, voir [[:Fiches:Administration-ficheinstall|cette fiche]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Utiliser Xine pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lancer le programme &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;Pour savoir comment lancer un programme, vous pouvez lire [[:Fiches:Administration-fichelaunch|cette fiche]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Le programme se présente comme cela:&lt;br /&gt;
		[[Image:Copie_ecran_xine.png|Copie d&#039;écran Xine]]&lt;br /&gt;
	Appuyer sur &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;G&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; pour faire apparaître ou cacher l&#039;interface.&lt;br /&gt;
&lt;br /&gt;
	La touche &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;F&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; active ou désactive le plein &amp;amp;eacute;cran.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Cliquer sur le bouton &amp;lt;strong&amp;gt;DVD&amp;lt;/strong&amp;gt; et normalement le DVD se lance.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utiliser Mplayer pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
Comme pour Xine, libdvdcss devra être installé pour permettre la lecture des dvd cryptés.&lt;br /&gt;
&lt;br /&gt;
Mplayer en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
Mplayer peut être lancé via tout terminal ( alt-F1 à F6 sur la majeur partie des distributions linux ), émulateur de terminal ( aterm, eterm, konsole, gnome-terminal, xterm,... ), lanceur d&#039;application ( exige, par exemple ).&lt;br /&gt;
&lt;br /&gt;
Sa syntaxe suit le motif suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} {url}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selon ce principe, pour lire un dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le plus souvent, mplayer détecte automatiquement tous les paramètres, seulement, il peut être nécessaire, par exemple, d&#039;indiquer le périphérique de lecture de dvd (cas où /dev/dvd n&#039;existe pas sur votre système)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les personnes souhaitant regarder le film en version anglaise avec des sous-titres en français :&lt;br /&gt;
&lt;br /&gt;
l&#039;option &amp;lt;key&amp;gt;-alang en&amp;lt;/key&amp;gt; spécifie la piste audio anglaise et &amp;lt;key&amp;gt;-slang fr&amp;lt;/key&amp;gt; indique qu&#039;il faut afficher les sous-titre français.&lt;br /&gt;
&lt;br /&gt;
on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda -alang en -slang fr dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les options sont listées et décrites, des exemples sont données dans la page de manuel. Pour rechercher une fois cette page de manuel affichée, taper /{expression} suivi de entrée pour trouver toutes les itérations de cette expression (&amp;lt;key&amp;gt;n&amp;lt;/key&amp;gt; passe à l&#039;occurrence suivante de l&#039;expression)&lt;br /&gt;
&lt;br /&gt;
Si le film à visionner est le chapitre N°2 du dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors : &lt;br /&gt;
&lt;br /&gt;
[[Image:mplayer.png|mplayer est ici lancé dans un xterm]]&lt;br /&gt;
&lt;br /&gt;
Au cours de la lecture, la touche &amp;lt;key&amp;gt;f&amp;lt;/key&amp;gt; permet l&#039;affichage en plein écran, &amp;lt;key&amp;gt;flèche haut&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche bas&amp;lt;/key&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt;flèche gauche&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche droite&amp;lt;/key&amp;gt; permettent d&#039;avancer/reculer dans le film, la barre d&#039;espace permet &lt;br /&gt;
&lt;br /&gt;
de mettre en pause, &amp;lt;key&amp;gt;/&amp;lt;/key&amp;gt; et &amp;lt;key&amp;gt;*&amp;lt;/key&amp;gt; permettent l&#039;ajustement du volume sonore.&lt;br /&gt;
&lt;br /&gt;
== Utiliser Totem pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
==Problèmes pouvant être rencontrés==&lt;br /&gt;
Le lecteur de DVD se sert du fichier &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; pour savoir quel lecteur utiliser. Si il n&#039;existe pas il faut le créer.&lt;br /&gt;
&lt;br /&gt;
Pour savoir si il existe, taper dans un terminal &amp;lt;code&amp;gt;ls /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
Il affiche &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; si il existe, et il renvoie un message d&#039;erreur sinon.&lt;br /&gt;
===Détection du lecteur, dans un terminal===&lt;br /&gt;
Ouvrir un terminal et taper &amp;lt;code&amp;gt;cat /etc/fstab|grep iso9660&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On devrait obtenir une ligne qui ressemble à ça: &amp;lt;code&amp;gt;/dev/hdb  /mnt/cdrom  iso9660  ro,user,noauto  0  0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hdb&amp;lt;/code&amp;gt; est donc le p&amp;amp;eacute;riph&amp;amp;eacute;rique qui lit les DVD.&lt;br /&gt;
&lt;br /&gt;
taper alors en root &amp;lt;code&amp;gt;ln -s /dev/hdb /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir [[:Admin-admin_fs-fstab|cette fiche]] pour plus d&#039;informations sur le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Utiliser Videolan (VLC) pour lire vos dvd ==&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11727</id>
		<title>Discussion Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11727"/>
		<updated>2006-02-16T00:24:28Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Utilisateur:legranblon|legranblon]]&amp;gt; Je souhaite ajouter une image dans la section mplayer, est-ce possible (en l&#039;hébergeant sur le serveur lea, bien entendu, image faite par moi) ?&lt;br /&gt;
: [[Utilisateur:Fred|Fred]]&amp;gt; oui c&#039;est possible il suffit que tu passes &#039;éditeur&#039; (ce que je fais dans l&#039;instant), ensuite tu utilises la version &#039;admin&#039; de léa : clé anglaise en haut à droite, et tu mets un lien du style :  &amp;lt;nowiki&amp;gt;[[Image:nom de l&#039;image.ext]]&amp;lt;/nowiki&amp;gt; dans la page ou tu veux mettre une image pour obtenir la page de téléchargement&lt;br /&gt;
: : [[Utilisateur:legranblon|legranblon]]&amp;gt; merci fred ;)&lt;br /&gt;
: : : [[Utilisateur:legranblon|legranblon]]&amp;gt; je viens de réaliser que l&#039;image du film peut peut-être être soumise à copyright, comment m&#039;en assurer? En l&#039;occurrence, je n&#039;ai pas fait de reprodution du film, mais j&#039;en ai tiré une image ( mplayer-cli-dvd.png ).&lt;br /&gt;
Ce que [[Utilisateur:Natim|Natim]] avait rédiger convient pour une réponse sur un forum, mais n&#039;est pas du tout valable dans le cadre d&#039;une fiche&lt;br /&gt;
* il faut que la démarche soit donnée pas à pas &lt;br /&gt;
* il faut des copies d&#039;écran (ok, pour ça il faut les droits d&#039;éditeur : mais il les aurait obtenu s&#039;il avait rédigé qqc de conséquent).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; J&#039;ai fait une fiche. Elle est toujours pas mise sur le site. Il y a des choses à améliorer&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; De quelle fiche parles-tu ?&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt;Celle là, &amp;quot;Comment regarder un dvd&amp;quot;&lt;br /&gt;
Elle est toujours en nocache.&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; mais si elle est à jour, elle a juste été renommé en [[Fiches:Lire un DVD]] (ie: la page de l&#039;article de cette discussion).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; Le lien de la page d&#039;accueil des fiches pratiques n&#039;est pas à jour. (la page d&#039;accueil Matériel non plus)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fichier:Mplayer-cli-dvd.png&amp;diff=11726</id>
		<title>Fichier:Mplayer-cli-dvd.png</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fichier:Mplayer-cli-dvd.png&amp;diff=11726"/>
		<updated>2006-02-16T00:18:37Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Copie d&amp;#039;écran montrant mplayer, lancé à partir d&amp;#039;une ligne de commande, lisant un dvd .&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Copie d&#039;écran montrant mplayer, lancé à partir d&#039;une ligne de commande, lisant un dvd .&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11725</id>
		<title>Discussion Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11725"/>
		<updated>2006-02-16T00:06:23Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Utilisateur:legranblon|legranblon]]&amp;gt; Je souhaite ajouter une image dans la section mplayer, est-ce possible (en l&#039;hébergeant sur le serveur lea, bien entendu, image faite par moi) ?&lt;br /&gt;
: [[Utilisateur:Fred|Fred]]&amp;gt; oui c&#039;est possible il suffit que tu passes &#039;éditeur&#039; (ce que je fais dans l&#039;instant), ensuite tu utilises la version &#039;admin&#039; de léa : clé anglaise en haut à droite, et tu mets un lien du style :  &amp;lt;nowiki&amp;gt;[[Image:nom de l&#039;image.ext]]&amp;lt;/nowiki&amp;gt; dans la page ou tu veux mettre une image pour obtenir la page de téléchargement&lt;br /&gt;
: : [[Utilisateur:legranblon|legranblon]]&amp;gt; merci fred ;)&lt;br /&gt;
&lt;br /&gt;
Ce que [[Utilisateur:Natim|Natim]] avait rédiger convient pour une réponse sur un forum, mais n&#039;est pas du tout valable dans le cadre d&#039;une fiche&lt;br /&gt;
* il faut que la démarche soit donnée pas à pas &lt;br /&gt;
* il faut des copies d&#039;écran (ok, pour ça il faut les droits d&#039;éditeur : mais il les aurait obtenu s&#039;il avait rédigé qqc de conséquent).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; J&#039;ai fait une fiche. Elle est toujours pas mise sur le site. Il y a des choses à améliorer&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; De quelle fiche parles-tu ?&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt;Celle là, &amp;quot;Comment regarder un dvd&amp;quot;&lt;br /&gt;
Elle est toujours en nocache.&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; mais si elle est à jour, elle a juste été renommé en [[Fiches:Lire un DVD]] (ie: la page de l&#039;article de cette discussion).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; Le lien de la page d&#039;accueil des fiches pratiques n&#039;est pas à jour. (la page d&#039;accueil Matériel non plus)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11723</id>
		<title>Discussion Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Fiches:Lire_un_DVD&amp;diff=11723"/>
		<updated>2006-02-15T18:05:08Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Utilisateur:legranblon|legranblon]]&amp;gt; Je souhaite ajouter une image dans la section mplayer, est-ce possible (en l&#039;hébergeant sur le serveur lea, bien entendu, image faite par moi) ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce que [[Utilisateur:Natim|Natim]] avait rédiger convient pour une réponse sur un forum, mais n&#039;est pas du tout valable dans le cadre d&#039;une fiche&lt;br /&gt;
* il faut que la démarche soit donnée pas à pas &lt;br /&gt;
* il faut des copies d&#039;écran (ok, pour ça il faut les droits d&#039;éditeur : mais il les aurait obtenu s&#039;il avait rédigé qqc de conséquent).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; J&#039;ai fait une fiche. Elle est toujours pas mise sur le site. Il y a des choses à améliorer&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; De quelle fiche parles-tu ?&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt;Celle là, &amp;quot;Comment regarder un dvd&amp;quot;&lt;br /&gt;
Elle est toujours en nocache.&lt;br /&gt;
&lt;br /&gt;
[[Utilisateur:Fred|Fred]]&amp;gt; mais si elle est à jour, elle a juste été renommé en [[Fiches:Lire un DVD]] (ie: la page de l&#039;article de cette discussion).&lt;br /&gt;
&lt;br /&gt;
pir&amp;gt; Le lien de la page d&#039;accueil des fiches pratiques n&#039;est pas à jour. (la page d&#039;accueil Matériel non plus)&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11638</id>
		<title>Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11638"/>
		<updated>2006-02-09T10:35:06Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Utiliser Videolan (VLC) pour lire vos dvd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimédia]]&lt;br /&gt;
=Lire un dvd=&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Comment regarder un dvd ?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Pierre Renié&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Comment regarder un DVD sous votre système d&#039;exploitation préféré&amp;lt;/div&amp;gt;&lt;br /&gt;
==Prérequis==&lt;br /&gt;
===Programmes installés===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 	&amp;lt;li&amp;gt;Un lecteur de DVD, par exemple &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Libdvdcss&amp;lt;/strong&amp;gt;, qui permet de lire les DVD cryptés. Si cette librairie n&#039;est pas installée, la plupart des DVD seront illisibles. Le paquetage s&#039;appelle généralement &amp;lt;strong&amp;gt;libdvdcss2&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
Remarque: &amp;lt;strong&amp;gt;libdvdcss2-devel&amp;lt;/strong&amp;gt; n&#039;est pas nécessaire.&lt;br /&gt;
	&amp;lt;div class=&#039;aparte&#039;&amp;gt;Les paquetages devel servent à compiler des programmes, c&#039;est pourquoi il n&#039;est pas nécessaire d&#039;installer libdvdcss2-devel.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
pour installer un programme, voir [[:Fiches:Administration-ficheinstall|cette fiche]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Utiliser Xine pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lancer le programme &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;Pour savoir comment lancer un programme, vous pouvez lire [[:Fiches:Administration-fichelaunch|cette fiche]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Le programme se présente comme cela:&lt;br /&gt;
		[[Image:Copie_ecran_xine.png|Copie d&#039;écran Xine]]&lt;br /&gt;
	Appuyer sur &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;G&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; pour faire apparaître ou cacher l&#039;interface.&lt;br /&gt;
&lt;br /&gt;
	La touche &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;F&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; active ou désactive le plein &amp;amp;eacute;cran.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Cliquer sur le bouton &amp;lt;strong&amp;gt;DVD&amp;lt;/strong&amp;gt; et normalement le DVD se lance.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utiliser Mplayer pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
Comme pour Xine, libdvdcss devra être installé pour permettre la lecture des dvd cryptés.&lt;br /&gt;
&lt;br /&gt;
Mplayer en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
Mplayer peut être lancé via tout terminal ( alt-F1 à F6 sur la majeur partie des distributions linux ), émulateur de terminal ( aterm, eterm, konsole, gnome-terminal, xterm,... ), lanceur d&#039;application ( exige, par exemple ).&lt;br /&gt;
&lt;br /&gt;
Sa syntaxe suit le motif suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} {url}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selon ce principe, pour lire un dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le plus souvent, mplayer détecte automatiquement tous les paramètres, seulement, il peut être nécessaire, par exemple, d&#039;indiquer le périphérique de lecture de dvd (cas où /dev/dvd n&#039;existe pas sur votre système)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les personnes souhaitant regarder le film en version anglaise avec des sous-titres en français :&lt;br /&gt;
&lt;br /&gt;
l&#039;option &amp;lt;key&amp;gt;-alang en&amp;lt;/key&amp;gt; spécifie la piste audio anglaise et &amp;lt;key&amp;gt;-slang fr&amp;lt;/key&amp;gt; indique qu&#039;il faut afficher les sous-titre français.&lt;br /&gt;
&lt;br /&gt;
on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda -alang en -slang fr dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les options sont listées et décrites, des exemples sont données dans la page de manuel. Pour rechercher une fois cette page de manuel affichée, taper /{expression} suivi de entrée pour trouver toutes les itérations de cette expression (&amp;lt;key&amp;gt;n&amp;lt;/key&amp;gt; passe à l&#039;occurrence suivante de l&#039;expression)&lt;br /&gt;
&lt;br /&gt;
Si le film à visionner est le chapitre NÂ°2 du dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors : &lt;br /&gt;
&lt;br /&gt;
[[Image:mplayer.png|mplayer est ici lancé dans un xterm]]&lt;br /&gt;
&lt;br /&gt;
j&#039;ai l&#039;image, je ne peux point l&#039;uploader : &amp;quot;vous devez être connecté&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Au cours de la lecture, la touche &amp;lt;key&amp;gt;f&amp;lt;/key&amp;gt; permet l&#039;affichage en plein écran, &amp;lt;key&amp;gt;flèche haut&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche bas&amp;lt;/key&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt;flèche gauche&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche droite&amp;lt;/key&amp;gt; permettent d&#039;avancer/reculer dans le film, la barre d&#039;espace permet &lt;br /&gt;
&lt;br /&gt;
de mettre en pause, &amp;lt;key&amp;gt;/&amp;lt;/key&amp;gt; et &amp;lt;key&amp;gt;*&amp;lt;/key&amp;gt; permettent l&#039;ajustement du volume sonore.&lt;br /&gt;
&lt;br /&gt;
== Utiliser Totem pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
==Problèmes pouvant être rencontrés==&lt;br /&gt;
Le lecteur de DVD se sert du fichier &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; pour savoir quel lecteur utiliser. Si il n&#039;existe pas il faut le créer.&lt;br /&gt;
&lt;br /&gt;
Pour savoir si il existe, taper dans un terminal &amp;lt;code&amp;gt;ls /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
Il affiche &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; si il existe, et il renvoie un message d&#039;erreur sinon.&lt;br /&gt;
===Détection du lecteur, dans un terminal===&lt;br /&gt;
Ouvrir un terminal et taper &amp;lt;code&amp;gt;cat /etc/fstab|grep iso9660&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On devrait obtenir une ligne qui ressemble à ça: &amp;lt;code&amp;gt;/dev/hdb  /mnt/cdrom  iso9660  ro,user,noauto  0  0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hdb&amp;lt;/code&amp;gt; est donc le p&amp;amp;eacute;riph&amp;amp;eacute;rique qui lit les DVD.&lt;br /&gt;
&lt;br /&gt;
taper alors en root &amp;lt;code&amp;gt;ln -s /dev/hdb /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir [[:Admin-admin_fs-fstab|cette fiche]] pour plus d&#039;informations sur le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Utiliser Videolan (VLC) pour lire vos dvd ==&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11637</id>
		<title>Fiches:Lire un DVD</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Fiches:Lire_un_DVD&amp;diff=11637"/>
		<updated>2006-02-09T10:34:10Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Utiliser Mplayer pour lire vos dvd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Multimédia]]&lt;br /&gt;
=Lire un dvd=&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Comment regarder un dvd ?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Pierre Renié&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Comment regarder un DVD sous votre système d&#039;exploitation préféré&amp;lt;/div&amp;gt;&lt;br /&gt;
==Prérequis==&lt;br /&gt;
===Programmes installés===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
 	&amp;lt;li&amp;gt;Un lecteur de DVD, par exemple &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 	&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Libdvdcss&amp;lt;/strong&amp;gt;, qui permet de lire les DVD cryptés. Si cette librairie n&#039;est pas installée, la plupart des DVD seront illisibles. Le paquetage s&#039;appelle généralement &amp;lt;strong&amp;gt;libdvdcss2&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
Remarque: &amp;lt;strong&amp;gt;libdvdcss2-devel&amp;lt;/strong&amp;gt; n&#039;est pas nécessaire.&lt;br /&gt;
	&amp;lt;div class=&#039;aparte&#039;&amp;gt;Les paquetages devel servent à compiler des programmes, c&#039;est pourquoi il n&#039;est pas nécessaire d&#039;installer libdvdcss2-devel.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
pour installer un programme, voir [[:Fiches:Administration-ficheinstall|cette fiche]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Utiliser Xine pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Lancer le programme &amp;lt;strong&amp;gt;Xine&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;Pour savoir comment lancer un programme, vous pouvez lire [[:Fiches:Administration-fichelaunch|cette fiche]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Le programme se présente comme cela:&lt;br /&gt;
		[[Image:Copie_ecran_xine.png|Copie d&#039;écran Xine]]&lt;br /&gt;
	Appuyer sur &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;G&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; pour faire apparaître ou cacher l&#039;interface.&lt;br /&gt;
&lt;br /&gt;
	La touche &amp;lt;strong&amp;gt;[&amp;lt;tt&amp;gt;F&amp;lt;/tt&amp;gt;]&amp;lt;/strong&amp;gt; active ou désactive le plein &amp;amp;eacute;cran.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
	Cliquer sur le bouton &amp;lt;strong&amp;gt;DVD&amp;lt;/strong&amp;gt; et normalement le DVD se lance.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utiliser Mplayer pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
Comme pour Xine, libdvdcss devra être installé pour permettre la lecture des dvd cryptés.&lt;br /&gt;
&lt;br /&gt;
Mplayer en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
Mplayer peut être lancé via tout terminal ( alt-F1 à F6 sur la majeur partie des distributions linux ), émulateur de terminal ( aterm, eterm, konsole, gnome-terminal, xterm,... ), lanceur d&#039;application ( exige, par exemple ).&lt;br /&gt;
&lt;br /&gt;
Sa syntaxe suit le motif suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} {url}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selon ce principe, pour lire un dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -{options} dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le plus souvent, mplayer détecte automatiquement tous les paramètres, seulement, il peut être nécessaire, par exemple, d&#039;indiquer le périphérique de lecture de dvd (cas où /dev/dvd n&#039;existe pas sur votre système)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les personnes souhaitant regarder le film en version anglaise avec des sous-titres en français :&lt;br /&gt;
&lt;br /&gt;
l&#039;option &amp;lt;key&amp;gt;-alang en&amp;lt;/key&amp;gt; spécifie la piste audio anglaise et &amp;lt;key&amp;gt;-slang fr&amp;lt;/key&amp;gt; indique qu&#039;il faut afficher les sous-titre français.&lt;br /&gt;
&lt;br /&gt;
on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda -alang en -slang fr dvd://{numéro de chapitre}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toutes les options sont listées et décrites, des exemples sont données dans la page de manuel. Pour rechercher une fois cette page de manuel affichée, taper /{expression} suivi de entrée pour trouver toutes les itérations de cette expression (&amp;lt;key&amp;gt;n&amp;lt;/key&amp;gt; passe à l&#039;occurrence suivante de l&#039;expression)&lt;br /&gt;
&lt;br /&gt;
Si le film à visionner est le chapitre NÂ°2 du dvd :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&#039;note&#039;&amp;gt;$ mplayer -dvd-device /dev/hda dvd://2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors : &lt;br /&gt;
&lt;br /&gt;
[[Image:mplayer.png|mplayer est ici lancé dans un xterm]]&lt;br /&gt;
&lt;br /&gt;
j&#039;ai l&#039;image, je ne peux point l&#039;uploader : &amp;quot;vous devez être connecté&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Au cours de la lecture, la touche &amp;lt;key&amp;gt;f&amp;lt;/key&amp;gt; permet l&#039;affichage en plein écran, &amp;lt;key&amp;gt;flèche haut&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche bas&amp;lt;/key&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;key&amp;gt;flèche gauche&amp;lt;/key&amp;gt; &amp;lt;key&amp;gt;flèche droite&amp;lt;/key&amp;gt; permettent d&#039;avancer/reculer dans le film, la barre d&#039;espace permet &lt;br /&gt;
&lt;br /&gt;
de mettre en pause, &amp;lt;key&amp;gt;/&amp;lt;/key&amp;gt; et &amp;lt;key&amp;gt;*&amp;lt;/key&amp;gt; permettent l&#039;ajustement du volume sonore.&lt;br /&gt;
&lt;br /&gt;
== Utiliser Totem pour lire vos dvd ==&lt;br /&gt;
&lt;br /&gt;
==Problèmes pouvant être rencontrés==&lt;br /&gt;
Le lecteur de DVD se sert du fichier &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; pour savoir quel lecteur utiliser. Si il n&#039;existe pas il faut le créer.&lt;br /&gt;
&lt;br /&gt;
Pour savoir si il existe, taper dans un terminal &amp;lt;code&amp;gt;ls /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
Il affiche &amp;lt;code&amp;gt;/dev/dvd&amp;lt;/code&amp;gt; si il existe, et il renvoie un message d&#039;erreur sinon.&lt;br /&gt;
===Détection du lecteur, dans un terminal===&lt;br /&gt;
Ouvrir un terminal et taper &amp;lt;code&amp;gt;cat /etc/fstab|grep iso9660&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On devrait obtenir une ligne qui ressemble à ça: &amp;lt;code&amp;gt;/dev/hdb  /mnt/cdrom  iso9660  ro,user,noauto  0  0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hdb&amp;lt;/code&amp;gt; est donc le p&amp;amp;eacute;riph&amp;amp;eacute;rique qui lit les DVD.&lt;br /&gt;
&lt;br /&gt;
taper alors en root &amp;lt;code&amp;gt;ln -s /dev/hdb /dev/dvd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir [[:Admin-admin_fs-fstab|cette fiche]] pour plus d&#039;informations sur le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11413</id>
		<title>Trucs:Supprimer les ^M dans les fichiers ASCII</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11413"/>
		<updated>2006-01-21T11:12:05Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Méthode 7 : Pour ceux qui n&amp;#039;on vraiment pas de bol ;) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;contributeurs léa&amp;lt;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les caractères ^M que l&#039;on peut rencontrer parfois dans les fichiers texte sous Unix proviennent du codage de la fin de ligne, qui diffère selon que le fichier a été édité sur un système Microsoft (CR LF, ou ^M et ^L) ou sur un Unix (LF seul). Les éditeurs de texte qui ne supportent pas le codage à la Microsoft affichent donc ce ^M superflu... Voyons ci-dessous des méthodes pour s&#039;en débarrasser.&lt;br /&gt;
&lt;br /&gt;
==== Méthode 1 ====&lt;br /&gt;
&lt;br /&gt;
Par fp (crontab_at_caramail_point_com)&lt;br /&gt;
&lt;br /&gt;
Voilà enfin un modèle de fichier dos2unix pour ceux qui en cherchaient, Celui - ci est en ksh mais il est sûrement assez simple à adapter au bash...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/ksh &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #********************************************************************* &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# fichier : dos2unix &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# description : Conversion fichier DOS en fichier UNIX &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# (suppression des ctrl M) &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# parametres : &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #********************************************************************* &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# saisie nom de fichier a convertir &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;if [ $# -lt 1 ] &amp;lt;br /&amp;gt;then &amp;lt;br /&amp;gt; read F?&amp;quot;Fichier(s) a convertir :&amp;quot; &amp;lt;br /&amp;gt;else &amp;lt;br /&amp;gt; F=$* &amp;lt;br /&amp;gt;fi &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# traitement fichiers &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;for fic in $F &amp;lt;br /&amp;gt;do &amp;lt;br /&amp;gt; if [ ! -f $fic ] &amp;lt;br /&amp;gt; then &amp;lt;br /&amp;gt; echo $fic n\&#039;est pas un fichier valide &amp;lt;br /&amp;gt; continue &amp;lt;br /&amp;gt; else &amp;lt;br /&amp;gt; typ=`file $fic|grep -i -E &amp;quot;text|shell&amp;quot;` &amp;lt;br /&amp;gt; if [ &amp;quot;${typ}a&amp;quot; = &amp;quot;a&amp;quot; ] &amp;lt;br /&amp;gt; then &amp;lt;br /&amp;gt; echo Fichier $fic Non ASCII &amp;lt;br /&amp;gt; else &amp;lt;br /&amp;gt; tr -d &amp;quot;\015\023&amp;quot; &amp;lt;$fic &amp;gt;${fic}.$$ &amp;lt;br /&amp;gt; # aclget $fic | aclput ${fic}.$$ &amp;lt;br /&amp;gt; mv ${fic}.$$ $fic &amp;lt;br /&amp;gt; echo $fic converti &amp;lt;br /&amp;gt; fi &amp;lt;br /&amp;gt; fi &amp;lt;br /&amp;gt;done &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque&#039;&#039;&#039; (R. LEROY): Pour Debian si vous voulez faire encore plus rapide :&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;apt-get install sysutils&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; puis &amp;lt;code&amp;gt;dos2unix fichier.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 2 ====&lt;br /&gt;
&lt;br /&gt;
Par Jonesy(jonesy_at_wanadoo_point_fr)&lt;br /&gt;
&lt;br /&gt;
Suite au Trucs &amp;amp; Astuces de FP, que je vous invite à consulter, je vous propose une autre méthode afin de supprimer ces sales bêtes.&lt;br /&gt;
&lt;br /&gt;
Avant tout, sachez que le &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt; que vous voyez dans votre fichier texte est la manifestation du retour à la ligne des fichiers sur un système Microsoft Windows. &amp;lt;br /&amp;gt;Sur les Unix-like (Linux, *BSD, Mac OS X, ...) le retour à la ligne est le code ascii 10 (&amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-10&amp;gt;&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt; en hexadécimal), alors que sous un système de Microsoft, le retour à la ligne est l&#039;ensemble des deux codes ascii dans l&#039;ordre : 13 et 10 (&amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-13&amp;gt;&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-10&amp;gt;&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt; en hexadécimal).&lt;br /&gt;
&lt;br /&gt;
Donc pour supprimer ces fameux &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt;, faites comme suit :&lt;br /&gt;
&lt;br /&gt;
Ouvrez votre fichier avec &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt; (ou &amp;lt;code&amp;gt;vim&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gvim&amp;lt;/code&amp;gt;, ...). &amp;lt;br /&amp;gt;Une fois le fichier ouvert, tapez : &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;:%s/&amp;lt;Ctrl-v&amp;gt;&amp;lt;entrée&amp;gt;//g&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour rendre cette manipulation plutot ingrate automatique, faites en une macro ! &amp;lt;br /&amp;gt;Editer votre fichier &amp;lt;code&amp;gt;~/.vimrc&amp;lt;/code&amp;gt; et ajoutez y la ligne suivante : &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;map v :%s/&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;entrée&amp;gt;//g&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;Ensuite, lorsque vous ouvrirez un fichier avec des &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt;, il vous suffira de taper &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;lt;entrée&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette solution a l&#039;avantage de marcher sur tous les systèmes Unix-like, car &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt; (ou un clone) est présent sur tous les systèmes Unix-like.&lt;br /&gt;
&lt;br /&gt;
D&#039;autres solutions possibles :&lt;br /&gt;
&lt;br /&gt;
* Ouvrir le fichier avec un éditeur hexadécimal, comme &amp;lt;code&amp;gt;ghex&amp;lt;/code&amp;gt;, et supprimer tous les &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Lors du tranfert du fichier sur votre système Unix-like, préférez le protocole FTP en mode ascii, si possible.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;NDM: voir aussi la fin de l&#039;[../software/vi.php3 article sur vi].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 3 ====&lt;br /&gt;
&lt;br /&gt;
Par Zeck (zeck_at_netliberte_point_org)&lt;br /&gt;
&lt;br /&gt;
Syntaxe : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;dos2unix srcfile destfile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Où &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; est le script suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; awk &#039;{ sub(&amp;quot;\r$&amp;quot;, &amp;quot;&amp;quot;); print }&#039; $1 &amp;gt; $2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variante, par Manisero (manisero chez freesurf point fr) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cat $1 | tr -d &#039;\r&#039; &amp;gt;$2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 4 ====&lt;br /&gt;
&lt;br /&gt;
Par Arnaud ASSAD (arhuman_at_hotmail_point_com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;perl -pi -e &#039;s/\r//g&#039;&amp;lt;/code&amp;gt; fichieramodifier.extension&lt;br /&gt;
&lt;br /&gt;
Accepte les widlcards :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;perl -pi -e &#039;s/\r//g&#039; *.c&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 5 ====&lt;br /&gt;
&lt;br /&gt;
Par Marcopol (mlebas_at_labeille_point_net)&lt;br /&gt;
&lt;br /&gt;
Voilà un sujet qui inspire beaucoup ici, voici une solution plus conventionelle :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; $ cat mon_fichier.txt | tr -d &#039;\r&#039; &amp;gt; mon_nouveau_fichier.txt &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette solution est une des plus simples, et moins lourde que d&#039;utiliser perl, awk ou d&#039;écrire un script.&lt;br /&gt;
&lt;br /&gt;
==== Méthode 6 ====&lt;br /&gt;
&lt;br /&gt;
Par Rémi Collet&lt;br /&gt;
&lt;br /&gt;
C&#039;est prévu dans vim, en utilisant set fileformat.&lt;br /&gt;
&lt;br /&gt;
Ex : Supression des ^M&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;:set fileformat=unix&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex : Ajout des ^M&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;:set fileformat=dos&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque : il y a même le format Mac.&lt;br /&gt;
[[Catégorie:Trucs_Administration]]&lt;br /&gt;
&lt;br /&gt;
==== Méthode 7 : Pour ceux qui n&#039;on vraiment pas de bol ;) ====&lt;br /&gt;
&lt;br /&gt;
Si d&#039;aventure vous vous retrouvez avec un fichier sur une seule ligne, et qu&#039;au vu des commentaire précédents vous obtenez un fichier vidé de ses &amp;lt;span style=&amp;quot;color:#0000FF;&amp;quot;&amp;gt;^M&amp;lt;/span&amp;gt; mais toujours sur une ligne, reprenez le fichier brut (pas celui dans lequel on ne distingue plus les fins de lignes; autrement dit le fichier sur lequel vous n&#039;avez appliqué aucune des précédentes méthodes) :  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 $ vim lefichierenquestion&lt;br /&gt;
&lt;br /&gt;
une fois sous vim :&lt;br /&gt;
&lt;br /&gt;
 :%s/{ctrl-v}{ctrl-m}/{ctrl-v}{entrée}/g&lt;br /&gt;
&lt;br /&gt;
et voilà!&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11412</id>
		<title>Discussion Trucs:Supprimer les ^M dans les fichiers ASCII</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11412"/>
		<updated>2006-01-21T11:04:16Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11411</id>
		<title>Trucs:Supprimer les ^M dans les fichiers ASCII</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11411"/>
		<updated>2006-01-21T11:03:35Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Méthode 7 : Pour ceux qui n&amp;#039;on vraiment pas de bol ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;contributeurs léa&amp;lt;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les caractères ^M que l&#039;on peut rencontrer parfois dans les fichiers texte sous Unix proviennent du codage de la fin de ligne, qui diffère selon que le fichier a été édité sur un système Microsoft (CR LF, ou ^M et ^L) ou sur un Unix (LF seul). Les éditeurs de texte qui ne supportent pas le codage à la Microsoft affichent donc ce ^M superflu... Voyons ci-dessous des méthodes pour s&#039;en débarrasser.&lt;br /&gt;
&lt;br /&gt;
==== Méthode 1 ====&lt;br /&gt;
&lt;br /&gt;
Par fp (crontab_at_caramail_point_com)&lt;br /&gt;
&lt;br /&gt;
Voilà enfin un modèle de fichier dos2unix pour ceux qui en cherchaient, Celui - ci est en ksh mais il est sûrement assez simple à adapter au bash...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/ksh &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #********************************************************************* &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# fichier : dos2unix &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# description : Conversion fichier DOS en fichier UNIX &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# (suppression des ctrl M) &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# parametres : &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #********************************************************************* &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# saisie nom de fichier a convertir &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;if [ $# -lt 1 ] &amp;lt;br /&amp;gt;then &amp;lt;br /&amp;gt; read F?&amp;quot;Fichier(s) a convertir :&amp;quot; &amp;lt;br /&amp;gt;else &amp;lt;br /&amp;gt; F=$* &amp;lt;br /&amp;gt;fi &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# traitement fichiers &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;for fic in $F &amp;lt;br /&amp;gt;do &amp;lt;br /&amp;gt; if [ ! -f $fic ] &amp;lt;br /&amp;gt; then &amp;lt;br /&amp;gt; echo $fic n\&#039;est pas un fichier valide &amp;lt;br /&amp;gt; continue &amp;lt;br /&amp;gt; else &amp;lt;br /&amp;gt; typ=`file $fic|grep -i -E &amp;quot;text|shell&amp;quot;` &amp;lt;br /&amp;gt; if [ &amp;quot;${typ}a&amp;quot; = &amp;quot;a&amp;quot; ] &amp;lt;br /&amp;gt; then &amp;lt;br /&amp;gt; echo Fichier $fic Non ASCII &amp;lt;br /&amp;gt; else &amp;lt;br /&amp;gt; tr -d &amp;quot;\015\023&amp;quot; &amp;lt;$fic &amp;gt;${fic}.$$ &amp;lt;br /&amp;gt; # aclget $fic | aclput ${fic}.$$ &amp;lt;br /&amp;gt; mv ${fic}.$$ $fic &amp;lt;br /&amp;gt; echo $fic converti &amp;lt;br /&amp;gt; fi &amp;lt;br /&amp;gt; fi &amp;lt;br /&amp;gt;done &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque&#039;&#039;&#039; (R. LEROY): Pour Debian si vous voulez faire encore plus rapide :&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;apt-get install sysutils&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt; puis &amp;lt;code&amp;gt;dos2unix fichier.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 2 ====&lt;br /&gt;
&lt;br /&gt;
Par Jonesy(jonesy_at_wanadoo_point_fr)&lt;br /&gt;
&lt;br /&gt;
Suite au Trucs &amp;amp; Astuces de FP, que je vous invite à consulter, je vous propose une autre méthode afin de supprimer ces sales bêtes.&lt;br /&gt;
&lt;br /&gt;
Avant tout, sachez que le &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt; que vous voyez dans votre fichier texte est la manifestation du retour à la ligne des fichiers sur un système Microsoft Windows. &amp;lt;br /&amp;gt;Sur les Unix-like (Linux, *BSD, Mac OS X, ...) le retour à la ligne est le code ascii 10 (&amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-10&amp;gt;&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt; en hexadécimal), alors que sous un système de Microsoft, le retour à la ligne est l&#039;ensemble des deux codes ascii dans l&#039;ordre : 13 et 10 (&amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-13&amp;gt;&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;lt;Ctrl-Alt-10&amp;gt;&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt; en hexadécimal).&lt;br /&gt;
&lt;br /&gt;
Donc pour supprimer ces fameux &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt;, faites comme suit :&lt;br /&gt;
&lt;br /&gt;
Ouvrez votre fichier avec &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt; (ou &amp;lt;code&amp;gt;vim&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gvim&amp;lt;/code&amp;gt;, ...). &amp;lt;br /&amp;gt;Une fois le fichier ouvert, tapez : &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;:%s/&amp;lt;Ctrl-v&amp;gt;&amp;lt;entrée&amp;gt;//g&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Pour rendre cette manipulation plutot ingrate automatique, faites en une macro ! &amp;lt;br /&amp;gt;Editer votre fichier &amp;lt;code&amp;gt;~/.vimrc&amp;lt;/code&amp;gt; et ajoutez y la ligne suivante : &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;map v :%s/&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;Ctrl-v&amp;gt;&amp;lt;entrée&amp;gt;//g&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;Ensuite, lorsque vous ouvrirez un fichier avec des &amp;lt;code&amp;gt;^M&amp;lt;/code&amp;gt;, il vous suffira de taper &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;lt;entrée&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette solution a l&#039;avantage de marcher sur tous les systèmes Unix-like, car &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt; (ou un clone) est présent sur tous les systèmes Unix-like.&lt;br /&gt;
&lt;br /&gt;
D&#039;autres solutions possibles :&lt;br /&gt;
&lt;br /&gt;
* Ouvrir le fichier avec un éditeur hexadécimal, comme &amp;lt;code&amp;gt;ghex&amp;lt;/code&amp;gt;, et supprimer tous les &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Lors du tranfert du fichier sur votre système Unix-like, préférez le protocole FTP en mode ascii, si possible.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;NDM: voir aussi la fin de l&#039;[../software/vi.php3 article sur vi].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 3 ====&lt;br /&gt;
&lt;br /&gt;
Par Zeck (zeck_at_netliberte_point_org)&lt;br /&gt;
&lt;br /&gt;
Syntaxe : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;dos2unix srcfile destfile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Où &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;dos2unix&amp;lt;/span&amp;gt; est le script suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; awk &#039;{ sub(&amp;quot;\r$&amp;quot;, &amp;quot;&amp;quot;); print }&#039; $1 &amp;gt; $2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variante, par Manisero (manisero chez freesurf point fr) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; cat $1 | tr -d &#039;\r&#039; &amp;gt;$2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 4 ====&lt;br /&gt;
&lt;br /&gt;
Par Arnaud ASSAD (arhuman_at_hotmail_point_com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;perl -pi -e &#039;s/\r//g&#039;&amp;lt;/code&amp;gt; fichieramodifier.extension&lt;br /&gt;
&lt;br /&gt;
Accepte les widlcards :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;perl -pi -e &#039;s/\r//g&#039; *.c&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Méthode 5 ====&lt;br /&gt;
&lt;br /&gt;
Par Marcopol (mlebas_at_labeille_point_net)&lt;br /&gt;
&lt;br /&gt;
Voilà un sujet qui inspire beaucoup ici, voici une solution plus conventionelle :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; $ cat mon_fichier.txt | tr -d &#039;\r&#039; &amp;gt; mon_nouveau_fichier.txt &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette solution est une des plus simples, et moins lourde que d&#039;utiliser perl, awk ou d&#039;écrire un script.&lt;br /&gt;
&lt;br /&gt;
==== Méthode 6 ====&lt;br /&gt;
&lt;br /&gt;
Par Rémi Collet&lt;br /&gt;
&lt;br /&gt;
C&#039;est prévu dans vim, en utilisant set fileformat.&lt;br /&gt;
&lt;br /&gt;
Ex : Supression des ^M&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;:set fileformat=unix&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ex : Ajout des ^M&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;:set fileformat=dos&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque : il y a même le format Mac.&lt;br /&gt;
[[Catégorie:Trucs_Administration]]&lt;br /&gt;
&lt;br /&gt;
== Méthode 7 : Pour ceux qui n&#039;on vraiment pas de bol ;) ==&lt;br /&gt;
&lt;br /&gt;
Si d&#039;aventure vous vous retrouvez avec un fichier sur une seule ligne, et qu&#039;au vu des commentaire précédents vous obtenez un fichier vidé de ses &amp;lt;span style=&amp;quot;color:#0000FF;&amp;quot;&amp;gt;^M&amp;lt;/span&amp;gt; mais toujours sur une ligne, reprenez le fichier brut (pas celui dans lequel on ne distingue plus les fins de lignes; autrement dit le fichier sur lequel vous n&#039;avez appliqué aucune des précédentes méthodes) :  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 $ vim lefichierenquestion&lt;br /&gt;
&lt;br /&gt;
une fois sous vim :&lt;br /&gt;
&lt;br /&gt;
 :%s/{ctrl-v}{ctrl-m}/{ctrl-v}{entrée}/g&lt;br /&gt;
&lt;br /&gt;
et voilà!&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11277</id>
		<title>Discussion Trucs:Supprimer les ^M dans les fichiers ASCII</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII&amp;diff=11277"/>
		<updated>2006-01-05T14:24:30Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : Pour ceux qui n&amp;#039;on vraiment pas de bol ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pour ceux qui n&#039;on vraiment pas de bol ;) ==&lt;br /&gt;
&lt;br /&gt;
Si d&#039;aventure vous vous retrouvez avec un fichier sur une seule ligne, et qu&#039;au vu des commentaire précédents vous obtenez un fichier vidé de ses &amp;lt;span style=&amp;quot;color:#0000FF;&amp;quot;&amp;gt;^M&amp;lt;/span&amp;gt; mais toujours sur une ligne, reprenez le bichier brut (pas celui dans lequel on ne distingue plus les fins de lignes, autrement dit le fichier sur lequel vous n&#039;avez appliqué aucune des précédentes méthodes) :  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 $ vim lefichierenquestion&lt;br /&gt;
&lt;br /&gt;
une fois sous vim :&lt;br /&gt;
&lt;br /&gt;
 :%s/{ctrl-v}{ctrl-m}/{ctrl-v}{entrée}/g&lt;br /&gt;
&lt;br /&gt;
et voilà!&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utiliser_groff&amp;diff=11092</id>
		<title>Utiliser groff</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utiliser_groff&amp;diff=11092"/>
		<updated>2005-12-10T17:51:38Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Un exemple ! un example ! un exemple... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Comme Monsieur Jourdain fait de la prose, la plupart des nouveaux utilisateurs et utilisatrices de notre OS libre préféré utilisent un puissant outil de formatage et génération de documents. Cet outil a tendance à se faire oublier, tellement il est discrêt malgré sa participation vitale au quotidien de tout utilisateur ou utilisatrice, et cela concerne même les plus chevronné(e)s. Cet outil, c&#039;est &amp;lt;code&amp;gt;groff&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Que peut-on faire avec groff ? ==&lt;br /&gt;
&lt;br /&gt;
La commande &#039;&#039;&#039;groff&#039;&#039;&#039; permet à partir d&#039;une même source de :&lt;br /&gt;
&lt;br /&gt;
* générer des documents mis en page : livre, lettre, documentation, rapport...etc.&lt;br /&gt;
* créer des images de ces documents en format : postscript, man (Latin 1 formatés), html, dvi, Textes (Latin1 formatés)...&lt;br /&gt;
&lt;br /&gt;
== Quelles sont ses origines ? ==&lt;br /&gt;
&lt;br /&gt;
Au départ, cet environnement de formatage de documents appelé &#039;&#039;&#039;troff&#039;&#039;&#039; a été développé en assembleur par Joe Ossanna vers 1973, pour piloter une imprimante graphique (Graphic System CAT Typesetter) branchée sur un bon vieux PDP-11. Il fut porté en C vers 1975, mais malheureusement, Joe Ossanna décède en 1977.&lt;br /&gt;
&lt;br /&gt;
C&#039;est le célèbre Brian Kernighan qui reprend le flambeau en 1979 et modifie &#039;&#039;&#039;troff&#039;&#039;&#039; afin de le rendre compatible avec d&#039;autres formats de sortie. de 1979 à 1989, les sources de &#039;&#039;&#039;troff&#039;&#039;&#039; ont été modestement retouchées de manière à laisser la quasie totalité du code intacte en mémoire de Joe Ossanna. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;groff&#039;&#039;&#039; est donc en quelque sorte une oeuvre postume  trouvant ses d&#039;origines à quelques pas de l&#039;OS &#039;&#039;&#039;UNIX&#039;&#039;&#039;. Cet utilitaire extrèmement efficace est aujourd&#039;hui porté sur les systèmes d&#039;exploitations les plus novateurs tels que &#039;&#039;&#039;plan 9&#039;&#039;&#039;, &#039;&#039;&#039;inferno&#039;&#039;&#039; ou encore &#039;&#039;&#039;Amoeba&#039;&#039;&#039;.&lt;br /&gt;
Dans ces différents portages, il se fait parfois appeler &#039;&#039;&#039;roff&#039;&#039;&#039;, &#039;&#039;&#039;nroff&#039;&#039;&#039;, &#039;&#039;&#039;troff&#039;&#039;&#039;, mais est toujours présent sur tout système de philosophie UNIX.&lt;br /&gt;
&lt;br /&gt;
Il présente parfois de légères différences selon les spécificités des plateformes afin d&#039;en tirer le meilleur parti, mais semble toujours compatible car les développeurs d&#039;environnement ont prévu des équivalences afin de toujours pourvoir générer des documents propores.&lt;br /&gt;
Même &#039;&#039;&#039;MINIX&#039;&#039;&#039; célèbre petit OS didactique développé par Andrew Tenenbaum (MINIX mais il fait le maximum...) dispose de cette commande !&lt;br /&gt;
&lt;br /&gt;
== Les forces et faiblesses de groff ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forces :&#039;&#039;&#039;&lt;br /&gt;
*Très rapide à assimiler comparé a son &#039;grand frêre&#039; &#039;&#039;&#039;L&amp;lt;sup&amp;gt;A&amp;lt;/sup&amp;gt;T&amp;lt;sub&amp;gt;E&amp;lt;/sub&amp;gt;X&#039;&#039;&#039;.&lt;br /&gt;
*Grande robustesse et génération toujours fidèle aux attentes de l&#039;utilisateur.&lt;br /&gt;
*Très léger, il permet un traitement rapide des informations même sur des petites configurations ne *disposant pas d&#039;une interface X-Windows.&lt;br /&gt;
*Personnalisable&lt;br /&gt;
&#039;&#039;&#039;Faiblesses :&#039;&#039;&#039;(il en faut bien pour rester objectif)&lt;br /&gt;
*Son langage macro est un peu rébarbatif (mais après un petit effort, il devient vite familier).&lt;br /&gt;
*Un peut plus rigide que &#039;&#039;&#039;L&amp;lt;sup&amp;gt;A&amp;lt;/sup&amp;gt;T&amp;lt;sub&amp;gt;E&amp;lt;/sub&amp;gt;X&#039;&#039;&#039; losque l&#039;on souhaite personnaliser un document.&lt;br /&gt;
*Peu de documentations sont disponibles étant donné son grand age.&lt;br /&gt;
&lt;br /&gt;
== Un exemple ! un exemple ! un exemple... ==&lt;br /&gt;
&lt;br /&gt;
Comme mentionné précédemment, &#039;&#039;&#039;groff&#039;&#039;&#039; est présent sur votre ordinateur, et vous disposez déjà d&#039;exemples sources ! Il vous suffit par exemple d&#039;ouvrir un fichier de type man, pour cela, il vous suffit de choisir un petit exemple parmis les centaines de documentations man.&lt;br /&gt;
&lt;br /&gt;
=== Comment procéder ? ===&lt;br /&gt;
# Trouver l&#039;emplacement des sources des fichiers de documentations du système.&lt;br /&gt;
# Copier une commande dans votre répertoire de travail habituel.&lt;br /&gt;
# Décompresser le fichier.&lt;br /&gt;
# Ouvrir le fichier dans votre édteur de texte habituel.&lt;br /&gt;
# Contempler...&lt;br /&gt;
&lt;br /&gt;
==== En pratique ====&lt;br /&gt;
Bien que je sois persuadé que la plupart d&#039;entre-vous ont directement &amp;quot;switché&amp;quot; en mode console et sont déjà en train de tripatouiller un fichier juste pour voir, je vous donne ici les grandes directions qui vous permettrons de trouver ces fichiers.&lt;br /&gt;
==== Trouver les fichiers sources man ====&lt;br /&gt;
Vous pouvez les chercher à la main, en changeant de répertoire. Généralement, on les trouve dans les parages de &amp;lt;tt&amp;gt;/usr/man&amp;lt;/tt&amp;gt; ou encore &amp;lt;tt&amp;gt;/usr/share/man&amp;lt;/tt&amp;gt; ou encore &amp;lt;tt&amp;gt;/usr/local/man&amp;lt;/tt&amp;gt; et bien d&#039;autres endroits. &lt;br /&gt;
&lt;br /&gt;
Choisissez un répertoire parmi &#039;&#039;man1&#039;&#039;,&#039;&#039;man2&#039;&#039;,...,&#039;&#039;mann&#039;&#039; situés dans le répertoire &#039;&#039;/.../man/&#039;&#039; ou &#039;&#039;/.../man/fr/&#039;&#039;.&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#ls -l /usr/share/man&lt;br /&gt;
total 300&lt;br /&gt;
drwxr-xr-x   4 root root   4096 aoû 17 20:12 bg&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:26 cat1&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:26 cat5&lt;br /&gt;
drwxr-xr-x   5 root root   4096 aoû 17 20:12 cs&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x  11 root man    4096 aoû 17 20:16 fr&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x   2 root root  40960 nov 16 22:51 man1&lt;br /&gt;
drwxr-xr-x   2 root root   4096 jan  5  2004 man2&lt;br /&gt;
drwxr-xr-x   2 root root 114688 nov  8 08:47 man3&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 18 14:23 man4&lt;br /&gt;
drwxr-xr-x   2 root root   8192 nov 16 22:51 man5&lt;br /&gt;
drwxr-xr-x   2 root root   4096 aoû 17 20:20 man6&lt;br /&gt;
drwxr-xr-x   2 root root   4096 oct 20 18:20 man7&lt;br /&gt;
drwxr-xr-x   2 root root  12288 nov  2 15:07 man8&lt;br /&gt;
drwxr-xr-x   2 root root   4096 jan  5  2004 man9&lt;br /&gt;
drwxr-xr-x   2 root root   8192 aoû 17 20:29 mann&lt;br /&gt;
drwxr-xr-x   5 root root   4096 aoû 17 20:12 nl&lt;br /&gt;
...&lt;br /&gt;
drwxr-xr-x   4 root root   4096 aoû 17 20:12 sl&lt;br /&gt;
drwxr-xr-x   3 root root   4096 aoû 17 20:10 uk&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En listant le répertoire désiré on obtient donc la liste des commades :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#ls -l /usr/share/man/fr/man1/&lt;br /&gt;
total 4036&lt;br /&gt;
-rw-r--r--  1 root man    962 jan 31  1999 3ds2m.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man    967 jul 03  1999 3dsdump.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man   1641 jun 13  2001 9wm.1.bz2&lt;br /&gt;
...&lt;br /&gt;
-rw-r--r--  1 root man   6531 aoû 10  2003 ls.1.bz2 &amp;lt;-------- On va copier ce fichier dans le répertoire $HOME&lt;br /&gt;
...&lt;br /&gt;
-rw-r--r--  1 root man   2251 apr 08  1989 zmore.1.bz2&lt;br /&gt;
-rw-r--r--  1 root man    751 apr 08  1989 znew.1.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin on peut copier le fichier et le décompresser :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
[mujma@localhost]#cp /usr/share/man/fr/man1/ls.1.bz2 $HOME&lt;br /&gt;
[mujma@localhost]#bunzip2 ls.1.bz2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Ouvrir un exemple ====&lt;br /&gt;
Enfin, si on ouvre ce fichier dans un éditeur de texte on obtient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code multi&amp;gt;&lt;br /&gt;
.\&amp;quot; Traduction 19/12/1996 par Christophe Blaess (ccb@club-internet.fr)&lt;br /&gt;
.\&amp;quot; màj 04/01/1999 - LDP man-pages 1.22&lt;br /&gt;
.\&amp;quot; màj 03/01/2000&lt;br /&gt;
.\&amp;quot; màj 26/06/2000 - LDP man-pages 1.30&lt;br /&gt;
.\&amp;quot; màj 30/05/2001 - LDP man-pages 1.36&lt;br /&gt;
.\&amp;quot; màj 22/10/2002 - LDP man-pages 1.53&lt;br /&gt;
.\&amp;quot; MàJ 25/07/2003 LDP-1.56&lt;br /&gt;
.TH LS 1L &amp;quot;25 juillet 2003&amp;quot; LDP &amp;quot;Manuel de l&#039;utilisateur Linux&amp;quot;&lt;br /&gt;
.SH NOM&lt;br /&gt;
ls, dir, vdir \- Afficher le contenu d&#039;un répertoire.&lt;br /&gt;
.SH SYNOPSIS&lt;br /&gt;
.BI &amp;quot;ls [&amp;quot; options &amp;quot;] [&amp;quot; fichier... ]&lt;br /&gt;
.br&lt;br /&gt;
.BI &amp;quot;dir [&amp;quot; fichier... ]&lt;br /&gt;
.br&lt;br /&gt;
.BI &amp;quot;vdir [&amp;quot; fichier... ]&lt;br /&gt;
.sp&lt;br /&gt;
Options POSIX :&lt;br /&gt;
.BI &amp;quot;[\-CFRacdilqrtu1] [\-\-]&amp;quot;&lt;br /&gt;
.sp&lt;br /&gt;
Options GNU (forme courte) :&lt;br /&gt;
.B [\-1abcdfgiklmnopqrstuvwxABCDFGHLNQRSUX]&lt;br /&gt;
.BI &amp;quot;[\-w &amp;quot; cols ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette page documente la version de&lt;br /&gt;
.B ls&lt;br /&gt;
du paquetage fileutils-4.0. D&#039;autres versions peuvent diverger légèrement.&lt;br /&gt;
 &lt;br /&gt;
.SH TRADUCTION&lt;br /&gt;
Christophe Blaess, 1996-2003.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Faire un petit tour de groff ====&lt;br /&gt;
Avant de réellement comprendre la signification des codes étranges et barbares parfois situés en début de ligne, je vous invite maintenant à quitter votre éditeur pour rejoindre votre console.&lt;br /&gt;
&lt;br /&gt;
Nous allons maintenant faire quelques manipulations pratique sur le fichier ls.1 que nous avons recopier tout dernièrement dans notre répertoire de travail habituel.&lt;br /&gt;
&lt;br /&gt;
Tapez la commande suivante :&lt;br /&gt;
&amp;lt;code&amp;gt;[mujma@localhost]#groff -Tps -man ls.1 &amp;gt; ls.1.ps&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si groff est correctement installé (et il y a 99,9% de chances qu&#039;il le soit), vous devriez voir apparaître le fichier &amp;lt;tt&amp;gt;ls.1.ps&amp;lt;/tt&amp;gt; dans le répertoire courant.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez le visualiser avec n&#039;importe quel afficheur postscript.&lt;br /&gt;
&lt;br /&gt;
Maintenant nous allons faire encore plus fort ! Pour cela tapez la commande :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[mujma@localhost]#groff -Thtml -man ls.1 &amp;gt; ls.1.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De manière identique à la commande précédente, vous venez de générer un fichier html. Ouvrez-le vite... Oui, c&#039;est bien la documentation au format html.&lt;br /&gt;
Vous pouvez procéder ainsi avec toutes les pages de manuel linux !&lt;br /&gt;
En fait, groff est un préprocesseur. Il permet de générer les formats suivants à partir d&#039;une seule source :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;dvi&#039;&#039;&#039; :  Pour ceux qui connaissent, c&#039;est le format TeX/LaTeX DVI.&lt;br /&gt;
; &#039;&#039;&#039;html&#039;&#039;&#039; : c&#039;est le format bien connu dont le nom signifie Hyper Text Markup Language et non, contrairement à ce que certains sous entendent parfois Hautes Technologies Mais Limitées.&lt;br /&gt;
; &#039;&#039;&#039;lbp&#039;&#039;&#039; : Format CAPSL pour les imprimantes laser Canon de type lbp-4 ou lpb-8.&lt;br /&gt;
; &#039;&#039;&#039;lj4&#039;&#039;&#039; : Format PCL5 pour imprimantes HP et compatibles.&lt;br /&gt;
; &#039;&#039;&#039;ps&#039;&#039;&#039; : Du vrai postscript bien de chez nous !&lt;br /&gt;
; &#039;&#039;&#039;ascii&#039;&#039;&#039; : C&#039;est le format ASCII 7-Bits, je le testerai peut-être cet hiver s&#039;il y a de la neige.&lt;br /&gt;
; &#039;&#039;&#039;cp1047&#039;&#039;&#039; : Historiquement destiné à certains serveurs internet et autres mainframes qui n&#039;ont toujours pas étés concurrencés par un certain Bill G. qui impose au monde le cp1250 dans les clicodrômes vitrés depuis la version nonante cinq , mais aussi langage natif de l&#039;imprimante qui vous sert peut-être aujourd&#039;hui de bac à fleurs, ce format implémente le jeux de caractères latin-1 en EBCDIC.&lt;br /&gt;
; &#039;&#039;&#039;latin1&#039;&#039;&#039; : C&#039;est le jeu de caractères ISO 8859-1 utilisé par exemple pour afficher des symboles mystérieux appartenant à l&#039;obscur langage qu&#039;étaient le François et le Français. On notera au passage qu&#039;il offre aussi l&#039;avantage d&#039;afficher des messages en &amp;quot;verlan&amp;quot; et en &amp;quot;nique ta m...&amp;quot; ou encore &amp;quot;nique ta r...&amp;quot; dialectes évolués de notre époque concurrençant le &amp;quot;slang&amp;quot; parlé dans les prisons anglo-saxonnes.&lt;br /&gt;
; &#039;&#039;&#039;utf8&#039;&#039;&#039; : C&#039;est le jeu de caractères Unicode UTF-8, similaire à celui du bios de votre machine.&lt;br /&gt;
&lt;br /&gt;
== groff et ses environnements ==&lt;br /&gt;
&lt;br /&gt;
Si l&#039;on se réfère à l&#039;invocation de &#039;&#039;&#039;groff&#039;&#039;&#039; dans l&#039;exemple précédent, groff est invoqué avec 3 paramètres en ligne de commande.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;groff -Thtml -m man ls.1 &amp;gt; ls.1.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
de manière plus générale on peut invoquer groff de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;groff -T&#039;&amp;lt;format_sortie&amp;gt;&#039; -m &#039;&amp;lt;format_entrée&amp;gt;&#039; &amp;gt; ls.1.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&amp;lt;format_sortie&amp;gt;&#039; correspond aux formats de sorties évoqués précédemment.&lt;br /&gt;
&lt;br /&gt;
&#039;&amp;lt;format_entrée&amp;gt;&#039; correspond au format utilisé pour écrire le source.&lt;br /&gt;
&lt;br /&gt;
Pour groff un format de sortie ou un format d&#039;entrée n&#039;est ni plus ni moins qu&#039;un ensemble de macros correspondant à des environnements.&lt;br /&gt;
&lt;br /&gt;
On trouve généralement les environnements (ou format d&#039;entrée) suivants avec le paquet groff :&lt;br /&gt;
&lt;br /&gt;
Les environnement macro dédiés au système de documentation :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;man&#039;&#039;&#039; : format traditionnel des pages de manuel.&lt;br /&gt;
; &#039;&#039;&#039;mdoc&#039;&#039;&#039; : format BSD des pages de manuel.&lt;br /&gt;
; &#039;&#039;&#039;mandoc&#039;&#039;&#039; : cet environnement encapsule man et mdoc et permet de reconnaître le format du fichier d&#039;origine automatiquement.&lt;br /&gt;
&lt;br /&gt;
Pour des documents plus courants :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;me&#039;&#039;&#039;, &#039;&#039;&#039;mm&#039;&#039;&#039; et &#039;&#039;&#039;ms&#039;&#039;&#039; : des environnements de génération de documents plus classiques (livres, rapports...).&lt;br /&gt;
&lt;br /&gt;
Pour générer des pages Web :&lt;br /&gt;
&lt;br /&gt;
; &#039;&#039;&#039;www&#039;&#039;&#039; : pour générer des documents &#039;HTML&#039;.&lt;br /&gt;
&lt;br /&gt;
== Où peut-on trouver des informations sur groff ==&lt;br /&gt;
&lt;br /&gt;
Les sites suivants vous apporterons diverses ressources pour &#039;&#039;&#039;groff&#039;&#039;&#039;:&lt;br /&gt;
* http://www.gnu.org/software/groff/groff.html&lt;br /&gt;
* http://www.troff.org/&lt;br /&gt;
* http://www.kohala.com/start/troff/troff.html&lt;br /&gt;
&lt;br /&gt;
{{Copy|2005|Marc UJMA|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=10609</id>
		<title>Discussion utilisateur:Legranblon</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Legranblon&amp;diff=10609"/>
		<updated>2005-11-13T15:18:48Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plait-il?&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Gestion_des_ACL&amp;diff=9908</id>
		<title>Gestion des ACL</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Gestion_des_ACL&amp;diff=9908"/>
		<updated>2005-10-25T13:43:22Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Noyau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Catégorie:Administration_système]]&lt;br /&gt;
&amp;lt;cadre type=&amp;quot;note&amp;quot;&amp;gt;Cet article vise à expliquer la mise en place et l&#039;utilisation fondamentale des ACL sur une machine et non la théorie les concernant.&amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un &#039;&#039;&#039;ACL&#039;&#039;&#039;, ou &#039;&#039;Access Control List&#039;&#039; (en anglais : « liste de contrôle d&#039;accès ») est, pour définir simplement la notion, une liste de [[Admin-admin env-permissions|permission]]s sur un fichier, un répertoire ou une arborescence, ajoutée aux permissions classiques de ce fichier. Ces permissions concernent des utilisateurs et/ou des groupes définis. Les ACL sont conformes aux normes POSIX.&lt;br /&gt;
&lt;br /&gt;
Au moyen des ACL, on peut donc étendre le nombre d&#039;utilisateurs et de groupes ayant des droits sur un même fichier. Rappelons que, dans le monde UNIX, chaque fichier ne peut normalement indiquer des permissions que pour &#039;&#039;un seul utilisateur&#039;&#039; et &#039;&#039;un seul groupe&#039;&#039;, qui s&#039;opposent à une unique catégorie correspondant à « tous les autres ». Avec les ACL, on peut (entre autres) ajouter à un fichier d&#039;autres utilisateurs et groupes et définir leurs droits séparément. On se rapproche ainsi du système de permissions pratiqué sur les plate-formes NT.&lt;br /&gt;
&lt;br /&gt;
Les ACL sont très utiles (voire indispensables) dans des environnements informatiques axés sur le travail collaboratif et mutualisé ; de même, leur utilisation avec [[Reseau-partfic-samba|SAMBA]] permet d&#039;en étendre les capacités.&lt;br /&gt;
&lt;br /&gt;
==Exemple pratique==&lt;br /&gt;
Soit un fichier &#039;&#039;/var/www/index.php&#039;&#039; (page d&#039;index d&#039;un site web, par exemple) dont les droits sont les suivants :&lt;br /&gt;
&amp;lt;code&amp;gt;$ ls -l /var/www/index.php&lt;br /&gt;
-rw-r-----  1 root www-data 18 2005-09-11 11:24 /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
En d&#039;autres termes, root en est le propriétaire ; il peut le lire et le modifier ; le fichier est aussi accordé au groupe &#039;&#039;www-data&#039;&#039; (celui sous lequel, par exemple, tourne le [[Reseau-web-Apache PHP MySQL|serveur web]]), dont les membres peuvent le lire mais pas le modifier. Quant au reste du monde, il ne peut pas y accéder (le fichier contient des informations confidentielles telles qu&#039;un mot de passe à une base de données [[Reseau-web-Apache PHP MySQL|MySQL]]).&lt;br /&gt;
&lt;br /&gt;
Imaginons qu&#039;on veuille rendre le fichier accessible en lecture aux utilisateurs Jean et Luce, en lecture et écriture à Khadija et Alice. On pourrait à la rigueur faire entrer Jean et Luce dans le groupe &#039;&#039;www-data&#039;&#039; mais cela introduirait une faille de sécurité car &#039;&#039;www-data&#039;&#039; peut accéder à des données qui ne les concernent pas. Il n&#039;est en tout cas rationnellement pas prudent d&#039;ajouter Khadija et Alice au groupe &#039;&#039;root&#039;&#039;. On ne peut non plus changer les permissions (en lecture et écriture pour tout le monde) ou modifier le propriétaire et le groupe.&lt;br /&gt;
&lt;br /&gt;
Les ACL sont là une solution pratique et facile à gérer dans ce cas ; il suffit d&#039;ajouter des permissions à l&#039;ACL du fichier (grâce à des commandes décrites plus bas) pour qu&#039;il se présente ainsi :  &lt;br /&gt;
&amp;lt;code&amp;gt;root: -rw&lt;br /&gt;
www-data: -r-&lt;br /&gt;
Khadija: -rw&lt;br /&gt;
Alice: -rw&lt;br /&gt;
Jean: -r-&lt;br /&gt;
Luce: -r-&lt;br /&gt;
reste du monde : ---&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mise en place==&lt;br /&gt;
Selon la version du noyau utilisée, le support des ACL peut ou non être déjà compilé. S&#039;il l&#039;est, il faut aussi que la partition contenant les fichiers dont on veut étendre les droits soit montée avec l&#039;option idoine.&lt;br /&gt;
&lt;br /&gt;
===Noyau===&lt;br /&gt;
Il faut d&#039;abord savoir si le noyau a été compilé avec le support des ACL. Le plus simple est de le vérifier dans le fichier de configuration du noyau, fichier normalement situé sous &#039;&#039;/boot&#039;&#039;. Pour ce faire, utiliser la commande &#039;&#039;grep&#039;&#039; : &lt;br /&gt;
&amp;lt;code&amp;gt;$ grep ACL /boot/config-version-du-noyau&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Elle doit renvoyer la ligne suivante : &lt;br /&gt;
&amp;lt;code&amp;gt;CONFIG_FS_POSIX_ACL=y&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
pour signaler que le support général des ACL est présent, et plusieurs lignes du type&lt;br /&gt;
&amp;lt;code&amp;gt;CONFIG_[système de fichiers]_FS_POSIX_ACL=y&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
où &#039;&#039;[système de fichier]&#039;&#039; peut recevoir les valeurs (pour un noyau 2.6.8-2-386 à la date de rédaction) &#039;&#039;EXT3&#039;&#039;, &#039;&#039;JFS&#039;&#039; et &#039;&#039;XFS&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Si la valeur des options n&#039;est pas correcte, vous devez [[Rubrique : noyau et modules|recompiler votre noyau]]. N&#039;oubliez pas de prévoir au moins un système de fichiers pour lequel les ACL seront permis.&lt;br /&gt;
&lt;br /&gt;
===Systèmes de fichiers/montage des partitions===&lt;br /&gt;
Quand le noyau est disposé à gérer les ACL, on doit préparer les partitions montées dans un système de fichiers adapté (par exemple, il est exclu de vouloir utiliser ces permissions avec du &#039;&#039;vfat&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Montage et démontage à la volée====&lt;br /&gt;
Il faut monter les partitions voulues avec l&#039;option &#039;&#039;acl&#039;&#039;. Par exemple : &lt;br /&gt;
&amp;lt;code&amp;gt;# mount -t ext3 -o defaults,acl /dev/hda2/ /var/www/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Si la partition est déjà montée, on peut modifier ses paramètres à la volée : &lt;br /&gt;
&amp;lt;code&amp;gt;# mount -o remount,acl /var/www/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configuration automatique====&lt;br /&gt;
L&#039;inscription dans &#039;&#039;[[Admin-admin fs-fstab|/etc/fstab]]&#039;&#039; des options de gestion des ACL est recommandée quand leur utilisation est régulière. Par exemple, notre même couple partition/point de montage serait déclaré ainsi : &lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hda2       /var/www               ext3    defaults,acl 0       0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 À chaque montage automatique des partitions, le support des ACL sera activé.&lt;br /&gt;
&lt;br /&gt;
==Commandes==&lt;br /&gt;
Il existe deux commandes essentielles : l&#039;une pour manipuler l&#039;ACL d&#039;un fichier (&#039;&#039;setfacl&#039;&#039;) et l&#039;autre pour le consulter (&#039;&#039;getfacl&#039;&#039;). Les commandes traditionnelles &#039;&#039;chmod&#039;&#039; et &#039;&#039;chown&#039;&#039; ne peuvent accéder aux ACL.&lt;br /&gt;
&lt;br /&gt;
Ces deux commandes nécessitent, sous Debian, l&#039;installation du paquetage « acl ». Pour l&#039;installer : &lt;br /&gt;
&amp;lt;code&amp;gt;# apt-get install acl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===setfacl===&lt;br /&gt;
Le nom de la commande se comprend &#039;&#039;set file ACL&#039;&#039; (« attribuer un ACL à un fichier »). Elle comprend de nombreuses options et détails dont il convient de prendre connaissance en consultant la page de manuel (&amp;lt;code&amp;gt;man setfacl&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
La syntaxe fondamentale est simple. La commande&lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -m u:khadija:rw /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt; modifiera (&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;) l&#039;ACL de &#039;&#039;/var/www/index.php&#039;&#039; en attribuant à l&#039;utilisateur (préfixe &amp;lt;code&amp;gt;u:&amp;lt;/code&amp;gt;) Khadija les droits &amp;lt;code&amp;gt;rw&amp;lt;/code&amp;gt;. Les droits d&#039;exécution n&#039;étant pas indiqués, ce sont les droits normaux qui s&#039;appliquent.&lt;br /&gt;
&lt;br /&gt;
Les paramètres à connaître sont : &lt;br /&gt;
* préfixes : &lt;br /&gt;
** &amp;lt;code&amp;gt;u:&amp;lt;/code&amp;gt; (droits pour un &#039;&#039;&#039;u&#039;&#039;&#039;tilisateur, nommé ou désigné par son uid) ;&lt;br /&gt;
** &amp;lt;code&amp;gt;g:&amp;lt;/code&amp;gt; (droits pour un &#039;&#039;&#039;g&#039;&#039;&#039;roupe, nommé ou désigné par son gid) ;&lt;br /&gt;
** &amp;lt;code&amp;gt;m:&amp;lt;/code&amp;gt; (&#039;&#039;&#039;m&#039;&#039;&#039;asque de droits par défaut) ;&lt;br /&gt;
** &amp;lt;code&amp;gt;o:&amp;lt;/code&amp;gt; (droits pour &#039;&#039;&#039;&#039;&#039;o&#039;&#039;&#039;ther&#039;&#039;, le reste du monde) ; &lt;br /&gt;
* permissions : elles sont codées dans l&#039;ordre &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; (ce dernier représentant, comme avec &#039;&#039;chmod&#039;&#039;, le droit d&#039;entrée dans les répertoires ou celui d&#039;exécution pour les fichiers qui ont déjà un marqueur &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;). On les remplace par &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; pour une interdiction explicite. &lt;br /&gt;
Ainsi, &amp;lt;code&amp;gt;u:khadija:rw&amp;lt;/code&amp;gt; ajoute à Khadija des droits en lecture et écriture sans toucher à l&#039;éventuel droit normal en exécution, au contraire de &amp;lt;code&amp;gt;u:khadija:rw-&amp;lt;/code&amp;gt;, qui lui interdit explicitement ce dernier droit.&lt;br /&gt;
&lt;br /&gt;
On peut construire des commandes plus complexes en enchaînant les entrées dans l&#039;ACL : &lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -m u:khadija:rw,g:site1:r--,o:--- /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
définit des permissions dans l&#039;ACL de &#039;&#039;/var/www/index.php&#039;&#039; pour l&#039;utilisateur Khadija, le groupe &#039;&#039;site1&#039;&#039; et le reste du monde.&lt;br /&gt;
&lt;br /&gt;
Pour annuler tout ou partie d&#039;un ACL : &lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -b /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
ôte tout le contenu de l&#039;ACL du fichier, tandis que&lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -x u:khadija,g:site1 /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
retire les permissions propres à Khadija et au groupe &#039;&#039;site1&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La commande fonctionne bien sûr de manière récursive :&lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -Rm u:khadija:rw /var/www/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getfacl===&lt;br /&gt;
Cette commande suivie d&#039;un nom de fichier affiche l&#039;ACL de ce fichier. Par exemple : &lt;br /&gt;
&amp;lt;code&amp;gt;# getfacl /var/www/index.php&lt;br /&gt;
getfacl: Removing leading &#039;/&#039; from absolute path names&lt;br /&gt;
# file: var/www/index.php&lt;br /&gt;
# owner: root&lt;br /&gt;
# group: www-data&lt;br /&gt;
user::rw-&lt;br /&gt;
user:khadija:rw-&lt;br /&gt;
user:luce:r--&lt;br /&gt;
group::rw-&lt;br /&gt;
group:site1:r--&lt;br /&gt;
mask::rw-&lt;br /&gt;
other::--&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ls, cp et mv===&lt;br /&gt;
Ces commandes doivent pouvoir lister, copier et déplacer les ACL en même temps que les fichiers. Pour les deux premières commande, il faut préciser que l&#039;on veut afficher/conserver les droits : &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cp -a&amp;lt;/code&amp;gt;. La commande &#039;&#039;mv&#039;&#039;, quant à elle, préserve toujours les droits. Dans le cas contraire, un message d&#039;avertissement en informe l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
Noter qu&#039;un fichier comportant un ACL et listé par &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; n&#039;affiche qu&#039;un &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; à la suite de ses permissions. Seule la commande &#039;&#039;getfacl&#039;&#039;, pour l&#039;instant, permet d&#039;avoir connaissance du détail. Par exemple : &lt;br /&gt;
&amp;lt;code&amp;gt;# setfacl -m u:khadija:rw /var/www/index.php&lt;br /&gt;
# ls -l /var/www/index.php&lt;br /&gt;
-rw-rw----+ 1 root www-data 5055 2005-10-16 18:53 /var/www/index.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Documents annexes==&lt;br /&gt;
Pages de manuel : &lt;br /&gt;
* &amp;lt;code&amp;gt;man acl&amp;lt;/code&amp;gt; ; &lt;br /&gt;
* &amp;lt;code&amp;gt;man setfacl&amp;lt;/code&amp;gt; ; &lt;br /&gt;
* &amp;lt;code&amp;gt;man getfacl&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{Copy|25.10.05|Vincent Ramos|FDL}}&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9894</id>
		<title>Lea Linux:Bienvenue</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9894"/>
		<updated>2005-10-25T11:11:37Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Au travail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bienvenue sur le Wiki de Léa =&lt;br /&gt;
&lt;br /&gt;
== Histoire ancienne ==&lt;br /&gt;
Léa, comme vous le savez peut-être, est un site d&#039;aide à l&#039;utilisation de Linux en particulier et des logiciels libres en général. &lt;br /&gt;
&lt;br /&gt;
Au départ, Léa était un site &#039;&#039;perso&#039;&#039; créé par Serge. Il était presque totalement développé en html .&lt;br /&gt;
&lt;br /&gt;
== Histoire récente ==&lt;br /&gt;
&lt;br /&gt;
Léa grandit, grossit aidée en cela par de nouveaux amis (Jicé, puis Fred, puis Anne, puis Maston28, Jiel, prae, ST). Au commencement les outils de gestion de site n&#039;était pas si nombreux et performants qu&#039;ils le devinrent. Nous fîmes le choix de développer une solution à nous avec des outils à nous. Mais au fur et à mesure que Léa grossit, elle devint de plus en plus difficile à maintenir. D&#039;autres part, le temps libre de chacun n&#039;étant pas extensible à l&#039;infini, il devint évident que nous ne pouvions plus nous contenter de nos outils &#039;&#039;maison&#039;&#039; aussi attaché que nous puissions l&#039;être à notre bébé. Une transition s&#039;imposait.&lt;br /&gt;
&lt;br /&gt;
== Quelques problèmes ==&lt;br /&gt;
&lt;br /&gt;
Le problème était que l&#039;on ne souhaitait pas jeter le bébé avec l&#039;eau du bain et en particulier nous ne souhaitions pas que tout ce que nos amis et contributeurs nous avaient apporté disparaisse. Ce qui retarda pendant assez longtemps (plus d&#039;un an) la transition. De plus nous étions assez divisé quant à l&#039;avenir de Léa, mais aussi sur l&#039;éventuel format à utiliser pour la migration. Durant cette phase de transition Léa subit quelques défection : Serge nous quitta, le groupe Slackware qui avait contribué à Léa pendant plus d&#039;un an se décomposa pour prendre son indépendance.&lt;br /&gt;
&lt;br /&gt;
== Un début de solution ==&lt;br /&gt;
&lt;br /&gt;
Il nous fallait relancer le site, en même temps que gérer l&#039;existant. En juillet 2005, comme tous les ans depuis 2001, Léa participa aux Rencontres Mondiales du Logiciels Libres (oui, le titre est légèrement pompeux, mais on y rencontre effectivement beaucoup de monde venant de beaucoup d&#039;endroits différents). Au cours de ces rencontres, on nous fit comme à l&#039;habitude un certains nombres de remarques : critiques ou félicitations. La critique qui revint le plus souvent : il est pratiquement impossible de contribuer simplement à Léa. En effet personne ne veut corriger une faute d&#039;orthographe en éditant un document HTML de plusieurs dizaines de kilo-octets. Dans le même temps nous avons eu une discussion fructueuse avec l&#039;une des personnes qui s&#039;occupe de la communication autour de &#039;&#039;wikipedia&#039;&#039; l&#039;encyclopédie libre. Cette discussion aboutit à l&#039;idée que moyennant quelques aménagements, &#039;&#039;mediawiki&#039;&#039; était une solution qui devrait régler un certain nombres des problèmes soulevés plus haut.&lt;br /&gt;
&lt;br /&gt;
== Au travail ==&lt;br /&gt;
&lt;br /&gt;
Durant le mois d&#039;août, nous avons étudié la faisabilité d&#039;une migration vers &#039;&#039;mediawiki&#039;&#039;, étant arrivé à la conclusion que c&#039;était possible, nous avons, durant les mois de septembre et octobre procédé à l&#039;écriture des outils nécessaires à la migration (conversion HTML-Léa vers Wiki markup, insertion de page via la ligne de commande, création d&#039;un cache complètement statique, outils d&#039;administration du cache, etc ...).&lt;br /&gt;
&lt;br /&gt;
Enfin vint la phase de test en grandeur nature pendant laquelle plusieurs utilisateurs habituels de Léa (et nicolas en particulier) nous ont aidé à tester le joujou et à corriger un certains nombres des erreurs les plus criantes.&lt;br /&gt;
&lt;br /&gt;
== Début d&#039;une nouvelle histoire ==&lt;br /&gt;
&lt;br /&gt;
Cette fois, ça y est Léa est passé à la phase &#039;&#039;[[Lea_Linux:C&#039;est_quoi_un_wiki_?|wiki]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de Léa reste la rédaction de documentation simple et claire pour l&#039;utilisateur débutant ou plus. &lt;br /&gt;
&lt;br /&gt;
Merci d&#039;avance pour vos contributions.&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9893</id>
		<title>Lea Linux:Bienvenue</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9893"/>
		<updated>2005-10-25T11:10:34Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Un début de solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bienvenue sur le Wiki de Léa =&lt;br /&gt;
&lt;br /&gt;
== Histoire ancienne ==&lt;br /&gt;
Léa, comme vous le savez peut-être, est un site d&#039;aide à l&#039;utilisation de Linux en particulier et des logiciels libres en général. &lt;br /&gt;
&lt;br /&gt;
Au départ, Léa était un site &#039;&#039;perso&#039;&#039; créé par Serge. Il était presque totalement développé en html .&lt;br /&gt;
&lt;br /&gt;
== Histoire récente ==&lt;br /&gt;
&lt;br /&gt;
Léa grandit, grossit aidée en cela par de nouveaux amis (Jicé, puis Fred, puis Anne, puis Maston28, Jiel, prae, ST). Au commencement les outils de gestion de site n&#039;était pas si nombreux et performants qu&#039;ils le devinrent. Nous fîmes le choix de développer une solution à nous avec des outils à nous. Mais au fur et à mesure que Léa grossit, elle devint de plus en plus difficile à maintenir. D&#039;autres part, le temps libre de chacun n&#039;étant pas extensible à l&#039;infini, il devint évident que nous ne pouvions plus nous contenter de nos outils &#039;&#039;maison&#039;&#039; aussi attaché que nous puissions l&#039;être à notre bébé. Une transition s&#039;imposait.&lt;br /&gt;
&lt;br /&gt;
== Quelques problèmes ==&lt;br /&gt;
&lt;br /&gt;
Le problème était que l&#039;on ne souhaitait pas jeter le bébé avec l&#039;eau du bain et en particulier nous ne souhaitions pas que tout ce que nos amis et contributeurs nous avaient apporté disparaisse. Ce qui retarda pendant assez longtemps (plus d&#039;un an) la transition. De plus nous étions assez divisé quant à l&#039;avenir de Léa, mais aussi sur l&#039;éventuel format à utiliser pour la migration. Durant cette phase de transition Léa subit quelques défection : Serge nous quitta, le groupe Slackware qui avait contribué à Léa pendant plus d&#039;un an se décomposa pour prendre son indépendance.&lt;br /&gt;
&lt;br /&gt;
== Un début de solution ==&lt;br /&gt;
&lt;br /&gt;
Il nous fallait relancer le site, en même temps que gérer l&#039;existant. En juillet 2005, comme tous les ans depuis 2001, Léa participa aux Rencontres Mondiales du Logiciels Libres (oui, le titre est légèrement pompeux, mais on y rencontre effectivement beaucoup de monde venant de beaucoup d&#039;endroits différents). Au cours de ces rencontres, on nous fit comme à l&#039;habitude un certains nombres de remarques : critiques ou félicitations. La critique qui revint le plus souvent : il est pratiquement impossible de contribuer simplement à Léa. En effet personne ne veut corriger une faute d&#039;orthographe en éditant un document HTML de plusieurs dizaines de kilo-octets. Dans le même temps nous avons eu une discussion fructueuse avec l&#039;une des personnes qui s&#039;occupe de la communication autour de &#039;&#039;wikipedia&#039;&#039; l&#039;encyclopédie libre. Cette discussion aboutit à l&#039;idée que moyennant quelques aménagements, &#039;&#039;mediawiki&#039;&#039; était une solution qui devrait régler un certain nombres des problèmes soulevés plus haut.&lt;br /&gt;
&lt;br /&gt;
== Au travail ==&lt;br /&gt;
&lt;br /&gt;
Durant le mois d&#039;août, nous avons étudier la faisabilité d&#039;une migration vers &#039;&#039;mediawiki&#039;&#039;, étant arrivé à la conclusion que c&#039;était possible, nous avons, durant les mois de septembre et octobre procédé à l&#039;écriture des outils nécessaires à la migration (conversion HTML-Léa vers Wiki markup, insertion de page via la ligne de commande, création d&#039;un cache complètement statique, outils d&#039;administration du cache, etc ...).&lt;br /&gt;
&lt;br /&gt;
Enfin vint la phase de test en grandeur nature pendant laquelle plusieurs utilisateurs habituels de Léa (et nicola en particulier) nous ont aidé à tester le joujou et à corriger un certains nombres des erreurs les plus criantes.&lt;br /&gt;
&lt;br /&gt;
== Début d&#039;une nouvelle histoire ==&lt;br /&gt;
&lt;br /&gt;
Cette fois, ça y est Léa est passé à la phase &#039;&#039;[[Lea_Linux:C&#039;est_quoi_un_wiki_?|wiki]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de Léa reste la rédaction de documentation simple et claire pour l&#039;utilisateur débutant ou plus. &lt;br /&gt;
&lt;br /&gt;
Merci d&#039;avance pour vos contributions.&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9892</id>
		<title>Lea Linux:Bienvenue</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Bienvenue&amp;diff=9892"/>
		<updated>2005-10-25T11:08:27Z</updated>

		<summary type="html">&lt;p&gt;Legranblon : /* Histoire ancienne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bienvenue sur le Wiki de Léa =&lt;br /&gt;
&lt;br /&gt;
== Histoire ancienne ==&lt;br /&gt;
Léa, comme vous le savez peut-être, est un site d&#039;aide à l&#039;utilisation de Linux en particulier et des logiciels libres en général. &lt;br /&gt;
&lt;br /&gt;
Au départ, Léa était un site &#039;&#039;perso&#039;&#039; créé par Serge. Il était presque totalement développé en html .&lt;br /&gt;
&lt;br /&gt;
== Histoire récente ==&lt;br /&gt;
&lt;br /&gt;
Léa grandit, grossit aidée en cela par de nouveaux amis (Jicé, puis Fred, puis Anne, puis Maston28, Jiel, prae, ST). Au commencement les outils de gestion de site n&#039;était pas si nombreux et performants qu&#039;ils le devinrent. Nous fîmes le choix de développer une solution à nous avec des outils à nous. Mais au fur et à mesure que Léa grossit, elle devint de plus en plus difficile à maintenir. D&#039;autres part, le temps libre de chacun n&#039;étant pas extensible à l&#039;infini, il devint évident que nous ne pouvions plus nous contenter de nos outils &#039;&#039;maison&#039;&#039; aussi attaché que nous puissions l&#039;être à notre bébé. Une transition s&#039;imposait.&lt;br /&gt;
&lt;br /&gt;
== Quelques problèmes ==&lt;br /&gt;
&lt;br /&gt;
Le problème était que l&#039;on ne souhaitait pas jeter le bébé avec l&#039;eau du bain et en particulier nous ne souhaitions pas que tout ce que nos amis et contributeurs nous avaient apporté disparaisse. Ce qui retarda pendant assez longtemps (plus d&#039;un an) la transition. De plus nous étions assez divisé quant à l&#039;avenir de Léa, mais aussi sur l&#039;éventuel format à utiliser pour la migration. Durant cette phase de transition Léa subit quelques défection : Serge nous quitta, le groupe Slackware qui avait contribué à Léa pendant plus d&#039;un an se décomposa pour prendre son indépendance.&lt;br /&gt;
&lt;br /&gt;
== Un début de solution ==&lt;br /&gt;
&lt;br /&gt;
Il nous fallait relancer le site, en même temps que gérer l&#039;existant. En juillet 2005, comme tous les ans depuis 2001, Léa participa aux Rencontres Mondiales du Logiciels Libres (oui, le titre est légèrement pompeux, mais on y rencontre effectivement beaucoup de monde venant de beaucoup d&#039;endroits différents). Au cours de ses rencontres, on nous fit comme à l&#039;habitude un certains nombres de remarques : critiques ou félicitations. La critique qui revint le plus souvent : il est pratiquement impossible de contribuer simplement à Léa. En effet personne ne veut corriger une faute d&#039;orthographe en éditant un document HTML de plusieurs dizaines de kilo-octets. Dans le même temps nous avons eu une discussion fructueuse avec l&#039;une des personnes qui s&#039;occupe de la communication autour de &#039;&#039;wikipedia&#039;&#039; l&#039;encyclopédie libre. Cette discussion aboutit à l&#039;idée que moyennant quelques aménagements, &#039;&#039;mediawiki&#039;&#039; était une solution qui devrait régler un certain nombres des problèmes soulevés plus haut. &lt;br /&gt;
&lt;br /&gt;
== Au travail ==&lt;br /&gt;
&lt;br /&gt;
Durant le mois d&#039;août, nous avons étudier la faisabilité d&#039;une migration vers &#039;&#039;mediawiki&#039;&#039;, étant arrivé à la conclusion que c&#039;était possible, nous avons, durant les mois de septembre et octobre procédé à l&#039;écriture des outils nécessaires à la migration (conversion HTML-Léa vers Wiki markup, insertion de page via la ligne de commande, création d&#039;un cache complètement statique, outils d&#039;administration du cache, etc ...).&lt;br /&gt;
&lt;br /&gt;
Enfin vint la phase de test en grandeur nature pendant laquelle plusieurs utilisateurs habituels de Léa (et nicola en particulier) nous ont aidé à tester le joujou et à corriger un certains nombres des erreurs les plus criantes.&lt;br /&gt;
&lt;br /&gt;
== Début d&#039;une nouvelle histoire ==&lt;br /&gt;
&lt;br /&gt;
Cette fois, ça y est Léa est passé à la phase &#039;&#039;[[Lea_Linux:C&#039;est_quoi_un_wiki_?|wiki]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de Léa reste la rédaction de documentation simple et claire pour l&#039;utilisateur débutant ou plus. &lt;br /&gt;
&lt;br /&gt;
Merci d&#039;avance pour vos contributions.&lt;/div&gt;</summary>
		<author><name>Legranblon</name></author>
	</entry>
</feed>