[très débutant]Gecko

Vous cherchez une solution complète et libre ? La curiosité vous presse de poser des questions sur SeaMonkey (successeur de la suite Mozilla), et vous ne parvenez pas à trouver de réponses ? Venez ici, et trouvez votre bonheur.

Modérateur : Mori

Répondre
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

[très débutant]Gecko

Message par ma2th »

Bonjour,

Désolé de poser des questions aussi simples à vous, experts du monde mozilla... :D
Je voulais juste savoir si quelqu'un peut m'expliquer en quoi consiste gecko exactement. Est-ce qu'il s'agit d'une sorte d'API qui permette d'interpréter du javascript? Est-ce qu'on peut l'utiliser comme telle?
Merci de me répondre. Si ca n'apprend rien aux autres, ca fera une dose de rappel! :lol:

Matthieu
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

gecko c'est le coeur de tout les projet de mozilla.org.

C'est le moteur d'affichage, c'est lui qui est capable d'interpreter du code html, xhtml, xul... Pour crée une pages à afficher. C'est lui aussi qui vas savoir manipuler les document grace à javascripte.

On vas incorporer gecko dans un projet quand on vas vouloire afficher des pages html.


Mais gecko est capable d'aller beaucoup plus loin encore, car grace à xul, on vas dire que c'est un melange de xhtml enrichie et de javascripte pour manipuler tout cela on peux crée de vrais programme qui n'ont pas grand chose à envier à jave :

une petit exemple : http://robin.sourceforge.net/



Effectivement gecko utilisant la même licence que mozilla, il est librement utilisable. Soit sous sa forme code source donc récupére uniquement ce qui nous interesse. Soit sous la forme activex, il existe un projet qui à fait le portage, à déconseiller tout de même car on pert la portabiliter. Ou alors utiliser la force de gecko par l'intermediaire d'une application xul qui tournerais dans mozilla...

En esperant avoir sufisament était claire...
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

Message par ma2th »

Merci jv2759!
C'est assez clair! :wink:
donc, est-ce qu'il est possible avec cet ensemble ou avec un composant de ce gros projet d'avoir un outil tel qu'on puisse lui soumettre une page HTML avec du javascript et qu'il renvoie une page HTML interprétée? Je m'explique...
Par exemple, je lui soumets le code:

Code : Tout sélectionner

<html><head>...</head>
<body>
bonjour!
<script language="javascript">
document.write ('<im'+'g src="to'+'to.jpg">');
</script>
</body></html>
et qu'il me renvoie le code:

Code : Tout sélectionner

<html><head>...</head>
<body>
bonjour!
<img src="toto.jpg">
</body></html>
C'est possible ca?

Merci pour votre aide...

Matthieu
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je ne sais pas, certainement, mais si j'était toi je ne rentrerais pas dans un telle projet...

Car le javascripte et avant tout un language destiner à la manipulation de pages html. Ton exemple et tres limiter car il ne concerne que le document.write. Mais comment réagire quand c'est une fonction qui doit modifier une image l'or d'un survole? Et ce n'est qu'un exemple, mais il y en as 1000 comme cela.

Donc en passant énormement de temps tu devrait peut-être arriver à quelque chose mais qui seras compatible avec 1 site sur 1000...

Par contre si c'est pour tes site que tu veux faire cela alors je vais te dire arrete là tout de suite, tu passeras moins de temps à apprendre à utiliser php qui lui est fait pour cela est qui donc ne demanderas aucune manipulation...
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

Message par ma2th »

Merci!

En fait je t'explique mon projet. je cherche à récupérer les élements constitutifs d'une page. Pour le HTML, pas de pb, je recherche les balises <img>, <object>...
seulement, avec le javascript, la tache est plus compliquée car les balises sont souvent coupées (comme dans l'exemple ci-dessus) et du coup je ne les repère pas. J'ai bien pensé à ne rechercher que les document.write mais c'est pas très possible car on ne retient pas le cas suivant:

Code : Tout sélectionner

var im='im'+'g src=toto.jpg';
document.write('<'+im+'>');
entre autres... :cry:

tu ne penses donc pas que gecko peut m'aider là-dessus?

Merci pour ton aide.

Matthieu
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Tu veux récupérer de maniére automatique ou pas. Car sinon il existe le dom inspector qui te permetra de récupérer la structure de la pages.

Mais de tout fasson je pense personnelement que ce seras beaucoup de travail pour pas grand chose au final. Mais tu peux toujours essayer.

Si tu veux que ce soit une application autonome, le mieux dans ce cas serais de crée une application zul qui pourais acceder par javascripte au dom de la pages donc à sa structure entiére. Mais je ne connais pas encore sufisament pour t'en dire beaucoup plus...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Salut,
Il me semble que ce que tu veux faire est exactement ce que fait le php... Interpréter un script et l'afficher en HTML, c'est exactement ça ;-)
Le javascript ne sert qu'à manipuler des objets de manière dynamique, on ne peut pas le "figer".
Mais pour php il te faut un serveur (Mozilla/Gecko n'est qu'un client), par exemple Apache.

Je noterais au passage que le moteur Gecko ne fait pas que d'afficher des pages Web... l'interface de Mozilla (mais aussi de Firefox et d'autres) est constuite en XUL et affichée par le moteur Gecko... tout ce que tu vois dans Mozilla, c'est du Gecko ;-)
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

