Sie sind auf Seite 1von 37

Bootstrap 3

Le framework

100 % web design

Benot Philibert

Bootstrap 3
Le framework
100 % web design

Conu en 2011 par les quipes du rseau social Twitter, Bootstrap a su au fil des annes simposer
auprs des web designers et intgrateurs de la plante souhaitant crer avec plus de facilit des sites
web volus. Aujourdhui, Bootstrap est un des projets les plus suivis sur GitHub et sa communaut
ne cesse de crotre.
Une rfrence pour les dveloppeurs et intgrateurs web
Lobjectif de cet ouvrage est de comprendre comment fonctionne le framework Bootstrap afin de rapidement concevoir
votre site Internet. De la dcouverte du Responsive design ou des enjeux Mobile First la prise en main de LESS
CSS, vous monterez en comptences, chapitre aprs chapitre. terme, vous pourrez vous servir de Bootstrap en
totale autonomie.

De nombreux exemples comments


Ce livre sadresse toutes les personnes souhaitant utiliser Bootstrap. Que vous soyez intgrateur, web designer,
passionn ou dbutant, vous apprendrez pas pas exploiter le framework. Seules des bases en HTML et CSS sont
recommandes afin de dbuter sereinement lapprentissage. Ce livre abordera galement toutes les opportunits
techniques et stylistiques que propose le framework. Et plutt que de se contenter de vous faire dcouvrir les bases
de Bootstrap 3, cet ouvrage propose enfin de nombreux codes sources comments pour concevoir de vritables
projets web : dune galerie dimages un carrousel anim en passant par une page web complte.

Benot Philibert est web


designer UI/UX depuis
10 ans. Passionn par
le Web et le graphisme,
cest tout naturellement
quil sest tourn vers la
cration de sites Internet
et dapplications mobiles.
Totalement autodidacte,
Benot enseigne luniversit
Lyon 1 depuis 5 ans et
propose par ailleurs de
nombreux tutoriels vido
sur la plate-forme tuto.com.
Grand amateur du framework
Bootstrap depuis ses dbuts,
Benot lutilise au quotidien
dans ses crations. Fortement
attach aux enjeux mobile
et Responsive design, il vante
les mrites du framework
quil juge aussi simple
quefficace pour des besoins
dintgrations rapides
et propres .

Au sommaire

Aux dveloppeurs et chefs de projet web qui souhaitent dcouvrir et mieux utiliser ce framework.
Aux dveloppeurs et administrateurs de sites et dapplications web ou mobiles Responsive.
Aux tudiants en informatique souhaitant apprhender les techniques du Web.

Conception : Nord Compo

qui sadresse cet ouvrage ?

Code diteur : G14132


ISBN : 978-2-212-14132-0

Premiers pas avec Bootstrap Installer Bootstrap Le doctype Des exemples de prsentation Systme de grille
Typographie Boutons Navigation Les tableaux Les formulaires ou formes Les images Bootstrap, les mthodes
avances Animer avec jQuery Varier les composants Utiliser les Glyphicons Modifier lapparence graphique de
Bootstrap Installer LESS CSS Commencer avec LESS CSS Modifier Bootstrap avec LESS CSS Dcouvrir SASS
Customiser Bootstrap Crer et intgrer avec Bootstrap Crer un carrousel anim Crer une galerie dimages
Recrer une page complexe avec LESS CSS Les codes sources des exemples du livre

Bootstrap 3
Le framework

100 % web design

G14132_Bootstrap_pdt.indd 1

04/08/15 16:16

DANS LA MME COLLECTION


C. Camin. Dvelopper avec Symfony2.
N14131, 2015, 474pages.
S. Pittion, B. Siebman. Applications mobiles avec Cordova et PhoneGap.
N14052, 2015, 184pages.
H. Giraudel, R. Goetter. CSS 3: pratique du design web.
N14023, 2015, 372pages.
C. Delannoy. Le guide complet du langage C.
N14012, 2014, 844pages.
K. Ayari. Scripting avanc avec Windows PowerShell.
N13788, 2013, 358 pages.
W. Bories, O. Mirial, S. Papp. Dploiement et migration Windows 8.
N13645, 2013, 480 pages.
W. Bories, A. Laachir, D. Thiblemont, P. Lafeil, F.-X. Vitrant. Virtualisation du poste de travail Windows 7 et 8 avec
Windows Server 2012.
N13644, 2013, 218 pages.
J.-M. Defrance. jQuery-Ajax avec PHP.
N13720, 4e dition, 2013, 488 pages.
L.-G. Morand, L. Vo Van, A. Zanchetta. Dveloppement Windows 8 - Crer des applications pour le Windows Store.
N13643, 2013, 284 pages.
Y. Gabory, N. Ferrari, T. Petillon. Django avanc.
N13415, 2013, 402pages.
P. Roques. Modlisation de systmes complexes avec SysML.
N13641, 2013, 188pages.

SUR LE MME THME


