8796 sujets

Développement web côté serveur, CMS

Bonjour!

J'utilise Limesurvey, un environnement OpenSource installé sur "mon" espace de serveur, pour produire des questionnaires en gérer la diffusion, récolter les résultats ....
Selon une programmation que je préférerais ne pas toucher même si j'en comprenais les méandres, Limesurvey gère la création des pages HTML dont il a besoin.

Sur une page WEB, je souhaite assigner une fenêtre à LimeSurvey tout en faisant cohabiter cette fenêtre avec des "zones sémantiques" distinctes et indépendantes (menus, éléments graphiques, résultats mis à jour, flux...).

À la lecture des tutos rendus disponibles par Alsacréations, il me semble que l'utilisation de "include()" ne soit pas indiquée, puisque dans les fait chacune des sources indépendantes produit une page html "complète" avec ses propres "Head" et "Body".

Il semble aussi que l'option "sur serveur" soit à privilégier ou incontournable. Je compte donc faire mes premiers pas avec PHP.

En bref, je crois que ma question se résume ainsi :
Quelles façons élégantes puis-je utiliser pour faire cohabiter plusieurs "fenêtres" dans une même page WEB quand certaines de ces fenêtres sont en fait des pages html complètes ?

Merci à l'avance.
Modifié par MarXup (10 Jul 2010 - 23:04)
Salut,

MarXup a écrit :
Quelles façons élégantes puis-je utiliser pour faire cohabiter plusieurs "fenêtres" dans une même page WEB quand certaines de ces fenêtres sont en fait des pages html complètes ?
En fait il n'en existe pas : tu peux (pourrais) utiliser un élément IFRAME ou un élément OBJECT mais cela n'est pas sans conséquence pour l'accessibilité : cf. http://openweb.eu.org/articles/finir_cadres/

Le mieux serait de ne récupérer que le code généré par LimeSurvey entre <body> et </body> et de l'inclure dans ta page. Par exemple :
$chaine = str_replace("\n", "", file_get_contents('http://www.alsacreations.com/'));
preg_match('#<body>(.+)</body>#i', $chaine, $matches);
$chaine = $matches[1];
echo $chaine;

Modifié par Heyoan (07 Jul 2010 - 11:27)
Merci beaucoup Heyyoan
En plus d'être rapide, ta réponse me semble complète et très crédible.

Il me reste à expérimenter ce que tu propose, à réussir à le faire fonctionner.

À suivre...
Administrateur
Bonjour,

Heyoan a écrit :
mais cela n'est pas sans conséquence pour l'accessibilité : cf. http://openweb.eu.org/articles/finir_cadres/

l'article ne parle que des frames, pas des iframes ("cadres en ligne" en français par opposition aux cadres = Frames) enfin je crois.
En utilisant des Iframes, il faut veiller à utiliser un attribut title pertinent pour annoncer le contenu de ceux-ci aux lecteurs d'écran. Mais si tu (MarXup) peux construire en PHP ou autre langage serveur une page qui s'en passe avec la solution d'Heyoan, c'est encore mieux Smiley jap
'lut Felipe, Smiley smile

Felipe a écrit :
l'article ne parle que des frames, pas des iframes ("cadres en ligne" en français par opposition aux cadres = Frames) enfin je crois.
Ah oui tiens ! Autant pour moi.
En guise d'épilogue, mon erreur est ici
MarXup a écrit :

Selon une programmation que je préférerais ne pas toucher même si j'en comprenais les méandres, Limesurvey gère la création des pages HTML dont il a besoin.


La solution élégante implique sans doute d'intervenir avant que Limesurvey n'ait produit le code HTML.
Ça semble faisable, mais difficile. Enfin pour moi.

Merci encore