Premier programme : affichage du traditionnel « Hello World »

Rechercher
Boutique en ligne, solution e-commerce, script PHP et PERL : RAYNETTE

Premier programme : affichage du traditionnel « Hello World »

  • Par Emacs
  • 23 commentaires
  • 36948 lectures
  • RSS -  Atom

Dans les précédents tutoriels concernant les environnements de travail, nous avons montré que PHP était un langage de script dynamique précompilé et interprêté côté serveur. Il nous appartient maintenant de réaliser nos premiers programmes et de les exécuter sur le serveur Web (local ou distant).

En programmation informatique, il existe une "tradition" qui est de générer la chaîne de caractères (notez le terme au passage) Hello World ! sur la sortie standard (dans notre cas c'est un écran d'ordinateur). Commençons donc par le tout premier script présenté ci-dessous.

Premier script PHP

Recopiez le code suivant dans un éditeur de texte (BlocNote, Wordpad ou Notepad++ font largement l'affaire) puis enregistrez ce fichier avec le nom hello_world_basic.php.

Note : tous les fichiers comportant du code PHP doivent obligatoirement être enregistrés avec l'extension .php (ou .phpX où X est le numéro de version de PHP).

Premier programme PHP : le "Hello World"
<?php echo 'Hello World !'; ?>

Exécutez ce premier script dans un navigateur Web (Safari, Firefox, Opéra, Internet Explorer...). Vous constatez que le texte Hello World ! s'affiche bien à l'écran. Nous obtenons donc le résultat escompté au départ. Passons aux explications.

Explication du code

Tout d'abord les balises. Tout script PHP doit être entouré par deux balises pour le délimiter d'un autre type de contenu se trouvant dans un même fichier (du code HTML par exemple). Ici nous utilisons les marqueurs <?php et ?>. Il en existe d'autres mais ils sont fortement déconseillés à utiliser. Si vous souhaitez savoir quels sont-ils et pourquoi il ne faut pas les employer, nous vous invitons à consulter le tutoriel suivant : Pourquoi il est déconseillé d'utiliser les balises courtes (short-tags) ?.

Quoiqu'il en soit, vous devez toujours utiliser les marqueurs de ce premier programme. C'est LA première bonne pratique à adopter quand on code en PHP.

La seconde partie du code correspond à ce que l'on appelle en programmation une instruction. La fonction echo() (ou plutôt la structure de langage car c'est une fonction particulière de PHP) se charge d'écrire ce qu'on lui passe en paramètre sur la sortie standard. Ici le paramètre est une chaîne de caractère (type) dont la valeur est « Hello World ! ».

Notion importante à retenir : le script PHP est exécuté sur le serveur et le résultat de cette exécution qui est renvoyé (ici du code html) est interprêté par le navigateur Web.

Amélioration du Hello World

Jusque là rien de difficile. Passons alors à un niveau supérieur. Nous allons générer notre Hello World ! au milieu d'un document HTML. Voici le code du fichier hello_world_avance1.php :

Génération d'un document HTML minimal
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Premier programme PHP !</title>
</head>
<body>
<?php
echo 'Hello World !';
?>
</body>
</html>

Premier programme PHP !

Après exécution de ce fichier, on constate que le résultat à l'écran est exactement le même que précédemment. Oui mais uniquement à l'oeil nu ! Ici nous avons généré notre chaîne de caractères à l'intérieur de code HTML. Le principe de page dynamique commence donc à se faire sentir à partir de là. En effet, PHP va nous permettre de générer des pages à partir de modèles et de paramètres qu'on lui fournit.

Admettons que nous souhaitions afficher notre Hello World ! en gras. Deux choix s'offrent à nous :

  1. On place les balises <strong> et </strong> de part et d'autre du script.
  2. On place les balises <strong> et </strong> directement dans l'instruction echo().

Quoiqu'il en soit le résultat produit sera le même. Mais le second exemple (voir code ci-dessous) vous montre alors qu'il est possible de générer du code HTML pour construire une page. L'intérêt de PHP devient alors évident et nous laisse imaginer toutes les possibilités qui s'offrent à nous par la suite. Par exemple : générer des tableaux HTML, des listes, des liens, des paragraphes, des documents XML...

Un "Hello World" en gras
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Premier programme PHP !</title>
</head>
<body>
<?php
echo '<strong>Hello World !</strong>';
?>
</body>
</html>

Le code ci-dessous aura pour effet d'écrire à l'écran : Hello World !

Conclusion

Nous venons de voir, dans ce premier tutoriel des bases du langage PHP comment :

  • intégrer du code PHP dans une page web.
  • afficher du texte sur la sortie standard.
  • générer du code HTML.

Dans les prochains cours, nous étudierons les différentes manières d'utiliser les chaînes de caractères, de déclarer des variables et des constantes, de tester des conditions ou bien encore d'écrire des boucles... Mais chaque chose en son temps :-)



Les commentaires

1. Par HardMicro-fr le 05/01/2008 03:12

Merci Merci et encore merci pour ce précieux apprentissage

2. Par Gillou le 20/06/2008 23:27

merci pour ces informations et mes premiers pas. Sauf que quand je les lance via Internet Explorer il ne me les affiche pas mais me propose de les enregistrer.
Merci encore

3. Par Emacs le 21/06/2008 23:50

C'est que tu n'as pas lancé de serveur web (habituellement Apache ou un environnement intégré de type WAMP ou LAMP)

4. Par Selp le 07/07/2008 01:36

Salut

