Pour ceux que ca interesse, voici comment générer un fichier static à partir d'un fichier dynamic en PHP3 avec un seul serveur :
<?php
$fichier_source = "index.php3";
$fichier_destination = "toto.php3";
//recupération du contenu du fichier source
$php_source = " ".implode("", file($fichier_source));
//recherche des balise d'ouverture php
$pos_debut[0] = 0;
for ($i=0; strpos($php_source, '<?php', $pos_debut[$i]+1); $i++)
{
$pos_debut[$i+1] = strpos($php_source, '<?php', $pos_debut[$i]+1);
}
//recherche des balise de fermeture php
$pos_fin[0] = 0;
for ($i=0; strpos($php_source, '?>', $pos_fin[$i]+1); $i++)
{
$pos_fin[$i+1] = strpos($php_source, '?>', $pos_fin[$i]+1);
}
//le nombre de balise d'ouverture doit être égal au nombre de balise de fermeture
if (sizeof($pos_debut)<>sizeof($pos_fin))
{
echo "il manque une balise php";
exit;
}
//contruction d'une chaine 100% PHP
$PHP="";
$fin = -2;
for($i=1; $i<sizeof($pos_debut); $i++)
{
$deb = $pos_debut[$i];
//convertie les partie HTML du fichier source en php
$PHP .= 'echo "' . addslashes(substr($php_source, $fin+2, $deb-$fin-2)) . '";';
//ajoute les parties php sans les balises
$fin = $pos_fin[$i];
$PHP .= substr($php_source, $deb+6 , $fin-$deb-6);
}
//on remplace les echo par une chaine de caractère qu'on initialise
$PHP = '$HTML="";' . str_replace("echo", '$HTML .= ', $PHP);
//on execute la chaine $PHP
eval($PHP);
//on ouvre et on remplie le fichier de destination et on le ferme
if(!($fichier_destination = fopen($fichier_destination,"w" )))
{
echo "Probleme lors de l'ouverture d'un fichier";
exit;
}
fputs($fichier_destination, $HTML);
fclose($fichier_destination);
echo "fichier généré";
?>
Merci à tous ceux qui m'ont aidé