Outils pour utilisateurs

Outils du site


issue98:tutoriel_javascript

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
issue98:tutoriel_javascript [2015/06/30 11:02] – créée auntieeissue98:tutoriel_javascript [2015/07/20 14:07] (Version actuelle) auntiee
Ligne 1: Ligne 1:
-In Part 2, we covered JavaScript Objects and Functions, and introduced the Questions and Solutions section; in this part we are going further and we will do some basic programming on the server side using node (don't be scared, it will be easy).+**In Part 2, we covered JavaScript Objects and Functions, and introduced the Questions and Solutions section; in this part we are going further and we will do some basic programming on the server side using node (don't be scared, it will be easy).
  
 Node (http://nodejs.org) is a JavaScript runtime environment based on Google Chrome's V8 JavaScript engine. We can think of it like the Java or .NET runtime environment for java or .net code, but this one executes JavaScript and it has very good performance. Node (http://nodejs.org) is a JavaScript runtime environment based on Google Chrome's V8 JavaScript engine. We can think of it like the Java or .NET runtime environment for java or .net code, but this one executes JavaScript and it has very good performance.
Ligne 11: Ligne 11:
 nodejs -v nodejs -v
  
-The result of this command should display something like v0.12.4 (this is the latest version of node at the publication date).+The result of this command should display something like v0.12.4 (this is the latest version of node at the publication date).**
  
-We will write a lotto number generator application which is capable of generating random numbers between one and 90, it will generate five numbers which we could play on lotto later :-)+Dans la partie 2 de la série, nous avons traité des Objets et Fonctions Javascript, et présenté la section Questions et Solutions ; dans cet article, nous allons poursuivre en faisant un peu de programmation de base, côté serveur, en utilisant node (pas de panique, ce sera facile). 
 + 
 +Node (http://nodejs.org) est un environnement d'exécution Javascript basé sur le moteur Javascript V8 de Google Chrome. Nous pouvons le voir comme l'environnement d'exécution de Java ou .NET pour le code java ou .net, mais celui-ci exécute Javascript et sa performance est très bonne. 
 + 
 +L'installation sur toute plateforme peut être faite en utilisant un gestionnaire de paquets, car node est disponible dans pratiquement tous les dépôts logiciels ; sous Ubuntu, nous y allons avec le traditionnel :  
 + 
 +sudo apt-get install nodejs 
 + 
 +Après installation, nous pouvons vérifier que tout est bien en place avec : 
 + 
 +nodejs -v 
 + 
 +Le résultat de cette commande devrait afficher quelque chose comme v0.12.4 (c'est la dernière version à la date de cette publication). 
 + 
 +**We will write a lotto number generator application which is capable of generating random numbers between one and 90, it will generate five numbers which we could play on lotto later :-)
  
 Shown above we have the source code. Shown above we have the source code.
Ligne 23: Ligne 37:
 We have a for cycle which has five iterations, because we want to generate five lotto numbers. We create two temporary variables, isCorrectNumber is a flag which will signal if the number we generated was generated before or not, and we will use this to generate numbers till these are not correct. The other variable is selectedNumber, this will hold the selected (generated) number which is selected based on the selectedNumberIndex variable from the predefinedNumbers array. We have a for cycle which has five iterations, because we want to generate five lotto numbers. We create two temporary variables, isCorrectNumber is a flag which will signal if the number we generated was generated before or not, and we will use this to generate numbers till these are not correct. The other variable is selectedNumber, this will hold the selected (generated) number which is selected based on the selectedNumberIndex variable from the predefinedNumbers array.
  
-The calculation of selectedNumberIndex seems a little odd, but lets analyze it. We say the selectedNumberIndex should be equal to a number which is generated Math.random() method, is multiplied by 1000, we take the mathematical floor of the value and calculate the remainder when divided by 90 (ie, 0-89).+The calculation of selectedNumberIndex seems a little odd, but lets analyze it. We say the selectedNumberIndex should be equal to a number which is generated Math.random() method, is multiplied by 1000, we take the mathematical floor of the value and calculate the remainder when divided by 90 (ie, 0-89).**
  
-Lets take a concrete example:+Nous allons écrire une application de génération de nombre du loto, qui soit capable de générer des nombres aléatoires entre 1 et 90 ; il générera cinq nombres permettant ensuite de jouer au loto :-). 
 + 
 +Le code source est présenté ci-dessus. 
 + 
 +À la première ligne, nous avons écrit un message pour la console, indiquant aux utilisateurs ce que fera le programme. Ensuite, nous définissons une matrice appelée predefinedNumbers. Dans Javascript, les matrices peuvent être créées en utilisant l'opérateur d'index [] ou en utilisant le nouveau constructeur Array(item1, item2, item3) (Matrice(article1, article2, article3)). Initialement, predefinedNumbers va stocker les nombres de 1 à 90 et les nombres générés seront sélectionnés à partir de cette matrice. 
 + 
 +La ligne de code suivante est une boucle for qui remplit la matrice predefinedNumbers avec les nombres de 1 à 90. La boucle for du Javascript est très proche des boucles for qu'on trouve dans les langages basés sur la syntaxe C. Après ce remplissage initial, nous envoyons un message (Initialized the set of numbers - Le jeu de nombres est initialisé). Puis, nous créons une nouvelle matrice vide (lottoNumbers) qui contiendra les résultats. Après cela, vient la partie la plus compliquée du programme, la génération des nombres aléatoires (ici à droite). 
 + 
 +Nous avons une boucle for à cinq itérations, parce que nous voulons générer cinq nombres pour le loto. Nous créons deux variables temporaires. isCorrectNumber est un indicateur qui signalera si le nombre généré a déjà été généré avant ou non, et nous l'utiliserons pour générer des nombres tant qu'ils ne seront pas correct. L'autre variable est selectedNumber qui contiendra le nombre sélectionné (généré) depuis la matrice predefinedNumbers sur la base de la variable selectedNumberIndex. 
 + 
 +Le calcul de selectedNumberIndex peut paraître un peu bizarre, mais analysons-le. Nous disons que selectedNumberIndex doit être égal à un nombre qui est généré avec la méthode Math.ramdom(), multiplié par 1000, dont on extrait la partie entière pour calculer le reste de la division par 90 (soit un résultat de 0 à 89). 
 + 
 +**Lets take a concrete example:
 Math.random() returns 0.7323351332452148, multiply by 1000 will result in 732.3351332452148, we take the floor of this which will be 732, and we take the remainder when divided by 90, which is 12. Math.random() returns 0.7323351332452148, multiply by 1000 will result in 732.3351332452148, we take the floor of this which will be 732, and we take the remainder when divided by 90, which is 12.
  
