HTML CSS Jquery
HTML CSS Jquery
2019
HTML : structure du document
ELEMENT HTML
Exemple :
<p> ceci est un paragraphes </p>
Structure de la page HTML
<!DOCTYPE html>
<html>
<head>
<title>Ma première page</title>
</head>
<body>
<p>Bienvenue dans mon site web</p>
</body>
</html>
L'élément <textarea> définit un champ de saisie à plusieurs lignes ( une zone de texte )
HTML : element Formulaire
<div> <a><br>
<form> <button><em>
<h1>-<h6> <img><input>
<hr> <label><script>
<table> <select><strong>
<ul> <textarea>
<video>
HTML : Guide des bonnes pratiques
Déclarer le type de document : <!DOCTYPE html>
Gardez toujours votre code propre et lisible.
Ajoutez deux espaces d'indentation au lieu de la touche de tabulation.
Ajouter des lignes vides pour une meilleur séparation des blocs de code.
Évitez les longues lignes de code (max 80 caractères)
Utilisez les noms d'élément et attributs en minuscules : <a href ="lien.html">lien</a>
Les valeurs d'attribut entre double Quote <div class ="central">
Eviter les espaces entre attribut et sa valeur. <element attribut="valeur">
Ajouter l‘ attribut alt aux images : <img src= "casa.jpg" alt= "ville de casa">
Fermer tous les éléments HTML <p>Mon premier paragraphe <p> Mon deuxième paragraphe
Ne pas Omettre les balises <html> , <head> et <body>
HTML : Guide des bonnes pratiques
L' élément <title> est nécessaire en HTML5. Mettre un titre significatif: <title>Cours HTML</title>
Pour une meilleur indexation, définir la langue et le codage au début du document: <html lang="en-
US"> <meta charset="UTF-8">
Pour supporter le responsive design utiliser : <meta name="viewport" content="width=device-width,
initial-scale=1.0">
Utilisez une syntaxe simple pour relier les feuilles de style : <link rel="stylesheet" href="styles.css">
element { Placez l'accolade ouvrante sur la même ligne que le sélecteur séparé par un
propriete1: valeur1;
propriete2: "valeur 2"; espace.
} Utilisez deux espaces d'indentation et mettre un point virgule à la fin
chaque ligne.
Utilisez uniquement des doubles quottes autour des valeurs avec des
espaces
Placez le support de fermeture sur une nouvelle ligne.
CSS 3
2019
CSS: langage de balisage standard
Les sélecteurs de classe : Cibler les éléments en fonction de la valeur de leur attribut class.
Exemple : .header { background-color: green; }
Les sélecteurs d'identifiant : Cibler un élément en fonction de la valeur de son attribut id.
Exemple : #manager { background-color: blue; }
Les sélecteurs d'attribut : Cibler des éléments en fonction de la valeur d'un de leurs attributs.
Exemple : [href] { color:blue; font-weight: 700; }
CSS: Les combinateurs de sélecteurs
Le combinateur '+' selection des voisins direct
Exemple : div + img : cibler <img> qui suit immédiatement <div>.
p:hover { input:focus {
font-size: 1.3em; background-color: lightyellow;
} border: 2px solid lime;
}
div:active {
background-color: lightgreen; th:nth-child(2n+3) {
} background-color: tomato;
height: 60px;
li:first-child { }
color: orange;
}
<nav>
CSS: Position menu
</nav>
La propriété position définit la façon dont un élément est
positionné dans un document. <div>
Position :absolute, relative ou sticky.
<header>
propriétés : top, right, bottom et left.
entete
</header>
Un élément positionné de façon relative est un élément
dont la position est relative par rapport à sa position actuelle. <section>
contenue
Un élément positionné de façon absolue est un élément </section>
dont la position est défini par rapport à son parent
<footer>
bas de page
Un élément positionné sticky est un élément qui se
</footer>
comporte comme un élément positionné de façon relative
</div>
jusqu'à ce que son bloc englobant dépasse un seuil donné.
CSS: Backgrounds et Borders
Ce module CSS permet de mettre en forme les bordures et arrière-plans des éléments.
Les arrière-plans peuvent être dessinés avec une couleur ou une image, redimensionnés.
Les bordures peuvent être décorées avec des lignes, former des angles (droits ou courbes).
Il est également possible de décorer les boîtes des éléments avec des ombres.
https://flexboxfroggy.com
CSS: Exercice de synthèse
Appliquer les styles css sur le fichier home.html
CSS: framewok BOOTSTRAP
2019
JAVASCRIPT: Les variables primitives
Tableaux
Fonctions
Objets
JAVASCRIPT: Manipuler les tableaux
const connectionSimple = {
dataBase: 'formations',
etablir: function() {
console.log('la connection simple est réussie!');
}
}
JAVASCRIPT: LES OBJETS
Création d’un objet à partir de la fonction factory :
function createConnection(dataBase) {
return {
dataBase,
etablir: function() {
console.log('la connection via factory est réussie!');
}
}
}
function Connection(dataBase) {
this.dataBase = dataBase;
this.etablir = function() {
console.log('la connection via constructeur est réussie!')
}
}
for(key in classeur) {
console.log(key + ' : ' + classeur[key])
}
Cependant, on peut volontairement créer des objets qui ne descendent pas de Object
let ali = Object.create(null)
Object.setPrototypeOf(ali, etudiant)
Les modifications du prototype d'Object impactent tous ces objets via la chaîne de prototypes,
Object.getOwnPropertyDescriptor(etudiant, 'inscription')
Get : Une fonction qui joue le rôle d'accesseur (getter) pour la propriété
Set : Une fonction qui joue le rôle de mutateur (setter) pour la propriété
Les prototype des objets
Définir une nouvelle propriété ou de modifier une propriété existante
Object.defineProperty(etudiant , 'filiere' , {
value: 'LICDA',
enumerable:true,
configurable: false,
writable: true
})
function Livrable(format) {
let codage = 'utf-8';
this.format = format;
La visibilité des this.description = function() {
console.log('Format du livrable : ' + this.format );
propriétés d’un objet }
Object.defineProperty(this, 'codage',{
Abstraction :
get: function() {
return codage;
Cacher la complexité / les détails
},
Montrer que l'essentiel.
set: function(valeur) {
codage = valeur;
}
})
}
& Il sera utilisé comme prototype pour tous les objets crées
par ce constructeur
Membre de prototype
Object.prototype === Object.getPrototypeOf({})
Array.prototype === Object.getPrototypeOf([])
function Client(id){
this.id = id;
this.commander = function(){
console.log('le client ' + this.id + ' lance commande ' )
Membre d’instance }
}
&
c1 = new Client(10);
Membre de prototype c1.__proto__ === Client.prototype
c2 = Object.create(c1);
c2.id = 20
Vehicule.prototype.rouler = function () {
console.log('ce véhicule roule');
}
rouler() {
console.log("ce véhicule roule");
}
}
class Vehicule {
#prix;
constructor(coleur) {
Getters et Setters ES6 this.coleur = coleur
this.#prix = 1200
}
get prix() {
return this.#prix;
}
set prix(valeur) {
this.#prix = valeur;
}
}
v = new Vehicule(‘jaune')
L'instruction try...catch regroupe des instructions à exécuter
et définit une réponse si l'une de ces instructions provoque
une exception
};
surfaceRectangle(...data);
Manipuler le DOM
L'élément <html> en
constitue la racine et contient
deux éléments
:<head> et<body>, qui
contiennent eux-mêmes
plusieurs sous-éléments.
Objet window
Window.alert(), Window.prompt(), Window.confirm()
Manipuler le DOM
Window.setInterval(function () {
//CODE A EXECUTER
}, 1000)
Window.clearInterval(id)
Window.setTimeout
Window.clearTimeout
querySelector
•let droite = document.querySelector('.droite')
•let listeDiv = document.querySelectorAll('div')
Manipuler le DOM
droite.classList
droite.classList.contains('vert')
droite.classList.add()
droite.classList.remove()
listeDiv.forEach()
L’objet CSSStyleDeclaration
•droite.style.height = '400px‘
droite.style.backgroundImage =
Manipuler le DOM "url('images/logo.png')""url('images/logo.png') «
droite.style.backgroundRepeat = "no-repeat"
La propriété innerHTML
droite.innerText
Exercice
•ul.firstElementChild
•ul.lastElementChild
•ul.children
•droite.previousElementSibling
•gauche.nextElementSibling
•li.parentElement.removeChild(li.nextElementSibling)
•li.parentElement.insertBefore(ul.lastElementChild , li)
Exercice 1
let tr = document.querySelectorAll("tr");
Indication :
forEach
Tr.children[i].style.backgroundColor
Exercice 2
Indications :
Les écouteurs d’événements
listeDiv.forEach(element => {
element.addEventListener('mouseover', () => element.classList.toggle('vert'))
})
listeDiv.forEach(element => {
element.addEventListener('mouseover', () => element.classList.toggle('vert'))
})
XHR.send()
}
listeUsers('https://jsonplaceholder.typicode.com/users')
AJAX : Asynchronous JavaScript And XML
let data;
listeUser(
"https://jsonplaceholder.typicode.com/users",
function(reponse) {
data = JSON.parse(reponse);
},
function(erreur) {
data = null;
}
);
Objet promesse
L'objet Promise est utilisé pour réaliser des traitements de façon asynchrone.
Une promesse représente une valeur qui peut être disponible maintenant, dans le futur
voire jamais.
fetch('https://jsonplaceholder.typicode.com/users')
Objet promesse .then(reponse => reponse.json())
.then(data => {
AJAX avec fetch data.forEach(element => {
document.querySelector('ul').innerHTML += '<li>' +
element.name
});
})
1. Sélectionner une partie du document.
2. Agir dessus
Exemple :
$("div") renvoie un objet contenant tous les "div" du document.
$("div").hide() cache tous les "div" du document.
Masquer et afficher les éléments HTML avec : hide() et show()
Exercice :
Utiliser l’action toggle pour maquer et afficher une div alternativement.
La durée de l’action est de 1000 ms
A la fin de chaque action une alerte est déclenché qui affiche l’un des deux
messages :
message caché
message affiché
Syntaxe : $(selector).animate({params},speed,callback);
Syntaxe : $(selector).stop(stopAll,goToEnd);
$("#prenom").keyup(() => {
$("p").html("bonjour " + $("#prenom").val());
});
Ajouter de nouveau éléments HTML : prepend() et append()
Methodes de jQuery
Exemple :
Ajouter un element li au début de la liste
Ajouter un element li à la fin de la liste
Exemple :
Vider la liste ol
Supprimer la liste ol
Supprimer le premier li
$(".action").click(() => $("li").remove("li:first"));
addClass() : ajouter une classe
removeClass() : supprime une classe
toggleClass() - basculer entre Ajout / Suppression
css() - Affecte/ Recupère l'attribut de style
Manipuler CSS
Exemple :
Modifier le style d’un paragraphe a chaque hover
avec jQuery
$("p").hover(function() {
$(this).css({ "background-color": "green", "font-size": "20px" });
});
parent() : retourne le parent de l’element
parents() : retourne tout les ancêtres
children() : retourne les enfants
siblings() : retourne les elements sémilaires
next() / nextAll() : retourne l’élément suivant
Arboressance prev() / prevAll() : retourne l’element precedent
avec jQuery
Exercice :
Identifier les cellules qui seront colorées
$("table tr td:first")
.parents("tr")
.next()
.children("td:last")
.css("background-color", "red");
parent() : retourne le parent de l’element
parents() : retourne tout les ancêtres
children() : retourne les enfants
siblings() : retourne les elements sémilaires
next() / nextAll() : retourne l’élément suivant
Arboressance prev() / prevAll() : retourne l’element precedent
avec jQuery
Exercice :
Identifier les cellules qui seront colorées
$("table tr td:first")
.parents("tr")
.next()
.children("td:last")
.css("background-color", "red");
Exercice de Synthèse
Réaliser un système de génération du bulletin