Crypter un mot de passeUne page qui vous permettra de crypter le mot de passe que vous insérerez dans le fichier .htpasswd.. www.secuser.com/antivirus Un outil pour les URL interminables
Trang 1m Figure 14.19 : http://fetchsoftworks.com
m Figure 14.20 : http://alain.tauber.nom.fr
Trang 3Crypter un mot de passe
Une page qui vous permettra de crypter le mot de passe que vous insérerez
dans le fichier htpasswd.
www.euronet.nl/~arnow/htpasswd
Un antivirus gratuit
Un site exhaustif sur la sécurité qui propose un antivirus gratuit et efficace www.secuser.com/antivirus
Un outil pour les URL interminables
Ce site crée une URL courte qui renvoie à l’adresse longue que vous avez entrée Cela évite d’avoir une URL coupée dans un courriel, surtout quand vous avez de nombreuses variables à la suite comme dans une librairie en ligne.
Trang 514.6 Les portails
Typo3
Typo 3 est un CMS (pour Content Management System, système de gestion de contenu Ce système permet de gérer un site collectivement et simplement avec des possibilités de personnalisation de l’interface gra- phique.
www.typo3.fr
Spip
Une application très bien conçue avec des zones réservées Idéale pour créer un magazine en ligne contenant de nombreuses contributions www.spip.net/
14.7 Hébergement
Pour l’hébergement, vous avez le choix entre les hébergeurs gratuits avec
ou sans publicité et les sites payants qui vous garantissent plus de bande passante, donc un accès plus rapide avec votre propre nom de domaine Les sites gratuits se raréfient, absorbés par de grands groupes Vous pouvez aussi vous tourner vers votre fournisseur d’accès internet.
Gratuit ifrance
Un des survivants des hébergeurs gratuits L’offre comprend PHP4 et
MySQL Une bannière de publicité jaillit à chaque chargement de page.
www.ifrance.com/heberg/accueil/
Trang 6WebDynamit WebDynamit.net est une communauté de webmasters bénévoles qui offre
des services Web gratuits depuis mai 2002 Aujourd’hui, plus de 1600 sites sont hébergés sur leurs serveurs sanas publicité ! N’hésitez pas à les aider, ce n’est pas si courant.
Le moteur de recherche d’hébergeurs payants C’est un site ble pour celui qui cherche Vous pouvez rechercher parmi les hébergeurs qui proposent un serveur mutualisé (vous partagez votre serveur avec d’autres clients, en ayant votre nom de domaine) ou un serveur dédié (une machine pour vous), ou qui hébergent des machines (vous leur confiez votre propre serveur) Comparez les prix et les offres.
incontourna-www.abchebergement.com
Trang 7Ouvaton les amis
Un OVNI dans l’hébergement C’est une coopérative L’hébergement cỏte pour l’instant environ 12 Q/an pour une grande capacité.
Gandi gère les noms de domaines Leur foire aux questions (FAQ) est très complète pour que vous compreniez comment procéder avec un nom de domaine Leurs prix sont intéressants et l’interface vous aide à gérer tous vos noms de domaines.
Trang 8Le Journal du net
Le Journal du net dans sa partie pour les développeurs, évoque plusieurs langages dont le PHP Des astuces et des tuteuriels sont proposés http://developpeur.journaldunet.com/
Comment ça marche
Un site de vulgarisation sur l’informatique, les différents langages, la sécurité, le web, les bases de données, la législation, les réseaux, les systèmes d’exploitation… Excellent site avec des articles très clairs et un glossaire des termes informatiques.
Un site pour consulter tous ces newsgroups www.1001newsgroups.com
Pour écrire à l’auteur de ce livre
L’adresse courriel de l’auteur est livrePHP@carfantan.com et son site est http://jean.carfantan.com Toute suggestion ou remarque sera la bienvenue.
Trang 9Index
Trang 10!= ou !== 69
= 49, 69, 69, 82 == 69
=== 69
? 38, 184 # 181
# 308
& 68
* 115
- 303
/ 308
\n 60, 131 \r 60
\t 60
\$ 60, 302, 308 $DOCUMENT_ROOT 177
$PHP_AUTH_PW 173, 175 $PHP_AUTH_USER 173, 175 $PHP_SELF 146, 193 $REQUEST_URI 143
$SCRIPT_FILENAME 255
$SCRIPT_NAME 256
$_GET 383
$_POST 383
.htaccess 190-191 htpasswd 190-191 <br /> 329
<title> 319
A Abs() 265
Accolades 62
ADD 113
Addition 67
AddSlashes() 86
Adresses e-mail obsolètes 196
périmées 197
Affectation 67
AFUP 393
Agenda 223
Alert() 135, 139-140 Algorithme 77
ALTER 127
ALTER TABLE 113
AND 68, 72, 125, 153 Annuaire de liens 276, 377 APC 385
Apostrophe 57
Arbre de possibilités 366
Architecture 364
Archive 313
Array() 210
Array_count_values() 300
Array_diff() 211, 264 Array_flip() 300
Array_intersect() 211
Array_keys() 210
Array_merge() 210
Array_merge_recursive() 211
Array_pop() 211
Array_push() 211
Array_shift() 211
Array_slice() 211
Array_splice() 211
Array_unshift() 211
Array_values() 211
Array_walk() 211
Arrondi 265
Arsort() 214
AS 154-155 Asort() 214
Attributs 161, 324 Authentification 172
Autocomplétion 353
AUTO_INCREMENT 110
AVG() 152
B Barre oblique inversée 58
Base de données sauvegarder 118
Basename() 256
BETWEEN 153
BIGINT 117
Bissextiles 81
Bits 68
BLOB 116
Boolean 55
Booléens 56
Boucles 77
Trang 11Boutique 258, 333
Boutique électronique 332
Bouton radio 136, 233 Break 84, 229, 368 Brevet logiciel 20
C C++ 21
Caddie 332
Cadriciels 345
CakePHP 346, 355 Calendrier 219
Caractère 309
d’échappement 58
d’espace 309
de mot 309
de non mot 309
de nouvelle ligne 309
joker 316
non numérique 309
numérique 309
Cardinalité 305
Case à cocher 136
CDATA 326
Ceil() 243, 265 Cellules fusionner 35
CGI 201
Chaînes de caractères 57, 86 Champ Propriétés 137
caché 184
CHANGE 114
CHAR 116
Chariot électronique 258
Chiffrer.inc.php 195
Chmod 252
Chmod() 248, 251 Chop() 90
Classe 161
Clé étrangère 114
primaire 112
secondaire 112
Client 366
Club conception 108
CMS 405
Code hexadécimal 31
Commentaires 51
Commit 334
Communauté du Libre 18
Communication 373
Compact() 211
Compilateur 23
Compteurs 254
Concours 247
Conf.ini 351
Configuration 51
Connexion 119
Connexion.inc.php 120
Constantes 60
Constructeur 162, 168 Continue 85
Contrôle d’erreur 70
Contrôleur 347, 349 Cookie 179, 181 effacer 180
Copy() 249
Count() 100, 152, 155, 212, 339 Courriel 375
Courriel en HTML 193
CREATE 111, 152 Critères de nommage 54
CRUD 350
Cryptage 191, 195 CSS 329
CSV 335
D Date 88, 113, 117, 312 Date() 218
Dates 218
DATETIME 118
Date_nombre() 89, 307 Débogage 367
Décalage à droite ou à gauche 68
DECIMAL 116-117 Décrypter 195
Default 77, 112 Define() 60
DELETE 130, 152-153, 185 Delete() 249 Délimiteurs 315-316
Trang 12Demission.php 187, 196
Dirname() 256
DISTINCT 153, 282 Division 67
Do while 79
Document Object Model 134
Documentation MySQL 390
PHP 390
DOUBLE 117
Doublons 112
Dreamweaver 44, 369 Drupal 346, 360 DTD 322, 324, 326 E E-mail 130
format HTML 131
format texte 131
formater un courriel 35
Each 83
Each() 212
EasyPHP 45
Échappement 60, 124 Echo 58
Éditeurs PHP 398
Élaboration d’une application 365
Elements[] 137, 323 Else 75
Elseif 76
Emails_perimes 196
Émoticônes 375
Empty() 143
En-têtes d’un courriel en HTML 132
End() 213
Entiers 55
Envoi en nombre 192
Envoi() 138, 140 Ereg() 302
Eregi() 302
Eregi_replace() 303
Ereg_replace() 302
Erreur 70, 366 de requête SQL 369
Espace de nommage 323, 328, 385 Espace insécable 222
Exit 120, 368 Expat 324
Explode() 90
Expression rationnelle 301
rationnelles compatibles Perl 316
régulière 301
Extract() 212
F False 55-56 Fclose() 249
Feof() 249
Fetch 47, 400 Fgetcsv() 249
Fgets() 249
Fgetss() 249
Fibonacci 102
Fichier données 108
inclus 120
Fields.ini 352
File() 249
Fileatime() 251
Filectime() 251
Fileinfo 383
Filemtime 368
Filemtime() 251
Fileperms() 251
Filesize() 251
Filetype() 251
Filezilla 400
File_exists() 251
Float 55-56, 117 Floor() 243, 265 Focus() 139
Fonctions 85, 97 imbriquées 101
nombre 13
récursives 102
Fopen() 249
For 80
Force Brute 176
Foreach 82, 214, 262 FORM 134
Formulaire 83, 119, 121, 184-185 champ caché 148
checkbox 39
file 40
hidden 39
Trang 13image 40
INPUT 39
nom des champs 122
option 40
password 39
radio 39
select 40
sélection multiple 141
submit 39
text 39
textarea 40
wrap 40
Fpassthru() 250
Fputs() 250
Frameworks 345
Fread() 250
Freetype 383
Fscanf() 250, 253 Fseek() 250
Ftell() 250
Fwrite() 250
G GD 383
General Public License 20
Getc() 249
Get_html_translation_table() 300
Get_meta_tags() 298, 300 Glossaire 408
Google 377
Goto 384
GROUP BY 153
Groupes de news 408
Guillemets 50, 57 doubles 59
simples 57
H Header() 173
Hébergement 47, 405 Hébergeur 46, 192 Héritages 163
Hidden 150, 184 Histoire 21
HomeSite 44
HTML 26, 407 alink 35
cadres 40-41 commentaires 51
formulaire 38
images 32
liens 33
link 35
listes 31
noframes 42
NORESIZE 42
notions 28
page index 29
polices de caractères 30
SCROLLING 42
tableaux 35
titre de paragraphe 31
vlink 35
Htmlentities() 86
Htpasswd 403
HTTP 176, 201 en-tête 201
Https 182
HTTP_GET_VARS 383
HTTP_POST_VARS 383
Humour 374
I If 74
Ifsetor 384
Images balise 33
bordure 34
gif 32
jpeg 32
texte 33
transparence 32
Implode() 90
Include 123, 128, 143 Index 183
Indexation 112, 297 Injection SQL 382
Trang 14Inscription au club 119
Inscription_p1.php 177
INSERT 152
Instance 161
Int 55, 117 Integer 55
In_array() 212
Isset() 143
Is_dir() 251
Is_executable() 251
Is_file() 251
Is_linkinfo() 251
Is_readable() 251
Is_writeable() 251
J Java 21
Javascript 134, 407 confirm() 186
événements 137
fonction 186
fonctions 134, 138 length 135, 139 méthodes 136
objets 134
parseInt() 135
tableaux 135
variable globale 138
variables 134
Jointure 115
Jointure externe 197
Joomla 346
K Key() 212
Krsort() 214
Ksort() 214
L Langage bas niveau 23
C 23
haut niveau 23
naturel 21
objet 21
LAST_INSERT_ID() 281
Length 135
Lettres accentuées 305
Libre 19
Lien affichage 283
e-mail 34
fenêtre 34
TARGET 43
vérification 293
vers un paragraphe 34
LIKE 154-155 LIMIT 154
Limite de mot 309
de non mot 309
Linus Thorvalds 20
Linux 20
List 83
List() 212
Logiciel d’édition de code 43
FTP 46
libre 20
Luelists.ini 353
M Magazine 265
Magic Quotes 382
Magic_quotes_gpc 87
Magic_quotes_runtime 87
Mail() 130, 192, 366 Mailto 317
Mambots 359
Marqueurs 146-147 Match 330
Max() 265
MAX_FILE_SIZE 268
Mb_strtolower 381
Trang 15Mb_strtoupper 381
Mb_substr 381
Mb_substr_count 381
MEDIUMINT 117
Mémoire 156
Menu déroulant 114, 122, 136 Meta 377
Méthode GET 38
Méthodes 161
Méthologie 347
Min() 265
Mini-forum 236
Mkdir() 250
Mktime() 218
Modèle 265, 330, 347-348 Modèle/Vue/Contrôleur 346-347 Modéliser 162
Modificateur 315
Modification de l’email 199
Modulo 67, 81, 221 Mot de passe 176
Moteur de recherche 295, 377 Multiplication 67
MVC 347
MySQL 334
fonctions 151
histoire 108
Mysql_connect() 120, 133 Mysql_create_db() 133
Mysql_db_query() 124, 133 Mysql_fetch_array() 133
Mysql_fetch_array() 124
Mysql_insert_id() 264, 281 Mysql_num_rows() 133
Mysql_real_escape_string 382
N Name 122
Namespace 385
Nétiquette 375
Newsgroups 408
Next() 213
Nl2br() 90, 131 NO 68
Nombres à virgule flottante 56
pseudo-aléatoires 96
Nombre_date() 89, 306 Noms de domaines 407
homogénéité 111
Non avide 316
NOT 72, 153 NULL 56, 112 O Objet 161
OnBlur 137
OnChange 137
OnClick 137
OnFocus 137
OnLoad 199
OnSelect 137
OnSubmit 137-138 Open Source
18 Opérateurs chaîne de caractères 73
de bits 68
logiques 72
priorité 72
ternaire 69
unaires 71
OR 68, 72, 125, 153 ORDER BY 125, 154 Oubli.php 146, 151 Ouvrir_vasistas() 151
P Page d’accueil 41
Pagination 340
Paramètres 339
Password 127
PCDATA 326
Pear 393
Trang 16PECL 383
Perl 21, 307 Permissions 252
PHP balises 125
commentaires 51
communauté 19
extensions 13
fonctions MySQL 133
GTK 24
sigle 18
vérification des données d’un formulaire 141
PHP 6 379
PHP Coder 43
PHPinfo 51
Phpinfo() 87
PHPmyAdmin 116
PHPNuke 372
PHP_AUTH_PW 180
PHP_AUTH_USER 180
PI 95
Plone 348
Point d’interrogation 184
Pointeur 213
Polymorphisme 166
Portabilité 20
Pos() 213
PRE 59
Précédence 72
Preg 383
Preg_grep() 308
Preg_match() 298, 308 Preg_match_all() 308
Preg_replace() 281, 308 Preg_split() 308
Prev() 213
Privilèges 168
Prix 116
Procédures stockées 156
Propriétés 161
Prototype 161
Q Quote_smart 382
R Racine 334
RACINEWWW 177
RAND() 152
Range() 211
Readfile() 250
Readlink() 251
Référencement 377, 407 Référenceurs 377
Register Globals 381
Relationships.ini 352
Rename() 250
Requête 126
imbriquées 157
Reset 39
Reset() 213
Return 368
Rewind() 250
Richard Stallman 20
RLIKE 154
Robots.txt 294
Rollback 334
Round() 265
Rsort() 214
RSS 341
Ruby on Rails 355, 361 S Safe Mode 382
Screen.height 193
Screen.width 193
SELECT 115, 125, 152 Selected 123
SelectedIndex 136
Serveur Apache dédié 406
mutualisé 406
statistiques 23
Session_register() 149, 151, 183 Session_start() 183, 188 Setcookie() 182
Trang 17Setlocale() 94
SGML 322
Shuffle() 214
Signe d’échappement 57
SimpleXML 340
Size 127
Sizeof() 212
SMALLINT 117
Smarty 348
Sondage 240
Sort() 214
Soustraction 67
Soutien 374
SPIP 372
Split() 303
Sprintf() 253
SQL 151
SQL 2003 156
SQLite 156, 334 Sql_regcase() 303
Sscanf() 253
Stat() 251
Statistiques 254
Stats.inc.php 256
Strftime() 94
String 55, 57, 86 Stripslashes 382
StripSlashes() 86-87 Strip_tags() 86, 91 Strlen() 86-87 Strtolower() 91, 149 Strtoupper() 91
Structures de contrôle 74
Str_replace() 91, 100 SUBMIT 134
Substr() 86-87 Suivi.php 184
Sun 21
Surcharger 165
Switch 77
Syndication 341
Système de fichiers 249
de gestion de contenu 405
T Table création 109
transitoire 295
Tableau 63
à index numérique 63
colonnes 35
de bord (membre) 184
de hachage 63-64 multi-dimensionnels 384
multidimensionnels 63, 65 rangs 35
Tables d’adressage associatif 64
Templates 265, 330, 359 Test 76
Tests 74, 366 TEXT 116, 224 Textarea 233
Thatware 372
TIME 118
Time() 180
TIMESTAMP 113, 117, 218, 282 TINYINT 117
<title> 319
Touch() 251
Traitement_modif_profil.php 189
Tri associatif 215
simple 215
Trim() 86-87, 100 True 55, 57 Type 89, 307 U Uasort() 214
Ucfirst() 91
Ucwords() 91
Uksort() 214
Umask() 251-252 Unicode 380
UNIQUE 112
Unix 20
Unlink() 250
UPDATE 152, 185 URL 38
Urlencode() 38, 184 Usort() 214
Trang 18Value 127
VARCHAR 116
Variable 339
de session 149
dynamique 62
extrapolation 62
nom 54
prédéfinies 145
scalaires 54
transtypage 55
type 55
Vérification 128, 130 Verif_champs() 138-139 Verif_email () 139, 138 Votre_email.php 199
Vues 347
W WHERE 125, 153 While 78
Window 135
Window.close() 150
Window.open() 151
WWW 177
X Xataface 346, 348-349 XHTML 329
XML 322
XMLReader 383
XMLWriter 383
XOR 68, 72 XSLT 322, 328, 336 Xslt_errno() 336
Xslt_error() 336
Trang 19CSS
Trang 211.1 Évolution du HTML 431
1.2 Le tandem CSS et XHTML 432
1.3 Les navigateurs 432
1.4 Le concept de feuille de style 434
1.5 De la feuille de style à la feuille de style en cascade 434
En ligne 435
En-tête HTML 435
Fichier CSS 436
1.6 La notion de mise en page 436
Le lien hypertexte et son usage 438
L’harmonie des couleurs 439
La répartition des blocs 440
La lisibilité du texte 441
1.7 Les cascades de style 442
1.8 Le XHTML 444
1.9 La structure d’une page 445
Écrire pour le Web 445
Hiérarchisation de l’information 447
Communication plus simple entre les machines 448
1.10 Conclusion 449
2 La réflexion 451
2.1 Les types de sites 452
Les sites vitrine ou sites plaquette 452
Les sites catalogue 453
Les sites d’information 454
Les sites marchands 455
Les sites institutionnels 456
Les sites personnels 457
Les sites communautaires 458
Les sites intranet et les sites extranet 459
2.2 Quelques règles générales 459
2.3 Le site 459
2.4 Le public 460
2.5 La carte du site 462
2.6 Identifier le contenu sémantique 463
2.7 La navigation et la disposition des pages 464
2.8 Choisir les outils 464
TopStyle Pro 464
Master Styler 465
ColorZilla 466
Colourificator 466
EclipsePalette 467
Trang 222.11 Internet n’a rien inventé 485
3 Les règles de mise en page 487
Notation hexadécimale 505Notation par mot-clé 506Notation en pourcentage 507Notation décimale 508Notation en référence à l’interface de l’utilisateur 508Les couleurs et images d’arrière-plan 510
3.5 La pagination 512
Faciliter l’identification de la page 513Reporter les éléments de navigation 513Garder la cohérence 514
4 La réalisation du site 515
4.1 La page d’accueil 516 4.2 Le site 519 4.3 Le XHTML 520
La balise fermante 521L’imbrication des balises 523Les dénominations en minuscules 524Les propriétés définies 524
Le standard 525
4.4 Les CSS 526
Les sélecteurs 526Les sélecteurs de type 527
Le sélecteur universel 527Les sélecteurs descendants 528
Trang 23Les identifiants 530L’héritage 531Les sélecteurs d’enfant 532Les sélecteurs d’enfant adjacents 534Les sélecteurs d’attribut 534Les déclarations multiples 537
Le regroupement 537
4.5 L’habillage de la page 538 4.6 Relooker des formulaires 542
Soumettre un formulaire 542
Un peu de couleur sur un menu déroulant 545Les listes 546Les pseudo-classes 548Les pseudo-éléments 552Les filtres 555Selon le type de média 557Bidouillages et défaillances autour d’Internet Explorer 561
5.2 Atelier d’artiste 604 5.3 Un site fédérateur 606 5.4 Construction du site 616
Réflexions 617Types de boîtes 618Position des boîtes 619Une page à trois colonnes avec la position relative 626Une page à trois colonnes avec la position flottante 632
La construction du site Écoute S’il Pleut 636
6 Les règles d’accession à la propriété 653
6.1 Le doctype 656 6.2 La langue 657 6.3 Les titres 658 6.4 Les liens 658 6.5 Les éléments de formulaires 659 6.6 Les tableaux 661 6.7 Les listes 664 6.8 Les images 667
Trang 246.11 La navigation 669
Une navigation homogène 670Les touches d’accès 671
6.12 L’ordre de lecture 673 6.13 Les aides 674
La page d’aide 674Les aides invisibles de navigation 675
6.14 La page nue 676 6.15 Conclusion 676
7 Le ravalement de façade 677
7.1 Quand opérer une refonte d’un site ? 678 7.2 Où commencer ? 679 7.3 La question des tableaux 681 7.4 La refonte du site photo-de-classe.com 682
Le modèle objet de document (DOM) et AJAX 755
9.2 Le PHP 769
Ma page 770Les variables scalaires 773Créer un aiguillage de feuilles de style 776
9.3 Le XML 777
Qu’est-ce que le XML ? 778
Trang 2511 Index 797