Ligne 38: Ligne 64:
 node lottoGenerator.js node lottoGenerator.js
  
-I would be happy to hear from you! Please let me know what topics you are interested in.+I would be happy to hear from you! Please let me know what topics you are interested in.** 
 + 
 +Prenons un exemple concret : 
 +Math.random() retourne la valeur 0,7323351332452148, qui multipliée par 1000 donne 732,3351332452148 ; nous prenons la partie entière, soit 732, et nous calculons le reste de la division par 90, qui est 12. 
 + 
 +Nous utilisons le nombre calculé comme un index pour choisir un nombre dans la matrice predefinedNumbers et nous analysons le nombre sélectionné ; s'il a déjà été sélectionné,  alors nous positionnons l'indicateur isCorrectNumber à faux, autrement à vrai. Dans le cas où le nombre sélectionné aurait déjà été choisi précédemment, nous recommençons le processus (génération d'un nouveau nombre avec Math.random(), multiplication, partie entière, reste de la division par 90, sélection du nombre) finissant par le contrôle d'un possible choix précédent, ou non. Quand nous avons fini la génération des nombres, nous écrivons le résultat sur la console. 
 + 
 +Nous pouvons lancer le script en ligne de commande en tapant : 
 + 
 +nodejs lottoGenerator.js 
 + 
 +ou : 
 + 
 +node lottoGenerator.js 
 + 
 +Je serais heureux d'avoir vos retours ! S'il vous plaît, faites-moi connaître les sujets qui vous intéressent.
issue98/tutoriel_javascript.1435654949.txt.gz · Dernière modification : 2015/06/30 11:02 de auntiee