2018-065

De Mi caja de notas

Tridi
23
Vendémiaire
CCXXXIII

mardi 6 mars 2018

« Sauf au prix d'une générosité aussi rare que le génie, on est toujours barbare envers les faibles »

— Simone Weil (la philosophe, pas la ministre)


Mobilités

> Les vélos en libre service, qui sont là pour longtemps, nous donnent une belle occasion de repenser la mobilité et l’espace public. A condition de ne pas se crisper, de ne pas renoncer (à réguler), et de faire preuve d’imagination. - Bye Bye Gobee, et merci - 2018-03-02


> Les vélos en libre-service, une double « tragédie des communs » - Lionel Maurel - 2018-03-05


Silo Facebook

Comment FB gagne de l'argent - Ploum - 2018-02-28


Culture Code : Bug et histoire du Debugging

http://theinstitute.ieee.org/tech-history/technology-history/did-you-know-edison-coined-the-term-bug

Révision JavaScript

slides

exemple 1

variables

cf https://codepen.io/ColleenEMc/pen/zvpxGE

types de data

Nombre

valeurs numériques avec ou sans décimales

> var pi = 3.1416

var width = window.innerWidth;



Chaîne

Une chaîne est une collection de caractères (lettres, nombres, ponctuation, ...)

Pour créer une chaîne, placer la valeur entre guillemets "..."

   var location = window.location;
   var name = "xtof";

Booléen

En programmation, une valeur booléenne est une valeur qui est soit vraie ou fausse


   var status=false;
   var windowStatus=window.closed;

Objet

Parfois les variables sont plus complexes :

  • Un noeud dans le DOM est un bon exemple


   var topic = document.getElementById('monID');
  • Les noeuds sont plus qu'une valeur unique, ils ont des attributs.

Array (liste)

Comment une fonction peut renvoyer plus d'une valeur ?


   var liens = document.getElementsByTagName('a');



Opérateurs et Expressions

slides : File:01.06.JS_OperatorsandExpressions.pdf

   ++
   -- 
   +=


Fonctions

Code semaine 2 : https://codepen.io/collection/Adbwgo/#

Les petits morceaux de code qu'on peut réutiliser... Syntaxe spéciale pour la déclaration :


   function nomFonction(params){
         code à faire tourner
   }
   function messageAccueil(msg){
         alert(msg);
   }


Appel de fonction : - déclarer une fonction ne produit en fait rien - besoin d'appeler la fonction - appeler une fonction change le flow du programme


   var x = "bonjour";
   messageAccueil(x);
   x = "Au revoir";
   messageAccueil(x);


   function messageAccueil(msg) {
         alert(msg);
   }


Placement du code

- body - head - Fichier externe

cf Slides File:02.02.JS_CodePlacement.pdf

Lorsque vous écrivez du code, il est important d'adopter les bonnes habitudes d'organisation de votre code. Bien qu'il n'y ait pas de règles spécifiques sur comment et où placer votre code, il y a certainement des conventions. (Les conventions sont des suggestions que la plupart des programmeurs suivent, de cette façon les autres programmeurs peuvent rapidement et facilement comprendre leur code.)

L'organisation la plus commune est d'avoir un dossier principal avec vos fichiers html. Il existe également trois sous-dossiers (dossiers dans le dossier principal) pour vos fichiers CSS, image et JavaScript.

![Organisation du Code](https://d3c33hcgiwev3.cloudfront.net/imageAssetProxy.v1/ZcYNfJ1UEeWtOgrji8llcw_c7b2bac3ae7ffd2f40e9f4f799bad120_folderStructure.png?expiry=1520467200000&hmac=DICJNORCHYhqWf6E6D56REQadMtiI2eK9Jgj8E28pl8)

Lorsque nous utilisons CodePen, nous utilisons cette idée de séparer notre code. Cependant, sachez que CodePen n'exige pas beaucoup de choses que vous devriez avoir dans votre code. Par exemple, dans les fichiers HTML, il ignore toutes les informations de la section <head>. Donc, si vous développez dans CodePen, assurez-vous de tester votre code plus tard en utilisant la bonne structure de dossier / fichier. Vous devrez inclure des liens vers les feuilles de style, les images et les fichiers JavaScript externes.

Structure du Dossier pour Organiser le Code

slides File:02.03.JS_FolderStrucutreOrganizingYourCode.pdf


Evénements JS

Ajouter de l'interactivité avec JS

- Il nous appartient de décider du moment où les fonctions devraient s'exécuter - Ce serait mieux si les fonctions étaient appelées sur des "événements" spéciaux - l'API JavaScript nous permet d'ajouter des appels de fonctions dynamiques

événements

Tout élément peut réagir à un événement. Il faut ajouter l'événement à la balise et inclure ce que vous voulez qu'il arrive.

onclick
l'utilisateur clique sur un élément HTML
onmouseover
l'utilisateur bouge la souris sur un élément HTML
onresize
la fenêtre du navigateur est retaillée
onload
le navigateur finit de charger la page
Cliquer sur cette Div invoquera une fonction JavaScript


Utiliser les guillemets

- Vous pouvez utiliser des guillemets simples ou doubles pour le résultat de l'événement. - Les doubles guillemets facilitent si vous pouvez passer des paramètres de chaîne :

- Soyez prudents au moment de copier et coller les guillemets !


plus d'événements
Souris
onclick, ondblclick, onmousedown, onmouseenter, onmouseleave, on mousemove, onmouseout,....
Clavier
onkeydown, onkeypress, onkeyup
Fenêtre
onload, onresize, onscroll, onerror,...
Liste compréhensible
https://developer.mozilla.org/fr/docs/Web/Events


Session de code avec événements

Source : https://www.coursera.org/learn/javascript/lecture/Ch7Pn/code-with-me-events


Modifier le DOM : https://codepen.io/ColleenEMc/pen/vNdXKz


this

à suivre sur https://www.coursera.org/learn/javascript/lecture/2fCqw/this