R. Rimel, R. Goetter. HTML 5 Une rfrence pour le dveloppeur web.
N13638, 2e dition, 2013, 752 pages.
E. Daspet, C. Pierre De Geyer. PHP5 avanc.
N13435, 6e dition, 2012, 870 pages.
S. Pollet-villard. Crer un seul site pour toutes les plates-formes.
N13986, 2014, 144 pages.
E. Marcotte. Responsive web design.
N13331, 2011, 160 pages.
F. Draillard. Premiers pas en CSS 3 et HTML 5.
N13944, 6e dition, 2015, 472 pages.

Retrouvez nos bundles (livres papier + e-book) et livres numriques sur


http://izibook.eyrolles.com

Bootstrap 3
Le framework

100 % web design

Benot Philibert

G14132_Bootstrap_pdt.indd 2

04/08/15 16:16

DITIONS EYROLLES
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com

En application de la loi du 11 mars 1957, il est interdit de reproduire intgralement ou partiellement le prsent ouvrage,
sur quelque support que ce soit, sans lautorisation de lditeur ou du Centre Franais dexploitation du droit de copie,
20, rue des Grands Augustins, 75006 Paris.
Groupe Eyrolles, 2015, ISBN : 978-2-212-14132-0

mon fils, Lon.

Avant-propos
Il ny a pas si longtemps, un crateur de sites Internet soccupait de linterface, du design, de
lintgration, du dveloppement, de la mise en ligne et de la gestion quotidienne du site.
Actuellement, chaque tche reprsente au minimum un mtier.
Les frameworks sont ensuite venus amliorer le workflow quotidien des intgrateurs et
des dveloppeurs. Auparavant, les socits ditaient des logiciels de conception censs faciliter le travail des crateurs de sites Internet. De nos jours, les frameworks tels que Bootstrap
runissent autour dun programme toute une communaut. Cest cette dernire qui fait la
force dun framework.
Bootstrap est ce que lon appelle un framework CSS .
Il intgre de nombreux composants offrant la possibilit dajouter progressivement des lments, la manire dun puzzle. Rgi par des rgles dintgration strictes, il vous guidera au
cours de la ralisation en suivant les normes du W3C.
W3C
W3C, qui signifie World Wide Web Consortium, est un organisme visant promouvoir luniversalit des
technologies web telles que HTML, XML, PNG, etc.

En 2015, les enjeux de lintgration tournent autour du Responsive design. Lutilisation


dInternet sur les smartphones sest dmocratise. Il est donc logique que Bootstrap propose
une rflexion Mobile first anticipant laffichage sur mobile. La navigation et la lecture doivent
tre facilites. Le framework intgre de nombreux composants et media queries vitant dtre
confront aux problmatiques de compatibilit des mobiles et des navigateurs Internet.
Ce livre sadresse toutes les personnes souhaitant commencer utiliser Bootstrap. Que vous
soyez intgrateur, web designer, passionn ou dbutant, vous apprendrez pas pas utiliser le
framework. Seules des bases en HTML et CSS sont recommandes afin de dbuter sereinement lapprentissage. Ce livre abordera toutes les opportunits techniques et stylistiques que
propose le framework.

VIII

Bootstrap 3 : le framework 100 % web design

Dans une premire partie, nous ferons connaissance avec Bootstrap et prsenterons lorganisation de sa grille, de ses principaux composants et du systme de navigation.
Nous aborderons par la suite lutilisation des plug-ins jQuery, ainsi que des langages prprocesseurs LESS CSS et SASS. Cela vous donnera une vue complte et dtaille de Bootstrap,
pour commencer intgrer votre premier projet.
Enfin, nous passerons la pratique en apprenant personnaliser lapparence stylistique du
framework avec CSS et LESS CSS. Nous nous exercerons reproduire la page de prsentation du navigateur Google Chrome en guise dexercice final.
la fin de cette lecture, vous serez capable de raliser des projets web complexes et dynamiques grce Bootstrap et lutilisation du langage prprocesseur LESS CSS.

Remerciements
Je remercie les diffrentes personnes ayant crois mon parcours professionnel depuis 2010 et
mayant permis de mpanouir dans mon travail. Il me faut tout dabord citer Nicolas
Chaunu, fondateur et grant de la plate-forme Tuto.com, dont les conseils et lexprience
minspirent dans mes projets.
Vronique Cohen, responsable de la licence professionnelle e-business luniversit Lyon 1,
ma galement donn la chance denseigner, durant ces cinq dernires annes, le web design.
Plus gnralement, je souhaite remercier tous les professionnels mayant fait confiance. Je
pense particulirement Jean-Louis Cohen, artiste peintre muraliste, qui ma permis de faire
mes premiers pas dans la cration de sites Internet, et Gabriel Bondaz, dirigeant de lagence
IDCI-Consulting, avec qui jai commenc lapprentissage des langages HTML et CSS.
De faon plus personnelle, je remercie du fond du cur celle qui a lu et corrig la moindre
phrase de ce livre, sans forcment y comprendre un mot : ma compagne, Nelly.

Table des matires


Introduction ................................................................................... 1
Un peu dhistoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Lvolution dune version vers une autre, cest un peu comme refaire lhistoire ? . . . . 2
Quest-ce quun framework ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
La rvolution est en marche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

PREMIRE PARTIE

Premiers pas avec Bootstrap ............................. 7


