LightBen a écrit :
Merci pour cette réponse très détaillée et précise =)
Nouvelles questions :
1) comment se servie de NodeJS ? C'est un framework avec des fichiers à installer, il contient des fonctions précises... ?
C'est pas un framework, c'est une bibliothèque (library). Et je ne l'ai jamais employé, mais c'est plus complexe que quelques fonctions. Je sais qu'OCR a un très bon tuto dessus
(le voici). Mais j'avoue ne m'y être jamais penchée.
a écrit :
2) Donc quelqu'un pourrait par exemple se passer de l'apprentissage PHP (j'exagère, mais dans l'idée) pour n'utiliser pour un projet que Ruby en back end ? (même question avec Python)
C'est tout à fait possible, et ta proposition de départ n'est pas une exagération. Il est tout à fait possible de ne programmer qu'en Ruby ou en Python sans savoir écrire deux lignes de php.
Après, comme pour le NodeJS, cette optique a le défaut que sur les serveurs apache, c'est php qui est installé de base, pas python ou ruby ^^
a écrit :
3) En gros, pour le back end, il y a le choix entre plein de trucs, languages, frameworks, mais pour le front il n'y a que HTML et CSS (et éventuellement JS) et pour les bases de données seulement SQL (avec choix de plateforme) ?
Pour le trio front (html, css, js), pour la simple raison que ce sont les seuls langages d'affichages compris par les navigateurs, enfin à moins de passer en actionscript (flash) ou java ^^
Pour le SQL, il existe des alternatives, mais moins répandue. Tu peux en découvrir sur cet article par exemple :
http://blog.octo.com/des-alternatives-aux-bases-de-donnees-relationnelles…/
a écrit :
4) Pourquoi on utilise un langage de données ? ça sert à quoi ?
Langage de données ? Tu veux dire format de données (comme le json ?). Si oui, ça sert à être compréhensible par plusieurs langages (le JSON est exceptionnel dans le domaine ^^)
a écrit :
5) Je reprends mon précédent post : Pour AJAX, comment on s'en sert, il n'y a que la fonction xmlhttprequest() ou il y a d'autres fonctions spécifiques qui permettent de changer la page sans la rafraichir ? Pour quelles utilisations on peut s'en servir ? Pour l'instant, je vois les formulaires (si faux, alors afficher message d'erreur, etc), ou les notifications comme pour facebook...
Il n'y a que cette fonction, mais elle ne sert en fait qu'à faire le lien entre le php et le javascript. Et y a plein d'autres applications, je vais t'en donner quelques-unes tirées de mon projet, ça change de la programmation "classique", vu que c'est un jeu en ligne.
Par exemple, l'alchimie, la partie découverte se structure ainsi :
fichier alchimie.php
PHP :
- récupère dans la bdd (mysql) les ingrédients que possède le joueur
HTML/CSS (base2.css) + PHP:
- mettent en place la page d'alchimie, avec la liste des ingrédients disponibles (grâce à PHP) et les 4 cases maximum où peuvent se trouver les ingrédients
- le tout en multilingue (grâce au php)
- sur un template simpliste maison (base2.php)
Javascript (alchimie.js), quand le joueur ajoute un ingrédient dans la liste :
- récupère de l'id de l'objet
- supprime l'objet de la liste des objets encore utilisable (passage skin dessin à skin transparent + changement de la class pour qu'il ne réagisse plus au clic)
- ajout l'objet dans la liste des ingrédients en cours (skin transparent à skin dessin + changement de class + remplissage d'un formulaire hidden)
- récupère l'id des ingrédients de la liste (parcours du formulaire hidden)
AJAX aller :
- envoie en méthode POST les id des ingrédients
PHP (ajax.alchimie.php):
- vérif' de sécurité (que ça soit bien des ids qui soient fournis)
- vérifie que le joueur possède bien ces objets (via Sql)
- Fait chercher au SQL la liste de recettes possibles avec ces ingrédients
- adapte sa réponse en fonction de la ligne précédente (pas de recettes/recettes mais ingrédients manquants/recette ok)
- fait une réponse sous forme d'un tableau, contenant le texte qui devra être affiché, ainsi qu'un code pour le javascript
- traduit cette réponse en json (json_encode) et affiche cette réponse (avec un simple echo)
AJAX retour :
- renvoie le json au javascript
Javascript 2 (alchimie.php) en succès de l'ajax :
- décode le json pour le transformer en tableau de variable
- en fonction du code du php; met à jour une div avec le contenu du json
Dans le même genre, une chatbox en php/javascript va aussi nécessiter de l'ajax, sous peine de recharger la page sur laquelle elle se trouve.
Un autre cas où je l'utilise, toujours pour mon jeu, c'est pour faire l'encodage de carte.
page PHP/HTML qui affiche la carte en fond d'un tableau dont les cases sont remplies par une image vide. Chaque case a une coordonnées dans les tables (map/x/y) et un id dans le genre "img-x-y".
Quand je clique sur une case pour passer de marchable à non-marchable (et réciproquement), mon javascript récupère les coordonnées de la case (map via champ hidden, x et y via l'id de l'image); transmet via ajax ces coordonnées au PHP qui va fouiller dans la table et faire toutes les vérifs d'usage (c'est bien des chiffres, cette carte existe, ces coordonnées existent) et basculer le champs marchable de 0 à 1 et réciproquement.
La transmission en ajax dans l'autre sens transmet simplement un true ou false.
Si c'est true; le javascript change d'images pour signaler que la case est passé de marchable à non-marchable.
Ici l'ajax se justifie pour éviter de transformer mon tableau en formulaire à valider, la sauvegarde de l'action se faisant immédiatement.