Skip to content

Commit 6dad405

Browse files
committed
correctifs URL
1 parent a86907d commit 6dad405

File tree

5 files changed

+86
-34
lines changed

5 files changed

+86
-34
lines changed

00-javascript.md

+19-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
---
22
layout: page
33
title: JavaScript
4-
permalink: /js/
4+
permalink: index.html
55
---
66

77
**JavaScript** est un langage de programmation...
8-
* **scripté** (interprété) - pas de compilateur à proprement parler.* **côté client** - s’exécute dans un navigateur en général(il existe des environnements côté serveur : NodeJS).* **asynchrone** - plusieurs « morceaux » peuvent s’exécuter en parallèle.
8+
9+
* **scripté** (interprété) - pas de compilateur à proprement parler.
10+
* **côté client** - s’exécute dans un navigateur en général
11+
(il existe des environnements côté serveur : NodeJS).
12+
* **asynchrone** - plusieurs « morceaux » peuvent s’exécuter en parallèle.
913

1014
Une meilleure définition: le rôle du JavaScript consiste typiquement à sélectionner des parties d'un document, et à décrire ce qui doit changer quand un certain événement se produit (selon [Paul Robert Lloyd](https://paulrobertlloyd.com/2018/05/javascript)).
1115

@@ -19,23 +23,30 @@ Que permet le JavaScript?
1923
Le JavaScript, s'il a été utilisé initialement pour ajouter de "petites fonctionalités" aux navigateurs, comme p.ex. ouvrir des fenêtres pop-up, est néanmoins un langage de programmation à part entière.
2024

2125
Dans un navigateur JavaScript, permet :
22-
* de spécifier des changements sur le document :* sur le contenu, la structure, le style* en interceptant des événements (souris, clavier, doigts...)
26+
27+
* de spécifier des changements sur le document :
28+
* sur le contenu, la structure, le style
29+
* en interceptant des événements (souris, clavier, doigts...)
2330

2431
Mais également (API HTML5) :
25-
* d’échanger avec un serveur (AJAX)* de dessiner (canvas - bitmap - ou svg - vectoriel)* de se géolocaliser* d’enregistrer localement du contenu (cache ou bdd)
26-
* de jouer des fichiers audio ou video
32+
33+
* d’échanger avec un serveur (AJAX)
34+
* de dessiner (canvas - bitmap - ou svg - vectoriel)
35+
* de se géolocaliser
36+
* d’enregistrer localement du contenu (cache ou bdd)
37+
* de jouer des fichiers audio ou video
2738

2839
<h3>Des applications en JavaScript</h3>
2940

