Bonsoir,

Voici une mise à jour de la page concernant la mise en place d'un miroir
Debian.

Merci pour vos relectures.

-- 
Simon Paillard
Index: ftpmirror.wml
===================================================================
RCS file: /cvs/webwml/webwml/french/mirror/ftpmirror.wml,v
retrieving revision 1.42
diff -u -r1.42 ftpmirror.wml
--- ftpmirror.wml	21 Dec 2007 23:22:50 -0000	1.42
+++ ftpmirror.wml	27 Mar 2008 23:27:10 -0000
@@ -2,7 +2,7 @@
 #use wml::debian::toc
 #include "$(ENGLISHDIR)/releases/sid/archive.data"
 
-#use wml::debian::translation-check translation="1.58" maintainer="Simon Paillard"
+#use wml::debian::translation-check translation="1.64" maintainer="Simon Paillard"
 
 
 <toc-display />
@@ -114,15 +114,16 @@
 <toc-add-entry name="how">Comment faire un miroir</toc-add-entry>
 
 <p>La méthode recommandée pour faire tourner un miroir est d'utiliser
-le script dénommé <a href="anonftpsync">anonftpsync</a> via
-<a href="http://packages.debian.org/stable/net/rsync";>rsync</a> 
-anonyme.</p>
-
-<p>Note&nbsp;: bien que <kbd>wget</kbd> et d'autres outils FTP
-semblent fonctionner correctement, il y a des problèmes avec ceux-ci.
-Nous recommandons fortement l'utilisation de rsync.</p>
+le script dénommé <a href="anonftpsync">anonftpsync</a>.</p>
 
-<h3>rsync anonyme</h3>
+<p>Le protocole recommandé est <a href="http://packages.debian.org/stable/net/rsync";>rsync</a>.</p>
+
+<p>Merci de ne pas utiliser <kbd>wget</kbd> ou d'autres outils FTP.
+Ils semblent fonctionner correctement, mais posent beaucoup de problème : ils
+ne détectent pas liens réels 'hard', il est difficile d'effectuer des répliques
+partielles de l'archive, etc.</p>
+
+<h3>Configuration de rsync</h3>
 
 <p>Nous recommandons l'utilisation de <a href="anonftpsync">ce
 script</a> pour faire un miroir de l'archive. Suivez les indications
@@ -136,6 +137,18 @@
   <li>Lancez rsync avec au moins les options suivantes&nbsp;:
   <kbd>--recursive --times --links --hard-links --delete</kbd>.</li>
 
+  <li>Évitez de synchroniser les fichiers index (les fichiers Packages,
+      Sources, etc) avant que les nouveaux fichiers de données (.deb, 
+      .orig.tar.gz, etc) ne soient mis en place.
+      Utilisez deux étapes de rsync &mdash; commencez par transférer les
+      fichiers de données en excluant les fichiers index, puis transférez tout
+      le reste.
+      <br/>
+      Cela peut être effectué en utilisant <kbd>--exclude</kbd> afin d'éviter
+      les fichiers Packages*, Sources* et Release*, ou en synchronisant
+      uniquement le répertoire pool/ lors de la première étape.
+      Référez-vous à <a href="anonftpsync">notre fichier</a> comme exemple.</li>
+
   <li>Même si vous avez de la place disque supplémentaire, utilisez
   l'option <kbd>--delete-after</kbd> pour éviter des problèmes de mise
   à jour temporaire.</li>
@@ -143,15 +156,10 @@
   <li>Si vous n'avez pas assez d'espace disque pour faire un miroir de
   toute l'archive, utilisez l'option <kbd>--exclude</kbd> pour exclure
   certaines parties de l'archive. En général on enlève certaines
-  architectures qu'on ne veut pas&nbsp;; par exemple, ce qui suit
-  supprimerait <em>toutes</em> les architectures&nbsp;:
-      <br />
-<: 
-print "<code>--exclude binary-$_/ --exclude *_$_.deb</code><br>\n"
-  foreach (sort keys %arches);
-:>
-      Voyez aussi la <a href="#partial">section concernant les miroirs
-      partiels</a>.</li>
+  architectures qu'on ne veut pas, parce qu'elles occupent beaucoup d'espace
+  disque.
+  Veuillez consulter la <a href="#partial">section sur les miroirs
+  partiels</a>.</li>
 
   <li>Une fois que rsync a fini de mettre à jour le miroir, ajoutez
   un fichier «&nbsp;timestamp&nbsp;» au sous-répertoire
