Créer son site d'élevage virtuel avec Webidev
VOS QUESTIONS | FORUMS WEBIDEV | AIDE PRIVEE | COMMENTAIRES ----------------- Inscription | ConnexionImage
Image
© 2013 - Helpidev
Version Bêta



Tout savoir sur les IFs - page 2

II - Les balises


1. Règle d'or


Avant de débuter sur les balises, il vous faut absolument savoir une règle d'or pour que vos codes IFs marchent comme il faut:

Image


Une balise doit toujours être présentée comme cela. Mais ce schema, tout seul, il ne sert à rien alors voilà la légende:

En bleu, nous avons la base. La base est la seule partie de la balise qui doit rester la même. Surtout, souvenez-vous bien de ne jamais oublier de mettre ce que j'ai mis en bleu! C'est comme si vous oubliez les [] des modules.

En violet nous avons le type de la balise. Et oui, les types de balises sont nombreux: NbBidule, NbMail, VarX, Modo, etc... Chaque type signifie quelque chose, sur mon exemple le type VarX donne ce sens à ma balise: Si la variable numéro (x) ... Nous ne continuons pas plus loin, nous avons l'essentiel. Pour cette balise je vous rappelle qu'il faudra remplacer le x par le numéro de votre variable. Mais voilà un autre exemple si je remplace VarX par NbBidule ça donne ça:
Si mon nombre de bidule....
Grâce à cette partie, nous avons déjà le début de notre phrase, maintenant passons à la suite.


En vert, nous avons la condition de l'IF. Ici, nous avons marqué = car nous voulons dire:
Si la variable numéro (x) est égale à...
Mais vous pouvez le remplacer par l'un de ces caractères:
< , signifie strictement inférieur, pourrait alors donner:
Si la variable numéro (x) est strictement inférieure à...
>, signifie strictement supérieur, pourrait alors donner:
Si la variable numéro (x) est strictement supérieure à...
<=, signifie inférieur ou égal, pourrait alors donner:
Si la variable numéro (x) est inférieure ou égale à...
>=, signifie supérieur ou égal, pourrait alors donner:
Si la variable numéro (x) est supérieure ou égale à...
!=, signifie différent, pourrait alors donner:
Si la variable numéro (x) est différente de...

Voilà, nous avons fait le tour des conditions. Passons à la suite.


En rose nous avons la valeur, cette fois-ci, à vous de choisir le nombre que vous voulez, car voici comment le traduire:
Si la variable numéro (x) est égale à 10...
Moi, j'ai pris 10 en exemple, mais tous les nombres sont valables.


Et pour terminer, la partie orange sera ce qui va s'afficher sur votre site si l'utilisateur a rempli votre condition. Moi j'ai mis "message" alors voici comment traduire mon exemple:
Si la variable (x) est égale à 10 alors l'utilisateur pourra voir "message".
Et nous voilà avec le code parfait. Entre les balises, vous pouvez mettre le message que vous voulez, mais aussi un module, une action, des images, des balises de caractères et même d'autres IFs.


C'est bien beau tout ça, mais si on veut mettre plusieurs condition, ça fait très long... Il y a une autre solution?

Oui, il y en a une. Voici ci-dessous la technique que j'utilise personnellement car c'est plus dans mes habitudes mais qui est très longue et peut s'avérer fatigante à force. Donc si vous commencez juste à coder IF, s'il vous plaît, ne prenez pas l'habitude de faire cela:

Image


C'est vrai qu'en fin de compte cette manipulation donne un bon résultat, mais il est plus court de faire ceci:

Image


Même résultat et au final nous avons une page de code plus courte, la fonction && à placer comme je l'ai fait est très utile, tout comme la fonction ||, voulant dire "ou bien", qui est à placer au même endroit que &&.

Ensuite il y a des manipulation pour multiplier, diviser, additionner ou soustraire, mais je ne vais pas vous embrouiller dès le début, le plus important est fait maintenant.

2. Les types


Je profite de ce tutoriel pour vous montrer tous les types de balises IF, comment s'en servir à presque toute les sauces pour avoir un site complet à multifonction. Je vais les faire dans l'ordre de la liste d'IF de webidev.
Donc commençons tout de suite par l'IF TypeBidule.

a) TypeBidule
TypeBidule sert en réalité à pas grand chose, même à rien. Pourquoi? Parce qu'on ne peut que le placer dans une page bidule, et on peut faire des pages bidules pour chaque type de bidule. Conclusion: passons!

b) Points
L'IF Points peut avoir plusieurs utilités, mais en fonction de comment vous avez décidé d'utiliser cet outil indispensable.

Image


