Javascript côté serveur

Eléphanteau du PHP | 10 Messages

24 mai 2006, 10:50

Lors d'une discussion, un utilisateur d'ASP m'a affirmé qu'il existait du javascript côté serveur. De plus, ce dernier serait compatible avec l'ASP mais pas avec le PHP.

Pour moi le javascript est un langage côté client, mais pourquoi pas. Autre point, je ne comprends pas trop pourquoi un tel langage, si il existe, ne serait pas compatible avec le PHP. Je suis donc très sceptique et je voulais avoir votre avis éclairé sur la question.

Gaston

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 mai 2006, 11:23

Il devait surement parler de VBscript. ;)

C'est un langage entre le VB et le Javascript mais qui reste un langage serveur, pas client. Donc plus proche de l'ASP que du Javascript
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

24 mai 2006, 12:49

En fait ça existe, ça s'appelle Rhino et c'est un projet Mozilla. (mon petit doigt me dit qu'on va en entendre parler de plus en plus)

Si tu veux l'interfacer avec PHP... euh... Rhino est écrit en Java donc il faut utiliser du Java en PHP pour exécuter du Javascript en Java en PHP. :lol:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

24 mai 2006, 14:07

En ASP on peut écrire du code vbscript, javascript, perlscript ou autres mais ils restent des scripts coté serveur.
Dans une page ASP, les balises qui déclarent le langage sont :
Au début de la page :
  • <%@LANGUAGE="Vbscript"%>
    ou <%@LANGUAGE="Javascript"%>
    ou <%@ LANGUAGE ="PerlScript"%>
N'importe où dans la page :
  • <SCRIPT Language="vbscript" runat="server">
    'code vb
    </SCRIPT>
    ou <SCRIPT Language="javascript" runat="server">
    //code javascript
    </SCRIPT>
    ou <SCRIPT Language="perlscript" runat="server">
    #code perl
    </SCRIPT>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 10 Messages

24 mai 2006, 14:49

Merci pour ces réponses. Donc en gros avec ASP, on peut écrire du code javascript côté serveur qui ne sera donc pas visible dans la page HTML renvoyé au navigateur. Par contre l'intérêt du javascript c'est justement d'être interprété côté client pour permettre des "intéractions" sans recharger la page.

Donc là le fait de mettre du Javascript ou de l'ASP revient au même et n'apporte rien de plus qu'une page faite en PHP?
Modifié en dernier par Gaston le citron le 24 mai 2006, 15:15, modifié 2 fois.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

24 mai 2006, 15:13

Non.
L'ASP et le PHP sont 2 langages serveur, le Javascript est un langage client.

Invité
Invité n'ayant pas de compte PHPfrance

24 mai 2006, 15:35

Non.
L'ASP et le PHP sont 2 langages serveur, le Javascript est un langage client.
Ecoutez, le Javascript est un langage, d'accord mais il n'est pas toujours le langage client, il peut être exécuté coté serveur aussi.
Et il n'y a pas que javascript qui peut être exécuté coté client, en principe tous les langages-scripts peuvent l'être. exemple vbscript ou perlscript.

Seulement certains navigateurs ne peuvent exécuter d'autres scripts que javascript car la machine vituelle java (JVM) est intégrée dans pratiquement tous les navigateurs contrairement aux interpréteurs de vbscript et à perlscript.
Mais ceci dit, Internet Explorer par exemple, peut interpréter les sripts javascript et vbscript.

Tenez un exemple sous IE:
<script language="vbscript">
'ce script est écrit en vbscript et s'exécute côté client

'voici une procédure d'affichage
sub afficher(texte)
	msgbox (texte)
end sub

'Voici son appel
afficher ("Coucou, c'est votre navigateur qui exécute ce script!")
</script>

<script language="javascript">
//ce script est écrit en javascript et s'exécute côté client

//voici une procédure d'affichage
function afficher(texte) {
	alert (texte);
}

//Voici son appel
afficher ("Coucou, c'est votre navigateur qui exécute ce script!");
</script>

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

24 mai 2006, 16:14

Quand les gens disent "langage serveur" ou "langage client" ils pensent surtout à l'usage. Tu as raison quand tu dis que tous les langages-scripts peuvent être interprétés côté client, même PHP mais ça n'aurait aucun intérêt :) Pour Javascript côté serveur, les seules applications que j'en ai rencontré étaient la transformation par XSLT utilisant des plugins Javascript, ou encore des tests unitaires JS, voire certaines applis qui créent automatiquement des captures d'écrans de sites distants, mais son usage est très limité.

En revanche, je doute que la machine virtuelle Java ait un rapport avec l'exécution de Javascript dans les browsers contemporains.