CHAPITRE 1
Installer Bootstrap ........................................................................ 9
Tlcharger Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Petit tour du propritaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Format compil de Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Format source de Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

CHAPITRE 2
Le doctype.................................................................................... 13
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
La balise <head> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Les balises <meta> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Le CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Respond.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Le JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

CHAPITRE 3
Des exemples de prsentation ................................................... 19
Sur le site officiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Exemple de prsentation dun blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

CHAPITRE 4
Systme de grille......................................................................... 23
Notions de base sur les grilles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Le conteneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Bootstrap 3 : le framework 100 % web design

La ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Les colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Mise en pratique de la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Dfinir les blocs de 12 colonnes destins aux crans Extra Small . . . . . . . . . . . . . 26
Dfinir les colonnes de 6 destines aux crans Medium . . . . . . . . . . . . . . . . . . . . 27
Les proprits daffichage non dfinies explicitement . . . . . . . . . . . . . . . . . . . . . 28
Les situations particulires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Le wrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Dcalage sur plusieurs colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Imbrication de blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Les classes push et pull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Les classes visible et hidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

CHAPITRE 5
Typographie ................................................................................. 35
Les titres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Corps de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Le paragraphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Surligner du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Barrer du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Souligner du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Mettre un texte en gras ou en italique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Alignements et transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Aligner du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Transformer du texte : majuscules/minuscules . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Les listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Liste non trie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Liste trie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Liste non stylise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Liste en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Liste de description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Liste de description horizontale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Autres mises en forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Intgrer du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Les citations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Les abrviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Le bloc adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

CHAPITRE 6
Boutons ........................................................................................ 47
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Les tailles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Les tats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Table des matires

CHAPITRE 7
Navigation ................................................................................... 51
tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
pills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
navbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
La balise <nav> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Les classes .container et .container-fluid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
La classe .navbar-header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
La classe .navbar-collapse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Les lments additionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Les classes .fixed-top et .fixed-bottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
breadcrumbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
pagination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Dcouverte de la pagination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Les tats de pagination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Les tailles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
pager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

CHAPITRE 8
Les tableaux ................................................................................. 65
Mise en place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Les mises en forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
table-striped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
table-bordered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
table-hover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
table-condensed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Les classes contextuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Le Responsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

CHAPITRE 9
Les formulaires ou formes.......................................................... 71
Les diffrents types de formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
textarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
checkbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
La balise de classe .input-group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
help-text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Les alignements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
form-inline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
form-horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Les autres alignements disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Les tats des formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
readonly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

XI

XII

Bootstrap 3 : le framework 100 % web design

Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Appliquer les tats de validation un input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Appliquer les tats de validation une checkbox . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Les tailles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Augmenter la hauteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Augmenter la hauteur dun lment horizontal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

CHAPITRE 10
Les images.................................................................................... 85
Des images Responsive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Les diffrents formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

DEUXIME PARTIE

Bootstrap, les mthodes avances ..................87


