Vous êtes sur la page 1sur 149

Outil web

Histoire de JavaScript
JavaScript est avant tout le langage de programmation du Web. Il a
été inventé en 1995 par Brendan Eich, qui travaillait à l'époque pour
la société Netscape, créatrice du premier navigateur Web populaire
(l'ancêtre de Firefox).
JavaScript ne doit pas être confondu avec le langage Java inventé à la
même époque. Leurs syntaxes sont proches, mais leurs usages et
leurs "philosophies" sont très éloignés.
JavaScript a été standardisé en 1997 sous le nom d'ECMAScript.
Depuis, le langage a subi plusieurs séries d'améliorations pour
corriger certaines maladresses initiales et supporter de nouvelles
fonctionnalités.
Histoire de JavaScript
Ce cours utilise la dernière version majeure du langage, appelée
ES2015 ou parfois ES6.
Commentaire
Pour commenter vos lignes de code en JavaScript il faut utiliser les
syntaxes suivants:
• /* Un commentaire sur plusieurs lignes */
• // Un commentaire sur une seule ligne
Affichage
• Pour afficher un message en mode console:
console.log("Bonjour en 3e année !");

• Pour faire des calculs:


console.log(4 + 5); 9
Variable
Une variable possède trois grandes propriétés :
• Son nom, qui permet de l'identifier. Un nom de variable peut
contenir des lettres majuscules ou minuscules, des chiffres (sauf en
première position) et certains caractères comme le dollar ($) ou le tiret
bas, appelé underscore (_).
• Sa valeur, qui est la donnée actuellement mémorisée dans cette
variable.
• Son type, qui détermine le rôle et les opérations applicables à cette
variable.
JavaScript n'impose pas de définir le type d'une variable. Ce type est
déduit de la valeur stockée dans la variable, et peut donc changer au fur
et à mesure de l'exécution du programme : on dit que JavaScript est un
langage à typagedynamique.
Déclaration
Pour déclaration une variable on utilise le syntaxe “let” devant le
nom de la variable
Exemple:
let a;
console.log(a);
Dans les versions du langage précédant la norme ES2015, on
déclarait une variable à l'aide du mot-clé var. C'est toujours possible,
mais il est plus simple d'utiliser let .
Affectation
let a;
a = 3.14;
console.log(a);

ou

let a = 3.14;
console.log(a);
Déclaration d’une constante
Si la valeur initiale d'une variable ne changera jamais au cours de
l'exécution du programme, cette variable est ce qu'on appelle une
constante. Il vaut alors mieux la déclarer avec le mot-clé const
plutôt qu'avec let.
const a = 3.14; // Création d'une variable constante
a = 6.28; // Impossible : a ne peut pas changer de valeur !
Incrémenter une variable de
type nombre
let b = 0; // b contient 0
b += 1; // b contient 1
b++; // b contient 2
console.log(b); // 2
Bloc de code
un bloc de code est délimité par une paire d'accolades ouvrante et
fermante. Un programme JavaScript correspond par défaut à un
unique bloc de code.
let num1 = 0;
{
num1 = 1; // OK : num1 est déclarée dans le bloc parent
const num2 = 0;
}
console.log(num1); // 1
console.log(num2); // Erreur : num2 n'est pas visible ici !
Expression
Le langage JavaScript permet d'inclure des expressions dans une
chaîne de caractères lorsque cette chaîne est délimitée par une paire
d'accents graves seuls ou backticks ( `...` ). A l'intérieur, les
expressions sont indiquées par la syntaxe ${expression}.
Exemple :
const country = "Haiti";
console.log(`Je vis en ${country}`); // "Je vis en Haiti"
const x = 3;
const y = 7;
console.log(`${x} + ${y} = ${x + y}`); // "3 + 7 = 10"
Exercices 1
1. Afficher le message suivant en JavaScript : J’aime mon cours de JavaScript, je compte
réaliser de belles choses
2. Calculer la surface d’un rectangle dont la longueur est 2 cm et largeur 8cm.
3. Calculer le périmètre de ce même rectangle.
4. Calculer la surface d’un carré dont les côtés sont 16cm puis son périmètre.
5. Calculer le périmètre d’un carré, les côtés sont de 24cm.
6. Calculer le diamètre d’un cercle dont son rayon est 23cm puis calculer sa circonférence.
7. Calculer le salaire annuel d’employé dont le revenu mensuel est 23,000. 00 gourdes
brut puis son bonus de fin d’année.
8. Ce même employé (question #7) paie 15% de taxe, quel est son salaire mensuel net?
9. Toto a eu 7.5/10 pour les maths, 6/10 pour le français, 9/10 pour les sciences sociales,
8/10 pour le créole, 10/10 pour les sciences expérimentales, 4/10 pour l’anglais et 5/10
pour les sport. Calculer sa moyenne.
10. Afficher le message suivant : Je suis à l’INUKA et je suis en 3e année. INUKA et 3
doivent être des valeurs des constants.
Conversions de type
Conversion implicite
Utilisation de l'opérateur + entre une valeur de type chaîne et
une valeur de type nombre provoque la concaténation des deux
valeurs dans un résultat de type chaîne.
Exemple :
const a = 20;
console.log("a reçoit " + a); // " a reçoit 20"
Conversions de type
Conversion explicite
On parle alors de conversion explicite quand on veut forcer la conversion
d'une valeur dans un autre type. Pour cela, JavaScript dispose des
instructionsNumber() etString() qui convertissent respectivement en un
nombre et une chaîne la valeur placée entre parenthèses.

const r = "4";
console.log(r+ 1); // Concaténation : affiche "41"

const i = Number("5");
console.log(i + 1); // Addition numérique : affiche 6
Saisie et affichage
const voiture = prompt("Entrez la marque de votre voiture :");
alert(`Bonjour, vouz avez une ${ voiture }`);
Attention! L'instruction prompt() renvoie toujours une valeur de type chaîne. Il
faudra penser à convertir cette valeur avec l'instruction Number() selon vos
besoins.
Exemple : const saisie = prompt("Entrez un nombre : "); // saisie est de
type chaîne
const nb = Number(saisie); // nb est de type nombre
Saisie et affichage
On peut aussi afficher plusieurs informations simultanément.
Exemple : const valeur1 = 40.2;
const valeur 2 = 26.8;
const valeur 3 = 23.9;
console.log(valeur1, valeur2, valeur3);
Les mots réservés
En Javascript, vous êtes libre de choisir le nom de vos variables. Cependant il
y a une liste des mots réservés : break, case, catch, continue, debugger,
default, delete, do, else, finally, for, function, if, in, instanceof, new, return,
switch, this, throw, try, typeof, var, void, while, with…
Syntaxe :
Instruction if
if (condition) { // instructions exécutées quand la condition est vraie
}
Exemple : écrire un programme en Javascript permettant de tester si un
nombre est positif ou négatif
const nombre = Number(prompt("Entrez un nombre :"));
if (nombre > 0) {
alert(nombre + " est positif");
}
else {
alert(nombre + " est négatif ou nul");
}
Syntaxe :
Instruction if
On peut faire ça aussi de manière imbriquer
const nombre = Number(prompt("Entrez un nombre :"));
if (nombre > 0) {
alert(nombre + " est positif");
}
else { // nombre <= 0
if (nombre < 0) {
alert(nombre + " est négatif");
}
else { // nombre === 0
alert(nombre + " est nul");
}
}
Opérateur de comparaison

NB. JavaScript supportera aussi les == et !=


Opérateur logique ET
On souhaite vérifier qu'un nombre est compris entre 2 et 76
Syntaxe :
if ((nombre >= 2) && (nombre <= 76)) {
console.log(nombre + " est compris entre 2 et 76");
}
Opérateur logique OU
On souhaite vérifier qu'un nombre est en dehors de l'intervalle [2, 76]
if ((nombre < 2) || (nombre > 76)) {
console.log(nombre + " est en dehors de l'intervalle [2, 76]");
}
Instruction switch
case valeur1:
// instructions exécutées quand expression vaut valeur1
break;
case valeur2:
// instructions exécutées quand expression vaut valeur2
break;
...
default:
// instructions exécutées quand aucune des valeurs ne correspond
}
La boucle while
La boucle while permet de répéter des instructions tant qu’une condition est
vérifiée.
Exemple : Incrémenter un nombre de +1 jusqu’à que ce nombre soit inférieur
ou égal à 5
console.log("Début du programme");
let nombre = 1;
while (nombre <= 5) {
console.log(nombre);
nombre++;
}
console.log("Fin du programme");
La boucle for
Le programme précédent est réécrit avec la boucle for
let compteur;
for (compteur = 1; compteur <= 5; compteur++) {
console.log(compteur);
}
Compteur de boucle
Très souvent, on n'a pas besoin d'utiliser la variable compteur en dehors du
corps de la boucle. Dans ce cas, on peut la déclarer en même temps qu'on
l'initialise dans la boucle. Notre programme d'exemple peut être réécrit ainsi
for (let compteur = 1; compteur <= 5; compteur++) {
console.log(compteur);
compteur++; // La variable est modifiée dans le corps de la boucle
}
QUIZZ
Exercice 2
Réaliser un programme en Javascript permettant de saisir les
notes de « Réseaux, Développement web, UML, Génie logiciel et
Base de données ».
Aussi ce programme doit pouvoir calculer la moyenne puis
afficher:
« vous avez réussi » si la moyenne est supérieur ou égale à 65;
« Vous êtes en reprise » si la moyenne est comprise entre 50 et
64.99;
“Vous avez échoué » si la moyenne est inférieure à 50;
Bon travail!
Exercice 3
Reprendre l’exercice # 2, cependant le programme doit aussi
afficher les notes à reprendre (toutes les notes inférieurs à 50).
Fonction
Une fonction est un regroupement d'instructions qui réalise une
tâche donnée.
Exemple:
function direSalut() {
console.log("Salut !");
}

console.log("Début");
direSalut ();
console.log("Fin");
Déclaration d’une fonction
La syntaxe pour déclarer une fonction est la suivante :
function nomFonction() {
// Instructions de la fonction
}
Appel d’une fonction
L’appel d’une fonction s’effectue en écrivant le nom de la fonction suivie
d’une paire de parenthèses
nomFonction() ;

Avantage: La fonction permet de lutter contre la duplication de code et


aussi de décomposer chaque problème en sous-problèmes.
Valeur de retour
L'utilisation du mot-clé return dans une fonction permet de lui donner
une valeur de retour.
function direSalut() {
return "Salut!";
}
console.log("Début");
const resultat = direSalut();
console.log(resultat); // "Salut !"
console.log("Fin");
Son appel produit un résultat qui correspond à la valeur placée juste
après le return dans la fonction
Variable locale
On peut aussi déclarer des variables à l’intérieur d’une fonction
function direSalut() {
let message = "Salut!";
return message;
}
console.log(direSalut()); // "Salut !"
Variable locale
Les variables déclarées dans le corps d'une fonction sont appelées des
variables locales.
On ne pourra pas faire appel à la variable locale de la fonction direSalut()
à l’extérieur de cette fonction.
Exemple :
function direSalut() {
let message = "Salut!";
return message;
}
Paramètre
Un paramètre est une information dont une fonction a besoin pour
jouer son rôle. On peut ensuite utiliser leur valeur dans le corps de la
fonction.
La valeur d'un paramètre est fournie au moment de l'appel de la
fonction : on dit que cette valeur est passée en paramètre. On appelle
argument la valeur donnée à un paramètre lors d'un appel.
Paramètre
function direSalut(prenom) {
const message = `Salut, ${prenom} !`;
return message;
}
console.log(direSalut("Ronald")); // "Salut, Ronald !"
console.log(direSalut ("Christelle")); // "Salut, Christelle!"
Dans cet exemple, le premier appel à la fonction direSalut () est fait avec
l'argument " Ronald " et le second avec l'argument " Christelle ". Dans le
premier cas, le paramètre prenom reçoit la valeur " Ronald " et dans le
second, la valeur " Christelle ".
Paramètre
On peut aussi déclarer des variables pour stocker l’argument de la
fonction
Exemple : function direSalut (prenom) {
// Ici, prenom est le paramètre de la fonction
let message = `Bonjour, ${prenom} !`;
return message;
}
// Ici, prenom est une variable utilisée comme argument
let prenom = "Ronald";
console.log(direSalut (prenom)); // "Bonjour, Ronald !"
Paramètre
On peut aussi passer plusieurs paramètres, cependant il faudra
respecter l’ordre.
Exemple : function travauxPratique(cours, labo) {
console.log(`Je suis un cours de ${cours} au laboratoire # ${labo} `);
}

travauxPratique ("Javascript", 3); // "Je suis un cours de Javascript au


laboratoire # 3"
travauxPratique (3, "Javascript"); // " Je suis un cours de 3 au laboratoire
# Javascript"
Fonctions anonymes
La fonction anonyme est directement affectées à une variable
Exemple :
const bonjour = function(prenom) {
const message = `Bonjour, ${prenom} !`;
return message;
}
console.log(bonjour("Ronald")); // "Bonjour, Ronald !"
Fonctions anonymes
const bonjour = (prenom) => {
const message = `Bonjour, ${prenom} !`;
return message;
}

console.log(bonjour("Ronald")); // "Bonjour, Thomas !"


Fonctions prédéfinies
Il y a aussi des fonction prédéfinies comme prompt() alert() et aussi des
fonction mathématique comme par exemple :
console.log(Math.min(4.5, 5)); // 4.5
console.log(Math.max(19, 9)); // 9
console.log(Math.random()); // Un nombre aléatoire entre 0 et 1
Exercice 4
1. Écrire une fonction en Javascript permettant d’afficher les notes de «
Réseaux, Développement web, UML, Génie logiciel et Base de
données ».
2. Écrire une fonction permettant de calculer le salaire net d’une
personne sur la base de son salaire brut en décomptant les frais
suivants: Import sur le revenu: 18%, Assurance: 7%, Régime de pensions: 5%.
3. Reprendre l’exercice précédent sachant qu’il est possible de recevoir des
réductions sur les impôts sur le revenu sous certaines conditions: si le
travailleur est une femme, elle reçoit 2% de réduction, si le travailleur a 3
personnes à charge, il reçoit 1% de réduction, si le travailleur a 4 personnes à
charge ou plus, il reçoit 2% de réduction.
Bon travail!
Canvas
C’est une paire de balises ouvrante/fermante similaire à <div> </div>
Alors son utilisation est ainsi <canvas> </canvas>. Cependant, la zone délimitée par
les balises <canvas> peut être utilisée pour dessiner ou réaliser des animations.
Avant de pouvoir utiliser le canvas pour dessiner ou faire une animation, il faut
définir les attributs ID, width et height. Ils doivent soit directement apparaitre dans
le HTML ou être avec JavaScript/jQuery.
Contenu par défaut pour <canvas>
<canvas id= "monCanvas" width="600" height="400">
<p>
Contenu
</p>
</canvas>
Exercice 5
Réaliser un triangle sur canvas en utilisant le langage Javascript.

Exemple en image:
Canvas/Styles de contour et de
remplissage
Pour moduler les styles des couleurs de contour et de remplissage dont dépendent
fill() et stroke(), il faut agir sur des propriétés du contexte de dessin qui sont
fillStyle et strokeStyle. Les valeurs acceptées sont tous les codes couleurs reconnus
par le navigateur, par exemple comme en CSS : par nom (red, black), par code
hexadécimal (#f00, #000000), par code rgb, etc. On remarque qu'il s'agit ici bien de
s'adresser à une propriété JavaScript et non pas de déclencher une fonction (il n'y
a pas de parenthèses à la fin de la ligne, mais bien une affectation grâce au signe
égal). Ces propriétés peuvent aussi accepter des dégradés ou des motifs, qui seront
abordés plus tard
PHP
PHP, tel qu'il est connu aujourd'hui, est le successeur d'un produit appelé PHP/FI. Créée en 1994
par Rasmus Lerdorf, la toute première incarnation de PHP était un simple jeu de binaires CGI
écrits en langage C. Originairement utilisée pour suivre les visiteurs de son curriculum vitae en
ligne, il nomme cette suite de scripts "Personal Home Page Tools" (ndt : Outils pour page
personnelle), plus fréquemment appelée "PHP Tools". Au fil du temps, de plus en plus de
fonctionnalités sont demandées, et Rasmus ré-écrit les outils PHP, produisant ainsi une
implémentation plus large et plus riche. Ce nouveau modèle était capable d’interagir avec une
base de données, mais aussi, fournissait un framework permettant aux utilisateurs de
développer une application dynamique simple pour le web, comme des livres d'or. En Juin 1995,
Rasmus » fournit le code source de PHP Tools au grand public, permettant ainsi aux
développeurs de l'utiliser comme bon leur semblait. Ceci a également permis - et encouragé -
aux utilisateurs de fournir des patches pour corriger les bogues, mais aussi pour éprouver la
stabilité du produit. [source : php.net]
Le fonctionnement du World
Wide Web
Le client : C’est le visiteur d’un site Web. Il demande la page Web au serveur. En pratique, vous
êtes des clients quand vous surfez sur le Web.
Plus précisément c’est votre navigateur Web(Firefox, Chrome, Safari, IE, Edge, …) qui est le client
car c’est lui qui demande la page Web.
Le serveur : Ce sont les ordinateurs qui délivrent les site Web aux internautes, c’est-à-dire aux
clients.
Les sites statiques : ce sont des sites réalisés uniquement à l'aide des langages HTML et CSS. Ils
fonctionnent très bien mais leur contenu ne peut pas être mis à jour automatiquement : il faut
que le propriétaire du site (le webmaster) modifie le code source pour y ajouter des nouveautés.
Les sites dynamiques : plus complexes, ils utilisent d'autres langages en plus de HTML et CSS, tels
que PHP et MySQL. Le contenu de ces sites web est dit « dynamique » parce qu'il peut changer
sans l'intervention du webmaster. Le seul prérequis pour apprendre à créer ce type de sites est
de déjà savoir réaliser des sites statiques en HTML et CSS.
Définition du mot Script
En informatique, un script désigne un programme (ou un bout de programme) chargé d'exécuter
une action pré-définie quand un utilisateur réalise une action ou qu'une page web est en cours
d'affichage sur un écran.
Les langages de script ne sont généralement pas compilés, à quelques exceptions près, c'est-à-
dire qu'ils s'affranchissent des contraintes de bas niveau pour être interprétés directement par la
machine qui les héberge.
Deux catégories de scripts informatiques utilisés dans le web
Il est courant de distinguer entre deux types de langages de script ou langages de programmation
dynamique :
les scripts interprétés côté serveur (c'est le cas des langages utilisés pour la création de sites
web dynamiques comme PHP Python, ASP, etc.). Le code n'est alors pas visible sur le code source
de la page web car il est lu et interprété par la machine qui héberge le site (le serveur), puis
envoyé vers l'appareil de l'utilisateur en format HTML.
Les scripts interprétés côté client, envoyés sous leur forme brute à la machine cliente (celle de
l'utilisateur). C'est le cas de JavaScript compris par le navigateur web et exécuté directement par
celui-ci.
Quelques langages de script
Unix Shell Script, Javascript, Work Flow language, Modern pascal, Rebol, PwerShell, etc.
Rappel/Pour un site web statique
HTML : c'est le langage à la base des sites web. Simple à apprendre, il fonctionne à
partir de balises.
CSS : c'est le langage de mise en forme des sites web. Alors que le HTML permet
d'écrire le contenu de vos pages web et de les structurer, le langage CSS s'occupe
de la mise en forme et de la mise en page.
Rappel/Pour un site web dynamique
PHP : C'est un langage que seuls les serveurs comprennent et qui permet de
rendre votre site dynamique.
MySQL : c'est ce qu'on appelle un SGBD (Système de Gestion de Base de Données).
Pour faire simple, son rôle est d'enregistrer des données de manière organisée afin
de vous aider à les retrouver facilement plus tard.
Quelques concurrents de PHP : ASP.Net, Java et les JSP (Java Server Pages)…
Quelques concurrents de MySQL : Oracle, Microsoft SQL Server, PostgreSQL…
Outil pour un site web dynamique
Apache : c'est ce qu'on appelle un serveur web. Il s'agit du plus important de tous
les programmes, car c'est lui qui est chargé de délivrer les pages web aux visiteurs.
PHP : c'est un plug-in pour Apache qui le rend capable de traiter des pages web
dynamiques en PHP. En clair, en combinant Apache et PHP, notre ordinateur sera
capable de lire des pages web en PHP.
MySQL : Il permet d'enregistrer des données de manière organisée.
Les balises PHP
La balise PHP commence par <?php et se termine par?>; c'est à l'intérieur que l'on
mettra du code PHP.
Exemple : <?php /* Le code PHP se met ici */ ?>
L’instruction echo
L’instruction echo est utilisée pour insérer du texte dans la page web.
Exemple : <?php echo "Ici, c’est la 3e année"; ?>

Les balises HTML peuvent s’introduire aussi à l’intérieur des balises PHP.
Exemple : <?php echo "Ceci est du <strong>texte</strong>"; ?>
Affichache de guillement
Pour afficher le guillement cela consiste à faire précéder le guillement d’un
antislash \
Exemple : <?php echo "Cette ligne a été écrite \"uniquement\" en PHP."; ?>
Affichage de la date
<p>Aujourd'hui nous sommes le <?php echo date('d/m/Y h:i:s'); ?>.</p>
Les commentaires
Pour indiquer que vous écrivez un commentaire sur une seule ligne, vous devez
taper deux slashs : //.
Ce sont les plus pratiques si vous pensez écrire un commentaire sur plusieurs
lignes, mais on peut aussi s'en servir pour écrire des commentaires d'une seule
ligne. Il faut commencer par écrire/*puis refermer par*/:
Les variables
Une variable, c’est une petite information stockée en mémoire temporairement.
Les différents types de variables:
Les chaines de caractères : string
Nombres entiers : int
Nombres décimaux : float
Boolées : bool
En absence de type on parle de variable NULL
Affecter une valeur à une variable
<?php
$ageEtudiant = 41;
?>
Afficher des variables
<?php
$nomEtudiant= "Martin";
echo $nomEtudiant;
?>
Concaténer des variables
La concaténation consiste à assembler des textes et des variables
Exemple :
<?php
$nomEtudiant= "Martin";
echo "Le nom de l’étudiant est :";
echo $nomEtudiant;
Concaténer avec des guillemets
doubles
Exemple :
<?php
$nomEtudiant= "Martin";
echo "Le nom de l’étudiant est : $nomEtudiant ";
?>
Cela marchera, mais il est préférable de faire ainsi (avec des guillemets simples):
<?php
$nomEtudiant= "Martin";
echo 'Le nom de l’étudiant est : ' . $nomEtudiant . ;
?>
Exemple :
Faire des calculs
<?php
$nombre = 2 + 4; // $nombre prend la valeur 6
$nombre = 5 - 1; // $nombre prend la valeur 4
$nombre = 3 * 5; // $nombre prend la valeur 15
$nombre = 10 / 2; // $nombre prend la valeur 5
$nombre = 3 * 5 + 1; // $nombre prend la valeur 16
$nombre = (1 + 2) * 2; // $nombre prend la valeur 6
$nombre = 10;
$resultat = ($nombre + 5) * $nombre; // $resultat prend la valeur 150
?>
Le modulo
Le modulo représente le reste de la division
Exemple :
<?php
$nombre = 10 % 5; // $nombre prend la valeur 0 car la division tombe juste
$nombre = 10 % 3; // $nombre prend la valeur 1 car il reste 1
?>
Les structures conditionnelles
Les symboles à connaitre
Structure if…else
Syntaxe :
<?php
$produit = 10;

if ($produit <= 15)


{
echo "Ce produit est n’est pas chère!";
}
?>
Structure if…else
Exemple : <?php
$ produit = 10;
if ($produit <= 15) {
echo "Bienvenue, ce produit n’est pas chère !<br />";
$autorisation_achat = "Oui";
}
else {
echo "Ce produit est trop chère !<br />";
$ autorisation_achat = "Non";
}
echo "Avez-vous l'autorisation d’acheter ? La réponse est : $ autorisation_achat ";
?>
Structure if…else
N.B. Il y a aussi elseif que signifie sinon et les boolées (true, false)

Exemple :Tester si la variable vaut false


<?php
$autorisation_entrer = true;
if ($autorisation_entrer == true){
echo "Assis";
}
elseif ($autorisation_entrer == false){
echo "Debout!";
}
?>
Structure logique
Exemple : <?php
$produit = 10; $qualite = "Supérieur";
if ($produit <= 15 AND $qualite ==
"Supérieur"){
echo "Vous avez fait le bon choix !";
}
elseif ($produit <= 15 AND $qualite ==
"Moyen"){
echo "Ce n’est pas vraiment un produit de
bonne qualité!";
}
?>
Syntaxe :<?php
Les alternatifs : switch
$note = 10;
switch ($note) {
case 0:
echo "Nul !!!";
break;
case 5:
echo "Mauvais";
break;
case : 9
echo "Bon";
break;
default:
echo "Désolé, il n’a pas de note";}
Conditions ternaires : conditions
condensées
Exemple : <?php
$age = 24;
if ($age >= 18){
$majeur = true;
}
else {
$majeur = false;
}
?>
En structure ternaire
Exemple : <?php
$age = 24;

$majeur = ($age >= 18) ? true : false;


?>
Boucle while
Syntaxe :
<?php
while ($continuer_boucle == true) {
// instructions à exécuter dans la boucle
}
?>
Boucle while
Exemple :
<?php
$nombre_de_lignes = 1;
while ($nombre_de_lignes <= 10){
echo 'Ceci est la ligne n°' . $nombre_de_lignes . '<br />';
$nombre_de_lignes++;
}
?>
Boucle for
Exemple :
<?php
for ($nombre_de_lignes = 1; $nombre_de_lignes <= 10;
$nombre_de_lignes++){
echo 'Ceci est la ligne n°' . $nombre_de_lignes . '<br />';
}
?>
Les tableaux
Il y a deux types de tableaux : tableaux numérotés, tableaux associatifs

Tableaux numérotés (array)


Les valeurs sont rangées dans des cases. Chaque case est identifiée par un
numéro. Ce numéro est appelé clé.
N.B. Les tableaux numérotés commencent toujours à la case # 0.
Syntaxe :
<?php
$prenoms = array ('Moise', 'Jean Charles', 'Michel', 'Martine',
'Alex');
?>
Les tableaux
Ou Créer manuellement ce tableau: <?php
$prenoms[0] = 'Moise';
$prenoms[1] = 'Jean Charles';
$prenoms[2] = 'Michel';
?>
Ou laisser les crochez vide: <?php
$prenoms[] = 'Moise';
$prenoms[] = 'Jean Charles';
$prenoms[] = 'Michel';
?>
Les tableaux
Afficher tableau:
Syntaxe :
<?php
echo $prenoms[1];
?>
Les tableaux
Tableaux associatifs
Les tableaux associatifs sont etiquetés par des noms différents
Exemple :
<?php
$coordonnees = array (
'prenom' => 'Lionel',
'nom' => 'Messi',
'adresse' => 'Village de Dieu (Zone Bicentenaire)',
'ville' => 'Port-au-Prince');
?>
Les tableaux
Il est aussi possible de créer un tableau case par case:
<?php
$coordonnees['prenom'] = 'Cristiano';
$coordonnees['nom'] = 'Ronaldo';
$coordonnees['adresse'] = 'Martissant 2';
$coordonnees['ville'] = 'Port-au-Prince';
?>
Exemple : Pour afficher la ville de Ronaldo
<?php
echo $coordonnees['ville'];
?>
Parcourir un tableau
Boucle for:
Pour parcourir un tableau numéroté on fait une boucle for qui incrémente un
compteur à partit de 0
Exemple :
<?php
$prenoms = array ('Mbappe', 'Neymar', 'Messi', 'Ronaldo',
'Modric');
for ($numero = 0; $numero < 5; $numero++){
echo $prenoms[$numero] . '<br />'; // affichera
$prenoms[0], $prenoms[1] etc.
}
?>
Parcourir un tableau
Boucle foreach:
C’est une sorte de boucle for spécialisée dans les tableaux. Foreach passe en
revue chaque ligne du tableau, et lors de chaque passage, elle va mettre la
valeur de cette ligne dans une variable temporaire.
Exemple :
<?php
$prenoms = array ('Mbappe', 'Neymar', 'Messi', 'Ronaldo',
'Modric');
foreach($prenoms as $element){
echo $element . '<br />'; // affichera $prenoms[0],
$prenoms[1] etc.
}
?>
Parcourir un tableau
Avantage foreach : Permettre aussi de parcourir les tableaux associatifs
Exemple : <?php
$coordonnees = array (
'prenom' => 'Neymar',
'nom' => 'Junior',
'adresse' => 'Boulevard 15 Octobre (En face Unversité
INUKA)',
'ville' => Tabarre);
foreach($coordonnees as $element){
echo $element . '<br />';
}
?>
Parcourir un tableau
On peut aussi récupérer la clé de l'élément.
Syntaxe : <?php foreach($coordonnees as $cle => $element) ?>
Exemple: <?php
$coordonnees = array (
'prenom' => 'Toto',
'nom' => 'Tolalito',
'adresse' => '7Rue Vivre Ensemble',
'ville' => 'Delmas');
foreach($coordonnees as $cle => $element){
echo '[' . $cle . '] vaut ' . $element . '<br />';
} ?>
Pour afficher un tableau (array)
Pour afficher un tableau en PHP, on fait appel à la fonction print_r
Exemple : <?php
$coordonnees = array (
'prenom' => 'Sebastien',
'nom' => Guillaume,
'adresse' => '4 Kafou Lanmò',
'ville' => 'Fort-Liberté');
echo '<pre>';
print_r($coordonnees);
echo '</pre>';
?>
N.B. On utilise la balise <pre> pour avoir un affichage correct
Recherche dans un tableau
Il y a trois type de recherches : array_key_exists, in_array, array_search
array_key_exists : Parcourir le tableau pour vérifier s'il contient la clé.
Syntaxe: <?php array_key_exists('cle', $array); ?>
La fonction renvoie une valeur booléenne (true/false)
Exemple: <?php
$coordonnees = array (
'prenom' => 'Alex',
'nom' => 'Christian',
'adresse' => '7, Lafleur du chêne',
'ville' => 'Port-au-Prince');
if (array_key_exists('ville', $coordonnees)){
echo 'La clé "ville" existe dans le tableau !';} ?>
Recherche dans un tableau
in_array : Parcourir le tableau pour vérifier si la valeur existe.
Exemple : <?php
$fourniture = array ('Chaise', 'Table', 'Crayon', 'Bloc jaune');
if (in_array('Crayon', $fourniture)){
echo 'La valeur "Crayon" se trouve dans les fournitures!';}
?>
Recherche dans un tableau
array_search : Travaille sur les valeurs d’un tableau puis renvoie la clé
correspondante.
Exemple :
<?php
$fruits = array ('Banane', 'Pomme', 'Poire', 'Cerise', 'Fraise',
'Framboise');
$position = array_search('Fraise', $fruits);
echo '"Fraise" se trouve en position ' . $position . '<br />';
?>
Fonction
C’est un ensemble d’instructions qui effectue des actions et qui retourne une
valeur.
Syntaxe : <?php
calculSurface();
?>
La fonction « strlen »
Cette fonction permet de retourner la longueur d’une chaine de caractères.
Exemple : <?php
$phrase = 'Bonjour, bienvenue en 2e session';
$longueur = strlen($phrase);
echo 'La phrase ci-dessous comporte ' . $longueur . '
caractères :<br />' . $phrase;
?>
La fonction « str_replace»
Cette fonction remplace une chaine de caractère par une autre
Exemple:
<?php
$ma_variable = str_replace('d', 'c', 'dhien dhaise doup);
echo $ma_variable;
?>
La fonction «str_shuffle»
Cette fonction mélanger aléatoirement les caractères d’une chaîne.
Exemple :
<?php
$chaine = 'Haïti, la Perle des Antilles!';
$chaine = str_shuffle($chaine);
echo $chaine;
?>
La fonction «strtolower»
Cette convertit tous les caractères d’une chaine en minuscule.
Exemple :
<?php
$chaine = 'ECRIRE TOUS LES MOTS EN MINISCULE';
$chaine = strtolower($chaine);
echo $chaine;
?>
N.B. La fonction « strtoupper »
Cette fonction convertit tous les caractères d’une chaine en majuscule.
La fonction «date»
Cette fonction permet de retourner la date
Exemple : <?php
$annee = date('Y');
echo $annee;
?>
Créer sa propre fonction
Exemple 1 :
<?php
function DireSalut($nom) {
echo 'Bonjour ' . $nom . ' !<br />';
}

DireSalut ('Ronaldo');
DireSalut ('Messi');
?>
Créer sa propre fonction
Exemple 2:
<?php
function SurfaceRectangle($longueur, $largeur) {
$surface = $longueur * $longueur;
return $surface;
}

$surface = SurfaceRectangle (3, 2);


echo 'La surface du rectangle est : ' . $surface;
?>
Exercice 5
1. Écrire un programme en PHP permettant d’afficher : « Nous sommes en
2e session, vivre l’informatique! ».
2. Écrire un programme en PHP permettant d’afficher «Je suis actuellement
au laboratoire dont la date du jour est :__________» (Inspirez-vous de l’heure
de votre serveur local).
3. Déclarer deux (2) variables en PHP dont leurs valeurs sont initialement 45
et 137. Additionner ces deux valeurs puis divisez le résultat par 5, et ensuite
trouver le modulo du dernier résultat. Afficher les différents résultats en
utilisant la notion de concaténation.
4. En vous inspirant de l’exercice précédent, testez si le modulo est supérieur
ou égal à 2 (si oui, affichez un message en conséquence).
5. Reprendre l’exercice précédent en utilisant la notion switch.
Exercice 5
6. Soit le tableau suivant : <?php $note = array (
'Réseaux' => 80,
'Lunix' => 70,
'Web' => 75,
'Base de données' => 100;) ?>
A. Utiliser la notion foreach pour parcourir et afficher les valeurs du
tableau.
B. Puis parcourir et afficher les valeurs et les indices du tableau.
C. Utiliser la balise <pre></pre> pour avoir un affichage correct.
D. Parcourir le tableau pour vérifier si l’indice (clé) «Web» existe.
E. Afficher le tableau dans un tableau HTML.
Exercice 5
F. Parcourir le tableau puis afficher « OUI » si une note est égale à 81,
sinon afficher NON.
7. Saisir une phrase, puis afficher la longueur de cette phrase.
8. Inviter un utilisateur à saisir son nom de famille puis afficher le. Celui-ci doit
être en majuscule même quand l’utilisateur utilise des lettres minuscules
durant la saisie.
9. Réaliser le formulaire ci-dessous en utilisant des tableaux pour stocker les
informations. (Sexe: radio, Téléphone: nombre, date de naissance: date, Etat
matrimonial: menu déroulant)
NOM PRENOM SEXE TELEPHONE DATE DE ETAT
NAISSANCE MATRIMONIAL
Exercice 5
10. Considérons le tableau suivant : $joueurs = [
['nom' => 'Tervillus', 'score' => 150],
['nom' => 'Laura', 'score' => 120],
['nom' => 'Ivinson', 'score' => 98],
['nom' => 'Sony', 'score' => 153],
['nom' => 'David', 'score' => 118]];
Écrire une fonction meilleurJoueur() prenant en paramètre un tableau ayant la
même structure que le tableau $joueurs et retournant un tableau contenant le
nom et le score du meilleur joueur.
Exercice 5
11. Ecrire un script qui affiche la date et l'heure courantes sous les formes
suivantes :
Mon, 25 Jan 2016 23:31:01 +0100
Monday/January/2016
25/Jan/2016
25-01-16
23h: 31m: 01
N.B.
d=Jour du mois sur deux chiffres [01..31]; j=Jour du mois sans les zéros
initiaux;l=Jour de la semaine textuel en version longue et en anglais;D=Jour
de la semaine textuel en trois lettres et en anglais;m=Mois de l'année sur
deux chiffres [01..12];F=Mois textuel en version longue et en anglais
M Mois textuel en trois lettres
Exercice 5
12. En utilisant la fonction strlen() écrivez une boucle qui affiche chaque lettre
de la chaîne JUIN 2019 sur une ligne différente.
13. Créez un tableau contenant une liste d’adresses de sites recommandés, puis
créez un lien aléatoire vers le premier site de la liste après avoir trié le
tableau en ordre aléatoire.
N.B.
La fonction shuffle() mélange effectivement les éléments d’un tableau
mais ne conserve pas les clés, elle n’est donc pas adaptée pour
récupérer la clé et la valeur du tableau $tab. La fonction array_rand()
retourne la clé de l’élément pris au hasard. Cette clé permet de lire le
nom du site et son adresse URL.
Exercice 5
14. Dans la perspective de création d’un site d’agence immobilière, créer un
formulaire comprenant trois boutons Submit nommés « Vendre », «
Acheter » et « Louer ». En fonction du choix effectué par le visiteur, le
rediriger vers une page spécialisée dont le contenu réponde au critère
choisi.
15. Créez une fonction PHP qui affiche une boîte d'alerte à partir de la
fonction JavaScript dont la syntaxe est alert("chaine_de_caractères").
Cette fonction peut être appelée avec comme paramètre le texte du
message à afficher. Elle est particulièrement utile pour afficher des
messages d’erreur de manière élégante, sans que ces derniers restent
écrits dans la page.
N.B. La fonction retourne la valeur TRUE. Ceci n’est pas obligatoire mais
peut permettre un contrôle d’exécution.
Exercice 5
16. Écrivez une fonction dont le paramètre passé par référence est un tableau
de chaînes de caractères et qui transforme chacun des éléments du tableau
de manière que le premier caractère soit en majuscule et les autres en
minuscules, quelle que soit la casse initiale des éléments, même si elle est
mixte.
17. Quel jour de la semaine était le 7 février 1998 ?
18. Affichez toutes les années bissextiles comprises entre 2005 et 2036.
Envoyer des paramètres dans l’URL
Dans l’exemple ci-dessous les paramètres nom et prenom sont envoyés vers la
page etudiant.php à travers l’URL
<?php
<a href="etudiant.php?nom=Jennifer&amp;prenom=Seide">Bienvenue !</a>
?>
Envoyer des paramètres dans l’URL
Récupérer les paramètres en PHP
Les données sont récupérées dans un tableau associatif

Exemple:
<?php
<p>Bonjour <?php echo $_GET['prenom'] . ' ' . $_GET['nom']; ?> !</p>
?>
Transmettre les données à partir d’un
formulaire
Méthode
Il existe plusieurs moyens d’envoyer les données du formulaire :
get : Les données transitent par l’URL. Cependant Il n’est pas conseillé de
dépasser les 256 caractères.
post : Cette méthode permet d’envoyer autant de données que l’on veut.

Cible
L’attribut « action » permet de cibler la page ou les données vont être envoyées
Echapper le HTML
Pour échapper le code HTML, on utilise la fonction htmlspecialchars. Elle
transforme les chevrons des balises HTML <> en &lt; et &gt; respectivement.
Cela provoquera l'affichage de la balise plutôt que son exécution.
Exemple 1 :
<p>Le premier président d’Haïti s’appelle <?php echo
htmlspecialchars($_POST['prenom']); ?> !</p>
Enregistrer des données dans un fichier
avec PHP
Nous avons appris à envoyer des données via des formulaires. Il nous vient
maintenant à l'esprit de vouloir stocker ces données quelque part. Pour cela
PHP nous propose plusieurs choix sur la façon de stocker les données : Entre
autres, il est possible de les stocker dans des bases de données ou dans des
fichiers.
PHP propose bon nombre de fonction pour la manipulation des fichiers, qui va
de son ouverture à l'écriture dans un fichier texte, ou de la lecture d'un fichier
texte jusqu'à sa fermeture. Avec toutes les richesses syntaxiques du langage,
on peut même traiter des fichiers autres que les simples fichiers textes. Fichiers
csv, par exemple.
La fonction fopen
La fonction PHP de base pour l'ouverture d'un fichier est la fonction fopen(). Sa
syntaxe est la suivante : fopen(fichier, mode);
Pour indiquer le mode d'ouverture du fichier on emploi une lettre et on le met
en deuxième argument de la fonction fopen.
Liste des modes avec leurs significations
r : Ouvre un fichier en lecture seule, place le pointeur en début de fichier (r pour
read).
r+ : Ouvre le fichier en lecture et écriture, place le pointeur en début de fichier.
w : Ouvre un fichier en écriture seule, place le pointeur en début de fichier. Si le
fichier existe déjà, son contenu est écrasé, dans le cas contraire il crée le fichier (w
pour write).
w+ : Ouvre le fichier en mode lecture et écriture, place le pointeur au début du
fichier. Si le fichier existe déjà, son contenu est écrasé, dans le cas contraire, il crée
le fichier.
a : Ouvre le fichier en écriture seule, place le pointeur à la fin du fichier. Si le fichier
n'existe pas, on tente de le créer (a pour append).
a+ : Ouvre le fichier en mode lecture et en écriture, place le pointeur à la fin du
fichier. Si le fichier n'existe pas, on tente de le créer.
Ecriture dans un fichier : fwrite
La fonction fwrite() est utilisée pour l'écriture dans un fichier.
Selon le prototype suivant, elle peut posséder 3 arguments :
int fwrite ( resource fichier, string chaine [, int longueur])

Elle retourne une valeur de type int qui correspond au nombre de bytes écrites ou
FALSE en cas d'erreur. Le troisième paramètre qui est facultatif est la longueur.
Lorsqu'il est spécifié, il indique le nombre maximal d'octets à écrire.
Envoi de fichiers
Pour envoyer un fichier, il faut ajouter l’attribut enctype="multipart/form-data"
à la balise <form>. Et pour chaque ficher envoyé une variable est créée
$_FILES['nom_du_champ']
Exemple :
<form action="envoi.php" method="post" enctype="multipart/form-data">
<p>
Formulaire d'envoi de fichier :<br />
<input type="file" name="inuka" /><br />
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
Envoi de fichiers
$_FILES['inuka']['name'] Contient le nom du fichier.
$_FILES['inuka']['type'] Indique le type du fichier.
$_FILES['inuka']['size'] Indique la taille du fichier (en octet).
$_FILES['inuka']['tmp_name'] Contient l’emplacement temporaire
du fichier
$_FILES['inuka']['error'] Teste si le fichier a été bien envoyé
N.B. 1 000 octets vaut environ 1 Ko
1 000 000 octets vaut environ 1 Mo.
Pathinfo
La fonction pathinfo() renvoie un tableau (array) contenant l’extension du
fichier. Une fois l’extension récupérée, on peut la comparer à un tableau
d’extension autorisée.
Exercice 6
1. Écrire un programme en PHP demandant à l’utilisateur de saisir le nom,
le prénom, le sexe et l’état matrimonial d’un individu. Les paramètres
doivent être envoyés dans l’URL, puis les informations saisies vont être
définitivement sauvegardées dans un fichier.txt
2. Reprendre l’exercice précédent en travaillant avec d’autres paramètres:
Demander à l’utilisateur de saisir la plaque d’immatriculation, le
numéro du moteur, la marque, l’année et la couleur d’un véhicule.
Envoyer les paramètres via l’URL, puis sauvegarder définitivement les
informations dans un fichier vehicule.txt
Regex
A1A 1A1 - ^[A-Z]\d[A-Z]\s\d[A-Z]\d$
^ indique le début d'une chaîne.
$ indique la fin d'une chaîne.
. Indique n'importe quel caractère.
[A-Z] Les lettres alphabétiques correspondent à n'importe quel caractère alphabétique. Ceci est sensible à la
casse. lettres minuscules, utilisez [a-z].
\d Indique un chiffre.
Ça revient exactement à taper[0-9]
+ Le signe plus indique que le caractère ou le jeu de caractères précédent doit correspondre au moins une fois

* L'astérisque indique que le caractère ou le jeu de caractères précédent peut correspondre ou non. Cela
génère zéro ou plusieurs correspondances.
[^] Lorsqu'il est inclus dans un jeu de caractères, le signe d'insertion indique une négation. [^ a] correspondrait
à une chaîne cela n'a pas de 'a' dedans.
? Le point d'interrogation indique que le caractère précédent est facultatif.
\w Indique un caractère alphanumérique ou un tiret de soulignement.
\ La barre oblique inverse est un caractère d'échappement. Si un caractère spécial doit être inclus dans le
le jeu de caractères correspondant littéralement, il doit être échappé avec un \.

\s Indique un espace blanc


\r Indique un retour chariot
QUIZZ
Protéger l'accès à une page par un mot de
passe
Exercice 7
Saisir un mot de passe puis afficher un message secret si ce dernier est
correct.
Variables superglobales
Trois caractéristiques des variables superglobales :
A) Elles sont écrites en majuscules et commencent toutes, à une
exception près, par un underscore (_).$_GET et $_POST ;
B) Les superglobales sont des « array » car elles contiennent
généralement de nombreuses informations ;
C) Ces variables sont automatiquement créées par PHP à chaque fois
qu'une page est chargée.
Variables superglobales
Affichage du contenu d’une variable superglobale:
<pre>
<?php
print_r($_GET);
?>
</pre>
Variables superglobales
Liste non exhaustive :
$_SERVER : ce sont des valeurs renvoyées par le serveur. Elles sont
nombreuses et quelques-unes d'entre elles peuvent nous être d'une grande
utilité.
$_SERVER['REMOTE_ADDR']. Elle nous donne l'adresse IP du client qui a
demandé à voir la page, ce qui peut être utile pour l'identifier.
$_ENV : ce sont des variables d'environnement toujours données par le
serveur. C'est le plus souvent sous des serveurs Linux que l'on retrouve des
informations dans cette superglobale. Généralement, on ne trouvera rien
de bien utile là-dedans pour notre site web.
$_SESSION : on y retrouve les variables de session. Ce sont des variables qui
restent stockées sur le serveur le temps de la présence d'un visiteur.
Variables superglobales
Liste non exhaustive :
$_COOKIE : contient les valeurs des cookies enregistrés sur l'ordinateur du
visiteur. Cela nous permet de stocker des informations sur l'ordinateur du
visiteur pendant plusieurs mois, pour se souvenir de son nom par exemple.
$_GET : Elle contient les données envoyées en paramètres dans l'URL.
$_POST : Elle contient les informations qui viennent d'être envoyées par un
formulaire.
$_FILES : Elle contient la liste des fichiers qui ont été envoyés via le
formulaire précédent
Les sessions
Les sessions constituent un moyen de conserver des variables sur toutes les
pages de votre site.
session_start() : démarre le système de sessions. Si le visiteur vient
d'arriver sur le site, alors un numéro de session est généré pour lui.
session_destroy() : ferme la session du visiteur. Cette fonction est
automatiquement appelée lorsque le visiteur ne charge plus de page de
votre site pendant plusieurs minutes.
Les sessions
Exemple:
<?php
session_start();
$_SESSION['prenom'] = 'Jose';
$_SESSION['nom'] = 'Damien';
?>
<body>
<p> Salut <?php echo $_SESSION['prenom']; ?> !<br /></p>
<p> <a href="mapage.php">Lien vers ma page</a><br /> </p>
</body>
Les cookies
Un cookie, c'est un petit fichier que l'on enregistre sur l'ordinateur du visiteur. Ce
fichier contient du texte et permet de « retenir » des informations sur le visiteur.
Chaque cookie stocke généralement une information à la fois. Si vous voulez
stocker le pseudonyme du visiteur et sa date de naissance, il est donc
recommandé de créer deux cookies.
Les cookies sont donc des informations temporaires que l'on stocke sur
l'ordinateur des visiteurs. La taille est limitée à quelques kilo-octets : vous ne
pouvez pas stocker beaucoup d'informations à la fois, mais c'est en général
suffisant.
Les cookies
Ecrire un cookie
Comme une variable, un cookie a un nom et une valeur. Pour écrire un cookie, on
utilise la fonction PHP setcookie.
Trois paramètres sont pris en compte généralement pour écrire un cookie :
A) Le nom du cookie ;
B) La valeur du cookie ;
C) La date d’expiration du cookie. (Format timestamp : 1090521508).
Les cookies
Exemple : <?php setcookie('nom', 'Mimi', time() + 365*24*3600); ?>

Affichage cookie: <?php echo $_COOKIE['nom']; ?>


Ouvrir et fermer un fichier
Avant de lire/écrire dans un fichier, il faut d’abord l’ouvrir, exemple :
<?php
// on ouvre le fichier
$monfichier = fopen('compteur.txt', 'r+');

// on ferme le fichier
fclose($monfichier);
?>
Ouvrir et fermer un fichier
Ouvrir et fermer un fichier
Pour lire:
<?php
// 1 : on ouvre le fichier
$monfichier = fopen('compteur.txt', 'r+');
// 2 : on lit la première ligne du fichier
$ligne = fgets($monfichier);
// 3 : quand on a fini de l'utiliser, on ferme le fichier
fclose($monfichier);
?>
Ouvrir et fermer un fichier
Pour écrire:
on utilise la fonction « fputs »
Exemple : <?php fputs($monfichier, 'Texte à écrire'); ?>
fseek($monfichier, 0) permet le curseur au début du fichier.
Ouvrir et fermer un fichier
Exemple :
<?php
$monfichier = fopen('compteur.txt', 'r+');
$pages_vues = fgets($monfichier); // On lit la première ligne (nombre de pages
vues)
$pages_vues += 1; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $pages_vues); // On écrit le nouveau nombre de pages vues
fclose($monfichier);
echo '<p>Cette page a été vue ' . $pages_vues . ' fois !</p>';
?>
Connexion à la base de données
L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel
type de base de données MySQL, PostgreSQL ou Oracle.
PDO : PHP Data Objects
PDO est une extension orientée objet.
Le nom de l'hôte : c'est l'adresse de l'ordinateur où MySQL est installé (comme
une adresse IP).
La base : c'est le nom de la base de données à laquelle vous voulez vous
connecter;
Le login : il permet de vous identifier;
Le mot de passe : pour donner l’accès.
Connexion à la base de données
Syntaxe:
<?php
$bdd = new
PDO('mysql:host=localhost;dbname=nomBaseDonnees;charset=utf8', 'root', '');
?>

PDO : PHP Data Objects


PDO est une extension orientée objet.
Erreur de connexion
Syntaxe:
Quand il y a erreur de connexion, il est recommandé d’afficher l’erreur. Pour cela,
on demande à PDO de renvoyer une exception qui permet de capturer l’erreur.
Exemple : <?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=
nomBaseDonnees;charset=utf8', 'root', '');
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
?>
Requête
Pour faire une requête on utilise l’objet $bdd
Syntaxe :
$resultatRequete = $bdd->query('La requête SQL');
La fonction closeCursor()
Il est recommandé d’utiliser la fonction closeCursor() après chaque traitement de
retour d’une requête.
Afficher le résultat d’une requête
La fonction fetch() nous permet de récupérer le résultat d’une requête ligne par
ligne.
Exemple :
<?php
$afficheRequete = $resultatRequete ->fetch();
?>

Etant donné $afficheRequete est tableau (array), il faudra utiliser une boucle pour
parcourir ce tableau
Les requêtes préparées
La requête est utilisée avec des marqueurs « ? » (sans variable). Il faut aussi
penser à remplacer « query » par « prepare ».
Exemple :
<?php
$req = $bdd->prepare('SELECT nom FROM etudiant WHERE niveau = ?');
?>
Les requêtes préparées
La requête est exécutée à l’aide des paramètres en appelant « execute »
Exemple :
<?php
$req = $bdd->prepare('SELECT nom FROM etudiant WHERE niveau = ?');
$req->execute(array($_GET['niveau']));
?>
Les requêtes préparées
Exemple avec plusieurs paramètres :
<?php
$req = $bdd->prepare('SELECT nom FROM etudiant WHERE niveau = ? AND sexe=
?');
$req->execute(array($_GET[' niveau '], $_GET['sexe']));
?>
Affichage des erreurs de syntaxe venant de
MySQL
Exempl:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
?>
Insertion
La requête « insert into » nous permet d’ajouter une entrée
Exemple MySQL :
INSERT INTO etudiant(ID, nom, prenom, sexe, commentaires) VALUES('', 'Louis',
'Jonas', 'M', 'Bavard')
Exemple en PHP :
$bdd->exec('INSERT INTO etudiant(ID, nom, prenom, sexe, commentaires)
VALUES(\'Louis\', \'Jonas\', \'M\', \'Bavard\')');

On utilise exec() au lieu de query(). Exec() nous permet de faire des modifications
sur la base de données.
Insertion
Exemple en PHP avec requête préparée :
$req = $bdd->prepare('INSERT INTO etudiant(nom, prenom, sexe, commentaires)
VALUES(:nom, :prenom, :sexe, :commentaires)');
$req->execute(array(
'nom' => $nom,
' prenom ' => $ prenom,
'sexe' => $sexe,
'commentaires' => $commentaires
));

N.B. Utilisez par exemple des variables $_POST à partir d’un formulaire pour
insérer les données dans la base
Modifier
Exemple :
$bdd->exec('UPDATE etudiant SET prenom = \'Karl\' WHERE nom =\'Louis\'');

Exemple avec requête préparée:


$req = $bdd->prepare('UPDATE etudiant SET prenom = :prenom WHERE nom =
:nom');
$req->execute(array(
'prenom' => $prenom,
'nom' => $nom
));
Supprimer
Exemple :
DELETE FROM etudiant WHERE nom='Louis'

Vous aimerez peut-être aussi