WEBVTT 00:00:01.199 --> 00:00:02.549 En programmation, 00:00:02.700 --> 00:00:07.000 les fonctions permettent de subdiviser le code en segments plus faciles à manipuler. 00:00:09.199 --> 00:00:11.599 Lorsqu'un programme devient plus complexe, 00:00:11.800 --> 00:00:12.900 il est souvent plus simple 00:00:13.099 --> 00:00:16.100 de le séparer en plus petits morceaux qu'on appelle fonction. 00:00:16.600 --> 00:00:17.750 Par exemple, 00:00:18.100 --> 00:00:21.699 si on a un programme dans lequel il y a plusieurs blocs de codes, ou étapes, 00:00:22.300 --> 00:00:24.600 on le sépare en fonctions. 00:00:25.199 --> 00:00:29.300 Cela permet également de réutiliser le code sans avoir à le réécrire. 00:00:30.300 --> 00:00:33.299 Le programme exécute, à tour de rôle, les différentes fonctions. 00:00:36.299 --> 00:00:37.799 Dans ce tutoriel, 00:00:38.000 --> 00:00:39.149 je vais utiliser les fonctions 00:00:39.299 --> 00:00:42.299 pour recréer un panneau qui compile les points lors d'un événement 00:00:45.600 --> 00:00:49.100 Prends le temps de te familiariser avec le code CSS de cet exemple 00:00:50.200 --> 00:00:52.100 qui se trouve dans un fichier externe. 00:00:52.799 --> 00:00:54.299 Pour ce qui est du HTML, 00:00:54.799 --> 00:00:58.000 remarque les deux balises
qui contiennent les points de chaque équipe. 00:00:59.000 --> 00:01:00.700 Leurs identificateurs sont : 00:01:00.799 --> 00:01:02.100 pointsVisiteurs 00:01:02.600 --> 00:01:03.500 et pointLocaux. 00:01:05.900 --> 00:01:09.900 Je commence par écrire le code qui ajoute un point à l'équipe locale. 00:01:10.900 --> 00:01:12.700 Je commence par le commentaire, donc : 00:01:12.799 --> 00:01:14.200 (prononce le commentaire en le tapant) 00:01:14.299 --> 00:01:23.400 //Cherche le nombre dans la boîte de points. 00:01:24.799 --> 00:01:26.799 et je vais identifier une variable : 00:01:27.500 --> 00:01:32.200 var idPointsLocaux= 00:01:33.000 --> 00:01:36.000 que je vais aller chercher à l'intérieur du document. 00:01:40.099 --> 00:01:43.599 Et, entre guillemets doubles, je fais référence à l'identificateur : 00:01:44.000 --> 00:01:47.000 ("pointsLocaux"); 00:01:54.000 --> 00:01:57.000 Je place ensuite le contenu de l'élément à l'intérieur d'une variable. 00:01:57.799 --> 00:02:05.900 que j'appelle : points= idPointsLocaux 00:02:06.099 --> 00:02:10.000 et j'ajoute .inner.html pour accéder à son contenu. 00:02:11.699 --> 00:02:14.900 Note que le contenu idPointsLocaux.innerHTML 00:02:15.800 --> 00:02:19.300 est une valeur contenant des caractères, donc de type string. 00:02:20.300 --> 00:02:23.400 Rappelle-toi que lorsque tu additionnes deux valeurs de type string, 00:02:23.800 --> 00:02:26.000 les caractères se placent l'un au bout de l'autre. 00:02:27.099 --> 00:02:31.400 Pour ajouter 1 au pointage, je dois faire une opération mathématique. 00:02:32.300 --> 00:02:37.199 J'utilise parseInt pour convertir la valeur de type string en un nombre. 00:02:43.300 --> 00:02:47.699 Pour la prochaine étape, ajouter un point à l'équipe locale, 00:02:48.400 --> 00:02:50.800 je commence par le commentaire : 00:02:51.599 --> 00:02:53.500 // Ajoute un point 00:02:54.000 --> 00:02:56.300 suivi du calcul mathématique 00:02:56.599 --> 00:03:01.699 points = points + 1; 00:03:05.900 --> 00:03:09.800 Il me reste à placer le contenu de mon calcul dans la page HTML. 00:03:10.800 --> 00:03:12.400 J'écris le commentaire : 00:03:13.500 --> 00:03:19.099 //Affiche les points locaux 00:03:19.800 --> 00:03:21.500 suivi de mon identificateur : 00:03:22.699 --> 00:03:31.199 idPointsLocaux.innerHTML qui est égal 00:03:31.500 --> 00:03:33.300 à la réponse que je viens de calculer (= points;). 00:03:33.800 --> 00:03:35.300 Je peux enregistrer ma page Web 00:03:35.699 --> 00:03:38.699 et vérifier dans un navigateur que le point s’ajoute au bon endroit. 00:03:41.699 --> 00:03:43.699 Dans un éventuel programme, 00:03:43.900 --> 00:03:46.900 ce segment de code pourrait être nécessaire à plusieurs endroits. 00:03:47.500 --> 00:03:50.300 Je vais donc le regrouper à l'intérieur d'une fonction 00:03:50.699 --> 00:03:53.699 en ajoutant, au début, function, 00:03:56.099 --> 00:04:02.599 suivi du nom de ma fonction que j’appelle : ajoutePointsLocaux, 00:04:03.199 --> 00:04:05.199 suivi des deux parenthèses(). 00:04:05.900 --> 00:04:08.900 J'insère une accolade d'ouverture au début de mon code { 00:04:10.300 --> 00:04:13.300 et une accolade de fermeture }, à la fin. 00:04:15.699 --> 00:04:16.500 Maintenant, 00:04:17.100 --> 00:04:18.899 chaque fois que je dois ajouter un point, 00:04:19.100 --> 00:04:27.899 il me suffit d'écrire : ajoutePointsLocaux(); 00:04:32.199 --> 00:04:35.800 Si j'appelle une deuxième fois la fonction ajoutePointsLocaux(); 00:04:36.199 --> 00:04:41.100 je fais ctrlC pour copier et, sur la ligne suivante, ctrlV pour coller, 00:04:41.699 --> 00:04:44.699 le point du l'équipe locale est maintenant 2. 00:04:46.699 --> 00:04:49.699 Au lieu de juste ajouter un point, 00:04:50.100 --> 00:04:53.199 je vais maintenant faire une fonction qui ajuste le point à une valeur donnée, 00:04:53.399 --> 00:04:55.100 p. ex., 10. 00:04:57.000 --> 00:05:04.600 Je commence par créer une nouvelle fonction : function setPointsLocaux 00:05:05.399 --> 00:05:09.399 Celle-ci est suivie de parenthèses() et d'accolades { } pour délimiter mon code. 00:05:10.000 --> 00:05:11.899 J’enchaîne avec un commentaire : 00:05:12.300 --> 00:05:17.600 // Chercher l’élément contenant les points locaux 00:05:18.000 --> 00:05:23.600 (On entend les bruits du clavier pendant que le commentaire est tapé.) 00:05:24.300 --> 00:05:28.300 Donc, je crée une variable en faisant un copier-coller 00:05:28.500 --> 00:05:31.500 du code que j'ai déjà en haut et je l'insère à l'intérieur de ma fonction : 00:05:31.800 --> 00:05:33.500 var idPointsLocaux = document.getElementById{"pointsLocaux" } 00:05:33.699 --> 00:05:36.100 Il me reste ensuite à afficher les points. 00:05:37.500 --> 00:05:39.000 J'écris donc un commentaire : 00:05:41.000 --> 00:05:43.600 // Affiche les points 00:05:44.300 --> 00:05:53.600 suivi de mon identificateur : idPointsLocaux.innerHTML 00:05:54.500 --> 00:05:57.500 et, dans cet exemple, je lui donne la valeur 10 = 10; 00:06:01.399 --> 00:06:08.899 À l'extérieur de la fonction, je vais écrire : setPointsLocaux();, 00:06:09.600 --> 00:06:11.399 ce qui appelle ma fonction. 00:06:12.000 --> 00:06:14.500 Si j'enregistre et que je regarde le résultat, 00:06:14.899 --> 00:06:17.199 je vois que le pointage est maintenant 10. 00:06:18.699 --> 00:06:21.100 Ma fonction est un peu restrictive, 00:06:21.500 --> 00:06:23.800 car si je veux modifier le pointage à 15. 00:06:24.500 --> 00:06:27.500 je dois le changer à l'intérieur de mon code. 00:06:29.399 --> 00:06:32.399 Plutôt, j'ajoute ce qu'on appelle un paramètre, 00:06:33.000 --> 00:06:36.800 que je nomme « point », à l'intérieur des deux parenthèses de ma fonction. 00:06:37.899 --> 00:06:40.199 Ce paramètre est en quelque sorte une variable, 00:06:40.300 --> 00:06:42.899 confinée à l'intérieur de ma fonction. 00:06:45.300 --> 00:06:50.600 J'enlève la valeur 15 et je la remplace par ma variable point. 00:06:57.000 --> 00:07:00.699 Lorsque j'appelle la fonction setPointsLocaux (); 00:07:01.000 --> 00:07:04.899 à l'intérieur des parenthèses, j'ajoute la valeur que je veux transmettre. 00:07:06.800 --> 00:07:09.800 Lorsque j'enregistre et que je regarde le résultat, 00:07:10.100 --> 00:07:13.100 je remarque que le pointage est maintenant de 15. 00:07:15.500 --> 00:07:19.500 Si je modifie la valeur à l'intérieur de la fonction et que je l'enregistre, 00:07:20.100 --> 00:07:23.500 je vais voir que le pointage affiché est maintenant de 20. NOTE end of file