Tải bản đầy đủ (.pdf) (50 trang)

MySQL et CSS- P1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 50 trang )

Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Copyright © 2009 Micro Application
20-22, rue des Petits-Hôtels
75010 PARIS
1
re
Edition - Mars 2009
Auteur Jean CARFANTAN
Toute représentation ou reproduction, intégrale ou partielle, faite sans le
consentement de MICRO APPLICATION est illicite (article L122-4 du code de
la propriété intellectuelle).
Cette représentation ou reproduction illicite, par quelque procédé que ce
soit, constituerait une contrefaçon sanctionnée par les articles L335-2 et sui-
vants du code de la propriété intellectuelle.
Le code de la propriété intellectuelle n’autorise aux termes de l’article
L122-5 que les reproductions strictement destinées à l’usage privé et non
destinées à l’utilisation collective d’une part, et d’autre part, que les analy-
ses et courtes citations dans un but d’exemple et d’illustration.
Avertissement
Les informations contenues dans cet ouvrage sont données à titre indicatif et
aux utilisateurs
n’ont aucun caractère exhaustif voire certain. A titre d’exemple non limitatif,
cet ouvrage peut vous proposer une ou plusieurs adresses de sites Web qui
ne seront plus d’actualité ou dont le contenu aura changé au moment où vous
en prendrez connaissance.
Aussi, ces informations ne sauraient engager la responsabilité de l’Editeur. La
société MICRO APPLICATION ne pourra être tenue responsable de toute omis-
sion, erreur ou lacune qui aurait pu se glisser dans ce produit ainsi que des
conséquences, quelles qu’elles soient, qui résulteraient des informations et
indications fournies ainsi que de leur utilisation.
Tous les produits cités dans cet ouvrage sont protégés, et les marques dépo-


sées par leurs titulaires de droits respectifs. Cet ouvrage n’est ni édité, ni pro-
duit par le(s) propriétaire(s) de(s) programme(s) sur le(s)quel(s) il porte et les
marques ne sont utilisées qu’à seule fin de désignation des produits en tant
que noms de ces derniers.
ISBN : 978-2-300-017599
Couverture réalisée par Emilie Greenberg
MICRO APPLICATION Support technique
20-22, rue des Petits-Hôtels Également disponible sur
75010 PARIS www.microapp.com
Tél.:0153342020
Fax:0153242000

Retrouvez des informations sur cet ouvrage !
Rendez-vous sur le site Internet de Micro Application
www.microapp.com. Dans le module de recherche,
sur la page d’accueil du site, entrez la référence
à 4 chiffres indiquée sur le présent livre.
Vous accédez directement à sa fiche produit.
1759
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Avant-propos
Cette collection fournit des connaissances essentielles sur un sujet donné
sans jamais s’éloigner de leur application pratique. Les volumes de la
collection sont basés sur une structure identique :
¶ Les puces introduisent une énumération ou des solutions alternatives.
1
.
La numération accompagne chaque étape d’une technique.
Il s’agit d’informations supplémentaires relatives au sujet
traité.

Met l’accent sur un point important, souvent d’ordre technique,
qu’il ne faut négliger à aucun prix.
Propose conseils et trucs pratiques.
Conventions typographiques
Afin de faciliter la compréhension des techniques décrites, nous avons
adopté les conventions typographiques suivantes :
¶ Gras :
menu, commande, boîte de dialogue, bouton, onglet.
¶ Italique : zone de texte, liste déroulante, case à cocher, bouton radio.
¶ Police bâton : touche, instruction, listing, texte à saisir.
¶ ✂ : indique un retour ligne volontaire dû aux contraintes de la mise en
page.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PHP & MySQL
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
1
Introduction ...................................................... 17
1.1. Naissance de ce langage ........................................ 18
1.2. Evolution du langage ............................................ 18
1.3. Intérêt de ce langage ............................................ 19
La liberté ........................................... 19
La portabilité ........................................ 20
La facilité ........................................... 21
Un peu d’histoire ..................................... 21
1.4. Fonctionnement . . ............................................... 22
1.5. Des chiffres. ..................................................... 23
2
Ma première page PHP ...................................... 25

