Allons-y pour commencer un traditionnel Hello World. Tout d'abord, parce que je suis un peu fou et que vous ne lisez pas un tuto comme les autres, on ne va pas faire un Hello World mais un Hellow World (oui, je sais, le titre est trompeur).
Téléchargement
Direction donc la
page de téléchargement de mootools pour télécharger la dernière version de mootools. Dans un premier temps, cochez toutes les cases afin d'avoir le framework le plus complet possible (c'est sûr, on n'utilisera pas tout, mais comme ça vous êtes prêts si vous installez d'autres plugins).
Nous voici donc dans le vif du sujet : appuyez sur
download et enregistrez le fichier dans un dossier qui nous permettra de faire nos premiers pas en mootools (que ceux qui n'ont pas d'inspiration prennent
mootools/). Pour plus de facilité, appelez votre fichier
mootools.js. Ensuite, créez un fichier
*.html (
index.html par exemple) dans ce même répertoire, un fichier
script.js qui servira à écrire nos scripts, un fichier
style.css que vous pouvez copier-coller ci-dessous et passons à l'action.
Code HTML et CSS
Étant donné que ce n'est pas vraiment le but du tutoriel, je donnerai la base du code xHtml que j'emploierai et le fichier CSS sans explication.
Code : CSS 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 | body {
text-align: center;
background: #123456;
font-family: cambria, verdana, sans-serif;
font-size: 13px;
}
div#contenu {
width: 70%;
background: #fafafa;
text-align: left;
color: #333;
margin: 40px auto;
border: 1px solid #ddd;
padding: 10px;
min-height: 700px;
}
h1,h2 {
font-size: 15px;
color: #123456;
}
span.interactif {
}
div.interactif {
color: #fff;
background: #123456;
padding: 4px;
border: 1px solid #ddd;
margin: 10px;
width: 300px;
min-height: 5em;
}
a {
color: #123456;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
dl.commentaire {
}
dl.commentaire dt {
color: #123456;
font-weight: bold;
margin-top: 20px;
}
dl.commentaire dd.texte {
margin: 5px 10px;
border-left: 2px solid #aaa;
padding: 4px;
background: #eee;
}
dl.commentaire dd.details {
margin: 5px 10px;
text-transform: uppercase;
font-size: 80%;
}
dl.commentaire span.auteur, dl.commentaire span.date {
font-weight: bold;
}
label {
width: 80px;
display: block;
float: left;
}
|
Code : HTML 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" media="screen" type="text/css" rel="stylesheet" />
<script src="mootools.js" type="text/javascript"></script>
<script src="script.js" type="text/javascript"></script>
<title>Ma première expérience mootools</title>
</head>
<body>
<div id="contenu">
C'est ici qu'il faudra mettre le code html
</div>
</body>
</html>
|
Remarquons tout de même pour ceux qui n'ont jamais utilisé de Javascript que cette ligne permet de donner l'emplacement du fichier Javascript à lier.
Code : HTML1 | <script src="mootools.js" type="text/javascript"></script>
|
Remarquez aussi que le fichier
script.js doit être positionné après le fichier
mootools.js, puisqu'il utilise le framework.
Pour que les choses soient claires : quand je parlerai de code xHtml, il sera à positionner dans le div avec l'id contenu, qui a dans le code ci-dessus comme contenu C'est ici qu'il faudra mettre le code xHtml. Pour ce qui est du code Javascript, il est à mettre dans le fichier script.js.
Maintenant que tout ça est lancé, je vous propose de commencer notre Hellow World.
Le Hellow World
Où placer le code ?
Il faut savoir tout d'abord que le code Javascript,
quand il doit traiter des éléments, ne peut traiter que des éléments (comprenez par éléments les balises
img,
p,
a,
span, ...) qui ont déjà été lus par le navigateur (Internet Explorer, Firefox, Safari, ...). Étant donné que notre fichier JavaScript est déclaré dans le début du code, on ne pourrait théoriquement interagir avec aucun élément. La solution serait donc de placer l'appel à notre fichier
script.js à la fin de la page (comme ça, on est sûrs que tous les éléments ont été lus). Heureusement, mootools a prévu une parade et a repris l'évènement
domready. L'évènement
domready s'utilise comme suit :
Code : JavaScript1
2
3
4
5 | window.addEvent('domready', function(){
// C'est ici qu'on peut mettre notre code
alert('Toutes les balises ont été chargées');
// Fin du code
});
|
Dans un premier temps, je dirais que vous devez retenir qu'il faut placer votre code dans cet espace, pour les plus futés (c'est-à-dire vous), vous devriez normalement comprendre ce code à la fin du tutoriel. Si vous placez ce code dans votre page
script.js, vous verrez le message "Toutes les balises ont été chargées" affiché dans une boîte de dialogue lorsque la page aura été chargée.
Le code en question
Allons-y maintenant pour notre Hellow World. On pourrait faire un message d'alerte comme précédemment, mais alors mootools n'aurait aucune utilité. Voilà alors le défi pour notre Hellow World.
- Créer un div avec une id "hellow", sans contenu
- Y afficher le texte Hellow World grâce au Javascript
Allons-y donc pour le code xHtml, à mettre à l'endroit convenu.
Code : HTML
Ensuite le code Javascript :
Code : JavaScript1
2
3 | window.addEvent('domready', function(){
$('hellow').set('text', 'Hellow World');
});
|
Rafraîchissez la page, et miracle, le message s'affiche (sinon, balancez votre PC par la fenêtre et rachetez-en un autre).
Comprendre le code
Analysons le code Javascript.
Code : JavaScript
Ce code veut dire que l'on veut aller chercher l'élément dont l'id est
hellow. En fait, il s'agit d'un raccourci pour la fonction
document.getElementById('hello'), qui, il faut l'avouer est quand même bien plus court.
Code : JavaScript1 | set('text','Hellow world')
|
On applique la méthode
set() à l'élément que l'on a été rechercher précédemment. Cette méthode attend pour premier argument la propriété à changer et en deuxième argument la valeur de cette propriété. Par exemple, on peut aussi utiliser
Code : JavaScript1 | element.set('class','maClass');
|
Pour la méthode set('text', 'Le texte'), le texte passé en deuxième argument sera mis entre la balise ouvrante et la balise fermante de l'objet (ici un élément) auquel la méthode a été appliquée.
Si on veut décomposer ce code en français vulgarisé, on pourrait dire : On va chercher l'élément dont l'id est hellow ; cet élément, on le retient et on lui applique, au moyen du point (.), la méthode set().
Voilà donc notre premier script effectué, j'espère que vous suivez toujours, restez avec moi, ça va s'intensifier... Je vous propose en deuxième partie de créer des interactions...