Travail Autonome n°1 - Apprentissage du langage PHP
Préparation du TP n°1

Table des matières

1. Objectif de cette séquence

Cette première séquence de travail pratique consiste à vous familiariser avec le langage PHP, et à commencer l’installation des outils qui seront nécessaires pour la suite des phases pratiques du cours (TP, projet).

2. Étape 1 : Installation PHP sur machine personnelle

L’objectif de cette section vise à permettre aux étudiants d’installer un environnement de travail qu’ils utiliseront sur leur machine personnelle, pour les séquences de travaux pratiques en mode BYOD, ou hors-présentiel (projet).

Dans le cours, vous aller utiliser différents outils pour développer et tester : Composer, PHP, le shell bash, … Mais il vous faudra aussi un éditeur de texte puissant pour écrire le code. En fait, il nous même un peu plus qu’un simple éditeur : un IDE (Integrated Development Environment) sachant gérer les dépendances des bibliothèques et le code objet PHP. Et bien sûr, un navigateur pour tester le fonctionnement des applications Web.

Vous travaillerez principalement sur votre machine personnelle.

2.1. TODO Installation des outils sur la machine personnelle

Du fait des multiples combinaisons de systèmes d’exploitation et des choix personnels, il existe différentes options pour installer ces outils.

Nous avons donc préparé un wiki Installation de l’environnement dans l’espace Moodle du cours.

Ouvrez maintenant cette ressource, et suivez pas à pas les instructions correspondantes à votre système préféré.

En cas de doute, n’hésitez pas à poster vos interrogations ou rapportez les problèmes techniques dans le forum du cours dans l’espace Moodle.

Comme il s’agit d’un wiki, et que nous sommes probablement loin d’avoir couvert tous les détails et particularités, merci de compléter les ressources à votre tour, pour améliorer les procédures autant que possible.

Cette étape du travail risque de prendre plus ou moins de temps, selon votre système, les spécificités rencontrées, la puissance de la machine et du lien vers Internet.
Prenez note de ce que vous avez accompli et de ce qui reste à effectuer, si vous devez y consacrer plusieurs séquences de travail, au fil des prochains jours.

3. Étape 2 : Apprentissage via un tutorial PHP en ligne (2h)

Apprendre, en autonomie, les bases du langage de programmation PHP dans un contexte de programmation impérative et objet simple.
À l’issue de cette séquence les étudiants seront capables d’écrire avec la syntaxe du langage PHP des programmes simples, qui seront invoqués en ligne de commande.

Les petits programmes PHP étudiés ici ne porteront pas sur des spécificités d’un environnement d’exécution sur le Web, mais plutôt sur des interactions de type traitement et affichage sur la sortie standard, assez similaires à ceux vus en première année.

Cette séquence doit donc faciliter la transition depuis le langage Java, en restant dans une architecture applicative déjà connue.

Nous allons travailler beaucoup en PHP dans les prochaines séances. Il est essentiel que vous puissiez maîtriser rapidement les bases du langage PHP.

Il est essentiel de pratiquer, et de ne pas se contenter de lire des documents passivement. Un bon apprentissage est un apprentissage actif, même en autonomie.

3.1. TODO Travail sur le site learn-php.org

Nous vous invitons maintenant à apprendre le langage PHP à partir du site d’auto-apprentissage suivant : https://www.learn-php.org/fr/

Ce site ne nécessite aucune installation de l’interpréteur PHP sur la machine de l’apprenant, et permet de tester les exemples de code directement en ligne. En passant, si vous n’avez pas de bloqueur de publicités dans votre navigateur, il pourrait être bon d’en installer un avant d’aller sur ce site (par exemple uBlock Origin).

Consacrez les 2h prévues à cette étude. L’objectif n’est pas de devenir un « pro » de PHP dès maintenant, mais d’avoir des notions de base et avoir essayé de programmer. Ne dépassez pas les 2h de temps de travail prévues.

Ne négligez pas l’apprentissage des bases du PHP Objet, qui vous permettra de comparer avec le modèle objet que vous connaissez en Java.

Vous connaîssez déjà plusieurs autres langages impératifs (Java, Python, …) et PHP n’est pas extrèmement différent de ceux-ci, donc son apprentissage semble facile. Mais on a vite fait de confondre les syntaxes, donc autant vous entraîner un minimum à écrire du PHP dès le début, pour que des bons réflexes soient « câblés » en dur dès le début. Sans pratique, cela risque d’être plus dur.

Les séquences ultérieures du cours aborderont l’environnement de mise au point avec le framework Symfony, ainsi que les concepts de la programmation pour l’exécution des applications en contexte Web.

Inutile donc, à ce stade, d’approfondir la programmation PHP dans un contexte Web. Pour l’instant, on se limite à un programme qui est lancé en ligne de commande, qui interagit avec l’entrée ou la sortie standard, sans utilisation de bibliothèques supplémentaires.

4. Auto-évaluation

  • j’ai réussi à faire s’exécuter au moins une fois un programme PHP, soit :
    • dans le tutoriel en ligne,
    • ou bien en ligne de commande, dans mon environnement (salle TP ou installation BYOD);
  • je connais la syntaxe de base de la programmation « impérative » en PHP, et j’ai vu un aperçu des caractéristiques d’un code PHP « objet »;
  • je sais ce qu’est un tableau associatif, et j’identifie les différentes syntaxes d’initialisation ou d’accès aux données des array en PHP;
  • j’ai un environnement PHP / Symfony opérationnel sur ma machine

5. Aller plus loin

5.1. Auto-apprentissage de PHP plus complet

Vous pouvez trouver de nombreuses autres ressources d’auto-apprentissage que celle suggérée ici. Privilégiez cependant des supports récents, qui abordent une version supérieure à PHP 5, notamment pour le support du modèle objet.

Pour un cours de référence en français sur la syntaxe du langage, vous pouvez aussi consulter : Le cours d’initiation à PHP de Jean-Marc Pujos du CNAM (limitez-vous aux pages 1 à 24 pour l’instant). Il n’est pas indispensable d’approfondir les aspects liés aux bases de données et SQL, qui sont parfois détaillés longuement dans ce genre de cours, et que vous êtes censés maîtriser à l’issue de la 1ère année (ou bien pour raffraîchir vos connaissances).

N’hésitez pas à partager avec vos camarades (et l’équipe enseignante) si vous découvrez mieux.

Webysther_20160423_-_Elephpant.svg.png

6. Annexes

6.1. Étape 1 bis : Alternative hors-ligne au site d’auto-apprentissage

Si vous ne disposez pas d’une connexion Internet pendant votre temps de travail hors-présentiel, vous pouvez travailler avec une version « off-line » du tutoriel « Learn PHP », disponible ici : version offline du site learn-php.org.

Pour tester les exemples du tutoriel et résoudre les exercices, copiez-collez les codes sources fournis dans un éditeur de texte et sauvegardez les fichiers (par exemple avec l’extension .php), puis exécutez le programme correspondant avec une ligne de commande du type :

php salut-1.php

qui affiche :

<html>
<head></head>
<body>
Salut !
</body>
</html>

Author: Olivier Berger (TSP)

Date: 2024-09-02 Mon 13:08

Emacs (Org mode)