Dyn2Html - Dynamic To Static Html

Dyn2Html - Dynamic To Static HtmlDyn2Html est un produit Open Source et gratuit qui vous permet de transformer un site Web dynamique (en PHP, ASP, PERL, etc.) en un site statique HTML. Ce script est écrit lui-même en PHP et s'adresse essentiellement aux administrateurs de sites Web. Mais pourquoi un tel produit ? Où est l'intérêt de disposer d'un site statique par rapport à un site dynamique ?
Nous allons essayer de détailler les inconvénients liés à l’exploitation d’un site dynamique en Php et les avantages que procure son passage en statique :
  • Un site web dynamique est plus lent qu’un site web statique, cette différence de performances encore plus flagrante pour un nombre important de visiteurs comme c’est le cas sur les hébergements mutualisés
  • Un site web dynamique peut être moins bien référencé par les moteurs de recherche qu’un site statique ; par exemple, les sites Web dans lesquels la même page est appelée avec des paramètres numériques pour indiquer le contenu

Mais tout d’abord, quel est le principal avantage d’un site dynamique ? C’est bien le fait que la mise à jour de la base de données qui habituellement est derrière est répercutée en temps réel sur le site. La question qui doit être posée est : « Avons-nous réellement besoin d’une telle réactivité ? ».

Sauf quelques exceptions, la fréquence de mise à jour d’un site Web est directement liée au type du contenu, comme par exemple :
  • Blog : mise à jour chaque 5 minutes
  • Actualités/Informations : chaque 30 minutes
  • Site de présentation d’une entreprise : chaque jour
  • Site web « vitrine » d'une entreprise / association : chaque semaine
Par conséquent, pour votre site qui ne change de contenu que quelques fois pas semaine, un site Web dynamique ne justifie pas ses inconvénients !

Que fait Dyn2Html dans ce cas ? Tout simplement, il convertira votre site web dynamique en pages statiques HTML, et ceci sur demande ou périodiquement.

