Files
doc-fr/chapters/intro.xml
2021-08-18 12:27:07 +02:00

233 lines
9.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 2e8ef0a1bd98243cb2c6c5c627a195bb53a7a440 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<chapter xml:id="introduction" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<info><title>Introduction</title></info>
<section xml:id="intro-whatis">
<info><title>Qu'est ce que PHP?</title></info>
<para>
<acronym>PHP</acronym> (officiellement, ce sigle est un acronyme récursif pour
<literal>PHP Hypertext Preprocessor</literal>) est un langage de scripts généraliste
et Open Source, spécialement conçu pour le développement d'applications
web. Il peut être intégré facilement au HTML.
</para>
<para>
Bien... mais qu'est ce que cela veut dire ? Un exemple :
</para>
<para>
<example>
<info><title>Exemple d'introduction</title></info>
<programlisting role="php">
<![CDATA[
<!DOCTYPE html>
<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Bonjour, je suis un script PHP !";
?>
</body>
</html>
]]>
</programlisting>
</example>
</para>
<para>
Au lieu d'utiliser des tonnes de commandes afin d'afficher du HTML (comme en
C ou en Perl), les pages PHP contiennent des fragments HTML dont du code
qui fait "quelque chose" (dans ce cas, il va afficher
<literal>"Bonjour, je suis un script PHP !"</literal>).
Le code PHP est inclus entre
<link linkend="language.basic-syntax.phpmode">une balise de début
<code>&lt;?php</code> et une balise de fin <code>?&gt;</code></link>
qui permettent au serveur web de passer en mode PHP.
</para>
<para>
Ce qui distingue PHP des langages de script comme le Javascript,
est que le code est exécuté sur le serveur, générant ainsi le HTML, qui
sera ensuite envoyé au client. Le client ne reçoit que le
résultat du script, sans aucun moyen d'avoir accès au code
qui a produit ce résultat. Vous pouvez configurer votre serveur
web afin qu'il analyse tous vos fichiers HTML comme des fichiers PHP.
Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites
dynamiquement des pages statiques.
</para>
<para>
Le grand avantage de PHP est qu'il est extrêmement simple pour les
néophytes, mais offre des fonctionnalités avancées pour les
experts. Ne craignez pas de lire la longue liste de fonctionnalités
PHP. Vous pouvez vous plonger dans le code, et en quelques
instants, écrire des scripts simples.
</para>
<para>
Bien que le développement de PHP soit orienté vers la programmation
pour les sites web, vous pouvez en faire bien d'autres usages.
Lisez donc la section <link linkend="intro-whatcando">Que peut faire PHP ?</link>
ou bien le <link linkend="tutorial">tutoriel d'introduction</link> si vous êtes
uniquement intéressé dans la programmation web.
</para>
</section>
<section xml:id="intro-whatcando">
<title>Que peut faire PHP ?</title>
<para>
Tout. PHP est principalement conçu pour servir de
langage de script coté serveur, ce qui fait qu'il est capable
de réaliser tout ce qu'un script CGI quelconque peut faire, comme
collecter des données de formulaire, générer du contenu dynamique,
ou gérer des cookies. Mais PHP peut en faire bien plus.
</para>
<para>
Il y a trois domaines différents où PHP peut s'illustrer.
<itemizedlist>
<listitem>
<simpara>
Langage de script côté serveur. C'est l'utilisation la plus
traditionnelle, et aussi le principal objet de PHP.
Vous aurez besoin de trois composants pour l'exploiter :
un analyseur PHP (CGI ou module serveur), un serveur
web et un navigateur web. Vous devez exécuter le serveur
web en corrélation avec PHP. Vous pouvez accéder
au programme PHP avec l'aide du navigateur web. Tout ceci
peut fonctionner sur votre propre machine si vous souhaitez
juste expérimenter la programmation PHP. Voyez
la section <link linkend="install">d'installation</link>
pour plus d'informations.
</simpara>
</listitem>
<listitem>
<simpara>
Langage de programmation en ligne de commande. Vous pouvez
écrire des scripts PHP et l'exécuter en ligne de commande,
sans l'aide du serveur web et d'un navigateur. Il vous suffit
de disposer de l'exécutable PHP. Cette utilisation est idéale
pour les scripts qui sont exécutés régulièrement
(avec un <literal>cron</literal> sous Unix ou Linux), ou
un <literal>gestionnaire de tâches</literal> (sous Windows). Ces scripts
peuvent aussi être utilisés pour réaliser des opérations sur des
fichiers texte. Voyez la section sur l'utilisation de PHP en
<link linkend="features.commandline">ligne de commande</link>
pour plus d'informations.
</simpara>
</listitem>
<listitem>
<simpara>
Ecrire des applications clientes graphiques. PHP n'est probablement
pas le meilleur langage pour écrire des applications clientes
graphiques, mais si vous connaissez bien PHP et que
vous souhaitez exploiter des fonctionnalités avancées
dans vos applications clientes, vous pouvez utiliser
PHP-GTK pour écrire de tels programmes. Vous avez aussi la
possibilité d'écrire des applications très portables
avec ce langage. PHP-GTK est une extension de PHP, qui
n'est pas fournie dans la distribution de base. Si vous êtes
intéressé par PHP-GTK, visitez
<link xlink:href="&url.php.gtk;">son site web</link>.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
PHP est <link linkend="install">utilisable</link> sur la majorité des systèmes
d'exploitation, comme Linux, de nombreuses variantes Unix (incluant HP-UX,
Solaris et OpenBSD), Microsoft Windows, macOS, RISC OS et d'autres encore.
PHP supporte aussi la plupart des serveurs web actuels dont
Apache, IIS et bien d'autres. Et ceci inclut tous les serveurs web
qui peuvent utiliser le binaire PHP FastCGI, comme lighttpd
et nginx. PHP fonctionne sous forme de module, ou comme processeur CGI.
</para>
<para>
Avec PHP vous avez le choix de votre système d'exploitation et
de votre serveur web. De plus, vous avez aussi le choix d'utiliser
la programmation procédurale ou objet (OOP), ou encore un mélange des
deux.
</para>
<para>
Avec PHP, vous n'êtes pas limité à la production de code
HTML. Les capacités de PHP lui permettent de générer aussi
bien des images, des fichiers PDF, des animations Flash
(avec l'aide des bibliothèques libswf et Ming) à la
volée. Vous pouvez aussi générer facilement du texte, du code
XML ou XHTML. PHP génère tous ces fichiers et les sauve dans
le système de fichiers, ou bien les envoie directement au navigateur
web.
</para>
<para>
Une des forces les plus significatives de PHP est qu'il supporte
<link linkend="refs.database">énormément de bases de données</link>.
Écrire une page web faisant appel à une base de données devient
terriblement simple, en utilisant une des extensions spécifiques
aux bases de données (i.e., pour <link linkend="book.mysqli">mysql</link>),
ou utilisant une classe d'abstraction comme <link linkend="book.pdo">PDO</link>,
ou une connexion à n'importe quelle base de données supportant la connexion
standard ouvert via l'extension <link linkend="book.uodbc">ODBC</link>.
Les autres bases de données peuvent utiliser l'extension
<link linkend="book.curl">cURL</link> ou <link linkend="book.sockets">sockets</link>
comme CouchDB.
</para>
<para>
PHP supporte de nombreux protocoles comme
LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (sous Windows) et
encore d'autres. Vous pouvez ouvrir des sockets réseau,
et interagir avec n'importe quel autre protocole. PHP supporte
le format complexe WDDX, qui permet de communiquer entre tous
les langages web. En terme d'interconnexion, PHP supporte aussi
les objets Java, et les utilise de manière transparente
comme objets intégrés.
</para>
<para>
PHP possède des fonctionnalités utiles dans le
<link linkend="refs.basic.text">traitement de texte</link>,
incluant les expressions rationnelles compatibles Perl (<link linkend="book.pcre">PCRE</link>),
ainsi que bon nombre d'extensions et d'utilitaires pour
<link linkend="refs.xml">analyser et accéder aux documents XML</link>.
PHP standardise toutes les extensions XML sur la solide base de <link linkend="book.libxml">libxml2</link>,
et étend le jeu de fonctionnalités en ajoutant le support de
<link linkend="book.simplexml">SimpleXML</link>, <link linkend="book.xmlreader">XMLReader</link>
et <link linkend="book.xmlwriter">XMLWriter</link>.
</para>
<para>
Beaucoup d'autres extensions existent, catégorisées
<link linkend="extensions">alphabétiquement</link> et par <link linkend="funcref">catégorie</link>.
Et enfin, il existe des extensions PECL qui peuvent (ou pas) être documentées
dans le manuel PHP, comme <link xlink:href="&url.xdebug;">XDebug</link>.
</para>
<para>
Comme vous le voyez, cette page n'est pas assez grande pour lister
toutes les puissantes fonctionnalités de PHP. Lisez la section
sur <link linkend="install">l'installation de PHP</link>
et étudiez la <link linkend="funcref">liste de fonctions</link>
pour avoir plus de détails sur toutes ces technologies.
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->