2018-065
De Mi caja de notas
« 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
- Coursera : Interactivité avec Javascript https://www.coursera.org/learn/javascript
- Codepen https://codepen.io/collection/nLPkgP/#
slides
- File:01.01.JS_Introduction.pdf
- File:01.02.JS_DOMReviewwithObjectOrientedProgramming.pdf
- File:01.03.JS_Output.pdf
- File:01.04.JS_Variables.pdf
- File:01.05.JS_DataTypes.pdf
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
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