@@ -166,36 +174,14 @@
   En particulier <tt>project/trace</tt> aide beaucoup en cas de
   problème de miroir.</li>
 
-</ul>
+  <li>Généralement les miroirs rsync amont autorisent les accès anonymes. Dans
+  le cas où une identification serait requise, configurez le nom d'utilisateur
+  et le mot de passe dans votre script, soit en utilisant la variable
+  d'environnement RSYNC_PASSWORD, soit en utilisant l'option
+  <kbd>--password-file</kbd>.
+  </li>
 
-<h3>rsync avec authentification, à partir d'un miroir <q>Push</q></h3>
-
-<p>Les miroirs <q>Push</q>» sont une forme de miroir, utilisant rsync, que nous 
-avons développée afin de minimiser le temps que mettent les changements de 
-l'archive pour atteindre les miroirs. Les miroirs <q>Push</q> utilisent un 
-script déclencheur ssh pour indiquer au miroir client qu'il doit se mettre 
-à jour.</p> 
-
-<p>Les miroirs <q>Push</q> sont nécessaires pour garder synchrones un
-ensemble de serveurs (comme les serveurs dans des alias DNS en
-<i>round-robin</i>, par exemple <tt>ftp.us.debian.org</tt>), et nous
-les utilisons couramment pour nos miroirs de premier et deuxième
-niveau. Pour les miroirs <q>normaux</q>, cette méthode demande beaucoup
-d'effort de mise en place ce qui n'est en fait pas très rentable
-comparé à une tâche cron bien préparée.</p>
-
-<p>La méthode est assez sûre car ssh est configuré pour lancer une unique 
-commande. Ainsi le miroir se fait toujours par <q>Pull</q>, il n'est donc 
-<strong>pas</strong> possible de corrompre le contenu de l'archive 
-<i>via</i> un miroir push infiltré.
-Quelques administrateurs de miroirs ont montré une certaine hésitation à 
-utiliser cette méthode de miroirs par crainte qu'elle n'ouvre leur machine à 
-une invasion. Ce n'est absolument <strong>pas</strong> le cas.</p>
-
-<p>Pour une description plus détaillée de la manière dont cette méthode 
-fonctionne, des raisons pour lesquelles elle est sûre et de la façon de
-la mettre en place, voyez <a href="push_mirroring">les explications
-complètes</a>.</p>
+</ul>
 
 <toc-add-entry name="partial">Miroir partiel</toc-add-entry>
 
@@ -205,9 +191,7 @@
 exclure une partie, vous devriez exclure les architectures.</p>
 
 <p>Avec <a href="anonftpsync">anonftpsync</a>, cela peut se faire en
-modifiant la variable ARCH_EXCLUDE.
-Il existe aussi d'autres scripts écrits spécialement.
-Cependant, ils ne sont pas adaptés aux miroirs officiels.</p>
+modifiant la variable ARCH_EXCLUDE.</p>
 
 <p>Nous déconseillons vivement d'exclure les sous-répertoires
 <tt>project/</tt>, <tt>doc/</tt> et autres. Ils sont généralement
@@ -215,6 +199,16 @@
 En particulier <tt>project/trace</tt> aide beaucoup en cas de
 problème de miroir.</p>
 
+<p>Il est possible d'utiliser d'autres scripts spécialement écrits, mais ils ne sont généralement pas utils, et déconsillés pour les miroirs officiels.
+Par exemple, cet ensemble d'options rsync excluerait <em>toutes<em> les
+architectures&nbsp;:
+<br />
+<: 
+print "<code>--exclude binary-$_/ --exclude *_$_.deb --exclude *_$_.udeb --exclude installer-$_/ --exclude Contents-$_*</code><br>\n"
+  foreach (sort keys %arches);
+:>
+
+
 <toc-add-entry name="when">Quand rafraîchir les miroirs&nbsp;?</toc-add-entry>
 
 <p>L'archive principale est mise à jour deux fois par jour.</p>
