Bonjour à tous,

J'ai un site perso (http://bartemon.net) et plusieurs sites amis qui m'ont donnés leur aval afin de faire une page "routeur" (bandeau figé en haut avec lien vers les différents site et une page centrale qui permet la navigation)
Vous trouverez le modèle à http://bartemon.net/_SOTF/

Cela fonctionne très bien pour mon site en PHP, mais pour certains sites, je perds le bandeau.

Je ne souhaite pas demander aux autres sites de modifier leurs pages pour satisfaire ma demande.

Je ne suis pas un pro du developpement (ça viendra peut-être avec de la persévérence) mais il doit certainement exister un moyen relativement simple ? (à question simple, réponse compliqué !!)

J'ai pourtant suivi les tuto d'un des "posts" précédement envoyé, mais en vain :

a écrit :
si tu as les droits sur le 2ème site, tu peux toujours en PHP demander depuis le 1er site à télécharger le contenu d'une page du 2ème site, la traiter/transformer/nettoyer/élaguer (d'autant mieux que tu as la maîtrise sur l'évolution de ces pages) et l'intégrer au contenu de ton 1er site.
En PHP5 en particulier, il y a pas mal de fonctions assez puissantes et pas trop compliquées. Entre autres fonctions:
http://fr2.php.net/manual/fr/function.stream-get-contents.php
http://fr2.php.net/manual/fr/ref.curl.php
http://fr2.php.net/manual/fr/function.fsockopen.php (the hard way, voir la fin de la doc° dans "Voir aussi:" )
Ensuite pour se débarrasser de tout le HTML superflu et ne garder que le contenu qui t'intéresse, les expressions régulières feront le boulot.
Désavantages de cette méthode si par exemple les 2 serveurs ont le même nombre de pages vues:
- le 2ème serveur aura le double de charge entre ses propres visiteurs et ceux du site 1, sauf si un cache est possible (si le contenu est le même quelque soient les visiteurs).
- le site 1 va être lent (il doit attendre la page du serveur 2).
- il va travailler inutilement (code superflu et expressions régulières à traiter),
- la bande passante consommée sera doublée (serveur1-visiteurs ET serveur1-serveur2).
- au moindre changement dans la structure des pages de serveur2, il faut adapter les regexp du serveur1


Il serait un poil plus simple d'avoir le contenu commun aux 2 serveurs sous une forme commune et un peu standard: services web, fichiers XML (SimpleXML en PHP5, c'est vraiment bête comme chou à gérer ), etc



Merci d'avance à tous.
Modifié par rockinbart (06 Mar 2007 - 19:17)
Administrateur
Bonjour,

avec la solution que j'indiquais, il faut extraire du contenu de la page quelques infos du <head> (où est la feuille de styles, quel est le <title> de la page, etc) puis recopier tout ce qui est entre <body> et </body> dans ta page. Est-ce que tu as réussi à construire une expression régulière pour les sites valides ou à peu près?
Si le site comporte des <BODY> ... </HTML> et autres joyeusetés, ça va compliquer la manip' ...

Avec les frames de la page que tu as mis en lien, je n'ai pas de soucis (Opera 9), mais ça vient peut-être des hébergements à la {censuré} qui pour afficher leurs pubs sur les pages qu'ils hébergent rajoutent des <script> avant même le doctype et un peu n'importe où en fait ... (le problème n'est pas d'afficher des pubs en échange d'un service gratuit mais de le faire de cette manière-là Smiley bawling )
Ces scripts peuvent avoir pour fonction de "reprendre le dessus" sur une page qui les incluerait (une parade connue contre leurs pubs, normal qu'ils luttent contre) ...
Bonjour et merci pour la réponse.

Je vais retenter l'opération en appliquant au mieux tes conseils. Le résultat est une demande des visiteurs qui trouverait cela pratique. Il faut donc que j'arrive à le faire tourner pour (presque) tous les navigateurs.

Je tiens au courant !

Frédéric