2.1. HTML ............................................................ 26
2.2. Le cheminement d’un apprenti webmestre ..................... 27
2.3. Quelques notions de HTML ..................................... 28
Les images ......................................... 32
Les liens ........................................... 33
Les tableaux ........................................ 35
Les formulaires ...................................... 38
Les cadres ou frames ................................. 40
2.4. Les outils ........................................................ 43
Les logiciels d’édition de code PHP ....................... 43
EasyPHP .......................................... 45
Autres logiciels ...................................... 46
L’hébergement ...................................... 47
2.5. Ma page ......................................................... 48
Les commentaires .................................... 51
PHPinfo() .......................................... 51
3
Les clefs du PHP ............................................... 53
3.1. Variables scalaires ............................................... 54
Le nom de variable ................................... 54
Le type des variables ................................. 55
Les guillemets ...................................... 57
Les constantes ...................................... 60
Les tableaux ........................................ 63
3.2. Les opérateurs .................................................. 67
Les opérateurs arithmétiques ........................... 67
Les opérateurs d’affectation ............................ 67
Les opérateurs de bits ................................. 68
Les opérateurs de comparaison ......................... 68
Les opérateurs de contrôle d’erreur ....................... 70

Les opérateurs unaires ................................ 71
Les opérateurs logiques ............................... 72
Priorité des opérateurs ................................ 72
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Les opérateurs de chaîne de caractères ................... 73
3.3. Les structures de contrôle ...................................... 74
Les tests ........................................... 74
3.4. Les boucles ..................................................... 77
La boucle while ...................................... 78
La boucle do while ................................... 79
La boucle for ........................................ 80
Foreach ........................................... 82
Break et continue .................................... 84
3.5. Les fonctions de PHP ........................................... 85
Chaînes de caractères ................................ 86
Variables ........................................... 91
Date et heure ....................................... 91
Mathématiques ...................................... 95
3.6. Les fonctions .................................................... 97
Le rôle de la fonction .................................. 97
La portée d’une variable dans une fonction ................. 101
Les fonctions imbriquées ............................... 101
Les fonctions récursives ............................... 102
Afficher vos date et heure locales ........................ 103
3.7. Récapitulatif pour votre application . . ........................... 105
4
MySQL en action ............................................... 107
4.1. Le fichier face à la base de données ............................ 108
4.2. Conception de l’application du club . ........................... 108
4.3. Création d’une table ............................................. 109

4.4. Modification d’une table ........................................ 113
4.5. Les clés étrangères .............................................. 114
4.6. Les jointures de tables .......................................... 115
4.7. Les types de données MySQL ................................... 116
4.8. La sauvegarde de la base ....................................... 118
4.9. Les formulaires . . ................................................ 119
L’inscription au club ................................... 119
4.10. Les fonctions du langage PHP pour MySQL .................... 133
4.11. La vérification des formulaires .................................. 133
La vérification avec Javascript ........................... 134
Le code PHP ........................................ 141
Variables prédéfinies liées au chemin ou à l’URL ............ 145
4.12. Tout sur un seul fichier : oubli.php ............................... 146
La réflexion ......................................... 146
La plate-forme commune .............................. 147
Les variables comme marqueurs ......................... 147
4.13. Récapitulation de la syntaxe des requêtes ...................... 151
4.14. Les procédures stockées ....................................... 156
4.15. SQLite ........................................................... 156
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5
Le PHP et l’approche objet ................................. 159
5.1. Qu’est-ce que l’objet ? .......................................... 161
5.2. L’héritage ........................................................ 163
5.3. Surcharger une méthode . . ...................................... 165
5.4. Le polymorphisme . ............................................. 166
5.5. Passer un argument par référence .............................. 167
5.6. PHP 5 et l’objet .................................................. 168
Le pointeur ......................................... 168
Les privilèges ....................................... 168

Le constructeur et le destructeur ......................... 168
6
L’internaute est d’abord une personne ............... 171
6.1. L’authentification ................................................ 172
Le processus ....................................... 175
La première authentification ............................ 176
La vérification de l’identité de l’internaute .................. 178
Le cookie .......................................... 179
La conservation des données personnelles ................. 183
6.2. Le tableau de bord du membre .................................. 184
Modifier ou supprimer un profil .......................... 185
6.3. Le tableau de bord d’administration du site ..................... 190
L’accès restreint d’un répertoire avec .htaccess ............. 191
Le tableau de bord ................................... 192
6.4. Des aménagements dans l’application . . ....................... 198
6.5. En-têtes HTTP et variables globales ............................ 201
En-têtes HTTP ...................................... 201
Variables PHP ....................................... 204
Variable d’environnement .............................. 205
6.6. Récapitulation . . ................................................. 207
7
Des algorithmes, des outils et des fonctions ....... 209
7.1. Tableaux ......................................................... 210
Types d’extraction .................................... 212
Le pointeur ......................................... 213
Letri .............................................. 213
7.2. Calendriers, dates et autres agendas . . ......................... 218
Durée après une date ou avant une date ................... 218
Affichage d’un calendrier ............................... 219
Un agenda à jour ..................................... 223

