Aller au contenu

Vignette de site web


Sujets conseillés

Posté

Bonjour,

Je voudrais faire un script PHP permettant de créer de vignettes (snapshots) de site web (via son url).

Ce script devra forcément utiliser des programmes côté serveur (j'en suis consciens).

J'ai fait beaucoup de recherches sur le net, afin de trouver un script, mais en vain...

J'en ai trouvé pour des serveurs Windows, mais j'ai un serveur dédié Linux (CentOs 5.1) donc ça fonctionne pas évidemment.

Le seul site proposant quelque chose d'un tant soit peu convaincant était celui-ci : http://www.boutell.com/webthumb/

Mais hélas, il garde le "chrome" du navigateur Mozilla et il utilise Perl (ce que je ne veux pas).

Je sais que ça doit être faisable, mais j'avoue que je ne sais plus où ou quoi chercher exactement.

Bien évidemment, il y a beaucoup de site proposant ce genre de service (payant ou gratuit), mais je voudrais pouvoir faire des vignettes de sites directement à partir de mon serveur Linux, sans avoir à passer par un autre site.

Est-ce que quelqu'un peut me venir en aide ou au moins me guidé vers ce qui pourrais être une solution ?

Merci d'avance pour vos réponses.

A+,

Leon

Posté

Salut,

Je crois me souvenir que Dan avait à l'époque concocté un script précisément dans ce but là (pour les pages hub, je crois)...

A++

Posté

Bonjour et merci pour vos réponses.

Salut,

Je crois me souvenir que Dan avait à l'époque concocté un script précisément dans ce but là (pour les pages hub, je crois)...

A++

Pas sur qu'il le distribue en open-source :P


/>http://khtml2png.sourceforge.net/ peut-être? Le composant important dans l'histoire c'est libkhtml qui contient le moteur de rendu, le reste c'est de l'habillage suivant ce que tu cherches à faire exactement.

Jacques.

Non, hélas, je connais, mais ça requière KDE, je me vois mal installer KDE sur un serveur et surtout sécuriser le tout juste pour faire des vignettes (le boulot serait beaucoup trop gros et long). libkhtlm, c'est pour les versions Linux avec un interface graphique plutôt que pour les serveur en ligne de commande...

Mais merci quand même :)

En fait, je me demande vraiment si j'arriverai à trouver quelque chose pour faire mes vignettes automatiquement.

S'il y a des sites qui le propose c'est que ça doit être faisable, mais je me demande si les sources sont disponibles (payantes ou gratuites)...

Si vous avez d'autres idées, je reste preneur :)

A+,

Leon

Posté

Ca fait longtemps que je n'ai pas touché un serveur avec X installé, mais je ne vois pas en quoi KDE serait si difficile que ça à sécuriser... Ce n'est pas parce qu'il est installé que tu as besoin de lancer un serveur X ouvert de l'extérieur. Tu lances juste un framebuffer accessible uniquement en local, et c'est fini. Et je pense que tu ne trouveras aucun moteur de rendu HTML un tant soit peu complet et à jour sans un serveur X. Libkhtml est justement fait pour ça, c'est un moteur de rendu, tu peux le lancer sur n'importe quel serveur X, y compris le frame buffer qui est purement virtuel.

A ma connaissance tous les services existants de génération de vignettes utilisent forcément la même méthode: un serveur X frame buffer, et soit libkhtml, soit le browser complet et un peu de découpe, ou alors l'équivalent Windows avec un browser complet un minimum contrôlable et de la capture d'écran. Pas de miracle, à moins que tu ne veuilles faire le rendu toi-même, et tu vas voir que faire un moteur de rendu HTML+CSS complet et à jour c'est un sacré boulot (et je ne parle même pas des plugins genre flash).

Jacques.

Posté

Hmm, ça mérite réflexion, en effet...

En fait, ce que je pensais faire, c'est installer firefox sur mon serveur et lui "dire" de se connecter à une url, pour ensuite prendre un screenshot (printscreen) qu'il placerai dans un dossier temporaire.

Avec cette méthode, il faudra surement que je touche au code source de firefox, afin d'en retirer les "chromes".

L'opération pourrait se faire avec une tâche planifiée (cron) et une base de données d'url...

Maintenant, j'avoue que je cherche la solution la plus simple et la plus légère... ce n'est peut-être pas ce que je devrais faire...

Vous pensez que c'est faisable de faire des vignettes juste avec FireFox ?

Sinon, j'essayerai la solution libkhtml ou peut-être celle du lien que j'ai posté dans mon premier message (qui m'a l'air plus légère)...

A+,

Leon

Posté (modifié)

Salut tlm,

Voilà, j'ai installé Xvfb, FireFox, Xorg et ImageMagick sur mon serveur histoire de procéder à quelques tests.

Ca à l'air de fonctionner, mais j'ai un petit problème au niveau de FireFox... à chaque fois que je le démarre sur le serveur et que je prend un screenshot, j'ai un message d'erreur qui apparait devant le screenshot : "Voulez-vous restaurer la session précedente de Firefox... Restaurer/nouvelle session"... hum :)

C'est pas un gros problème, mais j'aimerais savoir comment faire pour que ce message n'apparaisse plus.

J'ai regarder dans le fichier prefs.js de FireFox et fait des recherche à son sujet, mais hélas, je n'ai pas trouvé...

Personne ne sait quelle ligne il faut ajouter pour régler ça ?

Après cela mon systeme de vignette d'url devrait être fonctionnel...

Merci d'avance.

A+,

Leon

EDIT = J'ai parlé trop vite ^^

user_pref("browser.sessionstore.resume_from_crash", false);

user_pref("browser.sessionstore.enabled", false);

Je test et je noterai quoi, si ça intéresse qq'un d'autre que moi :)

Modifié par kasleonr
Posté

Je ne vois pas bien l'intérêt de cette méthode par rapport à la méthode libkhtml qui est pratiquement faite pour ça. Si tu peux faire tourner Firefox tu peux faire tourner libkhtml, puisque c'est ce que Firefox utilise, et tu devrais avoir un contrôle nettement plus précis de ce qui se passe...

Jacques.

Posté

Bin en fait tu as raison Jacques =)

J'ai testé les 2 méthodes.

Celle avec FireFox fonctionne, mais il y a des bandes noires autour de l'image et il faut retirer les chromes.

C'est faisable d'automatiser ça avec PHP GD, en rognant le contour.

La méthode libkhtml est plus propre et plus rapide (elle requière moins de commande), en plus on sait prendre un screenshot de toute une page d'un site (de haut en bas, même si la page est très longue, pas de scroll quoi) et bien évidemment il n'y a pas de bande noir ou de chrome à retirer.

Bah, voilà... au moins j'aurais testé les 2 méthodes pour me faire un avis perso =)

Merci pour tes conseils en tout cas.

A+,

Leon

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...