CHAPITRE 11
Animer avec jQuery ..................................................................... 89
Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Dfinir ltat de chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Dfinir ltat activ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Ajouter un menu droulant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Cases cocher (checkboxes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Bouton radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Messages cachs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Messages surgissant au clic (popover) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Messages surgissant au survol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Onglets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Intgrer le code HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Dfinir le code JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Ajouter un effet fade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Effet de glissement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Activer un lment avec un lien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Activer un lment avec un bouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Utiliser un effet accordon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Carrousel dimages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Crer la structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Ajouter une lgende . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Prciser les options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Menu fixe et navigation verticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Fentre dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Intgrer une premire fentre dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Grer les tailles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Afficher la fentre dynamique louverture dune page . . . . . . . . . . . . . . . . . . . 116

Table des matires

CHAPITRE 12
Varier les composants............................................................... 117
Liste droulante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Modifier la balise <li> parente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Modifier la balise <a> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Ajouter la liste droulante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Boutons groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Intgrer un groupe de boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Intgrer une barre doutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Contrler la taille et lalignement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Alertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Crer une alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Insrer un lien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Insrer des boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
tiquettes et badges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Crer des tiquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Crer des badges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Panneau structur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Crer la structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Crer le corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Crer len-tte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Crer le bas de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Personnaliser avec les classes contextuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Quelques intgrations possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Accroche jumbotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Barres de progression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Crer la structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Intgrer une tiquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Personnaliser avec les classes contextuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Empiler les barres de progression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Animer une barre de progression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Intgration adaptable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

CHAPITRE 13
Utiliser les Glyphicons............................................................... 141
Comprendre la structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Insrer une Glyphicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Insrer dans un bouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Insrer dans une alerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Insrer dans un formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

CHAPITRE 14
Modifier lapparence graphique de Bootstrap ....................... 145
Crer et lier son fichier CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Modifier la typographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Modifier la taille des titres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Modifier les couleurs <code> ou <kbd> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

XIII

XIV

Bootstrap 3 : le framework 100 % web design

Changer lapparence des boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150


Modifier la classe .btn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Modifier les classes contextuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Modifier lapparence du Jumbotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Ajouter une image darrire-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Centrer le texte et changer sa couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Changer les marges internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Crer une grille sans padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

CHAPITRE 15
Installer LESS CSS ...................................................................... 159
Installer LESS CSS ct client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Installer LESS CSS ct serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Installer avec Grunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Installer avec un compilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

CHAPITRE 16
Commencer avec LESS CSS........................................................ 165
Structurer avec les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Imbriquer les rgles CSS avec le nesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Importer des proprits avec les mixins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Aller plus loin avec les mixins avances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Dfinir une proprit alatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Grer des valeurs boolennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Varier les couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Utiliser les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
claircir ou assombrir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Augmenter la transparence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Choisir une couleur dans un disque chromatique . . . . . . . . . . . . . . . . . . . . . . . 178
Jouer avec les oprations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
La multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Laddition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Importer des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Importer un fichier LESS ou CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Importer des media queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Regrouper les variables dans un unique fichier . . . . . . . . . . . . . . . . . . . . . . . . . 183

CHAPITRE 17
Modifier Bootstrap avec LESS CSS ........................................... 187
Comprendre lorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Le fichier bootstrap.less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Le fichier mixins.less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Le fichier Normalize.less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Modifier le thme couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Modifier lapparence des boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Crer un espace de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Crer la structure HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Table des matires

Modifier une balise titre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199


Modifier la taille de la police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Modifier la couleur du texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Mettre le texte en majuscules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Modifier les lments de formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Modifier les couleurs gnrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Intgrer la couleur des bordures pour le placeholder . . . . . . . . . . . . . . . . . . . . . . . . 203
Changer la couleur de lombrage lors du focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Supprimer le border-radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Augmenter la marge interne verticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

CHAPITRE 18
Dcouvrir SASS .......................................................................... 205
crire en SASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Mixin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Nesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Le langage SCSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Comparer LESS CSS et SCSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

CHAPITRE 19
Customiser Bootstrap ............................................................... 211
Changer les couleurs des boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Changer les media queries breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Tlcharger le fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

TROISIME PARTIE

Crer et intgrer avec Bootstrap .................. 217


CHAPITRE 20
Crer un carrousel anim.......................................................... 219
Crer la structure HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Personnaliser la classe .carousel-caption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Mettre en place le fichier style.css . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Mettre en forme la balise <h3> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Mettre en forme la balise <p> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Mettre en forme le bouton daction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

CHAPITRE 21
Crer une galerie dimages....................................................... 233
Crer la structure HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Crer la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Crer la fentre dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Personnaliser avec LESS CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Adapter la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

XV

XVI

Bootstrap 3 : le framework 100 % web design

Personnaliser la fentre dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242


Affiner avec les media queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Manipuler JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

CHAPITRE 22
Recrer une page complexe avec LESS CSS ............................. 249
Mettre en place lespace de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Crer la structure HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Crer le menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Mettre en place les sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Crer la section 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Crer la section 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Crer les sections 3, 4 et 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Crer la section 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Crer le pied de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Crer la premire ligne : liens vers les autres pages du site. . . . . . . . . . . . . . . . . . . 261
Crer la seconde ligne : liens lgaux et langue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Personnaliser avec LESS CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Modifier lapparence de len-tte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Modifier lapparence de la typographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Adapter la balise <body> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Adapter la balise <h1> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Modifier lapparence du bouton daction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Adapter les variables lies au bouton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Modifier la classe .btn-lg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Dfinir une mixin pour le dgrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Modifier le fichier gradients.less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Ajouter la mixin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Modifier lapparence du Jumbotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Modifier la balise <h1> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Modifier les balises <p> et <p> .lead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Modifier la balise <a> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Ajuster les images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Modifier les balises <h2> et <h3> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Modifier lapparence du pied de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Styliser la balise <footer> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Personnaliser les blocs de liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Modifier le titre <h4>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Ajuster les balises <a> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Organiser la seconde ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Affiner avec les media queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Modifier lespacement du Jumbotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Ajuster lapparence mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Adapter la navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Adapter le contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Adapter le pied de page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Table des matires

Annexe : les codes sources des exemples du livre ................. 299


Le carrousel anim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
La galerie dimages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Une page complte avec LESS CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

Index........................................................................................... 311

XVII

Introduction
Un peu dhistoire
Peut-tre naviez-vous pas encore entendu parler de Bootstrap ; en revanche, ce nest srement pas la premire fois que vous entendez le nom de son crateur, Twitter. En effet, Bootstrap est un projet interne Twitter lanc au milieu de lanne 2010 au sein de la multinationale et rendu publiquement disponible un an aprs, en aot 2011.
Cr lorigine par deux employs de la firme amricaine, Bootstrap a dans un premier temps
t pens et adapt aux besoins de la socit. Mark Otto et Jacob Thornton, les fondateurs du
framework, avaient tout dabord donn le nom de Twitter Blueprint leur travail, en rfrence lun des prcurseurs en la matire, Blueprint, cr en 2006 par Olav Frihagen Bjrky.
Twitter utilise Bootstrap depuis 2010 et continue de le faire pour la gestion doutils internes
qui standardisent le processus de workflow. En rglementant et standardisant les tches du
quotidien de ses dveloppeurs, Twitter a su adapter avec Bootstrap un systme proche de
celui du philosophe et conomiste Adam Smith : la division du travail. Chaque outil, dans le
framework, a une tche prcise relie aux autres pour concevoir, telle une production la
chane. Le terme Bootstrap est employ couramment, au sein des start-up, pour dfinir
un assemblage dlments distincts, formant une seule et mme entit.
Aujourdhui, Bootstrap est un des projets les plus suivis sur GitHub depuis 2012 et sa communaut ne cesse de crotre. Le projet est dit sous une licence open source et permet chacun
dentre nous de contribuer lamlioration du code et de lutiliser de manire gratuite. En addition, une licence MIT est prsente et doit tre prcise dans toute utilisation du framework.
Bootstrap est actuellement disponible en version 3.3.4 et a donc subi deux volutions significatives. Depuis la premire volution V2, Bootstrap adopte un support automatique et dynamique
permettant votre projet web de sadapter de manire Responsive tout type de taille dcran. En
dautres termes, depuis 2012, votre projet web saffiche correctement sur des supports de lecture
aussi diffrents quun smartphone ou un cran dordinateur, grce la version 2+.

Bootstrap 3 : le framework 100 % web design

Cest une trs grosse avance technologique puisquelle touche de plus en plus de monde et
cela ouvre le champ des possibles en matire de projets. Trs souvent rserv de la gestion
interne, ou back office, Bootstrap se rend plus accessible un public gnraliste et offre des
possibilits exhaustives pour les ralisations.
Avec larrive de la version 3+, le framework devient encore plus complet. Il change tout
dabord daspect pour se fondre dans les tendances Flat design 2013 puis 2014. Son orientation se veut plus Responsive design, avec une ambition particulirement prononce pour le
Mobile first. Ce dernier est une rflexion crative consistant dvelopper son projet du plus
petit cran vers le plus grand. En connaissant lvolution technologique de ces dernires
annes, il est naturel de sorienter vers les produits mobiles. Diffrentes tudes de consommation annoncent une croissance extrmement importante durant les dix vingt prochaines
annes sur lutilisation du mobile et laccs ce dernier. Aujourdhui, Internet semporte dj
dans toutes les poches. Sur notre tlphone portable intelligent ou notre tablette dernier cri,
qui par ailleurs sduit un public trs htrogne, plus rien ne nous chappe.
De plus, le framework offre une version CSS pr-compile base sur les langages LESS et
SASS. Cela permet de dynamiser et gnrer de manire automatique vos feuilles de style.
Nous ferons connaissance avec ces langages plus tard, au cours de notre dcouverte.

Lvolution dune version vers une autre, cest un peu comme refaire
lhistoire ?
Nous pouvons lgitimement nous poser cette question. Cest trs certainement un des commentaires qui pourraient revenir le plus souvent dans la bouche des dtracteurs du framework. Ils nont pas tort. Le changement a toujours du bon , comme du moins bon .
Tout dpend de la faon dont nous analysons les choses.

Oui, cest handicapant


Il est clair que le passage dune version une autre nest pas la chose la plus simple raliser.
Dans un premier temps, cela nous oblige nous adapter, nous former. Mme si la prise en
main du framework est gnralement assez rapide avec de bonnes bases HTML et CSS, le
passage de la version 2 la version 3 de Bootstrap a revu fondamentalement le systme de
grille. De nombreuses appellations de classes CSS ont chang, ce qui a tendance perturber
lutilisateur durant quelques mois.
Cependant, lapprentissage reste une tape indispensable et en perptuelle volution, dautant
plus dans le monde de linformatique. Le travail dj ralis sous une version antrieure de
Bootstrap peut tre considr comme le vrai point noir . Si nous souhaitons basculer notre
code vers la nouvelle version, il doit suivre le nouveau systme de grille, remplacer des classes
CSS ou sadapter aux autres changements fondamentaux.

Introduction

Quand je parle de travail dj accompli , je pense surtout de grandes, voire trs grandes
entreprises qui grent leur projets internes avec Bootstrap et mme pour certains leur front
office. Mme si, dans la majorit des cas, les dveloppeurs intgrent leur propre sur-couche
stylistique, les fondations HTML se basent sur une version antrieure dornavant non prise
en compte par les mises jour du framework. Lorsque le changement est radical comme
entre V2 et V3, le travail de radaptation du code peut savrer rapidement titanesque.
Si vous tes dans ce cas aujourdhui, Bootstrap ne nous oublie pas pour autant. La firme amricaine propose une page spcialise Migrating to v3.x, qui rpertorie le moindre changement
pour faciliter le passage la version suprieure.

Non, il ny a rien dhandicapant


En effet, passer la version suprieure signifie bnficier des dernires technologies du framework et du travail de toute une communaut. Comment sen passer ? De plus, les changements radicaux de la version 2 la version 3 se justifient totalement. Il est naturel, dans un
premier temps, de se sentir perdu ; cependant, pour la bonne cause, Bootstrap nous remet
dans le droit chemin et permet danticiper lavenir du Web avec les nouvelles composantes
telles que le Mobile first ou les langages LESS et SASS.
Avancer vers la nouveaut est toujours synonyme de volont damlioration du code en respectant la lettre les bases des langages utiliss comme la version 5 de HTML ou la version 3
de CSS.
Pour terminer cette prsentation, je vous invite vous rendre sur le site Internet officiel,
longlet About, qui vous permettra de faire plus ample connaissance avec lquipe, son histoire
et lorientation choisie pour la marque Bootstrap.

Quest-ce quun framework ?


Le terme framework, issu de la langue anglaise, signifie littralement structure . Dans le
Web, un framework est en effet un ensemble de composants organiss de manire proposer
un service technique complet lutilisateur. En dautres termes, un framework est une collection doutils techniques (HTML, CSS, JavaScript, etc.) simplifiant lorganisation ou la ralisation dun projet web.
Il existe des centaines de frameworks destins aux langages de programmation web comme
PHP. Ces derniers sadressent trs souvent un public averti et cibl.
Bootstrap est un framework CSS. Cest par la suite que ce dernier a volu vers des composants HTML et JavaScript qui permettent aujourdhui doffrir un service complet rpondant
parfaitement aux attentes du Web et de ceux qui le font voluer. Depuis larrive de Bootstrap
en tant que service open source, de nouvelles possibilits soffrent au plus grand nombre
dentre nous. Nimporte quel individu est capable de raliser sans effort particulier son projet
web, qui demande pourtant en amont de nombreuses connaissances techniques.

Bootstrap 3 : le framework 100 % web design

La rvolution est en marche


Aujourdhui, dans le monde des entrepreneurs, il y a deux types de structures : les entreprises
classiques (TPE, PME, PMI ou autres) et les start-up. Ces dernires se structurent de manire
avoir un rendement de croissance fortement acclr. Cette structure colle parfaitement limage
du framework Bootstrap. En effet, ce dernier est pens et structur de manire gagner du temps
dans lexcution de projets informatiques. Il nest donc pas tonnant que ses inventeurs travaillent
dans lune des plus grosses start-up mondiales. Il ny a rien de surprenant non plus lorsque lon
entend parler Mlanie Archer, de la multinationale centenaire General Electric (pourtant loin
dune structure start-up), expliquer lutilisation en interne du framework.
Bootstrap peut facilement tre compar une grande enseigne multinationale sudoise, qui
vend des meubles prfabriqus assembler soi-mme. Tout le monde a un produit de ce
magasin chez soi et pourtant, nous ne sommes pas tous bricoleurs professionnels.
Comment expliquons-nous cela ? Cest trs simple : nous suivons la lettre le mode demploi
avec un contenu tudi pour un assemblage facile et rapide. Il suffit de savoir utiliser un marteau, un tournevis et de mettre un peu dhuile de coude. Si lon transpose cet exemple
Bootstrap, tout devient plus clair.
Ce framework est accessible tous, et de manire extrmement rapide. En effet, quelques
journes nous suffiront condition davoir un minimum de connaissances en langages
HTML et CSS. Nous suivrons alors les rgles dintgration de Bootstrap la lettre pour
assembler pas pas notre site Internet sans superflu et de manire directe.
Pour utiliser une seconde analogie, nous pouvons nous amuser comparer Bootstrap avec de
la ptisserie. Les professionnels aiment gnralement se dmarquer de la cuisine en insistant
sur la rigueur que demande ce mtier. Encore une fois, nous devons suivre la recette au
gramme prs, sans quoi le rsultat ne sera pas celui escompt. Mme si certains rats de la
ptisserie nous ont offert des saveurs inattendues, avec Bootstrap comme avec nimporte quel
framework, les sorties de route ne sont pas autorises.
Certes, on vient de dire que lapprentissage est rapide et la port de tous. Toutefois, comme
en cuisine, avec un peu de bonne volont et denvie, on arrive de grandes choses.
premire vue, les avantages de Bootstrap sont les suivants :
dun point de vue technique :
le Responsive design avec Mobile first ;
un code HTML 5 et CSS 3 riche et propre ;
une bibliothque totalement open source ;
une architecture base sur LESS et SASS ;
Normalize.css ;

Introduction

et plus gnralement :
une prise en main rapide ;
un langage rgi par des rgles universelles ;
un code en constante volution ;
une communaut importante.
Les inconvnients de Bootstrap sont les suivants :
dun point de vue technique :
des bases en HTML et CSS indispensables ;
lgrement plus lourd que la moyenne des autres frameworks ;
un style graphique CSS impersonnel ;
et plus gnralement :
il faut suivre lvolution du framework ;
il faut dabord perdre du temps pour en gagner aprs ;
il existe dautres frameworks CSS, comme Foundation ;
la documentation est en anglais (mme si des traductions sont disponibles) ;
il faut suivre des rgles, ce qui est contraignant.
Nous venons de dcouvrir ensemble ce quest un framework, ce que reprsente Bootstrap,
qui et de quelle manire ce dernier sadresse. Il est vident que Bootstrap est un outil trs
intressant utiliser dans un projet web pour de nombreuses raisons, comme le fait quil soit
pens Mobile first, quil soit bas sur LESS et SASS, et facile prendre en main. Pour
rsumer, il nest pas ncessaire daller plus loin que la premire page du site Internet officiel de
Bootstrap. On peut y lire cet enchanement de phrases qui parlent delles-mmes :
Designed for everyone, everywhere. Bootstrap makes front-end web development faster
and easier. Its made for folks of all skill levels, devices of all shapes, and projects of all sizes.
Conu pour tout le monde, nimporte o. Bootstrap rend le dveloppement web plus facile
et rapide. Il est pens pour les personnes de tous niveaux, pour tous les types dcrans et pour
les projets de toutes tailles.
B http://www.getbootstrap.com

Bootstrap 3 : le framework 100 % web design

La communaut Bootstrap
Si vous souhaitez vous documenter ou bien suivre de plus prs lvolution du framework, rendez-vous sur lun des liens suivants :
le blog officiel de Bootstrap (http://blog.getbootstrap.com), qui indique les dernires
nouveauts et orientations ;
laide au sein de la communaut sur StackOverflow, en utilisant le mot-cl twitterbootstrap-3 ;
dautres sites Internet raliss sur le framework, dans lexposition Bootstrap ;
le compte Twitter de Bootstrap.

Figure 01 Site Internet Bootstrap Expo (http://expo.getbootstrap.com)

PREMIRE PARTIE

Premiers pas
avec
Bootstrap
Dans cette premire partie, nous dcouvrirons ensemble ce quest
Bootstrap, son histoire, ses forces et faiblesses, ainsi que la mise en
route et lapprentissage des bases du framework.

1
Installer Bootstrap
Tlcharger Bootstrap
Il ny a rien de compliqu dans linstallation de Bootstrap. La premire chose faire est bien
videmment de nous rendre sur le site officiel du framework. Une fois que nous sommes sur
la page de dmarrage du site, trois options de tlchargement soffrent nous.
La premire option de tlchargement inclut une version compile et minimise de
Bootstrap. Comprenons par l que ce fichier est une version allge qui ira au plus grand
nombre de projets, proposant les fichiers principaux ncessaires au bon fonctionnement
du framework.
La deuxime option propose, linverse, une version complte comprenant les lments
de base ncessaires lutilisation de LESS CSS, ou la documentation de Bootstrap.
Enfin, la troisime et dernire option est un portage de Bootstrap vers SASS simplifiant
lintgration de projets dans Rails, Compass ou ceux bass uniquement sur SASS. Cette
dernire option est peu utilise par les web designers et intgrateurs front-end, qui prfrent choisir entre les deux prcdentes.
Pour finaliser cette premire phase de contact avec Bootstrap, il est recommand de tlcharger le dossier compil de la premire option.

10

Premiers pas avec Bootstrap


PREMIRE PARTIE
Site officiel de Bootstrap
B http://www.getbootstrap.com

Figure 11 Page de dmarrage sur le guide officiel Bootstrap

Petit tour du propritaire


Maintenant que nous avons tlcharg Bootstrap, examinons sa structure. Dans un premier
temps, nous pouvons observer que le framework se rsume trs peu de fichiers (seulement
dix dans sa version compile). Le dossier est spar en trois sous-parties classiques :
css (les fichiers de styles) ;
js (les fichiers JavaScript) ;
fonts (les icnes proposes par Bootstrap, que nous retrouverons un peu plus tard dans
notre apprentissage).

Installer Bootstrap
CHAPITRE 1

Format compil de Bootstrap


bootstrap
css
bootstrap.css
bootstrap.min.css
bootstrap-theme.css
bootstrap-theme.min.css
js
bootstrap.js
bootstrap.min.js
fonts
glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff

lintrieur du dossier css, nous trouvons le fichier bootstrap.css qui est la version CSS et
JavaScript compile, ainsi que le fichier bootstrap.min.css qui, en plus, est minimis. Nous
trouvons galement le fichier bootstrap-theme dans les deux versions ; il sert appliquer le
style graphique de la version Bootstrap 2 dans un style moins plat.
Exemple du style bootstrap-theme
B http://getbootstrap.com/examples/theme

Dans le dossier js sont places les deux versions (compile et minimise) du fichier JavaScript
de Bootstrap.
Enfin, dans le dossier fonts, il ne sagit pas des polices de caractres, mais des icnes proposes par Bootstrap et quon appelle Glyphicons . Bootstrap mentionne sur son site quelles
ne sont normalement pas gratuites mais que leur crateur les a gnreusement rendues disponibles pour le framework.
Se procurer les Glyphicons
B http://glyphicons.com

Lors de la cration, nous pouvons utiliser le fichier compil source tout comme le compil
et minimis. Cependant, lors de la mise en production, je recommande fortement dutiliser la
version compile et minimise pour des raisons de rapidit.

11

12

Premiers pas avec Bootstrap


PREMIRE PARTIE

Format source de Bootstrap


bootstrap
less
js
fonts
dist
css
js
fonts
docs
examples

Dans le format source de Bootstrap, il existe plusieurs dossiers absents du format compil. Le
fichier less fait son apparition, comprenant tous les fichiers sources CSS de Bootstrap. Dans
le fichier dist (qui signifie distant ), nous retrouvons les fichiers compils et minimiss de
notre premire option de tlchargement. Enfin, le dossier docs inclut la documentation
Bootstrap.

2
Le doctype
Prsentation
Le doctype reprsente le code dun document HTML type pour dbuter avec Bootstrap. Il
prend ainsi en charge les principaux fichiers nous permettant de commencer le dveloppement du projet.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
-->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>Hello, world!</h1>

14

Premiers pas avec Bootstrap


PREMIRE PARTIE
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/
jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed
-->
<script src="js/bootstrap.min.js"></script>
</body>
</html>

Bien entendu, Bootstrap nous propose un code HTML de version 5. Comprenons par l
quil invite intgrer notre projet de manire ce que le code respecte au plus prs les
rgles W3C.
Si nous souhaitons utiliser le doctype comme outil de dmarrage, copions le code prcdent
ou rendons-nous sur http://getbootstrap.com/getting-started/#template. Par la suite, ouvrons notre
diteur de texte prfr pour crer un nouveau fichier HTML en remplaant lintgralit du
code gnr par le doctype, et le tour est jou.
Noublions pas de sauvegarder le document HTML la source du dossier Bootstrap comme
nous le montre le schma suivant :
bootstrap
index.html
css
js
fonts

La balise <head>
Intressons-nous maintenant, balise aprs balise, aux modifications apportes par Bootstrap.
Attention, il est important de garder la structure du dossier intacte pour que le doctype et les
fichiers lis lintrieur soient correctement reconnus.

Les balises <meta>


<meta http-equiv="X-UA-Compatible" content="IE=edge">

Cette premire balise interdit au navigateur Internet Explorer le mode de compatibilit . En


dautres termes, elle interdit IE dappliquer ses propres standards, qui ne sont optimiss que
pour ce navigateur. Sinon, cela risque fortement dendommager la lecture de votre site web.
<meta name="viewport" content="width=device-width, initial-scale=1">

Le doctype
CHAPITRE 2

La meta viewport a t conue par Apple pour afficher confortablement un site Internet sur les
appareils mobiles. Cela applique sur tablette ou mobile un ratio similaire celui de votre
cran dordinateur, en prenant en compte 100 % de lespace disponible.
Le scale est le niveau de zoom initialement prvu pour la lecture mobile. Dans lexemple
prcdent, Bootstrap utilise un scale de 1, cest--dire quil napplique aucun zoom. Vous
pouvez aller plus loin dans les rglages de cette meta, par exemple en interdisant de zoomer.

Figure 21 Nous pouvons voir sur le site leboncoin.fr lapparence mobile ( gauche)
et site Internet classique ( droite).

Pour affiner laccessibilit mobile, nous aborderons plus tard les media queries et la grille
Bootstrap, qui permettent dadapter votre site Internet diffremment. Cependant, avec cette
meta viewport, mme sans toucher aux media queries, votre site web est affich de la mme
manire partout.

Le CSS
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel=" stylesheet">

Cette ligne de code sert lier la feuille de style CSS bootstrap.min.css notre document
HTML. La source indique quelle se trouve bien dans le dossier css.

15

16

Premiers pas avec Bootstrap


PREMIRE PARTIE

Respond.js
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries ->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->

Ces lignes permettent aux navigateurs ne prenant pas en charge le HTML 5 et les media
de le faire. Cela concerne surtout le navigateur Internet Explorer 8.

queries

Pour cela, nous utilisons Respond.js cr par Scott Jehl en 2011 et disponible sous licence
MIT sur Github.
Respond.js
B https://github.com/scottjehl/Respond

Le JavaScript
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></
script>

Au niveau du JavaScript, nous pouvons avoir deux points de vue diffrents.


Dans le doctype, Bootstrap nous invite utiliser la bibliothque jQuery en ligne. Entendons
par l quil nous suggre directement la dernire version du plug-in. Concrtement, cela ne
demande pas de mettre jour la version jQuery utilise dans le futur.
Toutefois, il nest pas forcment recommand dutiliser cette option. jQuery est de ce fait sollicit distance et non de manire locale dans notre dossier Bootstrap. Cest donc automatiquement plus lent. Si nous dsirons remplacer la source jQuery en ligne par une source locale,
il nous suffit de suivre le lien indiqu dans le doctype. Enregistrons alors le fichier directement
via le navigateur au sein du dossier js de Bootstrap, puis lions-le la place de celui du
doctype ; sauvegardons et le tour est jou.
Attention
Il est important de bien lier le fichier jQuery avant celui de Bootstrap. Le ficher JavaScript de Bootstrap,
compos des diffrents plug-ins, tels que Carrousel ou Collapse, ncessitent la bibliothque jQuery pour
fonctionner.

Le doctype
CHAPITRE 2

Nous devrions obtenir quelque chose comme cela :


<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="js/jquery.min.js"></script>

De ce fait, la ligne du bas nest plus prsenter. Elle nous confirme que le fichier
bootstrap.min.js est bien li au document HTML.
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>

17

Das könnte Ihnen auch gefallen