Webmaster Hub
Rechercher dans les publications Rechercher:

Imprimer cet article

Rechercher dans les publications Auteur : Cariboo
Site Web :
Pnambique

Directeur du Pôle Experts de la société @position http://www.aposition.com



Articles de l'auteur :
La détection du Link Spam : un challenge pour les moteurs [3/4]
La détection du Link Spam : un challenge pour les moteurs [2/4]
La détection du Link Spam : un challenge pour les moteurs [Bibl.]
La détection du Link Spam : un challenge pour les moteurs [1/4]
Cuill veut surpasser Google grâce à l’analyse de données sémantiques
2007 : l’année des moteurs furtifs
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.4]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.3]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.2]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.1]
Joachim Kreibich (Seekport) : pour nous, un moteur de recherche de qualité doit tenir compte des particularismes linguistiques nationaux, voire régionaux
Une tentative de définition du spamdexing
Google Base dévoilé !
Les concepts de la POO
La programmation objet : qu’est-ce que c’est ? à quoi ça sert ?
Gregory Olivier "MSN Search cherche à établir un véritable dialogue avec les webmasters et les référenceurs"
Direct Answers from Encarta
MSN Search utilise-t’il l’analyse au niveau des blocs ?
Spyware : les méthodes pour s’en débarasser
Michael James, de la société Mirago "Nous misons sur nos partenaires pour développer notre visibilité"
La sémantique appliquée et les outils de recherche [2/6]
Linguistique statistique et sémantique appliquée : outil de pertinence pour les moteurs, de KM et de référencement
ANALYSE THEMATIQUE (4/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (3/4) par le Pr E. Garcia
Applications des outils sémantiques au référencement et aux moteurs de recherche
Sémantique appliquée : Liens et références bibliographiques
ANALYSE THEMATIQUE (2/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (1/4) par le Pr E. Garcia
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [3]
Mon premier programme en PHP (3e Partie)
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [2]
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [1]
Quelques pistes pour comprendre le nouvel algorithme de Google (suite et fin)
Quelques pistes pour comprendre le nouvel algorithme de Google
FOOXX, le moteur futé venu d’Allemagne
Le futur moteur que prépare Microsoft pour MSN sera-t’il Brilliant ?
Mooter, un moteur de recherche innovant venu d’Australie
Les techniques évoluées d’indexation dans les moteurs de recherche (2e partie)
Visibilité et stratégies de développement d’audience sur le Web
Les techniques évoluées d’indexation dans les moteurs de recherche
L’algorithme HITS et le projet CLEVER (deuxième partie)
L’algorithme HITS et le projet CLEVER
La structure du web est en forme de "noeud papillon"
Webfountain d’IBM
Vers un moteur de recherche sensible au contexte (1ère partie)
Vers un moteur de recherche sensible au contexte (2ème partie)
Vers un moteur de recherche sensible au contexte (3ème partie)
Droit d’auteur et site web
Droit d’auteur et site web (2e Partie)
Droit des producteurs de bases de données (législation française)
Tester correctement variables et valeurs en php
Mon premier programme en PHP (2e Partie)
Les nouveautés de la version 5 de PHP
Les origines du PHP
Mon premier programme en PHP
Pourquoi choisir le PHP pour réaliser des pages dynamiques ?
Mon premier programme en PHP

[niveau : débutant]

Mon premier programme en PHP

A la découverte d’un langage facile d’accès et performant

30 août 2003, par Cariboo

Ca y’est : vous avez décidé de changer vos pages HTML statiques en pages dynamiques. Il faut donc que vous mettiez les mains dans le cambouis, et que vous programmiez un script en PHP. Ne soyez pas intimidés, vous risquez d’être surpris par la vitesse à laquelle un développeur débutant peut prendre en main ce langage.

Comment créer un script php ?

Un script php n’est qu’un fichier texte, qui contient des instructions en langage php et/ou en langage html. Pour que le serveur Apache reconnaisse le fichier texte, le nom du fichier script doit contenir une extension qui indique qu’il s’agit d’un fichier php. En général, cette extension est .php, mais selon la configuration de votre hébergement, cela pourra être ".php3" ou ".php4" [1].

L’extension devenue la plus répandue depuis la version 4 est ".php".

A quoi ressemble le code d’un script php ?

Voici deux exemples de code en php [2], qui génèrent exactement la même page HTML, qui affiche la date indiquée par l’horloge du serveur web.

<html>
<head>
</head>
<body>
<?php
echo "Voici la date indiqu&eacutee par le serveur web :";
$ladate = getdate();
$mois = $ladate['month'];
$mjour = $ladate['mday'];
$annee = $ladate['year'];
echo "$mjour/$mois/$annee";
?>
</body>
</html>

Ce code présente la manière la plus simple pour créer du code php : il s’agit d’une page HTML classique, au sein de laquelle on ajoute une portion de code PHP. L’interpréteur PHP (le "parser" à l’origine des "parse errors" qui vont vous devenir vite familières), n’interprète que le code compris entre les balise " <?php et "?> "[[Il existe quatre couples de balises possibles pour délimiter une zone de code php. " <?php...?> " " <script language='php'>... </script> " "<%...%>" " <?...?> ".
seules les deux premières sont toujours reconnues, quelle que soit la configuration du serveur. Donc il est conseillé d’utiliser <?php plutôt que <? (alors que cette dernière balise est sans doute la plus utilisée). 
_ La balise <?php est obligatoire si vous utilisez le XML.
_ La balise <script language='php'devient indispensable dès que l'on touche les XSLT (en XML), pour éviter les ambiguités et les erreurs de parsing.]]. Tout ce qui est en dehors de ces balises, est considéré comme du HTML, et directement reproduit sans modification dans la page générée par le serveur web.

Le code généré (celui qui s'
affiche en regardant la source dans votre browserressemble donc à cela :

<
div class="base64" title='PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT4mbHQ7aHRtbCZndDs8YnIgLz4NCiZsdDtoZWFkJmd0OzxiciAvPg0KJmx0Oy9oZWFkJmd0OzxiciAvPg0KJmx0O2JvZHkmZ3Q7PGJyIC8+DQpWb2ljaSBsYSBkYXRlIGluZGlxdSZhbXA7ZWFjdXRlZSBwYXIgbGUgc2VydmV1ciB3ZWIgOjMwLzA4LzIwMDM8YnIgLz4NCiZsdDsvYm9keSZndDs8YnIgLz4NCiZsdDsvaHRtbCZndDs8L2NvZGU+PC9kaXY+' ></div>



La zone de code php a disparuet a été remplacée par le code HTML généré par celui-ci la phrase et la date.

Une petite variante :
<
div class="base64" title='PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT4mbHQ7P3BocDxiciAvPg0KZWNobyAmcXVvdDsmbHQ7aHRtbCZndDsmcXVvdDs7PGJyIC8+DQplY2hvICZxdW90OyZsdDtib2R5Jmd0OyZxdW90Ozs8YnIgLz4NCmVjaG8gJnF1b3Q7Vm9pY2kgbGEgZGF0ZSBpbmRpcXUmYW1wO2VhY3V0ZWUgcGFyIGxlIHNlcnZldXIgd2ViIDomcXVvdDs7PGJyIC8+DQokbGFkYXRlID0gZ2V0ZGF0ZSgpOzxiciAvPg0KJG1vaXMgPSAkbGFkYXRlWydtb250aCddOzxiciAvPg0KJG1qb3VyID0gJGxhZGF0ZVsnbWRheSddOzxiciAvPg0KJGFubmVlID0gJGxhZGF0ZVsneWVhciddOzxiciAvPg0KZWNobyAmcXVvdDskbWpvdXIvJG1vaXMvJGFubmVlJnF1b3Q7OzxiciAvPg0KZWNobyAmcXVvdDsmbHQ7L2JvZHkmZ3Q7JnF1b3Q7OzxiciAvPg0KZWNobyAmcXVvdDsmbHQ7L2h0bWwmZ3Q7JnF1b3Q7OzxiciAvPg0KPyZndDs8L2NvZGU+PC9kaXY+' ></div>



Dans cette variantetout le script est rédigé en PHPet toutes les balises HTML sont générées par le code PHPLe premier script est plus clairmais il devient par fois plus simple de générér tout une zone de HTML en phpdès lors que le HTML statique doit être sans arrêt combiné avec des éléments dynamiques.

Une deuxième variante :
<
div class="base64" title='PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT4mbHQ7P3BocDxiciAvPg0KJGxhZGF0ZSA9IGdldGRhdGUoKTs8YnIgLz4NCiRtb2lzID0gJGxhZGF0ZVsnbW9udGgnXTs8YnIgLz4NCiRtam91ciA9ICRsYWRhdGVbJ21kYXknXTs8YnIgLz4NCiRhbm5lZSA9ICRsYWRhdGVbJ3llYXInXTs8YnIgLz4NCj8mZ3Q7PGJyIC8+DQombHQ7aHRtbCZndDs8YnIgLz4NCiZsdDtib2R5Jmd0OzxiciAvPg0KVm9pY2kgbGEgZGF0ZSBpbmRpcXUmYW1wO2VhY3V0ZWUgcGFyIGxlIHNlcnZldXIgd2ViIDombHQ7P3BocCBlY2hvICZxdW90OyRtam91ci8kbW9pcy8kYW5uZWUmcXVvdDs7PyZndDs8YnIgLz4NCiZsdDsvYm9keSZndDs8YnIgLz4NCiZsdDsvaHRtbCZndDs8L2NvZGU+PC9kaXY+' ></div>



<
UL>
{{
Remarque :}} sur cette deuxième varianteil faut penser à placer un espace entre la balise <?php et la première instructionSinon on obtient une erreur de syntaxe "parse error at line xxx"Si on place l'instruction sur la ligne suivante, inutile d'ajouter un espace.
</
UL>
 
{{{
Le séparateur d'instructions : point-virgule}}}

Vous avez sans doute remarqué sur les exemples que les lignes de code se terminent par un point virgule.

Ce point-virgule est très important (on le retrouve dans la syntaxe du C et du Perl) car il joue le rôle de séparateur d'
instructionsIl indique au "parser" à quel endroit s'achève un groupe de mots clés, cet ensemble de mots clés constituant une instruction. Et ceci, indépendamment des sauts de ligne...

<ul><div class="base64" title='
PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT5lY2hvICZxdW90O2JvbmpvdXImcXVvdDs7PC9jb2RlPjwvZGl2Pg==' ></div>

</ul>

est aussi valide que :

<ul><div class="base64" title='
PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT5lY2hvIDxiciAvPg0KJnF1b3Q7Ym9uam91ciZxdW90Ozs8L2NvZGU+PC9kaXY+' ></div>

</ul>

<table class='
spip'><tr class='row_odd'><td>
{{Avec quel outil écrire ses scripts PHP ?}}

<P class='
notes'>L'idéal est d'utiliser un éditeur HTML qui soit capable de reconnaître la syntaxe du PHP. La "coloration syntaxique" permet notamment de détecter facilement les parenthèses mal fermées, les quotes oubliées, les fonctions mal orthographiées. [Editplus->http://www.editplus.com] ou [Context->http://fixedsys.com/context/] ou encore [Ultraedit->http://www.ultraedit.com] sont de bons exemples de ce style d'éditeur mais il y'en a bien d'autres.
On peut également utiliser des outils plus évolués comme Dreamweaver ou GoliveDans les deux casil faut bien maîtriser le logiciel avant d'utiliser les fonctionnalités PHP, sous peine de voir les générateurs de code de ces applications, soit effacer ces balises qu'ils ne connaissent passoit écrire au beau milieuen transformant votre code en bouillie.

Il existe également des environnements de développementqui peuvent également rendre de sérieux services : [PHPEdit->http://www.phpedit.net]

En tout casil faut bannir les traitements de texte évoluéscomme Word
</P>
</
td></tr></table>

{{{
Les commentaires}}}

Le langage PHP est très généreux avec les développeurs habitués à d'autres langages : il accepte tous les types de commentaires C et les notations type SHELL UNIX.

Rappelons ici l'
utilité de "documenter" et de "commenter" son codepour le rendre plus accessible à d'autres développeurs, ou à soi même, quand on se replonge dans ses propres scripts quelques mois après les avoir écrits.

Voici l'
exemple de tout à l'heure avec les différents types de commentaires :

<div class="base64" title='
PGRpdiBzdHlsZT0ndGV4dC1hbGlnbjogbGVmdDsnIGNsYXNzPSdzcGlwX2NvZGUnIGRpcj0nbHRyJz48Y29kZT4mbHQ7P3BocDxiciAvPg0KLy8gY29tbWVudGFpcmUgdHlwZSBDIHN1ciB1bmUgbGlnbmUsIDxiciAvPg0KLy8gdG91dCBjZSBxdWkgc3VpdCBsZSAvLyBlc3QgY29uc2lk6XLpIGNvbW1lIHVuIGNvbW1lbnRhaXJlPGJyIC8+DQovKiBjb21tZW50YWlyZSB0eXBlIEMgc3VyIHBsdXNpZXVycyBsaWduZXM8YnIgLz4NClRvdXRlcyBsZXMgbGlnbmVzIGVudHJlIGxlcyBkZXV4IGJhbGlzZXM8YnIgLz4NCnNvbnQgY29uc2lk6XLpZXMgY29tbWUgZGVzIGNvbW1lbnRhaXJlczxiciAvPg0KKi8gPGJyIC8+DQojIENvbW1lbnRhaXJlIHR5cGUgU2hlbGwgVW5peDxiciAvPg0KJGxhZGF0ZSA9IGdldGRhdGUoKTs8YnIgLz4NCiRtb2lzID0gJGxhZGF0ZVsnbW9udGgnXTs8YnIgLz4NCiRtam91ciA9ICRsYWRhdGVbJ21kYXknXTs8YnIgLz4NCiRhbm5lZSA9ICRsYWRhdGVbJ3llYXInXTs8YnIgLz4NCj8mZ3Q7PGJyIC8+DQombHQ7aHRtbCZndDs8YnIgLz4NCiZsdDtib2R5Jmd0OzxiciAvPg0KVm9pY2kgbGEgZGF0ZSBpbmRpcXUmYW1wO2VhY3V0ZWUgcGFyIGxlIHNlcnZldXIgd2ViIDombHQ7P3BocCBlY2hvICZxdW90OyRtam91ci8kbW9pcy8kYW5uZWUmcXVvdDs7PyZndDs8YnIgLz4NCiZsdDsvYm9keSZndDs8YnIgLz4NCiZsdDsvaHRtbCZndDs8L2NvZGU+PC9kaXY+' ></div>



Il est déconseillé d'
utiliser les commentaires type SHELL Unix et //, car ils peuvent rendre le code ambigu, ou ne font pas bon ménage avec le XML. Les commentaires // sont par contre recommandés avec PEAR.[[PEAR est une architecture et un système de distribution de composants PHP réutilisables. L'acronyme signifie "PHP extension and application repository" : extension du php et dépôt d'applications. Grâce à des spécifications très strictes et une utilisation standardisée de la programmation objet, les classes incluses dans PEAR sont facilement implémentables dans toute application PHP ]]

La suite : [->art7]

Philippe YONNET



[1] Certains serveurs acceptent n’importe qu’elle extension, d’autres non. Certains hébergements, pour éviter à leurs clients des soucis de compatibilité ascendante, ont choisi d’interpréter ".php" ou ".php4" comme du php version 4 et ".php3" comme du PHP version 3. L’aide en ligne de votre hébergeur sera utile pour savoir quel sera le comportement à attendre dans votre cas particulier

[2] le code html est volontairement simplifié, désolé pour les puristes de la normalisation