@@ -243,6 +237,33 @@
 sa mise à jour, alors vous n'avez à vous soucier d'aucun de ces
 problèmes.</p>
 
+
+<h3>rsync avec authentification, à partir d'un miroir <q>Push</q></h3>
+
+<p>Les miroirs <q>Push</q> sont une forme de miroir, utilisant rsync, que nous 
+avons développée afin de minimiser le temps que mettent les changements de 
+l'archive pour atteindre les miroirs.
+Un miroir amont utilise un script déclencheur SSH pour indiquer au miroir
+client qu'il doit se mettre à jour.
+Le mécanisme de <q>Push</q> est généralement limité à un script déclencheur
+unique sans variable, de sorte que le miroir se fait toujours par <q>Pull</q>,
+comme une tâche cron. 
+</p> 
+
+<p>Les miroirs <q>Push</q> sont nécessaires pour garder synchrones un
+ensemble de serveurs (comme les serveurs dans des alias DNS en
+<i>round-robin</i>, par exemple <tt>ftp.us.debian.org</tt>), et nous
+les utilisons couramment pour nos miroirs de premier et deuxième
+niveau. Pour les miroirs <q>normaux</q>, cette méthode demande beaucoup
+d'effort de mise en place ce qui n'est en fait pas très rentable
+comparé à une tâche cron bien préparée.</p>
+
+<p>Pour une description plus détaillée de la manière dont cette méthode 
+fonctionne, des raisons pour lesquelles elle est sûre et de la façon de
+la mettre en place, voyez <a href="push_mirroring">les explications
+complètes</a>.</p>
+
+
 <toc-add-entry name="settings">Configuration supplémentaire recommandée</toc-add-entry>
 
 <p>Si vous voulez rendre le miroir Debian disponible par HTTP, merci
#use wml::debian::template title="Mettre en place un miroir de l'archive Debian"
#use wml::debian::toc
#include "$(ENGLISHDIR)/releases/sid/archive.data"

#use wml::debian::translation-check translation="1.64" maintainer="Simon Paillard"


<toc-display />

<toc-add-entry name="whether">Dans quel cas faire un miroir ?</toc-add-entry>

<p>Même si nous apprécions tout nouveau miroir, chaque potentiel responsable de
miroir doit s'assurer qu'il peut répondre à ces questions avant de commencer à
mettre en place son propre miroir :</p> 

<ul>
  <li>Un miroir est-il nécessaire dans ma région ? Il existe peut-être déjà
  d'autres miroirs à proximité.</li>
  
  <li>Ai-je les ressources nécessaires pour héberger un miroir ? Les miroirs
  occupent une quantité importante d'espace disque et de bande passante, dont
  il faut s'engager à supporter le coût.</li>
  
  <li>Un miroir est-il le bon choix ? Parfois, certaines personnes démarrent
  un miroir par erreur, alors qu'en fait elles veulent un serveur cache
  mandataire (<q>proxy cache</q>).</li>
  
# such as <a href="http://packages.debian.org/apt-proxy";>apt-proxy</a>
# not sure if we want to plug just apt-proxy as soon as this -joy, 2007-11-08
</ul>


<toc-add-entry name="what">De quoi faire un miroir&nbsp;?</toc-add-entry>

<p>La <a href="./">page principale des miroirs</a> liste les archives qu'il est
possible de dupliquer.
</p>

<ul>
<li>
Les utilisateurs cherchent l'archive dans debian/ pour installer Debian
par le réseau, pour construire des CD (avec jigdo), ou pour mettre à
jour des systèmes déjà installés.</li>

<li>
debian-cd/ est une archive qui n'est pas identique sur tous les différents
serveurs miroirs. Sur certains sites, elle contient des modèles pour jigdo
(utilisés avec les fichiers dans debian/) à partir desquels il est possible de
construire des images de CD, sur certains des images de CD déjà construites, et
sur d'autres les deux.
<br />
De plus amples informations sont disponibles sur la page dédiée à la <a
href="$(HOME)/CD/mirroring/">création d'un miroir pour les images de CD de
Debian</a></li>

<li>
debian-archive/ contient la vraie <em>archive</em>, les anciennes versions
obsolètes de Debian. Elle n'est en général intéressante que pour une petite
partie des utilisateurs.
</li>

