Hiboux Nomade Notes
 Joueur :    Mot de passe :    Automatique :         Inscription  


Mana Wyrd en code

Page: 1, 2, 3, 4, 5, 6, 7  -->
   Répondre au sujet   Forum >> Développement
Auteur Message

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Dim. 13 Fév 2011, 23:47  Répondre en citant

Comment Mana Wyrd est-il programmé ?



Beaucoup d'entre vous se demandent sûrement comment Mana Wyrd est programmé, ou plus généralement ce qu'est la programmation, comment ça marche, qu'est-ce qu'il faut écrire pour faire un site, et ce genre de choses

Je ne vous cache pas que c'est très compliqué si on veut faire un site comme Mana Wyrd, mais si vous voulez faire de petits projets (petits jeux, etc...), c'est plutôt ludique !

Je rajouterai que la programmation demande une longue expérience car le plus dur dans la programmation n'est pas tant de programmer mais plutôt de corriger les bugs : nul n'est parfait et le langage informatique exige la perfection absolue (au point virgule près). Au début, vous allez sûrement avoir du mal, chercher où vous avez pu vous tromper, pendant de longues minutes peut-être. Mais honnêtement, ca passe vite et personnellement, j'arrive à programmer sans trop de bug et à les corriger en moins de 5 secondes pour la plupart


Mais je vais plutôt vous parler de la programmation web. Quatre langages principaux, on va dire... Ce que je vais vous dire est réellement la base, c'est juste pour que vous compreniez mieux.


Principe de base :


Quand vous tapez une adresse dans votre navigateur ou quand vous cliquez sur un lien, votre navigateur demande au site une page. Ce site, hébergé sur un serveur très loin de vous, reçoit votre appel et regarde la page que vous avez demandé. Sur cette page, il y a du code PHP. Ce code PHP s'exécute. Il aura besoin à certains moments d'entrer en contact avec la base de donnée du site ; pour cela, il enverra des requêtes SQL, et recevra des résultats. Le code PHP continue donc de s'exécuter et va générer une page au format HTML. Cette page HTML est ensuite renvoyée du serveur vers votre navigateur, et votre navigateur se charge de la décrypter, de l'interpréter pour l'afficher. Ce code HTML renvoyé par le serveur, vous pouvez le voir sur toute page en faisant "clic droit => afficher la source" dans votre navigateur. Et éventuellement, s'il y a du code JavaScript parmi ce code HTML, votre navigateur l'exécute (sans repasser par le serveur cette fois !)



Le HTML :


Le HTML est un langage constructeur. Il est constitué de plein de balises, qui représentent la page que vous voyez. Votre navigateur change chaque balise en quelque chose de visuel. Par exemple, <b> représente du gras, <u> représente un texte souligné, <a href="http://www.google.fr">Texte du Lien</a> est l'analogue parfait de la balise BBCode [url]...


Le PHP :


Le PHP est donc le langage exécuté sur le serveur qui héberge le site, pas chez vous. C'est un "vrai" langage, avec des conditions (if), des boucles (while ou for), des variables (commençant par un $), des fonctions (function), etc...

C'est le langage qui fait tout le côté mobile d'un site (s'il n'y avait que du HTML, ce serait tout le temps les mêmes pages qui seraient affichées)


Le SQL :


Le SQL n'est pas toujours utilisé. On peut faire du HTML sans rien d'autre, on peut faire du HTML et du PHP sans SQL, et enfin, dès qu'on a besoin de stocker des données qui seront gardées entre deux chargements de page ou qui seront partagées entre joueur, une base de données devient indispensable.

La base de données est elle aussi gérée au niveau du serveur, votre navigateur n'a aucun lien direct avec la base de données, ca passe toujours par le PHP du serveur.

Un code PHP peut interagir avec la base de données au moyen de requêtes qu'il envoie et qui sont en langage SQL : SELECT pour récupérer des informations, UPDATE pour les modifier, DELETE pour en supprimer, etc...

La base de données retourne à chaque fois une réponse à ces requêtes.


Le JavaScript :


Last but not least, le JavaScript est encore une fois dispensable dans la création d'un site. Cependant, dès qu'il est nécessaire d'interagir sans devoir à chaque fois repasser par le serveur et recharger la page, le JavaScript s'impose. Le JavaScript est inclus dans le code HTML renvoyé par le serveur, mais c'est un vrai langage similaire au PHP : fonctions, variables, boucles, conditions... La syntaxe est juste un peu différente, et les fonctions le sont radicalement.

Le Javascript sert notamment lorsque vous cliquez sur le bouton "Tout sélectionner" et que vous voyez toutes les cases se sélectionner, ou lorsque vous cliquez sur un smiley et qu'il s'ajoute, ou tout ce genre d'interaction que ne permet pas le HTML tout seul.