Deja merci beaucoup pour ces tutoriels.

Je n'arrive pas a afficher de texte en passant par le php (apache est lancé).
Je ne comprend pas d'ou peut provenir mon erreur (je ne fait que copier coller le code ).

Merci d'avance et encore bravo pour ces tutoriels !

5. Par Emacs le 07/07/2008 10:45

Salut,

Quel type de serveur Apache PHP MySQL utilises-tu ? Sur quel plate-forme es-tu ?

6. Par pop le 02/08/2008 22:21

Bonjour a toute l'équipe et merci pour leur précieux tuto surtout pour un jeune qui rentre en premier année d'analyste-développeur souhaité moi bonne chance

7. Par Emacs le 03/08/2008 02:20

Merci beaucoup et bonne chance

8. Par jfllabj le 11/09/2008 21:51

Vous devez allez dans le dossier de votre serveur ... Vous trouverez le répertoire WWW, créer un répertoire [test_php] dans ce répertoire... ensuite voue enregistrer le code dans un document txt, avec l'extension .php ex: test.php ... Ensuite pour exécuter la page si vous avez lancer votre server ! http://localhost/test_php/test.php !!!
Et voila comment exécuter un script php

9. Par patrick le 04/11/2008 15:54

Si les bases sont aisées à retenir, pourrai t' on avoir les descriptions des trois premiéres lignes: roles des caractéres en noirs ( exmlns...)

10. Par Emacs le 04/11/2008 21:15

@patrick : bah c'est du HTML pur et dur. Ce tutoriel n'a pas pour vocation de s'intéresser au langage HTML qui constitue la toute première base avant l'apprentissage de PHP. Je te renvoie vers Google et les spécifications de XML, HTML et XHTML sur le site du W3C (W3.org).

11. Par Hartigan le 06/11/2008 22:13

Bonjour/Bonsoir, j'ai un petit problème quand j'essaye d'enregistrer le fichier bloc note avec le script PHP Hello_world_basic. Quand j'enregistre le fichier, je ne trouve pas comment le mettre sous format PHP.
Merci de votre réponse future =)

12. Par Emacs le 07/11/2008 00:35

Il faut l'enregistrer avec l'extension .php. Méfie toi que tu n'enregistres pas en .php.txt

13. Par Soyel le 23/11/2008 01:08

C'est bien de préciser que echo() est une structure de langage mais en aucun cas il ne peut agir comme une fonction ( contrairement à print() qui est lui aussi une structure de langage mais qui lui peut agir comme une fonction )

Petit exemple de la doc PHP (php.net)

// parce que echo() ne se comporte pas comme une fonction, le code suivant n'est pas valide.

($some_var) ? echo 'true' : echo 'false';

// Cependant, les lignes suivantes sont valides :

($some_var) ? print 'Oui' : print 'Non';

// ou:

echo $some_var ? 'Oui': 'Non';

14. Par PB le 21/01/2009 22:30

Bravo pour le tutoriel... clair et simple...

J'ai un petit problème, quand j'ouvre ma page, voici ce qu'il me donne :

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\f0\fs20 \par \par \par \par \par \par \par \par \par }

Mon serveur est activé et j'ai mis le fichier php dans mon répertoire www

Meric de me venir en aide

15. Par Emacs le 21/01/2009 22:37

Je n'ai jamais vu ce genre de message. Quel éditeur de texte utilises-tu ?

16. Par Chileno le 22/01/2009 22:07

Bonjour,
J'ai enregistré en .php, en .php4, .php5, ça n'affiche rien du tout.
J'ai mis des <p> et </p> entre les guillemets, ça m'affiche:

"Hello World !

'; ?>"

Je suis sous Firefox.
Je ne comprends paaaas xD!
Merci de votre aide.

17. Par Quentin le 07/04/2009 08:49

Moi aussi j'ai un problème.
Quand je lance hello_word_basic.php avec Internet Explorer 7, il ne veut pas lancer le programme php et me demande :
"Voulez vous ouvrir ou enregistrer ce fichier".
Et si je fais "Ouvrir" il essaye une nouvelle fois de lancer le programme puis me réaffiche ce message.
J'ai pourtant bien enregistré le fichier en format php.
Je ne sais pas comment faire.
Merci de ta réponse.

18. Par Emacs le 07/04/2009 21:40

tu ouvres le fichier à partir d'une url et avec un serveur web installé ?

19. Par Alfar le 04/08/2009 21:11

lu
je viens de commence et je suis les tutoriel ... manque de bol suis coince dés le début :
- execute le 1er code dans le navigateur
j'ai Firefox et téléchargé Apache 2.2.11 mais celui ci ne fonctionne pas ! j'ai donc effectue des recherches et d'apres un forum , celui ci ne fonctionne pas avec Windows VISTA .
pourriez vous me donne l'adresse d'un autre type de programme qu'apache pour que je puisse continuer ? merci d'avance pour vos réponses

20. Par Julien le 15/08/2009 10:01

Je vous conseille d'utiliser Wamp qui est mieux que Apache à mon sens et il peut être configuré en français.
Merci

21. Par Emacs le 15/08/2009 19:22

@Julien WAMP embarque Apache.

22. Par Xar le 10/10/2009 21:17

Un grand merci supplémentaire.
Ces tutos de PHP m'ont permis d'appréhender cette discipline qui me semblais très compliquée.

23. Par zougataga le 13/01/2013 14:12

très bon tuto bonne continuation moi franchement javai peur du php mais mnt tou devient facile