7.3. Un miniforum sur chaque page .................................. 236
7.4. Sondages et concours . ......................................... 239
Un sondage ........................................ 240
Un concours ........................................ 247
Les fonctions concernant le système de fichiers ............. 249
7.5. Compteurs et statistiques . . ..................................... 254
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
La réflexion ......................................... 254
Créer le compteur quotidien ............................ 254
La page d’affichage des statistiques de page ............... 256
7.6. Le chariot électronique .......................................... 258
La promotion ........................................ 259
Les prix ............................................ 260
Les tables à créer .................................... 261
L’action "acheter un produit" ............................ 261
L’action "voir le contenu du chariot" ....................... 262
L’action "commander les articles" ........................ 263
7.7. Un magazine .................................................... 265
La réflexion ......................................... 266
Le formulaire pour entrer les images ...................... 267
7.8. Une galerie photo ............................................... 270
Les données EXIF .................................... 272
8
Moteurs de recherche et expressions rationnelles
. 275
8.1. Un annuaire de liens ............................................. 276
Analyse du besoin .................................... 276
Réflexions .......................................... 277
Élaboration des applications ............................ 279
Moteur de recherche .................................. 295

8.2. Les expressions rationnelles .................................... 301
La méthode ......................................... 301
POSIX ............................................. 302
Les fonctions compatibles Perl .......................... 307
8.3. Conclusion ...................................................... 319
9
Parsez-vous XML ? ........................................... 321
9.1. Un peu d’histoire... . ............................................. 322
9.2. Le fichier XML ................................................... 323
L’espace de nommage ................................ 323
Les éléments et les attributs ............................ 323
9.3. La DTD .......................................................... 326
Les différents types de déclarations ...................... 326
9.4. Le XSLT .......................................................... 328
L’espace de nommage ................................ 328
La feuille de style .................................... 329
Les modèles ........................................ 330
9.5. Le fichier PHP ................................................... 332
9.6. Magasin électronique en XML ................................... 332
La conception de la boutique ............................ 333
Création du fichier XML ................................ 333
Création d’un nouveau fichier CSV à partir d’un fichier XSLT .... 335
Le fichier XSLT de la boutique ........................... 336
Le fichier PHP de la boutique ........................... 339
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
9.7. SimpleXML ...................................................... 340
9.8. Conclusion ...................................................... 342
10
Les frameworks ou cadriciels PHP ..................... 345
10.1. Une méthodologie de travail . ................................... 347

10.2. L’architecture Modèle/Vue/Contrôleur .......................... 348
Modèle ............................................ 348
Vue ............................................... 348
Contrôleur .......................................... 349
10.3. Xataface, donnez un visage humain à votre base de données . . 349
L’architecture ....................................... 350
Les tables .......................................... 352
Application Déléguée dans le répertoire conf ............... 354
Conclusion ......................................... 354
10.4. CakePHP, c’est du gâteau ....................................... 355
10.5. JOOMLA, le meilleur gestionnaire de contenu . . . ............... 357
Drupal contre Joomla ................................. 360
10.6. Conclusion ...................................................... 361
11
Mettre de l’ordre ............................................... 363
11.1. Avant ............................................................ 365
11.2. Après ............................................................ 366
11.3. Le débogage .................................................... 366
11.4. Sachez anticiper ................................................. 369
12
La traversée de l’écran ...................................... 371
12.1. La communication sur le Web ................................... 373
L’humour ........................................... 374
Le soutien .......................................... 374
Les émoticônes ...................................... 375
La nétiquette ........................................ 375
La mise à jour régulière ................................ 376
La navigation ....................................... 376
Le référencement .................................... 377
12.2. Conclusion ...................................................... 377

