Javascript ?

Eléphant du PHP | 130 Messages

03 sept. 2007, 17:58

Bonjour,

Je suis en train de me mettre à javascript pour AJAX.
Etant sur PHP, j'aimerai savoir si il est facile à apprendre et quels différences avec la syntaxe PHP ?

Merci.
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...

ViPHP
ViPHP | 928 Messages

03 sept. 2007, 18:04

PHP = langage execute cote serveur
Javascript = langage execute cote client (par ton navigateur)

Il est essentiel de comprendre ces differences pour comprendre la principale difference entre ces deux langages. Globalement la syntaxe du Javascript est differente de celle du PHP dans le sens ou tout se fait en objet. Le gros defaut de Javascript etant que son interpretation depend totalement du navigateur, et que les navigateurs Gecko et IE par exemple different sur pas mal de methodes ce qui est souvent lourd ...

Eléphant du PHP | 130 Messages

03 sept. 2007, 19:59

Inconvénient de javascript, c'est si le visiteur désactive la fonction prise en charge de javascript, c'est ça ?

Concerant les objets, tu parles des DOM ?

Merci.
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...

ViPHP
ViPHP | 928 Messages

03 sept. 2007, 20:57

La désactivation du Javascript est un inconvénient oui, car si tu bases tout ton site sur Javascript certains utilisateurs seront mis de côté. Pour le côté objet, je te laisse te documenter sur le language, en lui même, mais effectivement DOM a une grosse place en JS.

Mais pour prendre d'autres exemples, les chaînes sont aussi des objets :

Code : Tout sélectionner

var ma_chaine = 'salut'; window.alert(ma_chaine.length);
Le gros avantage de Javascript c'est que tu peux faire des applications très sympas et dynamiques, par exemple déplacer des morceaux de pages, modifier des styles dynamiquements, etc ... Il existe plusieurs Framework Javascript, dont Mootools par exemple qui fournissent pas mal d'outils sympa : http://demos.mootools.net/

Eléphant du PHP | 130 Messages

03 sept. 2007, 21:44

Merci bien Genova pour tous ces infos.

Pour commencer, je vais potasser mon livre javascript pour les nuls déjà :D
Pour me mettre par la suite à AJAX.

Encore merci Genova.
@+
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...

ViPHP
ViPHP | 1996 Messages

03 sept. 2007, 22:19