Dans le cas ci-dessus, nous utilisons nos point comme la monnaie de notre site. La plupart des sites l'utilisent dans ce sens, et c'est pas la chose la plus indispensable du monde de coder des IFs sur cette solution. D'après moi, mieux vaut laisser le membre calculer.

Image


Dans cet exemple, nous l'utilisons en tant que points pour notre jeu (peu de site font ça, mais prenez exemple sur webi-bowling, un site bourré d'IFs). Cette technique sera le plus utilisée dans un jeu que dans un rpg (forcément). Jusqu'ici, dans nos deux cas, il est presque inutile d'abîmer nos précieuses empreintes digitales sur des codes IFs comme cela. Mais la technique à suivre est très utile et utilisée. La voilà:

Image


Et voilà qu'on touche enfin un gros points des IFs: les quêtes (ce tuto commençait à m'ennuyer Image). Les quêtes, on en verra mais dans presque tous les types que je vais vous expliquer! Si vous voulez que votre site plaise, il faudra mettre des quêtes. Si vous voulez des membres actifs, il faut les quêtes!

Mais c'est quoi des quêtes?
Voici un petit cours rapide sur les quêtes:

Une quête est comme un peu de piment sur une pizza, ça relève le gout! (contrairement au piment, si vous n'aimez pas il faudra quand même en mettre). On peut traduire le mot quête par objectif, but ... Ce sont des missions, plus ou moins grande, à l’intérieur ou à l’extérieur de votre jeu qui fera revenir plusieurs fois le membre sur votre site car il se dira: "Bon, je dois finir ma quête numéro 15 si je veux avoir ma récompense".
Les quêtes à l’extérieur d'un jeu sont des petits objectifs à part, par exemple si vous prenez un jeu de simulation, l'important sera de faire vivre votre personnage. Mais si on ferai que nourrir son personnage à longueur de journée, on s’ennuierai un peu beaucoup. Donc on va installer quelque petites quêtes du genre: "attrape un lapin", "embrasse ta petite amie", "récolte 30 pièces", etc... Et que peut-on gagner quand c'est des quêtes à part? Des xp pour monter de niveau (je vous expliquerai dans quelques instants, quand on sera à VarX), de l'argent, etc...
Une quête à l’intérieur d'un jeu est une mission indispensable pour avancer, exemple, vous rencontrez un personnage qui bloque le passage et il vous dit pour quête: "Attrape ce papillon pour passer", "met moi à terre pour passer", "donne moi 50 pièces" etc... Et que peut-on gagner? L’accès à la suite du jeu bien sûr, et en supplément quelques xp?


Donc pour notre exemple, la quête est simple: il faudra 10 pièces pour la réussir. Et donc si j'ai mes 10 pièces ou + alors la quête est finie! Si vous avez compris cela, nous pouvons passer à la suite!

c) SexeMembre
L'IF SexeMembre nous servira à faire par exemple une carte d'identité définie par le Sexe du Membre, le design qui peut varier, etc... Ce type varie entre 0 et 1, 0 pour les filles et 1 pour les garçons.
Par exemple, si vous voulez faire une carte d'identité variant par le sexe de l'individu, faite comme cela:

Image


Voici comment traduire la partie importante (celle qui est en rouge):
Si le membre est une fille, alors nous mettrons femme.
Si le membre est un garçon, alors nous mettrons homme.

Mais comme je l'ai dit avant, nous pouvons aussi utiliser "SexeMembre" pour le design. C'est à dire pour une photo, le haut de page, le personnage, ou comme dans l'exemple qui arrive, la couleur de la police:

Image


Dans le premier cas, le cas "0", pour les filles le texte s'affichera en rose pâle, du genre petite robe de poupée ou journal intime. Dans le deuxième cas, le cas "1", le texte s'affichera en bleu de travail, du genre voiture de police ou je sais pas moi, la boîte au lettre des simpson Image.

Attention à ne pas confondre l'IF SexeMembre et l'IF SexeBidule!


d) JoursActifs
Et maintenant attaquons un type qui vous semble peut être inutile mais qui, pourtant, rend le site encore plus complet lors des tout premiers pas du membre! L'IF JoursActifs calculant le nombre de jours que le membre s'est connecté, nous allons créer une phrase avec un lien menant au tutoriel de début qui n’apparaîtra que lors des 2 premiers jours actifs du membre.

Image


Voici comment traduire ce code:
Si le membre a 2 ou moins de 2 jours actifs sur le site alors il aura accès au tutoriel de début.

Ce qui peut être très utile et ceci est confirmé par des membres de certains sites qui affichent toujours le lien du tutoriel au 300ème jour actif.

Nous pouvons aussi faire des quêtes, d'où la mythique "première quête":