</ul>

<p>Veuillez voir la page des <a href="size">tailles des miroirs</a>
pour des informations plus précises sur les tailles des miroirs.</p>

<p>L'archive debian-security/ contient les mises à jour de sécurité éditées par
l'équipe de sécurité de Debian. Elle semble intéressante pour tout le monde,
mais comme les mises à jour de sécurité sont sporadiques, il faudrait
synchroniser le miroir très souvent pour être à jour (ou utiliser <a
href="push_mirroring">un miroir <i>push</i></a>) aussi nous ne recommandons pas
de la dupliquer. Au lieu de cela, Debian fait tous les efforts possibles pour
conserver la haute disponibilité de security.debian.org.</p>

<p>N.B.&nbsp;: l'archive debian-non-US est obsolète depuis la sortie
de Debian&nbsp;3.1 (<em>Sarge</em>) en juin&nbsp;2006.</p>

<toc-add-entry name="wherefrom">À partir d'où faire un miroir&nbsp;?</toc-add-entry>

<p>Beaucoup de gens pensent que <code>ftp.debian.org</code> est
l'emplacement canonique des paquets Debian et que faire un miroir de
ce site est ce qu'il y a de mieux. <strong>Ce n'est pas vrai</strong>.</p>

<p><code>ftp.debian.org</code> est seulement l'un des serveurs mis à jour à
partir d'un serveur Debian interne. Cette adresse pointe actuellement vers un
unique serveur hébergé aux États-Unis, et existe encore principalement pour des
raisons de compatibilité ascendante.</p>

<p>Les <a href="official">miroirs officiels</a> sont censés être de bonnes
sources. Tout serveur parmi ceux qui se trouvent dans la <a
href="list-full">liste complète des miroirs</a> portant la marque
<q><kbd>Type: Push-Primary</kbd></q> ou <q><kbd>Type:
Push-Secondary</kbd></q> est un bon candidat pour la source d'un miroir.
Merci d'utiliser un miroir qui soit proche de vous, au sens de la
proximité réseau.</p>