13
PHP 6 en ligne de mire ...................................... 379
13.1. Unicode ......................................................... 380
13.2. Le paramètre Register Globals n’est plus disponible ........... 381
13.3. Les Magic Quotes sont retirées ................................. 382
13.4. Le Safe Mode n’existe plus ...................................... 382
13.5. Utiliser Freetype 2 et GD 2 ...................................... 383
13.6. Plus de HTTP_*_VARS ........................................... 383
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
13.7. Les extensions in et out ......................................... 383
13.8. Les ajouts ....................................................... 383
14
Annexe ............................................................. 387
14.1. PHP .............................................................. 388
PHP Hypertext Preprocessor ........................... 388
PHP Builder, the Resource for PHP developers .............. 389
PHP Index, la Passerelle française des technologies PHP ..... 389
Nexen ............................................. 390
PHP Facile ......................................... 391
ASP-PHP.NET ...................................... 391
PHP France ........................................ 392
PHP Heaven ........................................ 393
AFUP ............................................. 393
14.2. MySQL .......................................................... 395
MySQL ............................................ 395
Nexen ............................................. 396
14.3. Autres ........................................................... 396
Apache ............................................ 396
Easyphp ........................................... 397
14.4. Outils ............................................................ 398

Éditeurs ........................................... 398
FTP............................................... 400
Personnels ......................................... 401
14.5. Applications en PHP ............................................ 403
14.6. Les portails ...................................................... 405
Typo3 ............................................. 405
Spip .............................................. 405
14.7. Hébergement .................................................... 405
Gratuit ............................................. 405
Payant ............................................ 406
Noms de domaine .................................... 407
14.8. Référencement .................................................. 407
Référencement 2000 .................................. 407
14.9. HTML et Javascript . . . ........................................... 407
All HTML ........................................... 407
Le Journal du net .................................... 408
Comment ça marche .................................. 408
14.10.Les groupes de news ............................................ 408
Pour écrire à l’auteur de ce livre ......................... 408
15
Index ................................................................ 409
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Préface
Ce livre s’adresse à tous les publics. Que vous soyez débutant, webmestre
ou programmeur, vous tirerez profit de cet ouvrage en vous amusant. Si
vous avez l’intention de créer un site Internet mais que vous vous sentiez
démuni, incapable, dépassé, PHP & MySQL en ligne constitue le début
idéal de votre aventure. Les pages qui vont suivre sont issues de ma
pratique quotidienne d’analyste-programmeur et de webmestre. J’ai veillé
à parsemer ce livre d’astuces et d’exemples complets avec des explica-

tions claires et une évolution progressive.
Pour cette deuxième édition, nous abordons PHP 5, qui entame une vraie
révolution dans la manière d’appréhender le code et la grammaire. PHP 5
garde cependant une compatibilité ascendante qui garde opérationnelles
des fonctions obsolètes. Les points saillants de cette révolution sont le
renforcement de la programmation objet, l’arrivée d’une nouvelle base de
données SQLite et un vrai espace pour le XML.
Le langage PHP est un vrai continent, composé, pour la version 4, de plus
de 2 700 fonctions et de 80 extensions. Au cours de notre exploration,
vous apprendrez des méthodes et maîtriserez progressivement les outils
dans le but de créer un site interactif. Vous étudierez donc les principales
fonctions et notions du langage PHP. À travers des exemples, vous verrez
comment créer facilement vos applications. En douceur et sans vous
encombrer de notions superflues, vous assemblerez ces applications
simples pour réaliser une application "complexe".
Ce livre est fondé sur mon expérience. En 1994, j’étais vendeur de vidéo
numérique dans une grande surface informatique (Surcouf) ; c’est là que
j’ai découvert l’Internet. À cette époque, il existait peu de sites en
français. J’ai d’ailleurs réalisé mon premier site en anglais. Après avoir
enrichi ce site et arpenté longtemps l’Internet, j’ai voulu aller plus loin.
C’est là que j’ai découvert le langage Perl, sous la forme d’un script
capable de traiter des données de formulaire envoyées par e-mail. Par
simple curiosité, j’ai acheté un livre, puis deux… et j’ai été happé par la
programmation. Seul, j’ai donc réalisé des algorithmes de plus en plus
complexes et acquis des méthodes.
Double Poche PHP & MySQL • 13
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Après cinq ans de pratique, je suis entré en 1999 à l’IUT de Marne-la-
Vallée pour étudier d’autres méthodes de programmation et aborder Java
et le langage objet. À la sortie de l’université, mon diplôme en poche, j’ai