Image


En clair il faudra que le membre se connecte 10 jours sur le site pour obtenir sa récompense. Personnellement, je trouve ça idiot car le membre a comme objectif de ne rien foutre, juste de se connecter mais aussi je trouve ça intelligent d'un côté car ça fera revenir votre membre souvent sur le site (héhé, continuez jusqu'au 365eme jours pardi!).

Voilà, j'ai fait le tour de ce type, au suivant!

e) Modo
L'IF Modo est un type lié à la liste de membre et très utile quand vous avez beaucoup de modérateur et de membre sur votre site. Quand je dis lié à la liste de membre, je m'explique: l'IF Modo varie entre 0 et 1, 0 pour les membres sans pouvoir et 1 pour les modos. Un modo qu'est-ce que c'est sur webidev? Un modo est un membre inscrit au site dont le webmaster principal (celui qui a accès au compte du site) a rajouté une fonction "modo" reconnue par un petit bouclier en or sur les forums. Cette fonction permet de supprimer des messages du forum et de bannir des gens du forum sans être connecté au site. Mais avec l'IF Modo, on peut aller plus loin! C'est à dire que le modo peut accéder à des contenus du site qu'un membre normal ne verrai pas. Comment faire ? Voyons ça tout de suite (désolé pour le pavé):

Image


Voici comment traduire ce code:
Si l'utilisateur est un modo alors il verra ce texte.

En clair, entre ces balises vous pouvez mettre n'importe quoi: des liens direct, des forums privés, des pages invisibles, des brouillons, etc... Seuls les modos les verront.

Mais pour que tout cela reste design, faite une barre de modo!


T'es sympa toi! Je suis pratiquement nouveau sur webidev et tu me balances déjà du webivocabulaire compliqué à la figure! Sérieux c'est quoi une barre de modo?

Haha. Une barre de modo est une menu horizontal que seuls les modos peuvent voir menant vers des pages réservées au modérateur. Par exemple vous pouvez faire un menu comprenant un forum réservé aux modos, un brouillon de page et un qg (je dis n'importe quoi). Voilà ce que ça donne en codage:

Image


Et cette barre, vous pouvez la placer en haut ou en bas de votre page mais n'hésitez pas à la mettre partout sur le site!.

Type suivant!

f) AgeMembre
Il y a peu de chose à dire sur ce type mais je vais quand même reussir à en faire un paragraphe assez important comme les types d'avant ( Pari tenu! ).

Donc AgeMembre n'est pas très utile étant donné qu'il y a aussi un module AgeMembre qui fait tout le boulot. Mais j'ai quand même trouvé de quoi faire un petit code d'exemple!

J'ai remarqué qu'en ce moment beaucoup de webmasters mettaient des pegis à leurs sites, et souvent des 12. Mais la plupart du temps ces pegis sont provisoires, mais si vous voulez mettre un pegi stricte et bloquer la page à ceux qui n'ont pas l'âge de jouer, faites ceci:

Image


Voilà comment traduire ce code:
Si l'utilisateur a 12 ans ou plus alors il aura accès au jeu mais si ce même utilisateur a moins de 12 ans alors un texte lui demandant de faire demi-tour s'affichera.

Voilà j'ai fait le tour de la fonction utile de ce type. Après il reste d'autre fonctions comme le cou du "bravo vous êtes majeur" ou du "vous avez triché sur votre âge" qui ne sont pour moi pas plus utile qu'un IPhone sans batterie.
Ne voulant pas vous assommer de code, je ne vais pas prendre la peine de les faire. Passons à la suite.

g) NbBidule
Le type NbBidule est, lui, très pratique surtout pour empêcher le fameux terme "bidule" dans une liste bidule imposée par webidev. Disons que sur mon site on élève des chats...

Image


Comment traduire ce code:
Si le membre n'a pas de bidule alors le message "Vous n'avez aucun chat pour le moment..." s'affichera, mais si il en a plus de 0 alors sa liste bidule s'affichera.

Mais à quoi ça sert de ne pas laisser directement le module ListeBidule?

Comme je l'ai dit au début, si vous n'avez aucun bidule et que vous voyez quand même votre liste, webidev affichera "Vous n'avez aucun bidule" ou un truc comme ça. Mais si c'est quelqu'un ne connaissant pas webidev qui lit ça, il vous prendra pour quelqu'un qui n'a pas travaillé plus de 4 heures sur son site (en espérant que vous ne l'êtes pas). Donc plutôt faire long pour une bonne cause. (Attention, je n'ai pas dit long pour quelque chose d'inutile, dès que possible, raccourcissez vos codes).

Enfin bref, il existe d'autre moyens d'utiliser le type NbBidule comme par exemple pour les nouveaux le coup du "venez créer votre premier chat ici" sur la page d'accueil ou encore "attention, vous n'avez bientôt plus de place pour un autre chat" en haut de la page de création. Mais maintenant que vous commencez à vous débrouiller en IF, je vais vous laisser trouver les codes pour faire ceci. Type suivant.

h) NbMail
Si vous voulez vous la jouer à la Hotmail, utilisez ce type! Le type NbMail peut permettre au membre de savoir si il a un message dans sa messagerie (le module Courrier).

