Archiver un site
De FphAdmin.
Lorsqu'un site n'est plus actif, il est préférable de l'archiver sous forme de page HTML statiques et ce, pour plusieurs raisons :
- un appel de page dynamique consomme toujours plus de ressources qu'un appel de page statique (pourquoi consommer des ressources pour un site qui n'est plus mis à jour ?)
- des pages statiques avec des liens relatifs migrent sans problème vers un autre emplacement si nécessaire,
- lorsqu'un site n'est plus à jour, les logiciels utilisés derrière ne le sont plus non plus, ce qui peut poser des problèmes de sécurité (si, par exemple, une faille de sécurité est découverte) ou de compatibilité (si l'ancienne version n'est pas compatible avec une nouvelle version de PHP ou de MySql par exemple)
On pourrait également conseiller pour un site qui n'est plus actif d'abandonner le nom de domaine et de stocker le site comme sous-domaine d'un domaine actif.
[modifier] Phase 1 : récupération des pages
Le logiciel wget avec les paramètres -r et -k est tout à fait adapté pour récupérer l'ensemble des pages d'un site. On peut donner une forte valeur au paramètre -l pour être sûr de récupérer tous les liens.
-E est un paramètre très intéressant puisqu'il met l'extension .html à tout fichier de ce type, c'est important pour les pages générées par des scripts.
Exemple :
wget -r -k -E -l20 http://doc.awele.net
D'autres options sont décrites dans le manuel.
Une option utile est -I pour ne conserver que certains répertoires.
[modifier] Phase 2 : vérification de la présence de tous les fichiers
wget récupère les fichiers dont le lien figure dans le code HTML (que ce soit les balises <img>, <a>, etc.). Quand une image ne s'affiche que via un appel de javascript, elle n'est pas récupérée. De même, les feuilles de style CSS importées via @import ou les images définies via url() dans le CSS ne sont pas récupérées. Il faut les récupérer « à la main ». Si on a accès aux contenus des répertoires et que tout est bien rangé, cela ne pose pas de problème. Sinon, il faut vérifier toutes les importations faites par le CSS et en javascript.
<link rel=\"alternate\" type=\"application/rss\+xml\" title=\"[^\"]*\" href=\"[\-\_a-z/]*feed\" />