<p>Il n'y a pas de différences significatives entre différents miroirs
serveurs <em>Push-Primary</em> comme origine du miroir. De plus, si
beaucoup de gens utilisent <code>ftp.debian.org</code> (et
malheureusement c'est le cas), cela gaspille inutilement la bande
passante que l'on nous donne.</p>

<p>Les administrateurs de miroirs situés aux États-Unis devraient mettre à jour
leur miroir depuis ftp.us.debian.org (le miroir officiel pour les États-Unis,
qui est un miroir <q>Push-Primary</q>). Or comme cette adresse est un alias
pour plusieurs serveurs, il est recommandé de déterminer lequel vous convient
le mieux et de mettre à jour le miroir depuis l'un d'entre eux.
<br />
<small>Cela a pour avantage d'éviter les ennuis lors du rsync en deux étapes
(puisque les différentes étapes risquent d'être effectuées sur des serveurs
différents, et tomber à des instants où les données sont différentes,
provoquant une problème de concurrence).</small></p>

<toc-add-entry name="how">Comment faire un miroir</toc-add-entry>

<p>La méthode recommandée pour faire tourner un miroir est d'utiliser
le script dénommé <a href="anonftpsync">anonftpsync</a>.</p>

<p>Le protocole recommandé est <a href="http://packages.debian.org/stable/net/rsync";>rsync</a>.</p>

<p>Merci de ne pas utiliser <kbd>wget</kbd> ou d'autres outils FTP.
Ils semblent fonctionner correctement, mais posent beaucoup de problème : ils
ne détectent pas liens réels 'hard', il est difficile d'effectuer des répliques
partielles de l'archive, etc.</p>

<h3>Configuration de rsync</h3>

<p>Nous recommandons l'utilisation de <a href="anonftpsync">ce
script</a> pour faire un miroir de l'archive. Suivez les indications
se trouvant dans le script pour mettre en place le miroir.</p>

<p>Voici des conseils pour ceux qui préfèrent d'autres façons de faire
un miroir.</p>

<ul>

  <li>Lancez rsync avec au moins les options suivantes&nbsp;:
  <kbd>--recursive --times --links --hard-links --delete</kbd>.</li>

  <li>Évitez de synchroniser les fichiers index (les fichiers Packages,
      Sources, etc) avant que les nouveaux fichiers de données (.deb, 
      .orig.tar.gz, etc) ne soient mis en place.
      Utilisez deux étapes de rsync &mdash; commencez par transférer les
      fichiers de données en excluant les fichiers index, puis transférez tout
      le reste.
      <br/>
      Cela peut être effectué en utilisant <kbd>--exclude</kbd> afin d'éviter
      les fichiers Packages*, Sources* et Release*, ou en synchronisant
      uniquement le répertoire pool/ lors de la première étape.
      Référez-vous à <a href="anonftpsync">notre fichier</a> comme exemple.</li>

  <li>Même si vous avez de la place disque supplémentaire, utilisez
  l'option <kbd>--delete-after</kbd> pour éviter des problèmes de mise
  à jour temporaire.</li>

  <li>Si vous n'avez pas assez d'espace disque pour faire un miroir de
  toute l'archive, utilisez l'option <kbd>--exclude</kbd> pour exclure
  certaines parties de l'archive. En général on enlève certaines
  architectures qu'on ne veut pas, parce qu'elles occupent beaucoup d'espace
  disque.
  Veuillez consulter la <a href="#partial">section sur les miroirs
  partiels</a>.</li>

  <li>Une fois que rsync a fini de mettre à jour le miroir, ajoutez
  un fichier «&nbsp;timestamp&nbsp;» au sous-répertoire
  <code>project/trace/</code> du miroir Debian ayant le nom de votre
  serveur. Cela signifie lancer <kbd>date -u &gt;
  .../debian/project/trace/<var>votre.serveur</var></kbd>
  une fois que votre rsync journalier est terminé.</li>

  <li>Nous déconseillons vivement d'exclure les sous-répertoires
  <tt>project/</tt>, <tt>doc/</tt> et autres. Ils sont généralement
  négligeables en terme de taille et cependant utiles aux utilisateurs.
  En particulier <tt>project/trace</tt> aide beaucoup en cas de
  problème de miroir.</li>

  <li>Généralement les miroirs rsync amont autorisent les accès anonymes. Dans
  le cas où une identification serait requise, configurez le nom d'utilisateur
  et le mot de passe dans votre script, soit en utilisant la variable
  d'environnement RSYNC_PASSWORD, soit en utilisant l'option
  <kbd>--password-file</kbd>.
  </li>

</ul>

<toc-add-entry name="partial">Miroir partiel</toc-add-entry>

<p>Considérant la <a href="size">taille déjà importante de l'archive
Debian</a>, certaines personnes préfèrent ne faire un miroir que des
quelques parties dont ils ont besoin. Si vous voulez en
exclure une partie, vous devriez exclure les architectures.</p>

<p>Avec <a href="anonftpsync">anonftpsync</a>, cela peut se faire en
modifiant la variable ARCH_EXCLUDE.</p>

<p>Nous déconseillons vivement d'exclure les sous-répertoires
<tt>project/</tt>, <tt>doc/</tt> et autres. Ils sont généralement
négligeables en terme de taille et cependant utiles aux utilisateurs.
En particulier <tt>project/trace</tt> aide beaucoup en cas de
problème de miroir.</p>

<p>Il est possible d'utiliser d'autres scripts spécialement écrits, mais ils ne sont généralement pas utils, et déconsillés pour les miroirs officiels.
Par exemple, cet ensemble d'options rsync excluerait <em>toutes<em> les
architectures&nbsp;:
<br />
<: 
print "<code>--exclude binary-$_/ --exclude *_$_.deb --exclude *_$_.udeb --exclude installer-$_/ --exclude Contents-$_*</code><br>\n"
  foreach (sort keys %arches);
:>


<toc-add-entry name="when">Quand rafraîchir les miroirs&nbsp;?</toc-add-entry>

<p>L'archive principale est mise à jour deux fois par jour.</p>

<p>En général les miroirs commencent à se mettre à jour à partir de
09:00 et 21:00 (UTC), mais ce ne sont pas des horaires fixes et vous ne devriez
pas régler votre opération de miroir à ces horaires.</p>

<p>Nous recommandons de mettre à jour votre miroir une fois chaque jour. Mettre
à jour plus souvent que deux fois par jour est inutile et conduira sans doute
votre serveur à être banni &mdash; ne faites jamais cela.</p>

<p>Votre miroir devrait être mis à jour quelques heures après l'une des mises à
jour de l'archive principale.
Vous devriez regarder si le site à partir duquel vous
faites votre miroir laisse un fichier <q>time stamp</q> dans son
sous-répertoire <kbd>project/trace/</kbd>. Ce fichier aura le même nom
que le site, et il contiendra l'heure de la fin de la dernière mise à
jour du site. Ajoutez-y quelques heures (pour plus de sécurité) et
vous obtiendrez le moment auquel lancer votre processus miroir.</p>

<p>La meilleure façon de faire tourner le miroir automatiquement tous les 
jours est d'utiliser cron. Voyez <kbd>man crontab</kbd> pour plus de détails.</p>

<p>Notez que si votre site utilise un mécanisme <q>Push</q> pour lancer
sa mise à jour, alors vous n'avez à vous soucier d'aucun de ces
problèmes.</p>


<h3>rsync avec authentification, à partir d'un miroir <q>Push</q></h3>

<p>Les miroirs <q>Push</q> sont une forme de miroir, utilisant rsync, que nous 
avons développée afin de minimiser le temps que mettent les changements de 
l'archive pour atteindre les miroirs.
Un miroir amont utilise un script déclencheur SSH pour indiquer au miroir
client qu'il doit se mettre à jour.
Le mécanisme de <q>Push</q> est généralement limité à un script déclencheur
unique sans variable, de sorte que le miroir se fait toujours par <q>Pull</q>,
comme une tâche cron. 
</p> 

<p>Les miroirs <q>Push</q> sont nécessaires pour garder synchrones un
ensemble de serveurs (comme les serveurs dans des alias DNS en
<i>round-robin</i>, par exemple <tt>ftp.us.debian.org</tt>), et nous
les utilisons couramment pour nos miroirs de premier et deuxième
niveau. Pour les miroirs <q>normaux</q>, cette méthode demande beaucoup
d'effort de mise en place ce qui n'est en fait pas très rentable
comparé à une tâche cron bien préparée.</p>

<p>Pour une description plus détaillée de la manière dont cette méthode 
fonctionne, des raisons pour lesquelles elle est sûre et de la façon de
la mettre en place, voyez <a href="push_mirroring">les explications
complètes</a>.</p>


<toc-add-entry name="settings">Configuration supplémentaire recommandée</toc-add-entry>

<p>Si vous voulez rendre le miroir Debian disponible par HTTP, merci
de rajouter les options suivantes à votre configuration d'Apache (en
supposant bien sûr que vous utilisez Apache) dans le paragraphe
<code>&lt;Directory <var>/chemin/vers/votre/miroir/debian</var>&gt;</code>, où
<var>/chemin/vers/votre/miroir/debian/</var> doit être remplacé par le
nom du répertoire dans lequel vous gardez le miroir&nbsp;:</p>

<pre>
   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription
</pre>

<p>Ceci met en place les index de répertoires et assure que les liens
symboliques fonctionnent. Les noms de fichier dans les index de
répertoires ne seront pas tronqués et les descriptions (qui le plus
souvent n'existent pas) n'apparaîtront pas.</p>

<p>Dans le cas d'Apache&nbsp;1.3.x, l'option suivante peut également être ajoutée&nbsp;:</p>

<pre>
   DirectoryIndex .
</pre>

<p>N'ajoutez pas cette option à Apache 2.x.</p>


<toc-add-entry name="submit">Comment ajouter un miroir à la liste des miroirs&nbsp;?</toc-add-entry>

<p>Une fois qu'un miroir est mis en place, il doit être <a
href="submit">enregistré par Debian</a> de façon à être inclus dans la <a
href="list">liste des miroirs</a>. Les inscriptions peuvent être faites en
utilisant notre <a href="submit">simple formulaire web</a>.</p>

<p>Problèmes et questions peuvent être envoyés à <email [EMAIL PROTECTED]>.</p>

Répondre à