[(#REM) Tunnel : squelette principal À inclure en précisant l'identifiant du tunnel qu'on veut utiliser. Si on omet, c'est le 1er déclaré. Les tunnels et leurs étapes doivent être déclarés via le pipeline decrire_tunnels. Les squelettes des étapes se trouvent dans inclure/tunnel/ Si on n'a pas le droit de voir l'étape demandée, on ramène aux précédentes. Paramètres : - tunnel : type de tunnel, défaut = le 1er déclaré - parametre_etape : query string utilisée pour l'étape, défaut = 'e' ] #CACHE{0} #SET{parametre_etape,#ENV{parametre_etape,e}} #SET{tunnel,#ENV{tunnel}|tunnels_infos{#ENV{#GET{parametre_etape}},#ARRAY{parametre_etape,#GET{parametre_etape}, env, #ENV**|unserialize}}} [(#REM) S'il y a une étape trouvée mais différente de celle demandée, on fait une vraie redirection ] #SET{rediriger,#GET{tunnel/etape}|et{#GET{tunnel/etape}|!={#ENV{#GET{parametre_etape}}}}|?{'oui'}} [(#GET{rediriger}|non|sinon_interdire_acces{#SELF|parametre_url{#GET{parametre_etape},#GET{tunnel/etape}, &}, 302})] [(#REM) Squelette de l'étape : On cherche en priorité dans un dossier spécifique au tunnel courant : inclure/tunnel//.html Sinon dans le dossier commun à tous les tunnels : inclure/tunnel/.html ] #SET{fond_prioritaire,#VAL{inclure/tunnel/#GET{tunnel/tunnel}/#GET{tunnel/etape}}} #SET{fond_secondaire,#VAL{inclure/tunnel/#GET{tunnel/etape}}} #SET{fond,#GET{fond_prioritaire}|concat{.html}|find_in_path|?{#GET{fond_prioritaire},#GET{fond_secondaire}}}
[(#GET{tunnel}|oui) [(#REM) Nom du tunnel ] [(#ENV{afficher_titre_tunnel}|et{#ENV{afficher_titre_tunnel}|!={non}})

[(#GET{tunnel/titre_tunnel})]

] [(#REM) Menu des étapes ]
[(#REM) Nom de l'étape courante ] [

(#GET{tunnel/titre_etape})

] [(#REM) Étape courante ]
] [(#REM) Erreur : aucun tunnel ou aucune étape ] [(#GET{tunnel}|non)

[(#TRADUIRE{Erreur})]

[(#TRADUIRE{Une erreur s’est produite})]
]
[(#REM) Pour forcer saisies à charger son js ]