Dyn2Html va parcourir votre site Web à partir d’une URL d’entrée (http://www.votresite.com/index.php), en identifiant toutes les pages de votre site accessibles par les visiteurs. Par la suite, il enregistrera les fichiers .HTML ainsi obtenu sur votre disque, en veillant à remplacer tout lien vers le site dynamique par un lien vers la nouvelle page statique.

Comment organiser votre site Web dans ce cas ? Nous vous proposons la démarche que nous avons adopté pour notre propre site Web :
  • Un site Web dynamique en local, sur votre poste de travail, sur lequel nous réalisons nos modifications (si votre site Web est réalisé avec PHP/MySql, nous vous conseillons la suite EasyPhp - http://www.easyphp.org)
  • Notre script dyn2html.php en local également,
  • Votre site Web avec un simple hébergement HTML distant, sur lequel vous allez déployer les fichiers .html fabriqués par Dyn2Html

Documentation

Fichiers

Mais pourquoi plusieurs fichiers? Dyn2Html est composé d’un seul fichier, dyn2html.php, qui peut être appelé en ligne de commande (Linux forever ! :) ou via un serveur http (Apache forever ! :).

Dyn2HTML v0.91 Dyn2HTML v0.91 9.94 Kb



Vous trouverez également dans l’archive
  • DYN2HTML.PHP : le script proprement-dit,
  • SYNCHO.SH : un fichier SHELL, qui est un exemple de la façon d’automatiser dyn2html sur un serveur Linux ou CygWin sous Windows,
  • README.TXT : la documentation de Dyn2Html,
  • LICENCE.TXT : la licence GPL.

Installation

Deux cas de figure se présentent pour l’installation :
  • Pour une utilisation en ligne de commande : extraire le fichier dyn2html.php dans le répertoire de votre choix et lui donner les droits pour une exécution (Linux)
  • Pour une utilisation via le Web : le placer dans un répertoire accessible de votre arborescence Web

Utilisation

Enfin, allons générer votre nouveau site statique !

Tout d’abord, éditez le fichier dyn2html.php pour indiquer les paramètres d’utilisation. N’ayez peur, seules les premières 5 lignes doivent être modifiées, une version ultérieure du produit permettra la réception des paramètres en ligne de commande ou via un formulaire Web.

$LIVE_SITE="http://www.altersystems.eu";
$OUTPUT_DIR="output/";
$LINK_REPLACE_BAD= array("/","?","=","é","è","ê","à","â","î","û","ô",""","á","â","é","è","ê","î","ô","û","ç","&");
$LINK_REPLACE_GOOD=array("", "" ,"" ,"e","e","e","a","a","i","u","o","","a" ,"a" ,"e" ,"e" ,"e" ,"i","o" ,"u" ,"c" ,"-");
$REGEX_AHREF="#
function getContent($url)
{
[...]


Dans ce fichier, modifiez :
  • $LIVE_SITE : l’URL d’entrée sur votre site Web dynamique
  • $OUTPUT_DIR :le répertoire local dans lequel enregistrer les fichiers HTML identifiés

Enregistrez le fichier, et exécutez-le :
  • En ligne de commande : « php dyn2html.php »
  • En Web : « http://votre_site_local.com/repertoires/dyn2html.php »

Dyn2Html.php prend en certain temps pour parcourir votre serveur dynamique et en extraire le contenu HTML. Pour www.altersystems.fr (environ 40 pages), le script met moins de 20 secondes.

Vous trouverez dans le répertoire de « OUTPUT » l’ensemble des pages statiques composant votre nouveau site Web statique. Il suffit de les copier sur votre serveur Web pour que votre site statique soit en ligne.

Attention, Dyn2Html ne modifie pas les images, les feuilles de style (CSS) et autres fichiers que vous aviez sur votre site Web dynamique. Il est nécessaire d'uploader également les répertoires et fichiers qui ne font pas partie du contenu HTML.

Exemple :
Si votre site dynamique a une arborescence :
  • /index.php
  • /images/
  • /css/

Votre site final devra comporter également les répertoires « images » et « css », avec le même contenu, de façon à ce que les pages html puissent garder les même liens que les pages dynamiques :
  • /.html
  • /images/
  • /css/

Automatisation des mises à jour

Mais comment automatiser la génération de mon site Web ? Rien de plus simple à faire, je parle bien dans un environnement Linux : )

Le fichier synchro.sh qui est fournit dans l’archive de Dyn2Html est un exemple classique de mise à jour du serveur statique, sur le même serveur que celui dynamique (simple copie de fichier) ou sur un autre serveur (par ftp).

Nous allons analyser ligne par ligne ce fichier :

#!/bin/sh
###############################################################################
# Dyn2Html : exemple d'utilisation automatisée de Dyn2Html
###############################################################################
# Créé par Alter Systems SARL, www.altersystems.fr
# Distribué sous licence GPL
###############################################################################
# D'abord, aller dans le répertoire ou dyn2html.php est installé
cd /root/prodproc
# Lancer le script, après avoir modifié les 2 paramétres $LIVE_SITE et $OUTPUT_DIR
/usr/bin/php dyn2html.php
# 1ère solution : copier les fichiers dans le répertoire web du site statique et donner les droits à l'utilisateur apache:apache
cp -Rf output/* /www/eu/httpdocs/
chown -R apache:apache /www/eu/httpdocs/*
# 2ème solution : utiliser ncftpput pour uploader les fichiers obtenus sur un serveur ftp distant
ncftpput -R -u altersys -p votre_mot_de_passe ftp.altersystems.fr /www/ /www/eu/httpdocs/*

Téléchargement

05/10/2006 : Version 0.9
Dyn2HTML v0.91 Dyn2HTML v0.91 9.94 Kb


ALTERSYSTEMS.FR | Expert en solutions informatiques autonomes | Tel : 04 72 29 19 34 | Fax : 04 26 23 66 92