Y a d'autres méthodes, mais pas forcément garanti que ça soit un gain ^^
Méthode 1 : avec le php
- les liens ressemble à ça :
<a href='?etape=2'>Etape 2</a>
- avec des if et $_GET, on affiche ce qu'on veut; tout ce qui est commun à toutes les pages est placé hors des ifs (dont le head). En jouant un peu en php, on peut même adapter le titre de la page
->> avantage : très peu d'ajout de code par rapport au html;
->> désavantage : ça charge la page à chaque fois; c'est difficilement lisible pour peut que le code html soit long.
Méthode 2 : via le javascript
Dans le fichier html, on met en div les différents contenus de pages; en appliquant le style "display:none" à tous ceux après le 1.
Les liens deviennent :
<a href='' onclick='affiche(2)'>étape 2</a>
Et le javascript va mettre en "display:block" la div id="etape-2" et en "display:none" toutes les autres.
->> avantages : pas besoin de recharger la page, ce qui permet des effets classe.
->> désavantages : si l'utilisateur n'a pas de javascript, ça ne marchera pas; ça va donc impliquer un fallback... qui n'est autre que la proposition d'origine (et donc chaque contenu est doublé, plus casse-pied à maintenir); on rajoute une fichier javascript; c'est très, mais vraiment très mal référencé
Les autres méthodes sont des dérivés de celles-là du type :
-> php + fonction include (avec 1 fichier par étape pour voir plus clair)
-> javascript + fonction load() -en JQuery- (avec 1 fichier par étape, pour éviter la redondance)
-> php + javascript : pour avoir un fallback sur la même page, avec les div "none" en fonction du $_GET
-> php + javascript + include : 1 fichier par étape + fallback sur la même page
Après, reste à voir si dans le cas de pages statiques ça a le moindre intérêt, et là j'ai un gros doute.
La seule que je garderais (à moins que t'ai des envies d'effets spéciaux comme sur mon site), c'est la version php + include. C'est la plus lisible, la plus claire, la mieux référencée (surtout cumulée avec de l'URL rewriting) et la plus simple à maintenir (structure html n'est que sur une seule page)