Image


Comment traduire ce code:
Si le membre a plus de 0 messages, alors il verra apparaitre /!\ à côté du lien vers la messagerie.

Evidemment, dans ce tutoriel j'ai fait le plus court. Mais vous pouvez mettre aussi le nombre de messages qu'a le membre à côté du lien, mais alors là: courage! Vous n'en avez pas fini (je vous conseil de vous arrêter à 50 et ensuite de mettre + 50).

i) Les types temporaires
Les types temporaires sont des types qui s'utilisent de la même manière, mais pas avec les mêmes valeurs. Ils peuvent être utile comme inutile, mais avec eux, votre site sera encore + performant. Voici la liste des types temporaires: Heure, minute, seconde, jour, joursemaine, mois, année.

Je vais me contenter de peut pour ces types, en tout cas du plus utile, ensuite je vous laisserai réfléchir.

-Le type heure ne servira pas à grand chose. Il varie entre 0 et 23. Vous pouvez mettre comme petit complément à votre site un lieu ouvert entre 8 heure et 20 heure et fermé entre 20 heure et 8 heure. Vous pouvez aussi mettre par la même méthode un design nuit et un design jour. Soyez très soigneux avec ce type car si vous faite une erreur sur un code qui aura place à 3 heure du matin, il sera dur de repérer ce bug.

-Le type minute, encore plus inutile. Nous n'allons pas nous en servir. Varie entre 0 et 59.

-Le type seconde, par contre lui peut être utile. Si vous avez des banderole de partenariat sur votre site, cela généra votre membre. Et si vous la mettez entre 2 balises de type seconde pour qu'elle apparaisse seulement 20 secondes dans une minute ? Varie entre 0 et 59.

Et maintenant place aux travaux pratiques! Nous allons créer un module date pourtant inexistant jusqu'à aujourd'hui, et tout ça grâce à un long code IF. Commençons:

-Le type JourSemaine varie entre 1 et 7. Ce sont bien-sûr les jours de la semaine. Donc voici comment commencer notre module date: mettez un code signifiant:

Si le JourSemaine est égal à 1, alors afficher "Lundi".

Faite ceci jusqu'à avoir les 7 jours de la semaine et à la fin de ce code, faite un espace et continuez comme ça:

-Le type Jour varie entre 1 et 31 (ne comptez pas le 0). Pour continuer il vous suffira e faire 31 balises de type "Jour", et de faire en sorte qu'un code donne ça:

Si le type Jour est égal à (nombre entre 1 et 31) alors nous allons afficher ce même nombre.

Faite un espace et faite de même avec le type Mois et Année (année, disons jusqu'à 2100 :P). Et donc après une bonne page open office de code voilà notre beau module date qui marche à perfection.

Bien sûr nous pouvons faire d'autre chose avec ces 4 types mais la création d'un module avec des IFs m'a toujours passionné. Mais bon n'oubliez pas ceci: les types temporaires ne sont pas moins utile que les autre types.

j) VarX
Nous allons terminer par le type capital en programmation. En clair, il ne vous lâchera pas lors de la suite de votre apprentissage d'utilisation de webidev. Et à quoi il sert? C'est simple: à faire des mini-jeux, des déplacements sur une map et des techniques assez compliquées à savoir utiliser. Il y aussi des choses plus simple comme des quêtes, des niveaux et beaucoup d'autre chose... Mais nous sommes en développement et non en programmation alors mieux vaut ne pas vous assommer après un si long tutoriel. Ne vous inquiétez pas, vous saurez bientôt utiliser le type VarX, mais il faudra se rendre dans programmation ;)

Donc voilà, j'ai fait à peut prêt le tour des IFs. Maintenant à vous de jouer!

Entraînez-vous un peu, rendez l’utilisation des IFs en un réflexe et dès que vous vous sentez prêt à subir d'autre tutoriels assommants, rendez vous dans "Programmation". Ne vous inquiétez pas, maintenant que vous savez la base, la programmation sera simple comme tout. Ou presque. En tout cas bonne chance pour la suite et à bientôt!



Théo du webdo



Chapitre précédent