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

Gagnant du jeu de l'oie


Messages : 1741
Guilde : Les Marchombres
Maison : Serpentard
Poudlard : 6e année
MessageDate du message: Dim. 04 Mar 2012, 22:52  Répondre en citant

je me suis lancé dans l'apprentissage du HTML, si j'y arrive (y a pas de raison) je me lancerai dans le php.

Qui sais peut être qu'un nour vous aurez une candidature de programmeur de ma part

_________________
Voir le profil du joueur Envoyer un Hibou Fiche de personnage RP

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Dim. 04 Mar 2012, 23:00  Répondre en citant

C'est cool ! Je suis ravi d'avoir réussi à lancer des personnes ici dans la programmation, parce que c'est tellement bien et on a tellement besoin de gens

Je te souhaite bon courage en tout cas !

_________________
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur
Ancien(ne)

Ancien(ne)





MessageDate du message: Jeu. 19 Juil 2012, 17:35  Répondre en citant

La conception du site même est intéressante, mais vous devriez faire attention car vos pages sécuritaires et même cachées sont très vite trouvable, votre source php m'a l'air bien facile à décrypter ! Sinon aucun problème vous vous débrouillez comme des chefs, j'ai beaucoup de connaissance en codage notamment l'action scripte, donc le flash, si je peux aider pour des petits truc, je serai là, mais je ne veux pas être pris à temps plein ayant déposé une candidature en tant que graphiste.

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Ven. 20 Juil 2012, 11:11  Répondre en citant

Je veux bien que tu m'envoie un hibou pour me parler de ces problèmes de sécurité, je suis curieux

Merci sinon !

_________________
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur

Joueur


Messages : 2732
Guilde : Aucune
Maison : Serdaigle
Poudlard : 6e année
MessageDate du message: Mar. 15 Jan 2013, 16:13  Répondre en citant

Citation de Meliane :
Effectivement tu as accès en cliquant droit au code source HTML, mais pas à celui en PHP !!!

C'est normal et heureux

Le PHP on l'appelle en début d'HTML si on a des fichiers bien particuliers codés exclusivement dans ce langage. SInon,on peut l'utiliser direct dans le HTML

Ca me fait penser que je dois sérieusement me remettre à coder avant d'oublier



Citation de Gream :
La conception du site même est intéressante, mais vous devriez faire attention car vos pages sécuritaires et même cachées sont très vite trouvable, votre source php m'a l'air bien facile à décrypter

Tu as accès à la base de données ?
En théorie si tu ne l'as pas, bon courage pour accéder aux pages sécuritaires non ?




Arkandias> J'ai deux années d'apprentissages de codages derrière moi et comme pour toi, le site du 0 a été une sorte de Bible pendant plus d'un an. J'ai fait un site de covoiturage en projet de code, donc si tu as besoin de moi pour des trucs ciblés, hésite pas^^
Voir le profil du joueur Envoyer un Hibou Fiche de personnage RP

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Sam. 26 Jan 2013, 13:47  Répondre en citant



Voilà une image que j'ai trouvée sur Facebook aujourd'hui, je trouve qu'elle va pas mal dans ce topic, ou je devrais peut-être la mettre dans les annonces de Bugs & Failles en guise d'introduction

_________________
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur
Erinyes Lindorie

Ancien(ne)





MessageDate du message: Sam. 26 Jan 2013, 14:15  Répondre en citant

*Participe pas trop ici, tout simplement parce que les screen me parlent pas trop encore x'D*

Sinon...

Moi je code pas, j'y connais rien à part un tout ti peu de HTML et BBcode (truc de forum quoi), mais alors php... Et comme je bosse sur un projet perso avec une amie qui elle, se tape tout le codage, on a parfois droit à ça dans nos convers'...Hein Shin ?

Sinon, j'me permets une petite traduction pour les non-anglophonnes :
Oui parce que pour certains, ça peut paraitre évident quand on connait, d'autres non ^^'

Citation :
Top 20 des réponses données par les programmeurs quand leurs programmes ne marchent pas

20 - "C'est étrange..."
19 - "Ça n' jamais fait ça avant."
18 - "Ça fonctionnait hier."
17 - "Comment c'est possible ?"
16 - "Ça doit être un problème de matériel informatique."
15 - "Qu'est ce que tu as tapé de faux pour que ça plante ?"
14 - "Il y a quelque chose de faux dans tes données."
13 - "J'ai pas touché ce module en semaine !"
12 - "Tu dois avoir la mauvaise version."
11 - "C'est juste une malheureuse coïncidence."
10 - Je peux pas tout tester !"
9 - "CA ne peut pas être l'origine de CA !"
8 - "Ça marche, mais ça n'a pas été encore testé."
7 - "Quelqu'un doit avoir changé mon code."
6 - "As-tu regardé si t'as pas un virus dans ton système ?"
5 - "Quoique je fasse, ça marche pas ! Comment ça se fait ?"
4 - "Tu ne peux pas utiliser cette version sur ton système."
3 - "Pourquoi tu veux faire ça de cette façon ?"
2 - "Où étais-tu quand le programme a bugué ?"

Et la première réponse que font les programmeurs quand leurs programmes ne marchent pas :

1 - "Ça marche sur mon ordi !"


Voilà voilà ! Bon, j'ai pas le meilleur anglais du monde, y'a ptete quelques tites fautes d'interprétation, mais je pense que ça aidera ceux qui arrivent pas à aligner trois mots x)

Mais c'est trop véridique cte truc XD


EDIT Arkandias : Merci beaucoup pour la traduction


Dernière édition effectuée par Arkandias (Sam. 26 Jan 2013, 14:49) ; édité 1 fois

Fondateur
Concepteur


Messages : 9543
Guilde : Escape Guilde
Maison : Serdaigle
Poudlard : 2e année
MessageDate du message: Sam. 23 Mar 2013, 23:11  Répondre en citant

Pour ceux qui se demandent ce que peut être un noyau, ou tout simplement comment est organisé Mana Wyrd, comment peut fonctionner le site de l'intérieur, j'ai réalisé cette image explicative :



Si ça vous intéresse d'en apprendre plus, je vous explique tout ça. Asseyez-vous confortablement et gardez l'image ci-dessus à côté de vous.


Quand vous allez sur http://www.manawyrd.fr/poudlard_infirmerie.php , la page appelle d'abord le noyau de Mana Wyrd (le "main", qu'on appelle une classe).

Le main appelle ensuite plusieurs sous-classes :

config qui contient, génère ou récupère toute la configuration du site
user, qui recherche les informations du joueur et commence lui par appeler la sous-classe session, puis la sous-classe auth
session charge les informations de connexion contenues dans les cookies, éventuellement exécute la reconnexion automatique si elle est activée et que la session a expiré
auth (autorisation abrégé en anglais) est une sous-classe qui s'occupe des autorisations d'accès aux forums et aux parties privées de l'équipe. C'est celle-là que vous devez corrompre si vous voulez avoir les pleins pouvoirs
user termine en chargeant les informations du joueur (myrins, points, et les 100 environ autres informations stockées sur un joueur)
le noyau pré-charge ensuite la sous-classe page et la sous-classe template

