Principes de programmation
Introduction
2025 - 2026
Nos objectifs
- se familiariser avec les techniques et les outils informatiques de manipulation et de communication de données
- découvrir, comprendre et mettre en pratique les grands principes de la programmation (logique, algorithmique et structures de contrôle)
- maîtriser les bases du langage PHP afin de résoudre des problèmes concrets et d’appliquer les principes théoriques vus au cours
Évaluation
Elle se fera en fin de deuxième quadrimestre et se fera sera exclusivement sur Moodle.
Contexte
PHP
PHP: Hypertext Preprocessor est un langage exécuté côté serveur utilisé pour créer des sites web dynamiques et interagir avec des bases de données.
Le modèle client-server
- Client: l'utilisateur qui fait une requête depuis un navigateur pour atteindre une ressource.
- Réseau: fait la jonction entre le client et le serveur.
- Serveur: l'endroit où se trouve les ressources (les données).
Type de serveur
Local
Un serveur créé depuis votre ordinateur pour imiter la relation client-serveur. Il existe plusieurs possibilités selon le système d'exploitation :
- WAMP : (Windows, Apache, MySQL, PHP)
- MAMP : (Mac, Apache, MySQL, PHP)
- LAMP : (Linux, Apache, MySQL, PHP)
Distant
Un serveur distinct du client. Dans notre cas cela peut être votre espace fourni par l'école accessible via FTP.
Fichier
Si nous voulons exécuter du code PHP, il va falloir que nos fichiers .html changent d'extension pour .php.
On n'oublie pas qu'il faut un point d'entrée pour chaque site : index.html ou index.php
Syntaxe basique
Pour que du code PHP soit interprété comme tel, il faut le délimiter entre un début et une fin :
// Début
<?php
// Code PHP à exécuter
// …
?>
// Fin
Commentaires
Il existe 2 types de commentaires, sur une ligne ou sur plusieurs :
<?php
// Un commentaire sur une ligne
# Une autre façon d'afficher un commentaire sur une ligne
/* Un commentaire sur
plusieurs lignes */
?>
Instructions
Votre code PHP est un ensemble d'instructions qui se terminent toujours avec un ;
// Début
<?php
$sentence = "coucou";
echo $sentence;
// …
?>
// Fin
Echo
echo permet de retourner une chaine de caractères.
Il doit toujours y avoir un espace entre echo et ce que vous voulez afficher.// Début
<?php
// Retourne la chaine de caractères "coucou"
echo "coucou";
?>
// Fin
Messages d'erreur
PHP nous facilite le débugging en retournant des messages d'erreur s'il en détecte :
<?php
echo 'Cette instruction déclenche une erreur, pourquoi ?'
echo 'Mais pas celle ci.';
?>
Variables
Définition
Les variables sont des espaces mémoire élémentaires qui associent un nom à une valeur. Caractéristiques :
- Nom : le nom qu'on lui assigne (arbitraire)
- Valeur : une valeur associée au nom
- Type : le type de la valeur
- Adresse ou case mémoire : l'endroit où est stocké la variable
Syntaxe d'une variable
Voici les règles à respecter pour écrire une variable :
- Une variable commence toujours par le signe $
- Et est toujours suivie soit par une lettre (majuscule ou minuscule), soit par un underscore _ .
- Ensuite, vous pouvez utiliser des lettres (majuscules ou minuscules), des chiffres, _ mais jamais d’espace, d’accents ni de caractères spéciaux.
- Le nom d’une variable est sensible à la casse (différence entre majuscule et minuscule).
<?php
$name = "Carapuce";
?>
Exercice
Définir si le nom de la variable est correct et pourquoi ?
<?php
$variable
$Nom de Variable
$123Nom_De_Variable
$nom_de_variable_123
$nomDeVariable
$Variable
$toto@mailcity.com
Nom_de_variable
$Nom-de-variable
?>
<?php
$variable // ✅
$Nom de Variable // ❌ : pas d'espace
$123Nom_De_Variable // ❌ : $ ne peut pas être suivi d'un chiffre.
$nom_de_variable_123 // ✅
$nomDeVariable // ✅
$Variable // ✅
$toto@mailcity.com // ❌ : présence de symbole (@, .)
Nom_de_variable // ❌ : ne commence pas $
$Nom-de-variable // ❌ : présence de symbole (-)
?>
Type d'une variable
En PHP, il y a trois catégories de base pour les variables. Pour chaque catégorie, certains types d’opérations sont permises :
- Les types numériques (entier ou réel)
- Les types caractères (caractère ou chaîne de caractères)
- Les types logiques (booléen)
<?php
// Nombres
$level = 30; // Nombre entier : int
$experience = 100.25; // Nombre réel : float
// String (guillemets)
$name = "Pikachu";
$nationalNumber = "0025";
// Boolean
$canEvolve = true;
$hasWaterType = false;
?>
Constantes littérales
Une constante littérale est une notation concrète d'une valeur dans le code source. Dans le code suivant les valeurs 30, "Pikachu" et true sont des constantes littérales. Ce sont les valeurs réelles écrites directement dans le code, pas des références à des variables ou des identifiants nommés :
<?php
$level = 30;
$name = "Pikachu";
$canEvolve = true;
?>
Exercices
Distinguer les variables des constantes littérales et définir la valeur des variables suivantes :
<?php
$a = 5 + 6;
$b = $a + 3; // Valeur de $b ?
$b = $b + 1; // Valeur de $b ?
$c = "Hello";
$d = $c; // Valeur de $d ?
$c = "Ciao"; // Valeur de $c ?
?>
<?php
$a = 5 + 6;
$b = $a + 3; // $b égale 11
$b = $b + 1; // $b égale 12
$c = "Hello";
$d = $c; // $d égale "Hello"
$c = "Ciao"; // $c égale "Ciao"
?>
Définir si les déclarations suivantes sont correctes :
<?php
$a = 2;
$b = 3;
5 = $a + $b;
$c = $a + $d + 50;
"$d" = 25 + 6;
?>
<?php
$a = 2; // ✅
$b = 3; // ✅
5 = $a + $b; // ❌ 5 est une constante littérale, sa valeur est non modifiable.
$c = $a + $d + 50; // ✅
"$d" = 25 + 6; // ❌ "$d" n'est pas une variable, mais une chaine de caractère et donc une constante littérale.
?>
define( )
Il est parfois utile dans vos programmes de définir une valeur à un endroit et de l’utiliser plusieurs fois dans le programme.
Si par la suite, vous voulez changer cette valeur, vous ne devez la changer qu’à un seul endroit.
De plus, cela facilite très souvent la lecture de votre code.
Une constante peut être définie à n’importe quel endroit de votre code. Généralement, on privilégie la définition au début du fichier PHP.
<?php
define( 'POKEMON', 'Pikachu' );
// …
echo POKEMON;
?>
Éxecuter du code
Concaténation
Pour concaténer (=fusionner) deux chaînes de caractères, nous utilisons le symbole . :
<?php
define( 'POKEMON', 'Pikachu' );
// …
echo "Un" . POKEMON . "sauvage apparaît !";
?>
$_POST & $_GET
Dans le cadre du travail qui vous est demandé, nous allons voir ces deux variables un petit peu spéciales. Nous reviendrons plus tard dans les slides sur ce qu’elles contiennent réellement.
À ce stade, ce que vous devez savoir, c’est que lorsque vous créez un formulaire en HTML, vous spécifiez une method et une action :
<form method="POST" action="file.php">
<!-- … -->
</form>
<form method="GET" action="file.php">
<input type="text" name="firstname">
<!-- … -->
</form>
<?php
$_GET['firstname'];
// Si la méthode avait été POST nous aurions pu faire ceci:
// $_POST['firstname'];
?>