Aperçus de plusieurs sites dans une seule page

Aperçus de plusieurs sites dans une seule page - Divers - Programmation

Marsh Posté le 23-04-2013 à 14:24:12    

Bonjour à tous,
 
Cela fait 2 jours que je passe mon temps à chercher des infos sur les forums mais je ne trouve rien qui fonctionne dans mon cas :( je m'explique :
 
J'aimerai développer une page web regroupant l'aperçu de plusieurs sites (une sorte de portail), mais dont le contenu de la fenêtre de chaque site soit à l'échelle (un dézoom de tout le site et non  juste le coin en haut à gauche). En fait, faire comme Chrome ou Firefox à l'ouverture d'un nouvel onglet, quand ils nous proposent les sites les plus consultés (en fait j'aimerai faire exactement ça : http://zdnet.fr/i/edit/39382993/go [...] age-06.jpg mais en ligne)
 
J'ai déjà tenté avec les Iframes, mais si je veux des petites fenêtres de 300*120 par exemple, je n'ai que le coin en haut à gauche du site contenu dans la iframe, et non un aperçu global.
Le redimensionnement à l'intérieur de l'iframe n'est pas possible par Javascript car les sites pointés ne sont pas sur le même domaine (donc ça n'est pas possible avec javascript) pour des raisons de sécurité).
 
J'ai également cherché côté PHP, ou j'ai trouvé la fonction file_get_contents($url) (http://php.net/manual/fr/function. [...] ntents.php) très performante puisqu'elle aspire le contenu d'une page en une ligne, mais je n'arrive pas ensuite à redimensionner ce contenu à la taille de ma petite fenêtre d'aperçu. J'ai trouvé également la possibilité d'utiliser la fonction Curl (http://www.dinduks.com/tutoriel-re [...] avec-curl/) qui fait la même chose, donc même problème.
 
J'ai ensuite tenté en JEE avec la classe URLConnection (http://docs.oracle.com/javase/tuto [...] iting.html) mais je n'arrive pas à passer le proxy car mon réseau passe par un script qui gère automatiquement le proxy. J'ai cherché aussi du côté HttpClient (http://hc.apache.org/httpcomponent [...] start.html) mais il est plus difficile à comprendre et j'ai peur d'arriver au même résultat.
 
Et pour finir, j'ai également pensé à générer des vignettes (images) de sites pour pouvoir facilement les redimensionner, par exemple avec le canvas.toDataUrl() (http://stackoverflow.com/questions [...] pg-png-pdf) mais les canvas ne sont pas compatibles avec IE.
 
 
Quelqu'un aurait-il une idée supplémentaire ?  :)  :sarcastic:  
Je vous remercie d'avance !!

Reply

Marsh Posté le 23-04-2013 à 14:24:12   

Reply

Marsh Posté le 26-04-2013 à 12:29:39    

Pas d'idées créatives...?  :ange:

Reply

Marsh Posté le 26-04-2013 à 13:07:57    

Ta dernier solution est a mon avis la bonne, avec une librairie pour les probleme IE, comme : http://code.google.com/p/explorercanvas/downloads/list

Reply

Marsh Posté le 26-04-2013 à 14:06:31    

C'est gentil d'avoir répondu !
J'essaye donc de suivre cette piste là mais finalement j'ai l'impression que Canvas n'est utile que pour dessiner des formes à l'intérieur, et que coller du contenu htlm dedans n'a pas l'air possible... ce qui me pose problème.
Confirme-tu ?

Reply

Marsh Posté le 26-04-2013 à 14:14:17    

klitzounet a écrit :

C'est gentil d'avoir répondu !
J'essaye donc de suivre cette piste là mais finalement j'ai l'impression que Canvas n'est utile que pour dessiner des formes à l'intérieur, et que coller du contenu htlm dedans n'a pas l'air possible... ce qui me pose problème.
Confirme-tu ?


 
Je confirme a priori. Je pensais que tu avais une idée  de la manière de faire. Pour servir des miniatures de sites côté client il faut les générer côté serveur et donc:
 
- récupérer  le code source de la page côté serveur (avec curl par ex, ou php...)
- Donner cela à un moteur de rendu côté serveur, comme webkit2png ou khtml2png (Il y en a peut-être d'autres)  
- Afficher l'image.
 
Voila pour faire simple amha.
 
 

Reply

Marsh Posté le 26-04-2013 à 14:35:46    

La première étape de récupération du contenu c'est bon je l'ai.
Pour la deuxième je suis allé voir comme tu m'as dis :  
 - webkit2png : si j'ai bien compris, il utilise le moteur webkit de safari pour générer en ligne de commande la miniature d'un site (sans être passé par la 1ere étape de récup de contenu). En tout cas le rendu est génial !
 - khtml2png : si j'ai bien compris encore une fois, il utilise les librairies de Konqueror pour exécuter des scripts Python encore une fois en ligne de commande.
 
Donc tout cela doit être fait côté serveur par une personne qui appuie sur un "bouton" pour lancer le script à une heure précise qui va récupérer des screenshot à une heure précise aussi ?
Pas de possibilité de génération de screenshot "à la volée" à l'ouverture d'une page web par n'importe quel utilisateur ? :/  :(  
 
Je te remercie encore

Reply

Marsh Posté le 26-04-2013 à 14:39:21    

klitzounet a écrit :

La première étape de récupération du contenu c'est bon je l'ai.
Pour la deuxième je suis allé voir comme tu m'as dis :  
 - webkit2png : si j'ai bien compris, il utilise le moteur webkit de safari pour générer en ligne de commande la miniature d'un site (sans être passé par la 1ere étape de récup de contenu). En tout cas le rendu est génial !
 - khtml2png : si j'ai bien compris encore une fois, il utilise les librairies de Konqueror pour exécuter des scripts Python encore une fois en ligne de commande.
 
Donc tout cela doit être fait côté serveur par une personne qui appuie sur un "bouton" pour lancer le script à une heure précise qui va récupérer des screenshot à une heure précise aussi ?
Pas de possibilité de génération de screenshot "à la volée" à l'ouverture d'une page web par n'importe quel utilisateur ? :/  :(  
 
Je te remercie encore


 
Ben si: quand tu appelles ton url, ca exécute un script php côté serveur. Où qu'il soit sur ton serveur, depuis ce script tu appelles l'exe en ligne de commande à l'aide de la fonction system (http://php.net/manual/fr/function.system.php). Ca genère un png à l'endroit que tu lui spécifie. T'as plus qu'a créer un tag img toujours en php avec en src le lien de l'image et le tour est joué (en théorie) :o


Message édité par gelatine_velue le 26-04-2013 à 14:39:52
Reply

Marsh Posté le 26-04-2013 à 14:47:23    

Merci beaucoup !  :jap:  
Je pense qu'avec ça je devrais réussir !! En plus ça permet une indépendance du navigateur donc compatible partout on peut pas demander mieux :)
 
Bon après midi à toi merci de t'être plongé là-dedans

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed