Академический Документы
Профессиональный Документы
Культура Документы
SOMMAIRE
Introduction
Partie I Les Bases en HTML et en CSS
Chapitre 1 : Premire Approche Thorique du HTML
et du CSS
Chapitre 2 : Les Bases en HTML
Chapitre 3 : Les Bases en CSS
Conclusion
2
INTRODUCTION
Prsentation du cours et de ses objectifs
Le but premier de ce cours est de vous apprendre pas pas coder
en HTML5 et en CSS3. Outre cela, je vais galement mappliquer
vous montrer la logique et les mcanismes derrire ces deux langages
afin que vous compreniez ce que vous fates et que vous deveniez
vite autonomes.
Ce cours est divis en trois parties, progressives :
Une premire partie avec un peu de thorie dans laquelle nous
poserons les bases pour un apprentissage solide ;
Une deuxime partie dans laquelle nous verrons comment
positionner les diffrents lments de notre site et comment
personnaliser nos textes ;
Une dernire partie o nous explorerons les fonctionnalits
avances du HTML5 et du CSS3 (insertion de vidos,
formulaires, responsive design, etc.).
Au fil de ce cours, nous aborderons galement dautres langages
comme le XHTML ou le PhP lorsque cela justifi et afin que vous
ayez une comprhension globale de ce que vous fates.
A propos de lauteur
Je suis Pierre Giraud, jai 24 ans au jour de publication de ce livre et
je suis passionn par lentreprenariat et lunivers de la technologie en
gnral. Voici mon parcours en quelques lignes.
Aprs un baccalaurat scientifique, je me dirige vers une classe
prparatoire conomique option scientifique. A la suite de cette
classe prparatoire, jintgre lEDHEC Lille.
Ds mon entre lEDHEC, je commence en dehors des cours me
familiariser et apprendre diffrents langages informatiques. Je
dbute par le HTML, puis le CSS, puis le PhP, le MySQL, le
JavaScript
Je cre galement trois start-ups, pour tester , durant mes deux
premires annes dcole : un e-commerce, un site de services, un
commerce dachat/revente. Je connais deux (petits) succs et un
chec relatif.
Lors de mon anne de csure (anne de stage), je saute dfinitivement
le pas et postule chez PrestaShop (distributeur de sa solution ecommerce Open Source). Je suis retenu et finit donc ma formation au
sein de dveloppeurs.
Je suis aujourdhui diplm dun double Master 2 Entreprenariat et de
Gestion et peut me targuer dtre un expert PrestaShop et dans le
domaine de le-commerce ainsi quun bon dveloppeur.
PARTIE I
LES BASES EN HTML ET EN CSS
Tout a pour vous dire que sil est vrai quinstaller un framework peut
tre une bonne solution, ce nest plus suffisant aujourdhui sur le web.
2. Les diteurs WYSIWIG sont des diteurs qui codent votre
place . En gros, vous choisissez dinsrer un paragraphe, une image,
un carr, etc. et lditeur cre le code correspondant. Un exemple
clbre est Adobe Dreamweaver.
Si ces diteurs sont de plus en plus puissants et de mieux en mieux
fait, il nempche quils font et continueront toujours faire des
erreurs. En effet, il nest pas possible pour un programme de penser
comme un humain et ainsi votre code ne sera jamais tout fait
valide. De plus, certaines limitations demeurent.
3. Une agence spcialise ou un freelance, cela semble tre un must.
Encore une fois : attention ! Tout dabord, nombre de freelances et
dagences ne se rsument en fait qu un tudiant cherchant gagner
un peu dargent. Je vous laisse imaginer dans nombre de cas le
rsultat
De plus, les grosses agences reconnues ont des prix qui dpassent
certainement votre budget priori.
Enfin, une fois le travail rendu, ne vous attendez pas ce que votre
freelance ou votre agence vienne vous dpanner en cas de problme
pendant des annes.
Encore une fois, je ne vous dis pas de ne pas travailler avec une
agence, je vous dis simplement de prendre des prcautions et de vous
organiser avant.
Apprendre le HTML et le CSS signifie entrer dans le monde des
programmeurs et cest donc commencer les comprendre et parler
comme eux.
Si vous comprenez le HTML et le CSS avant de faire appel une
agence, vous rdigerez alors un cahier des charges plus prcis et de
un
on
tel
ou
10
11
12
13
14
15
Ensuite, pour que notre page HTML5 soit valide, il va nous falloir
indiquer trois nouveaux lments : html, head ( en-tte ) et body
( corps de page ).
Llment html va contenir toute la page.
Llment head contiendra entre autres, le titre de la page, lencodage
utilis et des meta-data (des donnes invisibles pour les utilisateurs
mais essentielles nous en reparlerons plus tard).
Llment body contiendra tout le
(paragraphes, images, tableaux, etc.).
contenu
de
notre
page
Mais ce nest pas fini ! Pour que la page soit valide, llment head
doit lui mme contenir un lment title, qui correspond au titre de la
page et le meta charset qui prendra comme valeur le type dencodage
choisi.
Pour les langues latines, nous choisirons gnralement la valeur utf8 .
Voici quoi vous devriez arriver en pratique :
16
17
18
19
simplement car la balise meta nest pas contenue dans llment title
mais seulement dans llment head. Elle est donc au mme niveau
de hirarchie que le title.
Lindentation peut peut-tre vous paratre superflue pour le moment,
mais je vous garantis que cest une pratique extrmement utile et
quune bonne indentation est souvent ce qui fait la diffrence entre
un codeur moyen et un bon codeur.
Troisime et dernire bonne pratique dont je voulais vous parler : le
fait de commenter son code.
Commenter son code, cest tout simplement y ajouter des
commentaires. Ces commentaires sont spciaux : il ne seront pas
visibles par vos visiteurs ( moins que ceux-ci naffichent le code
source de la page).
Voici comment on crit un commentaire en HTML :
20
21
Vous aurez alors accs au code HTML de la page, quelque soit le site.
22
23
24
25
Vous avez remarqu ? Oui, les titres apparaissent en gras et ont des
tailles diffrentes selon leur degr dimportance. Et cest prcisment
l o jen reviens mon premier point : vous ne devez JAMAIS
utiliser le langage HTML pour mettre en forme le contenu.
Ce que vous voyez nest quune mise en forme automatique fate par
votre navigateur, une interprtation visuelle de ce que vous avez
donn votre navigateur. Cependant, vous ne devez jamais utiliser
un titre de niveau h1 pour mettre un texte en gros et en gras. JA-MAIS.
Pour bien vous faire comprendre ce quil se passe, vous pouvez
imaginer que votre navigateur est un lve et vous un professeur.
Vous fates votre cours, et dun coup vous dtes vos lves
attention, ce point l est trs important ( laide dune balise h1).
Vos lves vont avoir tendance surligner cette partie du cours.
26
27
dtre bien rfrenc sur ces mots l. Les balises strong et em vous
aident atteindre ce but, entre autres.
Enfin, llment mark est utilis pour faire ressortir du contenu. Ce
contenu ne sera pas forcment considr comme important, mais
cette balise peut servir dans le cas de laffichage de rsultats suite
une recherche dun de vos visiteurs par exemple.
Voil donc pour les lments dits de base, il est maintenant tant de
sattaquer des lments relativement plus complexes, et nous allons
commencer avec les listes.
28
Elment numro 1
Elment numro 2
Elment numro 3
En HTML, les listes vont avoir deux grands intrts pour nous : on va
pouvoir les utiliser pour crer des menus ou, dans leur forme brute,
pour mieux prsenter du contenu pour un blog par exemple.
Il existe trois grands types de listes en HTML : les listes ordonnes, les
listes non-ordonnes et un dernier type un peu particulier : les listes
de dfinition. Nous allons commencer avec les listes ordonnes et
non-ordonnes.
La diffrence entre les listes ordonnes et non-ordonnes est que les
listes ordonnes possdent un aspect de subordination, dordre
logique, de classement tandis que ce nest pas le cas pour les listes
non-ordonnes.
Pour crer une liste non-ordonne, on va avoir besoin de deux
nouveaux lments : llment ul (abrviation de unordered list), qui
va contenir toute la liste et llment li (pour list item) que lon va
utiliser pour crer chaque lment de la liste.
Voyons immdiatement comment cela fonctionne en pratique :
29
30
31
32
33
34
35
Et voil, cest fini ! Si vous ouvrez votre page page1.html, celle-ci doit
maintenant ressembler cela :
36
37
Attribut retenir donc, car celui-ci peut savrer trs utile dans de
nombreux cas (lorsque vous ne voulez pas que vos visiteurs quittent
votre site par exemple). Notez en revanche que vous ne pouvez pas
choisir si le lien va souvrir dans un nouvel onglet ou dans une
nouvelle fentre.
38
39
Notez que si vous cliquez sur le lien, rien ne devrait se passer (tout au
moins, sur Mac, rien ne se passe) tout simplement car vous possdez
40
41
42
43
44
45
46
47
48
49
50
51
52
Tout comme pour class et id, il existe une diffrence entre div et
span : div est un lment de type block tandis que span est un
lment de type inline.
Block ? Inline ? Nous allons voir immdiatement ce que cela signifie.
53
Afin que vous compreniez bien la diffrence entre les deux types
dlments, voyons ensemble quelques exemples dlments de type
inline ou block pour que vous puissiez observer leur comportement.
Elments de type block
p
h1, h2, h3, h4, h5, h6
ol, ul,dl
li
table
On voit bien dans lexemple ci-dessus les diffrences cites dans cette
partie entre les lments de type block et inline. Jai mis des bordures
autour des paragraphes afin que vous soyez bien convaincu quun
lment de type block occupe toujours toute la largeur disponible.
54
lattribut*
A[nom
de
valeur ]
lattribut
Nhsitez pas faire quelques tests par vous mme et vous entraner
un peu pour bien matriser ces quelques slecteurs avancs, cela
pourra vous tre trs utile par la suite.
55
56
Cette notion dhritage est assez simple comprendre mais est trs
puissante et est la base du CSS, retenez la donc bien !
57
PARTIE II
FORMATER DU TEXTE ET
POSITIONNER DES ELEMENTS
GRACE AU CSS
58
59
Nous avons dit plus haut que tout lment enfant hritait par dfaut
des styles de ses parents. A quoi sert donc la valeur inherit ? En fait,
cette dernire sert annuler un style dans un cas bien particulier.
Imaginez par exemple que nous ayons dfini un font-style : italic pour
tous les paragraphes de notre page et un font-style : normal un div
en particulier.
Par dfinition, les paragraphes lintrieur de ce div seront en italique
puisque la notion dhritage nous dit dappliquer la rgle la plus
60
61
Sans vouloir rentrer dans une discussion de puriste, sachez juste que
litalique est un tat spcial dune police, et qui nest pas support par
toutes les polices tandis que loblique correspond une inclinaison
force de la version normale dune police, et peut donc tre appliqu
toutes les polices.
62
63
64
Cette mthode reste trs limite car nous ne pouvons choisir que
parmi seize noms de couleurs qui sont les suivants :
65
Les valeurs que vous voyez sous le nom des couleurs sont des valeurs
quon appelle hexadcimales. Ce type de valeur va correspondre
notre deuxime mthode pour fixer la couleur dun texte.
Hexadcimal signifie qui fonctionne en base 16 . Pour le dire
simplement, un systme hexadcimal est un systme qui utilise 16
symboles pour compter, savoir dans notre cas les nombres de 0 9
et les lettres de A F. La lettre A correspondra ainsi 10, B 11, C
12, D 13, E 14 et F 15. Cela nous fait donc bien 16 symboles en
comptant le zro.
Ce systme de comptage peut paratre complexe et assez trange
pour ceux qui nont pas fait dtudes de mathmatiques, je veux bien
le comprendre. Cependant, je vous demande de ne pas en avoir peur
et de le voir tel quil est : un systme pour compter de 0 15 en soi
trs simple.
Mais quel rapport avec nos couleurs donc ? En fait, on va pouvoir
donner une valeur hexadcimale en valeur de la proprit color, afin
de choisir trs prcisment la couleur voulue. Cette valeur devra
commencer par un dise, suivie de 6 symboles choisis entre 0 et F.
66
67
Le plus important est encore une fois de retenir que les deux premiers
symboles correspondent lintensit de rouge, les deux suivants
lintensit de vert et les deux derniers lintensit de bleu.
Enfin, le dernier type de valeurs que lon peut utiliser est le type RGB
(pour Red Green Blue). Nous allons voir que ce type de valeurs et les
valeurs hexadcimales reposent sur la mme base.
Cette fois-ci, nous allons devoir indiquer trois nombres compris entre
0 t 255 en valeur. Le premier nombre correspond une nouvelle fois
lintensit de rouge, le second lintensit de vert et le troisime
lintensit de bleu que lon veut utiliser pour former notre couleur
finale.
68
69
70
71
72
73
74
75
76
77
78
79
Notez galement que ces mots clefs sont souvent employs en CSS,
ensemble ou sparment (que top, ou que left par exemple).
Nhsitez donc pas les tester avec certaines proprits dj vues ou
que lon va voir !
80
81
82
Notez que dans le cas des ombres des botes, il peut tre intressant
de rajouter la fin une dernire valeur, linset, si lon souhaite crer
une ombre intrieure.
83
Pour aligner des lments les uns par rapport aux autres, on peut les
faire flotter . Pour faire flotter un lment, nous utiliserons la
proprit float avec les valeurs suivantes : left, right, none ou inherit.
Un lment flottant va sortir du schma naturel (du flow ) dune
page web pour venir se placer contre le bord gauche ou droit de
llment qui le contient ou contre le bord de la page.
Lorsque lon fait flotter un lment, les lments aprs llment
flottant vont venir se positionner ct de celui-ci.
84
85
86
87
6.9 Le z-index
Parfois, lorsque lon cre le design de nos pages web, il arrive que
deux lments se chevauchent selon certaines circonstances.
Il peut alors tre utile de savoir comment indiquer quel lment doit
apparatre au dessus de quel autre en cas de chevauchement.
Pour cela, nous utiliserons la proprit z-index. Celle-ci fonctionne
avec tous les lments positionns et permet dindiquer quel lment
doit tre au dessus de quel autre en cas de conflit.
Un lment positionn est un lment auquel on a appliqu la
proprit position avec une valeur soit absolute, soit relative, soit
fixed.
Le z-index ne fonctionnera donc pas sur des lments positionns en
static (qui est la valeur par dfaut).
Un lment avec un z-index possdant une valeur plus leve quun
autre sera au dessus de cet autre lment. Cette proprit va donc
sutiliser de cette manire :
88
89
Dornavant, vous avez tout fait le niveau pour utiliser des notations
short-hand et je vous encourage les utiliser ds que possible (cellesci sont plus rapides crire et donc moins gourmandes en code et en
temps dexcution).
Voici ci-dessous une liste de quelques proprits acceptant une
criture short-hand. Encore une fois, crire une proprit sous sa
forme long-hand ou short-hand produira exactement le mme
rsultat.
Long Hand
[font-style] [font-weight] [font-size]/[line-height]
[font-family]
[border-width] [border-style] [border-color]
[margin-top] [margin-right] [margin-bottom]
[margin-left]
[background-color] [background-image]
[background-repeat] [background-attachment]
[background-position]
Short Hand
font
border
margin
background
90
PARTIE III
FONCTIONNALITES
AVANCEES
91
92
93
94
Notez que pour insrer une image de fond nous pouvons galement
utiliser la proprit short-hand background plutt que la proprit
background-image.
Cette proprit gre galement dautres aspects de la mise en forme
du fond que nous allons voir ensuite.
95
96
Dans cet exemple, jai dcal mon image de 100px vers la droite et
de 10px vers le bas par rapport au coin en haut gauche de llment
97
body, son parent. Rappelez vous que llment body occupe toute la
page.
98
99
Ici, jai insr mes trois images dans llment body, en leur
demandant dtre fixe et de ne pas se rpter. Jai dcal mon image
colibri de 300px sur la droite tandis que jai coll mon image
pingouin en haut gauche grce top left et mon image panda en
haut droite grce top right.
Notez que deux images peuvent tout fait se chevaucher. Par dfaut,
la premire image dclare sera au dessus. Attention donc lordre
de dclaration !
100
Mais avant de rentrer dans le vif du sujet, je dois faire un petit apart
sur ce quon appelle les prfixes vendeurs .
Il y a quelques annes de cela, tous les navigateurs ne reconnaissaient
pas les mmes proprits et ne les implmentaient pas de la mme
manire. En loccurrence, chaque navigateur avait une mthode bien
lui dimplmenter un fond en dgrad.
Les prfixes vendeurs ont alors t crs afin que chaque navigateur
affiche une proprit de la mme manire que les autres. Ce sont des
petits mots clefs qui vont tre placs avant la dclaration du type de
dgrad souhait.
Mme si aujourdhui la majorit des navigateurs suivent des standards
qui ont t tablis et implmentent les proprits de la mme faon,
cela peut toujours tre utile (et a ne cote rien) de mentionner des
prfixes vendeurs dans le cas o certains de vos visiteurs utiliseraient
des vieilles versions de navigateurs.
Les prfixes vendeurs sont les suivants :
Pour Chrome et Safari : -webkitPour Mozilla : -mozPour Internet Explorer : -msPour Opera : -o-
101
102
103
104
105
106
107
devrez choisir le format gif. Oubliez le bitmap qui est un format lourd
et sans rel avantage.
Pensez choisir avec attention le nom de vos images et vitez les
caractres spciaux et les espaces (prfrez les underscores ou les
tirets).
Pour insrer une image (finalement !), nous allons utiliser llment
HTML img. Llment img doit tre plac au sein dun lment de
type block, comme llment p ou un div par exemple.
Pour que votre code soit valide, vous devez ajouter deux attributs
llment img : lattribut source, abrg src et lattribut alternative,
quon note alt.
Lattribut src indique le chemin de limage. Vous pouvez lui donner
un chemin relatif ou absolu. Lattribut alt sert donner un texte
descriptif a photo. Ce texte est utile notamment dans les cas o
votre image ne saffiche pas ou pour les robots (de Google, entre
autres).
Enfin, vous pouvez galement ajouter lattribut facultatif title, ce qui
aura pour effet dafficher un texte lorsque vos visiteurs passeront la
souris sur votre image.
Illustrons immdiatement ce que nous venons de voir avec un
exemple :
108
Comme vous pouvez le voir, jai ici indiqu une adresse absolue en
source de mon image (je suis alle la chercher sur Google Image).
Notez que llment img est reprsent par une balise orpheline.
109
110
111
112
113
114
Pour ajouter une vido, on utilise llment video. Les attributs pris
par cet lment sont exactement les mmes que ceux pris par
llment audio, savoir : src, autoplay, controls, loop, preload et
width.
Contrairement aux lments audio, une vido sera par dfaut affiche
sur une page web.
Il est galement possible dajouter un attribut poster votre vido.
Lattribut poster permet de tlcharger et dafficher une image qui
sera affiche avant le lancement de la vido.
Une illustration ? Bien sr !
115
116
117
118
Voil, nous venons de crer notre premier tableau ! Cependant, celuici ne ressemble pas vraiment limage que vous vous faisiez dun
tableau je suppose Et cest normal : nous ne lavons pas encore mis
en forme !
119
120
121
122
Ici, nous avons fusionn les cellules des deux colonnes Nom et
Prnom en une pour Dupont Martin et les cellules de deux
lignes pour 24 ans .
Cest tout pour les tableaux en HTML !
123
124
125
126
127
128
129
Cette fois-ci, on crira le label aprs linput afin de bien avoir la case
cocher avant le texte.
Pensez bien galement mettre une valeur diffrente au name de
chaque input afin de pouvoir par la suite identifier quelle case a t
coche.
Si vous le dsirez, vous pouvez pr-cocher une case par dfaut en
ajoutant lattribut checked un input.
130
131
132
133
134
135
136
PARTIE IV
ALLER PLUS LOIN
137
138
139
140
Cet exemple devrait vous faire comprendre tout ce quil est possible
de faire grce aux media queries : vous pouvez changer le type dun
lment, adapter la taille dune bote, ajouter des proprits clear
pour un meilleur rendu selon la taille de lcran ou encore changer le
positionnement de vos lments.
Je ne vais pas faire un cours complet sur le responsive design car ce
serait beaucoup trop long et ce nest pas vraiment lobjet ici, mais
jespre vous avoir donn de bonnes pistes et de bonnes bases pour
vous permettre daller plus loin !
141
142
Dans le premier tat, ma souris nest pas sur llment p, donc rien ne
se passe. Dans le second cas, en revanche, jai pass ma souris sur
llment p. Celui-ci se color donc en rouge.
On peut galement appliquer diffrents styles des lments selon
quils aient t cliqus ou non grce au pseudo-classes :active (lors de
la slection) et :visited (une fois cliqu).
On appliquera souvent ces pseudo-classes des lments de type
lien.
Ci-dessous, on applique une couleur rouge ainsi quune mise en gras
au lien lors du clic, puis ensuite une couleur verte aprs quon lait
cliqu.
Voici le rsultat au moment du clic :
143
144
145
146
Ici, jai choisi dinsrer un texte avant mon lment p, mais vous
pouvez insrer nimporte quel type de contenu, comme des images
par exemple.
147
148
149
Il y a fort parier que ces lments vont tre de plus en plus pris en
compte par les moteurs de recherche et vont compter de plus en plus
pour le rfrencement des sites, ne les ngligez donc pas !
150
CONCLUSION
Et nous voil donc arriv la fin de ce cours ! Merci tous de lavoir
suivi !
Nhsitez pas aller visionner la version gratuite en vido de ce cours
sur ma chane YouTube :
https://www.youtube.com/channel/UCsFoQ4A9CZbF3qag317uZZQ
Vous y trouverez galement dautres tutoriels sur le PhP et le MySQL
entre autres.
Nhsitez pas non plus visiter rgulirement mon site Internet sur
lequel je poste rgulirement mes nouveaux tutoriels : http://pierregiraud.fr
Enfin, merci de parler de moi et de diffuser mon site et ma chane
YouTube vos contacts, amis, etc. Cest trs important pour moi et
cest ce qui me permet de continuer crer des tutoriels !
Une nouvelle fois merci, bon courage, et surtout : pratiquez pour
vous amliorer ou pour toujours rester au top !
A bientt,
Pierre
151