Ensuite, quand la page a chargé main et que main a effectué toutes ses actions, la page que vous avez appelé (ici l'infirmerie), définit ses paramètres.

Pour l'infirmerie, ça ressemble à ça :

Citation :
$page->setTitle("Infirmerie de Poudlard");
$page->isLieu(true, M_CERTAIN);
$page->setPageIndexed(true);
$page->setAzkaban(AZKABAN_JEU);
$page->setBlockOffline(true);
$page->init();


C'est-à-dire qu'on va expliquer à la sous-classe page en quoi consiste la page qu'on est en train de regarder : on donne le titre de la page, on dit qu'on est dans un lieu du Monde Certain, que l'infirmerie est un lieu qui apparaît dans le "Qui est en ligne ?" (certains lieux secrets et des pages réservées à l'équipe n'y apparaissent pas), on dit que c'est une page du jeu et que les personnes à Azkaban interdites de jeu ne pourront pas y accéder, on spécifie que l'accès à l'infirmerie est interdit aux personnes déconnectées.

Et enfin, on initie, c'est-à-dire qu'on fait les opérations qui correspondent à ces paramètres : on vérifie que le joueur est connecté, qu'il n'est pas à Azkaban, on ajoute son placement dans le "Qui est en ligne", etc...


Après cette étape, la page s'exécute normalement. Elle passe beaucoup moins souvent par le noyau, seulement ponctuellement, lors de modifications de la base de données par exemple.

Au cours de l'exécution de la page, elle invoque des templates. Pour voir un exemple de template, allez au premier message de ce topic.

Un template est un affichage. Il y a d'un côté la page qui s'exécute et de l'autre l'affichage de la page. Ainsi, la page dit quel fichier s'affichage elle utilisera, puis ensuite elle remplit cet affichage en spécifiant les valeurs des contenus qui peuvent changer.

Par exemple ici, la page va dire à la classe template du menu qu'elle utilisera le template "infirmerie", puis ensuite elle va spécifier en passant par la classe template le nombre de points de vie du joueur, le nombre de points de magie, etc... de sorte que les espaces vides du template vont être remplis.

Quand c'est fini, la page dit au template qu'il est bon et qu'il peut être envoyé (un peu comme au Macdo). A ce moment-là, le template est stocké.

Enfin, la page se termine toujours par un :

Citation :
$page->displayPage();


On dit en fait à la sous-classe page qu'elle peut afficher la page. A partir de là, tout se passe dans le noyau. La sous-classe page va générer le header, les menus et le bas du site (appelé footer, qui vient de "pied" en anglais). Pour ça, elle aura elle aussi besoin de son template donc fera appel à la sous-classe template plusieurs fois. Mais elle aura aussi besoin de la classe user, pour pouvoir afficher le pseudo du joueur à gauche, ou son nombre de Myrins, ou le lien vers sa salle commune. Elle aura aussi besoin de la configuration générale du site (et donc de la sous-classe config) pour afficher le texte défilant actuel ou l'évènement actuel.

La sous-classe page génère donc la page, puis ensuite elle demande à la sous-classe template d'ajouter au milieu de cette page le contenu de l'infirmerie qui avait été généré plus tôt et stocké commeau Macdo. La sous-classe template s'en occupe, et enfin affiche le résultat à l'écran.

Enfin, la connexion avec la base de données est fermée (ce qui avait été oublié au lancement de Nouvelle Aube et c'est pour ça qu'il y avait des problèmes de base de données, c'était parce que la connexion restait virtuellement ouverte), et tout le contenu de la page est envoyé à votre navigateur par les fils Internet !


Ce n'est pas forcément évident à comprendre par écrit comme ça. Je m'interrogeais sur le fait de faire une vidéo explicative de comment fonctionne ce noyau que j'ai créé. Je me demande s'il y aurait des personnes intéressées par comprendre mieux comment marche Mana Wyrd en code. Si c'est le cas, dites-le moi et j'y réfléchirai Dans le même genre, je me demandais s'il y avait des gens qui voulaient ici apprendre à programmer un site comme Mana Wyrd. Il faut savoir que ça demande beaucoup de motivation et d'avoir un esprit très curieux, ouvert, agile et autonome. Si des personnes sont partantes, je peux aussi envisager de faire des tutoriels

Enfin dans tous les cas si je fais ça, ce n'est pas pour moi, c'est juste que je me dis : plus il y a de personnes qui comprennent (globalement) comment on fait pour coder et comment Mana Wyrd tourne, ça ne peut qu'aider à la résolution de bug, et puis ça peut aussi donner des idées ou comprendre pourquoi telle chose est facile à faire ou telle autre prendra plusieurs heures ; ce qui n'est pas du tout évident au premier abord.

_________________
Voir le profil du joueur Envoyer un Hibou Visiter le site web du joueur

Direction
Animatrice
Relations Moldues


Messages : 11444
Guilde : Escape Guilde
Maison : Gryffondor
Poudlard : 7e année
MessageDate du message: Sam. 23 Mar 2013, 23:19  Répondre en citant

Alors, je n'ai pas compris grand-chose ( ça doit être dû à l'heure avancée XD ), mais j'ai retenu Corrompre, Cookies, MacDo. Ce qui est révélateur de mes centres d'intérêts...
Plus sérieusement, je trouve très intéressantes ces explications, déjà parce que ça apprend où regarder dans le code source pour savoir où cliquer pour terminer les quêtes, et c'est avec plaisir que je lirai/visionnerai/autre tout tutoriel complémentaire. L'informatique, c'est vraiment fascinant !
De là à programmer un site comme Mana Wyrd, il y a un pas que le temps dont je dispose et les choix d'orientation que j'ai faits m'empêchent de franchir, mais c'est un domaine qui m'intéresse beaucoup !

_________________
Voir le profil du joueur Envoyer un Hibou Fiche de personnage RP

Concepteur


Messages : 2388
Guilde : Aucune
Maison : Serdaigle
Poudlard : 7e année
MessageDate du message: Sam. 23 Mar 2013, 23:30  Répondre en citant

Moi aussi, si ça intéresse des gens, n'hésitez pas à me hibouter
Voir le profil du joueur Envoyer un Hibou Fiche de personnage RP
Montrer les messages depuis:   
Page: <--  1, 2, 3, 4, 5, 6, 7  -->
   Répondre au sujet    Forum >> Développement
Page 3 sur 7