<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/getting-started.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'introduction.php',
    1 => 'Introduction',
    2 => 'Qu\'est-ce que PHP et que peut-il faire?',
  ),
  'up' => 
  array (
    0 => 'getting-started.php',
    1 => 'Au moment de commencer',
  ),
  'prev' => 
  array (
    0 => 'getting-started.php',
    1 => 'Au moment de commencer',
  ),
  'next' => 
  array (
    0 => 'tutorial.php',
    1 => 'Une introduction &agrave; PHP',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'chapters/intro.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="introduction" class="chapter">
 <div class="info">
  
  <h1 class="title">Qu&#039;est-ce que PHP et que peut-il faire?</h1>

 </div>
 <div id="intro-whatis" class="section">
  <div class="info"><h1 class="title">Qu&#039;est-ce que PHP ?</h1></div>
  <p class="para">
   <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> (officiellement, ce sigle est un acronyme récursif pour
   <em>PHP Hypertext Preprocessor</em>) est un langage de scripts généraliste
   et Open Source, spécialement conçu pour le développement d&#039;applications
   web. Il peut être intégré facilement au HTML.
  </p>
  <p class="para">
   Bien... mais qu&#039;est-ce que cela veut dire ? Un exemple :
  </p>
  <p class="para">
   <div class="example" id="example-1">
    <div class="info"><p><strong>Exemple #1 Exemple d&#039;introduction</strong></p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">&lt;!DOCTYPE html&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Exemple&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br /><br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"Bonjour, je suis un script PHP !"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<br /></span><br />&lt;/body&gt;<br />&lt;/html&gt;</span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Au lieu d&#039;utiliser des tonnes de commandes afin d&#039;afficher du HTML (comme en
   C ou en Perl), les pages PHP contiennent des fragments HTML dont du code
   qui fait <span class="replaceable">&quot;quelque chose&quot;</span> (dans ce cas, il va afficher 
   <span class="computeroutput">&quot;Bonjour, je suis un script PHP !&quot;</span>).
   Le code PHP est inclus entre
   <a href="language.basic-syntax.phpmode.php" class="link">une balise de début
   <code class="code">&lt;?php</code> et une balise de fin <code class="code">?&gt;</code></a> 
   qui permettent au serveur web de passer en <q class="quote">mode PHP</q>.
  </p>
  <p class="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&#039;avoir accès au code
   qui a produit ce résultat. Il est même possible de configurer le serveur
   web afin qu&#039;il analyse tous les fichiers HTML comme des fichiers PHP.
   Ainsi, il n&#039;y a aucun moyen pour les utilisateurs de savoir
   que PHP est utilisé.
  </p>
  <p class="para">
   Le grand avantage de PHP est qu&#039;il est extrêmement simple pour les
   néophytes, mais offre des fonctionnalités avancées pour les
   experts. Il ne faut pas se laisser effrayer par la longue liste de fonctionnalités
   PHP. Avec PHP, presque tout le monde peut commencer rapidement
   et écrire des scripts simples en un rien de temps.
  </p>
  <p class="para">
   Bien que le développement de PHP soit orienté vers la programmation
   pour les sites web, on peut faire bien plus avec PHP.
   Consulter la section <a href="introduction.php#intro-whatcando" class="link">Que peut faire PHP ?</a>
   ou bien le <a href="tutorial.php" class="link">tutoriel d&#039;introduction</a> pour passer directement
   à l&#039;apprentissage de la programmation web.
  </p>
 </div>
 
 <div id="intro-whatcando" class="section">
  <div class="info"><h1 class="title">Que peut faire PHP ?</h1></div>
  <p class="para">
   Tout. PHP est principalement conçu pour servir de
   langage de script côté serveur, il peut donc faire tout ce qu&#039;un autre programme CGI 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.
  </p>
  <p class="para">
   Il y a deux domaines différents où PHP peut s&#039;illustrer.
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Langage de script côté serveur. C&#039;est l&#039;utilisation la plus
      traditionnelle, et aussi le principal objet de PHP.
      Trois composants sont nécessaires pour l&#039;exploiter :
      un analyseur PHP (CGI ou module serveur), un serveur
      web et un navigateur web. Tout ceci
      peut fonctionner sur une machine locale juste pour expérimenter
      la programmation PHP. Voir la
      section <a href="install.php" class="link">d&#039;installation</a>
      pour plus d&#039;informations.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Langage de programmation en ligne de commande. Un script PHP peut être
      exécuté en ligne de commande,
      sans l&#039;aide du serveur web et d&#039;un navigateur. Il suffit
      de disposer de l&#039;exécutable PHP. Cette utilisation est idéale
      pour les scripts qui sont exécutés régulièrement 
      avec un <strong class="command">cron</strong> (sous Unix ou macOS) ou
      le Planificateur de tâches (sous Windows). Ces scripts
      peuvent aussi être utilisés pour réaliser des opérations sur des
      fichiers texte. Voir la section sur l&#039;utilisation de PHP en
      <a href="features.commandline.php" class="link">ligne de commande</a>
      pour plus d&#039;informations.
     </span>
    </li>
   </ul>
  </p>
  <p class="para">
   PHP est <a href="install.php" class="link">utilisable</a> sur la majorité des systèmes
   d&#039;exploitation, comme Linux, de nombreuses variantes Unix (incluant HP-UX,
   Solaris et OpenBSD), Microsoft Windows, macOS, RISC OS et d&#039;autres encore.
   PHP supporte aussi la plupart des serveurs web actuels dont
   Apache, IIS et bien d&#039;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.
   </p>
  <p class="para">
   Avec PHP, les développeurs ont le choix du système d&#039;exploitation et
   du serveur web. De plus, ils ont aussi le choix d&#039;utiliser
   la programmation procédurale ou objet (OOP), ou encore un mélange des
   deux.
  </p>
  <p class="para">
   PHP ne se limite pas à la production de code HTML. Ses capacités incluent
   la création de types de fichiers riches, tels que des images ou des fichiers PDF, le chiffrement de données
   et l&#039;envoi d&#039;e-mails. Il peut également facilement générer n&#039;importe quel texte, tel que JSON
   ou XML. PHP peut générer automatiquement ces fichiers et les enregistrer dans
   le système de fichiers au lieu de les imprimer, formant ainsi un cache côté serveur pour
   le contenu dynamique.
  </p>
  <p class="para">
   Une des forces les plus significatives de PHP est qu&#039;il supporte
   <a href="refs.database.php" class="link">énormément de bases de données</a>.
   É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 (c.-à-d. pour <a href="book.mysqli.php" class="link">mysql</a>),
   ou utilisant une classe d&#039;abstraction comme <a href="book.pdo.php" class="link">PDO</a>,
   ou une connexion à n&#039;importe quelle base de données supportant le standard
   Open Database Connection via l&#039;extension <a href="book.uodbc.php" class="link">ODBC</a>.
   Les autres bases de données peuvent utiliser l&#039;extension
   <a href="book.curl.php" class="link">cURL</a> ou <a href="book.sockets.php" class="link">sockets</a>
   comme CouchDB.
  </p>
  <p class="para">
   PHP supporte de nombreux protocoles comme
   LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (sous Windows) et
   encore d&#039;autres. Il peut aussi ouvrir des sockets réseau,
   et interagir avec n&#039;importe quel autre protocole. PHP supporte
   le format d&#039;échange de données complexes WDDX, permettant de communiquer entre
   pratiquement tous les langages de programmation web. En termes d&#039;interconnexion, PHP supporte aussi
   les objets Java, et les utilise de manière transparente
   comme objets intégrés.
  </p>
  <p class="para">
   PHP possède des fonctionnalités utiles dans le
   <a href="refs.basic.text.php" class="link">traitement de texte</a>,
   incluant les expressions régulières compatibles Perl (<a href="book.pcre.php" class="link">PCRE</a>),
   ainsi que bon nombre d&#039;extensions et d&#039;utilitaires pour
   <a href="refs.xml.php" class="link">analyser et accéder aux documents XML</a>.
   PHP standardise toutes les extensions XML sur la solide base de <a href="book.libxml.php" class="link">libxml2</a>,
   et étend le jeu de fonctionnalités en ajoutant le support de
   <a href="book.simplexml.php" class="link">SimpleXML</a>, <a href="book.xmlreader.php" class="link">XMLReader</a>
   et <a href="book.xmlwriter.php" class="link">XMLWriter</a>.
  </p>
  <p class="para">
   Beaucoup d&#039;autres extensions existent, catégorisées
   <a href="extensions.php" class="link">alphabétiquement</a> et par <a href="funcref.php" class="link">catégorie</a>.
   Et enfin, il existe des <a href="install.pecl.intro.php" class="link">extensions PECL</a> qui peuvent (ou pas) être documentées
   dans le manuel PHP, comme <a href="http://xdebug.org/" class="link external">&raquo;&nbsp;XDebug</a>.
  </p>
  <p class="para">
   Cette page ne suffit pas pour lister toutes les fonctionnalités
   et avantages que PHP peut offrir. Consulter la section
   sur <a href="install.php" class="link">l&#039;installation de PHP</a>
   et la <a href="funcref.php" class="link">référence des fonctions</a>
   pour des explications sur les extensions mentionnées ici.
  </p>
 </div>
 
</div>
<?php manual_footer($setup); ?>