1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/reference/phar/book.xml
2026-03-10 19:04:42 +01:00

190 lines
8.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 562a216c8108885a492cbfb66e2d5734847fa19d Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<book xml:id="book.phar" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="bundled" ?>
<title>Phar</title>
<!-- {{{ preface -->
<preface xml:id="intro.phar">
&reftitle.intro;
<para>
L'extension phar fournit un moyen de mettre une application PHP complète dans un fichier unique
appelé un "phar" (PHP Archive) pour une installation et une configuration aisées.
En plus de ce service, l'extension fournit aussi une classe d'abstraction de format de fichier
pour créer et manipuler des fichiers tar et zip à travers la classe
<classname>PharData</classname>, tout comme
PDO fournit une interface unifiée pour accéder à des bases de données différentes. Mais à l'inverse de PDO,
qui ne peut pas transposer les données d'une base à l'autre, Phar a la possibilité de convertir des fichiers tar,
zip et phar avec une simple ligne de code. Regardez
<function>Phar::convertToExecutable</function> pour avoir un exemple.
</para>
<para>
Qu'est-ce que phar? Les archives phar sont en fait un moyen pratique de grouper
plusieurs fichiers en un seul. Ainsi, une archive phar permet de distribuer une
application PHP complète dans un fichier unique et de l'exécuter à partir de ce fichier
sans pour autant l'extraire sur le disque. De plus, des archives phar peuvent être exécutées
par PHP aussi facilement que n'importe quel autre fichier, aussi bien en ligne de commande que via
un serveur web. Phar est une sorte de clé USB pour les applications PHP.
</para>
<para>
Phar implémente cette fonctionnalité via <link linkend="book.stream">un
flux</link>. Normalement, pour utiliser un fichier externe à partir d'un script PHP, il faut
utiliser la fonction <function>include</function>:
</para>
<para>
<example>
<title>Utiliser un fichier externe</title>
<programlisting role="php">
<![CDATA[
<?php
include '/chemin/vers/le/fichier/externe.php';
?>
]]>
</programlisting>
</example>
</para>
<para>
On peut considérer que PHP traduit en fait
<literal>/chemin/vers/le/fichier/externe.php</literal> en un
flux <literal>file:///chemin/vers/le/fichier/externe.php</literal>, et qu'il
utilise de façon cachée les fonctions de flux de fichiers plats pour accéder
à des fichiers locaux.
</para>
<para>
Pour utiliser un fichier nommé <literal>fichier.php</literal> contenu dans une archive phar
<literal>/chemin/vers/monphar.phar</literal>,
la syntaxe est quasi similaire à la syntaxe <literal>file://</literal> ci-dessus.
</para>
<para>
<example>
<title>Utiliser un fichier contenu dans une archive phar</title>
<programlisting role="php">
<![CDATA[
<?php
include 'phar:///chemin/vers/monphar.phar/fichier.php';
?>
]]>
</programlisting>
</example>
</para>
<para>
En fait, on peut traiter une archive phar comme s'il s'agissait d'un disque externe, en utilisant
n'importe laquelle des fonctions relatives à <function>fopen</function>, <function>opendir</function> et
<function>mkdir</function> pour lire, changer ou créer des nouveaux fichiers ou répertoires au sein de
l'archive phar. Cela permet à des applications PHP complètes d'être distribuées dans un seul fichier
et d'être exécutées à partir de celui-ci
</para>
<para>
L'utilisation la plus courante d'une archive phar est de distribuer une application complète
en un seul fichier. Par exemple, l'installeur PEAR qui est inclus avec les versions de PHP
est distribué grâce à une archive phar. Pour utiliser l'archive phar ainsi distribuée, celle-ci
peut être exécutée via la ligne de commande ou via un navigateur web.
</para>
<para>
Les archives phar peuvent être distribuées sous forme de fichiers <literal>tar</literal>,
de fichiers <literal>zip</literal> ou de fichiers <literal>phar</literal> spécialement conçus
pour l'extension phar. Chaque format de fichier a ses avantages et ses inconvénients. Les fichiers
zip et tar peuvent être extraits par n'importe quel outil tiers qui peut lire le format, mais
requièrent l'extension phar pour être exécutés par PHP. Le format de fichier phar est unique et dédié
à l'extension phar et peut être créé uniquement par celle-ci ou par le paquet PEAR
<link xlink:href="&url.pear.package;PHP_Archive">PHP_Archive</link>, mais a l'avantage de ne pas
nécessiter l'installation de l'extension phar pour que l'application empaquetée puisse être exécutée.
</para>
<para>
En d'autres mots, même avec l'extension phar désactivée, il est possible d'exécuter ou d'inclure
une archive basée sur phar. Accéder à des fichiers individuels au sein d'une archive phar n'est
possible qu'avec l'extension phar à moins que l'archive phar n'ait été créée par PHP_Archive.
</para>
<para>
L'extension phar est aussi capable de convertir une archive phar à partir d'un tar vers un fichier zip
ou phar en une seule commande :
</para>
<para>
<example>
<title>Convertir une archive phar au format tar</title>
<programlisting role="php">
<![CDATA[
<?php
$phar = new Phar('monphar.phar');
$pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // produit monphar.phar.tar.gz
?>
]]>
</programlisting>
</example>
</para>
<para>
Phar peut compresser des fichiers individuels ou une archive entière en
utilisant la compression <link linkend="book.zlib">gzip</link> ou
<link linkend="book.bzip2">bzip2</link>, et peut vérifier l'intégrité de l'archive
automatiquement en utilisant des fonctions de signature MD5, SHA-1, SHA-256 ou SHA-512.
</para>
<para>
Enfin, l'extension phar est orientée sécurité, elle désactive par défaut les accès
en écriture sur les archives phar exécutables et requiert la désactivation au niveau système
du paramètre <literal>phar.readonly</literal> du php.ini pour créer ou modifier des archives phar.
Des archives tar et zip sans le marqueur exécutable peuvent toujours être créées ou modifiées
en utilisant la classe <classname>PharData</classname>.
</para>
<para>
Si l'on crée des applications dans le but de les distribuer, il est recommandé de lire
<link linkend="phar.creating">Comment créer des archives Phar</link>. Pour
davantage d'informations sur les différences entre les formats de fichier que phar supporte,
il est recommandé de lire <link linkend="phar.fileformat">Phar, Tar et Zip</link>.
</para>
<para>
Lors de l'utilisation des applications phar, il y a des astuces très utiles dans
<link linkend="phar.using">Comment utiliser des archives Phar</link>.
</para>
<para>
Le mot <literal>phar</literal> est la contraction de <literal>PHP</literal> et de
<literal>Archive</literal> et est grandement inspiré
du mot <literal>jar</literal> (Java Archive) familier aux développeurs Java.
</para>
<para>
L'implémentation des archives Phar est basée sur le paquet PEAR
<link xlink:href="&url.pear.package;PHP_Archive">PHP_Archive</link>, et
les détails d'implémentations sont les mêmes, bien que l'extension Phar
soit plus puissante. En plus, celle-ci permet à la plupart des applications
PHP d'être exécutées sans modification alors que les archives basées sur PHP_Archive
requièrent souvent beaucoup de modifications pour fonctionner.
</para>
</preface>
<!-- }}} -->
&reference.phar.setup;
&reference.phar.constants;
&reference.phar.using;
&reference.phar.creating;
&reference.phar.fileformat;
&reference.phar.Phar;
&reference.phar.PharData;
&reference.phar.PharFileInfo;
&reference.phar.PharException;
</book>
<!-- 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
-->