Message par ma2th »

Merci Calimo!
Mais en fait, le problème c'est pas ca! :D je me suis mal exprimé.
je suis en coeur de réseau et je vois passer les différentes pages. Les pages utilisant le php ont été compilées sur le serveur donc j'ai bien le code HTML. Par contre, les pages contenant du javascript ne sont pas interprétées (chez le client).
et moi, en coeur de réseau, je voudrais interpréter les pages javascript pour avoir le code http correspondant (ce que fera le navigateur chez le client).
voilà. c'est possible?
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

je ne sais pas exactement ce que tu cherche mais éventuelement tu ne pourais pas récupérer tout les requette des poste client pour voir les ressoure auqu'elle il accede?

Sinon tu veux faire quoi exactement?
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

Message par ma2th »

En fait, je suis entre le serveur Web et le poste utilisateur, sur un proxy. Je vois le document que renvoie le serveur Web suite une requête du client.
par exemple:

Code : Tout sélectionner

                              page.html
-------------   <<<-------------------     ----------------
| utilisateur |                           | Serveur Web |
-------------   ------------------->>>     ----------------
                            page.html?
Ici, je vois donc le document page.html. (beau dessin, n'est-ce pas?). je vois son code source. j'aimerais prévoir les prochaines requêtes, c'est-à-dire celles correspondant aux éléments qui constituent la page (images, flash, ...).
Lorsqu'il n'y a que du code html, ca ne pose pas de problème. il suffit de regarder les balises (<img, <object...).
Mais, A CAUSE ( :lol: ) du javascript, elles peuvent être écrites n'importe comment:

Code : Tout sélectionner

document.write ('<im'+'g src="to'+'to.jpg">');
par exemple.
Donc, je me suis dit qu'il fallait essayer d'interpréter le javascript. C'est pour cela que je voulais essayer d'utiliser SpiderMonkey ou Gecko.
Mais d'après vous, c'est pas trop jouable... :(

Si c'est pas bien expliqué, je peux le refaire.

Merci pour votre aide.

Matthieu
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Les document.write datant d'une autre époque, tu peux tenter de les supprimer si tu as un peu de contrôle sur le contenu, ou les interdire... Il n'y a rien de plus stupide que document.write pour créer du contenu, alors qu'il pourrait simplement être accessible à tous sous forme de HTML simple et tout ce qu'il y a de plus normal.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

ma2th a écrit :En fait, je suis entre le serveur Web et le poste utilisateur, sur un proxy. Je vois le document que renvoie le serveur Web suite une requête du client.
par exemple:

Code : Tout sélectionner

                              page.html
-------------   <<<-------------------     ----------------
| utilisateur |                           | Serveur Web |
-------------   ------------------->>>     ----------------
                            page.html?
Ici, je vois donc le document page.html. (beau dessin, n'est-ce pas?). je vois son code source. j'aimerais prévoir les prochaines requêtes, c'est-à-dire celles correspondant aux éléments qui constituent la page (images, flash, ...).
Lorsqu'il n'y a que du code html, ca ne pose pas de problème. il suffit de regarder les balises (<img, <object...).
Mais, A CAUSE ( :lol: ) du javascript, elles peuvent être écrites n'importe comment:

Code : Tout sélectionner

document.write ('<im'+'g src="to'+'to.jpg">');
par exemple.
Donc, je me suis dit qu'il fallait essayer d'interpréter le javascript. C'est pour cela que je voulais essayer d'utiliser SpiderMonkey ou Gecko.
Mais d'après vous, c'est pas trop jouable... :(

Si c'est pas bien expliqué, je peux le refaire.

Merci pour votre aide.

Matthieu
Si j'ai bien comprit c'est uniquement pour précharger des pages en cache avant la requette pour optimiser le téléchargement.

Si c'est bien cela alors igniore les document.write car maintenant c'est vraiment de moins en moins employer, le cas que tu decrie

Code : Tout sélectionner

document.write ('<im'+'g src="to'+'to.jpg">');
et tout de même plus que rare

Je pense que tu perdrat enormement de temps pour trouver une solution à ce probléme pour au final avoir un gain de temps de 0.0001% pour l'utilisateur final. Regard les source au plus simple et ignore le reste en pret chargement.


PS : Prévoire c'est bien, mais tu vas prévoire de combien? Car si toi tu ressoi la pages, le client la ressois dans 1 fraction de second, donc tu vas ralentire un peux la diffusion de la pages pour entisiper une requette d'une millisecond peut-être...
ma2th
Arias
Messages : 10
Inscription : 24 juin 2004, 08:40

Message par ma2th »

Merci tous les deux!

C'est vrai que le document.write est relativement ancien mais il est mine de rien régulièrement utilisé, et par des gros sites notamment. :?
En fait, le but n'est pas de précharger mais c'est similaire. Si je ne tiens pas compte des document.write, ca mefait du déchet (surtout que quand un site y a goûté, il en met plusieurs dans ses pages :evil: ). Mais bon, je crois que c'est ce que je vais faire quand même car ca me prendra trop de temps autrement.

Merci!

Matthieu
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités