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/outcontrol/examples.xml
Louis-Arnaud 2d314f78aa CI: check-style + nettoyage TRADUCTIONS.txt (#2545)
* CI: add French style checker based on TRADUCTIONS.txt

Checks changed XML files in PRs for:
- Direct address forms (vous/votre/vos) → warnings
- French grammar errors (etc..., comme par exemple, si il) → errors
- Incorrect terminology (librairie, chiffrage, encryption) → warnings

Inspired by doc-ja's textlint+prh approach but simpler:
runs directly on XML sources, no PhD render needed.

Only errors (grammar/spelling) fail the CI.
Style warnings appear as PR annotations without blocking.

* test: introduce style errors to validate CI check

* Revert "test: introduce style errors to validate CI check"

This reverts commit 7c1d523c6bbef116f54fc6dad7b61a45ee4f7ddd.

* Corriger toutes les violations de style TRADUCTIONS.txt

- 174x "Notez que" → "Il est à noter que"
- 50x "depuis PHP X" → "à partir de PHP X"
- 50x "votre" → le/la/du
- 15x "si il" → "s'il"
- 14x "Vous pouvez" → "Il est possible de"
- 14x "encryption" (faux positifs entity refs exclus)
- 12x "assurez-vous" → "il faut s'assurer"
- 12x "Vous devez" → "Il faut"
- 11x "vos" → les/des
- 9x "comme par exemple" → "par exemple"
- 6x "Vous devriez" → "Il est recommandé de"
- 2x "optionel" → "optionnel"
- 2x "reportez-vous" → "se reporter"

Toutes les règles passent désormais en erreur dans la CI.

* Harmoniser les noms de workflows GitHub Actions

- integrate.yaml → build.yml (extension + nom cohérent)
- check-style-fr.yml → check-style.yml ("-fr" redondant)
- Aligner les noms de workflow et job

* Lire les règles dynamiquement depuis TRADUCTIONS.txt

Le script parse TRADUCTIONS.txt au démarrage et génère les règles
de vérification automatiquement. Plus aucune règle en dur.

* Règles dynamiques depuis TRADUCTIONS.txt

Le script CI lit les lignes INTERDIT de TRADUCTIONS.txt pour générer
les règles de vérification. Plus aucune règle en dur dans le script.
Corrige les 27 violations restantes (Depuis PHP → À partir de PHP).

* Corriger les trailing whitespace
2026-02-25 13:13:51 +01:00

112 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: e0b70f68d03701ce531be0025af19cdcfe333782 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<appendix xml:id="outcontrol.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<section xml:id="outcontrol.examples.basic">
<title>Utilisation simple</title>
<para>
<example>
<title>Exemple de bufferisation de sortie</title>
<programlisting role="php">
<![CDATA[
<?php
ob_start();
echo "Bonjour\n";
setcookie("cookiename", "cookiedata");
ob_end_flush();
?>
]]>
</programlisting>
</example>
</para>
<para>
Dans l'exemple ci-dessus, l'instruction
<function>echo</function>
est stockée dans un buffer jusqu'à l'appel de la fonction
<function>ob_end_flush</function>. Dans le même
temps, l'appel à <function>setcookie</function> a réussi
à créer un cookie, sans générer d'erreur.
(Normalement, les en-têtes doivent être envoyés au navigateur avant les données).
</para>
</section>
<section xml:id="outcontrol.examples.rewrite">
<title>Utilisation de la réécriture de sortie</title>
<para>
À partir de PHP 7.1.0, <function>output_add_rewrite_var</function>, <function>output_reset_rewrite_vars</function> utilisent un tampon de sortie dédié. C'est-à-dire qu'elles n'utilisent pas de tampon de sortie <link linkend="ini.session.use-trans-sid">trans sid</link>.
</para>
<para>
<example>
<title>Exemple de réécriture de la sortie</title>
<programlisting role="php">
<![CDATA[
<?php
// Ce code fonctionne avec PHP 7.1.0, 7.0.10, 5.6.25 et supérieur.
// HTTP_HOST est l'hôte cible par défaut. Définir manuellement pour que l'exemple de code fonctionne.
$_SERVER['HTTP_HOST'] = 'php.net';
// La réécriture de la sortie ne peut réécrire que les formulaires. Ajouter a=href.
// Les balises peuvent être spécifiées tag_name=url_attr, par ex. img=src,iframe=src
// Aucun espace autorisé entre les paramètres.
// La balise form est une balise spéciale qui ajoute un champ caché.
ini_set('url_rewriter.tags','a=href,form=');
var_dump(ini_get('url_rewriter.tags'));
// Ceci est ajouté à l'URL et au formulaire
output_add_rewrite_var('test', 'value');
?>
<a href="//php.net/index.php?bug=1234">bug1234</a>
<form action="https://php.net/?bug=1234&edit=1" method="post">
<input type="text" name="title" />
</form>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<a href="//php.net/?bug=1234&test=value">bug1234</a>
<form action="https://php.net/?bug=1234&edit=1" method="post"><input type="hidden" name="test" value="value" />
<input type="text" name="title" />
</form>
]]>
</screen>
</example>
</para>
<para>
À partir de PHP 7.1.0, les fonctions de réécriture de sortie ont leurs propres paramètres INI, <link linkend="ini.url-rewriter.tags">url_rewriter.tags</link> et <link linkend="ini.url-rewriter.hosts">url_rewriter.hosts</link>.
</para>
</section>
</appendix>
<!-- 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
-->