Cours Developpement Web Avancé
Cours Developpement Web Avancé
Cours Developpement Web Avancé
Université Jendouba
Économiques et de Gestion
1 / 52
Sommaire
1 Avant de commencer
2 Introduction
3 Le web : Évolution et développement
Évolution de l’usage
Évolution des services
4 Le développement pour le web : est ce difficile ?
5 Créer une application web en 3 étapes
Comment créer une application ?
Quels étapes à suivre ?
L’essentiel d’une application Web ?
6 Quels Outils et technologies nécessaires à la construction d’une
application web ?
Les outils CMS
L’hébergement
Le nom du domaine
L’évaluation des applications web
7 Bibliographie
2 / 52
Avant de commencer
Avant de commencer
3 / 52
Avant de commencer
4 / 52
Objectifs du Chapitre 1
Objectifs de ce cours
5 / 52
Objectifs du Chapitre 1
Objectifs
6 / 52
Introduction
Introduction
7 / 52
Introduction
8 / 52
Introduction
L’internet en chiffre
Statistiques
9 / 52
Introduction
L’usage de l’internet
Services ! !
10 / 52
Introduction
11 / 52
Le web : Évolution et développement
12 / 52
Le web : Évolution et développement
Evolution du web
Evolution d’Internet
13 / 52
Le web : Évolution et développement
Evolution du web
14 / 52
Le web : Évolution et développement
15 / 52
Le web : Évolution et développement
16 / 52
Le web : Évolution et développement
Synthèse
17 / 52
Le web : Évolution et développement Évolution de l’usage
Evolution de l’usage
Evolution de l’usage
19 / 52
Le web : Évolution et développement Évolution de l’usage
Deep Web
Partie du web accessible en ligne, mais non indexée (accès à travers des
requêtes et non des liens URL) par des moteurs de recherche classiques
généralistes. Le web invisible comprend des bases et des banques de
données et bibliothèques en ligne gratuites ou payantes...
20 / 52
Le web : Évolution et développement Évolution de l’usage
21 / 52
Le web : Évolution et développement Évolution des services
Le nuage ...
Stockage des données en ligne ⇒ pas besoin d’une clé usb.
Synchronisation des données ⇒ données accessibles depuis n’importe
quel type ordinateur (tablettes et smartphones compris).
Grande capacité de stockage.
Possibilité de partage de données avec d’autres utilisateurs.
22 / 52
Le web : Évolution et développement Évolution des services
23 / 52
Le développement pour le web : est ce difficile ?
24 / 52
Le développement pour le web : est ce difficile ?
25 / 52
Le développement pour le web : est ce difficile ?
26 / 52
Le développement pour le web : est ce difficile ?
Technologies en évolution
Il faut maîtriser de nombreuses technologies pour :
la structure du document : XML, XHTML, DOM
le rendu : CSS (feuilles de style), XSL et XSLT
l’interaction côté client : Javascript, Ajax, ...
L’interaction côté serveur : PHP, Perl, Python,JAVA ...
27 / 52
Le développement pour le web : est ce difficile ?
La Réutilisation
28 / 52
Le développement pour le web : est ce difficile ?
Balkanisation du web
Balkanisation du web
L’utilisation de différents standard et normes conduit à la balkanisation
du web : écriture spécifique en fonction des incompatibilités
29 / 52
Créer une application web en 3 étapes
30 / 52
Créer une application web en 3 étapes
Introduction
Q. Savez-vous la différence entre un site web et une application Web ?
31 / 52
Créer une application web en 3 étapes
Introduction
Q. Savez-vous la différence entre un site web et une application Web ?
Les applications Web Vs site Web
Site web Une seule fonction : présenter un contenu (Exemple : portail de
l’entreprise ) ⇒ Interface graphique
Application web Offre des services à travers le site web, consommé à
travers le client-navigateur (exemple : chat, mail, entretenir un
réseau social, etc)
32 / 52
Créer une application web en 3 étapes Comment créer une application ?
33 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
34 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
Le Benchmark
I Faire un benchmark ("étude méthodologique comparative") sur le
secteur d’activité ou le produit en question et sélectionner les "best
practises"
35 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
Le Benchmark
4 points essentiels (pas uniquement) à prendre en considération dans l’audit
des sites concurrents ...
36 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
37 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
L’Arborescence
⇒ doit correspondre à l’architecture globale du site et permettre d’organiser
et de structurer le contenu du site
38 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
Un travail de réflexion
Comment placer mes blocs de contenus ? Sont-ils pertinent et en
quantité suffisante ?
Communiquent-ils le bon message ? La navigation est-elle intuitive ?
...
39 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
Exemple
40 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
41 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
42 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
Retenez ..
La phase de zoning intervient avant la phase de conception graphique. ⇒ Elle
est quasi indispensable, elle permet de mettre à plat la structuration du site.
43 / 52
Créer une application web en 3 étapes Quels étapes à suivre ?
44 / 52
Créer une application web en 3 étapes L’essentiel d’une application Web ?
La page d’accueil
Vitrine du site, c’est en général le premier contact que l’internaute a avec le
site. Elle a aussi pour fonction de diriger le visiteur le plus rapidement possible
vers l’information recherchée.
Qui sommes-nous
Cette page est attendue par les visiteurs. Elle est devenue la norme. C’est
l’occasion de rassurer le visiteur en lui montrant votre photo. C’est aussi
l’opportunité de séduire et de construire un lien privilégié avec vos potentiels
clients.
45 / 52
Quels Outils et technologies nécessaires à la construction d’une application
web ?
46 / 52
Quels Outils et technologies nécessaires à la construction d’une application
web ? Les outils CMS
Un CMS
Content Management System est une plateforme libre et gratuite qui permet
de créer et de gérer un site internet. Le choix du CMS dépend du choix du site.
47 / 52
Quels Outils et technologies nécessaires à la construction d’une application
web ? L’hébergement
L’hébergement
Une fois votre site (ou application) réalisé(e), il doit être hébergé (e) pour
être accessible. Comment ? ⇒ Il faut un serveur web et une adresse ip
publique.
Deux types d’hébergement :
Mutualisé Partagé des serveurs par plusieurs sites ⇒ Sites à faible trafic.
Dédié Des serveurs dédiés pour un seul site ⇒ Sites à fort trafic
48 / 52
Quels Outils et technologies nécessaires à la construction d’une application
web ? Le nom du domaine
Le nom du domaine
Le nom du domaine
I Nom court un nom court plus facile à retenir
I Crédibilité Cohérence entre l’activité du site et le nom, il en va de votre
réputation.
I Géolocalisé Business en Tunisie ? ⇒ Optez pour ".tn" International
".com"
49 / 52
Quels Outils et technologies nécessaires à la construction d’une application
web ? L’évaluation des applications web
50 / 52
Bibliographie
Références Bibliographiques
51 / 52
Bibliographie
Références Bibliographiques
52 / 52
Faculté des Sciences Juridiques
Université Jendouba Économiques et de Gestion
1 / 78
Sommaire
1 Géo-localisation
Comprendre un peu le concept
La géolocalisation par les méthodes !
La géolocalisation : La gestion des erreurs
La géolocalisation : Google Maps
2 Drag and Drop
3 Le Stockage coté client
Les cookies
Web Storage
Session Storage
Local Storage
2 / 78
Les API de HTML5 .... sa force
3 / 78
HTML5 : Les API de HTML 5
2. La Géolocalisatoin
5 / 78
Géo-localisation Comprendre un peu le concept
La Géo-localisation
Il ne s’agit pas strictement d’une spécification de l’HTML5, mais
elle y est souvent associée ()
Il est possible grâce à l’API de géo-localisation d’accéder aux
coordonnées de l’utilisateur si celui-ci a accepté de partager sa
position via le bandeau s’affichant en haut de page
Ses usages sont nombreux et souvent corrélés avec des bases de données de
renseignements géographiques :
Plans/cartes, calculs de position et d’itinéraires
Renseignements locaux en mobilité (points d’intérêts proches)
Résultats contextualisés sur les moteurs de recherche
Méta-informations jointes aux photos/vidéos 6 / 78
Géo-localisation Comprendre un peu le concept
7 / 78
Géo-localisation Comprendre un peu le concept
9 / 78
Géo-localisation Comprendre un peu le concept
La Géo-localisation
Différentes techniques sont mises à contribution avec + ou - de précision
pour obtenir les coordonnées de géolocalisation. Elles peuvent être
combinées pour affiner le résultat au cours du temps.
La Géo-localisation
11 / 78
Géo-localisation La géolocalisation par les méthodes !
La Géo-localisation : un exemple
Disponibilité de l’API ?
12 / 78
Géo-localisation La géolocalisation par les méthodes !
La Géo-localisation : un exemple
Les méthodes importantes qu’il faut connaîtres !
La Géo-localisation : un exemple
Essayons de comprendre le Script !
14 / 78
Géo-localisation La géolocalisation par les méthodes !
La Géo-localisation : un exemple
15 / 78
Géo-localisation La géolocalisation par les méthodes !
La Géo-localisation : GetCurrentPosition
16 / 78
Géo-localisation La géolocalisation par les méthodes !
17 / 78
Géo-localisation La géolocalisation par les méthodes !
Résultat !
Pour stopper ce suivi continu, il faut réexploiter la variable obtenue (qui est
en quelque sorte un pointeur vers le processus de suivi) avec la méthode
clearWatch().
18 / 78
Géo-localisation La géolocalisation par les méthodes !
La Géo-localisation : Un exercice
Figure – Exercice
Exercice
Modifiez et enrichissez le code de suivi en temps réel avec deux boutons
pour lancer et arrêter l’appel 19 / 78
Géo-localisation La géolocalisation : La gestion des erreurs
20 / 78
Géo-localisation La géolocalisation : La gestion des erreurs
Retenez !
Les appels aux méthodes de géolocalisation sont asynchrones => La
détection peut nécessiter un temps variable et incertain.
Asynchrones : les appels retournent tout de suite pour donner la
main à la suite du code, tout en déclenchant les techniques
permettant de réunir toutes les informations nécessaires.
Une fois ces informations obtenues de la part du navigateur, une
fonction de callback définie par le développeur (vous !) peut être
appelée. Celle-ci recevra en argument toutes les valeurs réunies dans
les propriétés d’un objet JavaScript.
21 / 78
Géo-localisation La géolocalisation : La gestion des erreurs
22 / 78
Géo-localisation La géolocalisation : La gestion des erreurs
23 / 78
Géo-localisation La géolocalisation : La gestion des erreurs
Exercice
Enrichissez votre code initial avec la gestion des erreurs et testez avec des
navigateurs différents !
24 / 78
Géo-localisation La géolocalisation : Google Maps
25 / 78
Géo-localisation La géolocalisation : Google Maps
26 / 78
Géo-localisation La géolocalisation : Google Maps
Un Bonus : Le marqueur !
27 / 78
Drag and Drop
28 / 78
Drag and Drop
30 / 78
Drag and Drop
31 / 78
Drag and Drop
Comment ?
32 / 78
Drag and Drop
33 / 78
Drag and Drop
La zone de drop...
Un élément en cours de déplacement ne peut pas être déposé n’importe où,
il faut pour cela définir une zone de "drop" (zone qui va permettre de
déposer des éléments) qui ne sera, au final, qu’un simple élément HTML.
35 / 78
Drag and Drop
La fonction drop !
36 / 78
Drag and Drop
37 / 78
Drag and Drop
39 / 78
Le Stockage coté client
40 / 78
Le Stockage coté client Les cookies
Les cookies
41 / 78
Le Stockage coté client Les cookies
42 / 78
Le Stockage coté client Les cookies
45 / 78
Le Stockage coté client Les cookies
46 / 78
Le Stockage coté client Les cookies
47 / 78
Le Stockage coté client Les cookies
48 / 78
Le Stockage coté client Les cookies
49 / 78
Le Stockage coté client Les cookies
Web Storage
51 / 78
Le Stockage coté client Web Storage
52 / 78
Le Stockage coté client Web Storage
Session Storage
53 / 78
Le Stockage coté client Web Storage
La SessionStorage
) L’interface sessionStorage mémorise les données sur la durée
d’une session de navigation,
) Sa portée est limitée à la fenêtre ou l’onglet actif
) Lors de sa fermeture, les données sont effacées
) Pas d’interférence) Chaque stockage de session est limité
à un domaine
54 / 78
Le Stockage coté client Web Storage
Local Storage
55 / 78
Le Stockage coté client Web Storage
Local Storage
Le Local Storage est une manière élégante de stocker dans le
navigateur des informations facilement.
Par exemple, pour écrire puis lire une valeur dans le Local Storage il suffit
d’écrire :
Local Storage
58 / 78
Le Stockage coté client Web Storage
Local Storage
Stockage
59 / 78
Le Stockage coté client Web Storage
Local Storage
Récupération
60 / 78
Le Stockage coté client Web Storage
Local Storage
Suppression partielle
61 / 78
Le Stockage coté client Web Storage
Local Storage
Suppression totale
62 / 78
Le Stockage coté client Web Storage
Local Storage
Outils de développement
Les outils de développement et diverses consoles peuvent donner accès à
des vues détaillées du stockage. Par exemple sous Chrome, l’onglet
"Application" :
63 / 78
Le Stockage coté client Web Storage
Exercices et Démonstration
64 / 78
Le Stockage coté client Web Storage
Utilisation de JSON
Utilisation de JSON
N’OUBLIEZ PAS ! Web Storage est bien pratique pour
stocker de simples chaînes de texte.
65 / 78
Le Stockage coté client Web Storage
Utilisation de JSON
Utilisation de JSON
N’OUBLIEZ PAS ! Web Storage est bien pratique pour
stocker de simples chaînes de texte.
JSON ...
67 / 78
Le Stockage coté client Web Storage
68 / 78
Le Stockage coté client Web Storage
69 / 78
Le Stockage coté client Web Storage
Utilisation de JSON
70 / 78
Le Stockage coté client Web Storage
71 / 78
Le Stockage coté client Web Storage
72 / 78
Le Stockage coté client Web Storage
73 / 78
Les Web Sockets
4. Web Sockets
74 / 78
Les Web Sockets
Le Web Sockets
I C’est un nouveau protocole ambitieux de communication avec le
serveur.
I Un navigateur ne peut habituellement qu’effectuer des requêtes au
serveur puis recevoir sa réponse ) C’est une communication
unidirectionnelle (canal simplex).
I Les Web Sockets apportent la communication bi-directionnelle
(full-duplex) entre le client et le serveur.
Question ?
Demandez-vous comment vous réaliseriez une page dont le contenu devrait
toujours être à jour (comme un chat par exemple) ?
75 / 78
Les Web Sockets
Le Web Sockets
Le Web Sockets 76 / 78
Bibliographie
Références Bibliographiques
77 / 78
Bibliographie
Références Bibliographiques
78 / 78
Faculté des Sciences Juridiques
Université Jendouba Économiques et de Gestion
1 / 26
Sommaire
1 Objectifs
2 Type de fonctions en JS
Les fonctions internes (Inner)
Les fonctions Anonymes
Les fonctions immédiates (Self-invoking)
Les fonctions callback
4 Conclusion
5 Bibliographie
2 / 26
Objectifs
3 / 26
Type de fonctions en JS
4 / 26
Type de fonctions en JS
5 / 26
Type de fonctions en JS
Les fonctions en JS
6 / 26
Type de fonctions en JS Les fonctions internes (Inner)
7 / 26
Type de fonctions en JS Les fonctions internes (Inner)
8 / 26
Type de fonctions en JS Les fonctions Anonymes
9 / 26
Type de fonctions en JS Les fonctions Anonymes
10 / 26
Type de fonctions en JS Les fonctions immédiates (Self-invoking)
11 / 26
Type de fonctions en JS Les fonctions immédiates (Self-invoking)
12 / 26
Type de fonctions en JS Les fonctions callback
13 / 26
Type de fonctions en JS Les fonctions callback
Les fonctions sont typées comme des variables ⇒ Nous pouvons les
passer en paramètre
15 / 26
Type de fonctions en JS Les fonctions callback
16 / 26
La portée et la fermeture des fonctions
17 / 26
La portée et la fermeture des fonctions
18 / 26
La portée et la fermeture des fonctions
19 / 26
La portée et la fermeture des fonctions
Exemple ? 20 / 26
La portée et la fermeture des fonctions
21 / 26
La portée et la fermeture des fonctions
22 / 26
Conclusion
23 / 26
Conclusion
En conclusion
Il existe des fonctions natives, mais il est aussi possible d’en créer,
avec le mot-clé function.
Les variables déclarées avec var au sein d’une fonction ne sont
accessibles que dans cette fonction.
Il faut éviter le plus possible d’avoir recours aux variables globales.
Une fonction peut recevoir un nombre défini ou indéfini de paramètres.
Elle peut aussi retourner une valeur ou ne rien retourner du tout.
Des fonctions qui ne portent pas de nom sont des fonctions anonymes
et servent à isoler une partie du code.
24 / 26
Bibliographie
Références Bibliographiques
25 / 26
Bibliographie
Références Bibliographiques
26 / 26
Faculté des Sciences Juridiques
Université Jendouba Économiques et de Gestion
1 / 101
Sommaire
1 Objectifs
2 Les règles du design
Design ou Web design
Ergonomie : Définition et Règles
3 Rappel : la feuille de style CSS
Les aspects avancés du CSS
Les notations courtes et longues
Les sélecteurs CSS avancés
Les pseudo classee CSS
Les pseudo Elements
CSS 3 ... les nouveautés
Les effets visuels
Les animations en CSS
4 Responsive : Définition
Quelles solutions autres que Responsive Web Design
Les avantages du web responsive design
Les fondamentaux du web responsive
La balise Viewport
Les Media Queries
2 / 101
Quelles sont les objectifs de ce cours ?
3 / 101
Les objectifs ...
4 / 101
Comment rendre un site plus attractif ?
5 / 101
Y a t-il des règles ou des normes pour le
développement web ?
6 / 101
Ergonomie et design ... les 2 fondamentaux du
développement web
Mais pourquoi ?
Il faut capter les visiteurs avec un design attrayant et ensuite les retenir en
facilitant leurs navigations grâce à une ergonomie bien pensée !
7 / 101
Ergonomie et design ... les 2 fondamentaux du
développement web
Par définition...
L’art de présenter de manière simple les choses les plus complexes.
8 / 101
Design du Web ? Quels composants ?
9 / 101
Ergonomie et design ... les 2 fondamentaux du
développement web
Par définition...
L’ergonomie d’un site Internet ⇒ Sa capacité à répondre efficacement aux
attentes des internautes avec une "navigation confortable".
⇒ Le principal défi à relever ⇒ La diversité des profils des internautes.
10 / 101
Qu’est ce que l’ergonomie appliquée aux sites
web ?
11 / 101
Ergonomie et design ... les 2 fondamentaux du
développement web
12 / 101
Les commandements du web design
13 / 101
Les commandements du web design
14 / 101
Les commandements du web design
15 / 101
Les commandements du web design
17 / 101
Les commandements du web design
18 / 101
Les commandements du web design
Règle 3 ... Un design professionnel et moderne
"Booster le référencement naturel, mieux valoriser les produits"
21 / 101
Les commandements du web design
22 / 101
Les commandements du web design
Règle 4 ...
Contrôler la navigation La navigation sur le site est probablement le
facteur qui influence le plus fortement
l’expérience des usagers. Un site sur lequel il est agréable de
naviguer verra ses visiteurs prolonger leur séjour sur ses pages.
23 / 101
Améliorer l’expérience de l’utilisateur
24 / 101
Retenez ...
25 / 101
Pourquoi dois-je avoir une feuille de
style ?
26 / 101
Le CSS, Pour quelle raison ?
Question
"HTML me permet aussi de rajouter des couleurs de mettre en gras ...
Alors pourquoi se compliquer la vie ?"
27 / 101
Le CSS, Pour quelle raison ?
Question
"HTML me permet aussi de rajouter des couleurs de mettre en gras ...
Alors pourquoi se compliquer la vie ?"
Objectifs
Séparer le fond (le contenu) de la forme (la présentation ou la mise
en forme)...
Avoir un code facilement compréhensible ⇒ maintenable, évolutif et
réutilisable
28 / 101
Le CSS, Pour quelle raison ?
29 / 101
Le CSS, Pour quelle raison ?
30 / 101
Le CSS, Pour quelle raison ?
31 / 101
Où placer une feuille de style ?
32 / 101
Où placer le code CSS ?
Deux endroits :
Dans une balise style qui est elle-même placée dans la balise head de
notre page HTML. C’est pratique car on a ainsi le code HTML et le
code CSS dans la même page. C’est ce que nous ferons pour nos
premiers essais.
Dans un autre fichier dédié au style avec une extension .css. On
utilise dans ce cas une balise link placé elle aussi dans la balise head
de notre page HTML pour indiquer l’emplacement du fichier CSS.
33 / 101
Où placer le code CSS ?
34 / 101
Où placer le code CSS ?
35 / 101
Principe du CSS ...
balise {
propriete : valeur ;
propriete : valeur ;
}
Balise : Nom de la balise dont on modifie l’apparence (ex : < em >, <
h1 >,etc)
propriete : catégorie d’effet de style (color, font-size)
valeur : valeur associée à la propriété (red, blue).
36 / 101
Principe du CSS ...
Appliquer des règles à plusieurs balises
balise1, balise2, ..., BaliseN {
propriete : valeur ;
propriete : valeur ;
}
37 / 101
Principe du CSS ...
Imbrication de balises
balise1 balise2 balise3 {
propriete : valeur ;
}
38 / 101
Attributs class et id
39 / 101
Utilisation de l’attribut class
40 / 101
Utilisation de l’attribut id
41 / 101
Différence entre class et id
L’identifiant (id)
utilisé pour référencer un élément
utilisé pour la disposition des éléments de la page (entête, menu, pied
de page, ...)
L’attribut class
utilisé plusieurs fois (pas de référence à un objet précis)
utilisé dans les autres cas.
42 / 101
Balises universelles
43 / 101
Les aspects avancés du CSS
44 / 101
Notations Long Hand Vs Short Hand
Pour définir une bordure, nous avons deux façons de faire :
Notation Long Hand Exemple : pour définir une bordure, nous avons
utiliser les trois propriétés CSS border-width, border-style
et border-color
Notation Short Hand Pour le même exemple, nous pouvons utilisé la
propriété border avec les valeurs des trois propriétés
précédentes
D’autres exemples
Cette règle s’applique aussi sur les propriétés des modèles de boîtes
(padding, border, margin) et du Background (background) 45 / 101
Sélecteurs CSS Avancés
46 / 101
Sélecteurs CSS Avancés
47 / 101
Sélecteurs CSS Avancés
48 / 101
Sélecteurs CSS Avancés
49 / 101
Les pseudo classes CSS
50 / 101
Les pseudo Classes CSS
51 / 101
Les Pseudo Classes CSS
52 / 101
Les Pseudo Elements CSS
Exemple
Figure – La lettrine
54 / 101
Les nouveautés apportés au CSS3 ?
55 / 101
Les nouveautés- Quoi de neuf ?
56 / 101
Les effets visuels ...
57 / 101
Effets visuels
Transition : Passe d’un état à un autre d’un élément avec par une
transition animée
58 / 101
Effets visuels
59 / 101
Effets visuels
60 / 101
Que veut dire Responsive ?
61 / 101
Responsive ...
Le terme Responsive
I Fournir "Réponses ou une adaptativité rapide et positive" aux
différents usagers (profils)
I Le "Responsive Web Design" fait référence à : "création d’un ou
plusieurs catalogue(s) de patrons de modèles de multi-dispositifs".
62 / 101
Le web Responsive Design ...
63 / 101
Pourquoi devrons nous développer
Responsive ? d’autres Alternatives ?
64 / 101
Site dédié, application ou responsive ?
65 / 101
1re solution : Site dédié
66 / 101
1re solution : Site dédié
Inconvénients
1 Le contenu dupliqué ("duplicate content")
2 La maintenance de plusieurs versions de site et de plusieurs adresses
web (moins facilement indexables par un moteur de recherche)
67 / 101
2eme solution : Une application native
68 / 101
2eme solution : Une application native
Inconvénients
1 Un développement spécifique dans plusieurs langages (propres à iOS,
Android, Windows Phone, etc.)
2 Le coût du développement, des licences, et de la maintenance pour
chaque système d’exploitation
3 Un contenu non indexable par un moteur de recherche web classique
4 La mise à jour de l’application nécessite une action de l’utilisateur
69 / 101
3eme solution : Une version responsive
70 / 101
Les avantages du Responsive web
designing ?
71 / 101
3eme solution : Une version responsive
Avantages
72 / 101
3eme solution : Une version responsive
Avantages
73 / 101
3eme solution : Une version responsive
Inconvénients
74 / 101
Web Responsive
76 / 101
Les fondamentaux du web responsive design
77 / 101
Les fondamentaux du web responsive design
Viewport
Désigne schématiquement la surface de la fenêtre du navigateur.
La notion de viewport sur un appareil mobile est différente de celle
sur un écran de bureau ⇒ le navigateur mobile ne dispose pas de
"fenêtre" réelle, ni de barres de défilement ! !
78 / 101
Les fondamentaux du web responsive design
79 / 101
Les fondamentaux du web responsive design
Compte tenu de ces différentes surfaces, les pages web s’affichent par
défaut de manière à ce que toute la surface entre dans celle de l’écran.
81 / 101
Les fondamentaux du web responsive design
82 / 101
Les fondamentaux du web responsive design
La balise <meta> autorise d’autres valeurs utilisables dans vos
projets :
width largeur de fenêtre viewport (par exemple
width="device-width")
height hauteur de fenêtre viewport (par exemple
height="device-height")
initial-scale niveau de zoom initial (par exemple initial-scale="1.0")
minimum-scale niveau de zoom minimal (par exemple
minimum-scale="0.5")
maximum-scale niveau de zoom maximal (par exemple
maximum-scale="3.0"). Attention, la valeur "1.0" interdit le
zoom et peut rendre vos pages inaccessibles
user-scalable possibilité à l’utilisateur de zoomer (par exemple
user-scalable="yes"). Attention, la valeur "no" interdit le
zoom et peut rendre vos pages inaccessibles
83 / 101
Les fondamentaux du web responsive design
Instructions d’usage des feuilles de style
Les valeurs en pourcentage
Définissez une taille égale à 100% pour votre élément body, puis
ensuite une largeur de 50% pour un div enfant direct du body, la taille
du div sera toujours égale à 50% de celle du body.
Pareil pour les images et les vidéos
84 / 101
Les Media Queries ? on entend parler ?
85 / 101
Media Queries
86 / 101
Approche historique des media queries
Exemple ?
87 / 101
Media queries
Exemple
88 / 101
Media queries
Les Media Queries permettent donc de cibler :
Le type de média
La taille de l’écran
La taille de la fenêtre
La résolution
Le nombre de couleurs
L’orientation
...
89 / 101
L’attribut magique "media"
Screen : Écrans
Handheld : Périphériques mobiles ou de petite taille
Print : Impression
Aural : (CSS 2.0) / speech (CSS 2.1) Synthèses vocales
Braille Plages braille
Embossed : Imprimantes braille
90 / 101
L’attribut magique "media"
91 / 101
L’attribut magique "media"
92 / 101
Syntaxe des Media Queries CSS3
93 / 101
Syntaxe des Media Queries CSS3
Règles générales
On combine ensemble un type de média (screen, all...) et une
expression grâce à and, bien qu’une expression seule puisse être
utilisée. L’expression est toujours écrite entre parenthèses.
94 / 101
Syntaxe des Media Queries CSS3
Exemple 2
95 / 101
Les fonctionnalités (les critères) associées media
(1)
La plupart des critères (ou fonctionnalités) peuvent être préfixés par min-
et max- lorsqu’elles acceptent des valeurs numériques pour définir des
valeurs minimales ou maximales à respecter.
96 / 101
Les fonctionnalités (les critères) associées media
(2)
La plupart des critères (ou fonctionnalités) peuvent être préfixés par min-
et max- lorsqu’elles acceptent des valeurs numériques pour définir des
valeurs minimales ou maximales à respecter.
Grid périphérique bitmap ou grille (ex : lcd)
Height dimension en hauteur de la zone d’affichage
monochrome périphérique monochrome ou niveaux de gris
(bits/pixel)
Orientation orientation du périphérique (portait ou landscape)
Resolution résolution du périphérique (en dpi, dppx, ou dpcm)
Scan type de balayage des téléviseurs (progressive ou interlace)
97 / 101
Notez ces remarques
I Les dimensions pourront être évaluées avec des unités (px, em). Les
ratio avec des fractions (entier/entier). Une résolution sera définie en
dpi (points par pouce) ou en dpcm (points par centimètres).
I Certaines de ces propriétés peuvent être testées d’une façon raccourcie
sans valeur, par exemple (color) qui sera équivalent à (min-color : 1)
ou considérée comme vraie pour une valeur différente de 0. La
fonctionnalité monochrome n’est pas uniquement booléenne avec la
syntaxe raccourcie (monochrome), on peut aussi considérer un nombre
de niveaux de gris, par exemple (min-monochrome : 2) pour 2 bits par
pixel.
98 / 101
Démonstration
99 / 101
Au service des mobiles
Media Queries
Pour produire des améliorations spécifiques à l’affichage sur les mobiles, qui
sont directement concernés par des critères sur les dimensions de l’écran
(en terme de résolution et d’espace disponible) et sur l’utilisation tactile.
100 / 101
Au service des mobiles
Exemple
La fonctionnalité orientation a été introduite pour des périphériques
pouvant être orientés. On peut alors déclarer une feuille de style spécifique
pour ajuster l’affichage
Exemple
101 / 101
Faculté des Sciences Juridiques
Université Jendouba Économiques et de Gestion
1 / 70
Sommaire
1 Objectifs
2 Le client Rich
Introduction
AJAX
Ajax par définition
Fonctionnement d’Ajax
Objets et méthodes d’Ajax
JQUERY
3 JavaScript côté serveur : Node.Js
Node.js : Définition et architecture
Programmation Asynchrone et non bloquante avec Node.js
Node.js par la pratique
Récupération d’url
Paramètres envoyés au niveau de l’url
4 Conclusion
5 Bibliographie
2 / 70
Objectifs
3 / 70
Le client Rich Introduction
Introduction
Q. Savez-vous la différence entre un site web et une application Web ?
4 / 70
Le client Rich Introduction
Introduction
Q. Savez-vous la différence entre un site web et une application Web ?
Les applications Web Vs site Web
Site web Une seule fonction : présenter un contenu (Exemple : portail
de l’entreprise ) ⇒ Interface graphique
Application web Offre des services à travers le site web, consommé à
travers le client-navigateur (exemple : chat, mail, entretenir
un réseau social, etc)
5 / 70
Le client Rich Introduction
Introduction
Q. Quelles sont les types d’application web qu’on avoir ? et Combien ?
6 / 70
Le client Rich Introduction
Introduction
Q. Quelles sont les types d’application web qu’on avoir ? et Combien ?
7 / 70
Le client Rich Introduction
Introduction
8 / 70
Le client Rich Introduction
Introduction
9 / 70
Le client Rich Introduction
Introduction
10 / 70
Le client Rich AJAX
11 / 70
Le client Rich AJAX
12 / 70
Le client Rich AJAX
13 / 70
Le client Rich AJAX
14 / 70
Le client Rich AJAX
15 / 70
Le client Rich AJAX
16 / 70
Le client Rich AJAX
17 / 70
Le client Rich AJAX
AJAX permet
Lire les données d’un serveur Web après le chargement de la page
Mettre à jour une partie de la page Web sans recharger la totalité de
la page
Communiquer avec le serveur d’une manière asynchrone en
échangeant des données derrière les coulisses
Envoyer des données à un serveur Web en arrière-plan ⇒ Diminuer le
temps de latence ⇒ Augmenter la réactivité de l’application web
19 / 70
Le client Rich AJAX
20 / 70
Le client Rich AJAX
21 / 70
Le client Rich AJAX
1 Un évènement survient dans la page web (la page est chargée, un click
sur un bouton)
2 L’objet XMLHttpRequest est créer par le JavaScript
3 L’objet XMLHttpRequest envoie une requête au serveur de la page web
4 Le serveur traite la requête
5 Le serveur formule une réponse et l’envoie à la page web
6 La réponse est lu et est traiter par JavaScript côté client
7 Une action propre est réalisée par JavaScript (comme recharger la
page ou rafraîchir l’affichage)
22 / 70
Le client Rich AJAX
23 / 70
Le client Rich AJAX
24 / 70
Le client Rich AJAX
XMLHttpRequest Object
25 / 70
Le client Rich AJAX
XMLHttpRequest Object
26 / 70
Le client Rich AJAX
XMLHttpRequest Object
Un premier Exemple
27 / 70
Le client Rich AJAX
XMLHttpRequest Object
28 / 70
Le client Rich AJAX
XMLHttpRequest Object
Get est plus rapide et plus simple ⇒ Plus utilisé que Post
Nous utilisons Post dans les cas suivants :
Le fichier caché n’est pas un option (nous devons mettre à jours un
fichier ou une BDD sauvegardée au niveau du serveur).
Lorsque nous envoyons beaucoup de données au serveur (POST n’a pas
de limites de taille).
Lorsque nous envoyons les données saisies du formulaire, POST est
plus sécurisé et plus robuste .
29 / 70
Le client Rich AJAX
30 / 70
Le client Rich AJAX
31 / 70
Le client Rich JQUERY
JQUERY ...
32 / 70
Le client Rich JQUERY
Ce qu’il faut connaître ... JQuery est une librairie qui permet la
manipulation de plusieurs objets :
HTML-DOM
CSS
les évènements et les méthodes associées à HTML
Effects and animations
AJAX
.....
33 / 70
Le client Rich JQUERY
34 / 70
Le client Rich JQUERY
35 / 70
JavaScript côté serveur : Node.Js
36 / 70
JavaScript côté serveur : Node.Js Node.js : Définition et architecture
37 / 70
JavaScript côté serveur : Node.Js Node.js : Définition et architecture
38 / 70
JavaScript côté serveur : Node.Js Node.js : Définition et architecture
39 / 70
JavaScript côté serveur : Node.Js Node.js : Définition et architecture
Node JS : avantages
Grâce au Node.JS
Modèle mono-thread Gestion de la concurrence des clients différente des
serveurs multi-threades (saturation) ⇒ Oblige à se tourner
vers un modèle non-bloquant
Modèle non-bloquant Le fonctionnement asynchrone devient la règle et
est tendance ("reactive programming") ⇒ Donne un second
souffle au JS
Extensibilité et communauté Il existe de très nombreux
paquets (ou modules)
Gestionnaire de paquets (npm)
Annuaire officiel de paquets :www.npmjs.com
40 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
41 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
42 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
43 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
44 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
45 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
46 / 70
JavaScript côté serveur : Node.Js Programmation Asynchrone et non bloquante avec Node.js
47 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
48 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
49 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
50 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
51 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
52 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
53 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
55 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
Exemple ?
56 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
Un premier exemple
57 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
Un deuxième exemple
Questions
Comment peut-on récupérer la page demandée ? (exemple une page
sous le dossier/dossier/mapage, /page.html, etc)
Comment peut-on récupérer les paramètres qui circulent au niveau de
l’URL ? (exemple
http ://localhost :8080/test ?nom=Tounsi&prenom=Med)
59 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
60 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
61 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
62 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
63 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
64 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
65 / 70
JavaScript côté serveur : Node.Js Node.js par la pratique
66 / 70
Conclusion
67 / 70
Conclusion
68 / 70
Bibliographie
Références Bibliographiques
69 / 70
Bibliographie
Références Bibliographiques
70 / 70
Faculté des Sciences Juridiques
1 / 122
Sommaire
1 Introduction
2 Le noyau JavaScript
Les variables
Les opérations et les fonctions prédéfinies
L’orienté Objets
JSON
3 Le JavaScript côté client Web
DOM
Les évènements
Les cookies
4 Annexes
Annexe String
Annexe Date
Annexe Objet window
Annexe Evènement
5 Bibliographie
2 / 122
On entend parler du JavaScript ...
3 / 122
JavaScript... C’est quoi ?
JavaScript
un peu d’histoire ...
est un langage de script simplifié orienté objet dont la syntaxe est
basée sur celle du Java.
Javascript a été initialement élaboré par Netscape en association avec
Sun Microsystem.
Plus tard, Microsoft développera son propre langage Javascript
officiellement connu sous le nom de JScript.
4 / 122
JavaScript... Quelques généralités
Questions
1. Quelle est la différence entre JavaScript et l’applet ?
5 / 122
JavaScript... Quelques généralités
Questions
1. Quelle est la différence entre JavaScript et l’applet ?
2. Maintenant, quelle est la différence entre Java et JavaScript ?
6 / 122
JavaScript... Quelques généralités
Questions
1. Quelle est la différence entre JavaScript et l’applet ?
2. Maintenant, quelle est la différence entre Java et JavaScript ?
7 / 122
JavaScript... Intérêt ?
Quel intérêt pour JavaScript
8 / 122
JavaScript... Intérêt ?
Quel intérêt pour JavaScript
Supporté (par défaut) par les principaux navigateurs, ne nécessite pas
de plug-in particulier.
Accès aux objets contenus dans un document HTML ) + possibilité
de les manipuler relativement facilement)
Animation : Aficher/masquer du texte, défiler des images, créer des
info bulles
Possibilité de mettre en place des animations sans l’inconvénient des
longs temps de chargement nécessités par les données multimédia.
Langage relativement sécurisé : il est impossible de lire ou d’écrire sur
le disque client (impossibilité de récupérer un virus par ce biais).
9 / 122
JavaScript... Généralité
JS .. Une technologie cliente
10 / 122
Navigateur ... et JavaScript
11 / 122
JavaScript... Difficultés ?
12 / 122
JavaScript... Difficultés ?
13 / 122
Frameworks JavaScript
Frameworks divers...
14 / 122
Les alternatives à JavaScript
15 / 122
Le noyau de JavaScript ...
16 / 122
HTML et JavaScript
17 / 122
HTML et JavaScript
1re méthode : Insertion directe
Le code s’exécute automatiquement lors du chargement de la page
HTML dans le navigateur en même temps que le contenu de la page
HTML s’affiche à l’écran.
Le code JavaScript est placé dans le corps même de la page HTML,
entre les balises <body> .......... Et ......... </body>
18 / 122
HTML et JavaScript
2me méthode : Insertion par appel à un module exterme
On peut insérer du code JavaScript en faisant appel à un module
externe se trouvant à n’importe quelle adresse (URI).
20 / 122
Entrée et sortie de données avec JavaScript
21 / 122
Exercice ...
22 / 122
La structure d’un script en JavaScript
23 / 122
Les variables ...
24 / 122
Déclaration et typage en JavaScript
Déclaration et affectation
Le mot-clé var permet de déclarer une ou plusieurs variables.
Après la déclaration de la variable, il est possible de lui affecter une
valeur par l’intermédiaire du signe d’égalité (=).
Si une valeur est affectée à une variable sans que cette dernière ne soit
déclarée, alors Javascript la déclare automatiquement.
25 / 122
Déclaration et typage en JavaScript
La portée
Les variables peuvent être globales ou locales.
Une variable globale est déclarée en début de script et est accessible à
n’importe quel endroit du programme.
Une variable locale est déclarée à l’intérieur d’une fonction et n’est
utilisable que dans la fonction elle-même.
26 / 122
Déclaration et typage en JavaScript
27 / 122
Les variables en JavaScript
28 / 122
Portée et vies des variables
29 / 122
Portée et vies des variables
30 / 122
Valeurs spéciales des variables
31 / 122
Les opérations et les fonctions
prédéfinies ...
32 / 122
Les opérations sur les chaînes
33 / 122
Les structures de contrôle et d’itération
Structures de contrôles
Condition if (expr) {... } else {... }
34 / 122
Les structures de contrôle et d’itération
Structures de contrôle
Sélection switch(expr){ case n : .. }
35 / 122
Les structures de contrôle et d’itération
Structures de contrôles
Boucle while (expr) {... }
do {... } while (expr) ;
36 / 122
Les structures de contrôle et d’itération
37 / 122
Exercices
1 Utiliser les méthodes JavaScript prompt() et alert() pour demander à
l’utilisateur deux nombres puis afficher leur somme.
2 Ecrire un script demandant de l’utilisateur d’entrer son âge et de
contrôler la validité de l’âge entré (si l’âge est erroné afficher un
message d’erreur et redemander de saisir l’âge).
3 Ecrire le code Javascript qui détermine si un nombre entier x est
parfait.
Définition
Un nombre est parfait ssi il est égal à la somme de ses diviseurs stricts.
6 est parfait car 6 = 1 + 2 + 3.
38 / 122
Les opérations
Structures de contrôles
JavaScript permet d’assigner des (pointeurs sur) fonctions à des
variables
Fonctions anonymes dont l’appel se fait au travers des variables qui les
référencent
39 / 122
Les Fonctions par déclaration
40 / 122
Les fonctions prédéfinies
41 / 122
Les fonctions prédéfinies
isFinite Détermine si le paramètre est un nombre fini. Renvoie false si
ce n’est pas un nombre ou l’infini positif ou infini négatif
42 / 122
Les fonctions prédéfinies
43 / 122
Les fonctions prédéfinies
44 / 122
L’orienté Objet ...
45 / 122
La programmation orientée Objet
Paradigme Objet Un objet est décrit par ses propriétés et ses méthodes
I Accès aux propriétés et méthodes par un point ’.’
I Auto-référence avec this
I Visibilité des propriétés et méthodes : public/privé
46 / 122
La programmation orientée Objet
Exemple
47 / 122
Objets primitifs
48 / 122
Objets primitifs
La suite ..
49 / 122
Exemples Objets
Les objets de JavaScript, sont soit des entités pré définies du langage,
soit créés par le programmeur
Par exemple, le navigateur est un objet qui s’appelle "navigator ".
La fenêtre du navigateur se nomme "window"
La page HTML est un autre objet, que l’on appelle "document".
Un formulaire à l’intérieur d’un "document", est aussi un objet.
Un lien hypertexte dans une page HTML, est encore un autre objet. Il
s’appelle "link". etc...
Les objets javascript peuvent réagir à des "Evénements".
Tous les navigateurs ne supportent pas les mêmes objets
50 / 122
Les objets
51 / 122
Les objets
L’opérateur New est utilisé pour créer une nouvelle instance ou un nouveau
type d’objet défini par l’utilisateur ou de l’un des types
d’objets prédéfinis, Array, Boolean, Date, Function, Image,
Number, Object, ou String.
52 / 122
2 façons de créer ses objets
Création directe d’objet
53 / 122
Les objets ...
54 / 122
Les objets ... String
55 / 122
Les objets ... Array
56 / 122
Les objets ... Date
57 / 122
Les objets ... Math
58 / 122
Exercice
Exercices
59 / 122
Exercice
60 / 122
JSON ...
61 / 122
Exemple de définition JSON
62 / 122
Exemple d’utilisation JSON
63 / 122
Le JavaScript côté client Web ...
64 / 122
Sous-programmes JS ...
Le code des sous-programmes se situe au niveau de l’entête d’un
document HTML
Soit directement
65 / 122
Sous-programmes JS ...
66 / 122
Sous-programmes JS ...Exemple
67 / 122
Sous-programmes JS ...Exemple
68 / 122
Les objets du JS...
Objets de type BOMBrowser Object Model, permet la
manipulation du navigateur
Les navigateurs sont des logiciels qui offrent les mêmes fonctionnalités
de base : ouvrir / fermer des onglets, aller à un URL, mémoriser la liste
des url, etc
Objets de type DOM Document Object Model qui permet la
représentation d’un document sous la forme d’un objet
Les balises sont des noeuds et leurs imbrications forment une
arborescence
Cette structure d’arbre est ensuite facile à manipuler
Cet arbre est chargé dans le navigateur et est parcouru par le parseur
du navigateur afin de produire l’affichage graphique
Chaque modification ultérieure de cet arbre force le rafraîchissement de
l’affichage graphique.
Objets de type HTML Comme par exemple <a>, <area>,
<canvas>, <button>, <form>, <image>, <input>, <link>,
<table>, etc .
69 / 122
Les objets du navigateur ...
70 / 122
Les objets du navigateur ... BOM
71 / 122
L’objet window ...
72 / 122
L’objet window ...
Il est possible de programmer l’exécution d’une méthode à un instant
donné ou à des temes réguliers grâce à setTimeout etsetInterval
74 / 122
L’objet BOM ... Exemple
75 / 122
Du l’objet BOM ... DOM
76 / 122
DOM par un exemple HTML
77 / 122
DOM par un exemple HTML
78 / 122
DOM... Document Objet Model
79 / 122
DOM... Document Objet Model
Méthode getElementsByTagName : Cette méthode prend comme
argument le nom de balise des éléments à récupérer.
80 / 122
DOM... Document Objet Model
Propriété innerHTML : En utilisant cette propriété, il est possible de
modifier le contenu d’un élément.
Remarque
La propriété innerText (textContent pour Firefox) est similaire à
innerHTML, mais ne traite que du texte simple.
81 / 122
DOM... Document Objet Model
Création dynamiquement des éléments HTML : Ceci peut se faire
suivant ces étapes :
1 createElement : création de l’élément (noeud)
document
82 / 122
DOM... Document Objet Model
Modifier le style d’une manière dynamique :Tout élément HTML
dispose d’un attribut style en JS. Les noms des propriétés CSS doivent être
convertis en camel case. Par exemple :
Propriété CSS Propriété JS
background-image style.backgroundImage
color style.color
Font-family style.fontFamily
83 / 122
DOM... Document Objet Model
84 / 122
Evènement
Evènement
Un évènement est provoqué par une action de l’utilisateur ou du navigateur
lui-même. Les évènements ont des noms tels que click, load et mouseover.
Une fonction appelée en réponse à un évènement se nomme un écouteur
(event handler ou event listener). Souvent, leur nom commence par on
comme par exemple onclik ou onload.
85 / 122
Evènement
86 / 122
Evènement
87 / 122
HTML Event Handlers
On utilise des attributs HTML pour déclarer les écouteurs. La valeur de ces
attributs est le code JavaScript à exécuter lorsque l’évènement est produit.
88 / 122
HTML Event Handlers
onClick
Se produit lorsque l’utilisateur clique sur un élément spécifique dans
une page, comme un lien hypertexte, une image, un bouton, du texte,
etc.
Ces éléments sont capables de répondre séparément à cet événement
Il peut également être déclenché lorsque l’utilisateur clique n’importe
où sur la page s’il a été associé non pas à un élément spécifique, mais
à l’élément body tout entier
89 / 122
HTML Event Handlers
onLoad
Se produit lorsque une page web est chargée dans la fenêtre du
navigateur
Toute la page (y compris les images qu’elle contient si leur
chargement est prévu) doit avoir été chargée pour qu’il ait lieu
Cet événement peut être associé à une image seulement ; auquel cas, il
se produit une fois son chargement terminé
90 / 122
HTML Event Handlers
onMouseover
Analogue à onClick sauf qu’il suffit que l’utilisateur place le pointeur
de sa souris sur l’un des éléments précités (lien hypertexte, image,
bouton, texte, etc.) pour qu’il ait lieu
onMouseout
A l’inverse de onMouseover, cet événement se produit lorsque le
pointeur de la souris quitte la zone de sélection d’un élément.
91 / 122
HTML Event Handlers
onMouseover
Analogue à onClick sauf qu’il suffit que l’utilisateur place le pointeur
de sa souris sur l’un des éléments précités (lien hypertexte, image,
bouton, texte, etc.) pour qu’il ait lieu
onMouseout
A l’inverse de onMouseover, cet événement se produit lorsque le
pointeur de la souris quitte la zone de sélection d’un élément.
92 / 122
Manipulation des objets
94 / 122
Les évènements... Retenez
Ainsi ... Deux stratégies possibles ... Pour la gestion des évènements
La deuxième Mise en place d’écouteurs d’évènement
95 / 122
Les évènements... Retenez
Question : Ré-écrivez le code précédemment proposé avec les événements.
96 / 122
Les évènements... Retenez
Question : Ré-écrivez le code précédemment proposé avec les événements.
Figure – Solution
97 / 122
Les évènements... Exercice
Figure – Solution
98 / 122
Les évènements... Objet event
Figure – Solution
99 / 122
Les évènements... souris
Ce sont :
Click double click
mousedown mouseup
mouseover mouseout
mousemove •
clientX clientY
screenX screenY
shiftkey ctrlKey
altKey metaKey
100 / 122
Les évènements... clavier
Ce sont :
keydown keyup
keypress
shiftkey ctrlKey
altKey metaKey
keyCode
101 / 122
Les évènements... HTML
Ce sont :
load unload
abort error
select change
submit reset
reseize scroll
focus blur
102 / 122
Les cookies ...
Un "Cookie" ...
est une chaîne de caractères qu’une page HTML (contenant du code
JavaScript) peut écrire à un emplacement UNIQUE et bien défini sur
le disque dur du client.
Cette chaîne de caractères ne peut être lue que par le seul serveur qui
l’a générée.
103 / 122
Les cookies ...
Un "Cookie" ...
est une chaîne de caractères qu’une page HTML (contenant du code
JavaScript) peut écrire à un emplacement UNIQUE et bien défini sur
le disque dur du client.
Cette chaîne de caractères ne peut être lue que par le seul serveur qui
l’a générée.
105 / 122
Les cookies ...
Les "Cookies" ... des limites
On ne peut pas écrire autant de cookies que l’on veut sur le poste de
l’utilisateur (client d’une page). Il y a des limites :
I Limites en nombre : Un seul serveur (ou domaine) ne peut pas être
autorisé à écrire plus de 20 cookies.
I Limites en taille : un cookie ne peut excéder 4 Ko.
I Limites du poste client : Un poste client ne peut stocker plus de
300 cookies en tout.
Où sont stockés les cookies ?
En général, ils sont pour Netscape, dans le répertoire de l’utilisateur
(si il y a des profils différents) sous le nom de "cookie.txt".
Microsoft Internet Explorer stocke les cookies dans des répertoires
tels que "C :\WINDOWS\Cookies" ou encore
"C :\WINDOWS\TEM\Cookies".
106 / 122
Les cookies ...
107 / 122
Les cookies ...
108 / 122
Gestion des cookies ...
109 / 122
Gestion des cookies ...
110 / 122
Gestion des cookies ...
111 / 122
Annexe
112 / 122
Les objets ... String ... Annexe
Quelques méthodes
italics( ) : formate la chaîne avec la balise <I> ;
lastIndexOf( ) : permet de trouver le dernier indice d’occurrence d’un
caractère ;
link( ) : formate la chaîne avec la balise <A> pour permettre de faire
un lien ;
slice( ) : retourne une portion de la chaîne ;
substr( ) : retourne une portion de la chaîne ;
substring( ) : retourne une portion de la chaîne ;
indexOf( ) : permet de trouver l’indice d’occurrence d’un caractère
dans une chaîne ;
charCodeAt( ) : renvoie le code du caractère se trouvant à une
certaine position ;
113 / 122
Les objets ...date ... Annexe
114 / 122
Les objets ...Window ... Annexe
115 / 122
Les objets ...Window ... Annexe
116 / 122
Les objets ...Window ... Annexe
Quelques méthodes
blur( ) : enlève le focus de la fenêtre ;
close( ) : ferme la fenêtre ;
focus( ) : place le focus sur la fenêtre ;
moveBy( ) : déplace d’une distance ;
moveTo( ) : déplace la fenêtre vers un point spécifié ;
open( ) : ouvre une nouvelle fenêtre ;
print( ) : imprime le contenu de la fenêtre ;
resizeBy( ) : redimensionne d’un certain rapport ;
resizeTo( ) : redimensionne la fenêtre ;
setTimeout( ) : évalue une chaîne de caractère après un certain laps
de temps.
117 / 122
Annexe Evènement
118 / 122
Annexe Evènement
119 / 122
Annexe Evènement
120 / 122
Références Bibliographiques
121 / 122
Références Bibliographiques
122 / 122