Voici pour quelques principes généraux.

Je vais maintenant vous donner à titre d'exemples pour ceux qui sont arrivés jusque là une page de Mana Wyrd pour vous montrer ce que ça donne.

J'ai choisi l'infirmerie de Poudlard qui me semblait pas trop compliquée, mais suffisament représentative à la fois des langages mais aussi du mode de programmation de Mana Wyrd. C'est d'ailleurs la première fois que je dévoile ainsi la façon de coder de MW.

Je ne vais donner aucune explication sur le fonctionnement de ces codes, c'est à vous de les comprendre, rien ne vous empêche non plus d'aller dans l'Infirmerie de Poudlard pour aller les comparer à ce que vous voyez. N'oubliez pas non plus de regarder le code source pour voir les différences. Je suis partisan de la compréhension innée car je pense que simplement en regardant les codes, on devrait pouvoir comprendre comment ils fonctionnent, comment ils marchent, et même (pour ma part en tout cas) apprendre à programmer de la même façon.

Je précise enfin que ces codes sont une petite partie de ce qui est utilisé sur MW, et que si ces codes vous paraissent plutôt petits, il ne faut pas oublier qu'il n'y a pas que ça qui s'exécute : chaque fonction peut cacher des centaines de lignes de code présentes sur d'autres fichiers et que je ne vous montre pas ! En l'occurence, vous avez facilement plus de 2000 lignes de code qui sont chargées à chaque chargement d'une page de MW



Le code PHP de la page (exhaustif pour ce qui concerne uniquement le contenu infirmerie) :





Le code HTML de la page (exhaustif pour ce qui concerne uniquement le contenu infirmerie) :






Vous voyez apparaître HTML, PHP, et une requête SQL qui traîne

Vous voyez également mon mode de programmation anglais-francisé aux variables complètement farfelues

J'espère que maintenant vous comprenez mieux


Pour plus d'informations, je vous invite à consulter le Site du Zéro, sections PHP/SQL et HTML !


Dernière édition effectuée par un ancien joueur (Mer. 24 Aoû 2011, 15:19) ; édité 3 fois
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur
Illidan

Ancien(ne)





MessageDate du message: Lun. 14 Fév 2011, 17:26  Répondre en citant

Ben dis donc!Et dire que moi j'ai seulement appris le XHTML et le CSS et le PHP j'ai fini les bases sur le site du zéro je vois qu'il y a encore du travail!(J'en suis au cours sur la transmission des données en PHP :p )

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Lun. 14 Fév 2011, 18:30  Répondre en citant

Eh ouais il y a pas mal de choses à savoir, mais comme partout, on apprend au fur et à mesure des projets...
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur
Illidan

Ancien(ne)





MessageDate du message: Lun. 14 Fév 2011, 20:31  Répondre en citant

Hé oui; c'est sur, mais j'ai quand même bien avancé.Il me reste la fin du php et j'attaquerais le javascript
Meliane

Ancien(ne)





MessageDate du message: Mar. 15 Fév 2011, 00:52  Répondre en citant

Je trouve tes explication super, en plus on peut voir ce que le code donne en allant dans l'infirmerie. C'est génial.
Illidan

Ancien(ne)





MessageDate du message: Mar. 15 Fév 2011, 08:56  Répondre en citant

Tu peux voir ce que ça donne partout!Il suffit de faire clik droit et afficher le code source C'est valable pour n'importe quelle page web!

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Mar. 15 Fév 2011, 18:14  Répondre en citant

Oui mais je ne vous ai pas donné le code de toutes les pages web

Je pense que Meliane voulait voir ce que ça donnait par rapport au code
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur
Illidan

Ancien(ne)





MessageDate du message: Mar. 15 Fév 2011, 18:17  Répondre en citant

Ben juste ment; le code on peut le voir nous meme :p En faisant comme je l'ai dit au dessus clik droit et afficher le code source
Meliane

Ancien(ne)





MessageDate du message: Mar. 15 Fév 2011, 22:41  Répondre en citant

Effectivement tu as accès en cliquant droit au code source HTML, mais pas à celui en PHP !!!
Là on vois l'ensemble de la programmation qui comprends les deux codes.
Loukass

Ancien(ne)





MessageDate du message: Mer. 13 Avr 2011, 13:18  Répondre en citant

Encore une chose qui me fait dire que, Oui Arky j'ai énormément de respect pour toi
Montrer les messages depuis:   
Page: 1, 2, 3, 4, 5, 6, 7  -->
   Répondre au sujet    Forum >> Développement
Page 1 sur 7