La différence de syntaxe est minime, les deux langages se ressemblent énormément. Attention à la déclaration des variables sous Javascript. Une variable mal déclarée et tout les scripts plantes (j'exagère mais si peu). Essaye de tout mettre dans des fonctions javascripts cela minimise les pertes de données

Le super avantage en Javascript comme l'indique Genova : la manipulation des DOM (des feuilles de styles CSS en autre). Avec "document.getElementById" (en autre mais byname, ElementsbyId,...), tu peux faire plein de truc sympatok . Ainsi tu peux prévoir sous PHP une sortie invisible pour l'utilisateur
echo '
<div id="petit_message" style="display: none">
Coucou le monde : remplace les "Hello World" que j\'ai pu lire dans les traductions édulcorées
</div>';
Et par exemple quelqu'un clic : (ici cellule <td>)

Code : Tout sélectionner

<td onclick="document.getElementById('petit_message').style.display='block';">Cliquez sur cette cellule</td>
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 5924 Messages

03 sept. 2007, 23:04

Ca dépend ce qu'on appelle la syntaxe. Si on considère que la syntaxe, ce sont les parenthèses les crochets, les for, les if, alors la syntaxe est quasiment la même dans pas mal de langages puisque c'est une syntaxe type C. Mais si on regarde la grammaire du langage, la façon d'écrire les variables, les classes, les objets, les fonctions, …, alors les langages sont très différents, rien que sur la façon dont on déclare une classe, ou bien alors les noms de variable, …
Mais plus encore que la syntaxe, qui s'apprend, les plus importantes différences sont dans la philosophie du langage. Il faut réussir à comprendre et assimiler cette philosophie. Par exemple, le javascript est ancré au document, il n'y a pas une ligne de code qui s'éxécute indépendamment du document. Le code dépend du document et le document dépend du code. Le php lui est orienté vers le serveur, ainsi que les données. Il traite les données d'une base, d'un formulaire, intéragit avec le serveur et produit un document résultat mais n'a aucune interaction avec le client ou avec le document qu'il produit…

Eléphant du PHP | 130 Messages

04 sept. 2007, 18:30

GENIALLL

Merci beaucoup pour les explications claires Sékiltoyai et Aureusms.
Je sens que je vais bien m'amuser avec javascript :D

Si j'ai bien compris l'idée, javascript est biensûr un language orienté objet (client/client), mais il est fait pour interagir en temps réel quasiment, avec le visiteur et à n'importe quel endroit du navigateur.
Je dirai même optimiser pour ça avec ajax !?

En tout cas merci beaucoup.
J'ai trouvé un bon compagnon pour PHP :D
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...

ViPHP
ViPHP | 5924 Messages

04 sept. 2007, 18:38

Pas optimisé, fait pour, à savoir que tu ne peux faire de l'AJAX (ou technologies similaires) qu'avec un langage qui s'exécute sur le poste client. En javscript tu commandes l'interface (ou le document), en php tu la génères.

Invité
Invité n'ayant pas de compte PHPfrance

04 sept. 2007, 18:50

Ok, je vois :D

En tout cas encore merci Sékiltoyai, j'ai bien compris la philosophie de ce language.
J'ai hâte de m'y mettre là.

@+

ViPHP
AB
ViPHP | 5818 Messages

05 sept. 2007, 03:15

Oui tu devrais pouvoir t'amuser!

Dans un premier temps peut-être devrais-tu utiliser des méthodes javascript compatibles avec tous les navigateurs récents. On peut déjà faire pas mal de choses sans se prendre la tête avec des pb d'incompatibilité en utilisant ces méthodes.

Par exemple, pour débuter, j'ai commencé par faire une petite interface graphique qui permet de générer des objets défilants http://www.abciweb.net/defilant.php?page=250

Ensuite ça se complique quand il faut gérer le code suivant les navigateurs, mais bon le jeu en vaut la chandelle :wink:

Une bonne adresse http://www.toutjavascript.com

Eléphant du PHP | 130 Messages

05 sept. 2007, 14:50

Hello AB,

Merci pour l'info :D

Au fait, il est bien fait ton système de panier !!!
Tu n'as pas eu trop de souci à faire tes fonctions en javascript ?

@+
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...

ViPHP
AB
ViPHP | 5818 Messages

05 sept. 2007, 22:25

Dans mon panier de sélection il n'y a pratiquement pas de javascript :wink:

Juste un "onchange" qui est doublé par un bouton "actualiser" pour rester compatible avec les visiteurs ayant désactivé javascript. Je voulais une accessibilité maximum...

C'est donc tout fait en php. J'ai fais ça comme exercice sur les tableaux multidimentionnels.

Le javascript m'a plus servi dans le premier lien que je t'ai donné pour faire l'interface graphique qui génére des objets défilants. Les changements de couleur avec la palette graphique par exemple n'auraient pas été possible sans javascript. C'était également un petit exercice pour débuter, mais qui est néanmoins opérationnel :wink:


PS: peut-être devrais-tu mettre un 's' à ailleurs dans "la vérité est ailleur"? Sinon, ça nous enseigne au moins une vérité, c'est que l'orthographe n'est pas ton fort :lol:
Enfin moi non plus, mais je signale cette faute car elle est dans ta signature :wink:

Eléphant du PHP | 130 Messages

06 sept. 2007, 01:54

Oups

Merci AB.

En parlant de formulaire, je suis en plein dans l'étude des formulaires sur toutjavascript.com l'un des chapitres les plus intéréssants avec les cookies puis AJAX, je pense !?

J'ai jeté un coup d'oeil rapide sur les mootools, qui m'ont l'air d'être très intéréssants.
T'as déjà utilisé ?

@+
Le vent souffle où il veut et tu en entends le bruit,
Mais tu ne sais d'où il vient, ni où il va ...