3041
JavaScript est utilisé par des applications comme [Figma](https://www.figma.com/) (éditeur graphique, dont le code est [écrit en C++](https://medium.com/figma-design/building-a-professional-design-tool-on-the-web-6332ed4f1fcc#.8egblptg3) puis converti en JavaScript), ou pour simuler dans le navigateur des ordinateurs historiques (cf. [Internet Arcade](https://archive.org/details/internetarcade)).
3142

3243
JavaScript permet aussi de construire un éditeur 3D, comme ThreeJS:
3344

34-
![ThreeJS editor](/cours-javascript/img/threejs-editor.jpg)
45+
![ThreeJS editor](img/threejs-editor.jpg)
3546

3647
Entre ces deux extrêmes, le JavaScript peut être utilisé pour développer des extensions de navigateur - par exemple l'extension Firefox [Add-Art](https://github.com/slambert/Add-Art) qui remplace les bannières publicitaires par des travaux d'artistes - ou pour étendre les fonctionalités de logiciels comme [Adobe InDesign](https://forums.adobe.com/community/indesign/indesign_scripting), [Max](https://docs.cycling74.com/max7/tutorials/javascriptchapter01) ou [Sketch](http://developer.sketchapp.com/introduction/plugin-scripts/).
3748

38-
![La galaxie javascript, par Olivier Le Goaër](/cours-javascript/img/galaxie-javascript.jpg)
49+
![La galaxie javascript, par Olivier Le Goaër](img/galaxie-javascript.jpg)
3950

4051
Le standard JavaScript est révisé régulièrement. La 6ème version (ES6 ou ES2015) a été finalisée en juin 2015 et la 7ème (ES7 ou ES2016) en juin 2016. Juriy Zaytev propose un [tableau récapitulatif](http://kangax.github.io/compat-table/) des fonctionnalités supportées par les différentes implémentations et navigateurs.
4152

@@ -50,7 +61,7 @@ De nombreux utilitaires ont été construits sur la base du JavaScript:
5061
- **Ember** est un autre *framework* front-end JavaScript.
5162
- **React** est encore un *framework* JavaScript front-end, créé par les développeurs de Facebook.
5263

53-
![Frameworks JavaScript](/cours-javascript/img/js-frameworks.jpg)
64+
![Frameworks JavaScript](img/js-frameworks.jpg)
5465

5566
Une application web contemporaine, au lieu d'utiliser **LAMP** (**L**inux, **A**pache, **M**ySQL, **P**HP), pourrait tourner sur **MEAN**, acronyme pour l'utilisation de **M**ongoDB (base de données), **E**xpress.js, **A**ngular.js, et **N**ode.js - une base logicielle entièrement codée en JavaScript.
5667

10-base-js.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
layout: page
33
title: Bases JavaScript
4-
permalink: /js/bases/
4+
permalink: bases.html
55
---
66

77
Quelques bases JavaScript...
@@ -74,7 +74,7 @@ La console est un outil intégré à votre navigateur. Voici comment l'afficher:
7474

7575
Si vous effectuez cela sur Facebook, vous constaterez que cette plateforme n'apprécie pas que ses utilisateurs ouvrent la console développeur:
7676

77-
![Message d’avertissement de Facebook apparaissant dans la console](/cours-javascript/img/fb-console.jpg)
77+
![Message d’avertissement de Facebook apparaissant dans la console](img/fb-console.jpg)
7878

7979
L'artiste James Bridle a [écrit un article](http://booktwo.org/notebook/welcome-js/) et développé un script - [welcome.js](https://github.com/stml/welcomejs/) - en résponse à cette pratique.
8080

20-manipulation.md

+56-19
Original file line numberDiff line numberDiff line change
@@ -65,26 +65,40 @@ window.document.write("<b>Bienvenue à l'université de Pau</b>");
6565

6666
DOM: Document Object Model
6767

68-
Représentation d'un document x(ht)ml sous saforme 100% objet
68+
Représentation d'un document x(ht)ml sous sa
69+
forme 100% objet
6970

70-
* Les balises sont des noeuds et leurs imbrications forment une arborescence* Cette structure d'arbre est ensuite facile à manipuler
71+
* Les balises sont des noeuds et leurs imbrications forment une arborescence
72+
* Cette structure d'arbre est ensuite facile à manipuler
7173

7274
L'arbre DOM est chargé dans le navigateur
7375

74-
* L'arbre est parcouru par le moteur de rendu du navigateur afin de produire l'affichage graphique* Chaque modification ultérieure de cet arbre force le rafraîchissement de l'affichage graphique
76+
* L'arbre est parcouru par le moteur de rendu du navigateur afin de produire l'affichage graphique
77+
* Chaque modification ultérieure de cet arbre force le rafraîchissement de l'affichage graphique
7578

7679
Document XHTML : exemple
7780

7881
```html
7982
<!DOCTYPE html>
80-
<html><head> <title>Bienvenue</title> <script src="essai.js"></script></head>
81-
<body> <p id="intro"> Pour me contacter : <a href="mailto:[email protected]">cliquez ici</a>
82-
<ul> <li>Uniquement en semaine</li>
83-
</ul> </p> <h1 class="joli1">S'inscrire à la Newsletter</h1>
84-
<form> <input type="text" name="news_email"/>
85-
</form></body>
83+
<html>
84+
<head>
85+
<title>Bienvenue</title>
86+
<script src="essai.js"></script>
87+
</head>
88+
<body>
89+
<p id="intro">
90+
Pour me contacter : <a href="mailto:[email protected]">cliquez ici</a>
91+
<ul>(img
92+
<li>Uniquement en semaine</li>
93+
</ul>
94+
</p>
95+
<h1 class="joli1">S'inscrire à la Newsletter</h1>
96+
<form>
97+
<input type="text" name="news_email"/>
98+
</form>
99+
</body>
86100
</html>
87-
```
101+
```(img
88102

89103
Arbre du document XHTML:
90104

@@ -94,7 +108,15 @@ Arbre du document XHTML:
94108

95109
**Popriétés** | **Commentaires**
96110
childNodes | nœuds enfants (Array)
97-
firstChild | premier nœud enfantlastChild | dernier nœud enfantnextSibling | prochain nœud d'un type (nœud de même niveau)parentNode | nœud parentpreviousSibling | nœud précédent d'un type (nœud de même niveau)nodeName | nom du nœudnodeValue | valeur / contenu du nœudnodeType | type du nœudinnerHTML | contenu littéral html du noeud
111+
firstChild | premier nœud enfant
112+
lastChild | dernier nœud enfant
113+
nextSibling | prochain nœud d'un type (nœud de même niveau)
114+
parentNode | nœud parent
115+
previousSibling | nœud précédent d'un type (nœud de même niveau)
116+
nodeName | nom du nœud
117+
nodeValue | valeur / contenu du nœud
118+
nodeType | type du nœud
119+
innerHTML | contenu littéral html du noeud
98120

99121
Navigation dans l'arbre DOM
100122

@@ -119,7 +141,8 @@ var result = document.getElementById("intro") ;
119141
```
120142

121143
Par la valeur de **l'attribut class** (si il existe)
122-
```javascript
144+
145+
```javascript
123146
var result = document.getElementsByClassName("joli1") ;
124147
// Renverra 0 ou n résultats
125148
```
@@ -141,7 +164,8 @@ var result = document.getElementsByName("news_email") ;
141164
```
142165

143166
Par **les sélecteurs CSS**
144-
```javascript
167+
168+
```javascript
145169
var result = document.querySelector("p#intro") ;
146170
// Renverra 0 ou 1 résultat, le premier trouvé
147171
```
@@ -171,26 +195,38 @@ Accès par navigation dans l'arbre DOM:
171195

172196
```html
173197
<html>
174-
<head> <title>Bienvenue</title> <script>
198+
<head>
199+
<title>Bienvenue</title>
200+
<script>
175201
function changeColor() {
176202
var htmlTag = document.childNodes[0];
177203
var bodyTag = htmlTag.lastChild;
178204
var pTag = bodyTag.firstChild;
179205
pTag.style.color="#0000FF";
180206
}
181-
</script> </head> <body onload="changeColor();"> <p>Lorem Ipsum</p>
182-
</body></html>
207+
</script>
208+
</head>
209+
<body onload="changeColor();">
210+
<p>Lorem Ipsum</p>
211+
</body>
212+
</html>
183213
```
184214

185215
Accès direct, par l'attribut ID('foo'):
186216

187217
```html
188218
<html>
189-
<head> <title>Bienvenue</title> <script>
219+
<head>
220+
<title>Bienvenue</title>
221+
<script>
190222
function changeColor() {
191223
var pTag = document.getElementById('foo');
192224
pTag.style.color="#0000FF";
193-
} </script> </head> <body onload="changeColor();"> <p id="foo">Lorem Ipsum</p>
225+
}
226+
</script>
227+
</head>
228+
<body onload="changeColor();">
229+
<p id="foo">Lorem Ipsum</p>
194230
</body>
195231
</html>
196232
```
@@ -199,7 +235,8 @@ Objets HTML
199235
===
200236

201237
Après avoir navigué et atteint le nœud de son choix, il faut agir dessus
202-
Pour cela, il est nécessaire de connaître sa véritable nature (son type)
238+
239+
Pour cela, il est nécessaire de connaître sa véritable nature (son type)
203240

204241
nœud ```<body>``` ? nœud ```<h1>``` ?, nœud ```<img>``` ? Etc.
205242

70-visualisation.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ permalink: /js/visualisation
88

99
- [Programming Design Systems](https://programmingdesignsystems.com/), un livre digital gratuit et open-source, en cours d'écriture par [Rune Madsen](https://runemadsen.com/) (enseignant au [ITP à New York University](https://tisch.nyu.edu/about/directory/itp/1490791702)). Les exercices et exemples de code sont en Javascript (et utilisent **P5**, une bibliothèque de dessin vectoriel).
1010

11-
![Travaux d'étudiants de Rune Madsen](/cours-javascript/img/rune-students.jpg)
11+
![Travaux d'étudiants de Rune Madsen](img/rune-students.jpg)
1212

1313
Bibliothèques de dessin vectoriel et de visualisation:
1414

@@ -23,19 +23,19 @@ Bibliothèques de dessin vectoriel et de visualisation:
2323
- [PixiJS](http://www.pixijs.com/) - "a fast lightweight 2D rendering library" Utilise le language WebGL.
2424
- [Three.js](https://threejs.org/) - permet la création d'animations 3D dans le navigateur. Utilise le language WebGL.
2525

26-
![Call me Adele - détail](/cours-javascript/img/call-me-adele-alt.jpg)
26+
![Call me Adele - détail](img/call-me-adele-alt.jpg)
2727

2828
Analyse de données provenant de SMS, dessinant l'évolution d'une relation amoureuse sur quatre années, généré avec Rune.js. [Call me Adele](https://medium.com/@wipaweeeeee/call-me-adele-f37162b6ffe5#.padbmd6fd), Travail de l'artiste Wipawe Sirikolkarn
2929

30-
![Infinitown](/cours-javascript/img/infinitown.jpg)
30+
![Infinitown](img/infinitown.jpg)
3131

3232
Infinitown, une ville dont le plan infini est généré aléatoirement. Développé avec Three.js, par le studio [Little Workshop](https://www.littleworkshop.fr/projects/infinitown/).
3333

34-
![Runeterra interactive map](/cours-javascript/img/runeterra-interactive-map.jpg)
34+
![Runeterra interactive map](img/runeterra-interactive-map.jpg)
3535

3636
Carte interactive du monde imaginaire Runeterra (dans l'univers du jeu League of Legends), programmée avec Three.js & React ([source](https://twitter.com/felixturner/status/1021849617896337408)).
3737

38-
![ThreeJS editor](/cours-javascript/img/threejs-editor.jpg)
38+
![ThreeJS editor](img/threejs-editor.jpg)
3939

4040
Un élément créé dans l'editeur 3D inclus dans Three.js ([source](https://twitter.com/thespite/status/1021855786719498240)).
4141

_config.yml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
remote_theme: coursweb/jk-theme
2+
title: Newsletters
3+
description: Support de cours JavaScript.
4+
lang: fr-FR

0 commit comments

Comments
 (0)