#LyX 1.1 created this file. For more info see http://www.lyx.org/ \lyxformat 2.16 \textclass linuxdoc \language french \inputencoding latin1 \fontscheme default \graphics default \paperfontsize default \spacing single \papersize Default \paperpackage a4 \use_geometry 0 \use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 2 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Title \added_space_top vfill \added_space_bottom vfill Déménagement d'une zone de wlfo. \layout Author Ecrit par Etienne Herlent (eherlent chez linux-france.org). \layout Date Version 0.1.2 du 21/03/02 \layout Abstract Ce document explique par un exemple comment déménager une zone à l'intérieur de wlfo. \layout Standard \begin_inset LatexCommand \tableofcontents{} \end_inset \layout Section Objectifs du document. \layout Standard Ce document à pour objectifs de décrire les opérations nécessaires pour réussir en douceur le changement d'emplacement d'une zone de linux-france.org et de donner quelques conseils. \layout Standard Un bon exemple valant mieux qui long discours, je m'appuie sur le changement d'emplacement de la rubrique Macintosh pour écrire ce document. \layout Section Etat des lieux. \layout Subsection Etat des lieux sur wlfo. \layout Standard Sur le site www.linux-france.org, la rubrique Macintosh occupait l'emplacement wlfo/article/materiel/mac. Il a été décidé fin janvier 2002 de la déplacer à wlfo/macintosh. \layout Standard Les fichiers présents dans cette rubrique sont en html pur ou sont des binaires à télécharger. \layout Standard Dans les fichiers html, tous les liens internes à wlfo sont des liens relatifs. \layout Subsection Etat des lieux sur ma machine. \layout Standard Les fichiers présents sur ma zone privée, et donc sur la zone publique, sont une copie des fichiers qui se trouvent sur ma machine. Il sont transférés sur tuxinette au moyen de rsync et ssh, selon la procédure connue des responsables de rubrique. \layout Standard L'organisation sur ma machine est la suivante : \layout Description ~/web/lxf-mac/resu/ Ce répertoire contient les fichiers qui seront recopiés sur ma zone privée de tuxinette. Il contient également les fichiers niouzes*.html, niouzes.xml, quefaisje.html et les fichiers demenagement.php et demenagement.html qui permettent de réaliser la redirection de l'ancien emplacement vers le nouveau.. \layout Standard L'organisation sur ma machine ne correspond donc pas à celle de ma zone privée. En effet celle-ci est la suivante : \layout Description ~eherlent/html/article/materiel/mac \layout Description ~eherlent/html/macintosh \layout Description ~eherlent/ftp/article/materiel/mac \layout Description ~eherlent/ftp/macintosh Ce découpage correspond à la période transitoire où dans l'ancien emplacement on trouve les fichiers de redirection. A terme, il ne restera plus que ~eherlent/html/macintosh et ~eherlent/ftp/macin tosh. \newline Avant de transférer mes fichiers sur ma zone privée de wlfo, je passe donc par une étape qui consiste à recopier les fichiers et répertoires de ~/web/lxf- mac/resu/ dans un emplacement temporaire, à savoir ~/tmp/wlfo. Dans ce répertoire temporaire, je crée la hiérarchie de répertoires de ma zone privée de tuxinette, à partir des niveaux html et ftp. Ces opérations sont réalisées par un script de transfert écrit en bash et que l'on trouvera en annexe. Ce script traite aussi les exceptions, à savoir le placement correct des fichiers niouzes*.html, niouzes.xml, quefaisje.html, et maintenant les fichiers de redirection de l'ancienne zone vers la nouvelle. \layout Section Description des opérations. \layout Subsection Enchainement des étapes tel que proposé par Gilles Lamiral. \layout Enumerate Tu copies ~eherlent/html/article/materiel/mac/ en ~eherlent/html/macintosh/ \layout Enumerate J'ajoute eherlent:macintosh:delete \layout Enumerate Tu modifies ~eherlent/html/macintosh/ pour s'adapter à nouvelle place publique http://www.linux-france.org/macintosh/ \layout Enumerate Quand tout le monde est content de la nouvelle place, je modifie article/index.ht ml \layout Enumerate Tu mets un redirect dans ~eherlent/html/article/materiel/mac/ pour pointer sur http://www.linux-france.org/macintosh/ et tu élimines ~eherlent/html/article/ materiel/mac/* (sauf le redirect) \layout Enumerate Nous vérifions avec google que le web s'est adapté. \layout Enumerate J'enlève eherlent:article/materiel/mac:delete et j'espère d'ici là le pb jmclaude:article/materiel sera réglé \layout Enumerate Tu élimines ~eherlent/html/article/materiel/mac/ \layout Standard C'est de l'incrémental doux. Aucun problème majeur ne devrait arriver. \layout Subsection Commentaires sur certaines étapes. \layout Description étape\SpecialChar ~ 3 Cette étape a consisté à adapter les liens relatifs internes à wlfo. Les liens internes à la rubrique Macintosh n'ont pas été touchés puisque l'organisation de la rubrique n'a pas changé. Ce sont les liens vers d'autres rubriques qui ont dû être modifiés. Par exemple, dans le fichier netatalk/index.html, il y a un lien relatif vers wlfo/article/cesar/. Celui-ci était "../../cesar/". Il est devenu "../../article/cesar/". \layout Description étape\SpecialChar ~ 5. La redirection de article/materiel/mac/ vers macintosh/ a été réalisée au moyen de deux fichiers : index.html et index.php. Sur le site principal, c'est le fichier index.php qui est privilégié. C'est-à-dire que lorsque l'on tape http://www.linux-france.org/article.materiel/ma c/ dans son navigateur, le serveur web de wlfo recherche dans ce répertoire des fichiers index.*, et index.php est recherché avant index.html. La présence de ces deux fichiers est nécessaire car on n'est pas assuré que PHP est utilisable sur les miroirs de wlfo. \newline En html, c'est une balise meta qui indique au navigateur qu'il y a une redirecti on. Cette balise n'est malheureusement pas interprétée par tous les navigateurs, en particulier elle n'est pas interprétée par lynx. \newline L'intérêt du script en PHP est qu'il produit un code retour http 302 du coté du client. Ce code devrait être interprété par les utilitaires de vérification de liens et par les moteurs de recherche. \newline On trouvera les listings de ces fichiers en annexe. \newline Sur ma machine, ces fichiers se nomment demenagement.php et demenagement.html. Il sont renommés en index.php et index.html et mis au bon endroit, c'est-à-dire dans le répertoire html/article/materiel/mac/, par le script de transfert. \layout Section Quelques conseils et autres commentaires. \layout Itemize Ne pas oublier qu'il existe des miroirs de wlfo. \layout Itemize Ne pas utiliser de liens symboliques pour réaliser la redirection, surtout quand il y a un changement de niveau dans l'arborescence de wlfo. \layout Itemize Ne pas utiliser javascript pour réaliser la redirection. \layout Itemize Le script en PHP doit être exécutable. Avec "-rwxr-xr-x", ça fonctionne, mais je ne sais pas ce que ça vaut d'un point de vue sécuritaire. \layout Itemize Selon la norme HTTP 1.1, une url de redirection doit être absolue. J'ai choisi de ne pas respecter cette norme afin que la redirection fonctionne également sur les miroirs de wlfo. J'ai vérifié le bon fonctionnement avec apache 1.3 et PHP 4 sous MacOS X et Netscape Navigator 4.5, 4.7 et 6, IE 5, OmniWeb et Lynx sous Linux et/ou MacOS X. La redirection avec une URL relative fonctionne. Seul Lynx signale par des messages qu'une redirection existe. Seul Lynx ne suit pas automatiquement la redirection dans sa version html. \layout Section Epilogue. \layout Standard Au moment où ce document est rédigé (5/2/02), les étapes 1 à 5 ont été réalisées. Nous en sommes donc à l'étape 6, et je ne sais pas combien de temps elle va durer. \layout Standard Le 21/03/02, google indique toujours l'ancienne adresse. \layout Standard Merci à Gilles pour ses conseils. \layout Section Annexes. \layout Subsection Le fichier de redirection index.html. \layout Verbatim -- 8< ---- 8< ---- 8< -- \layout Verbatim \newline \newline \newline \newline \newline \newline GNU/Linux sur Macintosh a déménagé ! \newline \newline \newline