intégré Nexus Développement, où j’ai pratiqué le langage PHP à temps
complet pour le Web et expérimenté les bonnes (et mauvaises) méthodes
de programmation.
Pour restituer un savoir, il est nécessaire de l’expérimenter, c’est pourquoi
j’ai emprunté pour vous des chemins que je n’avais jamais foulés
auparavant. De ce fait, ce livre est utile pour des programmeurs chevronnés.
Au long de cet ouvrage, j’ai eu à cœur de rester accessible à tous. Quels
que soient votre âge et vos connaissances, vous pourrez programmer. La
complexité réside non pas dans le langage PHP — l’outil est simple —,
mais dans la conception de votre programme, dans son architecture et sa
richesse.
Un langage est fait pour la communication hommes/hommes, hommes/
machines et machines/machines. La plus grande compétence d’un
analyste-programmeur reste sa capacité à concevoir, à communiquer et à
adapter son outil. L’outil est au service d’une fonction. Les langages
deviennent trop souvent des chapelles de spécialistes, de savantes cons-
tructions mentales qui perdent de vue leur fonction et brillent uniquement
dans les yeux des experts. Périodiquement, des langages tombent dans
l’oubli parce qu’ils ont oublié la vie. L’informatique, comme le droit ou
la médecine, peut malheureusement devenir une affaire d’experts en
jargon. Ainsi, certains spécialistes sont à même de manipuler un client
pour le faire payer des prestations interminables. Le langage PHP est
différent.
J’aimerais que ce langage soit enseigné à l’école car les élèves peuvent
programmer facilement et obtenir des résultats immédiats, ce qui les
encourage à approfondir. Tout langage de programmation enseigne la
rigueur et la structure. La programmation informatique ouvre sur les
mathématiques, bien sûr, par la logique, mais aussi sur la grammaire et la
rédaction, par son souci de précision et la nécessité de communiquer
convenablement. Il est indispensable d’être compris par l’internaute sur

un site mais également par le collègue qui reprendra le programme
derrière vous.
Introduction
14 • Double Poche PHP & MySQL
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Je dédie ce livre à mon père, Maurice, qui a toujours encouragé mon goût
d’apprendre, et à mon filleul cambodgien, Touch Ra, qui un jour, je
l’espère, pourra lire cet ouvrage et s’amuser avec du code informatique,
s’il le souhaite.
Introduction
Double Poche PHP & MySQL • 15
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
1
Introduction
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PHP. Encore un sigle comme l’informatique les affectionne. On fait souvent
des plaisanteries sur leur signification. Pourtant, les inventeurs de langage,
ces forgerons de la syntaxe, possèdent aussi de l’humour, c’est pourquoi
fréquemment, surtout dans la communauté du Libre (ou Open Source), le
nom du langage est fondé sur une plaisanterie pour initiés (private joke).
Ainsi, comme Java signifie café en argot américain, il faut croire que la
cafetière a fourni le carburant aux créateurs de ce langage. PHP est d’abord
le sigle de Personal Home Page. Rasmus Lerdorf, son concepteur, s’est
souvenu des fonctions récursives et l’a baptisé (PHP Hypertext processor). Si
vous développez le sigle, vous générez une boucle infinie, crainte des
programmeurs. PHP signifie PHP Hypertext Processor Hypertext Processor
Hypertext Processor… C’est une fonction "Vache qui rit", suivant la logique
de cette boîte de fromage célèbre qui affiche une vache avec des boîtes
comme boucles d’oreille affichant une vache avec des boîtes… Justement,

les boucles sont les éléments qui caractérisent un langage de programmation.
Reportez-vous au chapitre intitulé Les clefs du PHP pour obtenir
plus de détails sur la fonction récursive et les boucles.
1.1
Naissance de ce langage
Le langage PHP est né en 1994 d’un programme en langage Perl écrit par
Rasmus Lerdorf pour analyser les visites de son CV en ligne. Il réécrit
l’application en langage C puis ouvre son programme à la communauté du
Libre. Ainsi, il pourra désormais compter sur l’aide de nombreux
développeurs. Son application PHP fusionne avec un moteur de traitement
de formulaires, FI, ce qui donne la version 2. Avec la version 3, les
fonctions deviennent nombreuses et la popularité grandit.
1.2
Evolution du langage
Le langage PHP a encore beaucoup évolué. Nous en sommes actuellement
à PHP 6. Les usagers ne sont pas obligés de prendre le train à chaque
avancée technique pour plusieurs raisons :
¶ De nombreux sites en production sont faits en PHP 3 ou PHP 4 et
fonctionnent très bien ;
1
Introduction
18 • Double Poche PHP & MySQL
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
¶ Les hébergeurs de sites proposent souvent une configuration PHP 4 ;
¶ Le langage objet demande un raisonnement plus élaboré.
Plusieurs raisons peuvent pousser à changer de version :
¶ Une plateforme ou framework passe à cette version et nous intéresse ;
¶ Par défi et goût d’apprendre de nouvelles syntaxes ou cadres de
travail .
Reportez-vous au chapitre intitulé Les frameworks ou cadriciels

PHP pour obtenir plus de détails sur le sujet.
1.3
Intérêt de ce langage
PHP est libre, portable et facile à comprendre. C’est un langage pour tous.
Ce n’est pas un langage ésotérique destiné uniquement aux profession-
nels, avec un jargon incompréhensible. Certains langages dits complexes
sont à la mode car leur complexité permet à des entreprises de passer
beaucoup de temps sur des applications cher payées. Le langage PHP est
suffisamment souple, robuste et rapide pour intéresser les professionnels
et sa richesse d’outils en fera, dans les années qui viennent, le langage
privilégié de toutes les entreprises.
La liberté
PHP est gratuit. Ainsi, la plupart des hébergeurs gratuits le proposent avec
la base de données MySQL, gratuite elle aussi. Libre signifie également
que toute personne peut l’enrichir, à condition d’en faire profiter tout le
monde gracieusement. À l’intérieur de la communauté du Libre, les
licences déclinent des droits d’auteur distincts. En effet, Libre ne signifie
pas que tout est permis ni que tout est gratuit.
Le langage PHP évolue constamment grâce à une communauté de 200
développeurs environ. La documentation est continuellement mise à jour et
des milliers de sites à travers le monde s’y consacrent en publiant des
articles, des forums, des astuces ou en proposant des applications gratuites.
Le langage PHP est porté par une vague de popularité qui ne cesse de croître.
Nous espérons à travers cet ouvrage participer modestement à son essor.
Intérêt de ce langage
Double Poche PHP & MySQL • 19
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
La communauté du logiciel libre (communauté
du Libre)
En 1969, les chercheurs ressentent le besoin de partager leurs

travaux. Ils créent donc un réseau de machines. Le système d’exploi-
tation Unix est inventé la même année. Il définit l’ordinateur comme un
nœud de communication. Ce système fonctionne sur tout type de
machine. Les deux inventions constituent les fondations d’Internet.
La coopération engendrée par ce réseau de chercheurs accélère le
rythme des découvertes et des inventions.
Vers la fin des années 70 se créent les grandes entreprises de logiciels.
Le droit sur le logiciel apparaît, posant que le logiciel appartient à celui
qui l’a créé. L’auteur (individu ou société) a le droit exclusif de le copier,
de le distribuer et de vendre une licence à un utilisateur. La licence
donne à l’utilisateur le droit d’installer le programme sur sa machine, de
l’exécuter et d’en faire une copie de sauvegarde.
Les éditeurs de logiciels dissimulent le code source pour empêcher
quiconque de se servir de leurs connaissances et d’en faire un produit
concurrent. Ainsi, une guerre des standards se déclenche avec, à la
clef, des profits extravagants. Dans cette course, seuls les plus gros
survivent, ce qui nuit à la concurrence et rend le marché dépendant de
certains produits.
Un chercheur qui partageait ses découvertes, Richard Stallman, s’aper-
çoit que ses connaissances sont utilisées par des entreprises qui
vendent leurs produits sans qu’il en reçoive un quelconque retour. Il
imagine alors la GPL (General Public License). Cette licence accorde à
l’utilisateur le droit de diffusion, d’utilisation et de modification. Une
clause supplémentaire donne l’obligation d’utiliser la même licence, que
le logiciel soit modifié ou non.
En 1991, le Finlandais Linus Thorvalds invente Linux, un système
d’exploitation libre et gratuit. Le combat actuel contre le brevet logiciel a
lieu dans ce contexte car son application signifierait, à terme, la mort du
Libre.
La portabilité

PHP peut être exécuté sur n’importe quelle machine. Les programmes que
vous créerez dans ce livre sont exécutables sur Unix, Linux, Windows ou
Macintosh. Cette caractéristique vous affranchit des décisions prises par
Microsoft ou Apple et sécurise l’avenir de votre application.
1
Introduction
20 • Double Poche PHP & MySQL
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×