Académique Documents
Professionnel Documents
Culture Documents
SOMMAIRE
2
Leçon 1
3
PLAN
4
Introduction
Apprenez à créer votre application web !
Aujourd’hui n’importe qui est susceptible de créer une ou des pages web :
-logiciels de création,
-modèles de conception ,
-fournisseurs d’accès,
5
Introduction
Mais peu nombreux sont ceux capables de créer un véritable site web fonctionnel,
facile a maintenir et utilisant des technologies de pointe.
Aujourd’hui n’importe qui est susceptible de créer une ou des pages web :
-logiciels de création,
-modèles de conception ,
-fournisseurs d’accès,
6
Introduction
Les étapes de création d’une application web
L’analyse des besoins ;
• Les ordinateurs de l'Internet sont reliés par des câbles qui traversent les pays et
les océans ou par des satellites.
8
Qu’est ce que l’Internet?
9
Qu’est ce que l’Internet?
10
Qu’est ce que l’Internet?
IP (Internet Protocol)
• Adressage de machines et routage sur Internet
• Deux versions du protocole IP utilisées sur Internet :
IPv4 (très répandu) et IPv6 (support encore un peu expérimental)
* IPv4 : Adresses de 4 octets affectées à chaque ordinateur, p. ex.,
137.194.2.24. Des gammes de telles adresses sont données aux
diverses institutions (fournisseurs d’accès à Internet, universités, etc.),
pour les affecter comme elles le souhaitent.
• Problème : seulement 2 puissance 32 adresses possibles (en fait, un grand
nombre d’entre elles ne peut pas être données à de nouveaux hôtes, pour
diverses raisons).
11
Qu’est ce que l’Internet?
Cela signifie que beaucoup de machines connectées à Internet n’ont pas
d’adresse IPv4 et une forme de traduction d’adresse (network address
translation, NAT) est nécessaire.
12
Qu’est ce que le web ?
• WWW = World-Wide Web (Toile d'araignée mondiale) – Communément appelé le Web ou la
Toile
• Créé au CERN (L'Organisation européenne pour la recherche nucléaire, aussi appelée laboratoire
européen pour la physique des particules et couramment désignée sous l'acronyme CERN, est le plus
grand centre de physique des particules du monde ) par Tim Berners-Lee en 1989
• Idée initiale : créer un système hypertexte distribué sur le réseau informatique pour que les
collaborateurs puissent partager les informations au sein du CERN
• Le 30 avril 1993, le CERN verse dans le domaine public toutes les technologies développées
autour du WWW
Le W3C n’émet pas des normes au sens européen, mais des recommandations a valeur de
standards industriels.
une fois pour toute et ne variait pas. On se contentait de diffuser de l’information mais c’était
14
Qu’est ce que le web ?
L’introduction des CGI (Common Gateway Interface) puis par la suite la généralisation des
scripts exécutables sur le serveur dans différents langages (Perl, PHP, Python,
Ruby) ont permis de faire varier le contenu des pages on parle désormais de Web dynamique.
15
Architecture client-serveur
Le client (navigateur : Internet Explorer, Firefox, Safari. . .)
16
Architecture client-serveur
On appelle logiciel serveur un programme qui offre un service sur le réseau. Le
On appelle logiciel client un programme qui utilise le service offert par un serveur.
Le client envoie une requête et reçoit la réponse. Le client peut-être raccordé par
17
Architecture client-serveur
On appelle architecture client/serveur la description du fonctionnement
coopératif entre le serveur et le client. Les services Internet sont conçus selon cette
dans différents environnements: Unix, Mac, Etc. La seule obligation est le respect du
18
Architecture client-serveur
Avantages de l'architecture client/serveur
des ressources centralisées : étant donné que le serveur est au centre du réseau,
il peut gérer des ressources communes à tous les utilisateurs ; par exemple une base
19
Architecture client-serveur
une meilleure sécurité : le nombre de points d'entrée permettant l'accès aux
une administration au niveau serveur : les clients ayant peu d'importance dans
modification majeure.
20
Architecture client-serveur
Inconvénients du modèle client/serveur
L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles :
un maillon faible : le serveur est le seul maillon faible du réseau client/serveur,
étant donné que tout le réseau est architecturé autour de lui.
21
Architecture client-serveur
Fonctionnement d'un système client/serveur
Le client émet une requête vers le serveur grâce à son adresse IP et le port qui
désigne un service particulier du serveur.
22
Protocoles HTTP, HTTPS et FTP
HTTP
L'HyperText Transfer Protocol (HTTP) « protocole de transfert hypertexte » est un
protocole de communication client-serveur développé pour le World Wide Web.
Le but du HTTP est de permettre un transfert de fichiers (essentiellement au format
HTML) localisés grâce à une chaîne de caractères appelée URL entre un navigateur
(le client) et un serveur Web (appelé d'ailleurs httpd sur les machines UNIX).
23
Protocoles HTTP, HTTPS et FTP
24
Protocole HTTP, HTTPS et FTP
HTTPS : Hypertext Transport Protocol Secure
Protocole de communication utilisé pour l'accès à un serveur Web sécurisé.
Si l'on indique HTTPS dans l'URL au lieu de la mention HTTP normale, le message sera
adressé vers un port d'entrée sécurisé du serveur au lieu du port 80.
Le dialogue entre le navigateur Web et le serveur est géré avec des contraintes de
sécurité. En particulier, les échanges de données seront cryptés et l'internaute sera
généralement identifié.
25
Protocoles HTTP, HTTPS et FTP
FTP
Le protocole FTP (File Transfer Protocol) est un protocole de transfert de fichier.
Le protocole FTP définit la façon selon laquelle des données doivent être transférées
sur un réseau TCP/IP.
Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du
réseau, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur. Ce
mécanisme de copie est souvent utilisé pour alimenter un site web hébergé chez un
tiers.
26
Procédure de mise en ligne d’une application web
Après réalisation d’une application web, il est important de la mettre en ligne pour
une utilisation.
Pour que l’application soit accessible sur le Web, vous devez choisir un hébergeur.
27
FIN DE LA LECON
QUESTION
28
Exercice : Architecture du Web
1 - Quelle est la différence entre Web et Internet ?
Internet est le réseau informatique mondial, c'est l'infrastructure globale, basée sur le
protocole IP, et sur laquelle s'appuient de nombreux autres services dont le web. Le World
Wide Web, c'est le système qui nous permet de naviguer de pages en pages en cliquant sur des
liens grâce à un navigateur.
Le web n'est qu'un des services accessibles via Internet, et il y en a bien d'autre. Emails,
messagerie instantanée, etc. En tout cas, retenez ceci : Internet est le réseau. Le web est un
service.
29
Exercice : Architecture du Web
2 - Quelle est la différence entre http et www
Le World Wide Web (WWW) désigne l’ensemble des pages HTML accessibles sur Internet et
consultables depuis les navigateurs Internet. Tandis que HTTP (Hyper Text Transfer Protocol)
désigne le protocole de transfert hypertexte, c'est-à-dire le moyen de communication entre le
navigateur et le World Wide Web (WWW)
30
Exercice : Architecture du Web
3 - Quelle est la différence entre une adresse MAC et une adresse IP ? Pourquoi est -
ce que l’on n’utilise pas uniquement des adresses MAC pour identifier les machines
sur Internet ?
Une adresse MAC, c'est un numéro (alpha num) que vous trouvez sur chaque carte réseau et
qui est unique à votre carte aucune autre au monde n’est sensée porter le même numéro.
L'adresse IP est une adresse donnée dans un réseau qu'il soit privé ou le réseau internet.
Plusieurs personnes peuvent avoir la même IP si il sont sur des réseaux différents. Sur internet
ton IP est unique et est donnée par ton FAI (Fournisseur d’Accès Internet)
31
Exercice : Architecture du Web
3 - Quelle est la différence entre une adresse MAC et une adresse IP ? Pourquoi est -
ce Une adresse IP est une adresse logique utilisée pour l' "Internet Protocol" de la pile TCP/IP.
Elle identifie un hôte sur un réseau.
Son attribution peut être statique ou dynamique, c-à-d qu'on l'attribue soit manuellement, soit
automatiquement via un serveur DHCP (Dynamic Host Control Protocol.)
Une adresse IP peut être privée ou publique suivant qu'elle est accessible uniquement sur un
réseau ou par toute machine connectée à internet.
Une adresse IP se présente sous la forme dite "dotted decimal" ; autrement-dit, il s'agit de
nombres du système décimal séparés par des points : 192.168.48.131
32
Exercice : Architecture du Web
3 - Quelle est la différence entre une adresse MAC et une adresse IP ? Pourquoi est –
ce
L'adresse MAC (Media Access Control) est une adresse physique unique. Bien qu'elle soit
unique, elle peut être "copiée" à des fins nuisibles
Elle est divisée en 2 parties :
- OUI qui est l'identifiant du fabricant et qui se compose de 3 octets écrits sous forme
hexadécimale.
- NIC qui identifie la carte de manière individuelle et qui se compose également de 3 octets
écrits sous forme hexadécimale. Elle se présente sous la forme 2F-3C-04-AA-31-00
La portion 2F-3C-04 identifie le fabricant. La portion AA-31-00 identifie la carte comme un
33
numéro de série classique.
Exercice : Architecture du Web
3 - Quelle est la différence entre une adresse MAC et une adresse IP ? Pourquoi est –
ce
Lors du parcours sur internet, les adresses IP de source et de destination ne changent pas, alors
que les adresses MAC vont changer à chaque machine traversée (routeur, serveur...)
C'est donc la preuve que l'adresse IP est une adresse logique et l'adresse MAC une adresse
physique.
Pour s'y retrouver, les machines doivent recalculer les adresses IP de manière logique.
Toutefois, elles remplacent au fur et à mesure les adresses MAC.
En comparaison, l'adresse IP serait le passeport, que les douaniers vérifient et estampillent.
L'adresse MAC serait l'ADN qui identifie à 99,9 % une personne par rapport à une autre.
34
Exercice : Architecture du Web
4 - Quelle est la spécificité des noms de fichier index.html ou index.php par rapport à
d’autres noms de fichiers HTML ou PHP ?
5 - Quelle est la différence entre une requête HTTP POST et GET?
6 - Donner un exemple où utiliser une requête POST a un avantage par rapport à une
requête GET.
35
Exercice : Architecture du Web
5 - Quelle est la différence entre une requête HTTP POST et GET?
GET demande une représentation de la ressource spécifiée. Notez que GET ne doit pas être
utilisé pour les opérations qui provoquent des effets secondaires, tels que l'utilisation pour
effectuer des actions dans des applications Web. Une raison à cela est que GET peut être utilisé
arbitrairement par des robots ou des robots d'exploration, ce qui ne devrait pas avoir à prendre
en compte les effets secondaires qu'une requête devrait provoquer.
POST soumet les données à traiter (par exemple, à partir d'un formulaire HTML) à la ressource
identifiée. Les données sont incluses dans le corps de la requête. Cela peut entraîner la création
d'une nouvelle ressource ou les mises à jour de ressources existantes ou les deux.
36
Leçon 2 et 3
37
HTML
Hyper Text Markup Language
langage descriptif composé de balises
interprété par le navigateur
Page HTML = simple fichier texte
Norme XHTML1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
38
HTML
Le Validator
39
HTML
Les balises
balise = limite d'une boîte où l'on peut mettre des choses
<balise> chose </balise>
à chaque balise ouvrante <balise> ...
... on associe une balise fermante </balise>
Exemple : <b>toto</b> toto en gras.
40
HTML
Les balises
<balise attribut1="valeur" attribut2="valeur">...</balise>
Les commentaires
commentaire : <!-- bla bla bla -->
41
HTML
la Structure d'une page HTML
Deux sections :
head : Défnitions générales sur le document : Informations non affichées,
body : corps du document.
textes,
tableaux,
listes (à puce, numérotées),
images. . .
42
HTML
la structure d'une page HTML
La section head (l’entête)
<head> ... </head>
informations qui ne seront pas affichées sur la page HMTL
titre de la page : <title>Formation web dynamique</title>
informations utilisées par les moteurs de recherche :
<meta name="description" content="Formation web dynamique" />
<head>
<title>Formation web dynamique</title>
<link rel="stylesheet" type="text/css" href="mon_css.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta name="keywords" content="html, head, IFRI, formation"/>
<meta name="author" content="IFRI"/>
<meta name="description" content="Petite description"/>
</head>
43
HTML
la structure d'une page HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- l'en-tête -->
</head>
<body>
<!-- le corps -->
</body>
</html>
44
HTML
la Structure d'une page HTML
La section body (le corps)
45
HTML
Les textes
•Jeu de caractère par défaut : ASCII. Codage des accents par des séquences de caractères
(é <-> é)
•langage non wyswig -> (blanc :   ; retour à la ligne : <br/>)
<b> : gras ;
Modification de polices <i> : italique;
<u> : souligné;
<hx> avec x Є {1,……….6}
<h1> titre de niveau 1,
Titres, lignes
<h6> titre de niveau 6,
Lignes horizontales : <hr/ >
Balise <p> avec comme principal attribut
alignЄ {left; center; right}.
Paragraphes
Utilisez des pagraphes plutôt que des sauts de lignes
(<br= >).
46
HTML
Les textes
Divisions
Balise <div> permet de regrouper un ensemble de textes/balises. Permet d'affecter des
propriétés à un ensemble de balises :
<div align="right">
<p>un premier paragraphe</p>
<p> et un second</p>
<p>tous alignés à droite</p>
</div>
Tous alignés à droite : Concept d'héritage.
47
HTML
Les textes
Les listes
<ul> • Banane
listes non <li>Banane</li> • Orange
ordonnées <li>Orange</li>
</ul>
<ol> 1. Boni YAYI
<li>Boni YAYI</li> 2. Adrien HOUNGBEDJI
listes ordonnées
<li>Adrien HOUNGBEDJI</li>
</ol>
48
HTML
Les textes
Les tableaux
Trois balises :
table : délimite une table,
tr : délimite une ligne,
td : délimite une cellule.
Possibilités de cellules multi-lignes, multicolonnes, de sélection de fond de tables, de
lignes, de cellules. Tables de taille fixes/variables.
<table>
<tr> 1ère ligne, 1ère colonne 1ère ligne, 2ème colonne
<td>1ère ligne, 1ère colonne</td>
<td>1ère ligne, 2ème colonne</td>
</tr> 2ème ligne, 1ère colonne 2ème ligne, 2ème colonne
<tr>
<td>2ème ligne, 1ère colonne</td>
<td>2ème ligne, 2ème colonne</td>
</tr>
</table>
49
HTML
Les textes
Les liens
<a href="url"> lien</a> affiche lien et change l'url courante pour celle spécifiée lors d'un clic sur le texte.
L'url peut être un lien vers :
Les ancres
Permet de positionner une marque (une ancre) dans une page HTML. Des liens peuvent être
positionnés sur cette ancre.
50
HTML
Les textes
Syntaxe :
<a href="identifiant"/>
Liens sur l'ancre :
<a href="page.html#identifiant"> Lien </a>
Les images
Syntaxe : <img src="logo.jpg" width="2cm" height="3cm" align="left" hspace="5mm"
alt="Logo IFRI"/>
Syntaxe :
<select name="un_menu">
<option> 1er choix.</option>
<option> 2eme choix.</option>
</select>
Attributs : name, size (nb d'éléments simultanément affichés), multiple (sélection de plusieurs
éléments).
La balise textarea
Saisie d'une zone de texte.
54
CSS
CSS : Cascading Style Sheets
Cascading Style Sheets : Permet de modifier l'apparence de balises.
Feuille de style : ensemble de règles spécifiant la mise en forme de certaines balises.
Structure d'une règle : Propriété Valeur
h1 { color : red ; }
Sélecteur Déclaration
Les sélecteurs
Spécifie la ou les balises qui vont utiliser les déclarations.
Sélecteur simple : nom de balise.
h1 {
color: red;
font-weight: bold;
text-align: center;
55
}
CSS
CSS : Cascading Style Sheets
Les sélecteurs à évènements
Les déclarations s'appliquent sur un type de balise lors de certains évènements ou état.
57
CSS
CSS : Cascading Style Sheets
Liaison HTML-CSS
Les feuilles internes
<head>
<link rel="stylesheet" type="text/css" href="ma_feuille.css"/>
</head>
Ou
<head>
<style type="text/css">
@import url("feuille.css")
</style>
</head>
S'utilise en complément des feuilles externes.
58
CSS
CSS : Cascading Style Sheets
Liaison HTML-CSS
Les feuilles locales
<body>
<p style="text-align: justify; color: red;"> Mon paragraphe</p>
</body>
Permet de rajouter localement une déclaration.
59
60
Introduction générale
Le HTML 5 et le CSS 3 ==> Web 3.0 ?
Le W3C (World Wide Web Consortium) et le WHATWG (Web Hypertext
Application Technology Working Group) misent beaucoup sur la simplicité;
Deux fois plus de balises en HTML 5 qu’en HTML 4 ainsi que les avancées en
CSS3;
Supportés par tous les navigateurs majeurs actuels;
Nouveau type de formulaire : Webform 2.0
Le W3C tente de persévérer vers la voie du XML (création du XHTML)
Le WHATWG souhaite améliorer HTML et débute son travail en 2004 avec Ian
Hickson qui sera l’éditeur officiel du HTML 5
61
62
HTML 5
Les différentes version du HTML
HTML 3.2. et 4.0 : 1997
XHTML : 2000-2006
2007 à nos jours : HTML5 et abandon du XHTML 2
le WHATWG à créer HTML Living Standard (littéralement : standard vivant du
HTML), une spécification de HTML prévue pour être en constante évolution,
afin de coller avec les développements rapides de nouvelles fonctionnalités par
les développeurs de navigateurs (par opposition à des versions numérotées,
donc 'fixes').
63
HTML 5
2. Fondements et concepts
« supporter le contenu existant »
« ne pas réinventer la roue » et « paver le sentier des vaches ». On pourrait aussi
dire : « si ce n’est pas cassé, on ne répare pas ».
« Priorité des circonscriptions », qui dicte : « en cas de conflit, privilégiez
d’abord les utilisateurs, puis les auteurs, puis les implémentateurs, puis les
spécificateurs, et enfin la pureté théorique. »
HTML5 gère les erreurs;
Un nouveau Doctype : <!DOCTYPE html>
La déclaration d’une balise <meta> en HTML5 : <meta charset="UTF-8">
64
HTML 5
3. Nouvelles balises sémantiques
<header>
<nav>
<article>
<section>
<aside>
<footer>
65
HTML 5
3. Nouvelles balises sémantiques
AVANT
66
HTML 5
3. Nouvelles balises sémantiques
<body>
<div id="header">A</div>
<div id="nav">B</div>
<div class="article">
<div class="section">C</div>
AVANT <div class="section">D</div>
</div>
<div id="aside">E</div>
<div id="footer">F</div>
</body>
67
HTML 5
3. Nouvelles balises sémantiques
APRES
68
HTML 5
3. Nouvelles balises sémantiques
<body>
<header>A</header>
<nav>B</nav>
<article>
<section>C</section>
APRES <section>D</section>
</article>
<aside>E</aside>
<footer>F</footer>
</body>
69
HTML 5
4- Grandes nouveautés HTML 5
HTML5 a été mis à jour avec quelques éléments nouveaux, ce qui rend HTML5 comme
un pur langage de balisage efficace. Peu d’éléments nouveaux ont été mis à jour en
HTML 5.
Balise Fonctionnement
<bdi> (bi-directional Utilisée pour isoler du texte dont la direction est différente du reste du
isolation) texte qui l'entoure.
71
HTML 5
4- Grandes nouveautés HTML 5
Balise Fonctionnement
<math> Définit une formule mathématique
<meter> Définit une unité de mesure
<nav> Définit un groupe de liens de navigation
<output> Définit un type de sortie
<progress> Représente la progression d'une tâche
<rt> (ruby text) Définit une explication / prononciation des caractères (pour la typographie
Asie de l'Est)
<ruby> Définit une annotation en ruby (pour la typographie Asie de l'Est)
<rp> (ruby Annotation ruby si le script n’est pas supporté
parentheses)
<section> Définit une section dans un document
<source> Définit la source d’un contenu multimédia pour <video> et <audio>
<summary> Définit l’en-tête des détails d’un document ou section
72
HTML 5
4- Grandes nouveautés HTML 5
Balise Fonctionnement
<svg> (Scalable Vector Définit une image vectorielle
Graphics)
<time> Définit une unité de temps
<track> Définit une unité de temps pour les éléments <audio> et <video>.
<video> Définit une vidéo
<wbr> (word break) Définit un possible retour à la ligne
73
HTML 5
4- Grandes nouveautés HTML 5
<DOCTYPE>
Version antérieur complexe : <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML
1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
DOCTYPE n’est pas une balise HTML et est définit en haut de page.
74
HTML 5
4- Grandes nouveautés HTML 5
Exemple :
<!DOCTYPE html>
<html>
<head>
<title>
Titre
</title>
</head>
<body>
Texte des pages.
</body>
</html>
75
HTML 5
5- Avantages de HTML 5
Une optimisation sur le temps de chargement des pages, car moins d'images, moins de code,
moins de fichiers flash, ... etc.
Des pages Web certainement plus propres et proposant beaucoup plus de fonctionnalités
"innovantes".
Une compatibilité sur les terminaux mobiles : C'est un point très important car depuis la fin de
l’année 2013 Adobe a décidé de stopper le développement du Flash Player pour mobile.
Geolocalisation: Avec l'aide de la géolocalisation tout le monde peut savoir où vous êtes dans le
monde et de partager cette information avec les gens. Il y a différentes façons de comprendre où
vous êtes - votre adresse IP, votre connexion réseau sans fil, etc. Mais les nouvelles API
de géolocalisation HTML5 rendent l'emplacement, directement disponible pour n'importe quelle
application basée sur navigateur compatible HTML5.
76
HTML 5
6- Inconvénients
Compatibilité des navigateurs web
Le principal problème avec l'HTML5 est que seuls les navigateurs modernes le
supportent. Vous pouvez "personnaliser" votre code afin de rendre votre application
compatible avec le navigateur web, mais ce n'est pas toujours efficace.
77
78
CSS 3
Rappel des termes
HTML
Une balise comporte
des attributs
contenant des valeurs
CSS
Un sélecteur
définit des propriétés
contenant des valeurs
79
CSS 3
Rappel des termes
80
CSS 3
2- Grandes nouveautés
Nouveautés Fonctionnement
border Permet de créer des bords arrondis, des bordures ombrées, des bordures
imagées etc. Trois propriétés sont souvent utilisées:
- border-radius (arrondi)
- box-shadow (ombre)
- border-image (image)
81
CSS 3
2- Grandes nouveautés
Nouveautés Fonctionnement
Multiples colonnes donne la possibilité d’afficher un texte sur plusieurs colonnes, en
s’appuyant sur 4 nouveaux attributs:
column-count indique le nombre de colonnes,
column-width permet de définir la largeur des colonnes,
column-gap désigne l’espace entre les colonnes,
column-rule permet d’afficher une bordure entre les colonnes
82
CSS 3
2- Grandes nouveautés
Nouveautés Fonctionnement
- transition-property Les effets de transitions
- transition-duration Ils permettent à un élément de changer d’un style à un autre.
- transition-timing-function
- transition-delay
83
Conclusion générale
84
Ressources web
http://www.pompage.net/traduction/html5-et-le-futur-du-web
http://designshack.developpez.com/tutoriels/css/introduction-css3-
interface-utilisateur/#LV
http://fr.openclassrooms.com/informatique/cours/apprenez-a-creer-
votre-site-web-avec-html5-et-css3
http://www.alsacreations.com/apprendre/
http://www.html5-css3.fr/
http://www.startyourdev.com
http://validator.w3.org/
85
FIN DE LA LECON
QUESTION
86
Leçon 3: Dynamisation des pages
statiques du côté client
(JavaScript et JQUERY)
87
JAVASCRIP
T
88/68
PLAN
- Introduction générale
- Html et Javascript
- Entrée et sortie en Javascript
- Structure d'un script Javascript
- Les variables
- Les objets
- Les événements
89
JAVASCRIPT
Introduction
Javascript permet de rendre dynamique un site Internet développé en HTML.
Javascript permet de développer de véritables applications fonctionnant
exclusivement dans le cadre d'Internet.
Le Javascript 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.
90
JAVASCRIPT
Introduction
Contrairement à un applet Java qui est un programme compilé, les scripts
écrits en Javascript sont interprétés
Le Java, représenté par un ou plusieurs fichiers autonomes dont
l'extension sera *.class ou *.jar, est invoqué par une balise HTML spécifique
91
JAVASCRIPT
HTML et JavaScript
la page HTML devra TOUJOURS contenir les deux balises spécifiques et
indispensables
•<script language="javascript">
............
</script>
Le code JavaScript s’intègre de deux manières avec le code HTML
Le code JavaScript s'insère le plus souvent dans la page HTML elle même.
92
JAVASCRIPT
1. Insertion dans une page HTML
Il existe 2 manières d'insérer du code JavaScript dans une page HTML
1.1
Insertion pour exécution directe
<html>
Le code s'exécute automatiquement <head>
<title>..... </title>
Le code JavaScript est placé </head>
<body>
<script language="JavaScript">
•dans le corps même de la page HTML, alert(‘bonjour’);
•entre les balises <body> .......... et </script>
•......... </body> </body>
•lors du chargement de la page HTML </html>
•dans le navigateur en même temps que
•le contenu de la page HTML
•s'affiche à l'écran.
93
JAVASCRIPT
2. Insertion par appel de module externe
On peut insérer du code JavaScript en faisant appel à un module externe se
trouvant à n’importe quelle adresse (URL).
•<script src="URL du module externe">
............
</script>
Les deux balises de Javascript doivent être placées entre les Tags <body> et
</body> dans le cas d'une exécution directe ou entre les Tags <head> et
</head> de la page HTML pour une exécution différée.
Le code Javascript peut être stocké dans un fichier sur le serveur à son
adresse d'appel sous forme de TEXTE SIMPLE portant l'extension .txt ou .js
94
JAVASCRIPT
2. Insertion par appel de module externe
Simplifie la maintenance des sites faisant appel à des modules JavaScript
communs à plusieurs pages HTML.
95
JAVASCRIPT
Entrée et sortie de données avec JavaScript
3 types de boites de messages peuvent être affichés en utilisant Javascript :
Alerte, Confirmation et Invite
Méthode alert()
sert à afficher à l’utilisateur des informations simples de type texte. Une
fois que ce dernier a lu le message, il doit cliquer sur OK pour faire
disparaître la boîte
Méthode confirm()
permet à l’utilisateur de choisir entre les boutons OK et Annuler.
Méthode prompt()
permet à l’utilisateur de taper son propre message en réponse à la question
posée
La méthode document.write() permet d ’écrire du code HTML dans la page
WEB
96
JAVASCRIPT
Entrée et sortie de données avec JavaScript
<html>
<head>
<title> une page simple </title>
</head>
<body>
Bonjour
<script language='javascript'>
alert('bonjour');
document.write (
prompt('quel est votre nom ?','Indiquer votre nom ici'));
confirm('quel bouton allez-vous choisir ?');
</script>
</body>
</html>
97
JAVASCRIPT
La structure d’un script en JavaScript
La syntaxe du langage Javascript s'appuie sur le modèle de Java et C
Règles générales
1.L'insertion des espaces peut s'effectuer n'importe où dans le script
Chaque commande doit être terminée par un point-virgule (;).
Un nombre à virgule est séparé par un point (.)
Le langage Javascript est sensible à la casse
Il existe deux méthodes permettant d'intégrer des commentaires à vos
scripts.
– Placer un double slash (//) devant le texte
– Encadrer le texte par un slash suivi d'une étoile (/*) et la même
séquence inversée (*/)
98
JAVASCRIPT
Les variables
Déclaration et affectation
99
JAVASCRIPT
Les variables
Déclaration et affectation
La portée
les variables peuvent être globales ou locales.
Null : possède une seule valeur, null, qui signifie l’absence e données dans
une variable
103
JAVASCRIPT
Les opérations sur les chaînes
La concaténation
–var chaine = "bonjour " + " FI3/FCD1 ";
105
JAVASCRIPT
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/infini négatif.
•isFinite(240) //retourne true
•isFinite("Un nombre") //retourne false
isNaN ()
• détermine si le paramètre n’est pas un nombre (NaN : Not a Number).
ParseFloat ()
•analyse une chaîne de caractères et retourne un nombre décimal.
•si l'argument évalué n'est pas un nombre, renvoie NaN (Not a Number).
106/
68
JAVASCRIPT
Les fonctions prédéfinies
parseInt ()
•analyse une chaîne de caractères et retourne un nombre entier de la base
spécifiée.
•La base peut prendre les valeurs 16 (hexadécimal) 10 (décimal), 8 (octal), 2
(binaire).
var numero="125";
var nombre=parseFloat(numero); //retourne le nombre 125
var prix=30.75;
var arrondi = parseInt(prix, 10); //retourne 30
107
JAVASCRIPT
Les fonctions prédéfinies
Number ()
•convertit l'objet spécifié en valeur numérique
String()
•convertit l'objet spécifié en chaîne de caractères
Escape ()
•retourne la valeur hexadécimale à partir d'une chaîne de caractères codées
en ISO-Latin-1
escape("!&") //retourne %21%26%
108
JAVASCRIPT
Les objets
Les objets de JavaScript, sont soit des entités pré-définies du langage,
soit créés par le programmeur.
110
JAVASCRIPT
Les objets
L’opérateur typeof
• renvoie une chaîne de caractères indiquant quel est le type de
l'opérande.
var i = 1;
typeof i; //retourne number
var titre="Les raisins de la colère";
typeof titre; //retourne string
var jour = new Date();
typeof jour; //retourne object
var choix = true; typeof choix; //retourne boolean
var cas = null; typeof cas; //retourne object
typeof parseFloat; //retourne function
typeof Math; //retourne object (IE 5.*, NS 6.*, NS 4.78, Opera 6.*, Opera 5.*
typeof Math; //retourne function NS 3.*, Opera 3.*
111
JAVASCRIPT
Les objets
L'objet String
Propriété :
length : retourne la longueur de la chaîne de caractères;
Méthodes :
anchor( ) : formate la chaîne avec la balise <A> nommée;
b( ) : formate la chaîne avec la balise <B>;
big( ) : formate la chaîne avec la balise <BIG>;
charAt( ) : renvoie le caractère se trouvant à une certaine position;
charCodeAt( ) : renvoie le code du caractère se trouvant à une certaine
position;
concat( ) : permet de concaténer 2 chaînes de caractères;
fromCharCode( ) : renvoie le caractère associé au code;
indexOf( ) : permet de trouver l'indice d'occurrence d'un caractère dans une
chaîne.
112
JAVASCRIPT
Les objets
L'objet Array
Propriété :
length : retourne le nombre d'éléments du tableau;
Méthodes :
concat( ) : permet de concaténer 2 tableaux;
join( ) : converti un tableau en chaîne de caractères;
reverse( ) : inverse le classement des éléménts du tableau;
slice( ) : retourne une section du tableau;
sort( ) : permet le classement des éléments du tableau;
113
JAVASCRIPT
Les objets
L'objet Math
Propriété :
E : renvoie la valeur de la constante d'Euler (~2.718);
LN2 : renvoie le logarithme népérien de 2 (~0.693);
LN10 : renvoie le logarithme népérien de 10 (~2.302);
LOG2E : renvoie le logarithme en base 2 de e (~1.442);
LOG10E : renvoie le logarithme en base 10 de e (~0.434);
PI : renvoie la valeur du nombre pi (~3.14159);
SQRT1_2 : renvoie 1 sur racine carrée de 2 (~0.707) c’est-à-dire l’inverse de
la racine carrée de 2;
SQRT2 : renvoie la racine carrée de 2 (~1.414).
114
JAVASCRIPT
Les objets
L'objet Math
Méthodes :
abs( ), exp( ), log(), sin( ), cos( ), tan( ), asin( ), acos( ), atan( ), max( ),
min( ), sqrt( ) sont les opérations mathématiques habituelles;
atan2( ) : retourne la valeur radian de l'angle entre l'axe des abscisses et
un point;
ceil( ) : retourne le plus petit entier supérieur à un nombre;
floor( ) : retourne le plus grand entier inférieur à un nombre;
pow( ) : retourne le résultat d'un nombre mis à une certaine puissance;
random( ) : retourne un nombre aléatoire entre 0 et 1;
round( ) : arrondi un nombre à l'entier le plus proche.
115
JAVASCRIPT
Les objets
L'objet Date
Propriété : aucune;
Méthodes :
getFullYear( ), getYear( ), getMonth( ), getDay( ), getDate(), getHours( ),
getMinutes( ), getSeconds( ), getMilliseconds( ): retournent respectivement l'année
complète, l'année (2 chiffres), le mois, le jour de la semaine, le jour du mois,
l'heure, les minutes, les secondes et les millisecondes stockés dans l'objet Date;
116
JAVASCRIPT
Les objets du navigateur
L'objet le plus haut dans la hiérarchie est window qui correspond à la
fenêtre même du navigateur.
117
JAVASCRIPT
Les objets du navigateur
118
JAVASCRIPT
Les objets du navigateur
L'objet window
Propriétés : (accessibles avec IE et N)
closed : indique que la fenêtre a été fermée;
defaultStatus : indique le message par défaut dans la barre de
status;
document : retourne l'objet document de la fenêtre;
frames : retourne la collection de cadres dans la fenêtre;
history : retourne l'historique de la session de navigation;
location : retourne l'adresse actuellement visitée;
name : indique le nom de la fenêtre;
navigator : retourne le navigateur utilisé;
opened : retourne l'objet window qui a créé la fenêtre en cours;
parent : retourne l'objet window immédiatemment supérieur dans
la hiérarchie;
119/
68
JAVASCRIPT
Les objets du navigateur
L'objet window
Propriétés : (accessibles avec IE et N)
self : retourne l'objet window correspondant à la fenêtre en cours;
status : indique le message affiché dans la barre de status;
top : retourne l'objet window le plus haut dans la hiérarchie.
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. 120
JAVASCRIPT
Les objets du navigateur
L'objet document
Propriétés :
applets : retourne la collection d'applets java présente dans le
document;
cookie : permet de stocker un cookie;
domain : indique le nom de domaine du serveur ayant apporté le
document;
forms : retourne la collection de formulaires présents dans le
document;
images : retourne la collection d'images présentes dans le
document;
links : retourne la collection de liens présents dans le document;
referrer : indique l'adresse de la page précédente;
title : indique le titre du document.
121
JAVASCRIPT
Les objets du navigateur
L'objet navigator
Propriétés
appName : application (Netscape, Internet Explorer)
appVersion : numero de version.
platform : système d’exploitation (Win32)
plugins
language
mimeTypes
JavaEnabled()
122
JAVASCRIPT
Les événements
Javascript est dépendant des événements
se produisent lors d'actions diverses sur les objets d'un document HTML.
– onLoad;
– onClick
– onMouseover
– onMouseout
– ...
123/
68
JAVASCRIPT
Les événements
Evénement 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é
124/
68
JAVASCRIPT
Les événements
Événement 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
Événement 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.
<HTML><BODY>
<IMG SRC="image.gif" onMouseOver="src='image2.gif';"
onMouseOut="src='image.gif';">
</BODY></HTML>
125
JQUERY
126
PLAN
- Introduction générale
- Pourquoi utiliser Jquery ?
- Comment installer Jquery ?
- Les sélecteurs
- Les attributs
- Les événements
- Ajax et Jquery
- Jquery UI
- Conclusion Générale
127/
68
JQUERY
Introduction
•JQuery est une célèbre bibliothèque logicielle JavaScript libre, dont John
Resig est considéré comme le fondateur. Créé en 2006, JQuery en est
aujourd'hui à sa version 7.1. Beaucoup d'entreprises célèbres l'utilisent, par
exemple Mozilla Firefox, Microsoft, Nokia, Twitter, Google Code, Amazon,
Wordpress etc.
•Réputée pour sa syntaxe aussi simple que courte, JQuery est donc
énormément utilisée par les débutants comme par les professionnels. Parmi
ses multiples possibilités, il offre entre autres :
128/
68
JQUERY
• des sélecteurs très simples, pour manipuler la source DOM.
• les sélecteurs de base qui sont quasiment identiques à ceux du CSS.
129/
68
JQUERY
Avantages de JQUERY
•Il existe beaucoup de bibliothèques Javascript alors pourquoi utiliser JQuery?
•JQuery est la plus complète des bibliothèque Javascript et se base sur
certaines stratégies.
•Exploiter le CSS : jQuery base son mécanisme de localisation des éléments
de la page sur les sélécteurs CSS. Ce qui permet au développeur de pouvoir
sélectionner très facilement ce qu'il souhaite.
•Accepter les extensions: JQuery accepte très bien et très facilement les
extensions. La création de plugin jQuery est simple et très bien documentée.
Ce qui permet à jQuery de posséder une multitudes d'extensions.
130/
68
JQUERY
- Masquer les excentricités du navigateur : jQuery ajoute une couche
d'abstraction qui permet de normaliser les tâches courantes. Le
développement web est très délicat car tous les navigateurs sont différents
mais jQuery permet de standardiser certaines tâches.
131/
68
JQUERY
Pourquoi utiliser Jquery ?
- Accéder aux éléments du document : jQuery permet
d'accéder facilement aux éléments du document et sans écrire
beaucoup de code. Avec du Javascript simple il est beaucoup
plus difficile d'accéder à ces éléments.
- Modifier l'aspect d'une page web : jQuery permet très
simplement de créer directement des styles. Il permet de
contourner les problèmes liés aux standards des navigateurs.
- Altérer le contenu d'un document : Il est possible de changer
le contenu d'un champs texte ou d'une image sans rafraîchir la
page.
132/
68
JQUERY
- Répondre aux actions de l'utilisateur : Certaines propriétés de jQuery
permettent de simuler des actions utilisateurs comme le clic.
- Animer les modifications d'un document : L'aspect visuel étant une chose
primordial, jQuery permet de faire des effets lors d'un changement de texte
ou tout autres changements.
133/
68
JQUERY
Comment installerJQUERY?
- jQuery est une bibliothèque JavaScript. En d'autres termes, un fichier
d'extension .js téléchargeable à l'adresse
http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery.
- Pour l'utiliser dans une page HTML, on peut procéder de deux manières
(1) Il suffit de faire référence au fichier téléchargé, en utilisant une balise
<script>, comme ceci :
<script type="text/javascript" src="Repertoire/jquery.js" ></script>
(2) On peut aussi inclure le code contenant la librairie. Pour cela, il est
conseillé d'utiliser les serveurs de Google. Voici donc le bout de code à insérer
dans la balise <script> pour pouvoir utiliser JQuery :
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs
/jquery/1/jquery.min.js"></script>
134/
68
JQUERY
Présentation des sélecteurs
La première chose à apprendre de jQuery afin d'être en mesure de séparer
vos codes JavaScript et (X)HTML sont les sélecteurs. Les sélecteurs
permettent de sélectionner un ou plusieurs éléments du DOM. Ces derniers
pouvant être manipulés comme tout autre objet. Si vous êtes familier avec
CSS, vous allez saisir rapidement les sélecteurs. Ceux-ci sont en réalité la
même chose et ils utilisent presque la même syntaxe. jQuery permet la
sélection des éléments grâce à une fonction spéciale nommée « $ ».
Exemple de sélecteurs
$(document) // Extension de l'objet document à la classe jQuery.
$('p[title$="H"]') // Sélectionne les éléments dont l'attribut title fini par "H".
136/
68
JQUERY
$('p[title*="H"]') // Sélectionne les éléments dont l'attribut title contient "H".
$('div > .enfant') // Sélectionne les éléments ayant la classe "enfant" enfants
d'éléments <div>.
138/
68
JQUERY
- attr(clé,valeur) : assigne une paire attribut/valeur a tous les éléments
concernés.
Ex : Modifier la valeur de l'attribut src de tous les images par 'teste.jpg'
$("img").attr("src","teste.jpg") : <img/> On obtiendra : <img
src="teste.jpg"/>
141/
68
JQUERY
Les événements avec Jquery
C'est quoi un événement ?
Un événement est une action de l’utilisateur. Clic, double, clic, survol d’un
élément, etc. Jquery permet de traiter de manière facile ce événements, et
de leur associer des actions.
$(document).ready(function(){
// Le code jQuery ici !
});
142/
68
JQUERY
-click() : qui écoute lorsque l'on clique sur un élément de la page.
$("#uneDiv").click(function(){
// Le code a exécuter !
});
Il existe plusieurs autres événements que l'on peut associer aux éléments de
page. On peut citer entre autre :
143/
68
JQUERY
Autres événements
144/
68
JQUERY
Ajax et JQuery
JQuery possède toute une panoplie de fonctions permettant de simplifier les
requêtes Ajax
La plus simple :
$('#maDiv').load('page.html');
Plus complexe :
$.get('test.html',
function(data) {faire quelque chose);
Générale : $.ajax({
url: 'document.xml',
type: 'GET',
dataType: 'xml',
timeout: 1000,
error: function(){alert('Erreur chargement'); },
success: function(xml){faire quelque chose} 145/
}); 68
JQUERY
Jquery UI
jQuery offre de très nombreuses méthodes pour gérer le DOM, les propriétés
CSS, AJAX et la gestion événementielle.
146/
68
JQUERY
Des « comportements » (interactions)
147/
68
JQUERY
Des « widgets »
- « accordéon » http://jqueryui.com/demos/accordion/
- « calendrier » http://jqueryui.com/demos/datepicker/
- curseur http://jqueryui.com/demos/slider/
- onglets http://jqueryui.com/demos/tabs/
148
JQUERY
Conclusion générale
- jQuery est un framework javascript complet et facile à utiliser
- Permet de manipuler les éléments d'une page et le CSS
- Permet de faire des requêtes AJAX simplement
- Jquery UI une extension graphique de Jquery proposant des composants
graphiques
- D’autres frameworks sont disponibles et ne sont pas à oublier : il est possible
de combiner les frameworks
149
Bibliographies & ressources web
http://www.jquery-fr.com/
http://fr.openclassrooms.com/informatique/cours/simplifiez-vos-
developpements-javascript-avec-jquery
http://www.tuto-jquery.fr/ajax_jquery/
UML 2 Pour les bases de donnees , Christian Soutou , Eyrolles, 2007
http://web.univ-pau.fr/~ecariou/cours/sd-m1/cours-architecture.pdf
http://perso.univ-lyon1.fr/olivier.gluck/Cours/Supports/M2SIR_CS/SPAI-C1-
ArchiC-S.pdf
https://aful.org/ressources/formations/cours-logiciels-libres-technique-java/
file_html
http://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol
150
Bibliographies & ressources web
http://fr.wikipedia.org/wiki/HyperText_Transfer_Protocol_Secure
http://www.bitdefender.fr/blog/Pourquoi-le-protocole-HTTPS-est-
%28toujours%29-bon-pour-vous-437.html
http://webyo.net/IMG/article_PDF_webmaster-Mettre-son-site-en-ligne.pdf
http://www.commentcamarche.net/contents/519-le-protocole-ftp-file-
transfer-protocol
151