Page 1 sur 1
Accés au source de la page affichée par Firefox
Publié : 09 déc. 2012, 21:11
par bg693
Bonjour,
Toutes mes excuses si ma question vous paraît naïve : je voudrais que mon programme (php) récupère le code source de la (ou des) page(s) affichée(s) par Firefox.
Je sais (à peu près) le faire sur le serveur, mais je trouverais des avantages à le faire sur le poste client (et ça éviterait par la même occasion de charger le serveur avec mes requêtes).
Bien entendu,je parle d'un accès direct, en "temps réél", et non d'un passage par un fichier d'abord enregistré manuellement.
J'ai consulté des centaines de réponses Google sur le sujet, et je n'ai jamais trouvé ce thème traité, ce qui me semble étonnant.
J'ai bien trouvé des extensions qui traitent le source dans des buts très divers mais, là non plus, d'après ce que j'ai vu, aucun ne fournit un accès au code source de la page pour un programme.
Merci d'avance.
Votre Navigateur : Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Re: Accés au source de la page affichée par Firefox
Publié : 10 déc. 2012, 09:43
par teoli2003
Le code source n'est pas stocké et disponible via un script. Seul l'arbre DOM l'est.
En fait quel est ton but? Pourquoi que veux-tu faire avec le source?
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20121209 Firefox/20.0
Re: Accés au source de la page affichée par Firefox
Publié : 10 déc. 2012, 10:41
par bg693
Merci pour ta réponse.
Mon but est de parser le code source, comme je pourrais le faire si je l'avais chargé depuis le serveur.
C'est pour des usages privés, et j'ai de nombreux cas où ça me serait utile. Un exemple parmi des tas d'autres : traiter automatiquement les informations de mon compte bancaire ; je n'ai aucune envie de tester de nombreuses fois les protections du serveur de ma banque avant d'arriver à récupérer la page, alors qu'elle est disponible dans le navigateur après la connexion manuelle sécurisée.
Intellectuellement, ça me semble plus satisfaisant de travailler sur des données locales, donc "légitimement" appropriées.
J'ai bien vu à travers mes recherches que DOM était peut-être une solution, mais je ne vois pas de quelle manière on peut adresser les pages traitées par Firefox depuis l'extérieur de l'application.
Dans les exemples que j'ai pu trouver, l'adressage de la page se fait toujours par l'url, donc fait appel au serveur.
Est-il possible :
* à partir d'un script (javascript ?) exécuté sur le poste client (dans une page html stockée dans le système de fichiers local)
* d'accéder aux autres documents DOM traités par le navigateur (à travers l'objet Window ?) ?
Sinon, même s'il s'agit d'une voie beaucoup plus ardue à mettre en oeuvre, l'API de FF doit bien donner la possibilité que je recherche ?
Tu as bien compris que je ne suis pas vraiment un spécialiste, mais si tu me confirmes la piste je suis prêt à y passer du temps.
Cordialement.
CF
Votre Navigateur : Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Re: Accés au source de la page affichée par Firefox
Publié : 11 déc. 2012, 10:00
par teoli2003
J'ai fais un petit test et, ça, en JavaScript, ça marche:
Code : Tout sélectionner
var $root = document.getElementsByTagName("html");
var $source = $root[0].innerHTML;
console.log($source);
En action:
http://jsfiddle.net/vXw8U/
Evidemment, là j'ai mis dans la console mais tu peux en faire ce que tu veux.
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20121209 Firefox/20.0
Re: Accés au source de la page affichée par Firefox
Publié : 11 déc. 2012, 12:57
par bg693
Merci. Ton script me permet de franchir un pas.
Mais pour régler la question, il faudrait que le "document" DOM pointé dans le script soit celui d'une autre fenêtre de Firefox.
Et ça, j'ai l'impression, après avoir parcouru des pages de documentation de DOM, que ce n'est pas possible depuis Javascript.
Si j'ai bien compris, l'interface DOM de Firefox ne permet pas de remonter au-delà de la fenêtre où se trouve le script (sauf s'il y a un lien parent/enfant avec l'autre fenêtre).
Je crois donc qu'il faut que je cherche du côté d'autres interfaces dans l'API de Firefox, avec un langage qui le permette.
CF
Votre Navigateur : Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Re: Accés au source de la page affichée par Firefox
Publié : 11 déc. 2012, 14:35
par teoli2003
Ce n'est pas possible depuis un site web, pour des raisons de sécurité (sinon un site web pourrait sniffer les autres pages ouvertes du navigateurs).
Par contre au niveau d'une extension, c'est je pense possible.
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20121209 Firefox/20.0
Re: Accés au source de la page affichée par Firefox
Publié : 11 déc. 2012, 15:34
par bg693
Oui, j'ai vu ça entretemps ; impossible si les pages ne sont pas du même domaine, pour des raisons de sécurité.
Mais bon, un accès depuis le "domaine" localhost, en lecture seule, on aurait pu penser que ça ne mettait pas en danger la Défense Nationale...
Et je suis arrivé à la même conclusion, il faut développer une extension, ce qui me semble un peu disproportionné par rapport à l'objectif initial.
Je vais tout de même explorer ça, pour le fun.
Votre Navigateur : Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0