Différences entre versions de « 2018-065 »

De Mi caja de notas

(Page créée avec « {{calendrier républicain}} mardi 6 mars] 2018 {{aphorisme du jour}} == Mobilités == > Les vélos en libre service, qui sont là pour longtemps, nous donn... »)
 
 
(54 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{calendrier républicain}}
 
{{calendrier républicain}}
[[mardi]] 6 [[mars]]] [[2018]]
+
[[mardi]] 6 [[mars]] [[2018]]
  
 
{{aphorisme du jour}}
 
{{aphorisme du jour}}
Ligne 6 : Ligne 6 :
 
== Mobilités ==
 
== 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. - [https://medium.com/@vvraiment/bye-bye-gobee-et-merci-1f144c0555fc Bye Bye Gobee, et merci] - 2018-03-02
 +
 +
 +
> [http://theconversation.com/les-velos-en-libre-service-une-double-tragedie-des-communs-92638 Les vélos en libre-service, une double « tragédie des communs »] - Lionel Maurel - 2018-03-05
 +
 +
 +
== Silo Facebook ==
 +
 +
 +
[https://ploum.net/comment-facebook-gagne-de-largent/ 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 ===
 +
<!--
 +
<html>
 +
<h2 id="test">testeur</h2>
 +
<script>
 +
  document.getElementById('test').innerHTML = "Bonjour innerHTML";
 +
  alert("Bonjour les wikistes");
 +
  document.write("Temps de maîtriser JavaScript");
 +
  console.log("Laisse-ici un message secret");
 +
 
 +
</script>
 +
 +
<p>Pour un test, que se passe-t-il si je retire la balise script au-dessus ? Et si j'ai deux éléments avec id = "test"</p>
 +
</html>
 +
-->
 +
=== variables ===
 +
 +
cf https://codepen.io/ColleenEMc/pen/zvpxGE
 +
<!--
 +
<html>
 +
<script>
 +
var name;
 +
name = prompt("Quel est ton petit nom ami wikiste ?");
 +
document.write(name);
 +
document.write("<h1>" + "merci " + name + "</h1>");
 +
document.write(name + 7+"<br>");
 +
document.write(document.title+"<br>");
 +
document.write(document.baseURI+"<br>");
 +
var pars = document.getElementsByTagName('p');
 +
document.write(pars + "<br/>");
 +
document.write(pars.length);
 +
</script>
 +
</html>
 +
 +
-->
 +
 +
=== types de data ===
 +
==== Nombre ====
 +
valeurs numériques avec ou sans décimales
 +
 +
> var pi = 3.1416
 +
 +
var width = window.innerWidth;
 +
 +
 +
<html>
 +
<script>
 +
var largeur = window.innerWidth;
 +
alert("la largeur de cette fenêtre est de "+ largeur + " pixels")
 +
</script>
 +
</html>
 +
 +
 +
==== 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";
 +
<!--
 +
<html>
 +
<script>
 +
var location = window.location;
 +
alert("l'URL est " + location);
 +
var name = "xtof";
 +
</script>
 +
</html>
 +
-->
 +
 +
==== Booléen ====
 +
En programmation, une valeur booléenne est une valeur qui est soit vraie ou fausse
 +
 +
 +
    var status=false;
 +
    var windowStatus=window.closed;
 +
 +
<html>
 +
<script>
 +
var status=false;
 +
var windowStatus=window.closed;
 +
document.write(windowStatus);
 +
</script>
 +
</html>
 +
 +
==== 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');
 +
 +
 +
 +
<html>
 +
<script>
 +
var liens=document.getElementsByTagName('a');
 +
document.write(liens[0]);
 +
</script>
 +
</html>
 +
 +
 +
=== Opérateurs et Expressions ===
 +
 +
slides : [[:File:01.06.JS_OperatorsandExpressions.pdf]]
 +
 +
    ++
 +
    --
 +
    +=
 +
 +
 +
===  Fonctions ===
 +
 +
Code semaine 2 : https://codepen.io/collection/Adbwgo/#
  
> 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. - [https://medium.com/@vvraiment/bye-bye-gobee-et-merci-1f144c0555fc Bye Bye Gobee, et merci] - 2018-03-02
+
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
 +
 
 +
    <div onclick = "message()"> Cliquer sur cette Div invoquera une fonction JavaScript</div>
 +
 
 +
 
 +
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 :
 +
   
 +
    <div onclick = "message('Salut')">
 +
 
 +
- 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

Version actuelle datée du 6 mars 2018 à 19:30

Duodi
2
Frimaire
CCXXXIII

mardi 6 mars 2018

« Toute réalité est unité complexe. »

— Alfred North Whitehead, Procès et Réalité. Essai de Cosmologie, 1929


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