8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,
Je vous expose mon problème concernant l'utilisation d'un iframe. J'ai déjà vadrouillé le web, et le forum mais je n'ai jamais trouvé de réponse à mon problème.

En effet aujourd'hui j'utilise une iframe pour insérer une page internet hébergé sur un autre serveur que le mien. Cette page a un structure HTML complète (section head...). En fait, j'ai crée une boutique en ligne sur le site Spreadshirt et je souhaiterais intégrer cette boutique sur mon site. La boutique est hébergée sur leur serveur.

Je sais que les iframes sont nuisibles au référencement d'un site, car tout se passe au niveau du navigateur et non du serveur. Je me suis donc intéressé à la fonction PHP include qui permet d'importer des fichiers. Néanmoins cette fonction ne permet pas d'importer la page qui m'intéresse. En effet à la fin, je me retrouve avec deux structures HTML complètes, ce qui est incompréhensible pour le navigateur. Ce problème a d'ailleurs été expliqué sur alsacréations (http://www.alsacreations.com/tuto/lire/579-Inclure-un-fichier-dans-un-autre-grace-a-PHP.html).

Aussi voici mon problème : existe-t-il une solution pour résoudre mon problème, à savoir intégrer cette page HTML (à structure complète) dans mon site Web tout en ne nuisant pas au référencement ?

Merci d'avance pour vos réponses,
Michel

PS: peut être que finalement l'iframe dans ce cas là reste la seule solution possible.
PS2 : je suis un néophyte et je ne suis pas un pro du code, puisque j'utilise Rapidweaver sur Mac OS, donc soyez indulgent
Hello iznogoud13 et bienvenue, Smiley smile

effectivement l'élément IFRAME me semble être la bonne solution pour ce que tu veux faire.
Heyoan a écrit :
effectivement l'élément IFRAME me semble être la bonne solution pour ce que tu veux faire.
Smiley langue

Pour préciser un peu il serait possible de récupérer le contenu distant (par exemple avec file_get_contents), de parser la chaîne de caractères pour n'afficher que ce qui se trouve entre <body> et </body> mais d'une part c'est se compliquer la vie pour rien et d'autre part comme il s'agit d'une boutique en ligne cela risquerait de poser des problèmes au niveau des formulaires (ou autres...)
Ok c'est justement ce que je me demandais (ie récupérer le contenu de la partie body seulement).
J'ai donc deux questions désormais :
- où puis-je me renseigner pour cette procédure ? (ça m'intéresse quoiqu'il arrive)
- penses-tu que j'ai un référencement pourri avec mon iframe ? J'ai essayé d'optimiser son référencement en insérant une variable longdesc, et en rajoutant du texte dans le cas où quelqu'un aurait un navigateur qui ne puisse lire des iframes. Je ne pense pas que je puisse faire mieux.

Merci pour ton aide
Michel
Pour la doc de file_get_contents : http://fr2.php.net/manual/fr/function.file-get-contents.php

Pour parser tout ça, je t'avoues que parser quelque chose à part un array en php me file de l'urticaire.

Tu peux toujours "fouiller" dans le fichier html pour trouver <body> et </body> et retirer tout ce qui existe avant et après avec les fonctions de string, mais tu vas avoir de sacrés problèmes avec les éventuels css et js qui sont rattachés au fichier chargé.


La solution la plus simple est l'iframe mais il y a de fortes chances que google considère ton iframe comme un lien vers le serveur externe plutôt que comme du contenu propre à ton site (vu qu'après tout, tu affiches du contenu qui n'est pas forcément le tien).

Ceux qui gèrent l'autre serveur ne proposent pas de solutions plus fonctionnelles pour intégrer leur contenu à d'autres sites ?
Merci pour l'info.
Le plus simple serait d'avoir accès à un fichier php et de pouvoir utiliser la fonction include.
Je vais m'empresser d'écrire à l'autre serveur pour leur exposer mon problème.
Je vous remercie tous les deux pour votre aide.
Michel

PS: je n'ai pas moyen d'optimiser encore plus mon iframe ?