WebApp
Développez votre application responsive avec jQuery, CSS et PHP
Editions ENI
Avant-propos
Chapitre 1
Principes d'une WebApp
1. Présentation11
1.1 Qu'est-ce qu'une WebApp ?11
1.2 Les avantages et les inconvénients13
1.3 Le responsive design14
2. Les bases14
2.1 Retour aux sources14
2.2 Une nouvelle étape16
2.3 De nouvelles possibilités18
3. Le développement d'une WebApp19
3.1 L'approche full stack19
3.2 Le découpage en couches21
3.3 Les traitements côté client et les traitements côté serveur22
3.4 Les frameworks et les librairies23
3.5 HTTP24
4. La structure de l'application25
4.1 L'arborescence des fichiers25
4.2 La structure monotithique27
4.3 Les sous-domaines28
4.4 La gestion des accès30
Chapitre 2
Les bases de l'application
1. La page d'accueil33
1.1 Un simple document HTML33
1.2 La définition du type de document35
1.3 Les balises meta35
1.4 La balise link37
1.5 Les CSS38
1.6 Les scripts38
1.7 Les codes d'échappement39
2. La communication client-serveur42
2.1 Les commandes HTTP42
2.2 Les cookies46
3. Le paramétrage du serveur47
3.1 Le fichier .htaccess47
3.2 Les sous-domaines50
Chapitre 3
L'importance du style
1. Une transition nécessaire51
1.1 Le HTML sans le style51
1.2 Création d'une feuille de style52
1.3 L'intégration des styles53
1.4 Le HTML avec les CSS55
2. Généralités sur les CSS60
2.1 Les unités60
2.2 Le modèle de boîte62
2.3 Les quatre côtés64
3. La généralisation du div68
3.1 Le placement68
3.2 Cibler un style71
3.3 Les identifiants72
3.4 Les classes72
4. Tout en div75
4.1 Transition en douceur75
4.2 Les pseudo-classes79
Chapitre 4
La structure du document
1. Le découpage en blocs81
1.1 Le bloc de données81
1.2 De multiples blocs83
1.3 Le positionnement des blocs85
2. Les autres tags de mise en page89
2.1 Le paragraphe89
2.2 Les en-têtes90
2.3 La zone de texte92
2.4 Les listes94
3. Les grilles d'affichage99
3.1 La controverse99
3.2 Les tables100
3.3 CSS flexbox104
3.4 La grille CSS108
3.5 La répartition des colonnes111
3.6 Le placement par ligne et colonne112
3.7 Le placement sur grille116
Chapitre 5
JavaScript orienté WebApp
1. Les variables119
1.1 Quelques précisions119
1.2 La déclaration implicite120
1.3 var121
1.4 let124
2. Les structures de données127
2.1 Les tableaux127
2.2 Les objets129
2.3 Combinaisons de tableaux et d'objets132
2.4 L'objet Map135
2.5 L'opérateur delete136
3. Les boucles for138
3.1 Le for et les tableaux138
3.2 for in140
3.3 for of142
3.4 forEach143
3.5 Fonction anonyme144
4. La gestion du temps146
4.1 Le parent pauvre146
4.2 Le formatage de la date147
Chapitre 6
Un éditeur de texte
1. Quelques outils155
1.1 Du textarea vers le contenteditable155
1.2 execCommand157
1.3 Les icônes160
1.4 La barre d'outils163
2. Le programme167
2.1 Les initialisations167
2.2 Les événements de la zone de texte170
2.3 Les événements de la barre d'outils171
2.4 L'éditeur en action174
Chapitre 7
De JavaScript à jQuery
1. Une transition nécessaire177
1.1 Un choix de raison177
1.2 Quelques bases178
1.3 La gestion des événements182
1.4 La manipulation des classes184
1.5 Les opérations groupées185
1.6 La manipulation du DOM189
2. Un sélecteur de couleurs194
2.1 Étude comparative194
2.2 Version JavaScript195
2.3 Version jQuery199
Chapitre 8
Le modèle objet de document
1. Le DOM203
1.1 L'arborescence203
1.2 Les éléments additionnels206
1.3 La hiérarchie des éléments208
2. La manipulation211
2.1 L'insertion211
2.2 La suppression et le remplacement215
2.3 Les opérations multiples216
3. Visibilité et positionnement219
3.1 Le choix de la visibilité219
3.2 Le positionnement220
3.3 La troisième dimension223
4. Un outil de test226
4.1 Les styles226
4.2 Le code HTML229
4.3 Le script232
4.4 Les boutons de contrôle233
4.5 Les boutons de positionnement234
4.6 Le déplacement du panneau236
4.7 Les tests237
Chapitre 9
Plus loin dans les styles
1. Les CSS approfondis239
1.1 Les polices additionnelles239
1.2 Les blocs arrondis242
1.3 Les filtres248
1.4 Un générateur automatique d'effets250
1.5 Les transformations254
1.6 Le point de référence257
1.7 Créer un titre259
2. Les animations264
2.1 La roue qui tourne264
2.2 Quelques variations268
2.3 Des points qui tournent269
3. Un menu horizontal272
3.1 Les styles272
3.2 Le menu275
3.3 La fonction principale277
Chapitre 10
Le taquin
1. Un petit jeu281
1.1 Présentation281
1.2 La feuille de style283
2. Le script285
2.1 L'initialisation285
2.2 Les événements289
2.3 La fonction principale292
Chapitre 11
Les formulaires
1. Une application interactive297
1.1 Les formulaires HTML297
1.2 Les éléments input298
1.3 Les champs select302
1.4 Les zones de texte304
1.5 Les attributs306
2. L'utilisation309
2.1 L'accès aux éléments input309
2.2 L'accès aux cases et aux boutons310
2.3 L'affichage311
2.4 Les formulaires jQueryUI312
2.5 L'envoi de fichiers313
3. La validation des formulaires318
3.1 Pour l'ergonomie et pour la sécurité318
3.2 Des contrôles simples319
3.3 Les expressions rationnelles, ou régulières322
3.4 Les autres contrôles324
3.5 Le contrôle par le service web327
Chapitre 12
Le service web
1. Les formats de données329
1.1 Présentation329
1.2 XML330
1.3 JSON331
1.4 La conversion332
2. La communication client-serveur334
2.1 AJAX334
2.2 jQuery336
2.3 Le service web337
3. Les services web publics338
3.1 Un lecteur d'actualités338
3.2 Les deux fonctions342
3.3 Le service web PHP346
Chapitre 13
Le serveur web
1. Le côté serveur349
1.1 Les choix349
1.2 La base de données351
1.3 Le code PHP353
1.4 Les bases du SQL356
1.5 Retour au webservice358
2. Le côté client362
2.1 Un formulaire362
2.2 L'écriture en base364
Chapitre 14
Des formulaires interactifs
1. Une classe dédiée369
1.1 La création369
1.2 La méthode get371
1.3 La méthode set373
1.4 Une mise en oeuvre374
2. Un générateur de titre377
2.1 Un outil utile377
2.2 Les styles378
2.3 Le formulaire381
2.4 La police d'écriture382
2.5 Ombrage et déformation383
2.6 La couleur de fond385
2.7 La mise en forme386
2.8 Le calcul des alignements388
2.9 Les transformations390
2.10 La couleur391
2.11 L'export du code392
Chapitre 15
Les données locales
1. Un stockage simple395
1.1 Le stockage local395
1.2 Les fonctions396
2. Une base de données locales398
2.1 indexedDB398
2.2 Le fonctionnement asynchrone401
2.3 Lecture des données402
2.4 Écriture et modification des données403
2.5 La classe404
3. Un panier d'achats407
3.1 Un exemple pratique407
3.2 Le code409
3.3 L'initialisation du programme411
3.4 L'affichage du panier412
3.5 Les gestionnaires d'événements414
3.6 Le calcul du total416
Chapitre 16
L'affichage adaptatif
1. La mise en page419
1.1 Le responsive design419
1.2 Les découpages réguliers420
1.3 Les découpages irréguliers421
1.4 Les découpages sur plusieurs niveaux423
1.5 Les pixels424
1.6 Les points de rupture425
2. Le retour du menu427
2.1 Une étape intermédiaire427
2.2 Des règles distinctes428
2.3 L'initialisation du menu429
2.4 Les gestionnaires d'événements431
2.5 Les derniers réglages434
3. La préparation de la mise en page435
3.1 Le découpage435
3.2 Les media queries437
3.3 La mise en page JavaScript440
3.4 L'impression440
4. La mise en page hiérarchisée441
4.1 Les styles441
4.2 Les règles média444
4.3 L'impression447
4.4 Le contenu448
4.5 La mise en page dynamique450
4.6 Le rendu final453
Chapitre 17
Une WebApp complète
1. La structure d'une WebApp457
1.1 Le code HTML457
1.2 La feuille de style460
1.3 Le code JavaScript462
2. Un exemple utile454
2.1 Création d'un compte utilisateur464
2.2 La première étape465
2.3 L'affichage en grille466
2.4 L'envoi du formulaire468
2.5 Envoi d'un mail de confirmation470
2.6 Le mot de passe477
2.7 Déconnexion481
2.8 Connexion482
2.9 L'affichage des erreurs485
3. La finalisation486
3.1 Contrôler la sélection de texte486
3.2 Éviter la fermeture de l'application486
3.3 La publication de l'application487
3.4 Installation489
3.5 Pour conclure491
Index
493