cvs: phpdoc-fr /chapters tutorial.xml

From: Date: Wed, 02 Oct 2002 01:58:19 +0000
Subject: cvs: phpdoc-fr /chapters tutorial.xml
Groups: php.doc.fr 
Request: Send a blank email to doc-fr+get-51@lists.php.net to get a copy of this message
dams Tue Oct 1 21:58:19 2002 EDT Added files: /phpdoc-fr/chapters tutorial.xml Log: typo fixing

Index: phpdoc-fr/chapters/tutorial.xml +++ phpdoc-fr/chapters/tutorial.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <chapter id="tutorial"> <title>Une introduction &agrave; PHP</title> <para> Dans cette section, nous voulons illustrer les principes de base de PHP dans une courte introduction. Ce chapitre traite uniquement de cr&eacute;ations de pages web dynamiques avec PHP, laissant de cot&eacute; temporairement les autres possibilit&eacute;s de PHP. Voyez la section <link linkend="intro-whatcando">Ce que peut faire PHP</link> pour plus d'informations. </para> <para> Les pages web qui exploitent PHP sont trait&eacute;es comme des pages HTML standards, et vous pouvez les cr&eacute;er, &eacute;diter et effacer tout comme vous le faites normalement avec des pages HTML classiques. </para> <sect1 id="tutorial.requirements"> <title>Le n&eacute;cessaire</title> <para> Dans ce tutoriel, nous pr&eacute;sumons que vous avez un serveur web avec le support PHP activ&eacute;, et que les fichiers termin&eacute;s par l'extension <filename>.php</filename> sont trait&eacute;s par PHP. Sur la plus part des serveurs, c'est la configuration par d&eacute;faut, mais n'h&eacute;sitez pas &agrave; interroger votre administrateur syst&egrave;me en cas de doute. Si votre serveur web supporte PHP, vous n'avez rien &agrave; faire. Simplement, cr&eacute;ez un dossier, puis cr&eacute;ez un fichier texte, avec l'extension <filename>.php</filename> : le serveur va automatiquement l'ex&eacute;cuter avec PHP. Il n'y a pas de compilation, ou d'installation compliqu&eacute;e. Gardez en t&ecirc;te que les fichiers sont comparables &agrave; des fichiers HTML, dans lequels vous allez utiliser des balises magiques, qui feront beaucoup de choses pour vous. </para> </sect1> <sect1 id="tutorial.firstpage"> <title>Votre premi&egrave;re page PHP</title> <para> Cr&eacute;ez un fichier appel&eacute; <filename>bonjour.php</filename> dans votre dossier webm avec le contenu suivant : </para> <para> <example> <title>Notre premier script PHP : <filename>bonjour.php</filename></title> <programlisting role="php"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> <?php echo "Bonjour le monde<p>"; ?> </body> </html> ]]> </programlisting> <para> Le r&eacute;sultat de ce script sera : <screen role="html"> <![CDATA[ <html> <head> <title>Test PHP</title> </head> <body> Bonjour le monde<p> </body> </html> ]]> </screen> </para> </example> </para> <para> Notez que cela n'est pas un script CGI. Ce fichier a nul besoin d'ex&eacute;cutable ou de configuration particuli&egrave;re. C'est vraiment comme un fichier HTML classique, qui comporte des balises sp&eacute;ciales, capables de r&eacute;aliser des t&acirc;ches particuli&egrave;res. </para> <para> Ce programme est extr&ecirc;mement simple et vous n'avez pas besoin de PHP pour cr&eacute;er une page web comme ceci. Elle ne fait qu'afficher <literal>Bonjour le monde</literal>, gr&acirc;ce &agrave; la fonction <function>echo</function> de PHP. </para> <para> Si vous avez essay&eacute; cet exemple, et qu'il n'a rien affich&eacute; de sp&eacute;cial, ou m&ecirc;me qu'un dialogue a surgit pour vous proposer de le t&eacute;l&eacute;charger, ou encore vous avez vu le code tel que nous l'avons &eacute;crit dans le fichier, alors votre serveur web ne supporte probablement pas le PHP. Demandez &agrave; votre administrateur de l'activer pour vous, en utilisant le chapitre <link linkend="installation">Installation</link>. Si vous voulez d&eacute;velopper des scripts PHP localement, voyez la section de <ulink url="&url.php.downloads;">t&eacute;l&eacute;chargements</ulink>. Vous pouvez d&eacute;velopper en PHP, localement, sur tous les syst&egrave;mes d'exploitation. N'oubliez pas d'installer aussi un serveur web appropri&eacute;. </para> <para> Le point important de cet exemple &eacute;tait de montrer le format des balises sp&eacute;ciales PHP. Nous avons utilis&eacute; ici <literal>&lt;?php</literal> pour indiquer le d&eacute;but de la balise PHP. Puis, nous avons introduit les commadnes PHP et referm&eacute; les balises PHP avec <literal>?&gt;</literal>. Vous pouvez passer du mode PHP au mode HTML et vice-versa, de cette mani&egrave;re, et &agrave; votre guise. </para> </sect1> <sect1 id="tutorial.useful"> <title>Trucs pratiques</title> <para> R&eacute;alisons maintenant quelque chose de plus puissant. Nous allons v&eacute;rifier le type de navigateur que le visiteur de notre site utilise. Pour cela, nous allons acc&eacute;der aux informations que le navigateur du visiteur nous envoie, lors de sa requ&ecirc;te HTTP. Cette information est stock&eacute;e dans une <link linkend="language.variables">variable</link>. Les variables sont faciles &agrave; rep&eacute;rer, car elles commencent toutes par un signe dollar. La variable qui nous interesse ici est is <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. </para> <note> <title>Attention pour les auto-globales de PHP</title> <para> <link linkend="reserved.variables.server">$_SERVER</link> est une variable sp&eacute;ciale de PHP, qui contient toutes les informations relatives au serveur web. C'est une variable r&eacute;serv&eacute;e de PHP, et une auto-globale. Reportez-vous aux pages du manuel traitant des <link linkend="language.variables.superglobals">Auto-globales</link> (aussi connues sous le noms de super-globales). Ces variables sp&eacute;ciales ont &eacute;t&eacute; introduites en PHP 4.1.0. Auparavant, il fallait utiliser les variables <varname>$HTTP_*_VARS</varname>, comme par exemple <varname>$HTTP_SERVER_VARS</varname>. Bien qu'obsol&egrave;tes, ces variables existent toujours. </para> </note> <para> Pour afficher cette variable, nous pouvons simplement faire : </para> <para> <example> <title>Afficher le contenu d'une variable (&eacute;l&eacute;ment de tableau)</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> ]]> </programlisting> <para> Un r&eacute;sultat possible du script pourra alors &ecirc;tre : <screen role="html"> Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) </screen> </para> </example> </para> <para> Il y a de nombreux <link linkend="language.types">types</link> de variables disponibles en PHP. Dans l'exemple ci-dessus, nous avons affich&eacute; un &eacute;l&eacute;ment de <link linkend="language.types.array">Tableau (Array)</link>. Les tableaux peuvent &ecirc;tre tr&egrave;s utiles. </para> <para> <varname>$_SERVER</varname> est juste une variable qui est automatiquement disponible dans votre script. Une liste de toutes les variables qui sont rendues disponibles est fournie dans la section <link linkend="reserved.variables">Variables r&eacute;serv&eacute;es</link>. Vous pouvez aussi en obtenir une liste compl&egrave;te en cr&eacute;ant un fichier qui comme ceci : </para> <para> <example> <title>Afficher toutes les variables pr&eacute;d&eacute;finies <function>phpinfo</function></title> <programlisting role="php"> <![CDATA[ <?php phpinfo(); ?> ]]> </programlisting> </example> </para> <para> Lorsque vous chargez cette page dans votre navigateur, vous allez d&eacute;couvrir une page pleine d'informations sur PHP, ainsi qu'une liste des variables qui sont disponibles. </para> <para> Vous pouvez ajouter plusieurs commandes PHP dans une balise PHP, et cr&eacute;er de petits blocs de code qui r&eacute;alisent des op&eacute;rations plus complexes qu'un simple afficahge. Par exemple, si nous voulons v&eacute;rifier que le navigateur est bien de la famille des Internet Explorer, nous pouvons faire cela : </para> <para> <example> <title>Exemple utilisant les <link linkend="control-structures">structures de contr&ocirc;le</link> et les <link linkend="functions">fonctions</link></title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { echo "Vous utilisez Internet Explorer<br />"; } ?> ]]> </programlisting> <para> Le r&eacute;sultat de ce script, si vous utilisez Internet Explorer, sera : <screen role="html"> <![CDATA[ Vous utilisez Internet Explorer<br /> ]]> </screen> </para> </example> </para> <para> Ici, nous introduisont plusieurs nouveaux concepts. Nous avons une structure <link linkend="control-structures.if">if</link>. Si vous &ecirc;tes familier avec les syntaxes de base du langage C, cela ne vous surprendra. Si vous ne connaissez pas assez le langage C ou un autre langage où la syntaxe est similaire &agrave; celle ci-dessus, il vaudrait mieux que vous lisiez une introduction &agrave; PHP, et assimiliez les premiers chapitres, ou bien lisez le chapitre consacr&eacute; &agrave; <link linkend="langref">la r&eacute;f&eacute;rence du langage</link>. Vous pouvez trouvez une liste de livres PHP &agrave; <ulink url="&url.php.books;">&url.php.books;</ulink>. </para> <para> Le second concept que nous avons introduit est la fonction <function>strstr</function>. <function>strstr</function> est une fonction int&eacute;gr&eacute;e &agrave; PHP, qui recherche la pr&eacute;sence d'une cha&icirc;ne dans une autre. Dans notre cas, nous avons recherch&eacute; la cha&icirc;ne <literal>"MSIE"</literal> dans la cha&icirc;ne <varname>$_SERVER["HTTP_USER_AGENT"]</varname>. Si cette cha&icirc;ne est trouv&eacute;e, la fonction retourne &true; et sinon, &false;. Si elle retourne &true;, la commande <link linkend="control-structures.if">if</link> re&ccedil;oit &true; et le code entre accolades {} est ex&eacute;cut&eacute;. N'h&eacute;sitez pas &agrave; exp&eacute;rimenter d'autres exemples, &agrave; l'aide de <link linkend="control-structures.if">if</link>, <link linkend="control-structures.else">else</link>, et d'autres fonctions comme <function>strtoupper</function> et <function>strlen</function>. Chaque page de la documentation contient aussi des exemples. </para> <para> Nous pouvons aussi progresser et vous montrer comment utiliser le mode PHP, au milieu du code HTML : </para> <para> <example> <title>Passer du mode PHP au mode HTML et vice-versa</title> <programlisting role="php"> <![CDATA[ <?php if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { ?> <h3>strstr a retourn&eacute; TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> <?php } else { ?> <h3>strstr a retourn&eacute; FALSE</h3> <center><b>Vous n'utilisez pas Internet Explorer</b></center> <?php } ?> ]]> </programlisting> <para> Un exemple de r&eacute;sultat obtenu dans ce script est : <screen role="html"> <![CDATA[ <h3>strstr a retourn&eacute; TRUE</h3> <center><b>Vous utilisez Internet Explorer</b></center> ]]> </screen> </para> </example> </para> <para> Au lieu d'utilise une commande <function>echo</function>, pour afficher du texte, vous pouvez utiliser du code HTML pur. Le point important a noter ici et que la logique de programmation est conserv&eacute;e. Seul un des deux blocs HTML sera affich&eacute;, suivant que le navigateur utilise ou pas Internet Explorer. </para> </sect1> <sect1 id="tutorial.forms"> <title>Utiliser un formulaire</title> <para> L'un des points forts de PHP est sa capacit&eacute; &agrave; g&eacute;rer les formulaires. Le concept de base qui est important &agrave; comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action. Lisez le chapitre du manuel concernant les <link linkend="language.variables.external">variables d'origine externe &agrave; PHP</link> pour plus d'informations et d'examples sur comment utiliser les formulaires. Voici un exemple de formulaire HTML : </para> <para> <example> <title>U*n simple formulaire HTML</title> <programlisting role="html"> <![CDATA[ <form action="action.php" method="POST"> Votre nom : <input type="text" name="nom" /> Votre age : <input type="text" name="age" /> <input type="submit" value="OK"> </form> ]]> </programlisting> </example> </para> <para> Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration particuli&egrave;re. Lorsque le visiteur remplit le formulaire, et clique sur le bouton d'envoi, le fichier <filename>action.php</filename> est appel&eacute;. Dans ce fichier, vous pouvez &eacute;crire le script suivant : </para> <para> <example> <title>Afficher des donn&eacute;es issues d'un formulaire</title> <programlisting role="php"> <![CDATA[ Bonjour, <?php echo $_POST["nom"]; ?>. Tu as <?php echo $_POST["age"]; ?> ans. ]]> </programlisting> <para> Voici le r&eacute;sultat que vous pourriez obtenir, d&eacute;pendemment des valeurs que vous avez saisies : <screen role="html"> <![CDATA[ Bonjour Jean. Tu as 29 ans. ]]> </screen> </para> </example> </para> <para> Le fonctionnement du script devrait &ecirc;tre &eacute;vident. Il n'y a rien de plus compliqu&eacute;. Les variables <varname>$_POST["nom"]</varname> et <varname>$_POST["age"]</varname> sont automatiquement cr&eacute;&eacute;s par PHP. Un peut plus tôt dans ce tutorial, nous avons utilis&eacute; la variable <varname>$_SERVER</varname>, une auto-globale. Maintenant, nous avons introduit une autre auto-globale <link linkend="reserved.variables.post">$_POST</link> qui contient toutes les donn&eacute;es envoy&eacute;es par la m&eacute;thode POST. Notez que dans notre formulaire, nous avons choisi la m&eacute;thode <emphasis>method</emphasis>. Si vous avions utilis&eacute; la m&eacute;thode <emphasis>GET</emphasis> alors notre formulaire aurait plac&eacute; ses informations dans la variable <link linkend="reserved.variables.get">$_GET</link>, une autre auto-globale. Vous pouvez aussi utiliser la variable <link linkend="reserved.variables.request">$_REQUEST</link>, si vous ne souhaitez pas vous embarrasser de la m&eacute;thode utilis&eacute;e. Elle contient un m&eacute;lange des donn&eacute;es de GET, POST, COOKIE et FILE. Voyez aussi la fonction <function>import_request_variables</function>. </para> </sect1> <sect1 id="tutorial.oldcode"> <title>Utiliser des codes anciens avec les nouvelles versions de PHP</title> <para> Maintenant que PHP est devenu un langage de script populaire, il existe de nombreuses ressources qui vous proposent des portions de code que vous pouvez r&eacute;utiliser dans vos codes. Pour la pluspart, les d&eacute;velopeurs de PHP ont t&acirc;ch&eacute; d'assurer la compatibilit&eacute; ascendante, ce qui fait que de nombreux scripts &eacute;crits pour les anciennes versions sont aussi valables pour les nouvelles versions de PHP, id&eacute;alement sans modifications. En pratique, certaines modifications doivent &ecirc;tre apport&eacute;es. </para> <para> Les deux modifications r&eacute;centes les plus importantes qui affectent les anciens codes sont : <itemizedlist> <listitem> <simpara> Les anciennes variables <varname>$HTTP_*_VARS</varname> (qui devaient &ecirc;tre indiqu&eacute;es comme globales pour &ecirc;tre utilis&eacute;es dans une fonction ou une m&eacute;thode) sont obsol&egrave;tes. Les nouveaux <link linkend="language.variables.superglobals">tableaux auto-globaux</link> ont &eacute;t&eacute; introduit en PHP 4.1.0. Ce sont les variables suivantes : <varname>$_GET</varname>, <varname>$_POST</varname>, <varname>$_COOKIE</varname>, <varname>$_SERVER</varname>, <varname>$_ENV</varname>, <varname>$_REQUEST</varname> et <varname>$_SESSION</varname>. Les vieux tableaux <varname>$HTTP_*_VARS</varname>, tels que <varname>$HTTP_POST_VARS</varname> existent toujours depuis PHP 3. </simpara> </listitem> <listitem> <simpara> Les variables externes ne sont plus enregistr&eacute;es dans l'environnement variable par d&eacute;faut. En d'autres termes, depuis PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink>, la directive PHP <link linkend="ini.register-globals">register_globals</link> vaut <emphasis>off</emphasis> par d&eacute;faut dans le &php.ini;. La m&eacute;thode recommand&eacute;e pour acc&eacute;der &agrave; ces valeurs, est via les tableaux auto-globaux mentionn&eacute;s ci-dessus. Les anciens scripts, livres et tutoriaux continuent de consid&eacute;rer que cette directive devrait &ecirc;tre &agrave; <literal>on</literal>. Lorsque cette directive est &agrave; <literal>on</literal>, vous pouvez utiliser la variable <varname>$id</varname>, si l'URL <literal>http://www.exemple.com/foo.php?id=42</literal> a &eacute;t&eacute; appel&eacute;e. Quelle que soit la valeur de la directive, <varname>$_GET['id']</varname> est toujours disponible. </simpara> </listitem> </itemizedlist> Pour plus de d&eacute;tails sur ces modifications, reportez-vous &agrave; <link linkend="language.variables.predefined">variables pr&eacute;d&eacute;finies</link>. </para> </sect1> <sect1 id="tutorial.whatsnext"> <title>Et apr&egrave;s?</title> <para> Avec ce que vous savez, vous &ecirc;tes maintenant capable de comprendre l'essentiel de la documentation PHP, et les diff&eacute;rents scripts d'exemple disponibles dans les archives. Vous pouvez aussi trouver d'autres exemples dans la section liens ("links", en anglais) du site <ulink url="&url.php.links;">&url.php.links;</ulink>. </para> </sect1> </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:"../../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 -->
« previous php.doc.fr (#51) next »