\newline
\newline
\newline
\newline
\newline
\newline
\newline \newline GNU/Linux sur Macintosh a déménagé ! \newline \newline
\newline
\newline
\newline
\newline Vous serez redirigé dans 5 secondes. \newline
\newline
\newline
\newline
\newline \newline Si cela ne se produisait pas, veuillez cliquer ici pour continuer. \newline \newline

\newline \newline \newline -- 8< ---- 8< ---- 8< -- \layout Subsection Le fichier de redirection index.php. \layout Verbatim -- 8< ---- 8< ---- 8< -- \newline \newline -- 8< ---- 8< ---- 8< -- \layout Standard Ne pas oublier de mettre les droits en exécution sur ce script. \layout Subsection Le script de transfert sur la zone privée de wlfo. \layout Verbatim -- 8< ---- 8< ---- 8< -- \layout Verbatim #!/bin/bash \newline clear xbeep >/dev/null \newline echo "" \newline echo "*** ATTENTION, version transitoire pour le déménagement de la zone ! ***" \newline echo "" \newline echo "" \newline xbeep >/dev/null \newline echo "préparation de la copie locale" \newline cd ~/tmp >/dev/null \newline rm -rf wlfo >/dev/null \newline # cette partie est transitoire \newline mkdir -p wlfo/html/article/materiel/mac >/dev/null \newline # fin de partie transitoire \newline mkdir -p wlfo/html/macintosh >/dev/null \newline mkdir -p wlfo/ftp/macintosh >/dev/null \newline cd wlfo >/dev/null \newline echo "copie locale" \newline cp -padr ~/web/lxf-mac/resu/* html/macintosh >/dev/null \newline # mise en place de la redirection en html et php \newline # cette partie est transitoire \newline if [ -f html/macintosh/demenagement.html ]; then \newline CHEMIN="`pwd`" \newline cd html/article/materiel/mac \newline mv ../../../macintosh/demenagement.html index.html \newline mv ../../../macintosh/demenagement.php index.php \newline cd ../../../macintosh \newline rm -f demenagement.* \newline cd $CHEMIN \newline fi \newline # fin de partie transitoire \newline # replacement des fichiers niouzes \newline # faudra penser à ne plus générer les fichiers niouzes*.html \newline if [ -f html/macintosh/niouzes*.html ]; then \newline echo "copie des fichiers niouzes*.html" \newline cp html/macintosh/niouzes*.html html/. \newline rm -f html/macintosh/niouzes*.html \newline fi \newline if [ -f html/macintosh/niouzes.xml ]; then \newline mv html/macintosh/niouzes.xml html/niouzes.xml >/dev/null \newline fi \newline # replacement du fichier d'auto-présentation \newline if [ -f html/macintosh/quefaisje.html ]; then \newline mv html/macintosh/quefaisje.html html/quefaisje.html >/dev/null \newline fi \newline echo "copie sur wlfo" \newline xbeep >/dev/null \newline # l'option --dry-run sert pour les tests de transfert \newline #rsync --dry-run --perms --recursive --links --verbose --times --stats --delete --delete-excluded --progress --rsh=ssh ./* eherlent@linux-france.org:. \newline rsync --recursive --perms --links --verbose --times --stats --delete --delete-ex cluded --progress --rsh=ssh ./* eherlent@linux-france.org:. \newline echo "supression des fichiers temporaires" \newline cd ~/tmp >/dev/null \newline rm -rf wlfo >/dev/null \newline echo "transfert terminé" \newline -- 8< ---- 8< ---- 8< -- \the_end